From e8069a6fa5441a79c5f7169a3f3e7bf1c3cbbb1d Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 29 Nov 2024 19:15:45 +0200 Subject: [PATCH 001/568] Initial commit --- LICENSE | 21 +++++++++++++++++++++ README.md | 2 ++ 2 files changed, 23 insertions(+) create mode 100644 LICENSE create mode 100644 README.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f7fe7a0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Muhamed + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..3d07a63 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# YTSage +Modern YouTube downloader with a clean PyQt6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance. From 8573445e2749627fd3d37829c3521fae9425265c Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 29 Nov 2024 19:53:14 +0200 Subject: [PATCH 002/568] Update README.md --- README.md | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d07a63..7ab5a33 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,112 @@ # YTSage -Modern YouTube downloader with a clean PyQt6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance. + +A modern YouTube downloader with a clean PyQt6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance. + +## Screenshots + +### Main Interface +![Main Interface](https://github.com/user-attachments/assets/0dc04ecf-082e-458a-acfe-2c5482d36de2) + +*Main interface with video metadata and thumbnail preview* + +### Video Format Selection + +![Format Selection](https://github.com/user-attachments/assets/d2f8a638-0b6b-49f1-990d-c9c4791902a6) + +*Smart format selection with quality options* + +### Subtitle Options + +![Subtitle Options](https://github.com/user-attachments/assets/b001ceb5-5446-4b56-b00c-b578814e2cf0) + +*Support for both manual and auto-generated subtitles* + +## Features + +- 🎥 Smart video quality selection with automatic audio merging +- 🎵 Audio-only extraction +- 📝 Manual and auto-generated subtitle support +- ℹ️ Video metadata display (views, upload date, duration) +- 🖼️ Thumbnail preview +- 🎨 Clean, user-friendly interface +- 🚀 Built on yt-dlp for robust downloading + +## Download + +You can download the latest executable from the [Releases](https://github.com/yourusername/YTSage/releases) page. + +### Pre-built Executables +- Windows: `YTSage.exe` +- No installation required - just download and run! + +## Build from Source + +### Installation + +1. Clone the repository: +```bash +git clone https://github.com/yourusername/YTSage.git + +cd YTSage +``` +2. Install the required dependencies: +```bash +pip install -r requirements.txt +``` +3. Run the application: +```bash +python YTSage.py +``` + +# Usage + +1. Run the application +2. Paste a YouTube URL into the input field +3. Click "Analyze" to load video information +4. Select your desired format: + - Choose "Video" for video downloads (will automatically merge with best audio) + - Choose "Audio Only" for audio extraction +5. Enable subtitle download if needed +6. Select the output directory +7. Click "Download" to start + +### Build Executable + +#### Install PyInstaller if you haven't already + +- Create the executable + +```bash +pyinstaller --onefile --windowed --icon=icon.ico --name=YTSage YTSage.py +``` + +## Requirements + +- Python 3.7+ +- PyQt6 +- yt-dlp +- Pillow +- requests + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/AmazingFeature`) +3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) +4. Push to the branch (`git push origin feature/AmazingFeature`) +5. Open a Pull Request + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +## Acknowledgments + +- [yt-dlp](https://github.com/yt-dlp/yt-dlp) for the powerful downloading engine +- [PyQt6](https://www.riverbankcomputing.com/software/pyqt/) for the GUI framework + +## Disclaimer + +This tool is for personal use only. Please respect YouTube's terms of service and content creators' rights. From f5decd6b8d11cede0d22837db56df9f69b7136b5 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 29 Nov 2024 19:54:25 +0200 Subject: [PATCH 003/568] app --- YTSage.py | 503 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 503 insertions(+) create mode 100644 YTSage.py diff --git a/YTSage.py b/YTSage.py new file mode 100644 index 0000000..222b786 --- /dev/null +++ b/YTSage.py @@ -0,0 +1,503 @@ +import sys +import os +import threading +from PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QHBoxLayout, QLineEdit, QPushButton, QTableWidget, + QTableWidgetItem, QProgressBar, QLabel, QFileDialog, + QHeaderView, QStyle, QStyleFactory, QComboBox) +from PyQt6.QtCore import Qt, pyqtSignal, QObject +from PyQt6.QtGui import QIcon, QPalette, QColor, QPixmap +import yt_dlp +import requests +from io import BytesIO +from PIL import Image +from urllib.request import urlopen +from datetime import datetime + +class SignalManager(QObject): + update_formats = pyqtSignal(list) + update_status = pyqtSignal(str) + update_progress = pyqtSignal(float) + +class YouTubeDownloaderGUI(QMainWindow): + def __init__(self): + super().__init__() + self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) + self.signals = SignalManager() + self.init_ui() + self.setStyleSheet(""" + QMainWindow { + background-color: #2b2b2b; + } + QWidget { + background-color: #2b2b2b; + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; /* YouTube red */ + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; /* Darker red on hover */ + } + QPushButton:pressed { + background-color: #990000; /* Even darker red when pressed */ + } + QTableWidget { + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + gridline-color: #3d3d3d; + } + QHeaderView::section { + background-color: #2b2b2b; + padding: 5px; + border: 1px solid #3d3d3d; + color: #ffffff; + } + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + } + QProgressBar::chunk { + background-color: #ff0000; /* YouTube red */ + border-radius: 2px; + } + QLabel { + color: #ffffff; + } + /* Style for filter buttons */ + QPushButton.filter-btn { + background-color: #363636; + padding: 5px 10px; + margin: 0 5px; + } + QPushButton.filter-btn:checked { + background-color: #ff0000; + } + QPushButton.filter-btn:hover { + background-color: #444444; + } + QPushButton.filter-btn:checked:hover { + background-color: #cc0000; + } + """) + self.signals.update_progress.connect(self.update_progress_bar) + + def init_ui(self): + self.setWindowTitle('YT-GUI Downloader') + self.setMinimumSize(900, 600) + + # Main widget and layout + main_widget = QWidget() + self.setCentralWidget(main_widget) + layout = QVBoxLayout(main_widget) + layout.setSpacing(10) + layout.setContentsMargins(20, 20, 20, 20) + + # URL input section + url_layout = QHBoxLayout() + self.url_input = QLineEdit() + self.url_input.setPlaceholderText('Enter YouTube URL...') + self.analyze_btn = QPushButton('Analyze') + self.analyze_btn.clicked.connect(self.analyze_url) + url_layout.addWidget(self.url_input) + url_layout.addWidget(self.analyze_btn) + layout.addLayout(url_layout) + + # Create a horizontal layout for thumbnail and video info + media_info_layout = QHBoxLayout() + + # Thumbnail on the left + self.thumbnail_label = QLabel() + self.thumbnail_label.setFixedSize(320, 180) + self.thumbnail_label.setStyleSheet("border: 2px solid #3d3d3d; border-radius: 4px;") + self.thumbnail_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + media_info_layout.addWidget(self.thumbnail_label) + + # Video information on the right + video_info_layout = QVBoxLayout() + self.title_label = QLabel() + self.title_label.setWordWrap(True) + self.title_label.setStyleSheet("font-size: 14px; font-weight: bold;") + + self.channel_label = QLabel() + self.views_label = QLabel() + self.date_label = QLabel() + self.duration_label = QLabel() + + # Subtitle section + subtitle_layout = QHBoxLayout() + self.subtitle_check = QPushButton("Download Subtitles") + self.subtitle_check.setCheckable(True) + self.subtitle_check.clicked.connect(self.toggle_subtitle_list) + subtitle_layout.addWidget(self.subtitle_check) + + self.subtitle_combo = QComboBox() + self.subtitle_combo.setVisible(False) + subtitle_layout.addWidget(self.subtitle_combo) + subtitle_layout.addStretch() + + # Add all info widgets to the video info layout + video_info_layout.addWidget(self.title_label) + video_info_layout.addWidget(self.channel_label) + video_info_layout.addWidget(self.views_label) + video_info_layout.addWidget(self.date_label) + video_info_layout.addWidget(self.duration_label) + video_info_layout.addLayout(subtitle_layout) + video_info_layout.addStretch() + + media_info_layout.addLayout(video_info_layout) + layout.addLayout(media_info_layout) + + # Simplified format filter buttons + filter_layout = QHBoxLayout() + self.filter_label = QLabel("Show formats:") + filter_layout.addWidget(self.filter_label) + + self.video_btn = QPushButton("Video") + self.video_btn.setCheckable(True) + self.video_btn.setChecked(True) + self.video_btn.clicked.connect(self.filter_formats) + self.video_btn.setProperty("class", "filter-btn") + + self.audio_btn = QPushButton("Audio Only") + self.audio_btn.setCheckable(True) + self.audio_btn.clicked.connect(self.filter_formats) + self.audio_btn.setProperty("class", "filter-btn") + + filter_layout.addWidget(self.video_btn) + filter_layout.addWidget(self.audio_btn) + filter_layout.addStretch() + layout.addLayout(filter_layout) + + # Format table + self.format_table = QTableWidget() + self.format_table.setColumnCount(6) + self.format_table.setHorizontalHeaderLabels(['Format ID', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio']) + self.format_table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) + layout.addWidget(self.format_table) + + # Store formats for filtering + self.all_formats = [] + + # Download section + download_layout = QHBoxLayout() + self.path_input = QLineEdit() + self.path_input.setPlaceholderText('Download path...') + self.browse_btn = QPushButton('Browse') + self.browse_btn.clicked.connect(self.browse_path) + self.download_btn = QPushButton('Download') + self.download_btn.clicked.connect(self.start_download) + download_layout.addWidget(self.path_input) + download_layout.addWidget(self.browse_btn) + download_layout.addWidget(self.download_btn) + layout.addLayout(download_layout) + + # Progress section + self.progress_bar = QProgressBar() + layout.addWidget(self.progress_bar) + + self.status_label = QLabel('Ready') + self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(self.status_label) + + # Connect signals + self.signals.update_formats.connect(self.update_format_table) + self.signals.update_status.connect(self.status_label.setText) + self.signals.update_progress.connect(self.update_progress_bar) + + def analyze_url(self): + url = self.url_input.text() + if url: + self.signals.update_status.emit("Analyzing...") + threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() + + def _analyze_url_thread(self, url): + try: + ydl_opts = { + 'format': 'best', + 'quiet': True, + 'no_warnings': True, + 'extract_flat': False, + 'writesubtitles': True, + 'allsubtitles': True, + 'writeautomaticsub': True, + 'format_sort': ['res', 'ext', 'size', 'br', 'proto'], + } + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(url, download=False) + + # Store all formats and video info + self.all_formats = info['formats'] + self.video_info = info + + # Update UI with video information + self.signals.update_status.emit("Updating video information...") + self.update_video_info(info) + + # Download and display thumbnail + thumbnail_url = info.get('thumbnail') + if thumbnail_url: + self.download_thumbnail(thumbnail_url) + + # Update available subtitles (including auto-generated) + self.available_subtitles = info.get('subtitles', {}) + self.available_automatic_subtitles = info.get('automatic_captions', {}) + self.update_subtitle_list() + + # Update table with filtered formats (default to video) + self.video_btn.setChecked(True) + self.audio_btn.setChecked(False) + self.filter_formats() + + self.signals.update_status.emit("Analysis complete") + except Exception as e: + error_message = str(e) + print(f"Error in analysis: {error_message}") + self.signals.update_status.emit(f"Error: {error_message}") + + def update_video_info(self, info): + # Format view count with commas + views = int(info.get('view_count', 0)) + formatted_views = f"{views:,}" + + # Format upload date + upload_date = info.get('upload_date', '') + if upload_date: + date_obj = datetime.strptime(upload_date, '%Y%m%d') + formatted_date = date_obj.strftime('%B %d, %Y') + else: + formatted_date = 'Unknown date' + + # Format duration + duration = info.get('duration', 0) + minutes = duration // 60 + seconds = duration % 60 + duration_str = f"{minutes}:{seconds:02d}" + + # Update labels + self.title_label.setText(info.get('title', 'Unknown title')) + self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") + self.views_label.setText(f"Views: {formatted_views}") + self.date_label.setText(f"Upload date: {formatted_date}") + self.duration_label.setText(f"Duration: {duration_str}") + + def toggle_subtitle_list(self): + self.subtitle_combo.setVisible(self.subtitle_check.isChecked()) + + def update_subtitle_list(self): + self.subtitle_combo.clear() + + if not (self.available_subtitles or self.available_automatic_subtitles): + self.subtitle_combo.addItem("No subtitles available") + return + + self.subtitle_combo.addItem("Select subtitle language") + + # Add manual subtitles + for lang_code, subtitle_info in self.available_subtitles.items(): + self.subtitle_combo.addItem(f"{lang_code} - Manual") + + # Add auto-generated subtitles + for lang_code, subtitle_info in self.available_automatic_subtitles.items(): + self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") + + def download_thumbnail(self, url): + try: + response = requests.get(url) + image = Image.open(BytesIO(response.content)) + image = image.resize((320, 180), Image.Resampling.LANCZOS) + img_byte_arr = BytesIO() + image.save(img_byte_arr, format='PNG') + img_byte_arr = img_byte_arr.getvalue() + + pixmap = QPixmap() + pixmap.loadFromData(img_byte_arr) + self.thumbnail_label.setPixmap(pixmap) + except Exception as e: + print(f"Error loading thumbnail: {str(e)}") + + def filter_formats(self): + # Clear current table + self.format_table.setRowCount(0) + + # Determine which formats to show + filtered_formats = [] + + if self.video_btn.isChecked(): + # Include all video formats (both with and without audio) + filtered_formats.extend([f for f in self.all_formats + if f.get('vcodec') != 'none' + and f.get('filesize', 0) > 0]) + + if self.audio_btn.isChecked(): + # Add audio-only formats + filtered_formats.extend([f for f in self.all_formats + if (f.get('vcodec') == 'none' + or 'audio only' in f.get('format_note', '').lower()) + and f.get('acodec') != 'none' + and f.get('filesize', 0) > 0]) + + # Sort formats by quality + def get_quality(f): + if f.get('vcodec') != 'none': + # Extract height from resolution (e.g., "1920x1080" -> 1080) + res = f.get('resolution', '0x0').split('x')[-1] + try: + return int(res) + except ValueError: + return 0 + else: + return f.get('abr', 0) + + filtered_formats.sort(key=get_quality, reverse=True) + + # Update table with filtered formats + self.update_format_table(filtered_formats) + + def update_format_table(self, formats): + self.format_table.setRowCount(0) + for f in formats: + row = self.format_table.rowCount() + self.format_table.insertRow(row) + + # Format ID + self.format_table.setItem(row, 0, QTableWidgetItem(str(f.get('format_id', '')))) + + # Extension + self.format_table.setItem(row, 1, QTableWidgetItem(f.get('ext', ''))) + + # Resolution + resolution = f.get('resolution', 'N/A') + if f.get('vcodec') == 'none': + resolution = 'Audio only' + self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) + + # File Size + filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" + self.format_table.setItem(row, 3, QTableWidgetItem(filesize)) + + # Codec + if f.get('vcodec') == 'none': + codec = f.get('acodec', 'N/A') + else: + codec = f"{f.get('vcodec', 'N/A')}" + if f.get('acodec') != 'none': + codec += f" / {f.get('acodec', 'N/A')}" + self.format_table.setItem(row, 4, QTableWidgetItem(codec)) + + # Audio Status + needs_audio = f.get('acodec') == 'none' + audio_status = "Will merge audio" if needs_audio else "✓ Has Audio" + audio_item = QTableWidgetItem(audio_status) + if needs_audio: + audio_item.setForeground(QColor('#ffa500')) # Orange for merge indication + self.format_table.setItem(row, 5, audio_item) + + def browse_path(self): + path = QFileDialog.getExistingDirectory(self, "Select Download Directory") + if path: + self.path_input.setText(path) + + def start_download(self): + url = self.url_input.text() + path = self.path_input.text() + selected_items = self.format_table.selectedItems() + if not selected_items: + self.signals.update_status.emit("Please select a format") + return + + format_id = self.format_table.item(selected_items[0].row(), 0).text() + + # If it's a video format, also download the best audio + selected_format = next((f for f in self.all_formats if str(f.get('format_id')) == format_id), None) + if selected_format and selected_format.get('acodec') == 'none': + format_id = f"{format_id}+bestaudio" + + # Check if subtitles should be downloaded + download_subs = self.subtitle_check.isChecked() + selected_sub = self.subtitle_combo.currentText().split(' - ')[0] if download_subs else None + + threading.Thread(target=self._download_thread, + args=(url, path, format_id, selected_sub), + daemon=True).start() + + def _download_thread(self, url, path, format_id, subtitle_lang=None): + ydl_opts = { + 'format': format_id, + 'outtmpl': os.path.join(path, '%(title)s.%(ext)s'), + 'progress_hooks': [self._progress_hook], + 'merge_output_format': 'mp4', + } + + # Add subtitle options if requested + if subtitle_lang: + # Extract language code from the combo box text + lang_code = subtitle_lang.split(' - ')[0] + is_auto = 'Auto-generated' in subtitle_lang + + ydl_opts.update({ + 'writesubtitles': True, + 'subtitleslangs': [lang_code], + 'writeautomaticsub': True, + 'skip_manual_subs': is_auto, # Skip manual subs if auto is selected + 'skip_auto_subs': not is_auto, # Skip auto subs if manual is selected + }) + + try: + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([url]) + except Exception as e: + error_message = str(e) + self.signals.update_status.emit(f"Error: {error_message}") + + def _progress_hook(self, d): + if d['status'] == 'downloading': + try: + downloaded_bytes = int(d.get('downloaded_bytes', 0)) + total_bytes = int(d.get('total_bytes', 1)) # Use 1 as default to avoid division by zero + # Ensure we're working with integers throughout + progress = int((downloaded_bytes * 100) // total_bytes) + # Clamp the value between 0 and 100 + progress = max(0, min(100, progress)) + self.signals.update_progress.emit(progress) + self.signals.update_status.emit(f"Downloading: {progress}%") + except Exception as e: + print(f"Progress calculation error: {str(e)}") + self.signals.update_status.emit("Downloading...") + elif d['status'] == 'finished': + self.signals.update_progress.emit(100) + self.signals.update_status.emit("Download completed!") + + def update_progress_bar(self, value): + try: + # Ensure the value is an integer + int_value = int(value) + self.progress_bar.setValue(int_value) + except Exception as e: + print(f"Progress bar update error: {str(e)}") + +def main(): + app = QApplication(sys.argv) + app.setStyle(QStyleFactory.create('Fusion')) + window = YouTubeDownloaderGUI() + window.show() + sys.exit(app.exec()) + +if __name__ == '__main__': + main() \ No newline at end of file From 7fc9932df4ff6f439d795d723e1c9cfe9786c4c9 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 29 Nov 2024 20:17:35 +0200 Subject: [PATCH 004/568] Add requirements --- requirements.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b8bff2f --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +PyQt6 +yt-dlp +requests +Pillow \ No newline at end of file From 134c73d2d3b2fe75c91c6e7815c32749554dcb9e Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 29 Nov 2024 20:21:13 +0200 Subject: [PATCH 005/568] README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ab5a33..e701d9a 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ A modern YouTube downloader with a clean PyQt6 interface. Download videos in any *Main interface with video metadata and thumbnail preview* -### Video Format Selection +### Audio Format Selection ![Format Selection](https://github.com/user-attachments/assets/d2f8a638-0b6b-49f1-990d-c9c4791902a6) From 8c5fd6f4bb089fa4ac0a51c6bb25a7fba5aa6ff8 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 29 Nov 2024 20:21:51 +0200 Subject: [PATCH 006/568] README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e701d9a..b14511a 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ A modern YouTube downloader with a clean PyQt6 interface. Download videos in any ## Download -You can download the latest executable from the [Releases](https://github.com/yourusername/YTSage/releases) page. +You can download the latest executable from the [Releases](https://github.com/oop7/YTSage/releases) page. ### Pre-built Executables - Windows: `YTSage.exe` From 304604f0d67db784ecd6e2fdc859691db517eb75 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 29 Nov 2024 21:54:51 +0200 Subject: [PATCH 007/568] Hot fix --- YTSage.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/YTSage.py b/YTSage.py index 222b786..eb4fba2 100644 --- a/YTSage.py +++ b/YTSage.py @@ -343,7 +343,7 @@ class YouTubeDownloaderGUI(QMainWindow): # Include all video formats (both with and without audio) filtered_formats.extend([f for f in self.all_formats if f.get('vcodec') != 'none' - and f.get('filesize', 0) > 0]) + and f.get('filesize') is not None]) if self.audio_btn.isChecked(): # Add audio-only formats @@ -351,7 +351,7 @@ class YouTubeDownloaderGUI(QMainWindow): if (f.get('vcodec') == 'none' or 'audio only' in f.get('format_note', '').lower()) and f.get('acodec') != 'none' - and f.get('filesize', 0) > 0]) + and f.get('filesize') is not None]) # Sort formats by quality def get_quality(f): From d0b220b8fce3e0cbaff5111b0a1d3c4b61b0bee3 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 26 Dec 2024 10:27:13 +0200 Subject: [PATCH 008/568] LICENSE --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index f7fe7a0..fb44b19 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Muhamed +Copyright (c) 2024 oop7 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 7bedadc9092afa5ab183fbdb8f0efa91bed7f280 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 26 Dec 2024 10:28:30 +0200 Subject: [PATCH 009/568] Add dependencies --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b8bff2f..7f01f7e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ PyQt6 yt-dlp requests -Pillow \ No newline at end of file +pillow +packaging \ No newline at end of file From 611cfe4cec2263cf2a8cc4ba680773eccf07d894 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 26 Dec 2024 10:29:26 +0200 Subject: [PATCH 010/568] 2.0.0 --- YTSage.py | 808 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 737 insertions(+), 71 deletions(-) diff --git a/YTSage.py b/YTSage.py index eb4fba2..fe10d9f 100644 --- a/YTSage.py +++ b/YTSage.py @@ -1,10 +1,11 @@ import sys import os import threading +import time from PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox) + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit) from PyQt6.QtCore import Qt, pyqtSignal, QObject from PyQt6.QtGui import QIcon, QPalette, QColor, QPixmap import yt_dlp @@ -13,17 +14,258 @@ from io import BytesIO from PIL import Image from urllib.request import urlopen from datetime import datetime +import json +from pathlib import Path +from packaging import version +import subprocess +import webbrowser class SignalManager(QObject): update_formats = pyqtSignal(list) update_status = pyqtSignal(str) update_progress = pyqtSignal(float) -class YouTubeDownloaderGUI(QMainWindow): +class LogWindow(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('yt-dlp Log') + self.setMinimumSize(700, 500) + + layout = QVBoxLayout(self) + + self.log_text = QTextEdit() + self.log_text.setReadOnly(True) + self.log_text.setStyleSheet(""" + QTextEdit { + background-color: #2b2b2b; + color: #ffffff; + font-family: Consolas, monospace; + font-size: 12px; + border: 2px solid #3d3d3d; + border-radius: 4px; + } + """) + + layout.addWidget(self.log_text) + + def append_log(self, message): + self.log_text.append(message) + # Auto-scroll to bottom + scrollbar = self.log_text.verticalScrollBar() + scrollbar.setValue(scrollbar.maximum()) + +class CustomCommandDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent + self.setWindowTitle('Custom yt-dlp Command') + self.setMinimumSize(600, 400) + + layout = QVBoxLayout(self) + + # Help text + help_text = QLabel( + "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" + "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" + "Note: Download path and output template will be preserved." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # Command input + self.command_input = QPlainTextEdit() + self.command_input.setPlaceholderText("Enter yt-dlp arguments...") + self.command_input.setStyleSheet(""" + QPlainTextEdit { + background-color: #363636; + color: #ffffff; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + } + """) + layout.addWidget(self.command_input) + + # Buttons + button_layout = QHBoxLayout() + + self.run_btn = QPushButton("Run Command") + self.run_btn.clicked.connect(self.run_custom_command) + + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + + button_layout.addWidget(self.run_btn) + button_layout.addWidget(self.close_btn) + layout.addLayout(button_layout) + + # Log output + self.log_output = QTextEdit() + self.log_output.setReadOnly(True) + self.log_output.setStyleSheet(""" + QTextEdit { + background-color: #2b2b2b; + color: #ffffff; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + font-size: 12px; + } + """) + layout.addWidget(self.log_output) + + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + def run_custom_command(self): + url = self.parent.url_input.text().strip() + if not url: + self.log_output.append("Error: No URL provided") + return + + command = self.command_input.toPlainText().strip() + path = self.parent.path_input.text().strip() + + self.log_output.clear() + self.log_output.append(f"Running command with URL: {url}") + self.run_btn.setEnabled(False) + + # Start command in thread + threading.Thread(target=self._run_command_thread, + args=(command, url, path), + daemon=True).start() + + def _run_command_thread(self, command, url, path): + try: + class CommandLogger: + def debug(self, msg): + self.dialog.log_output.append(msg) + def warning(self, msg): + self.dialog.log_output.append(f"Warning: {msg}") + def error(self, msg): + self.dialog.log_output.append(f"Error: {msg}") + def __init__(self, dialog): + self.dialog = dialog + + # Split command into arguments + args = command.split() + + # Base options + ydl_opts = { + 'logger': CommandLogger(self), + 'paths': {'home': path}, + 'debug_printout': True, + } + + # Add custom arguments + for i in range(0, len(args), 2): + if i + 1 < len(args): + key = args[i].lstrip('-').replace('-', '_') + value = args[i + 1] + try: + # Try to convert to appropriate type + if value.lower() in ('true', 'false'): + value = value.lower() == 'true' + elif value.isdigit(): + value = int(value) + ydl_opts[key] = value + except: + ydl_opts[key] = value + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([url]) + + self.log_output.append("Command completed successfully") + + except Exception as e: + self.log_output.append(f"Error: {str(e)}") + finally: + self.run_btn.setEnabled(True) + +class FFmpegCheckDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('FFmpeg Required') + self.setMinimumWidth(400) + + layout = QVBoxLayout(self) + + # Message + message_label = QLabel( + "FFmpeg is not installed. Please install it.\n" + "To install FFmpeg, click the button below." + ) + message_label.setWordWrap(True) + layout.addWidget(message_label) + + # Install button + install_btn = QPushButton("Install FFmpeg") + install_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/ffmpeg-install-guide')) + layout.addWidget(install_btn) + + # Close button + close_btn = QPushButton("Close") + close_btn.clicked.connect(self.close) + layout.addWidget(close_btn) + + # Style the dialog + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + +class YTSage(QMainWindow): def __init__(self): super().__init__() + # Check for FFmpeg before proceeding + if not self.check_ffmpeg(): + self.show_ffmpeg_dialog() + + self.version = "2.0.0" + self.check_for_updates() # Check for updates on startup + self.config_file = Path.home() / '.ytsage_config.json' + self.load_saved_path() self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) self.signals = SignalManager() + self.download_paused = False + self.current_download = None + self.log_window = None + self.show_log = False + self.download_cancelled = False self.init_ui() self.setStyleSheet(""" QMainWindow { @@ -94,11 +336,127 @@ class YouTubeDownloaderGUI(QMainWindow): QPushButton.filter-btn:checked:hover { background-color: #cc0000; } + /* Modern Scrollbar Styling */ + QScrollBar:vertical { + border: none; + background: #2b2b2b; + width: 14px; + margin: 15px 0 15px 0; + border-radius: 7px; + } + QScrollBar::handle:vertical { + background: #404040; + min-height: 30px; + border-radius: 7px; + } + QScrollBar::handle:vertical:hover { + background: #505050; + } + QScrollBar::sub-line:vertical { + border: none; + background: #2b2b2b; + height: 15px; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + subcontrol-position: top; + subcontrol-origin: margin; + } + QScrollBar::add-line:vertical { + border: none; + background: #2b2b2b; + height: 15px; + border-bottom-left-radius: 7px; + border-bottom-right-radius: 7px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + QScrollBar::sub-line:vertical:hover, + QScrollBar::add-line:vertical:hover { + background: #404040; + } + QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; + width: 0; + height: 0; + } + QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; + } + /* Horizontal Scrollbar */ + QScrollBar:horizontal { + border: none; + background: #2b2b2b; + height: 14px; + margin: 0 15px 0 15px; + border-radius: 7px; + } + QScrollBar::handle:horizontal { + background: #404040; + min-width: 30px; + border-radius: 7px; + } + QScrollBar::handle:horizontal:hover { + background: #505050; + } + QScrollBar::sub-line:horizontal { + border: none; + background: #2b2b2b; + width: 15px; + border-top-left-radius: 7px; + border-bottom-left-radius: 7px; + subcontrol-position: left; + subcontrol-origin: margin; + } + QScrollBar::add-line:horizontal { + border: none; + background: #2b2b2b; + width: 15px; + border-top-right-radius: 7px; + border-bottom-right-radius: 7px; + subcontrol-position: right; + subcontrol-origin: margin; + } + QScrollBar::sub-line:horizontal:hover, + QScrollBar::add-line:horizontal:hover { + background: #404040; + } + QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; + width: 0; + height: 0; + } + QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; + } """) self.signals.update_progress.connect(self.update_progress_bar) + def load_saved_path(self): + try: + if self.config_file.exists(): + with open(self.config_file, 'r') as f: + config = json.load(f) + saved_path = config.get('download_path', '') + if os.path.exists(saved_path): + self.last_path = saved_path + else: + self.last_path = str(Path.home() / 'Downloads') + else: + self.last_path = str(Path.home() / 'Downloads') + except Exception as e: + print(f"Error loading saved path: {e}") + self.last_path = str(Path.home() / 'Downloads') + + def save_path(self, path): + try: + config = {'download_path': path} + with open(self.config_file, 'w') as f: + json.dump(config, f) + except Exception as e: + print(f"Error saving path: {e}") + def init_ui(self): - self.setWindowTitle('YT-GUI Downloader') + self.setWindowTitle('YTSage v2.0.0') self.setMinimumSize(900, 600) # Main widget and layout @@ -163,6 +521,12 @@ class YouTubeDownloaderGUI(QMainWindow): media_info_layout.addLayout(video_info_layout) layout.addLayout(media_info_layout) + # Add playlist information section + self.playlist_info_label = QLabel() + self.playlist_info_label.setVisible(False) + self.playlist_info_label.setStyleSheet("font-size: 12px; color: #ff9900;") + layout.addWidget(self.playlist_info_label) + # Simplified format filter buttons filter_layout = QHBoxLayout() self.filter_label = QLabel("Show formats:") @@ -198,22 +562,56 @@ class YouTubeDownloaderGUI(QMainWindow): download_layout = QHBoxLayout() self.path_input = QLineEdit() self.path_input.setPlaceholderText('Download path...') + self.path_input.setText(self.last_path) self.browse_btn = QPushButton('Browse') self.browse_btn.clicked.connect(self.browse_path) + + # Create download control buttons self.download_btn = QPushButton('Download') self.download_btn.clicked.connect(self.start_download) + + self.pause_btn = QPushButton('Pause') + self.pause_btn.clicked.connect(self.toggle_pause) + self.pause_btn.setVisible(False) + + # Add cancel button + self.cancel_btn = QPushButton('Cancel') + self.cancel_btn.clicked.connect(self.cancel_download) + self.cancel_btn.setVisible(False) + + # Add log button + self.log_btn = QPushButton('yt-dlp Log') + self.log_btn.setCheckable(True) + self.log_btn.clicked.connect(self.toggle_log_window) + download_layout.addWidget(self.log_btn) + + # Add custom command button to download_layout + self.custom_cmd_btn = QPushButton('Custom Command') + self.custom_cmd_btn.clicked.connect(self.show_custom_command) + download_layout.addWidget(self.custom_cmd_btn) + download_layout.addWidget(self.path_input) download_layout.addWidget(self.browse_btn) download_layout.addWidget(self.download_btn) + download_layout.addWidget(self.pause_btn) + download_layout.addWidget(self.cancel_btn) layout.addLayout(download_layout) # Progress section + progress_layout = QVBoxLayout() self.progress_bar = QProgressBar() - layout.addWidget(self.progress_bar) + progress_layout.addWidget(self.progress_bar) + + # Add download details label + self.download_details_label = QLabel() + self.download_details_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + progress_layout.addWidget(self.download_details_label) self.status_label = QLabel('Ready') self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - layout.addWidget(self.status_label) + progress_layout.addWidget(self.status_label) + + layout.addLayout(progress_layout) # Connect signals self.signals.update_formats.connect(self.update_format_table) @@ -221,51 +619,115 @@ class YouTubeDownloaderGUI(QMainWindow): self.signals.update_progress.connect(self.update_progress_bar) def analyze_url(self): - url = self.url_input.text() - if url: - self.signals.update_status.emit("Analyzing...") - threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() + url = self.url_input.text().strip() + if not url: + self.signals.update_status.emit("Invalid URL or please enter a URL.") + return + + self.signals.update_status.emit("Analyzing...") + threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() def _analyze_url_thread(self, url): try: + # Clean up the URL to handle both playlist and video URLs + if 'list=' in url and 'watch?v=' in url: + # Extract playlist ID + playlist_id = url.split('list=')[1].split('&')[0] + url = f'https://www.youtube.com/playlist?list={playlist_id}' + + # Initial extraction with basic options ydl_opts = { - 'format': 'best', 'quiet': True, 'no_warnings': True, - 'extract_flat': False, - 'writesubtitles': True, - 'allsubtitles': True, - 'writeautomaticsub': True, - 'format_sort': ['res', 'ext', 'size', 'br', 'proto'], + 'extract_flat': True, + 'force_generic_extractor': False, + 'ignoreerrors': True, + 'no_color': True } with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(url, download=False) - - # Store all formats and video info - self.all_formats = info['formats'] - self.video_info = info - - # Update UI with video information - self.signals.update_status.emit("Updating video information...") - self.update_video_info(info) - - # Download and display thumbnail - thumbnail_url = info.get('thumbnail') - if thumbnail_url: - self.download_thumbnail(thumbnail_url) + try: + basic_info = ydl.extract_info(url, download=False) + except Exception as e: + print(f"First extraction failed: {str(e)}") + raise Exception("Could not extract video information") - # Update available subtitles (including auto-generated) - self.available_subtitles = info.get('subtitles', {}) - self.available_automatic_subtitles = info.get('automatic_captions', {}) - self.update_subtitle_list() + # Configure options for detailed extraction + ydl_opts.update({ + 'extract_flat': False, + 'format': 'best', # Start with best format to ensure we get some formats + 'writesubtitles': True, + 'allsubtitles': True, + 'writeautomaticsub': True, + 'playliststart': 1, + 'playlistend': 1 # Only get first video initially + }) - # Update table with filtered formats (default to video) - self.video_btn.setChecked(True) - self.audio_btn.setChecked(False) - self.filter_formats() - - self.signals.update_status.emit("Analysis complete") + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + try: + if basic_info.get('_type') == 'playlist': + self.is_playlist = True + self.playlist_info = basic_info + + # Get the first video URL from the playlist + first_video = None + for entry in basic_info['entries']: + if entry: + first_video = entry + break + + if not first_video: + raise Exception("No valid videos found in playlist") + + # Get the video URL + video_url = first_video.get('url') or first_video.get('webpage_url') + if not video_url: + raise Exception("Could not extract video URL from playlist") + + # Extract detailed information for the first video + self.video_info = ydl.extract_info(video_url, download=False) + + # Update playlist info + playlist_text = f"Playlist: {basic_info.get('title', 'Unknown')} | {len(basic_info['entries'])} videos" + self.playlist_info_label.setText(playlist_text) + self.playlist_info_label.setVisible(True) + else: + self.is_playlist = False + self.video_info = ydl.extract_info(url, download=False) + self.playlist_info_label.setVisible(False) + + # Verify we have format information + if not self.video_info or 'formats' not in self.video_info: + print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") + raise Exception("No format information available") + + self.all_formats = self.video_info['formats'] + + # Update UI + self.signals.update_status.emit("Updating video information...") + self.update_video_info(self.video_info) + + # Update thumbnail + thumbnail_url = self.video_info.get('thumbnail') + if thumbnail_url: + self.download_thumbnail(thumbnail_url) + + # Update subtitles + self.available_subtitles = self.video_info.get('subtitles', {}) + self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) + self.update_subtitle_list() + + # Update format table + self.video_btn.setChecked(True) + self.audio_btn.setChecked(False) + self.filter_formats() + + self.signals.update_status.emit("Analysis complete") + + except Exception as e: + print(f"Detailed extraction failed: {str(e)}") + raise Exception(f"Failed to extract video details: {str(e)}") + except Exception as e: error_message = str(e) print(f"Error in analysis: {error_message}") @@ -410,13 +872,21 @@ class YouTubeDownloaderGUI(QMainWindow): self.format_table.setItem(row, 5, audio_item) def browse_path(self): - path = QFileDialog.getExistingDirectory(self, "Select Download Directory") + path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.last_path) if path: self.path_input.setText(path) + self.save_path(path) + self.last_path = path def start_download(self): url = self.url_input.text() - path = self.path_input.text() + path = self.path_input.text().strip() + + # Path validation + if not path: + self.signals.update_status.emit("Invalid path or please enter a path.") + return + selected_items = self.format_table.selectedItems() if not selected_items: self.signals.update_status.emit("Please select a format") @@ -433,56 +903,132 @@ class YouTubeDownloaderGUI(QMainWindow): download_subs = self.subtitle_check.isChecked() selected_sub = self.subtitle_combo.currentText().split(' - ')[0] if download_subs else None + self.download_paused = False + self.download_cancelled = False + self.pause_btn.setText('Pause') + self.download_btn.setEnabled(False) + self.pause_btn.setVisible(True) + self.cancel_btn.setVisible(True) + threading.Thread(target=self._download_thread, - args=(url, path, format_id, selected_sub), + args=(url, path, format_id, selected_sub, self.is_playlist), daemon=True).start() - def _download_thread(self, url, path, format_id, subtitle_lang=None): - ydl_opts = { - 'format': format_id, - 'outtmpl': os.path.join(path, '%(title)s.%(ext)s'), - 'progress_hooks': [self._progress_hook], - 'merge_output_format': 'mp4', - } - - # Add subtitle options if requested - if subtitle_lang: - # Extract language code from the combo box text - lang_code = subtitle_lang.split(' - ')[0] - is_auto = 'Auto-generated' in subtitle_lang - - ydl_opts.update({ - 'writesubtitles': True, - 'subtitleslangs': [lang_code], - 'writeautomaticsub': True, - 'skip_manual_subs': is_auto, # Skip manual subs if auto is selected - 'skip_auto_subs': not is_auto, # Skip auto subs if manual is selected - }) - + def _download_thread(self, url, path, format_id, subtitle_lang=None, is_playlist=False): try: + class DebugLogger: + def debug(self, msg): + # Update both status and log window + if any(x in msg.lower() for x in ['downloading webpage', 'downloading api', 'extracting', 'downloading m3u8']): + self.signals.update_status.emit("Preparing for download...") + self.signals.update_progress.emit(0) + if self.parent.show_log and self.parent.log_window: + self.parent.log_window.append_log(msg) + + def warning(self, msg): + if self.parent.show_log and self.parent.log_window: + self.parent.log_window.append_log(f"Warning: {msg}") + + def error(self, msg): + if self.parent.show_log and self.parent.log_window: + self.parent.log_window.append_log(f"Error: {msg}") + + def __init__(self, signals, parent): + self.signals = signals + self.parent = parent + + class CancelHandler: + def __init__(self, parent): + self.parent = parent + + def __call__(self, signum, frame): + return self.parent.download_cancelled + + ydl_opts = { + 'format': format_id, + 'outtmpl': os.path.join(path, '%(playlist_title)s/%(title)s.%(ext)s' if is_playlist else '%(title)s.%(ext)s'), + 'progress_hooks': [self._progress_hook], + 'merge_output_format': 'mp4', + 'debug_printout': True, + 'logger': DebugLogger(self.signals, self), + 'signal_handler': CancelHandler(self), + } + + # Add subtitle options if requested + if subtitle_lang: + lang_code = subtitle_lang.split(' - ')[0] + is_auto = 'Auto-generated' in subtitle_lang + ydl_opts.update({ + 'writesubtitles': True, + 'subtitleslangs': [lang_code], + 'writeautomaticsub': True, + 'skip_manual_subs': is_auto, + 'skip_auto_subs': not is_auto, + }) + + self.signals.update_status.emit("Preparing for download...") + self.signals.update_progress.emit(0) + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + self.current_download = ydl ydl.download([url]) + except Exception as e: - error_message = str(e) - self.signals.update_status.emit(f"Error: {error_message}") + if self.download_cancelled: + self.signals.update_status.emit("Download cancelled") + else: + error_message = str(e) + self.signals.update_status.emit(f"Error: {error_message}") + finally: + self.current_download = None + self.download_btn.setEnabled(True) + self.pause_btn.setVisible(False) + self.cancel_btn.setVisible(False) def _progress_hook(self, d): + if self.download_cancelled: + raise Exception("Download cancelled by user") + if d['status'] == 'downloading': + while self.download_paused and not self.download_cancelled: + time.sleep(0.1) + continue + try: downloaded_bytes = int(d.get('downloaded_bytes', 0)) - total_bytes = int(d.get('total_bytes', 1)) # Use 1 as default to avoid division by zero - # Ensure we're working with integers throughout + total_bytes = int(d.get('total_bytes', 1)) progress = int((downloaded_bytes * 100) // total_bytes) - # Clamp the value between 0 and 100 progress = max(0, min(100, progress)) + + # Extract additional download information + speed = d.get('speed', 0) + eta = d.get('eta', 0) + filename = os.path.basename(d.get('filename', '')) + + # Format the speed dynamically + if speed: + if speed > 1024 * 1024: # If speed is greater than 1 MiB/s + speed_str = f"{speed/(1024*1024):.1f} MiB/s" + else: + speed_str = f"{speed/1024:.1f} KiB/s" + else: + speed_str = "N/A" + + eta_str = f"{eta//60}:{eta%60:02d}" if eta else "N/A" + + # Update the UI + details_text = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" + self.signals.update_status.emit(details_text) self.signals.update_progress.emit(progress) - self.signals.update_status.emit(f"Downloading: {progress}%") + except Exception as e: print(f"Progress calculation error: {str(e)}") self.signals.update_status.emit("Downloading...") + elif d['status'] == 'finished': self.signals.update_progress.emit(100) self.signals.update_status.emit("Download completed!") + self.download_details_label.setText("") # Clear the details when finished def update_progress_bar(self, value): try: @@ -492,10 +1038,130 @@ class YouTubeDownloaderGUI(QMainWindow): except Exception as e: print(f"Progress bar update error: {str(e)}") + def toggle_pause(self): + if self.current_download: + self.download_paused = not self.download_paused + if self.download_paused: + self.pause_btn.setText('Resume') + self.signals.update_status.emit("Download paused") + else: + self.pause_btn.setText('Pause') + self.signals.update_status.emit("Download resumed") + + def toggle_log_window(self): + if self.log_btn.isChecked(): + if not self.log_window: + self.log_window = LogWindow(self) + self.log_window.show() + self.show_log = True + else: + if self.log_window: + self.log_window.hide() + self.show_log = False + + def check_for_updates(self): + try: + # Get the latest release info from GitHub + response = requests.get( + "https://api.github.com/repos/oop7/YTSage/releases/latest", + headers={"Accept": "application/vnd.github.v3+json"} + ) + response.raise_for_status() + + latest_release = response.json() + latest_version = latest_release["tag_name"].lstrip('v') + + # Compare versions + if version.parse(latest_version) > version.parse(self.version): + self.show_update_dialog(latest_version, latest_release["html_url"]) + except Exception as e: + print(f"Failed to check for updates: {str(e)}") + + def show_update_dialog(self, latest_version, release_url): + msg = QDialog(self) + msg.setWindowTitle("Update Available") + msg.setMinimumWidth(400) + + layout = QVBoxLayout(msg) + + # Update message + message_label = QLabel( + f"A new version of YTSage is available!\n\n" + f"Current version: {self.version}\n" + f"Latest version: {latest_version}" + ) + message_label.setWordWrap(True) + layout.addWidget(message_label) + + # Buttons + button_layout = QHBoxLayout() + + download_btn = QPushButton("Download Update") + download_btn.clicked.connect(lambda: self.open_release_page(release_url)) + + remind_btn = QPushButton("Remind Me Later") + remind_btn.clicked.connect(msg.close) + + button_layout.addWidget(download_btn) + button_layout.addWidget(remind_btn) + layout.addLayout(button_layout) + + # Style the dialog + msg.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + msg.show() + + def open_release_page(self, url): + import webbrowser + webbrowser.open(url) + + def show_custom_command(self): + dialog = CustomCommandDialog(self) + dialog.exec() + + def cancel_download(self): + self.download_cancelled = True + if self.current_download: + self.signals.update_status.emit("Cancelling download...") + + def check_ffmpeg(self): + try: + subprocess.run(['ffmpeg', '-version'], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=True) + return True + except (subprocess.SubprocessError, FileNotFoundError): + return False + + def show_ffmpeg_dialog(self): + dialog = FFmpegCheckDialog(self) + dialog.exec() + def main(): app = QApplication(sys.argv) app.setStyle(QStyleFactory.create('Fusion')) - window = YouTubeDownloaderGUI() + window = YTSage() window.show() sys.exit(app.exec()) From c66261705ec23458908de0bc47d017db7c3c8935 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 26 Dec 2024 10:40:39 +0200 Subject: [PATCH 011/568] Update README.md --- README.md | 77 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 57 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index b14511a..6266a31 100644 --- a/README.md +++ b/README.md @@ -5,19 +5,25 @@ A modern YouTube downloader with a clean PyQt6 interface. Download videos in any ## Screenshots ### Main Interface -![Main Interface](https://github.com/user-attachments/assets/0dc04ecf-082e-458a-acfe-2c5482d36de2) + +![Screenshot1](https://github.com/user-attachments/assets/414ceb6b-957f-4dd6-bfa7-6a5d72818522) *Main interface with video metadata and thumbnail preview* +### Playlist download support with auto-detection + +![Screenshot2](https://github.com/user-attachments/assets/d889b659-6196-4e53-a4ea-ff81b698e7f3) + +*Playlist download with auto-detection* ### Audio Format Selection -![Format Selection](https://github.com/user-attachments/assets/d2f8a638-0b6b-49f1-990d-c9c4791902a6) +![Screenshot](https://github.com/user-attachments/assets/b40641a2-659e-4a9f-9002-57badc37916d) *Smart format selection with quality options* ### Subtitle Options -![Subtitle Options](https://github.com/user-attachments/assets/b001ceb5-5446-4b56-b00c-b578814e2cf0) +![Screenshot3](https://github.com/user-attachments/assets/0f356c89-9c8b-4050-ad74-fd006ebed22e) *Support for both manual and auto-generated subtitles* @@ -30,6 +36,15 @@ A modern YouTube downloader with a clean PyQt6 interface. Download videos in any - 🖼️ Thumbnail preview - 🎨 Clean, user-friendly interface - 🚀 Built on yt-dlp for robust downloading +- ⏯️ Download control (pause, resume, and cancel) +- 📊 Real-time progress tracking (speed, ETA, percentage) +- 📝 Built-in yt-dlp log viewer +- ⚙️ Custom yt-dlp command support +- 📋 Playlist download support with auto-detection +- 💾 Save download path memory +- 🔄 Automatic updates checker +- ⚠️ User-friendly error messages +- 🛠️ FFmpeg installation checker and guide ## Download @@ -37,15 +52,22 @@ You can download the latest executable from the [Releases](https://github.com/oo ### Pre-built Executables - Windows: `YTSage.exe` +- macOS: `YTSage.app` +- Linux: `YTSage.AppImage` - No installation required - just download and run! -## Build from Source +### PyPI Package +You can also install YTSage directly from PyPI: +```bash +pip install YTSage +``` + ### Installation 1. Clone the repository: ```bash -git clone https://github.com/yourusername/YTSage.git +git clone https://github.com/oop7/YTSage.git cd YTSage ``` @@ -60,25 +82,33 @@ python YTSage.py # Usage -1. Run the application -2. Paste a YouTube URL into the input field -3. Click "Analyze" to load video information -4. Select your desired format: - - Choose "Video" for video downloads (will automatically merge with best audio) - - Choose "Audio Only" for audio extraction -5. Enable subtitle download if needed -6. Select the output directory -7. Click "Download" to start +1. **Run the application** +2. **Paste a YouTube URL** into the input field +3. **Click "Analyze"** to load video information +4. **Select your desired format**: + - Choose **"Video"** for video downloads (will automatically merge with best audio) + - Choose **"Audio Only"** for audio extraction +5. **Enable subtitle download** if needed +6. **Select the output directory** +7. **Click "Download"** to start -### Build Executable +--- -#### Install PyInstaller if you haven't already +### Additional Steps for Playlist Download: -- Create the executable +1. **Paste the Playlist URL**: Instead of a single video URL, paste the URL of the entire YouTube playlist into the input field. +2. **Analyze the Playlist**: Click "Analyze" to load information for all videos in the playlist. +3. **Select Best Quality**: Ensure that the best quality option is selected for both video and audio. +4. **Download the Playlist**: Click "Download" to start downloading all videos in the playlist. The application should automatically handle the download queue. -```bash -pyinstaller --onefile --windowed --icon=icon.ico --name=YTSage YTSage.py -``` +--- + +### Note: +- **Best Quality**: Always select the highest available resolution (e.g., 1080p, 4K) for video and the best audio format (e.g., 320kbps) for the best experience. +- **Subtitle Download**: If you need subtitles, enable this option before starting the download. +- **Output Directory**: Choose a directory with enough storage space, especially for large playlists. + +By following these steps, you can efficiently download entire playlists in the best quality without encountering issues. ## Requirements @@ -87,6 +117,8 @@ pyinstaller --onefile --windowed --icon=icon.ico --name=YTSage YTSage.py - yt-dlp - Pillow - requests +- ffmpeg +- packaging ## Contributing @@ -106,6 +138,11 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file - [yt-dlp](https://github.com/yt-dlp/yt-dlp) for the powerful downloading engine - [PyQt6](https://www.riverbankcomputing.com/software/pyqt/) for the GUI framework +- [FFmpeg](https://ffmpeg.org/) for the audio and video processing +- [Pillow](https://pypi.org/project/Pillow/) for the image processing +- [requests](https://pypi.org/project/requests/) for the HTTP requests +- [packaging](https://pypi.org/project/packaging/) for the package management +- [PyInstaller](https://pypi.org/project/PyInstaller/) for the executable creation ## Disclaimer From 6d11720dcac23a3f0f2f147e6ea720d246dd527c Mon Sep 17 00:00:00 2001 From: Muhamed Date: Tue, 28 Jan 2025 17:28:12 +0200 Subject: [PATCH 012/568] Migrated from PyQt6 to PySide6 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 7f01f7e..b195626 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -PyQt6 +PySide6 yt-dlp requests pillow From 8ad6c3491dc4ccb4e0731ad5b908908462a7be82 Mon Sep 17 00:00:00 2001 From: Muhamed Date: Tue, 28 Jan 2025 17:28:50 +0200 Subject: [PATCH 013/568] Update YTSage.py --- YTSage.py | 576 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 413 insertions(+), 163 deletions(-) diff --git a/YTSage.py b/YTSage.py index fe10d9f..8d03376 100644 --- a/YTSage.py +++ b/YTSage.py @@ -2,12 +2,12 @@ import sys import os import threading import time -from PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, +from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit) -from PyQt6.QtCore import Qt, pyqtSignal, QObject -from PyQt6.QtGui import QIcon, QPalette, QColor, QPixmap +from PySide6.QtCore import Qt, Signal, QObject, QThread +from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import yt_dlp import requests from io import BytesIO @@ -21,9 +21,9 @@ import subprocess import webbrowser class SignalManager(QObject): - update_formats = pyqtSignal(list) - update_status = pyqtSignal(str) - update_progress = pyqtSignal(float) + update_formats = Signal(list) + update_status = Signal(str) + update_progress = Signal(float) class LogWindow(QDialog): def __init__(self, parent=None): @@ -248,6 +248,106 @@ class FFmpegCheckDialog(QDialog): } """) +class DownloadThread(QThread): + progress_signal = Signal(float) + status_signal = Signal(str) + finished_signal = Signal() + error_signal = Signal(str) + + def __init__(self, url, path, format_id, subtitle_lang=None, is_playlist=False): + super().__init__() + self.url = url + self.path = path + self.format_id = format_id + self.subtitle_lang = subtitle_lang + self.is_playlist = is_playlist + self.paused = False + self.cancelled = False + + def run(self): + try: + class DebugLogger: + def debug(self, msg): + if any(x in msg.lower() for x in ['downloading webpage', 'downloading api', 'extracting', 'downloading m3u8']): + self.thread.status_signal.emit("Preparing for download...") + self.thread.progress_signal.emit(0) + + def warning(self, msg): + self.thread.status_signal.emit(f"Warning: {msg}") + + def error(self, msg): + self.thread.status_signal.emit(f"Error: {msg}") + + def __init__(self, thread): + self.thread = thread + + def progress_hook(d): + if self.cancelled: + raise Exception("Download cancelled by user") + + if d['status'] == 'downloading': + while self.paused and not self.cancelled: + time.sleep(0.1) + continue + + try: + downloaded_bytes = int(d.get('downloaded_bytes', 0)) + total_bytes = int(d.get('total_bytes', 1)) + progress = int((downloaded_bytes * 100) // total_bytes) + progress = max(0, min(100, progress)) + + speed = d.get('speed', 0) + eta = d.get('eta', 0) + filename = os.path.basename(d.get('filename', '')) + + if speed: + if speed > 1024 * 1024: + speed_str = f"{speed/(1024*1024):.1f} MiB/s" + else: + speed_str = f"{speed/1024:.1f} KiB/s" + else: + speed_str = "N/A" + + eta_str = f"{eta//60}:{eta%60:02d}" if eta else "N/A" + details_text = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" + + self.status_signal.emit(details_text) + self.progress_signal.emit(progress) + + except Exception as e: + self.status_signal.emit("Downloading...") + + elif d['status'] == 'finished': + self.progress_signal.emit(100) + self.status_signal.emit("Download completed!") + + ydl_opts = { + 'format': self.format_id, + 'outtmpl': os.path.join(self.path, '%(playlist_title)s/%(title)s.%(ext)s' if self.is_playlist else '%(title)s.%(ext)s'), + 'progress_hooks': [progress_hook], + 'merge_output_format': 'mp4', + 'logger': DebugLogger(self), + } + + if self.subtitle_lang: + lang_code = self.subtitle_lang.split(' - ')[0] + is_auto = 'Auto-generated' in self.subtitle_lang + ydl_opts.update({ + 'writesubtitles': True, + 'subtitleslangs': [lang_code], + 'writeautomaticsub': True, + 'skip_manual_subs': is_auto, + 'skip_auto_subs': not is_auto, + }) + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([self.url]) + + self.finished_signal.emit() + + except Exception as e: + self.error_signal.emit(str(e)) + class YTSage(QMainWindow): def __init__(self): super().__init__() @@ -255,7 +355,7 @@ class YTSage(QMainWindow): if not self.check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "2.0.0" + self.version = "3.0.0" self.check_for_updates() # Check for updates on startup self.config_file = Path.home() / '.ytsage_config.json' self.load_saved_path() @@ -444,19 +544,21 @@ class YTSage(QMainWindow): else: self.last_path = str(Path.home() / 'Downloads') except Exception as e: - print(f"Error loading saved path: {e}") + print(f"Error loading saved settings: {e}") self.last_path = str(Path.home() / 'Downloads') def save_path(self, path): try: - config = {'download_path': path} + config = { + 'download_path': path + } with open(self.config_file, 'w') as f: json.dump(config, f) except Exception as e: - print(f"Error saving path: {e}") + print(f"Error saving settings: {e}") def init_ui(self): - self.setWindowTitle('YTSage v2.0.0') + self.setWindowTitle('YTSage v3.0.0') self.setMinimumSize(900, 600) # Main widget and layout @@ -470,9 +572,16 @@ class YTSage(QMainWindow): url_layout = QHBoxLayout() self.url_input = QLineEdit() self.url_input.setPlaceholderText('Enter YouTube URL...') + + # Add Paste URL button + self.paste_btn = QPushButton('Paste URL') + self.paste_btn.clicked.connect(self.paste_url) + self.analyze_btn = QPushButton('Analyze') self.analyze_btn.clicked.connect(self.analyze_url) + url_layout.addWidget(self.url_input) + url_layout.addWidget(self.paste_btn) url_layout.addWidget(self.analyze_btn) layout.addLayout(url_layout) @@ -497,15 +606,59 @@ class YTSage(QMainWindow): self.date_label = QLabel() self.duration_label = QLabel() - # Subtitle section + # Style the info labels + for label in [self.channel_label, self.views_label, self.date_label, self.duration_label]: + label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 2px 0; + } + """) + + # Subtitle section with improved styling subtitle_layout = QHBoxLayout() self.subtitle_check = QPushButton("Download Subtitles") self.subtitle_check.setCheckable(True) self.subtitle_check.clicked.connect(self.toggle_subtitle_list) + self.subtitle_check.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 10px; + } + QPushButton:checked { + background-color: #ff0000; + border-color: #cc0000; + } + """) subtitle_layout.addWidget(self.subtitle_check) self.subtitle_combo = QComboBox() self.subtitle_combo.setVisible(False) + self.subtitle_combo.setStyleSheet(""" + QComboBox { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-width: 200px; + } + QComboBox::drop-down { + border: none; + } + QComboBox::down-arrow { + image: url(down_arrow.png); + width: 12px; + height: 12px; + } + QComboBox QAbstractItemView { + background-color: #363636; + selection-background-color: #ff0000; + selection-color: white; + } + """) subtitle_layout.addWidget(self.subtitle_combo) subtitle_layout.addStretch() @@ -521,75 +674,150 @@ class YTSage(QMainWindow): media_info_layout.addLayout(video_info_layout) layout.addLayout(media_info_layout) - # Add playlist information section + # Add playlist information section with improved styling self.playlist_info_label = QLabel() self.playlist_info_label.setVisible(False) - self.playlist_info_label.setStyleSheet("font-size: 12px; color: #ff9900;") + self.playlist_info_label.setStyleSheet(""" + QLabel { + font-size: 12px; + color: #ff9900; + padding: 5px; + background-color: #363636; + border-radius: 4px; + } + """) layout.addWidget(self.playlist_info_label) - # Simplified format filter buttons + # Format filter buttons with improved styling filter_layout = QHBoxLayout() self.filter_label = QLabel("Show formats:") + self.filter_label.setStyleSheet("color: #cccccc; font-size: 12px;") filter_layout.addWidget(self.filter_label) + # Style for filter buttons + filter_btn_style = """ + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; + color: #cccccc; + } + QPushButton:checked { + background-color: #ff0000; + border-color: #cc0000; + color: white; + } + QPushButton:hover { + background-color: #444444; + } + """ + self.video_btn = QPushButton("Video") self.video_btn.setCheckable(True) self.video_btn.setChecked(True) self.video_btn.clicked.connect(self.filter_formats) - self.video_btn.setProperty("class", "filter-btn") + self.video_btn.setStyleSheet(filter_btn_style) self.audio_btn = QPushButton("Audio Only") self.audio_btn.setCheckable(True) self.audio_btn.clicked.connect(self.filter_formats) - self.audio_btn.setProperty("class", "filter-btn") + self.audio_btn.setStyleSheet(filter_btn_style) filter_layout.addWidget(self.video_btn) filter_layout.addWidget(self.audio_btn) filter_layout.addStretch() layout.addLayout(filter_layout) - # Format table + # Format table with improved styling self.format_table = QTableWidget() self.format_table.setColumnCount(6) self.format_table.setHorizontalHeaderLabels(['Format ID', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio']) self.format_table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) + self.format_table.setStyleSheet(""" + QTableWidget { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + gridline-color: #3d3d3d; + } + QTableWidget::item { + padding: 5px; + } + QTableWidget::item:selected { + background-color: #ff0000; + } + QHeaderView::section { + background-color: #2b2b2b; + padding: 5px; + border: 1px solid #3d3d3d; + font-weight: bold; + } + """) layout.addWidget(self.format_table) - # Store formats for filtering - self.all_formats = [] - - # Download section + # Download section with improved styling download_layout = QHBoxLayout() self.path_input = QLineEdit() self.path_input.setPlaceholderText('Download path...') self.path_input.setText(self.last_path) + + # Style all buttons consistently + button_style = """ + QPushButton { + background-color: #ff0000; + border: none; + border-radius: 4px; + padding: 8px 15px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + QPushButton:pressed { + background-color: #990000; + } + QPushButton:disabled { + background-color: #666666; + } + """ + self.browse_btn = QPushButton('Browse') self.browse_btn.clicked.connect(self.browse_path) + self.browse_btn.setStyleSheet(button_style) - # Create download control buttons self.download_btn = QPushButton('Download') self.download_btn.clicked.connect(self.start_download) + self.download_btn.setStyleSheet(button_style) self.pause_btn = QPushButton('Pause') self.pause_btn.clicked.connect(self.toggle_pause) self.pause_btn.setVisible(False) + self.pause_btn.setStyleSheet(button_style) - # Add cancel button self.cancel_btn = QPushButton('Cancel') self.cancel_btn.clicked.connect(self.cancel_download) self.cancel_btn.setVisible(False) + self.cancel_btn.setStyleSheet(button_style) - # Add log button self.log_btn = QPushButton('yt-dlp Log') self.log_btn.setCheckable(True) self.log_btn.clicked.connect(self.toggle_log_window) - download_layout.addWidget(self.log_btn) + self.log_btn.setStyleSheet(button_style) - # Add custom command button to download_layout self.custom_cmd_btn = QPushButton('Custom Command') self.custom_cmd_btn.clicked.connect(self.show_custom_command) - download_layout.addWidget(self.custom_cmd_btn) + self.custom_cmd_btn.setStyleSheet(button_style) + self.update_ytdlp_btn = QPushButton('Update yt-dlp') + self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) + self.update_ytdlp_btn.setStyleSheet(button_style) + + # Add all buttons to layout + download_layout.addWidget(self.log_btn) + download_layout.addWidget(self.custom_cmd_btn) + download_layout.addWidget(self.update_ytdlp_btn) download_layout.addWidget(self.path_input) download_layout.addWidget(self.browse_btn) download_layout.addWidget(self.download_btn) @@ -597,18 +825,46 @@ class YTSage(QMainWindow): download_layout.addWidget(self.cancel_btn) layout.addLayout(download_layout) - # Progress section + # Progress section with improved styling progress_layout = QVBoxLayout() self.progress_bar = QProgressBar() + self.progress_bar.setStyleSheet(""" + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + background-color: #363636; + height: 25px; + } + QProgressBar::chunk { + background-color: #ff0000; + border-radius: 2px; + } + """) progress_layout.addWidget(self.progress_bar) - # Add download details label + # Add download details label with improved styling self.download_details_label = QLabel() self.download_details_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.download_details_label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 5px; + } + """) progress_layout.addWidget(self.download_details_label) self.status_label = QLabel('Ready') self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.status_label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 5px; + } + """) progress_layout.addWidget(self.status_label) layout.addLayout(progress_layout) @@ -624,47 +880,55 @@ class YTSage(QMainWindow): self.signals.update_status.emit("Invalid URL or please enter a URL.") return - self.signals.update_status.emit("Analyzing...") + self.signals.update_status.emit("Analyzing (0%)... Preparing request") threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() def _analyze_url_thread(self, url): try: + self.signals.update_status.emit("Analyzing (20%)... Extracting basic info") + # Clean up the URL to handle both playlist and video URLs if 'list=' in url and 'watch?v=' in url: - # Extract playlist ID playlist_id = url.split('list=')[1].split('&')[0] url = f'https://www.youtube.com/playlist?list={playlist_id}' # Initial extraction with basic options ydl_opts = { - 'quiet': True, - 'no_warnings': True, + 'quiet': False, + 'no_warnings': False, 'extract_flat': True, 'force_generic_extractor': False, 'ignoreerrors': True, - 'no_color': True + 'no_color': True, + 'verbose': True } with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: basic_info = ydl.extract_info(url, download=False) + if not basic_info: + raise Exception("Could not extract basic video information") except Exception as e: print(f"First extraction failed: {str(e)}") raise Exception("Could not extract video information") + self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") # Configure options for detailed extraction ydl_opts.update({ 'extract_flat': False, - 'format': 'best', # Start with best format to ensure we get some formats + 'format': None, 'writesubtitles': True, 'allsubtitles': True, 'writeautomaticsub': True, 'playliststart': 1, - 'playlistend': 1 # Only get first video initially + 'playlistend': 1, + 'youtube_include_dash_manifest': True, + 'youtube_include_hls_manifest': True }) with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: + self.signals.update_status.emit("Analyzing (60%)... Processing video data") if basic_info.get('_type') == 'playlist': self.is_playlist = True self.playlist_info = basic_info @@ -701,28 +965,31 @@ class YTSage(QMainWindow): print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") raise Exception("No format information available") + self.signals.update_status.emit("Analyzing (80%)... Processing formats") self.all_formats = self.video_info['formats'] # Update UI - self.signals.update_status.emit("Updating video information...") self.update_video_info(self.video_info) # Update thumbnail + self.signals.update_status.emit("Analyzing (90%)... Loading thumbnail") thumbnail_url = self.video_info.get('thumbnail') if thumbnail_url: self.download_thumbnail(thumbnail_url) # Update subtitles + self.signals.update_status.emit("Analyzing (95%)... Processing subtitles") self.available_subtitles = self.video_info.get('subtitles', {}) self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) self.update_subtitle_list() # Update format table + self.signals.update_status.emit("Analyzing (98%)... Updating format table") self.video_btn.setChecked(True) self.audio_btn.setChecked(False) self.filter_formats() - self.signals.update_status.emit("Analysis complete") + self.signals.update_status.emit("Analysis complete!") except Exception as e: print(f"Detailed extraction failed: {str(e)}") @@ -769,15 +1036,44 @@ class YTSage(QMainWindow): self.subtitle_combo.addItem("No subtitles available") return + # Create a new horizontal layout for subtitle controls if it doesn't exist + if not hasattr(self, 'subtitle_filter_input'): + # Find the parent layout containing the subtitle controls + for i in range(self.centralWidget().layout().count()): + item = self.centralWidget().layout().itemAt(i) + if isinstance(item, QHBoxLayout) and self.subtitle_check in item.parent().findChildren(QPushButton): + # Create and add filter components + self.subtitle_filter_input = QLineEdit() + self.subtitle_filter_input.setPlaceholderText("Filter languages (e.g., en, es)") + self.subtitle_filter_input.setText(self.subtitle_filter) + self.subtitle_filter_input.setMaximumWidth(200) # Limit width + self.subtitle_filter_input.textChanged.connect(self.filter_subtitles) + + # Add the filter input before the combo box + layout_index = item.indexOf(self.subtitle_combo) + item.insertWidget(layout_index, QLabel("Filter:")) + item.insertWidget(layout_index + 1, self.subtitle_filter_input) + break + + # Add subtitle options self.subtitle_combo.addItem("Select subtitle language") + # Filter and add subtitles + filter_text = self.subtitle_filter_input.text().lower() if hasattr(self, 'subtitle_filter_input') else "" + # Add manual subtitles for lang_code, subtitle_info in self.available_subtitles.items(): - self.subtitle_combo.addItem(f"{lang_code} - Manual") + if not filter_text or filter_text in lang_code.lower(): + self.subtitle_combo.addItem(f"{lang_code} - Manual") # Add auto-generated subtitles for lang_code, subtitle_info in self.available_automatic_subtitles.items(): - self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") + if not filter_text or filter_text in lang_code.lower(): + self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") + + def filter_subtitles(self): + # Just filter without saving + self.update_subtitle_list() def download_thumbnail(self, url): try: @@ -910,125 +1206,24 @@ class YTSage(QMainWindow): self.pause_btn.setVisible(True) self.cancel_btn.setVisible(True) - threading.Thread(target=self._download_thread, - args=(url, path, format_id, selected_sub, self.is_playlist), - daemon=True).start() + self.download_thread = DownloadThread(url, path, format_id, selected_sub, self.is_playlist) + self.download_thread.progress_signal.connect(self.update_progress_bar) + self.download_thread.status_signal.connect(self.signals.update_status.emit) + self.download_thread.finished_signal.connect(self.download_finished) + self.download_thread.error_signal.connect(self.download_error) + + self.download_thread.start() - def _download_thread(self, url, path, format_id, subtitle_lang=None, is_playlist=False): - try: - class DebugLogger: - def debug(self, msg): - # Update both status and log window - if any(x in msg.lower() for x in ['downloading webpage', 'downloading api', 'extracting', 'downloading m3u8']): - self.signals.update_status.emit("Preparing for download...") - self.signals.update_progress.emit(0) - if self.parent.show_log and self.parent.log_window: - self.parent.log_window.append_log(msg) - - def warning(self, msg): - if self.parent.show_log and self.parent.log_window: - self.parent.log_window.append_log(f"Warning: {msg}") - - def error(self, msg): - if self.parent.show_log and self.parent.log_window: - self.parent.log_window.append_log(f"Error: {msg}") - - def __init__(self, signals, parent): - self.signals = signals - self.parent = parent + def download_finished(self): + self.download_btn.setEnabled(True) + self.pause_btn.setVisible(False) + self.cancel_btn.setVisible(False) - class CancelHandler: - def __init__(self, parent): - self.parent = parent - - def __call__(self, signum, frame): - return self.parent.download_cancelled - - ydl_opts = { - 'format': format_id, - 'outtmpl': os.path.join(path, '%(playlist_title)s/%(title)s.%(ext)s' if is_playlist else '%(title)s.%(ext)s'), - 'progress_hooks': [self._progress_hook], - 'merge_output_format': 'mp4', - 'debug_printout': True, - 'logger': DebugLogger(self.signals, self), - 'signal_handler': CancelHandler(self), - } - - # Add subtitle options if requested - if subtitle_lang: - lang_code = subtitle_lang.split(' - ')[0] - is_auto = 'Auto-generated' in subtitle_lang - ydl_opts.update({ - 'writesubtitles': True, - 'subtitleslangs': [lang_code], - 'writeautomaticsub': True, - 'skip_manual_subs': is_auto, - 'skip_auto_subs': not is_auto, - }) - - self.signals.update_status.emit("Preparing for download...") - self.signals.update_progress.emit(0) - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - self.current_download = ydl - ydl.download([url]) - - except Exception as e: - if self.download_cancelled: - self.signals.update_status.emit("Download cancelled") - else: - error_message = str(e) - self.signals.update_status.emit(f"Error: {error_message}") - finally: - self.current_download = None - self.download_btn.setEnabled(True) - self.pause_btn.setVisible(False) - self.cancel_btn.setVisible(False) - - def _progress_hook(self, d): - if self.download_cancelled: - raise Exception("Download cancelled by user") - - if d['status'] == 'downloading': - while self.download_paused and not self.download_cancelled: - time.sleep(0.1) - continue - - try: - downloaded_bytes = int(d.get('downloaded_bytes', 0)) - total_bytes = int(d.get('total_bytes', 1)) - progress = int((downloaded_bytes * 100) // total_bytes) - progress = max(0, min(100, progress)) - - # Extract additional download information - speed = d.get('speed', 0) - eta = d.get('eta', 0) - filename = os.path.basename(d.get('filename', '')) - - # Format the speed dynamically - if speed: - if speed > 1024 * 1024: # If speed is greater than 1 MiB/s - speed_str = f"{speed/(1024*1024):.1f} MiB/s" - else: - speed_str = f"{speed/1024:.1f} KiB/s" - else: - speed_str = "N/A" - - eta_str = f"{eta//60}:{eta%60:02d}" if eta else "N/A" - - # Update the UI - details_text = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" - self.signals.update_status.emit(details_text) - self.signals.update_progress.emit(progress) - - except Exception as e: - print(f"Progress calculation error: {str(e)}") - self.signals.update_status.emit("Downloading...") - - elif d['status'] == 'finished': - self.signals.update_progress.emit(100) - self.signals.update_status.emit("Download completed!") - self.download_details_label.setText("") # Clear the details when finished + def download_error(self, error_message): + self.signals.update_status.emit(f"Error: {error_message}") + self.download_btn.setEnabled(True) + self.pause_btn.setVisible(False) + self.cancel_btn.setVisible(False) def update_progress_bar(self, value): try: @@ -1039,9 +1234,9 @@ class YTSage(QMainWindow): print(f"Progress bar update error: {str(e)}") def toggle_pause(self): - if self.current_download: - self.download_paused = not self.download_paused - if self.download_paused: + if self.download_thread: + self.download_thread.paused = not self.download_thread.paused + if self.download_thread.paused: self.pause_btn.setText('Resume') self.signals.update_status.emit("Download paused") else: @@ -1140,8 +1335,8 @@ class YTSage(QMainWindow): dialog.exec() def cancel_download(self): - self.download_cancelled = True - if self.current_download: + if self.download_thread: + self.download_thread.cancelled = True self.signals.update_status.emit("Cancelling download...") def check_ffmpeg(self): @@ -1158,6 +1353,61 @@ class YTSage(QMainWindow): dialog = FFmpegCheckDialog(self) dialog.exec() + def paste_url(self): + clipboard = QApplication.clipboard() + self.url_input.setText(clipboard.text()) + + def update_ytdlp(self): + self.signals.update_status.emit("Updating yt-dlp...") + threading.Thread(target=self._update_ytdlp_thread, daemon=True).start() + + def _update_ytdlp_thread(self): + try: + # Show initial status + self.signals.update_status.emit("Updating yt-dlp (0%)...") + + # Run pip install with output capture + process = subprocess.Popen( + [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True + ) + + # Track progress through output lines + progress = 0 + progress_steps = ['Collecting', 'Downloading', 'Installing', 'Successfully'] + current_step = 0 + + while True: + line = process.stdout.readline() or process.stderr.readline() + if not line and process.poll() is not None: + break + + line = line.strip() + if line: + # Update progress based on steps + if any(step in line for step in progress_steps[current_step:]): + current_step = next(i for i, step in enumerate(progress_steps) if step in line) + progress = (current_step + 1) * 25 + self.signals.update_status.emit(f"Updating yt-dlp ({progress}%)...") + + # Get the installed version + version_process = subprocess.run( + [sys.executable, "-m", "yt_dlp", "--version"], + capture_output=True, + text=True + ) + version = version_process.stdout.strip() + + self.signals.update_status.emit(f"yt-dlp updated successfully! (Version: {version})") + + except subprocess.CalledProcessError as e: + error_msg = e.stderr.decode() if e.stderr else str(e) + self.signals.update_status.emit(f"Error updating yt-dlp: {error_msg}") + except Exception as e: + self.signals.update_status.emit(f"Error updating yt-dlp: {str(e)}") + def main(): app = QApplication(sys.argv) app.setStyle(QStyleFactory.create('Fusion')) From f2c2f477a47155aebf46c21ac44f3c9ffa77e76f Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Jan 2025 17:29:25 +0200 Subject: [PATCH 014/568] Add files via upload --- README.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6266a31..bf2fc48 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # YTSage -A modern YouTube downloader with a clean PyQt6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance. +A modern YouTube downloader with a clean PySide6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance. ## Screenshots @@ -31,20 +31,22 @@ A modern YouTube downloader with a clean PyQt6 interface. Download videos in any - 🎥 Smart video quality selection with automatic audio merging - 🎵 Audio-only extraction -- 📝 Manual and auto-generated subtitle support +- 📝 Manual and auto-generated subtitle support with language filtering - ℹ️ Video metadata display (views, upload date, duration) - 🖼️ Thumbnail preview -- 🎨 Clean, user-friendly interface +- 🎨 Clean, modern PySide6 interface - 🚀 Built on yt-dlp for robust downloading - ⏯️ Download control (pause, resume, and cancel) - 📊 Real-time progress tracking (speed, ETA, percentage) - 📝 Built-in yt-dlp log viewer -- ⚙️ Custom yt-dlp command support +- ⚙️ Custom yt-dlp command support with real-time output - 📋 Playlist download support with auto-detection - 💾 Save download path memory -- 🔄 Automatic updates checker +- 🔄 One-click yt-dlp updater - ⚠️ User-friendly error messages - 🛠️ FFmpeg installation checker and guide +- 📎 Quick URL paste button +- 🎯 Smart format filtering (Video/Audio) ## Download @@ -113,7 +115,7 @@ By following these steps, you can efficiently download entire playlists in the b ## Requirements - Python 3.7+ -- PyQt6 +- PySide6 - yt-dlp - Pillow - requests @@ -137,7 +139,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file ## Acknowledgments - [yt-dlp](https://github.com/yt-dlp/yt-dlp) for the powerful downloading engine -- [PyQt6](https://www.riverbankcomputing.com/software/pyqt/) for the GUI framework +- [PySide6]([text](https://en.wikipedia.org/wiki/PySide)) for the GUI framework - [FFmpeg](https://ffmpeg.org/) for the audio and video processing - [Pillow](https://pypi.org/project/Pillow/) for the image processing - [requests](https://pypi.org/project/requests/) for the HTTP requests From 1121fa9ccd6f4b357c4b0be1d8b5c9e28514ad8d Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Jan 2025 17:31:36 +0200 Subject: [PATCH 015/568] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bf2fc48..fe127ab 100644 --- a/README.md +++ b/README.md @@ -6,24 +6,24 @@ A modern YouTube downloader with a clean PySide6 interface. Download videos in a ### Main Interface -![Screenshot1](https://github.com/user-attachments/assets/414ceb6b-957f-4dd6-bfa7-6a5d72818522) +![Main Interface](https://github.com/user-attachments/assets/08bdb68b-2fbc-47d2-a956-fc23723476e6) *Main interface with video metadata and thumbnail preview* ### Playlist download support with auto-detection -![Screenshot2](https://github.com/user-attachments/assets/d889b659-6196-4e53-a4ea-ff81b698e7f3) +![Playlist download](https://github.com/user-attachments/assets/537b8553-9657-42b2-a452-051c4cb2e32a) *Playlist download with auto-detection* ### Audio Format Selection -![Screenshot](https://github.com/user-attachments/assets/b40641a2-659e-4a9f-9002-57badc37916d) +![Audio Format](https://github.com/user-attachments/assets/51a6a613-6c97-4581-b728-38c91c0b2d24) *Smart format selection with quality options* ### Subtitle Options -![Screenshot3](https://github.com/user-attachments/assets/0f356c89-9c8b-4050-ad74-fd006ebed22e) +![Subtitle Options](https://github.com/user-attachments/assets/4e8c686f-98e2-435a-add8-758e317b56fe) *Support for both manual and auto-generated subtitles* From a4483822a5f9899615dc8d502f360c2d4acfd425 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Jan 2025 17:37:04 +0200 Subject: [PATCH 016/568] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fe127ab..c8743d6 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A modern YouTube downloader with a clean PySide6 interface. Download videos in a ### Main Interface -![Main Interface](https://github.com/user-attachments/assets/08bdb68b-2fbc-47d2-a956-fc23723476e6) +![Main Interface](https://github.com/user-attachments/assets/a111aa5f-7314-4d54-bf94-563bf40e22f6) *Main interface with video metadata and thumbnail preview* From a1b07a64d67f3463d8bcf3d37c2bceffe83bc608 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Jan 2025 17:41:46 +0200 Subject: [PATCH 017/568] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8743d6..b1ed992 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file ## Acknowledgments - [yt-dlp](https://github.com/yt-dlp/yt-dlp) for the powerful downloading engine -- [PySide6]([text](https://en.wikipedia.org/wiki/PySide)) for the GUI framework +- [PySide6](https://en.wikipedia.org/wiki/PySide) for the GUI framework - [FFmpeg](https://ffmpeg.org/) for the audio and video processing - [Pillow](https://pypi.org/project/Pillow/) for the image processing - [requests](https://pypi.org/project/requests/) for the HTTP requests From 9f914a9f7db1a0e1211a33f1ddeebacc732dd566 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 30 Jan 2025 15:54:08 +0200 Subject: [PATCH 018/568] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b1ed992..bc56540 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A modern YouTube downloader with a clean PySide6 interface. Download videos in a ### Main Interface -![Main Interface](https://github.com/user-attachments/assets/a111aa5f-7314-4d54-bf94-563bf40e22f6) +![Main Interface](https://github.com/user-attachments/assets/04959c77-695b-4a69-b8fc-7103fe530236) *Main interface with video metadata and thumbnail preview* From 900318348428b112ef5448a35acb84c57ac31735 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 30 Jan 2025 15:57:48 +0200 Subject: [PATCH 019/568] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bc56540..73842b7 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ A modern YouTube downloader with a clean PySide6 interface. Download videos in a - 🚀 Built on yt-dlp for robust downloading - ⏯️ Download control (pause, resume, and cancel) - 📊 Real-time progress tracking (speed, ETA, percentage) -- 📝 Built-in yt-dlp log viewer +- 🖼️ Save Thumbnail - ⚙️ Custom yt-dlp command support with real-time output - 📋 Playlist download support with auto-detection - 💾 Save download path memory @@ -119,7 +119,7 @@ By following these steps, you can efficiently download entire playlists in the b - yt-dlp - Pillow - requests -- ffmpeg +- FFmpeg - packaging ## Contributing From 989e9ce708f99c0d3fbef488b02bc9cb6493790d Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 30 Jan 2025 16:56:02 +0200 Subject: [PATCH 020/568] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 73842b7..3bd7bd0 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ You can download the latest executable from the [Releases](https://github.com/oo ### Pre-built Executables - Windows: `YTSage.exe` -- macOS: `YTSage.app` +- macOS: `YTSage.dmg` - Linux: `YTSage.AppImage` - No installation required - just download and run! From 01e4d7daaeb607ca36dad58fa5c340349b2e2b25 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 30 Jan 2025 17:12:52 +0200 Subject: [PATCH 021/568] v3.5.0 --- YTSage.py | 399 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 332 insertions(+), 67 deletions(-) diff --git a/YTSage.py b/YTSage.py index 8d03376..b66bba9 100644 --- a/YTSage.py +++ b/YTSage.py @@ -348,6 +348,282 @@ class DownloadThread(QThread): except Exception as e: self.error_signal.emit(str(e)) +class YTDLPUpdateDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('Update yt-dlp') + self.setMinimumWidth(400) + + layout = QVBoxLayout(self) + + # Version info and message + self.version_label = QLabel() + self.version_label.setWordWrap(True) + layout.addWidget(self.version_label) + + self.message_label = QLabel( + "Would you like to update yt-dlp to the latest version?\n" + "This will download and install the latest yt-dlp executable." + ) + self.message_label.setWordWrap(True) + layout.addWidget(self.message_label) + + # Progress bar (hidden initially) + self.progress_bar = QProgressBar() + self.progress_bar.setVisible(False) + layout.addWidget(self.progress_bar) + + # Status label + self.status_label = QLabel() + self.status_label.setWordWrap(True) + layout.addWidget(self.status_label) + + # Buttons + button_layout = QHBoxLayout() + + self.update_btn = QPushButton("Update yt-dlp") + self.update_btn.clicked.connect(self.start_update) + self.update_btn.setEnabled(False) # Disabled until version check + + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + + button_layout.addWidget(self.update_btn) + button_layout.addWidget(self.close_btn) + layout.addLayout(button_layout) + + # Style the dialog + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + QPushButton:disabled { + background-color: #666666; + } + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + } + QProgressBar::chunk { + background-color: #ff0000; + } + """) + + # Check versions when dialog opens + self.check_versions() + + def check_versions(self): + threading.Thread(target=self._check_versions_thread, daemon=True).start() + + def _check_versions_thread(self): + try: + # Get current version with proper path + yt_dlp_path = self.get_yt_dlp_path() + if os.path.exists(yt_dlp_path): + try: + # Use the full path to yt-dlp executable + result = subprocess.run([yt_dlp_path, '--version'], + capture_output=True, + text=True, + timeout=5, + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) + if result.returncode == 0: + current_version = result.stdout.strip() + else: + # Try using pip to get version as fallback + try: + import yt_dlp + current_version = yt_dlp.version.__version__ + except: + current_version = "Not installed" + except (subprocess.SubprocessError, subprocess.TimeoutExpired): + # Try using pip to get version as fallback + try: + import yt_dlp + current_version = yt_dlp.version.__version__ + except: + current_version = "Not installed" + else: + # Try using pip to get version as fallback + try: + import yt_dlp + current_version = yt_dlp.version.__version__ + except: + current_version = "Not installed" + + # Get latest version from GitHub API with timeout + try: + response = requests.get( + "https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest", + timeout=10 + ) + response.raise_for_status() + latest_version = response.json()["tag_name"] + except Exception as e: + raise Exception(f"Could not fetch latest version: {str(e)}") + + self.version_label.setText( + f"Current version: {current_version}\n" + f"Latest version: {latest_version}" + ) + + if current_version == "Not installed" or current_version != latest_version: + self.update_btn.setEnabled(True) + self.message_label.setText("An update is available!") + else: + self.message_label.setText("You have the latest version installed.") + self.update_btn.setEnabled(False) + + except Exception as e: + self.version_label.setText("Could not check versions") + self.message_label.setText(f"Error: {str(e)}") + self.update_btn.setEnabled(True) + + def get_yt_dlp_path(self): + """Get the appropriate yt-dlp path based on platform and deployment method""" + try: + if getattr(sys, 'frozen', False): + if sys.platform == 'darwin': + # For macOS .app bundle + if 'Contents/MacOS' in sys.executable: + # Inside .app bundle + return os.path.join(os.path.dirname(sys.executable), 'yt-dlp') + else: + # Fallback to user's home directory for macOS + base_path = os.path.expanduser('~/Library/Application Support/YTSage') + os.makedirs(base_path, exist_ok=True) + return os.path.join(base_path, 'yt-dlp') + elif sys.platform == 'win32': + # For Windows executable + app_data = os.getenv('APPDATA') + if app_data: + base_path = os.path.join(app_data, 'YTSage') + else: + base_path = os.path.dirname(sys.executable) + os.makedirs(base_path, exist_ok=True) + return os.path.join(base_path, 'yt-dlp.exe') + else: + # For Linux AppImage or binary + if 'APPIMAGE' in os.environ: + # Inside AppImage + xdg_data = os.getenv('XDG_DATA_HOME', os.path.expanduser('~/.local/share')) + base_path = os.path.join(xdg_data, 'YTSage') + else: + base_path = os.path.dirname(sys.executable) + os.makedirs(base_path, exist_ok=True) + return os.path.join(base_path, 'yt-dlp') + else: + # For development/script mode + return os.path.join(os.path.dirname(os.path.abspath(__file__)), + 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + except Exception as e: + print(f"Error determining yt-dlp path: {e}") + # Fallback to current directory + return os.path.join(os.getcwd(), 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + + def start_update(self): + self.update_btn.setEnabled(False) + self.progress_bar.setVisible(True) + self.status_label.setText("Starting update...") + + # Start update in a separate thread + threading.Thread(target=self._update_thread, daemon=True).start() + + def _update_thread(self): + temp_path = None + try: + # Create necessary directories + target_path = self.get_yt_dlp_path() + os.makedirs(os.path.dirname(target_path), exist_ok=True) + + # Determine platform and get URLs + if sys.platform == 'win32': + url = 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe' + else: + url = 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp' + + temp_path = target_path + '.download' + + # Download with proper error handling + try: + response = requests.get(url, stream=True, timeout=30) + response.raise_for_status() + total_size = int(response.headers.get('content-length', 0)) + block_size = 8192 # Increased for better performance + + with open(temp_path, 'wb') as f: + for data in response.iter_content(block_size): + if data: # Filter out keep-alive chunks + f.write(data) + progress = int((f.tell() * 100) / total_size) if total_size > 0 else 0 + self.progress_bar.setValue(progress) + self.status_label.setText(f"Downloading: {progress}%") + except requests.exceptions.RequestException as e: + raise Exception(f"Download failed: {str(e)}") + + # Set proper permissions + if sys.platform != 'win32': + try: + os.chmod(temp_path, 0o755) + except Exception as e: + print(f"Warning: Could not set executable permissions: {e}") + + # Handle file replacement + try: + if os.path.exists(target_path): + if sys.platform == 'win32': + # Windows-specific file replacement + import ctypes + if not ctypes.windll.kernel32.MoveFileExW(target_path, None, 4): # MOVEFILE_DELAY_UNTIL_REBOOT + os.remove(target_path) + else: + os.remove(target_path) + except PermissionError: + raise Exception("Cannot update while yt-dlp is in use. Please close any active downloads and try again.") + except Exception as e: + raise Exception(f"Error removing existing file: {str(e)}") + + # Move temporary file to final location + try: + os.rename(temp_path, target_path) + except Exception as e: + raise Exception(f"Error moving new file into place: {str(e)}") + + self.status_label.setText("yt-dlp updated successfully!") + self.close_btn.setText("Done") + + # Refresh version info + self.check_versions() + + except Exception as e: + self.status_label.setText(f"Error updating yt-dlp: {str(e)}") + finally: + # Clean up temp file if it exists + if temp_path and os.path.exists(temp_path): + try: + os.remove(temp_path) + except: + pass + self.update_btn.setEnabled(True) + class YTSage(QMainWindow): def __init__(self): super().__init__() @@ -355,7 +631,7 @@ class YTSage(QMainWindow): if not self.check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "3.0.0" + self.version = "3.5.0" self.check_for_updates() # Check for updates on startup self.config_file = Path.home() / '.ytsage_config.json' self.load_saved_path() @@ -363,9 +639,8 @@ class YTSage(QMainWindow): self.signals = SignalManager() self.download_paused = False self.current_download = None - self.log_window = None - self.show_log = False self.download_cancelled = False + self.save_thumbnail = False self.init_ui() self.setStyleSheet(""" QMainWindow { @@ -558,7 +833,7 @@ class YTSage(QMainWindow): print(f"Error saving settings: {e}") def init_ui(self): - self.setWindowTitle('YTSage v3.0.0') + self.setWindowTitle('YTSage v3.5.0') self.setMinimumSize(900, 600) # Main widget and layout @@ -660,6 +935,33 @@ class YTSage(QMainWindow): } """) subtitle_layout.addWidget(self.subtitle_combo) + + # Add thumbnail save toggle button + self.save_thumbnail_btn = QPushButton('Save Thumbnail') + self.save_thumbnail_btn.setCheckable(True) + self.save_thumbnail_btn.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 10px; + } + QPushButton:checked { + background-color: #ff0000; + border-color: #cc0000; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:checked:hover { + background-color: #cc0000; + } + """) + self.save_thumbnail_btn.clicked.connect(self.toggle_save_thumbnail) + + # Add the button to the subtitle layout + subtitle_layout.addWidget(self.save_thumbnail_btn) + subtitle_layout.addStretch() # Add all info widgets to the video info layout @@ -801,11 +1103,6 @@ class YTSage(QMainWindow): self.cancel_btn.setVisible(False) self.cancel_btn.setStyleSheet(button_style) - self.log_btn = QPushButton('yt-dlp Log') - self.log_btn.setCheckable(True) - self.log_btn.clicked.connect(self.toggle_log_window) - self.log_btn.setStyleSheet(button_style) - self.custom_cmd_btn = QPushButton('Custom Command') self.custom_cmd_btn.clicked.connect(self.show_custom_command) self.custom_cmd_btn.setStyleSheet(button_style) @@ -815,7 +1112,6 @@ class YTSage(QMainWindow): self.update_ytdlp_btn.setStyleSheet(button_style) # Add all buttons to layout - download_layout.addWidget(self.log_btn) download_layout.addWidget(self.custom_cmd_btn) download_layout.addWidget(self.update_ytdlp_btn) download_layout.addWidget(self.path_input) @@ -910,7 +1206,7 @@ class YTSage(QMainWindow): raise Exception("Could not extract basic video information") except Exception as e: print(f"First extraction failed: {str(e)}") - raise Exception("Could not extract video information") + raise Exception("Could not extract video information, please check your link") self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") # Configure options for detailed extraction @@ -1077,9 +1373,10 @@ class YTSage(QMainWindow): def download_thumbnail(self, url): try: + self.thumbnail_url = url # Store the URL for later use response = requests.get(url) - image = Image.open(BytesIO(response.content)) - image = image.resize((320, 180), Image.Resampling.LANCZOS) + self.thumbnail_image = Image.open(BytesIO(response.content)) # Store the image + image = self.thumbnail_image.resize((320, 180), Image.Resampling.LANCZOS) img_byte_arr = BytesIO() image.save(img_byte_arr, format='PNG') img_byte_arr = img_byte_arr.getvalue() @@ -1214,6 +1511,10 @@ class YTSage(QMainWindow): self.download_thread.start() + # Add thumbnail download if enabled + if self.save_thumbnail and hasattr(self, 'thumbnail_url'): + self.download_thumbnail_file(self.thumbnail_url, path) + def download_finished(self): self.download_btn.setEnabled(True) self.pause_btn.setVisible(False) @@ -1243,17 +1544,6 @@ class YTSage(QMainWindow): self.pause_btn.setText('Pause') self.signals.update_status.emit("Download resumed") - def toggle_log_window(self): - if self.log_btn.isChecked(): - if not self.log_window: - self.log_window = LogWindow(self) - self.log_window.show() - self.show_log = True - else: - if self.log_window: - self.log_window.hide() - self.show_log = False - def check_for_updates(self): try: # Get the latest release info from GitHub @@ -1358,55 +1648,30 @@ class YTSage(QMainWindow): self.url_input.setText(clipboard.text()) def update_ytdlp(self): - self.signals.update_status.emit("Updating yt-dlp...") - threading.Thread(target=self._update_ytdlp_thread, daemon=True).start() + dialog = YTDLPUpdateDialog(self) + dialog.exec() - def _update_ytdlp_thread(self): + def toggle_save_thumbnail(self): + self.save_thumbnail = self.save_thumbnail_btn.isChecked() + + def download_thumbnail_file(self, url, path): try: - # Show initial status - self.signals.update_status.emit("Updating yt-dlp (0%)...") + if not hasattr(self, 'thumbnail_image'): + response = requests.get(url) + self.thumbnail_image = Image.open(BytesIO(response.content)) - # Run pip install with output capture - process = subprocess.Popen( - [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - text=True - ) + # Create thumbnails directory if it doesn't exist + thumbnails_path = os.path.join(path, 'thumbnails') + os.makedirs(thumbnails_path, exist_ok=True) - # Track progress through output lines - progress = 0 - progress_steps = ['Collecting', 'Downloading', 'Installing', 'Successfully'] - current_step = 0 + # Save the thumbnail + video_title = self.video_info.get('title', 'thumbnail').replace('/', '_') + thumbnail_path = os.path.join(thumbnails_path, f"{video_title}.jpg") + self.thumbnail_image.save(thumbnail_path) - while True: - line = process.stdout.readline() or process.stderr.readline() - if not line and process.poll() is not None: - break - - line = line.strip() - if line: - # Update progress based on steps - if any(step in line for step in progress_steps[current_step:]): - current_step = next(i for i, step in enumerate(progress_steps) if step in line) - progress = (current_step + 1) * 25 - self.signals.update_status.emit(f"Updating yt-dlp ({progress}%)...") - - # Get the installed version - version_process = subprocess.run( - [sys.executable, "-m", "yt_dlp", "--version"], - capture_output=True, - text=True - ) - version = version_process.stdout.strip() - - self.signals.update_status.emit(f"yt-dlp updated successfully! (Version: {version})") - - except subprocess.CalledProcessError as e: - error_msg = e.stderr.decode() if e.stderr else str(e) - self.signals.update_status.emit(f"Error updating yt-dlp: {error_msg}") + self.signals.update_status.emit(f"Thumbnail saved to {thumbnail_path}") except Exception as e: - self.signals.update_status.emit(f"Error updating yt-dlp: {str(e)}") + self.signals.update_status.emit(f"Error saving thumbnail: {str(e)}") def main(): app = QApplication(sys.argv) From ec334c62139e290ed5a49531728a516f135fed76 Mon Sep 17 00:00:00 2001 From: Muhamed Date: Fri, 21 Feb 2025 19:02:34 +0200 Subject: [PATCH 022/568] v4.0.0 --- main.py | 12 + ytsage_downloader.py | 176 ++ YTSage.py => ytsage_gui.py | 3484 +++++++++++++++++++----------------- ytsage_utils.py | 85 + 4 files changed, 2073 insertions(+), 1684 deletions(-) create mode 100644 main.py create mode 100644 ytsage_downloader.py rename YTSage.py => ytsage_gui.py (72%) create mode 100644 ytsage_utils.py diff --git a/main.py b/main.py new file mode 100644 index 0000000..1dab923 --- /dev/null +++ b/main.py @@ -0,0 +1,12 @@ +import sys +from PySide6.QtWidgets import QApplication +from ytsage_gui import YTSageApp # Import the main application class + +def main(): + app = QApplication(sys.argv) + window = YTSageApp() # Instantiate the main application class + window.show() + sys.exit(app.exec()) + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/ytsage_downloader.py b/ytsage_downloader.py new file mode 100644 index 0000000..960f863 --- /dev/null +++ b/ytsage_downloader.py @@ -0,0 +1,176 @@ +from PySide6.QtCore import QThread, Signal, QObject +import yt_dlp # Keep yt_dlp import here - only downloader uses it. +import time +import os +import re + +class SignalManager(QObject): + update_formats = Signal(list) + update_status = Signal(str) + update_progress = Signal(float) + +class DownloadThread(QThread): + progress_signal = Signal(float) + status_signal = Signal(str) + finished_signal = Signal() + error_signal = Signal(str) + + def __init__(self, url, path, format_id, subtitle_lang=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution=''): + super().__init__() + self.url = url + self.path = path + self.format_id = format_id + self.subtitle_lang = subtitle_lang + self.is_playlist = is_playlist + self.merge_subs = merge_subs + self.enable_sponsorblock = enable_sponsorblock + self.resolution = resolution + self.paused = False + self.cancelled = False + + def cleanup_partial_files(self): + """Delete any partial files including .part and unmerged format-specific files""" + try: + pattern = re.compile(r'\.f\d+\.') # Pattern to match format codes like .f243. + for filename in os.listdir(self.path): + file_path = os.path.join(self.path, filename) + if filename.endswith('.part') or pattern.search(filename): + try: + if os.path.isfile(file_path): + os.remove(file_path) + except Exception as e: + print(f"Error deleting {filename}: {str(e)}") + except Exception as e: + self.error_signal.emit(f"Error cleaning partial files: {str(e)}") + + def run(self): + try: + class DebugLogger: + def debug(self, msg): + # Add detection of post-processing messages + if "Downloading" in msg: + self.thread.status_signal.emit("Downloading...") + elif "Post-process" in msg or "Sponsorblock" in msg: + self.thread.status_signal.emit("Post-processing: Removing sponsor segments...") + self.thread.progress_signal.emit(99) # Keep progress bar at 99% + elif any(x in msg.lower() for x in ['downloading webpage', 'downloading api', 'extracting', 'downloading m3u8']): + self.thread.status_signal.emit("Preparing for download...") + self.thread.progress_signal.emit(0) + + def warning(self, msg): + self.thread.status_signal.emit(f"Warning: {msg}") + + def error(self, msg): + self.thread.status_signal.emit(f"Error: {msg}") + + def __init__(self, thread): + self.thread = thread + + def progress_hook(d): + if self.cancelled: + raise Exception("Download cancelled by user") + + if d['status'] == 'downloading': + while self.paused and not self.cancelled: + time.sleep(0.1) + continue + + try: + downloaded_bytes = d.get('downloaded_bytes', 0) + total_bytes = d.get('total_bytes', 0) or d.get('total_bytes_estimate', 0) + + if total_bytes: + progress = (downloaded_bytes / total_bytes) * 100 + self.progress_signal.emit(progress) + + speed = d.get('speed', 0) + if speed: + speed_str = f"{speed/1024/1024:.1f} MB/s" + else: + speed_str = "N/A" + + eta = d.get('eta', 0) + if eta: + eta_str = f"{eta//60}:{eta%60:02d}" + else: + eta_str = "N/A" + + filename = os.path.basename(d.get('filename', '')) + + status = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" + self.status_signal.emit(status) + + except Exception as e: + self.status_signal.emit("Downloading...") + + elif d['status'] == 'finished': + if self.enable_sponsorblock: + self.progress_signal.emit(99) + self.status_signal.emit("Post-processing: Removing sponsor segments...") + else: + self.progress_signal.emit(100) + self.status_signal.emit("Download completed!") + + # Base yt-dlp options with resolution in filename + output_template = '%(title)s_%(resolution)s.%(ext)s' + if self.is_playlist: + output_template = '%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s' + + ydl_opts = { + 'format': f'{self.format_id}+bestaudio/best', + 'outtmpl': os.path.join(self.path, output_template), + 'progress_hooks': [progress_hook], + 'merge_output_format': 'mkv' if self.merge_subs else 'mp4', + 'logger': DebugLogger(self), + 'postprocessors': [{ + 'key': 'FFmpegVideoConvertor', + 'preferedformat': 'mkv' if self.merge_subs else 'mp4' + }] + } + + # Add subtitle options if selected + if self.subtitle_lang: + lang_code = self.subtitle_lang.split(' - ')[0] + is_auto = 'Auto-generated' in self.subtitle_lang + ydl_opts.update({ + 'writesubtitles': True, + 'subtitleslangs': [lang_code], + 'writeautomaticsub': True, + 'skip_manual_subs': is_auto, + 'skip_auto_subs': not is_auto, + 'embedsubtitles': self.merge_subs, + }) + + # Add SponsorBlock options if enabled + if self.enable_sponsorblock: + ydl_opts['postprocessors'].extend([{ + 'key': 'SponsorBlock', + 'categories': ['sponsor'], + 'api': 'https://sponsor.ajay.app' + }, { + 'key': 'ModifyChapters', + 'remove_sponsor_segments': ['sponsor'], + 'sponsorblock_chapter_title': '[SponsorBlock]', + 'force_keyframes': False + }]) + self.progress_signal.emit(99) + self.status_signal.emit("Post-processing: Removing sponsor segments...") + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([self.url]) + + self.finished_signal.emit() + + # Clean up subtitle files after successful download + if self.merge_subs: + for filename in os.listdir(self.path): + if filename.lower().endswith(('.vtt', '.srt', '.ass')): + try: + os.remove(os.path.join(self.path, filename)) + except Exception as e: + self.error_signal.emit(f"Error deleting subtitle file: {str(e)}") + + except Exception as e: + if str(e) == "Download cancelled by user": + self.cleanup_partial_files() + self.error_signal.emit(str(e)) \ No newline at end of file diff --git a/YTSage.py b/ytsage_gui.py similarity index 72% rename from YTSage.py rename to ytsage_gui.py index b66bba9..238faab 100644 --- a/YTSage.py +++ b/ytsage_gui.py @@ -1,1684 +1,1800 @@ -import sys -import os -import threading -import time -from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, - QHBoxLayout, QLineEdit, QPushButton, QTableWidget, - QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit) -from PySide6.QtCore import Qt, Signal, QObject, QThread -from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap -import yt_dlp -import requests -from io import BytesIO -from PIL import Image -from urllib.request import urlopen -from datetime import datetime -import json -from pathlib import Path -from packaging import version -import subprocess -import webbrowser - -class SignalManager(QObject): - update_formats = Signal(list) - update_status = Signal(str) - update_progress = Signal(float) - -class LogWindow(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('yt-dlp Log') - self.setMinimumSize(700, 500) - - layout = QVBoxLayout(self) - - self.log_text = QTextEdit() - self.log_text.setReadOnly(True) - self.log_text.setStyleSheet(""" - QTextEdit { - background-color: #2b2b2b; - color: #ffffff; - font-family: Consolas, monospace; - font-size: 12px; - border: 2px solid #3d3d3d; - border-radius: 4px; - } - """) - - layout.addWidget(self.log_text) - - def append_log(self, message): - self.log_text.append(message) - # Auto-scroll to bottom - scrollbar = self.log_text.verticalScrollBar() - scrollbar.setValue(scrollbar.maximum()) - -class CustomCommandDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.parent = parent - self.setWindowTitle('Custom yt-dlp Command') - self.setMinimumSize(600, 400) - - layout = QVBoxLayout(self) - - # Help text - help_text = QLabel( - "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" - "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" - "Note: Download path and output template will be preserved." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - layout.addWidget(help_text) - - # Command input - self.command_input = QPlainTextEdit() - self.command_input.setPlaceholderText("Enter yt-dlp arguments...") - self.command_input.setStyleSheet(""" - QPlainTextEdit { - background-color: #363636; - color: #ffffff; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - } - """) - layout.addWidget(self.command_input) - - # Buttons - button_layout = QHBoxLayout() - - self.run_btn = QPushButton("Run Command") - self.run_btn.clicked.connect(self.run_custom_command) - - self.close_btn = QPushButton("Close") - self.close_btn.clicked.connect(self.close) - - button_layout.addWidget(self.run_btn) - button_layout.addWidget(self.close_btn) - layout.addLayout(button_layout) - - # Log output - self.log_output = QTextEdit() - self.log_output.setReadOnly(True) - self.log_output.setStyleSheet(""" - QTextEdit { - background-color: #2b2b2b; - color: #ffffff; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - font-size: 12px; - } - """) - layout.addWidget(self.log_output) - - self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - """) - - def run_custom_command(self): - url = self.parent.url_input.text().strip() - if not url: - self.log_output.append("Error: No URL provided") - return - - command = self.command_input.toPlainText().strip() - path = self.parent.path_input.text().strip() - - self.log_output.clear() - self.log_output.append(f"Running command with URL: {url}") - self.run_btn.setEnabled(False) - - # Start command in thread - threading.Thread(target=self._run_command_thread, - args=(command, url, path), - daemon=True).start() - - def _run_command_thread(self, command, url, path): - try: - class CommandLogger: - def debug(self, msg): - self.dialog.log_output.append(msg) - def warning(self, msg): - self.dialog.log_output.append(f"Warning: {msg}") - def error(self, msg): - self.dialog.log_output.append(f"Error: {msg}") - def __init__(self, dialog): - self.dialog = dialog - - # Split command into arguments - args = command.split() - - # Base options - ydl_opts = { - 'logger': CommandLogger(self), - 'paths': {'home': path}, - 'debug_printout': True, - } - - # Add custom arguments - for i in range(0, len(args), 2): - if i + 1 < len(args): - key = args[i].lstrip('-').replace('-', '_') - value = args[i + 1] - try: - # Try to convert to appropriate type - if value.lower() in ('true', 'false'): - value = value.lower() == 'true' - elif value.isdigit(): - value = int(value) - ydl_opts[key] = value - except: - ydl_opts[key] = value - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([url]) - - self.log_output.append("Command completed successfully") - - except Exception as e: - self.log_output.append(f"Error: {str(e)}") - finally: - self.run_btn.setEnabled(True) - -class FFmpegCheckDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('FFmpeg Required') - self.setMinimumWidth(400) - - layout = QVBoxLayout(self) - - # Message - message_label = QLabel( - "FFmpeg is not installed. Please install it.\n" - "To install FFmpeg, click the button below." - ) - message_label.setWordWrap(True) - layout.addWidget(message_label) - - # Install button - install_btn = QPushButton("Install FFmpeg") - install_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/ffmpeg-install-guide')) - layout.addWidget(install_btn) - - # Close button - close_btn = QPushButton("Close") - close_btn.clicked.connect(self.close) - layout.addWidget(close_btn) - - # Style the dialog - self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - padding: 10px; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - """) - -class DownloadThread(QThread): - progress_signal = Signal(float) - status_signal = Signal(str) - finished_signal = Signal() - error_signal = Signal(str) - - def __init__(self, url, path, format_id, subtitle_lang=None, is_playlist=False): - super().__init__() - self.url = url - self.path = path - self.format_id = format_id - self.subtitle_lang = subtitle_lang - self.is_playlist = is_playlist - self.paused = False - self.cancelled = False - - def run(self): - try: - class DebugLogger: - def debug(self, msg): - if any(x in msg.lower() for x in ['downloading webpage', 'downloading api', 'extracting', 'downloading m3u8']): - self.thread.status_signal.emit("Preparing for download...") - self.thread.progress_signal.emit(0) - - def warning(self, msg): - self.thread.status_signal.emit(f"Warning: {msg}") - - def error(self, msg): - self.thread.status_signal.emit(f"Error: {msg}") - - def __init__(self, thread): - self.thread = thread - - def progress_hook(d): - if self.cancelled: - raise Exception("Download cancelled by user") - - if d['status'] == 'downloading': - while self.paused and not self.cancelled: - time.sleep(0.1) - continue - - try: - downloaded_bytes = int(d.get('downloaded_bytes', 0)) - total_bytes = int(d.get('total_bytes', 1)) - progress = int((downloaded_bytes * 100) // total_bytes) - progress = max(0, min(100, progress)) - - speed = d.get('speed', 0) - eta = d.get('eta', 0) - filename = os.path.basename(d.get('filename', '')) - - if speed: - if speed > 1024 * 1024: - speed_str = f"{speed/(1024*1024):.1f} MiB/s" - else: - speed_str = f"{speed/1024:.1f} KiB/s" - else: - speed_str = "N/A" - - eta_str = f"{eta//60}:{eta%60:02d}" if eta else "N/A" - details_text = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" - - self.status_signal.emit(details_text) - self.progress_signal.emit(progress) - - except Exception as e: - self.status_signal.emit("Downloading...") - - elif d['status'] == 'finished': - self.progress_signal.emit(100) - self.status_signal.emit("Download completed!") - - ydl_opts = { - 'format': self.format_id, - 'outtmpl': os.path.join(self.path, '%(playlist_title)s/%(title)s.%(ext)s' if self.is_playlist else '%(title)s.%(ext)s'), - 'progress_hooks': [progress_hook], - 'merge_output_format': 'mp4', - 'logger': DebugLogger(self), - } - - if self.subtitle_lang: - lang_code = self.subtitle_lang.split(' - ')[0] - is_auto = 'Auto-generated' in self.subtitle_lang - ydl_opts.update({ - 'writesubtitles': True, - 'subtitleslangs': [lang_code], - 'writeautomaticsub': True, - 'skip_manual_subs': is_auto, - 'skip_auto_subs': not is_auto, - }) - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([self.url]) - - self.finished_signal.emit() - - except Exception as e: - self.error_signal.emit(str(e)) - -class YTDLPUpdateDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('Update yt-dlp') - self.setMinimumWidth(400) - - layout = QVBoxLayout(self) - - # Version info and message - self.version_label = QLabel() - self.version_label.setWordWrap(True) - layout.addWidget(self.version_label) - - self.message_label = QLabel( - "Would you like to update yt-dlp to the latest version?\n" - "This will download and install the latest yt-dlp executable." - ) - self.message_label.setWordWrap(True) - layout.addWidget(self.message_label) - - # Progress bar (hidden initially) - self.progress_bar = QProgressBar() - self.progress_bar.setVisible(False) - layout.addWidget(self.progress_bar) - - # Status label - self.status_label = QLabel() - self.status_label.setWordWrap(True) - layout.addWidget(self.status_label) - - # Buttons - button_layout = QHBoxLayout() - - self.update_btn = QPushButton("Update yt-dlp") - self.update_btn.clicked.connect(self.start_update) - self.update_btn.setEnabled(False) # Disabled until version check - - self.close_btn = QPushButton("Close") - self.close_btn.clicked.connect(self.close) - - button_layout.addWidget(self.update_btn) - button_layout.addWidget(self.close_btn) - layout.addLayout(button_layout) - - # Style the dialog - self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - padding: 10px; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - QPushButton:disabled { - background-color: #666666; - } - QProgressBar { - border: 2px solid #3d3d3d; - border-radius: 4px; - text-align: center; - color: white; - } - QProgressBar::chunk { - background-color: #ff0000; - } - """) - - # Check versions when dialog opens - self.check_versions() - - def check_versions(self): - threading.Thread(target=self._check_versions_thread, daemon=True).start() - - def _check_versions_thread(self): - try: - # Get current version with proper path - yt_dlp_path = self.get_yt_dlp_path() - if os.path.exists(yt_dlp_path): - try: - # Use the full path to yt-dlp executable - result = subprocess.run([yt_dlp_path, '--version'], - capture_output=True, - text=True, - timeout=5, - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) - if result.returncode == 0: - current_version = result.stdout.strip() - else: - # Try using pip to get version as fallback - try: - import yt_dlp - current_version = yt_dlp.version.__version__ - except: - current_version = "Not installed" - except (subprocess.SubprocessError, subprocess.TimeoutExpired): - # Try using pip to get version as fallback - try: - import yt_dlp - current_version = yt_dlp.version.__version__ - except: - current_version = "Not installed" - else: - # Try using pip to get version as fallback - try: - import yt_dlp - current_version = yt_dlp.version.__version__ - except: - current_version = "Not installed" - - # Get latest version from GitHub API with timeout - try: - response = requests.get( - "https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest", - timeout=10 - ) - response.raise_for_status() - latest_version = response.json()["tag_name"] - except Exception as e: - raise Exception(f"Could not fetch latest version: {str(e)}") - - self.version_label.setText( - f"Current version: {current_version}\n" - f"Latest version: {latest_version}" - ) - - if current_version == "Not installed" or current_version != latest_version: - self.update_btn.setEnabled(True) - self.message_label.setText("An update is available!") - else: - self.message_label.setText("You have the latest version installed.") - self.update_btn.setEnabled(False) - - except Exception as e: - self.version_label.setText("Could not check versions") - self.message_label.setText(f"Error: {str(e)}") - self.update_btn.setEnabled(True) - - def get_yt_dlp_path(self): - """Get the appropriate yt-dlp path based on platform and deployment method""" - try: - if getattr(sys, 'frozen', False): - if sys.platform == 'darwin': - # For macOS .app bundle - if 'Contents/MacOS' in sys.executable: - # Inside .app bundle - return os.path.join(os.path.dirname(sys.executable), 'yt-dlp') - else: - # Fallback to user's home directory for macOS - base_path = os.path.expanduser('~/Library/Application Support/YTSage') - os.makedirs(base_path, exist_ok=True) - return os.path.join(base_path, 'yt-dlp') - elif sys.platform == 'win32': - # For Windows executable - app_data = os.getenv('APPDATA') - if app_data: - base_path = os.path.join(app_data, 'YTSage') - else: - base_path = os.path.dirname(sys.executable) - os.makedirs(base_path, exist_ok=True) - return os.path.join(base_path, 'yt-dlp.exe') - else: - # For Linux AppImage or binary - if 'APPIMAGE' in os.environ: - # Inside AppImage - xdg_data = os.getenv('XDG_DATA_HOME', os.path.expanduser('~/.local/share')) - base_path = os.path.join(xdg_data, 'YTSage') - else: - base_path = os.path.dirname(sys.executable) - os.makedirs(base_path, exist_ok=True) - return os.path.join(base_path, 'yt-dlp') - else: - # For development/script mode - return os.path.join(os.path.dirname(os.path.abspath(__file__)), - 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') - except Exception as e: - print(f"Error determining yt-dlp path: {e}") - # Fallback to current directory - return os.path.join(os.getcwd(), 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') - - def start_update(self): - self.update_btn.setEnabled(False) - self.progress_bar.setVisible(True) - self.status_label.setText("Starting update...") - - # Start update in a separate thread - threading.Thread(target=self._update_thread, daemon=True).start() - - def _update_thread(self): - temp_path = None - try: - # Create necessary directories - target_path = self.get_yt_dlp_path() - os.makedirs(os.path.dirname(target_path), exist_ok=True) - - # Determine platform and get URLs - if sys.platform == 'win32': - url = 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe' - else: - url = 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp' - - temp_path = target_path + '.download' - - # Download with proper error handling - try: - response = requests.get(url, stream=True, timeout=30) - response.raise_for_status() - total_size = int(response.headers.get('content-length', 0)) - block_size = 8192 # Increased for better performance - - with open(temp_path, 'wb') as f: - for data in response.iter_content(block_size): - if data: # Filter out keep-alive chunks - f.write(data) - progress = int((f.tell() * 100) / total_size) if total_size > 0 else 0 - self.progress_bar.setValue(progress) - self.status_label.setText(f"Downloading: {progress}%") - except requests.exceptions.RequestException as e: - raise Exception(f"Download failed: {str(e)}") - - # Set proper permissions - if sys.platform != 'win32': - try: - os.chmod(temp_path, 0o755) - except Exception as e: - print(f"Warning: Could not set executable permissions: {e}") - - # Handle file replacement - try: - if os.path.exists(target_path): - if sys.platform == 'win32': - # Windows-specific file replacement - import ctypes - if not ctypes.windll.kernel32.MoveFileExW(target_path, None, 4): # MOVEFILE_DELAY_UNTIL_REBOOT - os.remove(target_path) - else: - os.remove(target_path) - except PermissionError: - raise Exception("Cannot update while yt-dlp is in use. Please close any active downloads and try again.") - except Exception as e: - raise Exception(f"Error removing existing file: {str(e)}") - - # Move temporary file to final location - try: - os.rename(temp_path, target_path) - except Exception as e: - raise Exception(f"Error moving new file into place: {str(e)}") - - self.status_label.setText("yt-dlp updated successfully!") - self.close_btn.setText("Done") - - # Refresh version info - self.check_versions() - - except Exception as e: - self.status_label.setText(f"Error updating yt-dlp: {str(e)}") - finally: - # Clean up temp file if it exists - if temp_path and os.path.exists(temp_path): - try: - os.remove(temp_path) - except: - pass - self.update_btn.setEnabled(True) - -class YTSage(QMainWindow): - def __init__(self): - super().__init__() - # Check for FFmpeg before proceeding - if not self.check_ffmpeg(): - self.show_ffmpeg_dialog() - - self.version = "3.5.0" - self.check_for_updates() # Check for updates on startup - self.config_file = Path.home() / '.ytsage_config.json' - self.load_saved_path() - self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) - self.signals = SignalManager() - self.download_paused = False - self.current_download = None - self.download_cancelled = False - self.save_thumbnail = False - self.init_ui() - self.setStyleSheet(""" - QMainWindow { - background-color: #2b2b2b; - } - QWidget { - background-color: #2b2b2b; - color: #ffffff; - } - QLineEdit { - padding: 8px; - border: 2px solid #3d3d3d; - border-radius: 4px; - background-color: #363636; - color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; /* YouTube red */ - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; /* Darker red on hover */ - } - QPushButton:pressed { - background-color: #990000; /* Even darker red when pressed */ - } - QTableWidget { - border: 2px solid #3d3d3d; - border-radius: 4px; - background-color: #363636; - gridline-color: #3d3d3d; - } - QHeaderView::section { - background-color: #2b2b2b; - padding: 5px; - border: 1px solid #3d3d3d; - color: #ffffff; - } - QProgressBar { - border: 2px solid #3d3d3d; - border-radius: 4px; - text-align: center; - color: white; - } - QProgressBar::chunk { - background-color: #ff0000; /* YouTube red */ - border-radius: 2px; - } - QLabel { - color: #ffffff; - } - /* Style for filter buttons */ - QPushButton.filter-btn { - background-color: #363636; - padding: 5px 10px; - margin: 0 5px; - } - QPushButton.filter-btn:checked { - background-color: #ff0000; - } - QPushButton.filter-btn:hover { - background-color: #444444; - } - QPushButton.filter-btn:checked:hover { - background-color: #cc0000; - } - /* Modern Scrollbar Styling */ - QScrollBar:vertical { - border: none; - background: #2b2b2b; - width: 14px; - margin: 15px 0 15px 0; - border-radius: 7px; - } - QScrollBar::handle:vertical { - background: #404040; - min-height: 30px; - border-radius: 7px; - } - QScrollBar::handle:vertical:hover { - background: #505050; - } - QScrollBar::sub-line:vertical { - border: none; - background: #2b2b2b; - height: 15px; - border-top-left-radius: 7px; - border-top-right-radius: 7px; - subcontrol-position: top; - subcontrol-origin: margin; - } - QScrollBar::add-line:vertical { - border: none; - background: #2b2b2b; - height: 15px; - border-bottom-left-radius: 7px; - border-bottom-right-radius: 7px; - subcontrol-position: bottom; - subcontrol-origin: margin; - } - QScrollBar::sub-line:vertical:hover, - QScrollBar::add-line:vertical:hover { - background: #404040; - } - QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; - width: 0; - height: 0; - } - QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; - } - /* Horizontal Scrollbar */ - QScrollBar:horizontal { - border: none; - background: #2b2b2b; - height: 14px; - margin: 0 15px 0 15px; - border-radius: 7px; - } - QScrollBar::handle:horizontal { - background: #404040; - min-width: 30px; - border-radius: 7px; - } - QScrollBar::handle:horizontal:hover { - background: #505050; - } - QScrollBar::sub-line:horizontal { - border: none; - background: #2b2b2b; - width: 15px; - border-top-left-radius: 7px; - border-bottom-left-radius: 7px; - subcontrol-position: left; - subcontrol-origin: margin; - } - QScrollBar::add-line:horizontal { - border: none; - background: #2b2b2b; - width: 15px; - border-top-right-radius: 7px; - border-bottom-right-radius: 7px; - subcontrol-position: right; - subcontrol-origin: margin; - } - QScrollBar::sub-line:horizontal:hover, - QScrollBar::add-line:horizontal:hover { - background: #404040; - } - QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; - width: 0; - height: 0; - } - QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; - } - """) - self.signals.update_progress.connect(self.update_progress_bar) - - def load_saved_path(self): - try: - if self.config_file.exists(): - with open(self.config_file, 'r') as f: - config = json.load(f) - saved_path = config.get('download_path', '') - if os.path.exists(saved_path): - self.last_path = saved_path - else: - self.last_path = str(Path.home() / 'Downloads') - else: - self.last_path = str(Path.home() / 'Downloads') - except Exception as e: - print(f"Error loading saved settings: {e}") - self.last_path = str(Path.home() / 'Downloads') - - def save_path(self, path): - try: - config = { - 'download_path': path - } - with open(self.config_file, 'w') as f: - json.dump(config, f) - except Exception as e: - print(f"Error saving settings: {e}") - - def init_ui(self): - self.setWindowTitle('YTSage v3.5.0') - self.setMinimumSize(900, 600) - - # Main widget and layout - main_widget = QWidget() - self.setCentralWidget(main_widget) - layout = QVBoxLayout(main_widget) - layout.setSpacing(10) - layout.setContentsMargins(20, 20, 20, 20) - - # URL input section - url_layout = QHBoxLayout() - self.url_input = QLineEdit() - self.url_input.setPlaceholderText('Enter YouTube URL...') - - # Add Paste URL button - self.paste_btn = QPushButton('Paste URL') - self.paste_btn.clicked.connect(self.paste_url) - - self.analyze_btn = QPushButton('Analyze') - self.analyze_btn.clicked.connect(self.analyze_url) - - url_layout.addWidget(self.url_input) - url_layout.addWidget(self.paste_btn) - url_layout.addWidget(self.analyze_btn) - layout.addLayout(url_layout) - - # Create a horizontal layout for thumbnail and video info - media_info_layout = QHBoxLayout() - - # Thumbnail on the left - self.thumbnail_label = QLabel() - self.thumbnail_label.setFixedSize(320, 180) - self.thumbnail_label.setStyleSheet("border: 2px solid #3d3d3d; border-radius: 4px;") - self.thumbnail_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - media_info_layout.addWidget(self.thumbnail_label) - - # Video information on the right - video_info_layout = QVBoxLayout() - self.title_label = QLabel() - self.title_label.setWordWrap(True) - self.title_label.setStyleSheet("font-size: 14px; font-weight: bold;") - - self.channel_label = QLabel() - self.views_label = QLabel() - self.date_label = QLabel() - self.duration_label = QLabel() - - # Style the info labels - for label in [self.channel_label, self.views_label, self.date_label, self.duration_label]: - label.setStyleSheet(""" - QLabel { - color: #cccccc; - font-size: 12px; - padding: 2px 0; - } - """) - - # Subtitle section with improved styling - subtitle_layout = QHBoxLayout() - self.subtitle_check = QPushButton("Download Subtitles") - self.subtitle_check.setCheckable(True) - self.subtitle_check.clicked.connect(self.toggle_subtitle_list) - self.subtitle_check.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 10px; - } - QPushButton:checked { - background-color: #ff0000; - border-color: #cc0000; - } - """) - subtitle_layout.addWidget(self.subtitle_check) - - self.subtitle_combo = QComboBox() - self.subtitle_combo.setVisible(False) - self.subtitle_combo.setStyleSheet(""" - QComboBox { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - min-width: 200px; - } - QComboBox::drop-down { - border: none; - } - QComboBox::down-arrow { - image: url(down_arrow.png); - width: 12px; - height: 12px; - } - QComboBox QAbstractItemView { - background-color: #363636; - selection-background-color: #ff0000; - selection-color: white; - } - """) - subtitle_layout.addWidget(self.subtitle_combo) - - # Add thumbnail save toggle button - self.save_thumbnail_btn = QPushButton('Save Thumbnail') - self.save_thumbnail_btn.setCheckable(True) - self.save_thumbnail_btn.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 10px; - } - QPushButton:checked { - background-color: #ff0000; - border-color: #cc0000; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:checked:hover { - background-color: #cc0000; - } - """) - self.save_thumbnail_btn.clicked.connect(self.toggle_save_thumbnail) - - # Add the button to the subtitle layout - subtitle_layout.addWidget(self.save_thumbnail_btn) - - subtitle_layout.addStretch() - - # Add all info widgets to the video info layout - video_info_layout.addWidget(self.title_label) - video_info_layout.addWidget(self.channel_label) - video_info_layout.addWidget(self.views_label) - video_info_layout.addWidget(self.date_label) - video_info_layout.addWidget(self.duration_label) - video_info_layout.addLayout(subtitle_layout) - video_info_layout.addStretch() - - media_info_layout.addLayout(video_info_layout) - layout.addLayout(media_info_layout) - - # Add playlist information section with improved styling - self.playlist_info_label = QLabel() - self.playlist_info_label.setVisible(False) - self.playlist_info_label.setStyleSheet(""" - QLabel { - font-size: 12px; - color: #ff9900; - padding: 5px; - background-color: #363636; - border-radius: 4px; - } - """) - layout.addWidget(self.playlist_info_label) - - # Format filter buttons with improved styling - filter_layout = QHBoxLayout() - self.filter_label = QLabel("Show formats:") - self.filter_label.setStyleSheet("color: #cccccc; font-size: 12px;") - filter_layout.addWidget(self.filter_label) - - # Style for filter buttons - filter_btn_style = """ - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 15px; - color: #cccccc; - } - QPushButton:checked { - background-color: #ff0000; - border-color: #cc0000; - color: white; - } - QPushButton:hover { - background-color: #444444; - } - """ - - self.video_btn = QPushButton("Video") - self.video_btn.setCheckable(True) - self.video_btn.setChecked(True) - self.video_btn.clicked.connect(self.filter_formats) - self.video_btn.setStyleSheet(filter_btn_style) - - self.audio_btn = QPushButton("Audio Only") - self.audio_btn.setCheckable(True) - self.audio_btn.clicked.connect(self.filter_formats) - self.audio_btn.setStyleSheet(filter_btn_style) - - filter_layout.addWidget(self.video_btn) - filter_layout.addWidget(self.audio_btn) - filter_layout.addStretch() - layout.addLayout(filter_layout) - - # Format table with improved styling - self.format_table = QTableWidget() - self.format_table.setColumnCount(6) - self.format_table.setHorizontalHeaderLabels(['Format ID', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio']) - self.format_table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) - self.format_table.setStyleSheet(""" - QTableWidget { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - gridline-color: #3d3d3d; - } - QTableWidget::item { - padding: 5px; - } - QTableWidget::item:selected { - background-color: #ff0000; - } - QHeaderView::section { - background-color: #2b2b2b; - padding: 5px; - border: 1px solid #3d3d3d; - font-weight: bold; - } - """) - layout.addWidget(self.format_table) - - # Download section with improved styling - download_layout = QHBoxLayout() - self.path_input = QLineEdit() - self.path_input.setPlaceholderText('Download path...') - self.path_input.setText(self.last_path) - - # Style all buttons consistently - button_style = """ - QPushButton { - background-color: #ff0000; - border: none; - border-radius: 4px; - padding: 8px 15px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - QPushButton:pressed { - background-color: #990000; - } - QPushButton:disabled { - background-color: #666666; - } - """ - - self.browse_btn = QPushButton('Browse') - self.browse_btn.clicked.connect(self.browse_path) - self.browse_btn.setStyleSheet(button_style) - - self.download_btn = QPushButton('Download') - self.download_btn.clicked.connect(self.start_download) - self.download_btn.setStyleSheet(button_style) - - self.pause_btn = QPushButton('Pause') - self.pause_btn.clicked.connect(self.toggle_pause) - self.pause_btn.setVisible(False) - self.pause_btn.setStyleSheet(button_style) - - self.cancel_btn = QPushButton('Cancel') - self.cancel_btn.clicked.connect(self.cancel_download) - self.cancel_btn.setVisible(False) - self.cancel_btn.setStyleSheet(button_style) - - self.custom_cmd_btn = QPushButton('Custom Command') - self.custom_cmd_btn.clicked.connect(self.show_custom_command) - self.custom_cmd_btn.setStyleSheet(button_style) - - self.update_ytdlp_btn = QPushButton('Update yt-dlp') - self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) - self.update_ytdlp_btn.setStyleSheet(button_style) - - # Add all buttons to layout - download_layout.addWidget(self.custom_cmd_btn) - download_layout.addWidget(self.update_ytdlp_btn) - download_layout.addWidget(self.path_input) - download_layout.addWidget(self.browse_btn) - download_layout.addWidget(self.download_btn) - download_layout.addWidget(self.pause_btn) - download_layout.addWidget(self.cancel_btn) - layout.addLayout(download_layout) - - # Progress section with improved styling - progress_layout = QVBoxLayout() - self.progress_bar = QProgressBar() - self.progress_bar.setStyleSheet(""" - QProgressBar { - border: 2px solid #3d3d3d; - border-radius: 4px; - text-align: center; - color: white; - background-color: #363636; - height: 25px; - } - QProgressBar::chunk { - background-color: #ff0000; - border-radius: 2px; - } - """) - progress_layout.addWidget(self.progress_bar) - - # Add download details label with improved styling - self.download_details_label = QLabel() - self.download_details_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.download_details_label.setStyleSheet(""" - QLabel { - color: #cccccc; - font-size: 12px; - padding: 5px; - } - """) - progress_layout.addWidget(self.download_details_label) - - self.status_label = QLabel('Ready') - self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.status_label.setStyleSheet(""" - QLabel { - color: #cccccc; - font-size: 12px; - padding: 5px; - } - """) - progress_layout.addWidget(self.status_label) - - layout.addLayout(progress_layout) - - # Connect signals - self.signals.update_formats.connect(self.update_format_table) - self.signals.update_status.connect(self.status_label.setText) - self.signals.update_progress.connect(self.update_progress_bar) - - def analyze_url(self): - url = self.url_input.text().strip() - if not url: - self.signals.update_status.emit("Invalid URL or please enter a URL.") - return - - self.signals.update_status.emit("Analyzing (0%)... Preparing request") - threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() - - def _analyze_url_thread(self, url): - try: - self.signals.update_status.emit("Analyzing (20%)... Extracting basic info") - - # Clean up the URL to handle both playlist and video URLs - if 'list=' in url and 'watch?v=' in url: - playlist_id = url.split('list=')[1].split('&')[0] - url = f'https://www.youtube.com/playlist?list={playlist_id}' - - # Initial extraction with basic options - ydl_opts = { - 'quiet': False, - 'no_warnings': False, - 'extract_flat': True, - 'force_generic_extractor': False, - 'ignoreerrors': True, - 'no_color': True, - 'verbose': True - } - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - try: - basic_info = ydl.extract_info(url, download=False) - if not basic_info: - raise Exception("Could not extract basic video information") - except Exception as e: - print(f"First extraction failed: {str(e)}") - raise Exception("Could not extract video information, please check your link") - - self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") - # Configure options for detailed extraction - ydl_opts.update({ - 'extract_flat': False, - 'format': None, - 'writesubtitles': True, - 'allsubtitles': True, - 'writeautomaticsub': True, - 'playliststart': 1, - 'playlistend': 1, - 'youtube_include_dash_manifest': True, - 'youtube_include_hls_manifest': True - }) - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - try: - self.signals.update_status.emit("Analyzing (60%)... Processing video data") - if basic_info.get('_type') == 'playlist': - self.is_playlist = True - self.playlist_info = basic_info - - # Get the first video URL from the playlist - first_video = None - for entry in basic_info['entries']: - if entry: - first_video = entry - break - - if not first_video: - raise Exception("No valid videos found in playlist") - - # Get the video URL - video_url = first_video.get('url') or first_video.get('webpage_url') - if not video_url: - raise Exception("Could not extract video URL from playlist") - - # Extract detailed information for the first video - self.video_info = ydl.extract_info(video_url, download=False) - - # Update playlist info - playlist_text = f"Playlist: {basic_info.get('title', 'Unknown')} | {len(basic_info['entries'])} videos" - self.playlist_info_label.setText(playlist_text) - self.playlist_info_label.setVisible(True) - else: - self.is_playlist = False - self.video_info = ydl.extract_info(url, download=False) - self.playlist_info_label.setVisible(False) - - # Verify we have format information - if not self.video_info or 'formats' not in self.video_info: - print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") - raise Exception("No format information available") - - self.signals.update_status.emit("Analyzing (80%)... Processing formats") - self.all_formats = self.video_info['formats'] - - # Update UI - self.update_video_info(self.video_info) - - # Update thumbnail - self.signals.update_status.emit("Analyzing (90%)... Loading thumbnail") - thumbnail_url = self.video_info.get('thumbnail') - if thumbnail_url: - self.download_thumbnail(thumbnail_url) - - # Update subtitles - self.signals.update_status.emit("Analyzing (95%)... Processing subtitles") - self.available_subtitles = self.video_info.get('subtitles', {}) - self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) - self.update_subtitle_list() - - # Update format table - self.signals.update_status.emit("Analyzing (98%)... Updating format table") - self.video_btn.setChecked(True) - self.audio_btn.setChecked(False) - self.filter_formats() - - self.signals.update_status.emit("Analysis complete!") - - except Exception as e: - print(f"Detailed extraction failed: {str(e)}") - raise Exception(f"Failed to extract video details: {str(e)}") - - except Exception as e: - error_message = str(e) - print(f"Error in analysis: {error_message}") - self.signals.update_status.emit(f"Error: {error_message}") - - def update_video_info(self, info): - # Format view count with commas - views = int(info.get('view_count', 0)) - formatted_views = f"{views:,}" - - # Format upload date - upload_date = info.get('upload_date', '') - if upload_date: - date_obj = datetime.strptime(upload_date, '%Y%m%d') - formatted_date = date_obj.strftime('%B %d, %Y') - else: - formatted_date = 'Unknown date' - - # Format duration - duration = info.get('duration', 0) - minutes = duration // 60 - seconds = duration % 60 - duration_str = f"{minutes}:{seconds:02d}" - - # Update labels - self.title_label.setText(info.get('title', 'Unknown title')) - self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") - self.views_label.setText(f"Views: {formatted_views}") - self.date_label.setText(f"Upload date: {formatted_date}") - self.duration_label.setText(f"Duration: {duration_str}") - - def toggle_subtitle_list(self): - self.subtitle_combo.setVisible(self.subtitle_check.isChecked()) - - def update_subtitle_list(self): - self.subtitle_combo.clear() - - if not (self.available_subtitles or self.available_automatic_subtitles): - self.subtitle_combo.addItem("No subtitles available") - return - - # Create a new horizontal layout for subtitle controls if it doesn't exist - if not hasattr(self, 'subtitle_filter_input'): - # Find the parent layout containing the subtitle controls - for i in range(self.centralWidget().layout().count()): - item = self.centralWidget().layout().itemAt(i) - if isinstance(item, QHBoxLayout) and self.subtitle_check in item.parent().findChildren(QPushButton): - # Create and add filter components - self.subtitle_filter_input = QLineEdit() - self.subtitle_filter_input.setPlaceholderText("Filter languages (e.g., en, es)") - self.subtitle_filter_input.setText(self.subtitle_filter) - self.subtitle_filter_input.setMaximumWidth(200) # Limit width - self.subtitle_filter_input.textChanged.connect(self.filter_subtitles) - - # Add the filter input before the combo box - layout_index = item.indexOf(self.subtitle_combo) - item.insertWidget(layout_index, QLabel("Filter:")) - item.insertWidget(layout_index + 1, self.subtitle_filter_input) - break - - # Add subtitle options - self.subtitle_combo.addItem("Select subtitle language") - - # Filter and add subtitles - filter_text = self.subtitle_filter_input.text().lower() if hasattr(self, 'subtitle_filter_input') else "" - - # Add manual subtitles - for lang_code, subtitle_info in self.available_subtitles.items(): - if not filter_text or filter_text in lang_code.lower(): - self.subtitle_combo.addItem(f"{lang_code} - Manual") - - # Add auto-generated subtitles - for lang_code, subtitle_info in self.available_automatic_subtitles.items(): - if not filter_text or filter_text in lang_code.lower(): - self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") - - def filter_subtitles(self): - # Just filter without saving - self.update_subtitle_list() - - def download_thumbnail(self, url): - try: - self.thumbnail_url = url # Store the URL for later use - response = requests.get(url) - self.thumbnail_image = Image.open(BytesIO(response.content)) # Store the image - image = self.thumbnail_image.resize((320, 180), Image.Resampling.LANCZOS) - img_byte_arr = BytesIO() - image.save(img_byte_arr, format='PNG') - img_byte_arr = img_byte_arr.getvalue() - - pixmap = QPixmap() - pixmap.loadFromData(img_byte_arr) - self.thumbnail_label.setPixmap(pixmap) - except Exception as e: - print(f"Error loading thumbnail: {str(e)}") - - def filter_formats(self): - # Clear current table - self.format_table.setRowCount(0) - - # Determine which formats to show - filtered_formats = [] - - if self.video_btn.isChecked(): - # Include all video formats (both with and without audio) - filtered_formats.extend([f for f in self.all_formats - if f.get('vcodec') != 'none' - and f.get('filesize') is not None]) - - if self.audio_btn.isChecked(): - # Add audio-only formats - filtered_formats.extend([f for f in self.all_formats - if (f.get('vcodec') == 'none' - or 'audio only' in f.get('format_note', '').lower()) - and f.get('acodec') != 'none' - and f.get('filesize') is not None]) - - # Sort formats by quality - def get_quality(f): - if f.get('vcodec') != 'none': - # Extract height from resolution (e.g., "1920x1080" -> 1080) - res = f.get('resolution', '0x0').split('x')[-1] - try: - return int(res) - except ValueError: - return 0 - else: - return f.get('abr', 0) - - filtered_formats.sort(key=get_quality, reverse=True) - - # Update table with filtered formats - self.update_format_table(filtered_formats) - - def update_format_table(self, formats): - self.format_table.setRowCount(0) - for f in formats: - row = self.format_table.rowCount() - self.format_table.insertRow(row) - - # Format ID - self.format_table.setItem(row, 0, QTableWidgetItem(str(f.get('format_id', '')))) - - # Extension - self.format_table.setItem(row, 1, QTableWidgetItem(f.get('ext', ''))) - - # Resolution - resolution = f.get('resolution', 'N/A') - if f.get('vcodec') == 'none': - resolution = 'Audio only' - self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) - - # File Size - filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" - self.format_table.setItem(row, 3, QTableWidgetItem(filesize)) - - # Codec - if f.get('vcodec') == 'none': - codec = f.get('acodec', 'N/A') - else: - codec = f"{f.get('vcodec', 'N/A')}" - if f.get('acodec') != 'none': - codec += f" / {f.get('acodec', 'N/A')}" - self.format_table.setItem(row, 4, QTableWidgetItem(codec)) - - # Audio Status - needs_audio = f.get('acodec') == 'none' - audio_status = "Will merge audio" if needs_audio else "✓ Has Audio" - audio_item = QTableWidgetItem(audio_status) - if needs_audio: - audio_item.setForeground(QColor('#ffa500')) # Orange for merge indication - self.format_table.setItem(row, 5, audio_item) - - def browse_path(self): - path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.last_path) - if path: - self.path_input.setText(path) - self.save_path(path) - self.last_path = path - - def start_download(self): - url = self.url_input.text() - path = self.path_input.text().strip() - - # Path validation - if not path: - self.signals.update_status.emit("Invalid path or please enter a path.") - return - - selected_items = self.format_table.selectedItems() - if not selected_items: - self.signals.update_status.emit("Please select a format") - return - - format_id = self.format_table.item(selected_items[0].row(), 0).text() - - # If it's a video format, also download the best audio - selected_format = next((f for f in self.all_formats if str(f.get('format_id')) == format_id), None) - if selected_format and selected_format.get('acodec') == 'none': - format_id = f"{format_id}+bestaudio" - - # Check if subtitles should be downloaded - download_subs = self.subtitle_check.isChecked() - selected_sub = self.subtitle_combo.currentText().split(' - ')[0] if download_subs else None - - self.download_paused = False - self.download_cancelled = False - self.pause_btn.setText('Pause') - self.download_btn.setEnabled(False) - self.pause_btn.setVisible(True) - self.cancel_btn.setVisible(True) - - self.download_thread = DownloadThread(url, path, format_id, selected_sub, self.is_playlist) - self.download_thread.progress_signal.connect(self.update_progress_bar) - self.download_thread.status_signal.connect(self.signals.update_status.emit) - self.download_thread.finished_signal.connect(self.download_finished) - self.download_thread.error_signal.connect(self.download_error) - - self.download_thread.start() - - # Add thumbnail download if enabled - if self.save_thumbnail and hasattr(self, 'thumbnail_url'): - self.download_thumbnail_file(self.thumbnail_url, path) - - def download_finished(self): - self.download_btn.setEnabled(True) - self.pause_btn.setVisible(False) - self.cancel_btn.setVisible(False) - - def download_error(self, error_message): - self.signals.update_status.emit(f"Error: {error_message}") - self.download_btn.setEnabled(True) - self.pause_btn.setVisible(False) - self.cancel_btn.setVisible(False) - - def update_progress_bar(self, value): - try: - # Ensure the value is an integer - int_value = int(value) - self.progress_bar.setValue(int_value) - except Exception as e: - print(f"Progress bar update error: {str(e)}") - - def toggle_pause(self): - if self.download_thread: - self.download_thread.paused = not self.download_thread.paused - if self.download_thread.paused: - self.pause_btn.setText('Resume') - self.signals.update_status.emit("Download paused") - else: - self.pause_btn.setText('Pause') - self.signals.update_status.emit("Download resumed") - - def check_for_updates(self): - try: - # Get the latest release info from GitHub - response = requests.get( - "https://api.github.com/repos/oop7/YTSage/releases/latest", - headers={"Accept": "application/vnd.github.v3+json"} - ) - response.raise_for_status() - - latest_release = response.json() - latest_version = latest_release["tag_name"].lstrip('v') - - # Compare versions - if version.parse(latest_version) > version.parse(self.version): - self.show_update_dialog(latest_version, latest_release["html_url"]) - except Exception as e: - print(f"Failed to check for updates: {str(e)}") - - def show_update_dialog(self, latest_version, release_url): - msg = QDialog(self) - msg.setWindowTitle("Update Available") - msg.setMinimumWidth(400) - - layout = QVBoxLayout(msg) - - # Update message - message_label = QLabel( - f"A new version of YTSage is available!\n\n" - f"Current version: {self.version}\n" - f"Latest version: {latest_version}" - ) - message_label.setWordWrap(True) - layout.addWidget(message_label) - - # Buttons - button_layout = QHBoxLayout() - - download_btn = QPushButton("Download Update") - download_btn.clicked.connect(lambda: self.open_release_page(release_url)) - - remind_btn = QPushButton("Remind Me Later") - remind_btn.clicked.connect(msg.close) - - button_layout.addWidget(download_btn) - button_layout.addWidget(remind_btn) - layout.addLayout(button_layout) - - # Style the dialog - msg.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - padding: 10px; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - """) - - msg.show() - - def open_release_page(self, url): - import webbrowser - webbrowser.open(url) - - def show_custom_command(self): - dialog = CustomCommandDialog(self) - dialog.exec() - - def cancel_download(self): - if self.download_thread: - self.download_thread.cancelled = True - self.signals.update_status.emit("Cancelling download...") - - def check_ffmpeg(self): - try: - subprocess.run(['ffmpeg', '-version'], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - check=True) - return True - except (subprocess.SubprocessError, FileNotFoundError): - return False - - def show_ffmpeg_dialog(self): - dialog = FFmpegCheckDialog(self) - dialog.exec() - - def paste_url(self): - clipboard = QApplication.clipboard() - self.url_input.setText(clipboard.text()) - - def update_ytdlp(self): - dialog = YTDLPUpdateDialog(self) - dialog.exec() - - def toggle_save_thumbnail(self): - self.save_thumbnail = self.save_thumbnail_btn.isChecked() - - def download_thumbnail_file(self, url, path): - try: - if not hasattr(self, 'thumbnail_image'): - response = requests.get(url) - self.thumbnail_image = Image.open(BytesIO(response.content)) - - # Create thumbnails directory if it doesn't exist - thumbnails_path = os.path.join(path, 'thumbnails') - os.makedirs(thumbnails_path, exist_ok=True) - - # Save the thumbnail - video_title = self.video_info.get('title', 'thumbnail').replace('/', '_') - thumbnail_path = os.path.join(thumbnails_path, f"{video_title}.jpg") - self.thumbnail_image.save(thumbnail_path) - - self.signals.update_status.emit(f"Thumbnail saved to {thumbnail_path}") - except Exception as e: - self.signals.update_status.emit(f"Error saving thumbnail: {str(e)}") - -def main(): - app = QApplication(sys.argv) - app.setStyle(QStyleFactory.create('Fusion')) - window = YTSage() - window.show() - sys.exit(app.exec()) - -if __name__ == '__main__': - main() \ No newline at end of file +import sys +import os +import webbrowser +from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QHBoxLayout, QLineEdit, QPushButton, QTableWidget, + QTableWidgetItem, QProgressBar, QLabel, QFileDialog, + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup) +from PySide6.QtCore import Qt, Signal, QObject, QThread +from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap +import requests +from io import BytesIO +from PIL import Image +from datetime import datetime +import json +from pathlib import Path +from packaging import version +import subprocess +import re +import yt_dlp # Add this line + +from ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes +from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions + + +class LogWindow(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('yt-dlp Log') + self.setMinimumSize(700, 500) + + layout = QVBoxLayout(self) + + self.log_text = QTextEdit() + self.log_text.setReadOnly(True) + self.log_text.setStyleSheet(""" + QTextEdit { + background-color: #2b2b2b; + color: #ffffff; + font-family: Consolas, monospace; + font-size: 12px; + border: 2px solid #3d3d3d; + border-radius: 4px; + } + """) + + layout.addWidget(self.log_text) + + def append_log(self, message): + self.log_text.append(message) + # Auto-scroll to bottom + scrollbar = self.log_text.verticalScrollBar() + scrollbar.setValue(scrollbar.maximum()) + +class CustomCommandDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent + self.setWindowTitle('Custom yt-dlp Command') + self.setMinimumSize(600, 400) + + layout = QVBoxLayout(self) + + # Help text + help_text = QLabel( + "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" + "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" + "Note: Download path and output template will be preserved." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # Command input + self.command_input = QPlainTextEdit() + self.command_input.setPlaceholderText("Enter yt-dlp arguments...") + self.command_input.setStyleSheet(""" + QPlainTextEdit { + background-color: #363636; + color: #ffffff; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + } + """) + layout.addWidget(self.command_input) + + # Add SponsorBlock checkbox + self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") + self.sponsorblock_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; /* Make indicator round */ + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; /* Make indicator round */ + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; /* Make indicator round */ + } + """) + layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) + + # Buttons + button_layout = QHBoxLayout() + + self.run_btn = QPushButton("Run Command") + self.run_btn.clicked.connect(self.run_custom_command) + + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + + button_layout.addWidget(self.run_btn) + button_layout.addWidget(self.close_btn) + layout.addLayout(button_layout) + + # Log output + self.log_output = QTextEdit() + self.log_output.setReadOnly(True) + self.log_output.setStyleSheet(""" + QTextEdit { + background-color: #2b2b2b; + color: #ffffff; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + font-size: 12px; + } + """) + layout.addWidget(self.log_output) + + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + def run_custom_command(self): + url = self.parent.url_input.text().strip() + if not url: + self.log_output.append("Error: No URL provided") + return + + command = self.command_input.toPlainText().strip() + path = self.parent.path_input.text().strip() + + self.log_output.clear() + self.log_output.append(f"Running command with URL: {url}") + self.run_btn.setEnabled(False) + + # Start command in thread + import threading + threading.Thread(target=self._run_command_thread, + args=(command, url, path), + daemon=True).start() + + def _run_command_thread(self, command, url, path): + try: + class CommandLogger: + def debug(self, msg): + self.dialog.log_output.append(msg) + def warning(self, msg): + self.dialog.log_output.append(f"Warning: {msg}") + def error(self, msg): + self.dialog.log_output.append(f"Error: {msg}") + def __init__(self, dialog): + self.dialog = dialog + + # Split command into arguments + args = command.split() + + # Base options + ydl_opts = { + 'logger': CommandLogger(self), + 'paths': {'home': path}, + 'debug_printout': True, + 'postprocessors': [] + } + + # Add SponsorBlock options if enabled + if self.sponsorblock_checkbox.isChecked(): + ydl_opts['postprocessors'].extend([{ + 'key': 'SponsorBlock', + 'categories': ['sponsor', 'selfpromo', 'interaction'], + 'api': 'https://sponsor.ajay.app' + }, { + 'key': 'ModifyChapters', + 'remove_sponsor_segments': ['sponsor', 'selfpromo', 'interaction'], + 'sponsorblock_chapter_title': '[SponsorBlock]: %(category_names)l', + 'force_keyframes': True + }]) + + # Add custom arguments + for i in range(0, len(args), 2): + if i + 1 < len(args): + key = args[i].lstrip('-').replace('-', '_') + value = args[i + 1] + try: + # Try to convert to appropriate type + if value.lower() in ('true', 'false'): + value = value.lower() == 'true' + elif value.isdigit(): + value = int(value) + ydl_opts[key] = value + except: + ydl_opts[key] = value + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([url]) + + self.log_output.append("Command completed successfully") + + except Exception as e: + self.log_output.append(f"Error: {str(e)}") + finally: + self.run_btn.setEnabled(True) + +class FFmpegCheckDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('FFmpeg Required') + self.setMinimumWidth(400) + + layout = QVBoxLayout(self) + + # Message + message_label = QLabel( + "FFmpeg is not installed. Please install it.\n" + "To install FFmpeg, click the button below." + ) + message_label.setWordWrap(True) + layout.addWidget(message_label) + + # Install button + install_btn = QPushButton("Install FFmpeg") + install_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/ffmpeg-install-guide')) + layout.addWidget(install_btn) + + # Close button + close_btn = QPushButton("Close") + close_btn.clicked.connect(self.close) + layout.addWidget(close_btn) + + # Style the dialog + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + +class YTDLPUpdateDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('Update yt-dlp') + self.setMinimumWidth(400) + + layout = QVBoxLayout(self) + + # Version info and message + self.version_label = QLabel() + self.version_label.setWordWrap(True) + layout.addWidget(self.version_label) + + self.message_label = QLabel( + "Would you like to update yt-dlp to the latest version?\n" + "This will download and install the latest yt-dlp executable." + ) + self.message_label.setWordWrap(True) + layout.addWidget(self.message_label) + + # Progress bar (hidden initially) + self.progress_bar = QProgressBar() + self.progress_bar.setVisible(False) + layout.addWidget(self.progress_bar) + + # Status label + self.status_label = QLabel() + self.status_label.setWordWrap(True) + layout.addWidget(self.status_label) + + # Buttons + button_layout = QHBoxLayout() + + self.update_btn = QPushButton("Update yt-dlp") + self.update_btn.clicked.connect(self.start_update) + self.update_btn.setEnabled(False) # Disabled until version check + + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + + button_layout.addWidget(self.update_btn) + button_layout.addWidget(self.close_btn) + layout.addLayout(button_layout) + + # Style the dialog + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + QPushButton:disabled { + background-color: #666666; + } + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + } + QProgressBar::chunk { + background-color: #ff0000; + } + """) + + # Check versions when dialog opens + self.check_versions() + + def check_versions(self): + import threading + threading.Thread(target=self._check_versions_thread, daemon=True).start() + + def _check_versions_thread(self): + try: + # Get current version with proper path + yt_dlp_path = get_yt_dlp_path() + if os.path.exists(yt_dlp_path): + try: + # Use the full path to yt-dlp executable + result = subprocess.run([yt_dlp_path, '--version'], + capture_output=True, + text=True, + timeout=5, + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) + if result.returncode == 0: + current_version = result.stdout.strip() + else: + # Try using pip to get version as fallback + try: + current_version = yt_dlp.version.__version__ + except: + current_version = "Not installed" + except (subprocess.SubprocessError, subprocess.TimeoutExpired): + # Try using pip to get version as fallback + try: + current_version = yt_dlp.version.__version__ + except: + current_version = "Not installed" + else: + # Try using pip to get version as fallback + try: + current_version = yt_dlp.version.__version__ + except: + current_version = "Not installed" + + # Get latest version from GitHub API with timeout + try: + response = requests.get( + "https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest", + timeout=10 + ) + response.raise_for_status() + latest_version = response.json()["tag_name"] + except Exception as e: + raise Exception(f"Could not fetch latest version: {str(e)}") + + self.version_label.setText( + f"Current version: {current_version}\n" + f"Latest version: {latest_version}" + ) + + if current_version == "Not installed" or current_version != latest_version: + self.update_btn.setEnabled(True) + self.message_label.setText("An update is available!") + else: + self.message_label.setText("You have the latest version installed.") + self.update_btn.setEnabled(False) + + except Exception as e: + self.version_label.setText("Could not check versions") + self.message_label.setText(f"Error: {str(e)}") + self.update_btn.setEnabled(True) + + + def start_update(self): + self.update_btn.setEnabled(False) + self.progress_bar.setVisible(True) + self.status_label.setText("Starting update...") + + # Start update in a separate thread + import threading + threading.Thread(target=self._update_thread, daemon=True).start() + + def _update_thread(self): + temp_path = None + try: + # Create necessary directories + target_path = get_yt_dlp_path() + os.makedirs(os.path.dirname(target_path), exist_ok=True) + + # Determine platform and get URLs + if sys.platform == 'win32': + url = 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe' + else: + url = 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp' + + temp_path = target_path + '.download' + + # Download with proper error handling + try: + response = requests.get(url, stream=True, timeout=30) + response.raise_for_status() + total_size = int(response.headers.get('content-length', 0)) + block_size = 8192 # Increased for better performance + + with open(temp_path, 'wb') as f: + for data in response.iter_content(block_size): + if data: # Filter out keep-alive chunks + f.write(data) + progress = int((f.tell() * 100) / total_size) if total_size > 0 else 0 + self.progress_bar.setValue(progress) + self.status_label.setText(f"Downloading: {progress}%") + except requests.exceptions.RequestException as e: + raise Exception(f"Download failed: {str(e)}") + + # Set proper permissions + if sys.platform != 'win32': + try: + os.chmod(temp_path, 0o755) + except Exception as e: + print(f"Warning: Could not set executable permissions: {e}") + + # Handle file replacement + try: + if os.path.exists(target_path): + if sys.platform == 'win32': + # Windows-specific file replacement + import ctypes + if not ctypes.windll.kernel32.MoveFileExW(target_path, None, 4): # MOVEFILE_DELAY_UNTIL_REBOOT + os.remove(target_path) + else: + os.remove(target_path) + except PermissionError: + raise Exception("Cannot update while yt-dlp is in use. Please close any active downloads and try again.") + except Exception as e: + raise Exception(f"Error removing existing file: {str(e)}") + + # Move temporary file to final location + try: + os.rename(temp_path, target_path) + except Exception as e: + raise Exception(f"Error moving new file into place: {str(e)}") + + self.status_label.setText("yt-dlp updated successfully!") + self.close_btn.setText("Done") + + # Refresh version info + self.check_versions() + + except Exception as e: + self.status_label.setText(f"Error updating yt-dlp: {str(e)}") + finally: + # Clean up temp file if it exists + if temp_path and os.path.exists(temp_path): + try: + os.remove(temp_path) + except: + pass + self.update_btn.setEnabled(True) + +class AboutDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('About YTSage') + self.setMinimumWidth(500) + + layout = QVBoxLayout(self) + + # App title and version + title_label = QLabel("YTSage") + title_label.setStyleSheet(""" + font-size: 24px; + font-weight: bold; + color: #ff0000; + padding: 10px; + """) + title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(title_label) + + version_label = QLabel(f"Version {parent.version}") + version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(version_label) + + # Description + description = QLabel( + "A modern YouTube downloader with a clean interface.\n" + "Download videos in any quality, extract audio, fetch subtitles,\n" + "and view video metadata. Built with yt-dlp for reliable performance." + ) + description.setWordWrap(True) + description.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(description) + + # Features list + features_label = QLabel( + "Key Features:\n" + "• Smart video quality selection\n" + "• Audio extraction\n" + "• Subtitle support\n" + "• Playlist downloads\n" + "• Real-time progress tracking\n" + "• Custom command support\n" + "• SponsorBlock Integration\n" + "• SponsorBlock Integration\n" + "• One-click updates" + ) + features_label.setStyleSheet("padding: 10px;") + layout.addWidget(features_label) + + # Credits + credits_label = QLabel( + "Powered by:\n" + "• yt-dlp\n" + "• PySide6\n" + "• FFmpeg" + ) + credits_label.setStyleSheet("padding: 10px;") + layout.addWidget(credits_label) + + # GitHub link + github_btn = QPushButton("Visit GitHub Repository") + github_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/YTSage')) + layout.addWidget(github_btn) + + # Close button + close_btn = QPushButton("Close") + close_btn.clicked.connect(self.close) + layout.addWidget(close_btn) + + # Style the dialog + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + +class YTSageApp(QMainWindow): # Renamed class to YTSageApp to avoid name conflict with original file name + def __init__(self): + super().__init__() + # Check for FFmpeg before proceeding + if not check_ffmpeg(): + self.show_ffmpeg_dialog() + + self.version = "4.0.0" + self.check_for_updates() + self.config_file = Path.home() / '.ytsage_config.json' + load_saved_path(self) + self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) + self.signals = SignalManager() + self.download_paused = False + self.current_download = None + self.download_cancelled = False + self.save_thumbnail = False # Initialize thumbnail state + self.thumbnail_url = None # Add this to store thumbnail URL + self.init_ui() + self.setStyleSheet(""" + QMainWindow { + background-color: #2b2b2b; + } + QWidget { + background-color: #2b2b2b; + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; /* YouTube red */ + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; /* Darker red on hover */ + } + QPushButton:pressed { + background-color: #990000; /* Even darker red when pressed */ + } + QTableWidget { + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + gridline-color: #3d3d3d; + } + QHeaderView::section { + background-color: #2b2b2b; + padding: 5px; + border: 1px solid #3d3d3d; + color: #ffffff; + } + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + } + QProgressBar::chunk { + background-color: #ff0000; /* YouTube red */ + border-radius: 2px; + } + QLabel { + color: #ffffff; + } + /* Style for filter buttons */ + QPushButton.filter-btn { + background-color: #363636; + padding: 5px 10px; + margin: 0 5px; + } + QPushButton.filter-btn:checked { + background-color: #ff0000; + } + QPushButton.filter-btn:hover { + background-color: #444444; + } + QPushButton.filter-btn:checked:hover { + background-color: #cc0000; + } + /* Modern Scrollbar Styling */ + QScrollBar:vertical { + border: none; + background: #2b2b2b; + width: 14px; + margin: 15px 0 15px 0; + border-radius: 7px; + } + QScrollBar::handle:vertical { + background: #404040; + min-height: 30px; + border-radius: 7px; + } + QScrollBar::handle:vertical:hover { + background: #505050; + } + QScrollBar::sub-line:vertical { + border: none; + background: #2b2b2b; + height: 15px; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + subcontrol-position: top; + subcontrol-origin: margin; + } + QScrollBar::add-line:vertical { + border: none; + background: #2b2b2b; + height: 15px; + border-bottom-left-radius: 7px; + border-bottom-right-radius: 7px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + QScrollBar::sub-line:vertical:hover, + QScrollBar::add-line:vertical:hover { + background: #404040; + } + QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; + width: 0; + height: 0; + } + QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; + } + /* Horizontal Scrollbar */ + QScrollBar:horizontal { + border: none; + background: #2b2b2b; + height: 14px; + margin: 0 15px 0 15px; + border-radius: 7px; + } + QScrollBar::handle:horizontal { + background: #404040; + min-width: 30px; + border-radius: 7px; + } + QScrollBar::handle:horizontal:hover { + background: #505050; + } + QScrollBar::sub-line:horizontal { + border: none; + background: #2b2b2b; + width: 15px; + border-top-left-radius: 7px; + border-bottom-left-radius: 7px; + subcontrol-position: left; + subcontrol-origin: margin; + } + QScrollBar::add-line:horizontal { + border: none; + background: #2b2b2b; + width: 15px; + border-top-right-radius: 7px; + border-bottom-right-radius: 7px; + subcontrol-position: right; + subcontrol-origin: margin; + } + QScrollBar::sub-line:horizontal:hover, + QScrollBar::add-line:horizontal:hover { + background: #404040; + } + QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; + width: 0; + height: 0; + } + QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; + } + """) + self.signals.update_progress.connect(self.update_progress_bar) + + def load_saved_path(self): # Using function from ytsage_utils now - no longer needed in class + pass # Handled in class init now via ytsage_utils.load_saved_path(self) + + def save_path(self, path): # Using function from ytsage_utils now - no longer needed in class + save_path(self, path) # Call the utility function + + def init_ui(self): + self.setWindowTitle('YTSage v4.0.0') + self.setMinimumSize(900, 600) + + # Main widget and layout + main_widget = QWidget() + self.setCentralWidget(main_widget) + layout = QVBoxLayout(main_widget) + layout.setSpacing(10) + layout.setContentsMargins(20, 20, 20, 20) + + # URL input section + url_layout = QHBoxLayout() + self.url_input = QLineEdit() + self.url_input.setPlaceholderText('Enter YouTube URL...') + + # Add Paste URL button + self.paste_btn = QPushButton('Paste URL') + self.paste_btn.clicked.connect(self.paste_url) + + self.analyze_btn = QPushButton('Analyze') + self.analyze_btn.clicked.connect(self.analyze_url) + + url_layout.addWidget(self.url_input) + url_layout.addWidget(self.paste_btn) + url_layout.addWidget(self.analyze_btn) + layout.addLayout(url_layout) + + # Create a horizontal layout for thumbnail and video info + media_info_layout = QHBoxLayout() + + # Thumbnail on the left + self.thumbnail_label = QLabel() + self.thumbnail_label.setFixedSize(320, 180) + self.thumbnail_label.setStyleSheet("border: 2px solid #3d3d3d; border-radius: 4px;") + self.thumbnail_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + media_info_layout.addWidget(self.thumbnail_label) + + # Video information on the right + video_info_layout = QVBoxLayout() + self.title_label = QLabel() + self.title_label.setWordWrap(True) + self.title_label.setStyleSheet("font-size: 14px; font-weight: bold;") + + self.channel_label = QLabel() + self.views_label = QLabel() + self.date_label = QLabel() + self.duration_label = QLabel() + + # Style the info labels + for label in [self.channel_label, self.views_label, self.date_label, self.duration_label]: + label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 2px 0; + } + """) + + # Subtitle section with improved styling + subtitle_layout = QHBoxLayout() + self.subtitle_check = QPushButton("Download Subtitles") + self.subtitle_check.setCheckable(True) + self.subtitle_check.clicked.connect(self.toggle_subtitle_controls) + self.subtitle_check.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 10px; + } + QPushButton:checked { + background-color: #ff0000; + border-color: #cc0000; + } + """) + subtitle_layout.addWidget(self.subtitle_check) + + # Create subtitle combo box + self.subtitle_combo = QComboBox() + self.subtitle_combo.setVisible(False) + self.subtitle_combo.setStyleSheet(""" + QComboBox { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-width: 200px; + } + QComboBox::drop-down { + border: none; + } + QComboBox::down-arrow { + image: url(down_arrow.png); + width: 12px; + height: 12px; + } + QComboBox QAbstractItemView { + background-color: #363636; + selection-background-color: #ff0000; + selection-color: white; + } + """) + + # Create subtitle filter input + self.subtitle_filter_input = QLineEdit() + self.subtitle_filter_input.setPlaceholderText("Filter languages (e.g., en, es)") + self.subtitle_filter_input.setMaximumWidth(200) + self.subtitle_filter_input.textChanged.connect(self.filter_subtitles) + self.subtitle_filter_input.setVisible(False) + self.subtitle_filter_input.setStyleSheet(""" + QLineEdit { + background-color: #363636; + color: #ffffff; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + } + QLineEdit:focus { + border-color: #ff0000; + } + """) + + # Add filter label and components to layout + self.subtitle_filter_label = QLabel("Filter:") + self.subtitle_filter_label.setVisible(False) + subtitle_layout.addWidget(self.subtitle_filter_label) + subtitle_layout.addWidget(self.subtitle_filter_input) + subtitle_layout.addWidget(self.subtitle_combo) + + # Add merge subtitle toggle button + self.merge_subs_btn = QPushButton('Merge Subtitles') + self.merge_subs_btn.setCheckable(True) + self.merge_subs_btn.setVisible(False) + self.merge_subs_btn.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 10px; + } + QPushButton:checked { + background-color: #ff0000; + border-color: #cc0000; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:checked:hover { + background-color: #cc0000; + } + """) + subtitle_layout.addWidget(self.merge_subs_btn) + + subtitle_layout.addStretch() + + # Add all info widgets to the video info layout + video_info_layout.addWidget(self.title_label) + video_info_layout.addWidget(self.channel_label) + video_info_layout.addWidget(self.views_label) + video_info_layout.addWidget(self.date_label) + video_info_layout.addWidget(self.duration_label) + video_info_layout.addLayout(subtitle_layout) + video_info_layout.addStretch() + + media_info_layout.addLayout(video_info_layout) + layout.addLayout(media_info_layout) + + # Add playlist information section with improved styling + self.playlist_info_label = QLabel() + self.playlist_info_label.setVisible(False) + self.playlist_info_label.setStyleSheet(""" + QLabel { + font-size: 12px; + color: #ff9900; + padding: 5px; + background-color: #363636; + border-radius: 4px; + } + """) + layout.addWidget(self.playlist_info_label) + + # Create format selection layout (horizontal) + self.format_layout = QHBoxLayout() + + # Show formats label + self.show_formats_label = QLabel("Show formats:") + self.show_formats_label.setStyleSheet("color: white;") + self.format_layout.addWidget(self.show_formats_label) + + # Format buttons group + self.format_buttons = QButtonGroup(self) + self.format_buttons.setExclusive(True) + + # Video button + self.video_button = QPushButton("Video") + self.video_button.setCheckable(True) + self.video_button.setChecked(True) # Set video as default + self.video_button.setStyleSheet(""" + QPushButton { + padding: 8px 15px; + background-color: #363636; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:checked { + background-color: #ff0000; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:checked:hover { + background-color: #cc0000; + } + """) + self.format_buttons.addButton(self.video_button) + self.format_layout.addWidget(self.video_button) + + # Audio button + self.audio_button = QPushButton("Audio Only") + self.audio_button.setCheckable(True) + self.audio_button.setStyleSheet(""" + QPushButton { + padding: 8px 15px; + background-color: #363636; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:checked { + background-color: #ff0000; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:checked:hover { + background-color: #cc0000; + } + """) + self.format_buttons.addButton(self.audio_button) + self.format_layout.addWidget(self.audio_button) + + # Connect format buttons + self.format_buttons.buttonClicked.connect(self.handle_format_selection) + + # Add SponsorBlock checkbox + self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") + self.sponsorblock_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; + } + """) + self.format_layout.addWidget(self.sponsorblock_checkbox) + + # Add Save Thumbnail checkbox with same style as SponsorBlock + self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") + self.save_thumbnail_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; + } + """) + self.save_thumbnail_checkbox.clicked.connect(self.toggle_save_thumbnail) + self.format_layout.addWidget(self.save_thumbnail_checkbox) + + self.format_layout.addStretch() + + # Add format layout to main layout + layout.addLayout(self.format_layout) + + # Format table with improved styling + self.format_table = QTableWidget() + self.format_table.setColumnCount(6) + self.format_table.setHorizontalHeaderLabels(['Format ID', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio']) + self.format_table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) + self.format_table.setStyleSheet(""" + QTableWidget { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + gridline-color: #3d3d3d; + } + QTableWidget::item { + padding: 5px; + } + QTableWidget::item:selected { + background-color: #ff0000; + } + QHeaderView::section { + background-color: #2b2b2b; + padding: 5px; + border: 1px solid #3d3d3d; + font-weight: bold; + } + """) + layout.addWidget(self.format_table) + + # Download section + download_layout = QHBoxLayout() + + # Add existing buttons + self.custom_cmd_btn = QPushButton('Custom Command') + self.custom_cmd_btn.clicked.connect(self.show_custom_command) + + self.update_ytdlp_btn = QPushButton('Update yt-dlp') + self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) + + self.about_btn = QPushButton('About') + self.about_btn.clicked.connect(self.show_about_dialog) + + self.path_input = QLineEdit(self.last_path) + self.path_input.setPlaceholderText('Download path...') + + self.browse_btn = QPushButton('Browse') + self.browse_btn.clicked.connect(self.browse_path) + + self.download_btn = QPushButton('Download') + self.download_btn.clicked.connect(self.start_download) + + # Add pause and cancel buttons + self.pause_btn = QPushButton('Pause') + self.pause_btn.clicked.connect(self.toggle_pause) + self.pause_btn.setVisible(False) # Hidden initially + + self.cancel_btn = QPushButton('Cancel') + self.cancel_btn.clicked.connect(self.cancel_download) + self.cancel_btn.setVisible(False) # Hidden initially + + # Add all buttons to layout in the correct order + download_layout.addWidget(self.custom_cmd_btn) + download_layout.addWidget(self.update_ytdlp_btn) + download_layout.addWidget(self.about_btn) + download_layout.addWidget(self.path_input) + download_layout.addWidget(self.browse_btn) + download_layout.addWidget(self.download_btn) + download_layout.addWidget(self.pause_btn) + download_layout.addWidget(self.cancel_btn) + + layout.addLayout(download_layout) + + # Progress section with improved styling + progress_layout = QVBoxLayout() + self.progress_bar = QProgressBar() + self.progress_bar.setStyleSheet(""" + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + background-color: #363636; + height: 25px; + } + QProgressBar::chunk { + background-color: #ff0000; + border-radius: 2px; + } + """) + progress_layout.addWidget(self.progress_bar) + + # Add download details label with improved styling + self.download_details_label = QLabel() + self.download_details_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.download_details_label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 5px; + } + """) + progress_layout.addWidget(self.download_details_label) + + self.status_label = QLabel('Ready') + self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.status_label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 5px; + } + """) + progress_layout.addWidget(self.status_label) + + layout.addLayout(progress_layout) + + # Connect signals + self.signals.update_formats.connect(self.update_format_table) + self.signals.update_status.connect(self.status_label.setText) + self.signals.update_progress.connect(self.update_progress_bar) + + def analyze_url(self): + url = self.url_input.text().strip() + if not url: + self.signals.update_status.emit("Invalid URL or please enter a URL.") + return + + self.signals.update_status.emit("Analyzing (0%)... Preparing request") + import threading # Import threading here as it is only used in GUI and downloader + threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() + + def _analyze_url_thread(self, url): + try: + self.signals.update_status.emit("Analyzing (20%)... Extracting basic info") + + # Clean up the URL to handle both playlist and video URLs + if 'list=' in url and 'watch?v=' in url: + playlist_id = url.split('list=')[1].split('&')[0] + url = f'https://www.youtube.com/playlist?list={playlist_id}' + + # Initial extraction with basic options + ydl_opts = { + 'quiet': False, + 'no_warnings': False, + 'extract_flat': True, + 'force_generic_extractor': False, + 'ignoreerrors': True, + 'no_color': True, + 'verbose': True + } + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + try: + basic_info = ydl.extract_info(url, download=False) + if not basic_info: + raise Exception("Could not extract basic video information") + except Exception as e: + print(f"First extraction failed: {str(e)}") + raise Exception("Could not extract video information, please check your link") + + self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") + # Configure options for detailed extraction + ydl_opts.update({ + 'extract_flat': False, + 'format': None, + 'writesubtitles': True, + 'allsubtitles': True, + 'writeautomaticsub': True, + 'playliststart': 1, + 'playlistend': 1, + 'youtube_include_dash_manifest': True, + 'youtube_include_hls_manifest': True + }) + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + try: + self.signals.update_status.emit("Analyzing (60%)... Processing video data") + if basic_info.get('_type') == 'playlist': + self.is_playlist = True + self.playlist_info = basic_info + + # Get the first video URL from the playlist + first_video = None + for entry in basic_info['entries']: + if entry: + first_video = entry + break + + if not first_video: + raise Exception("No valid videos found in playlist") + + # Get the video URL + video_url = first_video.get('url') or first_video.get('webpage_url') + if not video_url: + raise Exception("Could not extract video URL from playlist") + + # Extract detailed information for the first video + self.video_info = ydl.extract_info(video_url, download=False) + + # Update playlist info + playlist_text = f"Playlist: {basic_info.get('title', 'Unknown')} | {len(basic_info['entries'])} videos" + self.playlist_info_label.setText(playlist_text) + self.playlist_info_label.setVisible(True) + else: + self.is_playlist = False + self.video_info = ydl.extract_info(url, download=False) + self.playlist_info_label.setVisible(False) + + # Verify we have format information + if not self.video_info or 'formats' not in self.video_info: + print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") + raise Exception("No format information available") + + self.signals.update_status.emit("Analyzing (80%)... Processing formats") + self.all_formats = self.video_info['formats'] + + # Update UI + self.update_video_info(self.video_info) + + # Update thumbnail + self.signals.update_status.emit("Analyzing (90%)... Loading thumbnail") + self.download_thumbnail(self.video_info.get('thumbnail')) + + # Save thumbnail if enabled - use the stored VIDEO URL + if self.save_thumbnail: + self.download_thumbnail_file(self.video_url, self.path_input.text()) + + # Update subtitles + self.signals.update_status.emit("Analyzing (95%)... Processing subtitles") + self.available_subtitles = self.video_info.get('subtitles', {}) + self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) + self.update_subtitle_list() + + # Update format table + self.signals.update_status.emit("Analyzing (98%)... Updating format table") + self.video_button.setChecked(True) + self.audio_button.setChecked(False) + self.filter_formats() + + self.signals.update_status.emit("Analysis complete!") + + except Exception as e: + print(f"Detailed extraction failed: {str(e)}") + raise Exception(f"Failed to extract video details: {str(e)}") + + except Exception as e: + error_message = str(e) + print(f"Error in analysis: {error_message}") + self.signals.update_status.emit(f"Error: {error_message}") + + def update_video_info(self, info): + # Format view count with commas + views = int(info.get('view_count', 0)) + formatted_views = f"{views:,}" + + # Format upload date + upload_date = info.get('upload_date', '') + if upload_date: + date_obj = datetime.strptime(upload_date, '%Y%m%d') + formatted_date = date_obj.strftime('%B %d, %Y') + else: + formatted_date = 'Unknown date' + + # Format duration + duration = info.get('duration', 0) + minutes = duration // 60 + seconds = duration % 60 + duration_str = f"{minutes}:{seconds:02d}" + + # Update labels + self.title_label.setText(info.get('title', 'Unknown title')) + self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") + self.views_label.setText(f"Views: {formatted_views}") + self.date_label.setText(f"Upload date: {formatted_date}") + self.duration_label.setText(f"Duration: {duration_str}") + + def toggle_subtitle_controls(self): + is_checked = self.subtitle_check.isChecked() + self.merge_subs_btn.setVisible(is_checked) + self.subtitle_combo.setVisible(is_checked) + self.subtitle_filter_input.setVisible(is_checked) + self.subtitle_filter_label.setVisible(is_checked) + + def update_subtitle_list(self): + self.subtitle_combo.clear() + + if not (self.available_subtitles or self.available_automatic_subtitles): + self.subtitle_combo.addItem("No subtitles available") + return + + # Add subtitle options + self.subtitle_combo.addItem("Select subtitle language") + + # Filter and add subtitles + filter_text = self.subtitle_filter_input.text().lower() + + # Add manual subtitles + for lang_code, subtitle_info in self.available_subtitles.items(): + if not filter_text or filter_text in lang_code.lower(): + self.subtitle_combo.addItem(f"{lang_code} - Manual") + + # Add auto-generated subtitles + for lang_code, subtitle_info in self.available_automatic_subtitles.items(): + if not filter_text or filter_text in lang_code.lower(): + self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") + + def filter_subtitles(self): + self.subtitle_filter = self.subtitle_filter_input.text() + self.update_subtitle_list() + + def download_thumbnail(self, url): + try: + # Store both thumbnail URL and video URL + self.thumbnail_url = url + self.video_url = self.url_input.text() # Get actual video URL + + # Download thumbnail but don't save yet + response = requests.get(url) + self.thumbnail_image = Image.open(BytesIO(response.content)) + + # Display thumbnail + image = self.thumbnail_image.resize((320, 180), Image.Resampling.LANCZOS) + img_byte_arr = BytesIO() + image.save(img_byte_arr, format='PNG') + pixmap = QPixmap() + pixmap.loadFromData(img_byte_arr.getvalue()) + self.thumbnail_label.setPixmap(pixmap) + except Exception as e: + print(f"Error loading thumbnail: {str(e)}") + + def filter_formats(self): + # Clear current table + self.format_table.setRowCount(0) + + # Determine which formats to show + filtered_formats = [] + + if self.video_button.isChecked(): + # Include all video formats (both with and without audio) + filtered_formats.extend([f for f in self.all_formats + if f.get('vcodec') != 'none' + and f.get('filesize') is not None]) + + if self.audio_button.isChecked(): + # Add audio-only formats + filtered_formats.extend([f for f in self.all_formats + if (f.get('vcodec') == 'none' + or 'audio only' in f.get('format_note', '').lower()) + and f.get('acodec') != 'none' + and f.get('filesize') is not None]) + + # Sort formats by quality + def get_quality(f): + if f.get('vcodec') != 'none': + # Extract height from resolution (e.g., "1920x1080" -> 1080) + res = f.get('resolution', '0x0').split('x')[-1] + try: + return int(res) + except ValueError: + return 0 + else: + return f.get('abr', 0) + + filtered_formats.sort(key=get_quality, reverse=True) + + # Update table with filtered formats + self.update_format_table(filtered_formats) + + def update_format_table(self, formats): + self.format_table.setRowCount(0) + for f in formats: + row = self.format_table.rowCount() + self.format_table.insertRow(row) + + # Format ID + self.format_table.setItem(row, 0, QTableWidgetItem(str(f.get('format_id', '')))) + + # Extension + self.format_table.setItem(row, 1, QTableWidgetItem(f.get('ext', ''))) + + # Resolution + resolution = f.get('resolution', 'N/A') + if f.get('vcodec') == 'none': + resolution = 'Audio only' + self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) + + # File Size + filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" + self.format_table.setItem(row, 3, QTableWidgetItem(filesize)) + + # Codec + if f.get('vcodec') == 'none': + codec = f.get('acodec', 'N/A') + else: + codec = f"{f.get('vcodec', 'N/A')}" + if f.get('acodec') != 'none': + codec += f" / {f.get('acodec', 'N/A')}" + self.format_table.setItem(row, 4, QTableWidgetItem(codec)) + + # Audio Status + needs_audio = f.get('acodec') == 'none' + audio_status = "Will merge audio" if needs_audio else "✓ Has Audio" + audio_item = QTableWidgetItem(audio_status) + if needs_audio: + audio_item.setForeground(QColor('#ffa500')) # Orange for merge indication + self.format_table.setItem(row, 5, audio_item) + + def browse_path(self): + path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.last_path) + if path: + self.path_input.setText(path) + self.save_path(path) # Use save_path utility function + self.last_path = path + + def start_download(self): + url = self.url_input.text().strip() + path = self.path_input.text().strip() + + if not url or not path: + self.status_label.setText("Please enter URL and download path") + return + + # Get selected format + selected_items = self.format_table.selectedItems() + if not selected_items: + self.status_label.setText("Please select a format") + return + + format_id = self.format_table.item(selected_items[0].row(), 0).text() + + # Get resolution for filename + resolution = self.format_table.item(selected_items[0].row(), 2).text() + resolution = resolution.replace(' ', '').lower() # Clean up resolution string + + # Get subtitle selection if available + subtitle_lang = None + if hasattr(self, 'subtitle_combo') and self.subtitle_combo.currentIndex() > 0: + subtitle_lang = self.subtitle_combo.currentText() + + # Check if it's a playlist + is_playlist = 'playlist' in url.lower() and '/watch?' not in url + + # Save thumbnail if enabled + if self.save_thumbnail: + self.download_thumbnail_file(url, path) + + # Create download thread with resolution in output template + self.download_thread = DownloadThread( + url=url, + path=path, + format_id=format_id, + subtitle_lang=subtitle_lang, + is_playlist=is_playlist, + merge_subs=bool(subtitle_lang), + enable_sponsorblock=self.sponsorblock_checkbox.isChecked(), + resolution=resolution + ) + + # Connect signals + self.download_thread.progress_signal.connect(self.update_progress_bar) + self.download_thread.status_signal.connect(self.signals.update_status.emit) + self.download_thread.finished_signal.connect(self.download_finished) + self.download_thread.error_signal.connect(self.download_error) + + # Reset download state + self.download_paused = False + self.download_cancelled = False + + # Show pause/cancel buttons + self.pause_btn.setText('Pause') + self.pause_btn.setVisible(True) + self.cancel_btn.setVisible(True) + + # Start download thread + self.current_download = self.download_thread + self.download_thread.start() + self.toggle_download_controls(False) + + def download_finished(self): + self.toggle_download_controls(True) + self.pause_btn.setVisible(False) + self.cancel_btn.setVisible(False) + self.progress_bar.setValue(100) + self.status_label.setText("Download completed!") + + def download_error(self, error_message): + self.toggle_download_controls(True) + self.pause_btn.setVisible(False) + self.cancel_btn.setVisible(False) + self.status_label.setText(f"Error: {error_message}") + + def update_progress_bar(self, value): + try: + # Ensure the value is an integer + int_value = int(value) + self.progress_bar.setValue(int_value) + except Exception as e: + print(f"Progress bar update error: {str(e)}") + + def toggle_pause(self): + if self.current_download: + self.current_download.paused = not self.current_download.paused + if self.current_download.paused: + self.pause_btn.setText('Resume') + self.signals.update_status.emit("Download paused") + else: + self.pause_btn.setText('Pause') + self.signals.update_status.emit("Download resumed") + + def check_for_updates(self): + try: + # Get the latest release info from GitHub + response = requests.get( + "https://api.github.com/repos/oop7/YTSage/releases/latest", + headers={"Accept": "application/vnd.github.v3+json"} + ) + response.raise_for_status() + + latest_release = response.json() + latest_version = latest_release["tag_name"].lstrip('v') + + # Compare versions + if version.parse(latest_version) > version.parse(self.version): + self.show_update_dialog(latest_version, latest_release["html_url"]) + except Exception as e: + print(f"Failed to check for updates: {str(e)}") + + def show_update_dialog(self, latest_version, release_url): + msg = QDialog(self) + msg.setWindowTitle("Update Available") + msg.setMinimumWidth(400) + + layout = QVBoxLayout(msg) + + # Update message + message_label = QLabel( + f"A new version of YTSage is available!\n\n" + f"Current version: {self.version}\n" + f"Latest version: {latest_version}" + ) + message_label.setWordWrap(True) + layout.addWidget(message_label) + + # Buttons + button_layout = QHBoxLayout() + + download_btn = QPushButton("Download Update") + download_btn.clicked.connect(lambda: self.open_release_page(release_url)) + + remind_btn = QPushButton("Remind Me Later") + remind_btn.clicked.connect(msg.close) + + button_layout.addWidget(download_btn) + button_layout.addWidget(remind_btn) + layout.addLayout(button_layout) + + # Style the dialog + msg.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + msg.show() + + def open_release_page(self, url): + webbrowser.open(url) + + def show_custom_command(self): + dialog = CustomCommandDialog(self) + dialog.exec() + + def cancel_download(self): + if self.current_download: + self.current_download.cancelled = True + self.signals.update_status.emit("Cancelling download...") + + + def show_ffmpeg_dialog(self): + dialog = FFmpegCheckDialog(self) + dialog.exec() + + def paste_url(self): + clipboard = QApplication.clipboard() + self.url_input.setText(clipboard.text()) + + def update_ytdlp(self): + dialog = YTDLPUpdateDialog(self) + dialog.exec() + + def toggle_save_thumbnail(self): + self.save_thumbnail = self.save_thumbnail_checkbox.isChecked() + print(f"Save thumbnail toggled: {self.save_thumbnail}") # Debug print + + def download_thumbnail_file(self, video_url, path): + if not self.save_thumbnail: + return False + + try: + from yt_dlp import YoutubeDL + import requests # Use requests instead of urlopen + + print(f"Attempting to save thumbnail for URL: {video_url}") + + ydl_opts = { + 'quiet': True, + 'skip_download': True, + 'force_generic_extractor': False, + 'no_warnings': True, + 'extract_flat': False + } + + with YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(video_url, download=False) + thumbnails = info.get('thumbnails', []) + + if not thumbnails: + raise ValueError("No thumbnails available") + + thumbnail_url = max( + thumbnails, + key=lambda t: (t.get('height', 0) or 0) * (t.get('width', 0) or 0) + ).get('url') + + if not thumbnail_url: + raise ValueError("Failed to extract thumbnail URL") + + # Download using requests + response = requests.get(thumbnail_url) + response.raise_for_status() + + # Save the thumbnail + thumb_dir = os.path.join(path, 'Thumbnails') + os.makedirs(thumb_dir, exist_ok=True) + + filename = f"{self.sanitize_filename(info['title'])}.jpg" + thumbnail_path = os.path.join(thumb_dir, filename) + + with open(thumbnail_path, 'wb') as f: + f.write(response.content) + + print(f"Thumbnail saved to: {thumbnail_path}") + self.signals.update_status.emit(f"✅ Thumbnail saved: {filename}") + return True + + except Exception as e: + error_msg = f"❌ Thumbnail error: {str(e)}" + print(f"Thumbnail Save Error: {str(e)}") + self.signals.update_status.emit(error_msg) + return False + + def sanitize_filename(self, name): + """Clean filename for filesystem safety""" + return re.sub(r'[\\/*?:"<>|]', "", name).strip()[:75] + + def show_about_dialog(self): + dialog = AboutDialog(self) + dialog.exec() + + def toggle_download_controls(self, enabled=True): + """Enable or disable download-related controls""" + self.url_input.setEnabled(enabled) + self.analyze_btn.setEnabled(enabled) + self.format_table.setEnabled(enabled) + self.path_input.setEnabled(enabled) + self.browse_btn.setEnabled(enabled) + self.download_btn.setEnabled(enabled) + if hasattr(self, 'subtitle_combo'): + self.subtitle_combo.setEnabled(enabled) + self.video_button.setEnabled(enabled) + self.audio_button.setEnabled(enabled) + self.sponsorblock_checkbox.setEnabled(enabled) + + def handle_format_selection(self, button): + # Update formats + self.filter_formats() \ No newline at end of file diff --git a/ytsage_utils.py b/ytsage_utils.py new file mode 100644 index 0000000..9cc6971 --- /dev/null +++ b/ytsage_utils.py @@ -0,0 +1,85 @@ +import sys +import os +import json +from pathlib import Path +import subprocess + +def check_ffmpeg(): + try: + subprocess.run(['ffmpeg', '-version'], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=True) + return True + except (subprocess.SubprocessError, FileNotFoundError): + return False + +def get_yt_dlp_path(): + """Get the appropriate yt-dlp path based on platform and deployment method""" + try: + if getattr(sys, 'frozen', False): + if sys.platform == 'darwin': + # For macOS .app bundle + if 'Contents/MacOS' in sys.executable: + # Inside .app bundle + return os.path.join(os.path.dirname(sys.executable), 'yt-dlp') + else: + # Fallback to user's home directory for macOS + base_path = os.path.expanduser('~/Library/Application Support/YTSage') + os.makedirs(base_path, exist_ok=True) + return os.path.join(base_path, 'yt-dlp') + elif sys.platform == 'win32': + # For Windows executable + app_data = os.getenv('APPDATA') + if app_data: + base_path = os.path.join(app_data, 'YTSage') + else: + base_path = os.path.dirname(sys.executable) + os.makedirs(base_path, exist_ok=True) + return os.path.join(base_path, 'yt-dlp.exe') + else: + # For Linux AppImage or binary + if 'APPIMAGE' in os.environ: + # Inside AppImage + xdg_data = os.getenv('XDG_DATA_HOME', os.path.expanduser('~/.local/share')) + base_path = os.path.join(xdg_data, 'YTSage') + else: + base_path = os.path.dirname(sys.executable) + os.makedirs(base_path, exist_ok=True) + return os.path.join(base_path, 'yt-dlp') + else: + # For development/script mode + return os.path.join(os.path.dirname(os.path.abspath(__file__)), + 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + except Exception as e: + print(f"Error determining yt-dlp path: {e}") + # Fallback to current directory + return os.path.join(os.getcwd(), 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + +def load_saved_path(main_window_instance): # Pass the main window instance + config_file = main_window_instance.config_file # Access config_file via instance + try: + if config_file.exists(): + with open(config_file, 'r') as f: + config = json.load(f) + saved_path = config.get('download_path', '') + if os.path.exists(saved_path): + main_window_instance.last_path = saved_path # Access last_path via instance + else: + main_window_instance.last_path = str(Path.home() / 'Downloads') + else: + main_window_instance.last_path = str(Path.home() / 'Downloads') + except Exception as e: + print(f"Error loading saved settings: {e}") + main_window_instance.last_path = str(Path.home() / 'Downloads') + +def save_path(main_window_instance, path): # Pass main window instance + config_file = main_window_instance.config_file # Access config_file via instance + try: + config = { + 'download_path': path + } + with open(config_file, 'w') as f: + json.dump(config, f) + except Exception as e: + print(f"Error saving settings: {e}") \ No newline at end of file From 8d0de0dcd5c162a84d85687d39ee314e90dcd2a6 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 21 Feb 2025 19:03:24 +0200 Subject: [PATCH 023/568] update README --- README.md | 281 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 164 insertions(+), 117 deletions(-) diff --git a/README.md b/README.md index 3bd7bd0..a378362 100644 --- a/README.md +++ b/README.md @@ -1,151 +1,198 @@ -# YTSage +
-A modern YouTube downloader with a clean PySide6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance. +# 🎥 YTSage -## Screenshots +YTSage Interface -### Main Interface +[![PyPI version](https://badge.fury.io/py/YTSage.svg)](https://badge.fury.io/py/YTSage) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) +[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/) +[![Downloads](https://pepy.tech/badge/ytsage)](https://pepy.tech/project/ytsage) -![Main Interface](https://github.com/user-attachments/assets/04959c77-695b-4a69-b8fc-7103fe530236) +**A modern YouTube downloader with a clean PySide6 interface.** +Download videos in any quality, extract audio, fetch subtitles, and more. -*Main interface with video metadata and thumbnail preview* +[Installation](#installation) • +[Features](#features) • +[Usage](#usage) • +[Screenshots](#screenshots) • +[Contributing](#contributing) -### Playlist download support with auto-detection +
-![Playlist download](https://github.com/user-attachments/assets/537b8553-9657-42b2-a452-051c4cb2e32a) +--- -*Playlist download with auto-detection* -### Audio Format Selection +## ✨ Features -![Audio Format](https://github.com/user-attachments/assets/51a6a613-6c97-4581-b728-38c91c0b2d24) +
-*Smart format selection with quality options* +| Core Features | Advanced Features | Extra Features | +|--------------|-------------------|----------------| +| 🎥 Smart Video Quality | 🚫 SponsorBlock Integration | 💾 Save Download Path | +| 🎵 Audio Extraction | 📝 Subtitle Support & Filtering | 🔄 Auto-Updates | +| 📊 Real-time Progress | ⚙️ Custom Commands | 🛠️ FFmpeg Tools | +| 📋 Playlist Support | 🖼️ Thumbnail Management | ⚠️ Error Handling | -### Subtitle Options +
-![Subtitle Options](https://github.com/user-attachments/assets/4e8c686f-98e2-435a-add8-758e317b56fe) +## 🚀 Installation -*Support for both manual and auto-generated subtitles* - -## Features - -- 🎥 Smart video quality selection with automatic audio merging -- 🎵 Audio-only extraction -- 📝 Manual and auto-generated subtitle support with language filtering -- ℹ️ Video metadata display (views, upload date, duration) -- 🖼️ Thumbnail preview -- 🎨 Clean, modern PySide6 interface -- 🚀 Built on yt-dlp for robust downloading -- ⏯️ Download control (pause, resume, and cancel) -- 📊 Real-time progress tracking (speed, ETA, percentage) -- 🖼️ Save Thumbnail -- ⚙️ Custom yt-dlp command support with real-time output -- 📋 Playlist download support with auto-detection -- 💾 Save download path memory -- 🔄 One-click yt-dlp updater -- ⚠️ User-friendly error messages -- 🛠️ FFmpeg installation checker and guide -- 📎 Quick URL paste button -- 🎯 Smart format filtering (Video/Audio) - -## Download - -You can download the latest executable from the [Releases](https://github.com/oop7/YTSage/releases) page. - -### Pre-built Executables -- Windows: `YTSage.exe` -- macOS: `YTSage.dmg` -- Linux: `YTSage.AppImage` -- No installation required - just download and run! - -### PyPI Package -You can also install YTSage directly from PyPI: +### Quick Install (Recommended) ```bash pip install YTSage ``` - - -### Installation - -1. Clone the repository: ```bash +# Run the application +ytsage +``` + +
+📦 Other Installation Methods + +### Pre-built Executables +- 🪟 Windows: `YTSage.exe` +- 🍎 macOS: `YTSage.dmg` +- 🐧 Linux: `YTSage.AppImage` + +### Manual Installation +```bash +# Clone repository git clone https://github.com/oop7/YTSage.git +# Navigate to directory cd YTSage -``` -2. Install the required dependencies: -```bash + +# Install dependencies pip install -r requirements.txt + +# Run application +python main.py ``` -3. Run the application: -```bash -python YTSage.py +
+ +## 📸 Screenshots + +
+ + + + + + + + + + + + + + + + + +
Main InterfacePlaylist Download
Main InterfacePlaylist Download
Audio FormatSubtitle Options
Audio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor Segments
+
+ +## 📖 Usage + +
+🎯 Basic Usage + +1. **Launch YTSage** +2. **Paste YouTube URL** (or use "Paste URL" button) +3. **Click "Analyze"** +4. **Select Format:** + - `Video` for video downloads + - `Audio Only` for audio extraction +5. **Choose Options:** + - Enable subtitles & select language + - Enable subtitle embedding + - Save thumbnail + - Remove sponsor segments +6. **Select Output Directory** +7. **Click "Download"** + +
+ +
+📋 Playlist Download + +1. **Paste Playlist URL** +2. **Click "Analyze"** +3. **Select Best Quality** +4. **Click "Download"** + +> 💡 The application automatically handles the download queue + +
+ +
+⚙️ Advanced Options + +- **Quality Selection:** Choose highest resolution for best quality +- **Subtitle Options:** Filter languages and embed into video +- **SponsorBlock:** Automatically skip promotional content +- **Custom Commands:** Access advanced yt-dlp features +- **Output Directory:** Ensure sufficient storage space + +
+ +## 🛠️ Requirements + +```plaintext +Python 3.7+ +PySide6 +yt-dlp +Pillow +requests +FFmpeg +packaging ``` -# Usage +## 👥 Contributing -1. **Run the application** -2. **Paste a YouTube URL** into the input field -3. **Click "Analyze"** to load video information -4. **Select your desired format**: - - Choose **"Video"** for video downloads (will automatically merge with best audio) - - Choose **"Audio Only"** for audio extraction -5. **Enable subtitle download** if needed -6. **Select the output directory** -7. **Click "Download"** to start +We welcome contributions! Here's how you can help: ---- +1. 🍴 Fork the repository +2. 🌿 Create your feature branch: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Commit your changes: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Push to the branch: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Open a Pull Request -### Additional Steps for Playlist Download: - -1. **Paste the Playlist URL**: Instead of a single video URL, paste the URL of the entire YouTube playlist into the input field. -2. **Analyze the Playlist**: Click "Analyze" to load information for all videos in the playlist. -3. **Select Best Quality**: Ensure that the best quality option is selected for both video and audio. -4. **Download the Playlist**: Click "Download" to start downloading all videos in the playlist. The application should automatically handle the download queue. - ---- - -### Note: -- **Best Quality**: Always select the highest available resolution (e.g., 1080p, 4K) for video and the best audio format (e.g., 320kbps) for the best experience. -- **Subtitle Download**: If you need subtitles, enable this option before starting the download. -- **Output Directory**: Choose a directory with enough storage space, especially for large playlists. - -By following these steps, you can efficiently download entire playlists in the best quality without encountering issues. - -## Requirements - -- Python 3.7+ -- PySide6 -- yt-dlp -- Pillow -- requests -- FFmpeg -- packaging - -## Contributing - -Contributions are welcome! Please feel free to submit a Pull Request. - -1. Fork the repository -2. Create your feature branch (`git checkout -b feature/AmazingFeature`) -3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) -4. Push to the branch (`git push origin feature/AmazingFeature`) -5. Open a Pull Request - -## License +## 📜 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. -## Acknowledgments +## 🙏 Acknowledgments -- [yt-dlp](https://github.com/yt-dlp/yt-dlp) for the powerful downloading engine -- [PySide6](https://en.wikipedia.org/wiki/PySide) for the GUI framework -- [FFmpeg](https://ffmpeg.org/) for the audio and video processing -- [Pillow](https://pypi.org/project/Pillow/) for the image processing -- [requests](https://pypi.org/project/requests/) for the HTTP requests -- [packaging](https://pypi.org/project/packaging/) for the package management -- [PyInstaller](https://pypi.org/project/PyInstaller/) for the executable creation +
-## Disclaimer +| Technology | Purpose | +|------------|---------| +| [yt-dlp](https://github.com/yt-dlp/yt-dlp) | Download Engine | +| [PySide6](https://wiki.qt.io/Qt_for_Python) | GUI Framework | +| [FFmpeg](https://ffmpeg.org/) | Media Processing | +| [Pillow](https://python-pillow.org/) | Image Processing | + +
+ +## ⚠️ Disclaimer This tool is for personal use only. Please respect YouTube's terms of service and content creators' rights. + +--- + +
+ +Made with ❤️ by [oop7](https://github.com/oop7) + +
From f84e0f2ef07d518104d58c8605f75e0d94ff2b73 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 21 Feb 2025 19:07:45 +0200 Subject: [PATCH 024/568] Update screenshots.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a378362..cb05b70 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # 🎥 YTSage -YTSage Interface +YTSage Interface [![PyPI version](https://badge.fury.io/py/YTSage.svg)](https://badge.fury.io/py/YTSage) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) @@ -75,16 +75,16 @@ python main.py
- - + + - - + + From 7c71d6bd9e961c3006643002450423ef731c8904 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 21 Feb 2025 19:57:27 +0200 Subject: [PATCH 025/568] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb05b70..cf8e311 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ python main.py
⚙️ Advanced Options -- **Quality Selection:** Choose highest resolution for best quality +- **Quality Selection:** Choose the highest resolution for best quality - **Subtitle Options:** Filter languages and embed into video - **SponsorBlock:** Automatically skip promotional content - **Custom Commands:** Access advanced yt-dlp features From 732188059b2d50f241e601ee628eddb1a4d57774 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Fri, 21 Feb 2025 19:59:16 +0200 Subject: [PATCH 026/568] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cf8e311..cb0ad31 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ YTSage Interface -[![PyPI version](https://badge.fury.io/py/YTSage.svg)](https://badge.fury.io/py/YTSage) +[![PyPI version](https://badge.fury.io/py/ytsage.svg)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/) [![Downloads](https://pepy.tech/badge/ytsage)](https://pepy.tech/project/ytsage) From a1c51a4342f91213b3388bf8e9eb2c0fbee722d9 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Sun, 23 Feb 2025 09:06:30 +0200 Subject: [PATCH 027/568] Update the screenshots Remove the cursor from the screenshots --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index cb0ad31..d841b0c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # 🎥 YTSage -YTSage Interface +YTSage Interface [![PyPI version](https://badge.fury.io/py/ytsage.svg)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) @@ -75,7 +75,7 @@ python main.py
Main InterfacePlaylist DownloadMain InterfacePlaylist Download
Main Interface Playlist Download
Audio FormatSubtitle OptionsAudio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor Segments
Audio Format Selection with Save Thumbnail
- + @@ -83,8 +83,8 @@ python main.py - - + + From 705f16be5781bc5d6b3e7ae39d93485087a8d7cc Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Sun, 23 Feb 2025 09:44:52 +0200 Subject: [PATCH 028/568] Add a issue templates --- .github/ISSUE_TEMPLATE/🐛-bug-report.md | 63 +++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/🐛-bug-report.md diff --git a/.github/ISSUE_TEMPLATE/🐛-bug-report.md b/.github/ISSUE_TEMPLATE/🐛-bug-report.md new file mode 100644 index 0000000..4959859 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/🐛-bug-report.md @@ -0,0 +1,63 @@ +--- +name: "\U0001F41B Bug Report" +about: Provide a clear and descriptive title +title: '' +labels: bug +assignees: '' + +--- + +## 📝 Description + + +## 🔗 Affected Video URL + + + +## 🔄 Steps to Reproduce +1. +2. +3. +4. + +## ✅ Expected Behavior + + +## ❌ Actual Behavior + + +## 🖥️ Environment +- **YTSage Version**: +- **Python Version**: +- **OS**: +- **yt-dlp Version**: +- **FFmpeg Version**: +- **Installation Method**: + +## 📸 Screenshots/Logs + + +## [ERROR] Failed to download: ... +## 🛠️ Possible Fix + + +## 📌 Additional Context + + +--- + +**Checklist** +- [ ] I have searched existing issues to avoid duplicates +- [ ] I have provided **the affected YouTube URL** +- [ ] I have included clear steps to reproduce +- [ ] I have attached relevant screenshots/logs +- [ ] I have provided all required environment details + +/label ~bug ~needs-triage From 05263176acd3085acbe56a668e627011dde79b93 Mon Sep 17 00:00:00 2001 From: Muhamed Date: Mon, 10 Mar 2025 15:33:59 +0200 Subject: [PATCH 029/568] add a Star History --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d841b0c..c3661aa 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ [![PyPI version](https://badge.fury.io/py/ytsage.svg)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/) -[![Downloads](https://pepy.tech/badge/ytsage)](https://pepy.tech/project/ytsage) +[![Downloads](https://static.pepy.tech/badge/ytsage)](https://pepy.tech/project/ytsage) +[![Total Downloads](https://static.pepy.tech/badge/ytsage/month)](https://pepy.tech/project/ytsage) **A modern YouTube downloader with a clean PySide6 interface.** Download videos in any quality, extract audio, fetch subtitles, and more. @@ -31,7 +32,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more. | 🎥 Smart Video Quality | 🚫 SponsorBlock Integration | 💾 Save Download Path | | 🎵 Audio Extraction | 📝 Subtitle Support & Filtering | 🔄 Auto-Updates | | 📊 Real-time Progress | ⚙️ Custom Commands | 🛠️ FFmpeg Tools | -| 📋 Playlist Support | 🖼️ Thumbnail Management | ⚠️ Error Handling | +| 📋 Playlist Support | 🖼️ Save thumbnail | ⚠️ Error Handling | @@ -168,6 +169,14 @@ We welcome contributions! Here's how you can help: ``` 5. 🔄 Open a Pull Request +## 📊 Star History + +
+ +[![Star History Chart](https://api.star-history.com/svg?repos=oop7/YTSage&type=Date)](https://star-history.com/#oop7/YTSage&Date) + +
+ ## 📜 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. From ccc1105ef12679ad6b454fba743f3eb962ff26fc Mon Sep 17 00:00:00 2001 From: Muhamed Date: Mon, 10 Mar 2025 15:34:34 +0200 Subject: [PATCH 030/568] v4.2.0 --- __pycache__/ytsage_downloader.cpython-313.pyc | Bin 0 -> 18823 bytes __pycache__/ytsage_ffmpeg.cpython-313.pyc | Bin 0 -> 11274 bytes .../ytsage_gui_dialogs.cpython-313.pyc | Bin 0 -> 34343 bytes .../ytsage_gui_format_table.cpython-313.pyc | Bin 0 -> 17301 bytes __pycache__/ytsage_gui_main.cpython-313.pyc | Bin 0 -> 42296 bytes .../ytsage_gui_video_info.cpython-313.pyc | Bin 0 -> 17912 bytes __pycache__/ytsage_utils.cpython-313.pyc | Bin 0 -> 8519 bytes main.py | 24 +- ytsage_downloader.py | 216 +- ytsage_ffmpeg.py | 224 ++ ytsage_gui.py | 1800 ----------------- ytsage_gui_dialogs.py | 673 ++++++ ytsage_gui_format_table.py | 328 +++ ytsage_gui_main.py | 907 +++++++++ ytsage_gui_video_info.py | 351 ++++ ytsage_style.py | 135 ++ ytsage_utils.py | 144 +- 17 files changed, 2928 insertions(+), 1874 deletions(-) create mode 100644 __pycache__/ytsage_downloader.cpython-313.pyc create mode 100644 __pycache__/ytsage_ffmpeg.cpython-313.pyc create mode 100644 __pycache__/ytsage_gui_dialogs.cpython-313.pyc create mode 100644 __pycache__/ytsage_gui_format_table.cpython-313.pyc create mode 100644 __pycache__/ytsage_gui_main.cpython-313.pyc create mode 100644 __pycache__/ytsage_gui_video_info.cpython-313.pyc create mode 100644 __pycache__/ytsage_utils.cpython-313.pyc create mode 100644 ytsage_ffmpeg.py delete mode 100644 ytsage_gui.py create mode 100644 ytsage_gui_dialogs.py create mode 100644 ytsage_gui_format_table.py create mode 100644 ytsage_gui_main.py create mode 100644 ytsage_gui_video_info.py create mode 100644 ytsage_style.py diff --git a/__pycache__/ytsage_downloader.cpython-313.pyc b/__pycache__/ytsage_downloader.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a3a2b1a8b86a3c6d84ce8f0e917698af95272a82 GIT binary patch literal 18823 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 Zv3=bngvT`15VqHlWp_JGWEt+^{{WG8^~3-G literal 0 HcmV?d00001 diff --git a/__pycache__/ytsage_gui_dialogs.cpython-313.pyc b/__pycache__/ytsage_gui_dialogs.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c18b99d693861127023a0e43b9d786c8c1ca6589 GIT binary patch literal 34343 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

dT*fVe>Zz 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 O;=SDczCd^0xc>*##38Q$ literal 0 HcmV?d00001 diff --git a/__pycache__/ytsage_gui_format_table.cpython-313.pyc b/__pycache__/ytsage_gui_format_table.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ab68ded7174e625dd3543100e5447b374a8babb0 GIT binary patch literal 17301 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%0D2;Kw0+hzM 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 YFpV@(Mcb?R2L3gRZu}X8F~#No0WR(`=l}o! literal 0 HcmV?d00001 diff --git a/__pycache__/ytsage_utils.cpython-313.pyc b/__pycache__/ytsage_utils.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1bf3fa3704b5208663af3f04c081e49a8264b2c7 GIT binary patch literal 8519 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]', "", info.get('playlist_title', '')).strip() + base_path = os.path.join(self.path, playlist_title) + else: + base_path = self.path + + # Normalize the path to use consistent separators + base_path = os.path.normpath(base_path) + print(f"DEBUG: Base path: {base_path}") + + # Instead of trying to predict the exact filename, scan the directory + # and look for files that contain both the title and resolution + if os.path.exists(base_path): + for filename in os.listdir(base_path): + if filename.endswith('.mp4'): + # Check if both title parts and resolution are in the filename + title_words = title.lower().split() + filename_lower = filename.lower() + + # Check if most title words are in the filename + title_match = all(word in filename_lower for word in title_words[:3]) + resolution_match = resolution.lower() in filename_lower + + print(f"DEBUG: Checking file: {filename}, Title match: {title_match}, Resolution match: {resolution_match}") + + if title_match and resolution_match: + print(f"DEBUG: Found matching file: {filename}") + return filename + + print("DEBUG: No matching file found") + return None + except Exception as e: + print(f"DEBUG: Error checking file existence: {str(e)}") + import traceback + traceback.print_exc() + return None + def run(self): try: + print("DEBUG: Starting download thread") + # First check if file already exists + existing_file = self.check_file_exists() + if existing_file: + print(f"DEBUG: File exists, emitting signal: {existing_file}") + self.file_exists_signal.emit(existing_file) + return + + print("DEBUG: No existing file found, proceeding with download") class DebugLogger: def debug(self, msg): + # Print all debug messages to help diagnose issues + print(f"YT-DLP DEBUG: {msg}") + + # Check for file exists message - look for both patterns + if "already exists" in msg or "has already been downloaded" in msg: + print(f"FILE EXISTS DETECTED: {msg}") + # Try to extract the filename + import re + match = re.search(r'File (.*?) already exists', msg) + if not match: + match = re.search(r'(.*?) has already been downloaded', msg) + + if match: + filename = os.path.basename(match.group(1)) + self.thread.file_exists_signal.emit(filename) + raise Exception("FileExistsError") + # Add detection of post-processing messages if "Downloading" in msg: - self.thread.status_signal.emit("Downloading...") + self.thread.status_signal.emit("⚡ Downloading video...") elif "Post-process" in msg or "Sponsorblock" in msg: - self.thread.status_signal.emit("Post-processing: Removing sponsor segments...") + self.thread.status_signal.emit("✨ Post-processing: Removing sponsor segments...") self.thread.progress_signal.emit(99) # Keep progress bar at 99% - elif any(x in msg.lower() for x in ['downloading webpage', 'downloading api', 'extracting', 'downloading m3u8']): - self.thread.status_signal.emit("Preparing for download...") + elif any(x in msg.lower() for x in ['downloading webpage', 'downloading api']): + self.thread.status_signal.emit("🔍 Fetching video information...") + self.thread.progress_signal.emit(0) + elif 'extracting' in msg.lower(): + self.thread.status_signal.emit("📦 Extracting video data...") + self.thread.progress_signal.emit(0) + elif 'downloading m3u8' in msg.lower(): + self.thread.status_signal.emit("🎯 Preparing video streams...") self.thread.progress_signal.emit(0) def warning(self, msg): - self.thread.status_signal.emit(f"Warning: {msg}") + print(f"YT-DLP WARNING: {msg}") + self.thread.status_signal.emit(f"⚠️ Warning: {msg}") + # Also check for file exists in warnings + if "already exists" in msg or "has already been downloaded" in msg: + print(f"FILE EXISTS DETECTED IN WARNING: {msg}") + import re + match = re.search(r'File (.*?) already exists', msg) + if not match: + match = re.search(r'(.*?) has already been downloaded', msg) + + if match: + filename = os.path.basename(match.group(1)) + self.thread.file_exists_signal.emit(filename) + raise Exception("FileExistsError") def error(self, msg): - self.thread.status_signal.emit(f"Error: {msg}") + print(f"YT-DLP ERROR: {msg}") + self.thread.status_signal.emit(f"❌ Error: {msg}") + # Also check for file exists in errors + if "already exists" in msg or "has already been downloaded" in msg: + print(f"FILE EXISTS DETECTED IN ERROR: {msg}") + import re + match = re.search(r'File (.*?) already exists', msg) + if not match: + match = re.search(r'(.*?) has already been downloaded', msg) + + if match: + filename = os.path.basename(match.group(1)) + self.thread.file_exists_signal.emit(filename) + raise Exception("FileExistsError") def __init__(self, thread): self.thread = thread @@ -96,20 +217,32 @@ class DownloadThread(QThread): eta_str = "N/A" filename = os.path.basename(d.get('filename', '')) - status = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" self.status_signal.emit(status) except Exception as e: - self.status_signal.emit("Downloading...") + self.status_signal.emit("⚡ Downloading...") elif d['status'] == 'finished': if self.enable_sponsorblock: self.progress_signal.emit(99) - self.status_signal.emit("Post-processing: Removing sponsor segments...") + self.status_signal.emit("✨ Post-processing: Removing sponsor segments...") else: self.progress_signal.emit(100) - self.status_signal.emit("Download completed!") + self.status_signal.emit("✅ Download completed!") + + # Get the extension from the format_id + with yt_dlp.YoutubeDL({'quiet': True}) as ydl: + try: + info = ydl.extract_info(self.url, download=False) + selected_format = next( + f for f in info['formats'] + if str(f.get('format_id', '')) == self.format_id + ) + output_ext = selected_format.get('ext', 'mp4') + except Exception as e: + self.error_signal.emit(f"Failed to get video information: {str(e)}") + return # Base yt-dlp options with resolution in filename output_template = '%(title)s_%(resolution)s.%(ext)s' @@ -120,12 +253,13 @@ class DownloadThread(QThread): 'format': f'{self.format_id}+bestaudio/best', 'outtmpl': os.path.join(self.path, output_template), 'progress_hooks': [progress_hook], - 'merge_output_format': 'mkv' if self.merge_subs else 'mp4', + 'merge_output_format': 'mp4', 'logger': DebugLogger(self), 'postprocessors': [{ 'key': 'FFmpegVideoConvertor', - 'preferedformat': 'mkv' if self.merge_subs else 'mp4' - }] + 'preferedformat': 'mp4' + }], + 'force_overwrites': True } # Add subtitle options if selected @@ -140,6 +274,18 @@ class DownloadThread(QThread): 'skip_auto_subs': not is_auto, 'embedsubtitles': self.merge_subs, }) + + if self.merge_subs: + ydl_opts['postprocessors'].extend([ + { + 'key': 'FFmpegSubtitlesConvertor', + 'format': 'srt', + }, + { + 'key': 'FFmpegEmbedSubtitle', + 'already_have_subtitle': False, + } + ]) # Add SponsorBlock options if enabled if self.enable_sponsorblock: @@ -153,24 +299,34 @@ class DownloadThread(QThread): 'sponsorblock_chapter_title': '[SponsorBlock]', 'force_keyframes': False }]) - self.progress_signal.emit(99) - self.status_signal.emit("Post-processing: Removing sponsor segments...") - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([self.url]) + # Add playlist items if specified + if self.playlist_items: + ydl_opts['playlist_items'] = self.playlist_items - self.finished_signal.emit() + try: + # Download the video + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([self.url]) + + if not self.cancelled: + self.finished_signal.emit() + + # Clean up subtitle files after successful download + if self.merge_subs: + for filename in os.listdir(self.path): + if filename.lower().endswith(('.vtt', '.srt', '.ass')): + try: + os.remove(os.path.join(self.path, filename)) + except Exception as e: + self.error_signal.emit(f"Error deleting subtitle file: {str(e)}") - # Clean up subtitle files after successful download - if self.merge_subs: - for filename in os.listdir(self.path): - if filename.lower().endswith(('.vtt', '.srt', '.ass')): - try: - os.remove(os.path.join(self.path, filename)) - except Exception as e: - self.error_signal.emit(f"Error deleting subtitle file: {str(e)}") + except Exception as e: + if str(e) == "Download cancelled by user": + self.cleanup_partial_files() + self.error_signal.emit("Download cancelled") + else: + self.error_signal.emit(f"Download failed: {str(e)}") except Exception as e: - if str(e) == "Download cancelled by user": - self.cleanup_partial_files() - self.error_signal.emit(str(e)) \ No newline at end of file + self.error_signal.emit(f"Critical error: {str(e)}") \ No newline at end of file diff --git a/ytsage_ffmpeg.py b/ytsage_ffmpeg.py new file mode 100644 index 0000000..9441cb7 --- /dev/null +++ b/ytsage_ffmpeg.py @@ -0,0 +1,224 @@ +import os +import sys +import subprocess +import requests +import shutil +import tempfile +from pathlib import Path +from PySide6.QtGui import QIcon + +def check_7zip_installed(): + """Check if 7-Zip is installed on Windows.""" + try: + subprocess.run(['7z', '--help'], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) + return True + except (subprocess.SubprocessError, FileNotFoundError): + return False + +def download_file(url, dest_path, progress_callback=None): + """Download a file from URL to destination path with progress indication.""" + try: + response = requests.get(url, stream=True, timeout=30) # Added timeout + response.raise_for_status() # Check for HTTP errors + total_size = int(response.headers.get('content-length', 0)) + + with open(dest_path, 'wb') as f: + if total_size == 0: + f.write(response.content) + else: + downloaded = 0 + for data in response.iter_content(chunk_size=8192): + downloaded += len(data) + f.write(data) + if progress_callback: + progress = int((downloaded / total_size) * 100) + progress_callback(f"⚡ Downloading FFmpeg components... {progress}%") + return True + except requests.RequestException as e: + print(f"Download error: {str(e)}") + return False + +def get_ffmpeg_install_path(): + """Get the FFmpeg installation path.""" + if sys.platform == 'win32': + return os.path.join(os.getenv('LOCALAPPDATA'), 'ffmpeg', 'ffmpeg-7.1-full_build', 'bin') + elif sys.platform == 'darwin': + paths = ['/usr/local/bin', '/opt/homebrew/bin', '/usr/bin'] + for path in paths: + if os.path.exists(os.path.join(path, 'ffmpeg')): + return path + return '/usr/local/bin' # Default Homebrew path + else: + return '/usr/bin' # Standard Linux path + +def check_ffmpeg_installed(): + """Check if FFmpeg is installed and accessible.""" + try: + # First try the PATH + result = subprocess.run(['ffmpeg', '-version'], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=True, + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0, + timeout=5) # Added timeout + return True + except (subprocess.SubprocessError, FileNotFoundError): + # If not in PATH, check the installation directory + ffmpeg_path = get_ffmpeg_install_path() + if sys.platform == 'win32': + ffmpeg_exe = os.path.join(ffmpeg_path, 'ffmpeg.exe') + else: + ffmpeg_exe = os.path.join(ffmpeg_path, 'ffmpeg') + + if os.path.exists(ffmpeg_exe): + # Add to PATH if found + os.environ['PATH'] = f"{ffmpeg_path}{os.pathsep}{os.environ.get('PATH', '')}" + return True + return False + except Exception as e: + print(f"FFmpeg check error: {str(e)}") + return False + +def install_ffmpeg_windows(): + """Install FFmpeg on Windows using either 7z or zip method.""" + ffmpeg_path = get_ffmpeg_install_path() + + # Check if already installed + if check_ffmpeg_installed(): + print("✨ FFmpeg is already installed!") + return True + + try: + # Define variables + ffmpeg_url = "https://github.com/GyanD/codexffmpeg/releases/download/7.1/ffmpeg-7.1-full_build.7z" + zip_url = "https://github.com/GyanD/codexffmpeg/releases/download/7.1/ffmpeg-7.1-full_build.zip" + extract_dir = os.path.join(os.getenv('LOCALAPPDATA'), 'ffmpeg') + full_build_dir = os.path.join(extract_dir, 'ffmpeg-7.1-full_build') + bin_dir = os.path.join(full_build_dir, 'bin') + + # Create extraction directory if it doesn't exist + os.makedirs(extract_dir, exist_ok=True) + + # Choose installation method based on 7-Zip availability + use_7zip = check_7zip_installed() + temp_file = tempfile.NamedTemporaryFile(delete=False, + suffix='.7z' if use_7zip else '.zip').name + + # Download with progress callback + if not download_file(ffmpeg_url if use_7zip else zip_url, temp_file, + progress_callback=lambda msg: print(msg)): + raise Exception("Failed to download FFmpeg") + + print("🔧 Extracting FFmpeg components...") + try: + if use_7zip: + # Extract using 7-Zip + subprocess.run(['7z', 'x', temp_file, f'-o{extract_dir}', '-y'], + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0, + timeout=300) # 5-minute timeout + else: + # Extract using built-in Windows tools + import zipfile + with zipfile.ZipFile(temp_file, 'r') as zip_ref: + zip_ref.extractall(extract_dir) + except Exception as e: + raise Exception(f"Extraction failed: {str(e)}") + + print("⚙️ Configuring system paths...") + # Add to System Path + user_path = os.environ.get('PATH', '') + if bin_dir not in user_path: + subprocess.run(['setx', 'PATH', f"{user_path};{bin_dir}"], + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) + os.environ['PATH'] = f"{user_path};{bin_dir}" + + # Clean up + try: + os.unlink(temp_file) + except Exception: + pass # Ignore cleanup errors + + # Verify installation + if not check_ffmpeg_installed(): + raise Exception("FFmpeg installation verification failed") + + print("✨ FFmpeg installation completed successfully!") + return True + + except Exception as e: + print(f"❌ Error installing FFmpeg: {str(e)}") + return False + +def install_ffmpeg_macos(): + """Install FFmpeg on macOS using Homebrew.""" + try: + # Check if Homebrew is installed + try: + subprocess.run(['brew', '--version'], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=True, + timeout=5) + except (subprocess.SubprocessError, FileNotFoundError): + print("Installing Homebrew...") + brew_install_cmd = '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"' + subprocess.run(brew_install_cmd, shell=True, check=True, timeout=300) + + # Install FFmpeg + print("Installing FFmpeg...") + subprocess.run(['brew', 'install', 'ffmpeg'], check=True, timeout=300) + + # Verify installation + if not check_ffmpeg_installed(): + raise Exception("FFmpeg installation verification failed") + + return True + + except Exception as e: + print(f"Error installing FFmpeg: {str(e)}") + return False + +def install_ffmpeg_linux(): + """Install FFmpeg on Linux using appropriate package manager.""" + try: + # Detect the package manager + if shutil.which('apt'): + # Debian/Ubuntu + subprocess.run(['sudo', 'apt', 'update'], check=True, timeout=60) + subprocess.run(['sudo', 'apt', 'install', '-y', 'ffmpeg'], check=True, timeout=300) + elif shutil.which('dnf'): + # Fedora + subprocess.run(['sudo', 'dnf', 'install', '-y', 'ffmpeg'], check=True, timeout=300) + elif shutil.which('pacman'): + # Arch Linux + subprocess.run(['sudo', 'pacman', '-S', '--noconfirm', 'ffmpeg'], check=True, timeout=300) + elif shutil.which('snap'): + # Universal snap package + subprocess.run(['sudo', 'snap', 'install', 'ffmpeg'], check=True, timeout=300) + else: + raise Exception("No supported package manager found") + + # Verify installation + if not check_ffmpeg_installed(): + raise Exception("FFmpeg installation verification failed") + + return True + + except Exception as e: + print(f"Error installing FFmpeg: {str(e)}") + return False + +def auto_install_ffmpeg(): + """Automatically install FFmpeg based on the operating system.""" + if sys.platform == 'win32': + return install_ffmpeg_windows() + elif sys.platform == 'darwin': + return install_ffmpeg_macos() + elif sys.platform.startswith('linux'): + return install_ffmpeg_linux() + else: + print(f"Unsupported operating system: {sys.platform}") + return False \ No newline at end of file diff --git a/ytsage_gui.py b/ytsage_gui.py deleted file mode 100644 index 238faab..0000000 --- a/ytsage_gui.py +++ /dev/null @@ -1,1800 +0,0 @@ -import sys -import os -import webbrowser -from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, - QHBoxLayout, QLineEdit, QPushButton, QTableWidget, - QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup) -from PySide6.QtCore import Qt, Signal, QObject, QThread -from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap -import requests -from io import BytesIO -from PIL import Image -from datetime import datetime -import json -from pathlib import Path -from packaging import version -import subprocess -import re -import yt_dlp # Add this line - -from ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes -from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions - - -class LogWindow(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('yt-dlp Log') - self.setMinimumSize(700, 500) - - layout = QVBoxLayout(self) - - self.log_text = QTextEdit() - self.log_text.setReadOnly(True) - self.log_text.setStyleSheet(""" - QTextEdit { - background-color: #2b2b2b; - color: #ffffff; - font-family: Consolas, monospace; - font-size: 12px; - border: 2px solid #3d3d3d; - border-radius: 4px; - } - """) - - layout.addWidget(self.log_text) - - def append_log(self, message): - self.log_text.append(message) - # Auto-scroll to bottom - scrollbar = self.log_text.verticalScrollBar() - scrollbar.setValue(scrollbar.maximum()) - -class CustomCommandDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.parent = parent - self.setWindowTitle('Custom yt-dlp Command') - self.setMinimumSize(600, 400) - - layout = QVBoxLayout(self) - - # Help text - help_text = QLabel( - "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" - "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" - "Note: Download path and output template will be preserved." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - layout.addWidget(help_text) - - # Command input - self.command_input = QPlainTextEdit() - self.command_input.setPlaceholderText("Enter yt-dlp arguments...") - self.command_input.setStyleSheet(""" - QPlainTextEdit { - background-color: #363636; - color: #ffffff; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - } - """) - layout.addWidget(self.command_input) - - # Add SponsorBlock checkbox - self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; /* Make indicator round */ - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; /* Make indicator round */ - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; /* Make indicator round */ - } - """) - layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) - - # Buttons - button_layout = QHBoxLayout() - - self.run_btn = QPushButton("Run Command") - self.run_btn.clicked.connect(self.run_custom_command) - - self.close_btn = QPushButton("Close") - self.close_btn.clicked.connect(self.close) - - button_layout.addWidget(self.run_btn) - button_layout.addWidget(self.close_btn) - layout.addLayout(button_layout) - - # Log output - self.log_output = QTextEdit() - self.log_output.setReadOnly(True) - self.log_output.setStyleSheet(""" - QTextEdit { - background-color: #2b2b2b; - color: #ffffff; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - font-size: 12px; - } - """) - layout.addWidget(self.log_output) - - self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - """) - - def run_custom_command(self): - url = self.parent.url_input.text().strip() - if not url: - self.log_output.append("Error: No URL provided") - return - - command = self.command_input.toPlainText().strip() - path = self.parent.path_input.text().strip() - - self.log_output.clear() - self.log_output.append(f"Running command with URL: {url}") - self.run_btn.setEnabled(False) - - # Start command in thread - import threading - threading.Thread(target=self._run_command_thread, - args=(command, url, path), - daemon=True).start() - - def _run_command_thread(self, command, url, path): - try: - class CommandLogger: - def debug(self, msg): - self.dialog.log_output.append(msg) - def warning(self, msg): - self.dialog.log_output.append(f"Warning: {msg}") - def error(self, msg): - self.dialog.log_output.append(f"Error: {msg}") - def __init__(self, dialog): - self.dialog = dialog - - # Split command into arguments - args = command.split() - - # Base options - ydl_opts = { - 'logger': CommandLogger(self), - 'paths': {'home': path}, - 'debug_printout': True, - 'postprocessors': [] - } - - # Add SponsorBlock options if enabled - if self.sponsorblock_checkbox.isChecked(): - ydl_opts['postprocessors'].extend([{ - 'key': 'SponsorBlock', - 'categories': ['sponsor', 'selfpromo', 'interaction'], - 'api': 'https://sponsor.ajay.app' - }, { - 'key': 'ModifyChapters', - 'remove_sponsor_segments': ['sponsor', 'selfpromo', 'interaction'], - 'sponsorblock_chapter_title': '[SponsorBlock]: %(category_names)l', - 'force_keyframes': True - }]) - - # Add custom arguments - for i in range(0, len(args), 2): - if i + 1 < len(args): - key = args[i].lstrip('-').replace('-', '_') - value = args[i + 1] - try: - # Try to convert to appropriate type - if value.lower() in ('true', 'false'): - value = value.lower() == 'true' - elif value.isdigit(): - value = int(value) - ydl_opts[key] = value - except: - ydl_opts[key] = value - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([url]) - - self.log_output.append("Command completed successfully") - - except Exception as e: - self.log_output.append(f"Error: {str(e)}") - finally: - self.run_btn.setEnabled(True) - -class FFmpegCheckDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('FFmpeg Required') - self.setMinimumWidth(400) - - layout = QVBoxLayout(self) - - # Message - message_label = QLabel( - "FFmpeg is not installed. Please install it.\n" - "To install FFmpeg, click the button below." - ) - message_label.setWordWrap(True) - layout.addWidget(message_label) - - # Install button - install_btn = QPushButton("Install FFmpeg") - install_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/ffmpeg-install-guide')) - layout.addWidget(install_btn) - - # Close button - close_btn = QPushButton("Close") - close_btn.clicked.connect(self.close) - layout.addWidget(close_btn) - - # Style the dialog - self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - padding: 10px; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - """) - - -class YTDLPUpdateDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('Update yt-dlp') - self.setMinimumWidth(400) - - layout = QVBoxLayout(self) - - # Version info and message - self.version_label = QLabel() - self.version_label.setWordWrap(True) - layout.addWidget(self.version_label) - - self.message_label = QLabel( - "Would you like to update yt-dlp to the latest version?\n" - "This will download and install the latest yt-dlp executable." - ) - self.message_label.setWordWrap(True) - layout.addWidget(self.message_label) - - # Progress bar (hidden initially) - self.progress_bar = QProgressBar() - self.progress_bar.setVisible(False) - layout.addWidget(self.progress_bar) - - # Status label - self.status_label = QLabel() - self.status_label.setWordWrap(True) - layout.addWidget(self.status_label) - - # Buttons - button_layout = QHBoxLayout() - - self.update_btn = QPushButton("Update yt-dlp") - self.update_btn.clicked.connect(self.start_update) - self.update_btn.setEnabled(False) # Disabled until version check - - self.close_btn = QPushButton("Close") - self.close_btn.clicked.connect(self.close) - - button_layout.addWidget(self.update_btn) - button_layout.addWidget(self.close_btn) - layout.addLayout(button_layout) - - # Style the dialog - self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - padding: 10px; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - QPushButton:disabled { - background-color: #666666; - } - QProgressBar { - border: 2px solid #3d3d3d; - border-radius: 4px; - text-align: center; - color: white; - } - QProgressBar::chunk { - background-color: #ff0000; - } - """) - - # Check versions when dialog opens - self.check_versions() - - def check_versions(self): - import threading - threading.Thread(target=self._check_versions_thread, daemon=True).start() - - def _check_versions_thread(self): - try: - # Get current version with proper path - yt_dlp_path = get_yt_dlp_path() - if os.path.exists(yt_dlp_path): - try: - # Use the full path to yt-dlp executable - result = subprocess.run([yt_dlp_path, '--version'], - capture_output=True, - text=True, - timeout=5, - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) - if result.returncode == 0: - current_version = result.stdout.strip() - else: - # Try using pip to get version as fallback - try: - current_version = yt_dlp.version.__version__ - except: - current_version = "Not installed" - except (subprocess.SubprocessError, subprocess.TimeoutExpired): - # Try using pip to get version as fallback - try: - current_version = yt_dlp.version.__version__ - except: - current_version = "Not installed" - else: - # Try using pip to get version as fallback - try: - current_version = yt_dlp.version.__version__ - except: - current_version = "Not installed" - - # Get latest version from GitHub API with timeout - try: - response = requests.get( - "https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest", - timeout=10 - ) - response.raise_for_status() - latest_version = response.json()["tag_name"] - except Exception as e: - raise Exception(f"Could not fetch latest version: {str(e)}") - - self.version_label.setText( - f"Current version: {current_version}\n" - f"Latest version: {latest_version}" - ) - - if current_version == "Not installed" or current_version != latest_version: - self.update_btn.setEnabled(True) - self.message_label.setText("An update is available!") - else: - self.message_label.setText("You have the latest version installed.") - self.update_btn.setEnabled(False) - - except Exception as e: - self.version_label.setText("Could not check versions") - self.message_label.setText(f"Error: {str(e)}") - self.update_btn.setEnabled(True) - - - def start_update(self): - self.update_btn.setEnabled(False) - self.progress_bar.setVisible(True) - self.status_label.setText("Starting update...") - - # Start update in a separate thread - import threading - threading.Thread(target=self._update_thread, daemon=True).start() - - def _update_thread(self): - temp_path = None - try: - # Create necessary directories - target_path = get_yt_dlp_path() - os.makedirs(os.path.dirname(target_path), exist_ok=True) - - # Determine platform and get URLs - if sys.platform == 'win32': - url = 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe' - else: - url = 'https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp' - - temp_path = target_path + '.download' - - # Download with proper error handling - try: - response = requests.get(url, stream=True, timeout=30) - response.raise_for_status() - total_size = int(response.headers.get('content-length', 0)) - block_size = 8192 # Increased for better performance - - with open(temp_path, 'wb') as f: - for data in response.iter_content(block_size): - if data: # Filter out keep-alive chunks - f.write(data) - progress = int((f.tell() * 100) / total_size) if total_size > 0 else 0 - self.progress_bar.setValue(progress) - self.status_label.setText(f"Downloading: {progress}%") - except requests.exceptions.RequestException as e: - raise Exception(f"Download failed: {str(e)}") - - # Set proper permissions - if sys.platform != 'win32': - try: - os.chmod(temp_path, 0o755) - except Exception as e: - print(f"Warning: Could not set executable permissions: {e}") - - # Handle file replacement - try: - if os.path.exists(target_path): - if sys.platform == 'win32': - # Windows-specific file replacement - import ctypes - if not ctypes.windll.kernel32.MoveFileExW(target_path, None, 4): # MOVEFILE_DELAY_UNTIL_REBOOT - os.remove(target_path) - else: - os.remove(target_path) - except PermissionError: - raise Exception("Cannot update while yt-dlp is in use. Please close any active downloads and try again.") - except Exception as e: - raise Exception(f"Error removing existing file: {str(e)}") - - # Move temporary file to final location - try: - os.rename(temp_path, target_path) - except Exception as e: - raise Exception(f"Error moving new file into place: {str(e)}") - - self.status_label.setText("yt-dlp updated successfully!") - self.close_btn.setText("Done") - - # Refresh version info - self.check_versions() - - except Exception as e: - self.status_label.setText(f"Error updating yt-dlp: {str(e)}") - finally: - # Clean up temp file if it exists - if temp_path and os.path.exists(temp_path): - try: - os.remove(temp_path) - except: - pass - self.update_btn.setEnabled(True) - -class AboutDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('About YTSage') - self.setMinimumWidth(500) - - layout = QVBoxLayout(self) - - # App title and version - title_label = QLabel("YTSage") - title_label.setStyleSheet(""" - font-size: 24px; - font-weight: bold; - color: #ff0000; - padding: 10px; - """) - title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - layout.addWidget(title_label) - - version_label = QLabel(f"Version {parent.version}") - version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - layout.addWidget(version_label) - - # Description - description = QLabel( - "A modern YouTube downloader with a clean interface.\n" - "Download videos in any quality, extract audio, fetch subtitles,\n" - "and view video metadata. Built with yt-dlp for reliable performance." - ) - description.setWordWrap(True) - description.setAlignment(Qt.AlignmentFlag.AlignCenter) - layout.addWidget(description) - - # Features list - features_label = QLabel( - "Key Features:\n" - "• Smart video quality selection\n" - "• Audio extraction\n" - "• Subtitle support\n" - "• Playlist downloads\n" - "• Real-time progress tracking\n" - "• Custom command support\n" - "• SponsorBlock Integration\n" - "• SponsorBlock Integration\n" - "• One-click updates" - ) - features_label.setStyleSheet("padding: 10px;") - layout.addWidget(features_label) - - # Credits - credits_label = QLabel( - "Powered by:\n" - "• yt-dlp\n" - "• PySide6\n" - "• FFmpeg" - ) - credits_label.setStyleSheet("padding: 10px;") - layout.addWidget(credits_label) - - # GitHub link - github_btn = QPushButton("Visit GitHub Repository") - github_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/YTSage')) - layout.addWidget(github_btn) - - # Close button - close_btn = QPushButton("Close") - close_btn.clicked.connect(self.close) - layout.addWidget(close_btn) - - # Style the dialog - self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - """) - - -class YTSageApp(QMainWindow): # Renamed class to YTSageApp to avoid name conflict with original file name - def __init__(self): - super().__init__() - # Check for FFmpeg before proceeding - if not check_ffmpeg(): - self.show_ffmpeg_dialog() - - self.version = "4.0.0" - self.check_for_updates() - self.config_file = Path.home() / '.ytsage_config.json' - load_saved_path(self) - self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) - self.signals = SignalManager() - self.download_paused = False - self.current_download = None - self.download_cancelled = False - self.save_thumbnail = False # Initialize thumbnail state - self.thumbnail_url = None # Add this to store thumbnail URL - self.init_ui() - self.setStyleSheet(""" - QMainWindow { - background-color: #2b2b2b; - } - QWidget { - background-color: #2b2b2b; - color: #ffffff; - } - QLineEdit { - padding: 8px; - border: 2px solid #3d3d3d; - border-radius: 4px; - background-color: #363636; - color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; /* YouTube red */ - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; /* Darker red on hover */ - } - QPushButton:pressed { - background-color: #990000; /* Even darker red when pressed */ - } - QTableWidget { - border: 2px solid #3d3d3d; - border-radius: 4px; - background-color: #363636; - gridline-color: #3d3d3d; - } - QHeaderView::section { - background-color: #2b2b2b; - padding: 5px; - border: 1px solid #3d3d3d; - color: #ffffff; - } - QProgressBar { - border: 2px solid #3d3d3d; - border-radius: 4px; - text-align: center; - color: white; - } - QProgressBar::chunk { - background-color: #ff0000; /* YouTube red */ - border-radius: 2px; - } - QLabel { - color: #ffffff; - } - /* Style for filter buttons */ - QPushButton.filter-btn { - background-color: #363636; - padding: 5px 10px; - margin: 0 5px; - } - QPushButton.filter-btn:checked { - background-color: #ff0000; - } - QPushButton.filter-btn:hover { - background-color: #444444; - } - QPushButton.filter-btn:checked:hover { - background-color: #cc0000; - } - /* Modern Scrollbar Styling */ - QScrollBar:vertical { - border: none; - background: #2b2b2b; - width: 14px; - margin: 15px 0 15px 0; - border-radius: 7px; - } - QScrollBar::handle:vertical { - background: #404040; - min-height: 30px; - border-radius: 7px; - } - QScrollBar::handle:vertical:hover { - background: #505050; - } - QScrollBar::sub-line:vertical { - border: none; - background: #2b2b2b; - height: 15px; - border-top-left-radius: 7px; - border-top-right-radius: 7px; - subcontrol-position: top; - subcontrol-origin: margin; - } - QScrollBar::add-line:vertical { - border: none; - background: #2b2b2b; - height: 15px; - border-bottom-left-radius: 7px; - border-bottom-right-radius: 7px; - subcontrol-position: bottom; - subcontrol-origin: margin; - } - QScrollBar::sub-line:vertical:hover, - QScrollBar::add-line:vertical:hover { - background: #404040; - } - QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; - width: 0; - height: 0; - } - QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; - } - /* Horizontal Scrollbar */ - QScrollBar:horizontal { - border: none; - background: #2b2b2b; - height: 14px; - margin: 0 15px 0 15px; - border-radius: 7px; - } - QScrollBar::handle:horizontal { - background: #404040; - min-width: 30px; - border-radius: 7px; - } - QScrollBar::handle:horizontal:hover { - background: #505050; - } - QScrollBar::sub-line:horizontal { - border: none; - background: #2b2b2b; - width: 15px; - border-top-left-radius: 7px; - border-bottom-left-radius: 7px; - subcontrol-position: left; - subcontrol-origin: margin; - } - QScrollBar::add-line:horizontal { - border: none; - background: #2b2b2b; - width: 15px; - border-top-right-radius: 7px; - border-bottom-right-radius: 7px; - subcontrol-position: right; - subcontrol-origin: margin; - } - QScrollBar::sub-line:horizontal:hover, - QScrollBar::add-line:horizontal:hover { - background: #404040; - } - QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; - width: 0; - height: 0; - } - QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; - } - """) - self.signals.update_progress.connect(self.update_progress_bar) - - def load_saved_path(self): # Using function from ytsage_utils now - no longer needed in class - pass # Handled in class init now via ytsage_utils.load_saved_path(self) - - def save_path(self, path): # Using function from ytsage_utils now - no longer needed in class - save_path(self, path) # Call the utility function - - def init_ui(self): - self.setWindowTitle('YTSage v4.0.0') - self.setMinimumSize(900, 600) - - # Main widget and layout - main_widget = QWidget() - self.setCentralWidget(main_widget) - layout = QVBoxLayout(main_widget) - layout.setSpacing(10) - layout.setContentsMargins(20, 20, 20, 20) - - # URL input section - url_layout = QHBoxLayout() - self.url_input = QLineEdit() - self.url_input.setPlaceholderText('Enter YouTube URL...') - - # Add Paste URL button - self.paste_btn = QPushButton('Paste URL') - self.paste_btn.clicked.connect(self.paste_url) - - self.analyze_btn = QPushButton('Analyze') - self.analyze_btn.clicked.connect(self.analyze_url) - - url_layout.addWidget(self.url_input) - url_layout.addWidget(self.paste_btn) - url_layout.addWidget(self.analyze_btn) - layout.addLayout(url_layout) - - # Create a horizontal layout for thumbnail and video info - media_info_layout = QHBoxLayout() - - # Thumbnail on the left - self.thumbnail_label = QLabel() - self.thumbnail_label.setFixedSize(320, 180) - self.thumbnail_label.setStyleSheet("border: 2px solid #3d3d3d; border-radius: 4px;") - self.thumbnail_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - media_info_layout.addWidget(self.thumbnail_label) - - # Video information on the right - video_info_layout = QVBoxLayout() - self.title_label = QLabel() - self.title_label.setWordWrap(True) - self.title_label.setStyleSheet("font-size: 14px; font-weight: bold;") - - self.channel_label = QLabel() - self.views_label = QLabel() - self.date_label = QLabel() - self.duration_label = QLabel() - - # Style the info labels - for label in [self.channel_label, self.views_label, self.date_label, self.duration_label]: - label.setStyleSheet(""" - QLabel { - color: #cccccc; - font-size: 12px; - padding: 2px 0; - } - """) - - # Subtitle section with improved styling - subtitle_layout = QHBoxLayout() - self.subtitle_check = QPushButton("Download Subtitles") - self.subtitle_check.setCheckable(True) - self.subtitle_check.clicked.connect(self.toggle_subtitle_controls) - self.subtitle_check.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 10px; - } - QPushButton:checked { - background-color: #ff0000; - border-color: #cc0000; - } - """) - subtitle_layout.addWidget(self.subtitle_check) - - # Create subtitle combo box - self.subtitle_combo = QComboBox() - self.subtitle_combo.setVisible(False) - self.subtitle_combo.setStyleSheet(""" - QComboBox { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - min-width: 200px; - } - QComboBox::drop-down { - border: none; - } - QComboBox::down-arrow { - image: url(down_arrow.png); - width: 12px; - height: 12px; - } - QComboBox QAbstractItemView { - background-color: #363636; - selection-background-color: #ff0000; - selection-color: white; - } - """) - - # Create subtitle filter input - self.subtitle_filter_input = QLineEdit() - self.subtitle_filter_input.setPlaceholderText("Filter languages (e.g., en, es)") - self.subtitle_filter_input.setMaximumWidth(200) - self.subtitle_filter_input.textChanged.connect(self.filter_subtitles) - self.subtitle_filter_input.setVisible(False) - self.subtitle_filter_input.setStyleSheet(""" - QLineEdit { - background-color: #363636; - color: #ffffff; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - } - QLineEdit:focus { - border-color: #ff0000; - } - """) - - # Add filter label and components to layout - self.subtitle_filter_label = QLabel("Filter:") - self.subtitle_filter_label.setVisible(False) - subtitle_layout.addWidget(self.subtitle_filter_label) - subtitle_layout.addWidget(self.subtitle_filter_input) - subtitle_layout.addWidget(self.subtitle_combo) - - # Add merge subtitle toggle button - self.merge_subs_btn = QPushButton('Merge Subtitles') - self.merge_subs_btn.setCheckable(True) - self.merge_subs_btn.setVisible(False) - self.merge_subs_btn.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 10px; - } - QPushButton:checked { - background-color: #ff0000; - border-color: #cc0000; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:checked:hover { - background-color: #cc0000; - } - """) - subtitle_layout.addWidget(self.merge_subs_btn) - - subtitle_layout.addStretch() - - # Add all info widgets to the video info layout - video_info_layout.addWidget(self.title_label) - video_info_layout.addWidget(self.channel_label) - video_info_layout.addWidget(self.views_label) - video_info_layout.addWidget(self.date_label) - video_info_layout.addWidget(self.duration_label) - video_info_layout.addLayout(subtitle_layout) - video_info_layout.addStretch() - - media_info_layout.addLayout(video_info_layout) - layout.addLayout(media_info_layout) - - # Add playlist information section with improved styling - self.playlist_info_label = QLabel() - self.playlist_info_label.setVisible(False) - self.playlist_info_label.setStyleSheet(""" - QLabel { - font-size: 12px; - color: #ff9900; - padding: 5px; - background-color: #363636; - border-radius: 4px; - } - """) - layout.addWidget(self.playlist_info_label) - - # Create format selection layout (horizontal) - self.format_layout = QHBoxLayout() - - # Show formats label - self.show_formats_label = QLabel("Show formats:") - self.show_formats_label.setStyleSheet("color: white;") - self.format_layout.addWidget(self.show_formats_label) - - # Format buttons group - self.format_buttons = QButtonGroup(self) - self.format_buttons.setExclusive(True) - - # Video button - self.video_button = QPushButton("Video") - self.video_button.setCheckable(True) - self.video_button.setChecked(True) # Set video as default - self.video_button.setStyleSheet(""" - QPushButton { - padding: 8px 15px; - background-color: #363636; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:checked { - background-color: #ff0000; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:checked:hover { - background-color: #cc0000; - } - """) - self.format_buttons.addButton(self.video_button) - self.format_layout.addWidget(self.video_button) - - # Audio button - self.audio_button = QPushButton("Audio Only") - self.audio_button.setCheckable(True) - self.audio_button.setStyleSheet(""" - QPushButton { - padding: 8px 15px; - background-color: #363636; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:checked { - background-color: #ff0000; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:checked:hover { - background-color: #cc0000; - } - """) - self.format_buttons.addButton(self.audio_button) - self.format_layout.addWidget(self.audio_button) - - # Connect format buttons - self.format_buttons.buttonClicked.connect(self.handle_format_selection) - - # Add SponsorBlock checkbox - self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; - } - """) - self.format_layout.addWidget(self.sponsorblock_checkbox) - - # Add Save Thumbnail checkbox with same style as SponsorBlock - self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") - self.save_thumbnail_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; - } - """) - self.save_thumbnail_checkbox.clicked.connect(self.toggle_save_thumbnail) - self.format_layout.addWidget(self.save_thumbnail_checkbox) - - self.format_layout.addStretch() - - # Add format layout to main layout - layout.addLayout(self.format_layout) - - # Format table with improved styling - self.format_table = QTableWidget() - self.format_table.setColumnCount(6) - self.format_table.setHorizontalHeaderLabels(['Format ID', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio']) - self.format_table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) - self.format_table.setStyleSheet(""" - QTableWidget { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - gridline-color: #3d3d3d; - } - QTableWidget::item { - padding: 5px; - } - QTableWidget::item:selected { - background-color: #ff0000; - } - QHeaderView::section { - background-color: #2b2b2b; - padding: 5px; - border: 1px solid #3d3d3d; - font-weight: bold; - } - """) - layout.addWidget(self.format_table) - - # Download section - download_layout = QHBoxLayout() - - # Add existing buttons - self.custom_cmd_btn = QPushButton('Custom Command') - self.custom_cmd_btn.clicked.connect(self.show_custom_command) - - self.update_ytdlp_btn = QPushButton('Update yt-dlp') - self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) - - self.about_btn = QPushButton('About') - self.about_btn.clicked.connect(self.show_about_dialog) - - self.path_input = QLineEdit(self.last_path) - self.path_input.setPlaceholderText('Download path...') - - self.browse_btn = QPushButton('Browse') - self.browse_btn.clicked.connect(self.browse_path) - - self.download_btn = QPushButton('Download') - self.download_btn.clicked.connect(self.start_download) - - # Add pause and cancel buttons - self.pause_btn = QPushButton('Pause') - self.pause_btn.clicked.connect(self.toggle_pause) - self.pause_btn.setVisible(False) # Hidden initially - - self.cancel_btn = QPushButton('Cancel') - self.cancel_btn.clicked.connect(self.cancel_download) - self.cancel_btn.setVisible(False) # Hidden initially - - # Add all buttons to layout in the correct order - download_layout.addWidget(self.custom_cmd_btn) - download_layout.addWidget(self.update_ytdlp_btn) - download_layout.addWidget(self.about_btn) - download_layout.addWidget(self.path_input) - download_layout.addWidget(self.browse_btn) - download_layout.addWidget(self.download_btn) - download_layout.addWidget(self.pause_btn) - download_layout.addWidget(self.cancel_btn) - - layout.addLayout(download_layout) - - # Progress section with improved styling - progress_layout = QVBoxLayout() - self.progress_bar = QProgressBar() - self.progress_bar.setStyleSheet(""" - QProgressBar { - border: 2px solid #3d3d3d; - border-radius: 4px; - text-align: center; - color: white; - background-color: #363636; - height: 25px; - } - QProgressBar::chunk { - background-color: #ff0000; - border-radius: 2px; - } - """) - progress_layout.addWidget(self.progress_bar) - - # Add download details label with improved styling - self.download_details_label = QLabel() - self.download_details_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.download_details_label.setStyleSheet(""" - QLabel { - color: #cccccc; - font-size: 12px; - padding: 5px; - } - """) - progress_layout.addWidget(self.download_details_label) - - self.status_label = QLabel('Ready') - self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.status_label.setStyleSheet(""" - QLabel { - color: #cccccc; - font-size: 12px; - padding: 5px; - } - """) - progress_layout.addWidget(self.status_label) - - layout.addLayout(progress_layout) - - # Connect signals - self.signals.update_formats.connect(self.update_format_table) - self.signals.update_status.connect(self.status_label.setText) - self.signals.update_progress.connect(self.update_progress_bar) - - def analyze_url(self): - url = self.url_input.text().strip() - if not url: - self.signals.update_status.emit("Invalid URL or please enter a URL.") - return - - self.signals.update_status.emit("Analyzing (0%)... Preparing request") - import threading # Import threading here as it is only used in GUI and downloader - threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() - - def _analyze_url_thread(self, url): - try: - self.signals.update_status.emit("Analyzing (20%)... Extracting basic info") - - # Clean up the URL to handle both playlist and video URLs - if 'list=' in url and 'watch?v=' in url: - playlist_id = url.split('list=')[1].split('&')[0] - url = f'https://www.youtube.com/playlist?list={playlist_id}' - - # Initial extraction with basic options - ydl_opts = { - 'quiet': False, - 'no_warnings': False, - 'extract_flat': True, - 'force_generic_extractor': False, - 'ignoreerrors': True, - 'no_color': True, - 'verbose': True - } - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - try: - basic_info = ydl.extract_info(url, download=False) - if not basic_info: - raise Exception("Could not extract basic video information") - except Exception as e: - print(f"First extraction failed: {str(e)}") - raise Exception("Could not extract video information, please check your link") - - self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") - # Configure options for detailed extraction - ydl_opts.update({ - 'extract_flat': False, - 'format': None, - 'writesubtitles': True, - 'allsubtitles': True, - 'writeautomaticsub': True, - 'playliststart': 1, - 'playlistend': 1, - 'youtube_include_dash_manifest': True, - 'youtube_include_hls_manifest': True - }) - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - try: - self.signals.update_status.emit("Analyzing (60%)... Processing video data") - if basic_info.get('_type') == 'playlist': - self.is_playlist = True - self.playlist_info = basic_info - - # Get the first video URL from the playlist - first_video = None - for entry in basic_info['entries']: - if entry: - first_video = entry - break - - if not first_video: - raise Exception("No valid videos found in playlist") - - # Get the video URL - video_url = first_video.get('url') or first_video.get('webpage_url') - if not video_url: - raise Exception("Could not extract video URL from playlist") - - # Extract detailed information for the first video - self.video_info = ydl.extract_info(video_url, download=False) - - # Update playlist info - playlist_text = f"Playlist: {basic_info.get('title', 'Unknown')} | {len(basic_info['entries'])} videos" - self.playlist_info_label.setText(playlist_text) - self.playlist_info_label.setVisible(True) - else: - self.is_playlist = False - self.video_info = ydl.extract_info(url, download=False) - self.playlist_info_label.setVisible(False) - - # Verify we have format information - if not self.video_info or 'formats' not in self.video_info: - print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") - raise Exception("No format information available") - - self.signals.update_status.emit("Analyzing (80%)... Processing formats") - self.all_formats = self.video_info['formats'] - - # Update UI - self.update_video_info(self.video_info) - - # Update thumbnail - self.signals.update_status.emit("Analyzing (90%)... Loading thumbnail") - self.download_thumbnail(self.video_info.get('thumbnail')) - - # Save thumbnail if enabled - use the stored VIDEO URL - if self.save_thumbnail: - self.download_thumbnail_file(self.video_url, self.path_input.text()) - - # Update subtitles - self.signals.update_status.emit("Analyzing (95%)... Processing subtitles") - self.available_subtitles = self.video_info.get('subtitles', {}) - self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) - self.update_subtitle_list() - - # Update format table - self.signals.update_status.emit("Analyzing (98%)... Updating format table") - self.video_button.setChecked(True) - self.audio_button.setChecked(False) - self.filter_formats() - - self.signals.update_status.emit("Analysis complete!") - - except Exception as e: - print(f"Detailed extraction failed: {str(e)}") - raise Exception(f"Failed to extract video details: {str(e)}") - - except Exception as e: - error_message = str(e) - print(f"Error in analysis: {error_message}") - self.signals.update_status.emit(f"Error: {error_message}") - - def update_video_info(self, info): - # Format view count with commas - views = int(info.get('view_count', 0)) - formatted_views = f"{views:,}" - - # Format upload date - upload_date = info.get('upload_date', '') - if upload_date: - date_obj = datetime.strptime(upload_date, '%Y%m%d') - formatted_date = date_obj.strftime('%B %d, %Y') - else: - formatted_date = 'Unknown date' - - # Format duration - duration = info.get('duration', 0) - minutes = duration // 60 - seconds = duration % 60 - duration_str = f"{minutes}:{seconds:02d}" - - # Update labels - self.title_label.setText(info.get('title', 'Unknown title')) - self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") - self.views_label.setText(f"Views: {formatted_views}") - self.date_label.setText(f"Upload date: {formatted_date}") - self.duration_label.setText(f"Duration: {duration_str}") - - def toggle_subtitle_controls(self): - is_checked = self.subtitle_check.isChecked() - self.merge_subs_btn.setVisible(is_checked) - self.subtitle_combo.setVisible(is_checked) - self.subtitle_filter_input.setVisible(is_checked) - self.subtitle_filter_label.setVisible(is_checked) - - def update_subtitle_list(self): - self.subtitle_combo.clear() - - if not (self.available_subtitles or self.available_automatic_subtitles): - self.subtitle_combo.addItem("No subtitles available") - return - - # Add subtitle options - self.subtitle_combo.addItem("Select subtitle language") - - # Filter and add subtitles - filter_text = self.subtitle_filter_input.text().lower() - - # Add manual subtitles - for lang_code, subtitle_info in self.available_subtitles.items(): - if not filter_text or filter_text in lang_code.lower(): - self.subtitle_combo.addItem(f"{lang_code} - Manual") - - # Add auto-generated subtitles - for lang_code, subtitle_info in self.available_automatic_subtitles.items(): - if not filter_text or filter_text in lang_code.lower(): - self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") - - def filter_subtitles(self): - self.subtitle_filter = self.subtitle_filter_input.text() - self.update_subtitle_list() - - def download_thumbnail(self, url): - try: - # Store both thumbnail URL and video URL - self.thumbnail_url = url - self.video_url = self.url_input.text() # Get actual video URL - - # Download thumbnail but don't save yet - response = requests.get(url) - self.thumbnail_image = Image.open(BytesIO(response.content)) - - # Display thumbnail - image = self.thumbnail_image.resize((320, 180), Image.Resampling.LANCZOS) - img_byte_arr = BytesIO() - image.save(img_byte_arr, format='PNG') - pixmap = QPixmap() - pixmap.loadFromData(img_byte_arr.getvalue()) - self.thumbnail_label.setPixmap(pixmap) - except Exception as e: - print(f"Error loading thumbnail: {str(e)}") - - def filter_formats(self): - # Clear current table - self.format_table.setRowCount(0) - - # Determine which formats to show - filtered_formats = [] - - if self.video_button.isChecked(): - # Include all video formats (both with and without audio) - filtered_formats.extend([f for f in self.all_formats - if f.get('vcodec') != 'none' - and f.get('filesize') is not None]) - - if self.audio_button.isChecked(): - # Add audio-only formats - filtered_formats.extend([f for f in self.all_formats - if (f.get('vcodec') == 'none' - or 'audio only' in f.get('format_note', '').lower()) - and f.get('acodec') != 'none' - and f.get('filesize') is not None]) - - # Sort formats by quality - def get_quality(f): - if f.get('vcodec') != 'none': - # Extract height from resolution (e.g., "1920x1080" -> 1080) - res = f.get('resolution', '0x0').split('x')[-1] - try: - return int(res) - except ValueError: - return 0 - else: - return f.get('abr', 0) - - filtered_formats.sort(key=get_quality, reverse=True) - - # Update table with filtered formats - self.update_format_table(filtered_formats) - - def update_format_table(self, formats): - self.format_table.setRowCount(0) - for f in formats: - row = self.format_table.rowCount() - self.format_table.insertRow(row) - - # Format ID - self.format_table.setItem(row, 0, QTableWidgetItem(str(f.get('format_id', '')))) - - # Extension - self.format_table.setItem(row, 1, QTableWidgetItem(f.get('ext', ''))) - - # Resolution - resolution = f.get('resolution', 'N/A') - if f.get('vcodec') == 'none': - resolution = 'Audio only' - self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) - - # File Size - filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" - self.format_table.setItem(row, 3, QTableWidgetItem(filesize)) - - # Codec - if f.get('vcodec') == 'none': - codec = f.get('acodec', 'N/A') - else: - codec = f"{f.get('vcodec', 'N/A')}" - if f.get('acodec') != 'none': - codec += f" / {f.get('acodec', 'N/A')}" - self.format_table.setItem(row, 4, QTableWidgetItem(codec)) - - # Audio Status - needs_audio = f.get('acodec') == 'none' - audio_status = "Will merge audio" if needs_audio else "✓ Has Audio" - audio_item = QTableWidgetItem(audio_status) - if needs_audio: - audio_item.setForeground(QColor('#ffa500')) # Orange for merge indication - self.format_table.setItem(row, 5, audio_item) - - def browse_path(self): - path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.last_path) - if path: - self.path_input.setText(path) - self.save_path(path) # Use save_path utility function - self.last_path = path - - def start_download(self): - url = self.url_input.text().strip() - path = self.path_input.text().strip() - - if not url or not path: - self.status_label.setText("Please enter URL and download path") - return - - # Get selected format - selected_items = self.format_table.selectedItems() - if not selected_items: - self.status_label.setText("Please select a format") - return - - format_id = self.format_table.item(selected_items[0].row(), 0).text() - - # Get resolution for filename - resolution = self.format_table.item(selected_items[0].row(), 2).text() - resolution = resolution.replace(' ', '').lower() # Clean up resolution string - - # Get subtitle selection if available - subtitle_lang = None - if hasattr(self, 'subtitle_combo') and self.subtitle_combo.currentIndex() > 0: - subtitle_lang = self.subtitle_combo.currentText() - - # Check if it's a playlist - is_playlist = 'playlist' in url.lower() and '/watch?' not in url - - # Save thumbnail if enabled - if self.save_thumbnail: - self.download_thumbnail_file(url, path) - - # Create download thread with resolution in output template - self.download_thread = DownloadThread( - url=url, - path=path, - format_id=format_id, - subtitle_lang=subtitle_lang, - is_playlist=is_playlist, - merge_subs=bool(subtitle_lang), - enable_sponsorblock=self.sponsorblock_checkbox.isChecked(), - resolution=resolution - ) - - # Connect signals - self.download_thread.progress_signal.connect(self.update_progress_bar) - self.download_thread.status_signal.connect(self.signals.update_status.emit) - self.download_thread.finished_signal.connect(self.download_finished) - self.download_thread.error_signal.connect(self.download_error) - - # Reset download state - self.download_paused = False - self.download_cancelled = False - - # Show pause/cancel buttons - self.pause_btn.setText('Pause') - self.pause_btn.setVisible(True) - self.cancel_btn.setVisible(True) - - # Start download thread - self.current_download = self.download_thread - self.download_thread.start() - self.toggle_download_controls(False) - - def download_finished(self): - self.toggle_download_controls(True) - self.pause_btn.setVisible(False) - self.cancel_btn.setVisible(False) - self.progress_bar.setValue(100) - self.status_label.setText("Download completed!") - - def download_error(self, error_message): - self.toggle_download_controls(True) - self.pause_btn.setVisible(False) - self.cancel_btn.setVisible(False) - self.status_label.setText(f"Error: {error_message}") - - def update_progress_bar(self, value): - try: - # Ensure the value is an integer - int_value = int(value) - self.progress_bar.setValue(int_value) - except Exception as e: - print(f"Progress bar update error: {str(e)}") - - def toggle_pause(self): - if self.current_download: - self.current_download.paused = not self.current_download.paused - if self.current_download.paused: - self.pause_btn.setText('Resume') - self.signals.update_status.emit("Download paused") - else: - self.pause_btn.setText('Pause') - self.signals.update_status.emit("Download resumed") - - def check_for_updates(self): - try: - # Get the latest release info from GitHub - response = requests.get( - "https://api.github.com/repos/oop7/YTSage/releases/latest", - headers={"Accept": "application/vnd.github.v3+json"} - ) - response.raise_for_status() - - latest_release = response.json() - latest_version = latest_release["tag_name"].lstrip('v') - - # Compare versions - if version.parse(latest_version) > version.parse(self.version): - self.show_update_dialog(latest_version, latest_release["html_url"]) - except Exception as e: - print(f"Failed to check for updates: {str(e)}") - - def show_update_dialog(self, latest_version, release_url): - msg = QDialog(self) - msg.setWindowTitle("Update Available") - msg.setMinimumWidth(400) - - layout = QVBoxLayout(msg) - - # Update message - message_label = QLabel( - f"A new version of YTSage is available!\n\n" - f"Current version: {self.version}\n" - f"Latest version: {latest_version}" - ) - message_label.setWordWrap(True) - layout.addWidget(message_label) - - # Buttons - button_layout = QHBoxLayout() - - download_btn = QPushButton("Download Update") - download_btn.clicked.connect(lambda: self.open_release_page(release_url)) - - remind_btn = QPushButton("Remind Me Later") - remind_btn.clicked.connect(msg.close) - - button_layout.addWidget(download_btn) - button_layout.addWidget(remind_btn) - layout.addLayout(button_layout) - - # Style the dialog - msg.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - padding: 10px; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #cc0000; - } - """) - - msg.show() - - def open_release_page(self, url): - webbrowser.open(url) - - def show_custom_command(self): - dialog = CustomCommandDialog(self) - dialog.exec() - - def cancel_download(self): - if self.current_download: - self.current_download.cancelled = True - self.signals.update_status.emit("Cancelling download...") - - - def show_ffmpeg_dialog(self): - dialog = FFmpegCheckDialog(self) - dialog.exec() - - def paste_url(self): - clipboard = QApplication.clipboard() - self.url_input.setText(clipboard.text()) - - def update_ytdlp(self): - dialog = YTDLPUpdateDialog(self) - dialog.exec() - - def toggle_save_thumbnail(self): - self.save_thumbnail = self.save_thumbnail_checkbox.isChecked() - print(f"Save thumbnail toggled: {self.save_thumbnail}") # Debug print - - def download_thumbnail_file(self, video_url, path): - if not self.save_thumbnail: - return False - - try: - from yt_dlp import YoutubeDL - import requests # Use requests instead of urlopen - - print(f"Attempting to save thumbnail for URL: {video_url}") - - ydl_opts = { - 'quiet': True, - 'skip_download': True, - 'force_generic_extractor': False, - 'no_warnings': True, - 'extract_flat': False - } - - with YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(video_url, download=False) - thumbnails = info.get('thumbnails', []) - - if not thumbnails: - raise ValueError("No thumbnails available") - - thumbnail_url = max( - thumbnails, - key=lambda t: (t.get('height', 0) or 0) * (t.get('width', 0) or 0) - ).get('url') - - if not thumbnail_url: - raise ValueError("Failed to extract thumbnail URL") - - # Download using requests - response = requests.get(thumbnail_url) - response.raise_for_status() - - # Save the thumbnail - thumb_dir = os.path.join(path, 'Thumbnails') - os.makedirs(thumb_dir, exist_ok=True) - - filename = f"{self.sanitize_filename(info['title'])}.jpg" - thumbnail_path = os.path.join(thumb_dir, filename) - - with open(thumbnail_path, 'wb') as f: - f.write(response.content) - - print(f"Thumbnail saved to: {thumbnail_path}") - self.signals.update_status.emit(f"✅ Thumbnail saved: {filename}") - return True - - except Exception as e: - error_msg = f"❌ Thumbnail error: {str(e)}" - print(f"Thumbnail Save Error: {str(e)}") - self.signals.update_status.emit(error_msg) - return False - - def sanitize_filename(self, name): - """Clean filename for filesystem safety""" - return re.sub(r'[\\/*?:"<>|]', "", name).strip()[:75] - - def show_about_dialog(self): - dialog = AboutDialog(self) - dialog.exec() - - def toggle_download_controls(self, enabled=True): - """Enable or disable download-related controls""" - self.url_input.setEnabled(enabled) - self.analyze_btn.setEnabled(enabled) - self.format_table.setEnabled(enabled) - self.path_input.setEnabled(enabled) - self.browse_btn.setEnabled(enabled) - self.download_btn.setEnabled(enabled) - if hasattr(self, 'subtitle_combo'): - self.subtitle_combo.setEnabled(enabled) - self.video_button.setEnabled(enabled) - self.audio_button.setEnabled(enabled) - self.sponsorblock_checkbox.setEnabled(enabled) - - def handle_format_selection(self, button): - # Update formats - self.filter_formats() \ No newline at end of file diff --git a/ytsage_gui_dialogs.py b/ytsage_gui_dialogs.py new file mode 100644 index 0000000..5c1a69c --- /dev/null +++ b/ytsage_gui_dialogs.py @@ -0,0 +1,673 @@ +import sys +import os +import webbrowser +from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QHBoxLayout, QLineEdit, QPushButton, QTableWidget, + QTableWidgetItem, QProgressBar, QLabel, QFileDialog, + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup) +from PySide6.QtCore import Qt, Signal, QObject, QThread, QProcess +from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap +import requests +from io import BytesIO +from PIL import Image +from datetime import datetime +import json +from pathlib import Path +from packaging import version +import subprocess +import re +import yt_dlp +from ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed + +from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions + + +class LogWindow(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('yt-dlp Log') + self.setMinimumSize(700, 500) + + layout = QVBoxLayout(self) + + self.log_text = QTextEdit() + self.log_text.setReadOnly(True) + self.log_text.setStyleSheet(""" + QTextEdit { + background-color: #2b2b2b; + color: #ffffff; + font-family: Consolas, monospace; + font-size: 12px; + border: 2px solid #3d3d3d; + border-radius: 4px; + } + """) + + layout.addWidget(self.log_text) + + def append_log(self, message): + self.log_text.append(message) + # Auto-scroll to bottom + scrollbar = self.log_text.verticalScrollBar() + scrollbar.setValue(scrollbar.maximum()) + +class CustomCommandDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent + self.setWindowTitle('Custom yt-dlp Command') + self.setMinimumSize(600, 400) + + layout = QVBoxLayout(self) + + # Help text + help_text = QLabel( + "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" + "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" + "Note: Download path and output template will be preserved." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # Command input + self.command_input = QPlainTextEdit() + self.command_input.setPlaceholderText("Enter yt-dlp arguments...") + self.command_input.setStyleSheet(""" + QPlainTextEdit { + background-color: #363636; + color: #ffffff; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + } + """) + layout.addWidget(self.command_input) + + # Add SponsorBlock checkbox + self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") + self.sponsorblock_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; /* Make indicator round */ + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; /* Make indicator round */ + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; /* Make indicator round */ + } + """) + layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) + + # Buttons + button_layout = QHBoxLayout() + + self.run_btn = QPushButton("Run Command") + self.run_btn.clicked.connect(self.run_custom_command) + + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + + button_layout.addWidget(self.run_btn) + button_layout.addWidget(self.close_btn) + layout.addLayout(button_layout) + + # Log output + self.log_output = QTextEdit() + self.log_output.setReadOnly(True) + self.log_output.setStyleSheet(""" + QTextEdit { + background-color: #2b2b2b; + color: #ffffff; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + font-size: 12px; + } + """) + layout.addWidget(self.log_output) + + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + def run_custom_command(self): + url = self.parent.url_input.text().strip() + if not url: + self.log_output.append("Error: No URL provided") + return + + command = self.command_input.toPlainText().strip() + path = self.parent.path_input.text().strip() + + self.log_output.clear() + self.log_output.append(f"Running command with URL: {url}") + self.run_btn.setEnabled(False) + + # Start command in thread + import threading + threading.Thread(target=self._run_command_thread, + args=(command, url, path), + daemon=True).start() + + def _run_command_thread(self, command, url, path): + try: + class CommandLogger: + def debug(self, msg): + self.dialog.log_output.append(msg) + def warning(self, msg): + self.dialog.log_output.append(f"Warning: {msg}") + def error(self, msg): + self.dialog.log_output.append(f"Error: {msg}") + def __init__(self, dialog): + self.dialog = dialog + + # Split command into arguments + args = command.split() + + # Base options + ydl_opts = { + 'logger': CommandLogger(self), + 'paths': {'home': path}, + 'debug_printout': True, + 'postprocessors': [] + } + + # Add SponsorBlock options if enabled + if self.sponsorblock_checkbox.isChecked(): + ydl_opts['postprocessors'].extend([{ + 'key': 'SponsorBlock', + 'categories': ['sponsor', 'selfpromo', 'interaction'], + 'api': 'https://sponsor.ajay.app' + }, { + 'key': 'ModifyChapters', + 'remove_sponsor_segments': ['sponsor', 'selfpromo', 'interaction'], + 'sponsorblock_chapter_title': '[SponsorBlock]: %(category_names)l', + 'force_keyframes': True + }]) + + # Add custom arguments + for i in range(0, len(args), 2): + if i + 1 < len(args): + key = args[i].lstrip('-').replace('-', '_') + value = args[i + 1] + try: + # Try to convert to appropriate type + if value.lower() in ('true', 'false'): + value = value.lower() == 'true' + elif value.isdigit(): + value = int(value) + ydl_opts[key] = value + except: + ydl_opts[key] = value + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([url]) + + self.log_output.append("Command completed successfully") + + except Exception as e: + self.log_output.append(f"Error: {str(e)}") + finally: + self.run_btn.setEnabled(True) + +class FFmpegInstallThread(QThread): + finished = Signal(bool) + progress = Signal(str) + + def run(self): + # Redirect stdout to capture progress messages + import sys + from io import StringIO + import contextlib + + output = StringIO() + with contextlib.redirect_stdout(output): + success = auto_install_ffmpeg() + + # Process captured output and emit progress signals + for line in output.getvalue().splitlines(): + self.progress.emit(line) + + self.finished.emit(success) + +class FFmpegCheckDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('Installing FFmpeg') + self.setMinimumWidth(450) + self.setMinimumHeight(250) + + # Set the window icon to match the main app + self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) + + layout = QVBoxLayout(self) + layout.setSpacing(15) + + # Header with icon + header_layout = QHBoxLayout() + icon_label = QLabel() + icon_label.setPixmap(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown).pixmap(32, 32)) + header_layout.addWidget(icon_label) + + header_text = QLabel("FFmpeg Installation") + header_text.setStyleSheet("font-size: 16px; font-weight: bold;") + header_layout.addWidget(header_text) + header_layout.addStretch() + layout.addLayout(header_layout) + + # Message + self.message_label = QLabel( + "🎥 YTSage needs FFmpeg to process videos.\n" + "Let's set it up for you automatically!" + ) + self.message_label.setWordWrap(True) + self.message_label.setStyleSheet("font-size: 13px;") + layout.addWidget(self.message_label) + + # Progress label with cool emojis + self.progress_label = QLabel("") + self.progress_label.setWordWrap(True) + self.progress_label.setStyleSheet(""" + QLabel { + background-color: #1e1e1e; + border-radius: 5px; + padding: 10px; + font-family: 'Consolas', monospace; + font-size: 12px; + } + """) + self.progress_label.hide() + layout.addWidget(self.progress_label) + + # Buttons container + button_layout = QHBoxLayout() + + # Install button + self.install_btn = QPushButton("Install FFmpeg") + self.install_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) + self.install_btn.clicked.connect(self.start_installation) + button_layout.addWidget(self.install_btn) + + # Manual install button + self.manual_btn = QPushButton("Manual Guide") + self.manual_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogHelpButton)) + self.manual_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/ffmpeg-install-guide')) + button_layout.addWidget(self.manual_btn) + + # Close button + self.close_btn = QPushButton("Close") + self.close_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton)) + self.close_btn.clicked.connect(self.close) + button_layout.addWidget(self.close_btn) + + layout.addLayout(button_layout) + + # Style the dialog + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #3d3d3d; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + margin: 5px; + min-width: 100px; + } + QPushButton:hover { + background-color: #4d4d4d; + } + QPushButton:disabled { + background-color: #2d2d2d; + color: #666666; + } + """) + + # Initialize installation thread + self.install_thread = None + + def start_installation(self): + self.install_btn.setEnabled(False) + self.manual_btn.setEnabled(False) + self.close_btn.setEnabled(False) + + # Check if FFmpeg is already installed + if check_ffmpeg_installed(): + self.message_label.setText("🎉 FFmpeg is already installed!") + self.progress_label.setText("✅ You can close this dialog and continue using YTSage.") + self.install_btn.hide() + self.manual_btn.hide() + self.close_btn.setEnabled(True) + return + + self.message_label.setText("🚀 Installing FFmpeg... Hold tight!") + self.progress_label.show() + + self.install_thread = FFmpegInstallThread() + self.install_thread.finished.connect(self.installation_finished) + self.install_thread.progress.connect(self.update_progress) + self.install_thread.start() + + def update_progress(self, message): + self.progress_label.setText(message) + + def installation_finished(self, success): + if success: + self.message_label.setText("🎉 FFmpeg has been installed successfully!") + self.progress_label.setText("✅ You're all set! You can now close this dialog and continue using YTSage.") + self.install_btn.hide() + self.manual_btn.hide() + else: + self.message_label.setText("❌ Oops! FFmpeg installation encountered an issue.") + self.progress_label.setText("💡 Try using the manual installation guide instead.") + self.install_btn.setEnabled(True) + self.manual_btn.setEnabled(True) + + self.close_btn.setEnabled(True) + +class YTDLPUpdateDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle("Update yt-dlp") + self.setMinimumWidth(400) + + layout = QVBoxLayout(self) + + # Status label + self.status_label = QLabel("Checking for updates...") + self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(self.status_label) + + # Progress bar + self.progress_bar = QProgressBar() + self.progress_bar.hide() # Hide initially + layout.addWidget(self.progress_bar) + + # Buttons + button_layout = QHBoxLayout() + self.update_btn = QPushButton("Update") + self.update_btn.clicked.connect(self.perform_update) + self.update_btn.setEnabled(False) + + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + + button_layout.addWidget(self.update_btn) + button_layout.addWidget(self.close_btn) + layout.addLayout(button_layout) + + # Style + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 100px; + } + QPushButton:disabled { + background-color: #666666; + } + QPushButton:hover { + background-color: #cc0000; + } + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + background-color: #363636; + height: 25px; + } + QProgressBar::chunk { + background-color: #ff0000; + border-radius: 2px; + } + """) + + # Start version check + self.check_version() + + def check_version(self): + try: + # Get current version using yt-dlp command + import subprocess + import sys + import os + + # Get the yt-dlp executable path + if getattr(sys, 'frozen', False): + if sys.platform == 'win32': + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') + else: + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') + else: + yt_dlp_path = 'yt-dlp' + + # Get current version + try: + result = subprocess.run([yt_dlp_path, '--version'], + capture_output=True, + text=True) + current_version = result.stdout.strip() + except Exception: + import yt_dlp + current_version = yt_dlp.version.__version__ + + # Get latest version from PyPI + import requests + response = requests.get("https://pypi.org/pypi/yt-dlp/json") + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + # Compare versions + from packaging import version + try: + current_ver = version.parse(current_version) + latest_ver = version.parse(latest_version) + + if current_ver < latest_ver: + self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + except version.InvalidVersion: + # If version parsing fails, do a simple string comparison + if current_version != latest_version: + self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + + except Exception as e: + self.status_label.setText(f"Error checking version: {str(e)}") + self.update_btn.setEnabled(False) + + def perform_update(self): + try: + self.update_btn.setEnabled(False) + self.close_btn.setEnabled(False) + self.status_label.setText("Updating yt-dlp...") + self.progress_bar.setRange(0, 0) + self.progress_bar.show() + + # Get the yt-dlp path + if getattr(sys, 'frozen', False): + if sys.platform == 'win32': + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') + else: + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') + else: + yt_dlp_path = 'yt-dlp' + + # Create a QProcess for updating + process = QProcess() + process.setWorkingDirectory(os.path.dirname(yt_dlp_path)) + + if sys.platform == 'win32': + # For Windows, use pip to update + python_path = os.path.join(os.path.dirname(sys.executable), 'python.exe') + if not os.path.exists(python_path): + python_path = sys.executable + + process.start(python_path, ['-m', 'pip', 'install', '--upgrade', '--no-cache-dir', 'yt-dlp']) + else: + # For Unix systems + process.start('pip', ['install', '--upgrade', '--no-cache-dir', 'yt-dlp']) + + process.waitForFinished() + + if process.exitCode() == 0: + self.status_label.setText("Update completed successfully!\nPlease restart the application.") + self.check_version() # Recheck version after update + else: + error = process.readAllStandardError().data().decode() + self.status_label.setText(f"Update failed: {error}") + + self.progress_bar.setRange(0, 100) + self.progress_bar.setValue(100) + self.close_btn.setEnabled(True) + + except Exception as e: + self.status_label.setText(f"Update failed: {str(e)}") + self.close_btn.setEnabled(True) + self.progress_bar.hide() + +class AboutDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('About YTSage') + self.setMinimumWidth(500) + + layout = QVBoxLayout(self) + + # App title and version + title_label = QLabel("YTSage") + title_label.setStyleSheet(""" + font-size: 24px; + font-weight: bold; + color: #ff0000; + padding: 10px; + """) + title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(title_label) + + version_label = QLabel(f"Version {parent.version}") + version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(version_label) + + # Description + description = QLabel( + "A modern YouTube downloader with a clean interface.\n" + "Download videos in any quality, extract audio, fetch subtitles,\n" + "and view video metadata. Built with yt-dlp for reliable performance." + ) + description.setWordWrap(True) + description.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(description) + + # Features list + features_label = QLabel( + "Key Features:\n" + "• Smart video quality selection\n" + "• Audio extraction\n" + "• Subtitle support\n" + "• Playlist downloads\n" + "• Real-time progress tracking\n" + "• Custom command support\n" + "• SponsorBlock Integration\n" + "• Save Thumbnail\n" + "• One-click updates" + ) + features_label.setStyleSheet("padding: 10px;") + layout.addWidget(features_label) + + # Credits + credits_label = QLabel( + "Powered by:\n" + "• yt-dlp\n" + "• PySide6\n" + "• FFmpeg" + ) + credits_label.setStyleSheet("padding: 10px;") + layout.addWidget(credits_label) + + # GitHub link + github_btn = QPushButton("Visit GitHub Repository") + github_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/YTSage')) + layout.addWidget(github_btn) + + # Close button + close_btn = QPushButton("Close") + close_btn.clicked.connect(self.close) + layout.addWidget(close_btn) + + # Style the dialog + self.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) \ No newline at end of file diff --git a/ytsage_gui_format_table.py b/ytsage_gui_format_table.py new file mode 100644 index 0000000..d5b538d --- /dev/null +++ b/ytsage_gui_format_table.py @@ -0,0 +1,328 @@ +from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QHBoxLayout, QLineEdit, QPushButton, QTableWidget, + QTableWidgetItem, QProgressBar, QLabel, QFileDialog, + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, + QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QScrollArea, + QSizePolicy) +from PySide6.QtCore import Qt, Signal, QObject, QThread +from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap + +class FormatSignals(QObject): + format_update = Signal(list) + +class FormatTableMixin: + def setup_format_table(self): + self.format_signals = FormatSignals() + + # Format table with improved styling + self.format_table = QTableWidget() + self.format_table.setColumnCount(8) + self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) + + # Set specific column widths and resize modes + self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) # Select + self.format_table.setColumnWidth(0, 50) # Select column width + + self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) # Quality + self.format_table.setColumnWidth(1, 100) # Quality width + + self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) # Extension + self.format_table.setColumnWidth(2, 80) # Extension width + + self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) # Resolution + self.format_table.setColumnWidth(3, 100) # Resolution width + + self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) # File Size + self.format_table.setColumnWidth(4, 100) # File Size width + + self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) # Codec + self.format_table.setColumnWidth(5, 150) # Codec width + + self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) # Audio + self.format_table.setColumnWidth(6, 120) # Audio width + + self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) # Notes (will stretch) + + # Set vertical header (row numbers) visible to false + self.format_table.verticalHeader().setVisible(False) + + # Set selection mode to no selection (since we're using checkboxes) + self.format_table.setSelectionMode(QTableWidget.SelectionMode.NoSelection) + + self.format_table.setStyleSheet(""" + QTableWidget { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + gridline-color: #3d3d3d; + } + QTableWidget::item { + padding: 5px; + border-bottom: 1px solid #3d3d3d; + } + QTableWidget::item:selected { + background-color: transparent; + } + QHeaderView::section { + background-color: #2b2b2b; + padding: 5px; + border: 1px solid #3d3d3d; + font-weight: bold; + color: white; + } + QCheckBox::indicator { + width: 16px; + height: 16px; + border-radius: 8px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + QWidget { + background-color: transparent; + } + """) + + # Store format checkboxes and formats + self.format_checkboxes = [] + self.all_formats = [] + + # Set table size policies + self.format_table.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) + + # Set minimum and maximum heights + self.format_table.setMinimumHeight(200) + + # Connect the signal + self.format_signals.format_update.connect(self._update_format_table) + + return self.format_table + + def filter_formats(self): + if not hasattr(self, 'all_formats'): + return + + # Clear current table + self.format_table.setRowCount(0) + self.format_checkboxes.clear() + + # Determine which formats to show + filtered_formats = [] + + if hasattr(self, 'video_button') and self.video_button.isChecked(): + filtered_formats.extend([f for f in self.all_formats + if f.get('vcodec') != 'none' + and f.get('filesize') is not None]) + + if hasattr(self, 'audio_button') and self.audio_button.isChecked(): + filtered_formats.extend([f for f in self.all_formats + if (f.get('vcodec') == 'none' + or 'audio only' in f.get('format_note', '').lower()) + and f.get('acodec') != 'none' + and f.get('filesize') is not None]) + + # Sort formats by quality + def get_quality(f): + if f.get('vcodec') != 'none': + res = f.get('resolution', '0x0').split('x')[-1] + try: + return int(res) + except ValueError: + return 0 + else: + return f.get('abr', 0) + + filtered_formats.sort(key=get_quality, reverse=True) + + # Update table with filtered formats + self.format_signals.format_update.emit(filtered_formats) + + def _update_format_table(self, formats): + self.format_table.setRowCount(0) + self.format_checkboxes.clear() + + # Find best quality format for recommendations + best_video_size = max((f.get('filesize', 0) for f in formats if f.get('vcodec') != 'none'), default=0) + + for f in formats: + row = self.format_table.rowCount() + self.format_table.insertRow(row) + + # Add checkbox + checkbox = QCheckBox() + checkbox.format_id = str(f.get('format_id', '')) + checkbox.clicked.connect(lambda checked, cb=checkbox: self.handle_checkbox_click(cb)) + self.format_checkboxes.append(checkbox) + + # Create a widget to center the checkbox + checkbox_widget = QWidget() + checkbox_widget.setStyleSheet("background-color: transparent;") + checkbox_layout = QHBoxLayout(checkbox_widget) + checkbox_layout.addWidget(checkbox) + checkbox_layout.setAlignment(Qt.AlignmentFlag.AlignCenter) + checkbox_layout.setContentsMargins(0, 0, 0, 0) + checkbox_layout.setSpacing(0) + self.format_table.setCellWidget(row, 0, checkbox_widget) + + # Quality (replacing Format ID) + quality_text = self.get_quality_label(f) + quality_item = QTableWidgetItem(quality_text) + # Set color based on quality + if "Best" in quality_text: + quality_item.setForeground(QColor('#00ff00')) # Green for best quality + elif "High" in quality_text: + quality_item.setForeground(QColor('#00cc00')) # Light green for high quality + elif "Medium" in quality_text: + quality_item.setForeground(QColor('#ffaa00')) # Orange for medium quality + elif "Low" in quality_text: + quality_item.setForeground(QColor('#ff5555')) # Red for low quality + self.format_table.setItem(row, 1, quality_item) + + # Extension + self.format_table.setItem(row, 2, QTableWidgetItem(f.get('ext', '').upper())) + + # Resolution + resolution = f.get('resolution', 'N/A') + if f.get('vcodec') == 'none': + resolution = 'Audio only' + self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) + + # File Size + filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" + self.format_table.setItem(row, 4, QTableWidgetItem(filesize)) + + # Codec + if f.get('vcodec') == 'none': + codec = f.get('acodec', 'N/A') + else: + codec = f"{f.get('vcodec', 'N/A')}" + if f.get('acodec') != 'none': + codec += f" / {f.get('acodec', 'N/A')}" + self.format_table.setItem(row, 5, QTableWidgetItem(codec)) + + # Audio Status + needs_audio = f.get('acodec') == 'none' + audio_status = "Will merge audio" if needs_audio else "✓ Has Audio" + audio_item = QTableWidgetItem(audio_status) + if needs_audio: + audio_item.setForeground(QColor('#ffa500')) + self.format_table.setItem(row, 6, audio_item) + + # Add Notes column + notes = self.get_format_notes(f, best_video_size) + notes_item = QTableWidgetItem(notes) + if "✨ Recommended" in notes: + notes_item.setForeground(QColor('#00ff00')) # Green for recommended + elif "💾 Storage friendly" in notes: + notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly + elif "📱 Mobile friendly" in notes: + notes_item.setForeground(QColor('#ff9900')) # Orange for mobile + self.format_table.setItem(row, 7, notes_item) + + def handle_checkbox_click(self, clicked_checkbox): + for checkbox in self.format_checkboxes: + if checkbox != clicked_checkbox: + checkbox.setChecked(False) + + def get_selected_format(self): + for checkbox in self.format_checkboxes: + if checkbox.isChecked(): + return checkbox.format_id + return None + + def update_format_table(self, formats): + self.all_formats = formats + self.format_signals.format_update.emit(formats) + + def get_quality_label(self, format_info): + """Determine quality label based on format information""" + if format_info.get('vcodec') == 'none': + # Audio quality + abr = format_info.get('abr', 0) + if abr >= 256: + return "Best Audio" + elif abr >= 192: + return "High Audio" + elif abr >= 128: + return "Medium Audio" + else: + return "Low Audio" + else: + # Video quality + height = 0 + resolution = format_info.get('resolution', '') + if resolution: + try: + height = int(resolution.split('x')[1]) + except: + pass + + if height >= 2160: + return "Best (4K)" + elif height >= 1440: + return "Best (2K)" + elif height >= 1080: + return "High (1080p)" + elif height >= 720: + return "High (720p)" + elif height >= 480: + return "Medium (480p)" + else: + return "Low Quality" + + def get_format_notes(self, format_info, best_video_size): + """Generate helpful notes about the format""" + if format_info.get('vcodec') == 'none': + # Audio format + abr = format_info.get('abr', 0) + if abr >= 256: + return "✨ Recommended for music" + elif abr >= 128: + return "📱 Mobile friendly" + return "💾 Storage friendly" + else: + # Video format + height = 0 + resolution = format_info.get('resolution', '') + if resolution: + try: + height = int(resolution.split('x')[1]) + except: + pass + + filesize = format_info.get('filesize', 0) + + notes = [] + + # Resolution-based recommendations + if height >= 1440: # 2K or 4K + if filesize == best_video_size: + notes.append("✨ Recommended for high-end displays") + else: + notes.append("🖥️ Best for large screens") + elif height == 1080: + if 'avc1' in format_info.get('vcodec', '').lower(): + notes.append("✨ Recommended for most devices") + else: + notes.append("👍 Good balance") + elif height == 720: + notes.append("📱 Mobile friendly") + else: + notes.append("💾 Storage friendly") + + # Codec-based notes + if 'av1' in format_info.get('vcodec', '').lower(): + notes.append("Better compression") + elif 'vp9' in format_info.get('vcodec', '').lower(): + notes.append("Good for Chrome") + + # File size note for large files + if filesize > 100 * 1024 * 1024: # More than 100MB + notes.append("Large file") + + return " • ".join(notes) \ No newline at end of file diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py new file mode 100644 index 0000000..9efa5e5 --- /dev/null +++ b/ytsage_gui_main.py @@ -0,0 +1,907 @@ +import sys +import os +import webbrowser +from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QHBoxLayout, QLineEdit, QPushButton, QTableWidget, + QTableWidgetItem, QProgressBar, QLabel, QFileDialog, + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QMessageBox) +from PySide6.QtCore import Qt, Signal, QObject, QThread, QMetaObject, Q_ARG, QProcess +from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap +import requests +from io import BytesIO +from PIL import Image +from datetime import datetime +import json +from pathlib import Path +from packaging import version +import subprocess +import re +import yt_dlp + +from ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes +from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions +from ytsage_gui_dialogs import LogWindow, CustomCommandDialog, FFmpegCheckDialog, YTDLPUpdateDialog, AboutDialog # Import dialogs +from ytsage_gui_format_table import FormatTableMixin # Import FormatTableMixin +from ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin + +class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins + def __init__(self): + super().__init__() + # Check for FFmpeg before proceeding + if not check_ffmpeg(): + self.show_ffmpeg_dialog() + + self.version = "4.2.0" + self.check_for_updates() + self.config_file = Path.home() / '.ytsage_config.json' + load_saved_path(self) + self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) + self.signals = SignalManager() + self.download_paused = False + self.current_download = None + self.download_cancelled = False + self.save_thumbnail = False # Initialize thumbnail state + self.thumbnail_url = None # Add this to store thumbnail URL + self.all_formats = [] # Initialize all_formats + self.available_subtitles = {} + self.available_automatic_subtitles = {} + self.is_playlist = False + self.playlist_info = None + self.video_info = None + self.subtitle_filter = "" + self.thumbnail_image = None + self.video_url = "" + + self.init_ui() + self.setStyleSheet(""" + QMainWindow { + background-color: #2b2b2b; + } + QWidget { + background-color: #2b2b2b; + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; /* YouTube red */ + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; /* Darker red on hover */ + } + QPushButton:pressed { + background-color: #990000; /* Even darker red when pressed */ + } + QTableWidget { + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + gridline-color: #3d3d3d; + } + QHeaderView::section { + background-color: #2b2b2b; + padding: 5px; + border: 1px solid #3d3d3d; + color: #ffffff; + } + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + } + QProgressBar::chunk { + background-color: #ff0000; /* YouTube red */ + border-radius: 2px; + } + QLabel { + color: #ffffff; + } + /* Style for filter buttons */ + QPushButton.filter-btn { + background-color: #363636; + padding: 5px 10px; + margin: 0 5px; + } + QPushButton.filter-btn:checked { + background-color: #ff0000; + } + QPushButton.filter-btn:hover { + background-color: #444444; + } + QPushButton.filter-btn:checked:hover { + background-color: #cc0000; + } + /* Modern Scrollbar Styling */ + QScrollBar:vertical { + border: none; + background: #2b2b2b; + width: 14px; + margin: 15px 0 15px 0; + border-radius: 7px; + } + QScrollBar::handle:vertical { + background: #404040; + min-height: 30px; + border-radius: 7px; + } + QScrollBar::handle:vertical:hover { + background: #505050; + } + QScrollBar::sub-line:vertical { + border: none; + background: #2b2b2b; + height: 15px; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + subcontrol-position: top; + subcontrol-origin: margin; + } + QScrollBar::add-line:vertical { + border: none; + background: #2b2b2b; + height: 15px; + border-bottom-left-radius: 7px; + border-bottom-right-radius: 7px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + QScrollBar::sub-line:vertical:hover, + QScrollBar::add-line:vertical:hover { + background: #404040; + } + QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; + width: 0; + height: 0; + } + QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; + } + /* Horizontal Scrollbar */ + QScrollBar:horizontal { + border: none; + background: #2b2b2b; + height: 14px; + margin: 0 15px 0 15px; + border-radius: 7px; + } + QScrollBar::handle:horizontal { + background: #404040; + min-width: 30px; + border-radius: 7px; + } + QScrollBar::handle:horizontal:hover { + background: #505050; + } + QScrollBar::sub-line:horizontal { + border: none; + background: #2b2b2b; + width: 15px; + border-top-left-radius: 7px; + border-bottom-left-radius: 7px; + subcontrol-position: left; + subcontrol-origin: margin; + } + QScrollBar::add-line:horizontal { + border: none; + background: #2b2b2b; + width: 15px; + border-top-right-radius: 7px; + border-bottom-right-radius: 7px; + subcontrol-position: right; + subcontrol-origin: margin; + } + QScrollBar::sub-line:horizontal:hover, + QScrollBar::add-line:horizontal:hover { + background: #404040; + } + QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { + background: none; + width: 0; + height: 0; + } + QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { + background: none; + } + """) + self.signals.update_progress.connect(self.update_progress_bar) + + def load_saved_path(self): # Using function from ytsage_utils now - no longer needed in class + pass # Handled in class init now via ytsage_utils.load_saved_path(self) + + def save_path(self, path): # Using function from ytsage_utils now - no longer needed in class + save_path(self, path) # Call the utility function + + def init_ui(self): + self.setWindowTitle('YTSage v4.2.0') + self.setMinimumSize(900, 650) + + # Main widget and layout + main_widget = QWidget() + self.setCentralWidget(main_widget) + layout = QVBoxLayout(main_widget) + layout.setSpacing(8) + layout.setContentsMargins(20, 20, 20, 20) + + # URL input section + url_layout = QHBoxLayout() + self.url_input = QLineEdit() + self.url_input.setPlaceholderText('Enter YouTube URL...') + + # Add Paste URL button + self.paste_btn = QPushButton('Paste URL') + self.paste_btn.clicked.connect(self.paste_url) + + self.analyze_btn = QPushButton('Analyze') + self.analyze_btn.clicked.connect(self.analyze_url) + + url_layout.addWidget(self.url_input) + url_layout.addWidget(self.paste_btn) + url_layout.addWidget(self.analyze_btn) + layout.addLayout(url_layout) + + # Video info container with smaller fixed height + video_info_container = QWidget() + video_info_container.setFixedHeight(220) + video_info_layout = QVBoxLayout(video_info_container) + video_info_layout.setSpacing(5) + video_info_layout.setContentsMargins(0, 0, 0, 0) + + # Add media info layout + media_info_layout = self.setup_video_info_section() + video_info_layout.addLayout(media_info_layout) + + # Add playlist info with minimal height + self.playlist_info_label = self.setup_playlist_info_section() + self.playlist_info_label.setMaximumHeight(30) + video_info_layout.addWidget(self.playlist_info_label) + + # Add video info container to main layout + layout.addWidget(video_info_container) + + # Format controls section with minimal spacing + layout.addSpacing(5) + + # Format selection layout (horizontal) + self.format_layout = QHBoxLayout() + + # Show formats label + self.show_formats_label = QLabel("Show formats:") + self.show_formats_label.setStyleSheet("color: white;") + self.format_layout.addWidget(self.show_formats_label) + + # Format buttons group + self.format_buttons = QButtonGroup(self) + self.format_buttons.setExclusive(True) + + # Video button + self.video_button = QPushButton("Video") + self.video_button.setCheckable(True) + self.video_button.setChecked(True) # Set video as default + self.video_button.setStyleSheet(""" + QPushButton { + padding: 8px 15px; + background-color: #363636; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:checked { + background-color: #ff0000; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:checked:hover { + background-color: #cc0000; + } + """) + self.format_buttons.addButton(self.video_button) + self.format_layout.addWidget(self.video_button) + + # Audio button + self.audio_button = QPushButton("Audio Only") + self.audio_button.setCheckable(True) + self.audio_button.setStyleSheet(""" + QPushButton { + padding: 8px 15px; + background-color: #363636; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:checked { + background-color: #ff0000; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:checked:hover { + background-color: #cc0000; + } + """) + self.format_buttons.addButton(self.audio_button) + self.format_layout.addWidget(self.audio_button) + + # Connect format buttons + self.format_buttons.buttonClicked.connect(self.handle_format_selection) + + # Add SponsorBlock checkbox + self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") + self.sponsorblock_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; + } + """) + self.format_layout.addWidget(self.sponsorblock_checkbox) + + # Add Save Thumbnail checkbox with same style as SponsorBlock + self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") + self.save_thumbnail_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; + } + """) + self.save_thumbnail_checkbox.clicked.connect(self.toggle_save_thumbnail) + self.format_layout.addWidget(self.save_thumbnail_checkbox) + + self.format_layout.addStretch() + layout.addLayout(self.format_layout) + + # Format table with stretch + format_table = self.setup_format_table() + layout.addWidget(format_table, stretch=1) + + # Download section + download_layout = QHBoxLayout() + + # Add existing buttons + self.custom_cmd_btn = QPushButton('Custom Command') + self.custom_cmd_btn.clicked.connect(self.show_custom_command) + + self.update_ytdlp_btn = QPushButton('Update yt-dlp') + self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) + + self.about_btn = QPushButton('About') + self.about_btn.clicked.connect(self.show_about_dialog) + + self.path_input = QLineEdit(self.last_path) + self.path_input.setPlaceholderText('Download path...') + + self.browse_btn = QPushButton('Browse') + self.browse_btn.clicked.connect(self.browse_path) + + self.download_btn = QPushButton('Download') + self.download_btn.clicked.connect(self.start_download) + + # Add pause and cancel buttons + self.pause_btn = QPushButton('Pause') + self.pause_btn.clicked.connect(self.toggle_pause) + self.pause_btn.setVisible(False) # Hidden initially + + self.cancel_btn = QPushButton('Cancel') + self.cancel_btn.clicked.connect(self.cancel_download) + self.cancel_btn.setVisible(False) # Hidden initially + + # Add all buttons to layout in the correct order + download_layout.addWidget(self.custom_cmd_btn) + download_layout.addWidget(self.update_ytdlp_btn) + download_layout.addWidget(self.about_btn) + download_layout.addWidget(self.path_input) + download_layout.addWidget(self.browse_btn) + download_layout.addWidget(self.download_btn) + download_layout.addWidget(self.pause_btn) + download_layout.addWidget(self.cancel_btn) + + layout.addLayout(download_layout) + + # Progress section with improved styling + progress_layout = QVBoxLayout() + self.progress_bar = QProgressBar() + self.progress_bar.setStyleSheet(""" + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + background-color: #363636; + height: 25px; + } + QProgressBar::chunk { + background-color: #ff0000; + border-radius: 2px; + } + """) + progress_layout.addWidget(self.progress_bar) + + # Add download details label with improved styling + self.download_details_label = QLabel() + self.download_details_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.download_details_label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 5px; + } + """) + progress_layout.addWidget(self.download_details_label) + + self.status_label = QLabel('Ready') + self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.status_label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 5px; + } + """) + progress_layout.addWidget(self.status_label) + + layout.addLayout(progress_layout) + + # Connect signals + self.signals.update_formats.connect(self.update_format_table) + self.signals.update_status.connect(self.status_label.setText) + self.signals.update_progress.connect(self.update_progress_bar) + + # After adding format buttons + self.video_button.clicked.connect(self.filter_formats) # Connect video button + self.audio_button.clicked.connect(self.filter_formats) # Connect audio button + + def analyze_url(self): + url = self.url_input.text().strip() + if not url: + self.signals.update_status.emit("Invalid URL or please enter a URL.") + return + + self.signals.update_status.emit("Analyzing (0%)... Preparing request") + import threading # Import threading here as it is only used in GUI and downloader + threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() + + def _analyze_url_thread(self, url): + try: + self.signals.update_status.emit("Analyzing (20%)... Extracting basic info") + + # Clean up the URL to handle both playlist and video URLs + if 'list=' in url and 'watch?v=' in url: + playlist_id = url.split('list=')[1].split('&')[0] + url = f'https://www.youtube.com/playlist?list={playlist_id}' + + # Initial extraction with basic options + ydl_opts = { + 'quiet': False, + 'no_warnings': False, + 'extract_flat': True, + 'force_generic_extractor': False, + 'ignoreerrors': True, + 'no_color': True, + 'verbose': True + } + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + try: + basic_info = ydl.extract_info(url, download=False) + if not basic_info: + raise Exception("Could not extract basic video information") + except Exception as e: + print(f"First extraction failed: {str(e)}") + raise Exception("Could not extract video information, please check your link") + + self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") + # Configure options for detailed extraction + ydl_opts.update({ + 'extract_flat': False, + 'format': None, + 'writesubtitles': True, + 'allsubtitles': True, + 'writeautomaticsub': True, + 'playliststart': 1, + 'playlistend': 1, + 'youtube_include_dash_manifest': True, + 'youtube_include_hls_manifest': True + }) + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + try: + self.signals.update_status.emit("Analyzing (60%)... Processing video data") + if basic_info.get('_type') == 'playlist': + self.is_playlist = True + self.playlist_info = basic_info + + # Store all playlist entries + self.playlist_entries = [entry for entry in basic_info['entries'] if entry] + + # Update playlist info text + playlist_text = (f"Playlist: {basic_info.get('title', 'Unknown')} | " + f"{len(self.playlist_entries)} videos | " + f"Enter video numbers (e.g. 1-5,7,9-11)") + QMetaObject.invokeMethod( + self.playlist_info_label, + "setText", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, playlist_text) + ) + QMetaObject.invokeMethod( + self.playlist_info_label, + "setVisible", + Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, True) + ) + + # Show playlist selection input + QMetaObject.invokeMethod( + self.playlist_selection_input, + "setVisible", + Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, True) + ) + else: + self.is_playlist = False + self.video_info = ydl.extract_info(url, download=False) + self.playlist_info_label.setVisible(False) + + # Verify we have format information + if not self.video_info or 'formats' not in self.video_info: + print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") + raise Exception("No format information available") + + self.signals.update_status.emit("Analyzing (80%)... Processing formats") + self.all_formats = self.video_info['formats'] + + # Update UI + self.update_video_info(self.video_info) + + # Update thumbnail + self.signals.update_status.emit("Analyzing (90%)... Loading thumbnail") + self.download_thumbnail(self.video_info.get('thumbnail')) + + # Save thumbnail if enabled - use the stored VIDEO URL + if self.save_thumbnail: + self.download_thumbnail_file(self.video_url, self.path_input.text()) + + # Update subtitles + self.signals.update_status.emit("Analyzing (95%)... Processing subtitles") + self.available_subtitles = self.video_info.get('subtitles', {}) + self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) + self.update_subtitle_list() + + # Update format table + self.signals.update_status.emit("Analyzing (98%)... Updating format table") + self.video_button.setChecked(True) + self.audio_button.setChecked(False) + self.filter_formats() + + self.signals.update_status.emit("Analysis complete!") + + except Exception as e: + print(f"Detailed extraction failed: {str(e)}") + raise Exception(f"Failed to extract video details: {str(e)}") + + except Exception as e: + error_message = str(e) + print(f"Error in analysis: {error_message}") + self.signals.update_status.emit(f"Error: {error_message}") + + def paste_url(self): + clipboard = QApplication.clipboard() + self.url_input.setText(clipboard.text()) + + def update_ytdlp(self): + dialog = YTDLPUpdateDialog(self) + dialog.exec() + + def browse_path(self): + path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.last_path) + if path: + self.path_input.setText(path) + self.save_path(path) # Use save_path utility function + self.last_path = path + + def start_download(self): + url = self.url_input.text().strip() + path = self.path_input.text().strip() + + if not url or not path: + self.status_label.setText("Please enter URL and download path") + return + + # Get selected format + format_id = self.get_selected_format() + if not format_id: + self.status_label.setText("Please select a format") + return + + # Show preparation message + self.status_label.setText("🚀 Preparing your download...") + self.progress_bar.setValue(0) + + # Get resolution for filename + resolution = 'default' + for checkbox in self.format_checkboxes: + if checkbox.isChecked(): + parts = checkbox.text().split('•') + if len(parts) >= 1: + resolution = parts[0].strip().lower() + break + + # Get subtitle selection if available + subtitle_lang = None + if hasattr(self, 'subtitle_combo') and self.subtitle_combo.currentIndex() > 0: + subtitle_lang = self.subtitle_combo.currentText() + + # Check if it's a playlist + is_playlist = 'playlist' in url.lower() and '/watch?' not in url + + # Get playlist selection if available + playlist_items = None + if self.is_playlist and self.playlist_selection_input.isVisible(): + playlist_items = self.playlist_selection_input.text().strip() or None + + # Save thumbnail if enabled + if self.save_thumbnail: + self.download_thumbnail_file(url, path) + + # Create download thread with resolution in output template + self.download_thread = DownloadThread( + url=url, + path=path, + format_id=format_id, + subtitle_lang=subtitle_lang, + is_playlist=is_playlist, + merge_subs=self.merge_subs_checkbox.isChecked(), + enable_sponsorblock=self.sponsorblock_checkbox.isChecked(), + resolution=resolution, + playlist_items=playlist_items + ) + + # Connect signals + self.download_thread.progress_signal.connect(self.update_progress_bar) + self.download_thread.status_signal.connect(self.signals.update_status.emit) + self.download_thread.finished_signal.connect(self.download_finished) + self.download_thread.error_signal.connect(self.download_error) + self.download_thread.file_exists_signal.connect(self.file_already_exists) + + # Reset download state + self.download_paused = False + self.download_cancelled = False + + # Show pause/cancel buttons + self.pause_btn.setText('Pause') + self.pause_btn.setVisible(True) + self.cancel_btn.setVisible(True) + + # Start download thread + self.current_download = self.download_thread + self.download_thread.start() + self.toggle_download_controls(False) + + def download_finished(self): + self.toggle_download_controls(True) + self.pause_btn.setVisible(False) + self.cancel_btn.setVisible(False) + self.progress_bar.setValue(100) + self.status_label.setText("Download completed!") + + def download_error(self, error_message): + self.toggle_download_controls(True) + self.pause_btn.setVisible(False) + self.cancel_btn.setVisible(False) + self.status_label.setText(f"Error: {error_message}") + + def update_progress_bar(self, value): + try: + # Ensure the value is an integer + int_value = int(value) + self.progress_bar.setValue(int_value) + except Exception as e: + print(f"Progress bar update error: {str(e)}") + + def toggle_pause(self): + if self.current_download: + self.current_download.paused = not self.current_download.paused + if self.current_download.paused: + self.pause_btn.setText('Resume') + self.signals.update_status.emit("Download paused") + else: + self.pause_btn.setText('Pause') + self.signals.update_status.emit("Download resumed") + + def check_for_updates(self): + try: + # Get the latest release info from GitHub + response = requests.get( + "https://api.github.com/repos/oop7/YTSage/releases/latest", + headers={"Accept": "application/vnd.github.v3+json"} + ) + response.raise_for_status() + + latest_release = response.json() + latest_version = latest_release["tag_name"].lstrip('v') + + # Compare versions + if version.parse(latest_version) > version.parse(self.version): + self.show_update_dialog(latest_version, latest_release["html_url"]) + except Exception as e: + print(f"Failed to check for updates: {str(e)}") + + def show_update_dialog(self, latest_version, release_url): + msg = QDialog(self) + msg.setWindowTitle("Update Available") + msg.setMinimumWidth(400) + + layout = QVBoxLayout(msg) + + # Update message + message_label = QLabel( + f"A new version of YTSage is available!\n\n" + f"Current version: {self.version}\n" + f"Latest version: {latest_version}" + ) + message_label.setWordWrap(True) + layout.addWidget(message_label) + + # Buttons + button_layout = QHBoxLayout() + + download_btn = QPushButton("Download Update") + download_btn.clicked.connect(lambda: self.open_release_page(release_url)) + + remind_btn = QPushButton("Remind Me Later") + remind_btn.clicked.connect(msg.close) + + button_layout.addWidget(download_btn) + button_layout.addWidget(remind_btn) + layout.addLayout(button_layout) + + # Style the dialog + msg.setStyleSheet(""" + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + msg.show() + + def open_release_page(self, url): + webbrowser.open(url) + + def show_custom_command(self): + dialog = CustomCommandDialog(self) + dialog.exec() + + def cancel_download(self): + if self.current_download: + self.current_download.cancelled = True + self.signals.update_status.emit("Cancelling download...") + + def show_ffmpeg_dialog(self): + dialog = FFmpegCheckDialog(self) + dialog.exec() + + def toggle_download_controls(self, enabled=True): + """Enable or disable download-related controls""" + self.url_input.setEnabled(enabled) + self.analyze_btn.setEnabled(enabled) + self.format_table.setEnabled(enabled) # Changed from format_scroll_area to format_table + self.path_input.setEnabled(enabled) + self.browse_btn.setEnabled(enabled) + self.download_btn.setEnabled(enabled) + if hasattr(self, 'subtitle_combo'): + self.subtitle_combo.setEnabled(enabled) + self.video_button.setEnabled(enabled) + self.audio_button.setEnabled(enabled) + self.sponsorblock_checkbox.setEnabled(enabled) + + def handle_format_selection(self, button): + # Update formats + self.filter_formats() + + def show_about_dialog(self): # ADDED METHOD HERE + dialog = AboutDialog(self) + dialog.exec() + + def file_already_exists(self, filename): + """Handle case when file already exists - simplified version""" + self.toggle_download_controls(True) + self.pause_btn.setVisible(False) + self.cancel_btn.setVisible(False) + self.progress_bar.setValue(100) + self.status_label.setText(f"⚠️ File already exists: {filename}") + + # Show a simple message dialog + msg_box = QMessageBox() + msg_box.setIcon(QMessageBox.Icon.Information) + msg_box.setWindowTitle("File Already Exists") + msg_box.setText(f"The file already exists:\n{filename}") + msg_box.setInformativeText("This video has already been downloaded.") + msg_box.setStandardButtons(QMessageBox.StandardButton.Ok) + + # Set the window icon to match the main application + msg_box.setWindowIcon(self.windowIcon()) + + # Style the dialog + msg_box.setStyleSheet(""" + QMessageBox { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QPushButton:hover { + background-color: #cc0000; + } + """) + + msg_box.exec() \ No newline at end of file diff --git a/ytsage_gui_video_info.py b/ytsage_gui_video_info.py new file mode 100644 index 0000000..bad0511 --- /dev/null +++ b/ytsage_gui_video_info.py @@ -0,0 +1,351 @@ +import sys +import os +import webbrowser +from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QHBoxLayout, QLineEdit, QPushButton, QTableWidget, + QTableWidgetItem, QProgressBar, QLabel, QFileDialog, + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup) +from PySide6.QtCore import Qt, Signal, QObject, QThread +from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap +import requests +from io import BytesIO +from PIL import Image +from datetime import datetime +import json +from pathlib import Path +from packaging import version +import subprocess +import re +import yt_dlp + +class VideoInfoMixin: + def setup_video_info_section(self): + # Create a horizontal layout for thumbnail and video info + media_info_layout = QHBoxLayout() + media_info_layout.setSpacing(15) + + # Left side container for thumbnail + thumbnail_container = QWidget() + thumbnail_container.setFixedWidth(320) + thumbnail_layout = QVBoxLayout(thumbnail_container) + thumbnail_layout.setContentsMargins(0, 0, 0, 0) + + # Thumbnail on the left + self.thumbnail_label = QLabel() + self.thumbnail_label.setFixedSize(320, 180) + self.thumbnail_label.setStyleSheet("border: 2px solid #3d3d3d; border-radius: 4px;") + self.thumbnail_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + thumbnail_layout.addWidget(self.thumbnail_label) + thumbnail_layout.addStretch() + + media_info_layout.addWidget(thumbnail_container) + + # Video information on the right + video_info_layout = QVBoxLayout() + video_info_layout.setSpacing(2) # Reduce spacing between elements + video_info_layout.setAlignment(Qt.AlignmentFlag.AlignTop) + + # Title and info labels + self.title_label = QLabel() + self.title_label.setWordWrap(True) + self.title_label.setStyleSheet("font-size: 14px; font-weight: bold;") + + # Add basic info labels + self.channel_label = QLabel() + self.views_label = QLabel() + self.date_label = QLabel() + self.duration_label = QLabel() + + # Style the info labels + for label in [self.channel_label, self.views_label, self.date_label, self.duration_label]: + label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 12px; + padding: 1px 0; + } + """) + + # Add labels to video info layout + video_info_layout.addWidget(self.title_label) + video_info_layout.addWidget(self.channel_label) + video_info_layout.addWidget(self.views_label) + video_info_layout.addWidget(self.date_label) + video_info_layout.addWidget(self.duration_label) + + # Add spacing before subtitle section + video_info_layout.addSpacing(10) + + # Create a horizontal layout for subtitle controls + subtitle_layout = QHBoxLayout() + subtitle_layout.setSpacing(5) # Reduce spacing between elements + + # Create subtitle button + self.subtitle_check = QPushButton("Download Subtitles") + self.subtitle_check.setFixedHeight(30) + self.subtitle_check.setFixedWidth(150) # Set fixed width + self.subtitle_check.setCheckable(True) + self.subtitle_check.clicked.connect(self.toggle_subtitle_controls) + self.subtitle_check.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + } + QPushButton:checked { + background-color: #ff0000; + border-color: #cc0000; + } + """) + subtitle_layout.addWidget(self.subtitle_check) + + # Create subtitle combo box + self.subtitle_combo = QComboBox() + self.subtitle_combo.setFixedHeight(30) + self.subtitle_combo.setFixedWidth(200) + self.subtitle_combo.setVisible(False) + self.subtitle_combo.setStyleSheet(""" + QComboBox { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + } + """) + subtitle_layout.addWidget(self.subtitle_combo) + + # Create merge subtitles checkbox + self.merge_subs_checkbox = QCheckBox("Merge Subtitles") + self.merge_subs_checkbox.setFixedHeight(30) + self.merge_subs_checkbox.setVisible(False) + self.merge_subs_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 10px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; + } + """) + subtitle_layout.addWidget(self.merge_subs_checkbox) + + # Add stretch to push everything to the left + subtitle_layout.addStretch() + + # Create a second row for the filter input + filter_layout = QHBoxLayout() + filter_layout.setSpacing(5) + + # Create subtitle filter input + self.subtitle_filter_input = QLineEdit() + self.subtitle_filter_input.setFixedHeight(30) + self.subtitle_filter_input.setFixedWidth(200) + self.subtitle_filter_input.setPlaceholderText("Filter languages (e.g., en, es)") + self.subtitle_filter_input.textChanged.connect(self.filter_subtitles) + self.subtitle_filter_input.setVisible(False) + self.subtitle_filter_input.setStyleSheet(""" + QLineEdit { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + color: white; + } + QLineEdit:focus { + border-color: #ff0000; + } + """) + filter_layout.addWidget(self.subtitle_filter_input) + filter_layout.addStretch() + + # Add both layouts to video info + video_info_layout.addLayout(subtitle_layout) + video_info_layout.addLayout(filter_layout) + + # Add stretch at the bottom + video_info_layout.addStretch() + + # Add video info layout to main layout + media_info_layout.addLayout(video_info_layout, stretch=1) + + return media_info_layout + + def setup_playlist_info_section(self): + self.playlist_info_label = QLabel() + self.playlist_info_label.setVisible(False) + self.playlist_info_label.setStyleSheet(""" + QLabel { + font-size: 12px; + color: #ff9900; + padding: 5px 8px; + margin: 0; + background-color: #2b2b2b; + border: 1px solid #3d3d3d; + border-radius: 4px; + min-height: 30px; + max-height: 30px; + } + """) + self.playlist_info_label.setAlignment(Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignVCenter) + return self.playlist_info_label + + def update_video_info(self, info): + # Format view count with commas + views = int(info.get('view_count', 0)) + formatted_views = f"{views:,}" + + # Format upload date + upload_date = info.get('upload_date', '') + if upload_date: + date_obj = datetime.strptime(upload_date, '%Y%m%d') + formatted_date = date_obj.strftime('%B %d, %Y') + else: + formatted_date = 'Unknown date' + + # Format duration + duration = info.get('duration', 0) + minutes = duration // 60 + seconds = duration % 60 + duration_str = f"{minutes}:{seconds:02d}" + + # Update labels + self.title_label.setText(info.get('title', 'Unknown title')) + self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") + self.views_label.setText(f"Views: {formatted_views}") + self.date_label.setText(f"Upload date: {formatted_date}") + self.duration_label.setText(f"Duration: {duration_str}") + + def toggle_subtitle_controls(self): + is_checked = self.subtitle_check.isChecked() + self.subtitle_combo.setVisible(is_checked) + self.subtitle_filter_input.setVisible(is_checked) + self.merge_subs_checkbox.setVisible(is_checked) + + def update_subtitle_list(self): + self.subtitle_combo.clear() + + if not (self.available_subtitles or self.available_automatic_subtitles): + self.subtitle_combo.addItem("No subtitles available") + return + + # Add subtitle options + self.subtitle_combo.addItem("Select subtitle language") + + # Filter and add subtitles + filter_text = self.subtitle_filter_input.text().lower() + + # Add manual subtitles + for lang_code, subtitle_info in self.available_subtitles.items(): + if not filter_text or filter_text in lang_code.lower(): + self.subtitle_combo.addItem(f"{lang_code} - Manual") + + # Add auto-generated subtitles + for lang_code, subtitle_info in self.available_automatic_subtitles.items(): + if not filter_text or filter_text in lang_code.lower(): + self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") + + def filter_subtitles(self): + self.subtitle_filter = self.subtitle_filter_input.text() + self.update_subtitle_list() + + def download_thumbnail(self, url): + try: + # Store both thumbnail URL and video URL + self.thumbnail_url = url + self.video_url = self.url_input.text() # Get actual video URL + + # Download thumbnail but don't save yet + response = requests.get(url) + self.thumbnail_image = Image.open(BytesIO(response.content)) + + # Display thumbnail + image = self.thumbnail_image.resize((320, 180), Image.Resampling.LANCZOS) + img_byte_arr = BytesIO() + image.save(img_byte_arr, format='PNG') + pixmap = QPixmap() + pixmap.loadFromData(img_byte_arr.getvalue()) + self.thumbnail_label.setPixmap(pixmap) + except Exception as e: + print(f"Error loading thumbnail: {str(e)}") + + def toggle_save_thumbnail(self): + self.save_thumbnail = self.save_thumbnail_checkbox.isChecked() + print(f"Save thumbnail toggled: {self.save_thumbnail}") # Debug print + + def download_thumbnail_file(self, video_url, path): + if not self.save_thumbnail: + return False + + try: + from yt_dlp import YoutubeDL + import requests # Use requests instead of urlopen + + print(f"Attempting to save thumbnail for URL: {video_url}") + + ydl_opts = { + 'quiet': True, + 'skip_download': True, + 'force_generic_extractor': False, + 'no_warnings': True, + 'extract_flat': False + } + + with YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(video_url, download=False) + thumbnails = info.get('thumbnails', []) + + if not thumbnails: + raise ValueError("No thumbnails available") + + thumbnail_url = max( + thumbnails, + key=lambda t: (t.get('height', 0) or 0) * (t.get('width', 0) or 0) + ).get('url') + + if not thumbnail_url: + raise ValueError("Failed to extract thumbnail URL") + + # Download using requests + response = requests.get(thumbnail_url) + response.raise_for_status() + + # Save the thumbnail + thumb_dir = os.path.join(path, 'Thumbnails') + os.makedirs(thumb_dir, exist_ok=True) + + filename = f"{self.sanitize_filename(info['title'])}.jpg" + thumbnail_path = os.path.join(thumb_dir, filename) + + with open(thumbnail_path, 'wb') as f: + f.write(response.content) + + print(f"Thumbnail saved to: {thumbnail_path}") + self.signals.update_status.emit(f"✅ Thumbnail saved: {filename}") + return True + + except Exception as e: + error_msg = f"❌ Thumbnail error: {str(e)}" + print(f"Thumbnail Save Error: {str(e)}") + self.signals.update_status.emit(error_msg) + return False + + def sanitize_filename(self, name): + """Clean filename for filesystem safety""" + return re.sub(r'[\\/*?:"<>|]', "", name).strip()[:75] \ No newline at end of file diff --git a/ytsage_style.py b/ytsage_style.py new file mode 100644 index 0000000..84c3b8d --- /dev/null +++ b/ytsage_style.py @@ -0,0 +1,135 @@ +MAIN_STYLE = """ +QMainWindow { + background-color: #2b2b2b; +} +QWidget { + background-color: #2b2b2b; + color: #ffffff; + font-size: 12px; +} +QLineEdit { + padding: 8px; + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + color: #ffffff; + selection-background-color: #ff0000; + selection-color: #ffffff; +} +QPushButton { + padding: 8px 15px; + background-color: #ff0000; /* YouTube red */ + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-height: 20px; +} +QPushButton:hover { + background-color: #cc0000; /* Darker red on hover */ +} +QPushButton:pressed { + background-color: #990000; /* Even darker red when pressed */ +} +QPushButton:disabled { + background-color: #666666; /* Gray when disabled */ + color: #999999; +} +QTableWidget { + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + gridline-color: #3d3d3d; + selection-background-color: #ff0000; + selection-color: #ffffff; +} +QHeaderView::section { + background-color: #2b2b2b; + padding: 5px; + border: 1px solid #3d3d3d; + color: #ffffff; + font-weight: bold; +} +QScrollBar:vertical { + border: none; + background-color: #2b2b2b; + width: 12px; + margin: 0px; +} +QScrollBar::handle:vertical { + background-color: #666666; + min-height: 20px; + border-radius: 6px; +} +QScrollBar::handle:vertical:hover { + background-color: #ff0000; +} +QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { + height: 0px; +} +QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + background-color: #363636; +} +QProgressBar::chunk { + background-color: #ff0000; + border-radius: 2px; +} +QComboBox { + padding: 5px; + border: 2px solid #3d3d3d; + border-radius: 4px; + background-color: #363636; + color: #ffffff; + min-height: 20px; +} +QComboBox::drop-down { + border: none; + width: 20px; +} +QComboBox::down-arrow { + image: url(down_arrow.png); + width: 12px; + height: 12px; +} +QCheckBox { + spacing: 5px; + color: #ffffff; +} +QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; +} +QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; +} +QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; +} +QLabel { + color: #ffffff; +} +QTextEdit, QPlainTextEdit { + background-color: #363636; + color: #ffffff; + border: 2px solid #3d3d3d; + border-radius: 4px; + selection-background-color: #ff0000; + selection-color: #ffffff; +} +QMessageBox { + background-color: #2b2b2b; +} +QMessageBox QLabel { + color: #ffffff; +} +QMessageBox QPushButton { + min-width: 80px; +} +""" \ No newline at end of file diff --git a/ytsage_utils.py b/ytsage_utils.py index 9cc6971..1666c83 100644 --- a/ytsage_utils.py +++ b/ytsage_utils.py @@ -3,83 +3,151 @@ import os import json from pathlib import Path import subprocess +import tempfile +from ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path def check_ffmpeg(): + """Check if FFmpeg is installed and accessible with enhanced error handling.""" try: - subprocess.run(['ffmpeg', '-version'], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - check=True) - return True - except (subprocess.SubprocessError, FileNotFoundError): + # Use the enhanced FFmpeg check from ytsage_ffmpeg + if check_ffmpeg_installed(): + return True + + # For Windows, try to add the FFmpeg path to environment + if sys.platform == 'win32': + ffmpeg_path = get_ffmpeg_install_path() + if os.path.exists(os.path.join(ffmpeg_path, 'ffmpeg.exe')): + try: + # Add to current session PATH + os.environ['PATH'] = f"{ffmpeg_path}{os.pathsep}{os.environ.get('PATH', '')}" + return True + except Exception as e: + print(f"Error updating PATH: {e}") + return False + + # For macOS, check common paths + elif sys.platform == 'darwin': + common_paths = [ + '/usr/local/bin/ffmpeg', + '/opt/homebrew/bin/ffmpeg', + '/usr/bin/ffmpeg' + ] + for path in common_paths: + if os.path.exists(path): + try: + ffmpeg_dir = os.path.dirname(path) + os.environ['PATH'] = f"{ffmpeg_dir}{os.pathsep}{os.environ.get('PATH', '')}" + return True + except Exception as e: + print(f"Error updating PATH: {e}") + continue + + return False + + except Exception as e: + print(f"Error checking FFmpeg: {e}") return False def get_yt_dlp_path(): - """Get the appropriate yt-dlp path based on platform and deployment method""" + """Get the appropriate yt-dlp path with enhanced error handling.""" try: if getattr(sys, 'frozen', False): if sys.platform == 'darwin': # For macOS .app bundle if 'Contents/MacOS' in sys.executable: - # Inside .app bundle - return os.path.join(os.path.dirname(sys.executable), 'yt-dlp') + base_path = os.path.dirname(sys.executable) else: # Fallback to user's home directory for macOS base_path = os.path.expanduser('~/Library/Application Support/YTSage') - os.makedirs(base_path, exist_ok=True) - return os.path.join(base_path, 'yt-dlp') elif sys.platform == 'win32': # For Windows executable app_data = os.getenv('APPDATA') - if app_data: - base_path = os.path.join(app_data, 'YTSage') - else: - base_path = os.path.dirname(sys.executable) - os.makedirs(base_path, exist_ok=True) - return os.path.join(base_path, 'yt-dlp.exe') + base_path = os.path.join(app_data, 'YTSage') if app_data else os.path.dirname(sys.executable) else: # For Linux AppImage or binary if 'APPIMAGE' in os.environ: - # Inside AppImage xdg_data = os.getenv('XDG_DATA_HOME', os.path.expanduser('~/.local/share')) base_path = os.path.join(xdg_data, 'YTSage') else: base_path = os.path.dirname(sys.executable) + + # Create directory if it doesn't exist + try: os.makedirs(base_path, exist_ok=True) - return os.path.join(base_path, 'yt-dlp') + except Exception as e: + print(f"Error creating directory: {e}") + base_path = os.path.dirname(sys.executable) + + return os.path.join(base_path, 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') else: # For development/script mode return os.path.join(os.path.dirname(os.path.abspath(__file__)), 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + except Exception as e: print(f"Error determining yt-dlp path: {e}") # Fallback to current directory return os.path.join(os.getcwd(), 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') -def load_saved_path(main_window_instance): # Pass the main window instance - config_file = main_window_instance.config_file # Access config_file via instance +def load_saved_path(main_window_instance): + """Load saved download path with enhanced error handling.""" + config_file = main_window_instance.config_file try: if config_file.exists(): - with open(config_file, 'r') as f: - config = json.load(f) - saved_path = config.get('download_path', '') - if os.path.exists(saved_path): - main_window_instance.last_path = saved_path # Access last_path via instance - else: - main_window_instance.last_path = str(Path.home() / 'Downloads') + try: + with open(config_file, 'r', encoding='utf-8') as f: + config = json.load(f) + saved_path = config.get('download_path', '') + if os.path.exists(saved_path) and os.access(saved_path, os.W_OK): + main_window_instance.last_path = saved_path + return + except (json.JSONDecodeError, UnicodeError) as e: + print(f"Error reading config file: {e}") + # If config file is corrupted, try to remove it + try: + os.remove(config_file) + except Exception: + pass + + # Fallback to Downloads folder + downloads_path = str(Path.home() / 'Downloads') + if os.path.exists(downloads_path) and os.access(downloads_path, os.W_OK): + main_window_instance.last_path = downloads_path else: - main_window_instance.last_path = str(Path.home() / 'Downloads') + # Final fallback to temp directory if Downloads is not accessible + main_window_instance.last_path = tempfile.gettempdir() + except Exception as e: print(f"Error loading saved settings: {e}") - main_window_instance.last_path = str(Path.home() / 'Downloads') + main_window_instance.last_path = tempfile.gettempdir() -def save_path(main_window_instance, path): # Pass main window instance - config_file = main_window_instance.config_file # Access config_file via instance +def save_path(main_window_instance, path): + """Save download path with enhanced error handling.""" + config_file = main_window_instance.config_file try: - config = { - 'download_path': path - } - with open(config_file, 'w') as f: - json.dump(config, f) + # Verify the path is valid and writable + if not os.path.exists(path): + try: + os.makedirs(path, exist_ok=True) + except Exception as e: + print(f"Error creating directory: {e}") + return False + + if not os.access(path, os.W_OK): + print("Path is not writable") + return False + + # Create config directory if it doesn't exist + config_dir = config_file.parent + if not config_dir.exists(): + config_dir.mkdir(parents=True, exist_ok=True) + + # Save the config + config = {'download_path': path} + with open(config_file, 'w', encoding='utf-8') as f: + json.dump(config, f, ensure_ascii=False) + return True + except Exception as e: - print(f"Error saving settings: {e}") \ No newline at end of file + print(f"Error saving settings: {e}") + return False \ No newline at end of file From be11ab069bcb3d23ed95dc1a27ba24396c620ce9 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Mon, 10 Mar 2025 15:35:03 +0200 Subject: [PATCH 031/568] Delete __pycache__ directory --- __pycache__/ytsage_downloader.cpython-313.pyc | Bin 18823 -> 0 bytes __pycache__/ytsage_ffmpeg.cpython-313.pyc | Bin 11274 -> 0 bytes __pycache__/ytsage_gui_dialogs.cpython-313.pyc | Bin 34343 -> 0 bytes .../ytsage_gui_format_table.cpython-313.pyc | Bin 17301 -> 0 bytes __pycache__/ytsage_gui_main.cpython-313.pyc | Bin 42296 -> 0 bytes .../ytsage_gui_video_info.cpython-313.pyc | Bin 17912 -> 0 bytes __pycache__/ytsage_utils.cpython-313.pyc | Bin 8519 -> 0 bytes 7 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 __pycache__/ytsage_downloader.cpython-313.pyc delete mode 100644 __pycache__/ytsage_ffmpeg.cpython-313.pyc delete mode 100644 __pycache__/ytsage_gui_dialogs.cpython-313.pyc delete mode 100644 __pycache__/ytsage_gui_format_table.cpython-313.pyc delete mode 100644 __pycache__/ytsage_gui_main.cpython-313.pyc delete mode 100644 __pycache__/ytsage_gui_video_info.cpython-313.pyc delete mode 100644 __pycache__/ytsage_utils.cpython-313.pyc diff --git a/__pycache__/ytsage_downloader.cpython-313.pyc b/__pycache__/ytsage_downloader.cpython-313.pyc deleted file mode 100644 index a3a2b1a8b86a3c6d84ce8f0e917698af95272a82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18823 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 Zv3=bngvT`15VqHlWp_JGWEt+^{{WG8^~3-G diff --git a/__pycache__/ytsage_gui_dialogs.cpython-313.pyc b/__pycache__/ytsage_gui_dialogs.cpython-313.pyc deleted file mode 100644 index c18b99d693861127023a0e43b9d786c8c1ca6589..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34343 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

dT*fVe>Zz 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 O;=SDczCd^0xc>*##38Q$ diff --git a/__pycache__/ytsage_gui_format_table.cpython-313.pyc b/__pycache__/ytsage_gui_format_table.cpython-313.pyc deleted file mode 100644 index ab68ded7174e625dd3543100e5447b374a8babb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17301 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%0D2;Kw0+hzM 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 YFpV@(Mcb?R2L3gRZu}X8F~#No0WR(`=l}o! diff --git a/__pycache__/ytsage_utils.cpython-313.pyc b/__pycache__/ytsage_utils.cpython-313.pyc deleted file mode 100644 index 1bf3fa3704b5208663af3f04c081e49a8264b2c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8519 zcmc&(Yitu)mcHfkD}Lr-=S3cs2PEc^03itpc@W5hgpjatJUo)YRP0Ld;FLX8PKQJ- zwl%+Cel!maL+D0IkXlPvwbbdEks2f*2ciGK4JpZ@mF1IAxq__7N*qL7 zq$D^(Y|A(ql(K_lmzqiKS`oHjUJr+WcAEte$EHWX}af)%Awhs@FdYKWsi{*W^+s!zItP#eyhHCf16bEJ? zB^6Xi_%F{vegzev0Yd7kj#kQ}B@I0z#DJtO>XS<&U!w`bVEl+{rgtE0NaH0VH}p$!=l`KG?jV^x3p+x>m!w`o?n zRUxfwKviUdKPgeX8G>UAudB3g6`p-N=c`~$(tY_be=;A4c?#5La2o;Gr= zO`Kq>Ll$h81c{Sz+wiu|ac->KCSPT>|3|A*U{@`ITwR0)G9{^1h|UI^5d-k~Mv_%& zBj8ENB#Tg}5Ls0$(L#)@IB6f~S}7dukX zFDS-cY}L+5O~jK_FlQL>F)jTE1T<-G692|=!3iG^g?-HDa`P45 z30Nt?g>!kpI0gRvN8rCcLQC>Z3iB&%QAk@7(3UJ_WUVNX&Um5We8W_2P+J_%-4V>K zI(IN^OuI0Ce*D7O^JlLQO^;j~nRZ`u&+fUc3l_A6jO_tq`;ttVR`lK0+S$gt>GyK) zU(nh{_!U#?w|1YANLQQ2)5b%ttb5!`ZxQoc3tY4`XFH1w78*gDFvl=5KFsI zs(Gad8PYBco*$e#8q{z6UM9~ooa3tT)!Iw7SDP+1&6I{R%7PhXu%x*t zys_-&ksC*D+HctB`hy$mr!t{c_yYF7tovzyr&t%UvPc_dCPYwPfKlj_|;DI53 zhr_?kd0jTGxu%(^31n~n*TRzj*1{r7CXnIBl`SZ{Xc@`Uio&KGf8LI{qPYxzZuNqx zCcJ@qv!sBIH!H;`ZzGI><+JnsRP`J^XZ07yx!u*>5M|cvyGPYNt%Pkb-_p4eIZRO}e9RZC8dzvAC*xXXuu9rP7 z!KB9AftEecH8F7{Sw zI?UvJqoE^}e3Ghwdh&=ps9YPdd3la6*@tYK*jT5|%^oa@gJgaH0p~S%n4c~!z)Tr-_xt~ND{k> z!HdWE5;j7zDNU`KnJjK*thF3MHo~fwutM+Fb#(kYEZF;7Yf1ul)7z4WPtmqYhveF8 z68I$3GTD>RN*0rJWo7GdNoFfq+*T~=-L?*gzr$Lq5Ks&^#BEj#$kD2^>g#0GdRQr$ z9_xL1kv9>(2y3cjuTo@9i`UoDJjt5t%t&UdcO&%txHY8OK!H??J?-fC_g-J#JM;z2 z1=uK(0KK(|h&P5ptp*#p8om7u+PGHg4CJ;tPAzlZf;9Nr@e>QVYMgP|pdT{VYynSzQQ;zdBJw%dnYZpLmGCpyNR7P*izMDvV@PX#qR zB0HdST2P;Hj)*l5znVObdKjg0_|p-Lu&8~)XNM;!&f|6fwF-|jz{`Qb=0?RyBCJjS zP1TfoW@AWO{z6+GHl|R(TH+yvMOpw}p zsq6>i` zX3%~e?LT@lQUR6YLqC(nj3WC=^`+`7frXyAk`JF*ztw?mizWdu%d0sy-X4& z8?l54y^UBrXiaSXxMD=6e88qyDziU(=iH9D5`SjRLTYU|uRt_b@3r2~_kYoIt0$PZ z=Sm8OtNMmFD<%=rlK3HFOj|ie%mSvZT2SwL72P1flLT{je$x5r!Mhpv^6upQDJxia z_*S0(XD5P2`!{O)ns6W}Rzwn+iGBN{1S8H6wv z#E5nIFOXk>SlfrGYZ415CN`okifj`*B|jKLW}k{@8hDc?Ccs>PiLGQEDMNrmV#u>E z7V)H!2tlNeoeHp|jqKCL`=napc@HZez#qPt`tUw+O-d%OO)kaDn8fvf!{U6B;xJp{ zN=eR@B(xCY30#iub;l4}0kSIbPZ|fOBw{;}GEgLmKTs^y`bwo*yo|>lt9lz)NYaN@ zCTQ`#)=)~bW0HeoO5l^+8i^~tk2N5e96cGg#)xuYlcZ0dw6H{gGOnQwCC(~BTVuN_ zC%nVMfCvi_1;3u@*m+U>4NHP0Hi<;d@It9$Nn|*cCL{xWvzUFiyb8?@EeGw zjjwLeOxARJXeY(fAHYGC(=*Pxaq~SO2f@8ojQNJQ?G^(+>+m=sXbXCYMI`3o!o>m3~XT)^{osD(H zS`kd30Orx}mwZmB**dlUE z0H=Ul9iB)G3(ANJf<{y?VkQh91cPKcUL^7uk6}0gDT*ktdiI2A-7o@24&Dc!#z*M8 z^i84koq_b7A01qhZBR5XYBNLH{D3w;q%90+3zuYieNNb%Gqq)gpF8rx-1x_|aDLJB zu}_Z8{PNSmi|va=WjNT+_TKIb7VW**70$}JI(}*V>e)+YXMPdN+7Zaw@rR+WT)%Vu zQS)ry^Nyz-p_=|cP5)xu{)OzC#q5F~v?#MFWN!4E8&?WYZvORt%=^=U**$^$nqW@t zIYU^hzfgO=_CnM7rm2dM))LTKJ|FtR_0O)`1~{5hJynG&4hJd@FK*lOjczkU`ih#+ zw!JU5?G0|*=hsm{`@sTBd}D6J=Sk+Akf}UiD*t?|KcjXTDM2?JzN_Y1=BoUewF{}c zm*iwxP8i@q=jG0+(;?I5fNArO;Vfzy5otN!nzENjDF3pgg{f~=sOSMzvlz@PW`8;B z@Edk6sH?)39U)7@3rj=L(&Sg?h18n@>P_O2Rr7293RwSRa|c47Y1=6DMN3ngk$kXC z4fO{#V&2qJ4ZV+c7RK(y#^pb^4 z&=la)>QDx5Uye7^BZ^2Fcl$pbR!4|fSbf)8`uAVUVwl`+h3N9v1eboU1dPIMgsi81 z(sUSafZ@7@_4uf9&L!^m;5rs=9yq+qH0~Mo7Jgyi-=Nyk2Vr1bqV@9#5H2~K@*K!ct$6t9)Rp^AD@EVdn72>V8DlXkp6A&o(uOB@mq)~XUJF* zFqSOIqY8z*jlBgUzqsy#FXheH$8rBJY*~j7|X)CG=F;eg3hv-kqsNY z%%YIFEMP7>r&%=Sgp5?cNQI2W0b}u^E;FRd3+VD@`sZ5xxK;ue7H1ZVDJM%g3dy8R+-s{rTv=x*DqYn_3VQ51KMtW#mJX8tM=8HT#>% zhh>KS_2k29Ii}PrFr}G<`Xia9HC6RUC)QKNJVVo3O+Lyuv~DLKZC5}YF2wMTB=TyA z&seHqg2n00z*bto8;Cnv~j?Ivuk6t)MF1W^Mm^3kH`Bxo01f*r9({zd5N^&qU@I_?Ikk)JL>#iUQU?5? Date: Mon, 10 Mar 2025 15:44:07 +0200 Subject: [PATCH 032/568] Update Screenshot Update the main interface screenshot --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c3661aa..6a3e526 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # 🎥 YTSage -YTSage Interface +YTSage Interface [![PyPI version](https://badge.fury.io/py/ytsage.svg)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) @@ -76,7 +76,7 @@ python main.py

Main InterfaceMain Interface Playlist Download
Playlist Download
Audio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor SegmentsAudio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor Segments
Audio Format Selection with Save Thumbnail
- + From d792b232221bff6c976f44e181f0e2c2af59e529 Mon Sep 17 00:00:00 2001 From: Muhamed Date: Mon, 31 Mar 2025 16:41:07 +0200 Subject: [PATCH 033/568] Update ytsage_gui_main.py --- ytsage_gui_main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py index 9efa5e5..898b096 100644 --- a/ytsage_gui_main.py +++ b/ytsage_gui_main.py @@ -31,7 +31,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if not check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "4.2.0" + self.version = "4.2.1" self.check_for_updates() self.config_file = Path.home() / '.ytsage_config.json' load_saved_path(self) @@ -224,7 +224,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.2.0') + self.setWindowTitle('YTSage v4.2.1') self.setMinimumSize(900, 650) # Main widget and layout From 82de19c95ae355c7fda2a6ab2084b986fe373b40 Mon Sep 17 00:00:00 2001 From: Muhamed Date: Tue, 29 Apr 2025 14:54:13 +0300 Subject: [PATCH 034/568] 4v.5.0 --- Icon/icon.png | Bin 0 -> 4966 bytes README.md | 50 +- requirements.txt | 3 +- ytsage_downloader.py | 759 +++++++++++++++++++-------- ytsage_gui_dialogs.py | 1008 +++++++++++++++++++++++++++++------- ytsage_gui_format_table.py | 178 +++++-- ytsage_gui_main.py | 682 ++++++++++++++++++------ ytsage_gui_video_info.py | 276 +++++----- ytsage_style.py | 58 +-- ytsage_utils.py | 52 +- 10 files changed, 2220 insertions(+), 846 deletions(-) create mode 100644 Icon/icon.png diff --git a/Icon/icon.png b/Icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8b32d056220a44c3c02abd9acc19d26371d5e5b1 GIT binary patch literal 4966 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 NwA6G}E0nFm{{u;wZ5aRn literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 6a3e526..0fd828b 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,13 @@ Download videos in any quality, extract audio, fetch subtitles, and more.
-| Core Features | Advanced Features | Extra Features | -|--------------|-------------------|----------------| -| 🎥 Smart Video Quality | 🚫 SponsorBlock Integration | 💾 Save Download Path | -| 🎵 Audio Extraction | 📝 Subtitle Support & Filtering | 🔄 Auto-Updates | -| 📊 Real-time Progress | ⚙️ Custom Commands | 🛠️ FFmpeg Tools | -| 📋 Playlist Support | 🖼️ Save thumbnail | ⚠️ Error Handling | +| Core Features | Advanced Features | Extra Features | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Format Table | 🚫 SponsorBlock Integration | 💾 Save Download Path | +| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Updates | +| ✨ Simple UI | 💾 Save Description | 🛠️ FFmpeg/yt-dlp Detection | +| 📋 Playlist Support | 🖼️ Save thumbnail | ⚙️ Custom Commands | +| 🖼️ Playlist Selector | 🚀 Speed Limiter | 🍪 Login with Cookies |
@@ -40,7 +41,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more. ### Quick Install (Recommended) ```bash -pip install YTSage +pip install ytsage ``` ```bash # Run the application @@ -52,10 +53,12 @@ ytsage ### Pre-built Executables - 🪟 Windows: `YTSage.exe` +- 🪟 Windows: `YTSage-ffmpeg.exe` (Includes FFmpeg) +- 🐧 Linux: `YTSage-x86_64.AppImage` +- 🍎 macOS: `YTSage-macOS-app.zip` - 🍎 macOS: `YTSage.dmg` -- 🐧 Linux: `YTSage.AppImage` -### Manual Installation +### Manual Installation from Source ```bash # Clone repository git clone https://github.com/oop7/YTSage.git @@ -88,8 +91,8 @@ python main.py
- - + +
Main InterfaceMain Interface Playlist Download
Subtitle Options merged with Remove Sponsor Segments
Audio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor SegmentsAudio FormatSubtitle Options
@@ -107,9 +110,10 @@ python main.py - `Audio Only` for audio extraction 5. **Choose Options:** - Enable subtitles & select language - - Enable subtitle embedding + - Enable subtitle merge - Save thumbnail - Remove sponsor segments + - Save description 6. **Select Output Directory** 7. **Click "Download"** @@ -120,8 +124,9 @@ python main.py 1. **Paste Playlist URL** 2. **Click "Analyze"** -3. **Select Best Quality** -4. **Click "Download"** +3. **Select videos from the playlist selector (optional, defaults to all)** +4. **Choose desired format/quality** +5. **Click "Download"** > 💡 The application automatically handles the download queue @@ -132,9 +137,18 @@ python main.py - **Quality Selection:** Choose the highest resolution for best quality - **Subtitle Options:** Filter languages and embed into video -- **SponsorBlock:** Automatically skip promotional content - **Custom Commands:** Access advanced yt-dlp features -- **Output Directory:** Ensure sufficient storage space +- **Save Description:** Save the description of the video +- **Save Thumbnail:** Save the thumbnail of the video +- **Remove Sponsor Segments:** Remove sponsor segments from the video +- **Speed Limiter:** Limit the download speed +- **Login with Cookies:** Login with cookies +- **Save Download Path:** Save the download path +- **Update yt-dlp:** Update yt-dlp +- **FFmpeg/yt-dlp Detection:** Automatically detect FFmpeg/yt-dlp +- **Custom Commands:** Access advanced yt-dlp features + + @@ -148,6 +162,7 @@ Pillow requests FFmpeg packaging +markdown ``` ## 👥 Contributing @@ -191,6 +206,9 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file | [PySide6](https://wiki.qt.io/Qt_for_Python) | GUI Framework | | [FFmpeg](https://ffmpeg.org/) | Media Processing | | [Pillow](https://python-pillow.org/) | Image Processing | +| [requests](https://requests.readthedocs.io/) | HTTP Requests | +| [packaging](https://packaging.python.org/) | Packaging | +| [markdown](https://python-markdown.github.io/) | Markdown Processing | diff --git a/requirements.txt b/requirements.txt index b195626..f5fd815 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,5 @@ PySide6 yt-dlp requests pillow -packaging \ No newline at end of file +packaging +markdown \ No newline at end of file diff --git a/ytsage_downloader.py b/ytsage_downloader.py index e9b88a7..5b33505 100644 --- a/ytsage_downloader.py +++ b/ytsage_downloader.py @@ -1,8 +1,10 @@ -from PySide6.QtCore import QThread, Signal, QObject +from PySide6.QtCore import QThread, Signal, QObject, QProcess, QTimer import yt_dlp # Keep yt_dlp import here - only downloader uses it. import time import os import re +import subprocess # For direct CLI command execution +import shlex # For safely parsing command arguments from pathlib import Path class SignalManager(QObject): @@ -16,20 +18,32 @@ class DownloadThread(QThread): finished_signal = Signal() error_signal = Signal(str) file_exists_signal = Signal(str) # New signal for file existence + update_details = Signal(str) # New signal for filename, speed, ETA - def __init__(self, url, path, format_id, subtitle_lang=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None): + def __init__(self, url, path, format_id, subtitle_langs=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None, save_description=False, cookie_file=None, rate_limit=None): super().__init__() self.url = url self.path = path self.format_id = format_id - self.subtitle_lang = subtitle_lang + self.subtitle_langs = subtitle_langs if subtitle_langs else [] self.is_playlist = is_playlist self.merge_subs = merge_subs self.enable_sponsorblock = enable_sponsorblock self.resolution = resolution self.playlist_items = playlist_items + self.save_description = save_description + self.cookie_file = cookie_file + self.rate_limit = rate_limit self.paused = False self.cancelled = False + self.process = None + self.use_direct_command = True # Flag to use direct CLI command instead of Python API + self.last_output_time = time.time() + self.timeout_timer = None + self.current_filename = None # Initialize filename storage + self.last_file_path = None # Initialize full file path storage + self.subtitle_files = [] # Track subtitle files that are created + self.initial_subtitle_files = set() # Track initial subtitle files before download def cleanup_partial_files(self): """Delete any partial files including .part and unmerged format-specific files""" @@ -46,14 +60,99 @@ class DownloadThread(QThread): except Exception as e: self.error_signal.emit(f"Error cleaning partial files: {str(e)}") + def cleanup_subtitle_files(self): + """Delete subtitle files after they have been merged into the video file""" + if not self.merge_subs: + return # Only cleanup if merge_subs is enabled + + try: + deleted_count = 0 + + # Method 1: Delete tracked subtitle files from output messages + if self.subtitle_files: + for subtitle_file in self.subtitle_files: + try: + if os.path.isfile(subtitle_file): + os.remove(subtitle_file) + deleted_count += 1 + print(f"DEBUG: Deleted tracked subtitle file: {os.path.basename(subtitle_file)}") + except Exception as e: + print(f"Error deleting subtitle file {subtitle_file}: {str(e)}") + + print(f"DEBUG: Deleted {deleted_count} of {len(self.subtitle_files)} tracked subtitle files") + + # Method 2: Find newly created subtitle files by comparing with initial set + try: + new_subtitle_files = set() + for root, dirs, files in os.walk(self.path): + for file in files: + if file.endswith('.vtt') or file.endswith('.srt'): + full_path = os.path.join(root, file) + if full_path not in self.initial_subtitle_files: + new_subtitle_files.add(full_path) + + if new_subtitle_files: + print(f"DEBUG: Found {len(new_subtitle_files)} new subtitle files to delete") + for subtitle_file in new_subtitle_files: + try: + if os.path.isfile(subtitle_file): + os.remove(subtitle_file) + deleted_count += 1 + print(f"DEBUG: Deleted new subtitle file: {os.path.basename(subtitle_file)}") + except Exception as e: + print(f"Error deleting new subtitle file {subtitle_file}: {str(e)}") + except Exception as e: + print(f"Error in finding new subtitle files: {str(e)}") + + # Method 3: As a last resort, use timestamp-based approach for recently created files + if self.last_file_path and deleted_count == 0: + target_dir = os.path.dirname(self.last_file_path) + + # Look for subtitle files created in last 5 minutes + now = time.time() + for filename in os.listdir(target_dir): + if filename.endswith('.vtt') or filename.endswith('.srt'): + file_path = os.path.join(target_dir, filename) + + # Check if it was created in the last 5 minutes + file_time = os.path.getctime(file_path) + if now - file_time < 300: # 5 minutes + try: + os.remove(file_path) + deleted_count += 1 + print(f"DEBUG: Deleted subtitle file by timestamp: {filename}") + except Exception as e: + print(f"Error deleting subtitle file {filename}: {str(e)}") + + print(f"DEBUG: Total subtitle files deleted: {deleted_count}") + + except Exception as e: + print(f"Error cleaning subtitle files: {str(e)}") + def check_file_exists(self): """Check if the file already exists before downloading""" try: print("DEBUG: Starting file existence check") - # Use yt-dlp to get the filename without downloading - with yt_dlp.YoutubeDL({'quiet': True, 'skip_download': True}) as ydl: + # Use yt-dlp to get the filename without downloading, suppressing warnings + ydl_opts_check = { + 'quiet': True, + 'skip_download': True, + 'no_warnings': True, # <-- Suppress warnings during check + 'ignoreerrors': True, # Also ignore other potential errors during this check + 'outtmpl': {'default': os.path.join(self.path, '%(title)s.%(ext)s')}, + 'format': self.format_id if self.format_id else 'best' # Use selected format or best + } + if self.cookie_file: + ydl_opts_check['cookiefile'] = self.cookie_file + + with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: info = ydl.extract_info(self.url, download=False) + # Handle cases where info extraction fails silently + if not info: + print("DEBUG: Failed to extract info during file existence check. Skipping check.") + return False # Proceed with download attempt + # Get the title and sanitize it for filename title = info.get('title', 'video') # Don't remove colons and other special characters yet @@ -106,10 +205,147 @@ class DownloadThread(QThread): traceback.print_exc() return None + def _build_yt_dlp_command(self): + """Build the yt-dlp command line with all options for direct execution.""" + cmd = ["yt-dlp"] + + # Format selection strategy - use format ID if provided or fallback to resolution + if self.format_id: + # Strip the -drc suffix if present to fix issues with certain audio formats + clean_format_id = self.format_id.split('-drc')[0] if '-drc' in self.format_id else self.format_id + + # Check if this is an audio-only format + is_audio_format = False + try: + ydl_opts = { + 'quiet': True, + 'no_warnings': True, + 'skip_download': True, + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(self.url, download=False) + for fmt in info.get('formats', []): + if fmt.get('format_id') == clean_format_id: + if fmt.get('vcodec') == 'none' or 'audio only' in fmt.get('format_note', '').lower(): + is_audio_format = True + print(f"DEBUG: Detected audio-only format for ID: {clean_format_id}") + break + except Exception as e: + print(f"DEBUG: Error checking if format is audio-only: {e}") + + # For audio-only formats, don't try to merge with video + if is_audio_format: + cmd.extend(["-f", clean_format_id]) + print(f"DEBUG: Using audio-only format selection: {clean_format_id}") + else: + cmd.extend(["-f", f"{clean_format_id}+bestaudio/best"]) + print(f"DEBUG: Using video format selection with audio: {clean_format_id}+bestaudio/best") + + # Determine output format based on the selected format ID - only for video formats + if not is_audio_format: + try: + format_ext = None + print(f"DEBUG: Getting format information for format ID: {self.format_id} (using: {clean_format_id})") + ydl_opts = { + 'quiet': True, + 'no_warnings': True, + 'skip_download': True, + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(self.url, download=False) + # Look for the clean format ID first + for fmt in info.get('formats', []): + if fmt.get('format_id') == clean_format_id: + format_ext = fmt.get('ext') + break + # If not found, try the original ID as fallback + if not format_ext: + for fmt in info.get('formats', []): + if fmt.get('format_id') == self.format_id: + format_ext = fmt.get('ext') + break + + if format_ext: + print(f"DEBUG: Detected format extension: {format_ext}") + # Ensure output matches the selected format - only for video formats + cmd.extend(["--merge-output-format", format_ext]) + except Exception as e: + print(f"DEBUG: Error detecting format extension: {e}") + # If we can't determine the format, don't specify merge-output-format + pass + else: + # If no specific format ID, use resolution-based sorting (-S) + res_value = self.resolution if self.resolution else "720" # Default to 720p if no resolution specified + cmd.extend(["-S", f"res:{res_value}"]) + + # Output template with resolution in filename + output_template = os.path.join(self.path, '%(title)s_%(resolution)s.%(ext)s') + + # Handle playlist directory creation if needed + if self.is_playlist: + # Create output template with playlist subfolder + output_template = os.path.join(self.path, '%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s') + + cmd.extend(["-o", output_template]) + + # Add common options + cmd.append("--force-overwrites") + + # Add playlist items if specified + if self.is_playlist and self.playlist_items: + cmd.extend(["--playlist-items", self.playlist_items]) + + # Add subtitle options if selected + if self.subtitle_langs: + # Subtitles work with both audio-only and video formats + # For audio-only formats, subtitles will be downloaded as separate files + cmd.append("--write-subs") + + # Get language codes from subtitle selections + lang_codes = [] + for sub_selection in self.subtitle_langs: + try: + # Extract just the language code (e.g., 'en' from 'en - Manual') + lang_code = sub_selection.split(' - ')[0] + lang_codes.append(lang_code) + except Exception as e: + print(f"Warning: Could not parse subtitle selection '{sub_selection}': {e}") + + if lang_codes: + cmd.extend(["--sub-langs", ",".join(lang_codes)]) + cmd.append("--write-auto-subs") # Include auto-generated subtitles + + # Add embedding if requested - only applies to video formats + if self.merge_subs: + cmd.append("--embed-subs") + + # Add SponsorBlock if enabled + if self.enable_sponsorblock: + cmd.append("--sponsorblock-remove") + cmd.append("sponsor") + + # Add description saving if enabled + if self.save_description: + cmd.append("--write-description") + + # Add cookies if specified + if self.cookie_file: + cmd.extend(["--cookies", self.cookie_file]) + + # Add rate limit if specified + if self.rate_limit: + cmd.extend(["-r", self.rate_limit]) + + # Add the URL as the final argument + cmd.append(self.url) + + return cmd + def run(self): try: print("DEBUG: Starting download thread") - # First check if file already exists + + # First check if file already exists using original method existing_file = self.check_file_exists() if existing_file: print(f"DEBUG: File exists, emitting signal: {existing_file}") @@ -117,216 +353,305 @@ class DownloadThread(QThread): return print("DEBUG: No existing file found, proceeding with download") - class DebugLogger: - def debug(self, msg): - # Print all debug messages to help diagnose issues - print(f"YT-DLP DEBUG: {msg}") - - # Check for file exists message - look for both patterns - if "already exists" in msg or "has already been downloaded" in msg: - print(f"FILE EXISTS DETECTED: {msg}") - # Try to extract the filename - import re - match = re.search(r'File (.*?) already exists', msg) - if not match: - match = re.search(r'(.*?) has already been downloaded', msg) - - if match: - filename = os.path.basename(match.group(1)) - self.thread.file_exists_signal.emit(filename) - raise Exception("FileExistsError") - - # Add detection of post-processing messages - if "Downloading" in msg: - self.thread.status_signal.emit("⚡ Downloading video...") - elif "Post-process" in msg or "Sponsorblock" in msg: - self.thread.status_signal.emit("✨ Post-processing: Removing sponsor segments...") - self.thread.progress_signal.emit(99) # Keep progress bar at 99% - elif any(x in msg.lower() for x in ['downloading webpage', 'downloading api']): - self.thread.status_signal.emit("🔍 Fetching video information...") - self.thread.progress_signal.emit(0) - elif 'extracting' in msg.lower(): - self.thread.status_signal.emit("📦 Extracting video data...") - self.thread.progress_signal.emit(0) - elif 'downloading m3u8' in msg.lower(): - self.thread.status_signal.emit("🎯 Preparing video streams...") - self.thread.progress_signal.emit(0) - - def warning(self, msg): - print(f"YT-DLP WARNING: {msg}") - self.thread.status_signal.emit(f"⚠️ Warning: {msg}") - # Also check for file exists in warnings - if "already exists" in msg or "has already been downloaded" in msg: - print(f"FILE EXISTS DETECTED IN WARNING: {msg}") - import re - match = re.search(r'File (.*?) already exists', msg) - if not match: - match = re.search(r'(.*?) has already been downloaded', msg) - - if match: - filename = os.path.basename(match.group(1)) - self.thread.file_exists_signal.emit(filename) - raise Exception("FileExistsError") - - def error(self, msg): - print(f"YT-DLP ERROR: {msg}") - self.thread.status_signal.emit(f"❌ Error: {msg}") - # Also check for file exists in errors - if "already exists" in msg or "has already been downloaded" in msg: - print(f"FILE EXISTS DETECTED IN ERROR: {msg}") - import re - match = re.search(r'File (.*?) already exists', msg) - if not match: - match = re.search(r'(.*?) has already been downloaded', msg) - - if match: - filename = os.path.basename(match.group(1)) - self.thread.file_exists_signal.emit(filename) - raise Exception("FileExistsError") - - def __init__(self, thread): - self.thread = thread - - def progress_hook(d): - if self.cancelled: - raise Exception("Download cancelled by user") - - if d['status'] == 'downloading': - while self.paused and not self.cancelled: - time.sleep(0.1) - continue - - try: - downloaded_bytes = d.get('downloaded_bytes', 0) - total_bytes = d.get('total_bytes', 0) or d.get('total_bytes_estimate', 0) - - if total_bytes: - progress = (downloaded_bytes / total_bytes) * 100 - self.progress_signal.emit(progress) - - speed = d.get('speed', 0) - if speed: - speed_str = f"{speed/1024/1024:.1f} MB/s" - else: - speed_str = "N/A" - - eta = d.get('eta', 0) - if eta: - eta_str = f"{eta//60}:{eta%60:02d}" - else: - eta_str = "N/A" - - filename = os.path.basename(d.get('filename', '')) - status = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" - self.status_signal.emit(status) - - except Exception as e: - self.status_signal.emit("⚡ Downloading...") - - elif d['status'] == 'finished': - if self.enable_sponsorblock: - self.progress_signal.emit(99) - self.status_signal.emit("✨ Post-processing: Removing sponsor segments...") - else: - self.progress_signal.emit(100) - self.status_signal.emit("✅ Download completed!") - - # Get the extension from the format_id - with yt_dlp.YoutubeDL({'quiet': True}) as ydl: - try: - info = ydl.extract_info(self.url, download=False) - selected_format = next( - f for f in info['formats'] - if str(f.get('format_id', '')) == self.format_id - ) - output_ext = selected_format.get('ext', 'mp4') - except Exception as e: - self.error_signal.emit(f"Failed to get video information: {str(e)}") - return - - # Base yt-dlp options with resolution in filename - output_template = '%(title)s_%(resolution)s.%(ext)s' - if self.is_playlist: - output_template = '%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s' - - ydl_opts = { - 'format': f'{self.format_id}+bestaudio/best', - 'outtmpl': os.path.join(self.path, output_template), - 'progress_hooks': [progress_hook], - 'merge_output_format': 'mp4', - 'logger': DebugLogger(self), - 'postprocessors': [{ - 'key': 'FFmpegVideoConvertor', - 'preferedformat': 'mp4' - }], - 'force_overwrites': True - } - - # Add subtitle options if selected - if self.subtitle_lang: - lang_code = self.subtitle_lang.split(' - ')[0] - is_auto = 'Auto-generated' in self.subtitle_lang - ydl_opts.update({ - 'writesubtitles': True, - 'subtitleslangs': [lang_code], - 'writeautomaticsub': True, - 'skip_manual_subs': is_auto, - 'skip_auto_subs': not is_auto, - 'embedsubtitles': self.merge_subs, - }) - - if self.merge_subs: - ydl_opts['postprocessors'].extend([ - { - 'key': 'FFmpegSubtitlesConvertor', - 'format': 'srt', - }, - { - 'key': 'FFmpegEmbedSubtitle', - 'already_have_subtitle': False, - } - ]) - - # Add SponsorBlock options if enabled - if self.enable_sponsorblock: - ydl_opts['postprocessors'].extend([{ - 'key': 'SponsorBlock', - 'categories': ['sponsor'], - 'api': 'https://sponsor.ajay.app' - }, { - 'key': 'ModifyChapters', - 'remove_sponsor_segments': ['sponsor'], - 'sponsorblock_chapter_title': '[SponsorBlock]', - 'force_keyframes': False - }]) - - # Add playlist items if specified - if self.playlist_items: - ydl_opts['playlist_items'] = self.playlist_items - - try: - # Download the video - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([self.url]) - - if not self.cancelled: - self.finished_signal.emit() - - # Clean up subtitle files after successful download - if self.merge_subs: - for filename in os.listdir(self.path): - if filename.lower().endswith(('.vtt', '.srt', '.ass')): - try: - os.remove(os.path.join(self.path, filename)) - except Exception as e: - self.error_signal.emit(f"Error deleting subtitle file: {str(e)}") - except Exception as e: - if str(e) == "Download cancelled by user": - self.cleanup_partial_files() - self.error_signal.emit("Download cancelled") - else: - self.error_signal.emit(f"Download failed: {str(e)}") - + # Get initial list of subtitle files to compare later + self.initial_subtitle_files = set() + if self.merge_subs: + try: + # Scan for existing subtitle files in the directory + for root, dirs, files in os.walk(self.path): + for file in files: + if file.endswith('.vtt') or file.endswith('.srt'): + self.initial_subtitle_files.add(os.path.join(root, file)) + print(f"DEBUG: Found {len(self.initial_subtitle_files)} existing subtitle files before download") + except Exception as e: + print(f"Warning: Error scanning for initial subtitle files: {e}") + + if self.use_direct_command: + # Use direct CLI command instead of Python API + self._run_direct_command() + else: + # Original method using Python API - code left for reference + self._run_python_api() + except Exception as e: - self.error_signal.emit(f"Critical error: {str(e)}") \ No newline at end of file + # Catch errors during setup + self.error_signal.emit(f"Critical error in download thread: {str(e)}") + import traceback + traceback.print_exc() + + def _run_direct_command(self): + """Run yt-dlp as a direct command line process instead of using Python API.""" + try: + cmd = self._build_yt_dlp_command() + cmd_str = " ".join(shlex.quote(str(arg)) for arg in cmd) + print(f"DEBUG: Executing command: {cmd_str}") + + self.status_signal.emit("🚀 Starting download...") + self.progress_signal.emit(0) + + # Start the process + # Add creationflags=subprocess.CREATE_NO_WINDOW to hide console on Windows + creation_flags = 0 + if os.name == 'nt': # Only use flag on Windows + creation_flags = subprocess.CREATE_NO_WINDOW + + self.process = subprocess.Popen( + cmd, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True, + bufsize=1, # Line buffered + universal_newlines=True, + creationflags=creation_flags # Add this flag + ) + + # Process output line by line to update progress + for line in iter(self.process.stdout.readline, ''): + if self.cancelled: + self.process.terminate() + self.cleanup_partial_files() + self.status_signal.emit("Download cancelled") + return + + # Wait if paused + while self.paused and not self.cancelled: + time.sleep(0.1) + + # Parse the line for download progress and status updates + self._parse_output_line(line) + + # Wait for process to complete + return_code = self.process.wait() + + if return_code == 0: + self.progress_signal.emit(100) + self.status_signal.emit("✅ Download completed!") + + # Clean up subtitle files if they were merged, with a small delay + # to ensure the embedding process has completed + if self.merge_subs: + # Add a significant delay to ensure ffmpeg has released all file handles + # and any post-processing is complete + self.status_signal.emit("✅ Download completed! Cleaning up...") + time.sleep(3) # Increased delay to 3 seconds + self.cleanup_subtitle_files() + + self.finished_signal.emit() + else: + # Check if it was cancelled + if self.cancelled: + self.status_signal.emit("Download cancelled") + else: + self.error_signal.emit(f"Download failed with return code {return_code}") + self.cleanup_partial_files() + + except Exception as e: + self.error_signal.emit(f"Error in direct command: {str(e)}") + self.cleanup_partial_files() + + def _parse_output_line(self, line): + """Parse yt-dlp command output to update progress and status.""" + line = line.strip() + # print(f"yt-dlp: {line}") # Log all output - OPTIONALLY UNCOMMENT FOR VERBOSE DEBUG + + # Extract filename when the destination line appears + # Use a slightly more robust regex looking for the start of the line + dest_match = re.search(r'^\[download\] Destination:\s*(.*)', line) + if dest_match: + try: + filepath = dest_match.group(1).strip() + self.current_filename = os.path.basename(filepath) + self.last_file_path = filepath # Store the full path for later cleanup + print(f"DEBUG: Extracted filename: {self.current_filename}") # DEBUG + + # Check if this is an audio-only download by looking in the previous lines + is_audio_download = False + + # Look for audio format indicators in the current line or preceding output + # yt-dlp typically mentions format like "Downloading format 251 - audio only" + if ' - audio only' in line: + is_audio_download = True + # Check if the format ID is mentioned earlier in the line + format_match = re.search(r'Downloading format (\d+)', line) + if format_match: + format_id = format_match.group(1) + print(f"DEBUG: Detected format ID: {format_id}") + # Format IDs for audio typically have different patterns + # (like 140, 251 for audio vs 137, 248 for video) + # This is just a heuristic since format IDs can vary + + # Determine file type based on extension and context + ext = os.path.splitext(self.current_filename)[1].lower() + + # Check if this is explicitly an audio stream download + if is_audio_download or 'Downloading audio' in line: + self.status_signal.emit(f"⏬ Downloading audio...") + # Video file extensions with likely video content + elif ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_signal.emit(f"⏬ Downloading video...") + # Audio file extensions + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_signal.emit(f"⏬ Downloading audio...") + # Subtitle file extensions + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_signal.emit(f"⏬ Downloading subtitle...") + # Default case + else: + self.status_signal.emit(f"⏬ Downloading...") + except Exception as e: + print(f"Error extracting filename from line '{line}': {e}") + self.status_signal.emit("⚡ Downloading...") # Fallback status + return # Don't process this line further for speed/ETA + + # Check for specific download types in the output + if "Downloading video" in line: + self.status_signal.emit(f"⏬ Downloading video...") + return + + elif "Downloading audio" in line: + self.status_signal.emit(f"⏬ Downloading audio...") + return + + # Detect subtitle file creation + # Look for lines like "[info] Writing video subtitles to: filename.xx.vtt" + subtitle_match = re.search(r'(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.*\.(?:vtt|srt))', line, re.IGNORECASE) + if subtitle_match: + subtitle_file = subtitle_match.group(1).strip() + # Show subtitle download message + self.status_signal.emit(f"⏬ Downloading subtitle...") + # Store the subtitle file path for later deletion if merging is enabled + if self.merge_subs: + if not os.path.isabs(subtitle_file): + # If it's a relative path, make it absolute based on current path + subtitle_file = os.path.join(self.path, subtitle_file) + self.subtitle_files.append(subtitle_file) + print(f"DEBUG: Tracking subtitle file for later cleanup: {subtitle_file}") + return + + # Send status updates based on output line content + if 'Downloading webpage' in line or 'Extracting URL' in line: + self.status_signal.emit("🔍 Fetching video information...") + self.progress_signal.emit(0) + elif 'Downloading API JSON' in line: + self.status_signal.emit("📋 Processing playlist data...") + self.progress_signal.emit(0) + elif 'Downloading m3u8 information' in line: + self.status_signal.emit("🎯 Preparing video streams...") + self.progress_signal.emit(0) + elif '[download] Downloading video ' in line: + self.status_signal.emit("⏬ Downloading video...") + elif '[download] Downloading audio ' in line: + self.status_signal.emit("⏬ Downloading audio...") + elif 'Downloading format' in line: + # Try to detect if it's audio or video format + if ' - audio only' in line: + self.status_signal.emit("⏬ Downloading audio...") + elif ' - video only' in line: + self.status_signal.emit("⏬ Downloading video...") + else: + # Don't emit generic message - format is unclear + pass + + # Look for download percentage + percent_match = re.search(r'(\d+\.\d+)%', line) + if percent_match: + try: + percent = float(percent_match.group(1)) + self.progress_signal.emit(percent) + except (ValueError, IndexError): + pass + + # Check for download speed and ETA + if '[download]' in line and '%' in line: + # Try to extract more detailed status info + try: + # Look for speed + speed_match = re.search(r'at\s+(\d+\.\d+[KMG]iB/s)', line) + speed_str = speed_match.group(1) if speed_match else "N/A" + + # Look for ETA + eta_match = re.search(r'ETA\s+(\d+:\d+)', line) + eta_str = eta_match.group(1) if eta_match else "N/A" + + # Simplify status message to only show the speed and ETA + status = f"Speed: {speed_str} | ETA: {eta_str}" + self.update_details.emit(status) + except Exception as e: + # If parsing fails, just show basic status (maybe log the error) + print(f"Error parsing download details line: {line} -> {e}") + pass # Keep basic status emission below if needed, or emit generic details + + # Check for post-processing + if '[Merger]' in line or 'Merging formats' in line: + self.status_signal.emit("✨ Post-processing: Merging formats...") + self.progress_signal.emit(95) + elif 'SponsorBlock' in line: + self.status_signal.emit("✨ Post-processing: Removing sponsor segments...") + self.progress_signal.emit(97) + elif 'Deleting original file' in line: + self.progress_signal.emit(98) + elif 'has already been downloaded' in line: + # File already exists - extract filename + match = re.search(r'(.*?) has already been downloaded', line) + if match: + filename = os.path.basename(match.group(1)) + # Determine file type based on extension for existing file message + ext = os.path.splitext(filename)[1].lower() + + if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_signal.emit(f"⚠️ Video file already exists") + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_signal.emit(f"⚠️ Audio file already exists") + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_signal.emit(f"⚠️ Subtitle file already exists") + else: + self.status_signal.emit(f"⚠️ File already exists") + + self.file_exists_signal.emit(filename) + else: + print(f"Could not extract filename from 'already downloaded' line: {line}") + self.status_signal.emit("⚠️ File already exists") # Fallback status + elif 'Finished downloading' in line: + self.progress_signal.emit(100) + + # Show completion message based on file type + if self.current_filename: + ext = os.path.splitext(self.current_filename)[1].lower() + + # Video file extensions + if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_signal.emit(f"✅ Video download completed!") + # Audio file extensions + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_signal.emit(f"✅ Audio download completed!") + # Subtitle file extensions + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_signal.emit(f"✅ Subtitle download completed!") + # Default case + else: + self.status_signal.emit("✅ Download completed!") + else: + self.status_signal.emit("✅ Download completed!") + + self.update_details.emit("") # Clear details label on completion + + def _run_python_api(self): + """Original download method using Python API - kept for reference.""" + # The existing run method code using yt_dlp.YoutubeDL starts here + # This method is no longer used by default + + def pause(self): + self.paused = True + + def resume(self): + self.paused = False + + def cancel(self): + self.cancelled = True + # Terminate the subprocess if it's running + if self.process: + try: + self.process.terminate() + except Exception: + pass \ No newline at end of file diff --git a/ytsage_gui_dialogs.py b/ytsage_gui_dialogs.py index 5c1a69c..592b7cc 100644 --- a/ytsage_gui_dialogs.py +++ b/ytsage_gui_dialogs.py @@ -4,7 +4,8 @@ import webbrowser from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup) + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QListWidget, + QListWidgetItem, QDialogButtonBox, QScrollArea, QGroupBox) from PySide6.QtCore import Qt, Signal, QObject, QThread, QProcess from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import requests @@ -75,9 +76,9 @@ class CustomCommandDialog(QDialog): self.command_input.setPlaceholderText("Enter yt-dlp arguments...") self.command_input.setStyleSheet(""" QPlainTextEdit { - background-color: #363636; + background-color: #1d1e22; color: #ffffff; - border: 2px solid #3d3d3d; + border: 2px solid #1d1e22; border-radius: 4px; padding: 8px; font-family: Consolas, monospace; @@ -96,17 +97,17 @@ class CustomCommandDialog(QDialog): QCheckBox::indicator { width: 18px; height: 18px; - border-radius: 9px; /* Make indicator round */ + border-radius: 9px; } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; /* Make indicator round */ + background: #1d1e22; + border-radius: 9px; } QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; /* Make indicator round */ + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; } """) layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) @@ -129,9 +130,9 @@ class CustomCommandDialog(QDialog): self.log_output.setReadOnly(True) self.log_output.setStyleSheet(""" QTextEdit { - background-color: #2b2b2b; + background-color: #1d1e22; color: #ffffff; - border: 2px solid #3d3d3d; + border: 2px solid #1d1e22; border-radius: 4px; padding: 8px; font-family: Consolas, monospace; @@ -142,18 +143,18 @@ class CustomCommandDialog(QDialog): self.setStyleSheet(""" QDialog { - background-color: #2b2b2b; + background-color: #15181b; } QPushButton { padding: 8px 15px; - background-color: #ff0000; + background-color: #c90000; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:hover { - background-color: #cc0000; + background-color: #a50000; } """) @@ -398,6 +399,130 @@ class FFmpegCheckDialog(QDialog): self.close_btn.setEnabled(True) +class VersionCheckThread(QThread): + finished = Signal(str, str, str) # current_version, latest_version, error_message + + def run(self): + current_version = "" + latest_version = "" + error_message = "" + + try: + # Get the yt-dlp executable path + if getattr(sys, 'frozen', False): + if sys.platform == 'win32': + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') + else: + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') + else: + yt_dlp_path = 'yt-dlp' + + # Get current version + try: + result = subprocess.run([yt_dlp_path, '--version'], + capture_output=True, + text=True, + startupinfo=None if sys.platform != 'win32' else subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW, wShowWindow=subprocess.SW_HIDE), # Hide console window on Windows + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) # Hide console window on Windows + if result.returncode == 0: + current_version = result.stdout.strip() + else: # Try fallback if command failed + import yt_dlp + current_version = yt_dlp.version.__version__ + except Exception: + # Fallback to importing yt_dlp package directly if subprocess fails + try: + import yt_dlp + current_version = yt_dlp.version.__version__ + except ImportError: + error_message = "yt-dlp not found or accessible." + self.finished.emit(current_version, latest_version, error_message) + return + + + # Get latest version from PyPI + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) # Add timeout + response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx) + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + except requests.RequestException as e: + error_message = f"Network error checking PyPI: {e}" + except Exception as e: + error_message = f"Error checking version: {e}" + + self.finished.emit(current_version, latest_version, error_message) + + +class UpdateThread(QThread): + update_status = Signal(str) # For status messages + update_finished = Signal(bool, str) # success (bool), message/error (str) + + def run(self): + error_message = "" + success = False + try: + self.update_status.emit("Starting update process...") + + # Determine paths (similar logic as before) + python_path = sys.executable # Default to current interpreter + yt_dlp_dir = os.path.dirname(sys.executable) if getattr(sys, 'frozen', False) else os.getcwd() + + if getattr(sys, 'frozen', False) and sys.platform == 'win32': + alt_python_path = os.path.join(os.path.dirname(sys.executable), 'python.exe') + if os.path.exists(alt_python_path): + python_path = alt_python_path + + # Create and configure QProcess + process = QProcess() + process.setWorkingDirectory(yt_dlp_dir) + process.setProcessChannelMode(QProcess.ProcessChannelMode.MergedChannels) # Combine stdout/stderr + + # Prepare command arguments + pip_args = ['install', '--upgrade', '--no-cache-dir', 'yt-dlp'] + if sys.platform == 'win32': + command = python_path + args = ['-m', 'pip'] + pip_args + else: + # Assume pip is in PATH or use python -m pip for robustness + command = python_path + args = ['-m', 'pip'] + pip_args + # Alternative if pip is guaranteed in PATH: command = 'pip', args = pip_args + + # Start the process + self.update_status.emit(f"Running: {command} {' '.join(args)}") + process.start(command, args) + + # Wait for finish (use QProcess event loop, not blocking waitForFinished) + if not process.waitForStarted(5000): # Wait 5s for process to start + raise RuntimeError("Update process failed to start.") + + if not process.waitForFinished(-1): # Wait indefinitely for finish + raise RuntimeError("Update process failed to finish.") + + exit_code = process.exitCode() + output = process.readAll().data().decode(errors='ignore') # Read combined output + + if exit_code == 0: + self.update_status.emit("Update completed successfully!") + success = True + error_message = "Update successful. Please restart the application." + else: + self.update_status.emit(f"Update failed (Exit Code: {exit_code})") + error_message = f"Update failed.\nExit Code: {exit_code}\nOutput:\n{output}" + success = False + + except Exception as e: + error_message = f"Update failed with exception: {e}" + self.update_status.emit(error_message) + success = False + + self.update_finished.emit(success, error_message) + + class YTDLPUpdateDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) @@ -432,7 +557,7 @@ class YTDLPUpdateDialog(QDialog): # Style self.setStyleSheet(""" QDialog { - background-color: #2b2b2b; + background-color: #15181b; } QLabel { color: #ffffff; @@ -441,7 +566,7 @@ class YTDLPUpdateDialog(QDialog): } QPushButton { padding: 8px 15px; - background-color: #ff0000; + background-color: #c90000; border: none; border-radius: 4px; color: white; @@ -452,222 +577,723 @@ class YTDLPUpdateDialog(QDialog): background-color: #666666; } QPushButton:hover { - background-color: #cc0000; + background-color: #a50000; } QProgressBar { - border: 2px solid #3d3d3d; + border: 2px solid #1d1e22; border-radius: 4px; text-align: center; color: white; - background-color: #363636; + background-color: #1d1e22; height: 25px; } QProgressBar::chunk { - background-color: #ff0000; + background-color: #c90000; border-radius: 2px; } """) - # Start version check + # Start version check in background self.check_version() def check_version(self): + self.status_label.setText("Checking for updates...") + self.update_btn.setEnabled(False) + self.version_check_thread = VersionCheckThread() + self.version_check_thread.finished.connect(self.on_version_check_finished) + self.version_check_thread.start() + + def on_version_check_finished(self, current_version, latest_version, error_message): + if error_message: + self.status_label.setText(error_message) + self.update_btn.setEnabled(False) + return + + if not current_version or not latest_version: + self.status_label.setText("Could not determine versions.") + self.update_btn.setEnabled(False) + return + try: - # Get current version using yt-dlp command - import subprocess - import sys - import os - - # Get the yt-dlp executable path - if getattr(sys, 'frozen', False): - if sys.platform == 'win32': - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') - else: - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') - else: - yt_dlp_path = 'yt-dlp' - - # Get current version - try: - result = subprocess.run([yt_dlp_path, '--version'], - capture_output=True, - text=True) - current_version = result.stdout.strip() - except Exception: - import yt_dlp - current_version = yt_dlp.version.__version__ - - # Get latest version from PyPI - import requests - response = requests.get("https://pypi.org/pypi/yt-dlp/json") - latest_version = response.json()["info"]["version"] - - # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - # Compare versions - from packaging import version - try: - current_ver = version.parse(current_version) - latest_ver = version.parse(latest_version) - - if current_ver < latest_ver: - self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") - self.update_btn.setEnabled(True) - else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") - self.update_btn.setEnabled(False) - except version.InvalidVersion: - # If version parsing fails, do a simple string comparison - if current_version != latest_version: - self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") - self.update_btn.setEnabled(True) - else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") - self.update_btn.setEnabled(False) - - except Exception as e: - self.status_label.setText(f"Error checking version: {str(e)}") - self.update_btn.setEnabled(False) - + current_ver = version.parse(current_version) + latest_ver = version.parse(latest_version) + + if current_ver < latest_ver: + self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + except version.InvalidVersion: + # If version parsing fails, do a simple string comparison + if current_version != latest_version: + self.status_label.setText(f"Update available! (Comparison failed)\nCurrent: {current_version}\nLatest: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + except Exception as e: # Catch any other unexpected errors during comparison + self.status_label.setText(f"Error comparing versions: {e}") + self.update_btn.setEnabled(False) + def perform_update(self): - try: - self.update_btn.setEnabled(False) - self.close_btn.setEnabled(False) - self.status_label.setText("Updating yt-dlp...") - self.progress_bar.setRange(0, 0) - self.progress_bar.show() - - # Get the yt-dlp path - if getattr(sys, 'frozen', False): - if sys.platform == 'win32': - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') - else: - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') - else: - yt_dlp_path = 'yt-dlp' - - # Create a QProcess for updating - process = QProcess() - process.setWorkingDirectory(os.path.dirname(yt_dlp_path)) - - if sys.platform == 'win32': - # For Windows, use pip to update - python_path = os.path.join(os.path.dirname(sys.executable), 'python.exe') - if not os.path.exists(python_path): - python_path = sys.executable - - process.start(python_path, ['-m', 'pip', 'install', '--upgrade', '--no-cache-dir', 'yt-dlp']) - else: - # For Unix systems - process.start('pip', ['install', '--upgrade', '--no-cache-dir', 'yt-dlp']) - - process.waitForFinished() - - if process.exitCode() == 0: - self.status_label.setText("Update completed successfully!\nPlease restart the application.") - self.check_version() # Recheck version after update - else: - error = process.readAllStandardError().data().decode() - self.status_label.setText(f"Update failed: {error}") - - self.progress_bar.setRange(0, 100) - self.progress_bar.setValue(100) - self.close_btn.setEnabled(True) - - except Exception as e: - self.status_label.setText(f"Update failed: {str(e)}") - self.close_btn.setEnabled(True) - self.progress_bar.hide() + self.update_btn.setEnabled(False) + self.close_btn.setEnabled(False) + self.status_label.setText("Initializing update...") + self.progress_bar.setRange(0, 0) # Indeterminate progress + self.progress_bar.show() + + # Create and start the update thread + self.update_thread = UpdateThread() + self.update_thread.update_status.connect(self.on_update_status) # Connect status signal + self.update_thread.update_finished.connect(self.on_update_finished) # Connect finished signal + self.update_thread.start() + + def on_update_status(self, message): + """Slot to receive status messages from UpdateThread.""" + self.status_label.setText(message) + + def on_update_finished(self, success, message): + """Slot called when the UpdateThread finishes.""" + self.progress_bar.setRange(0, 100) # Set determinate range + self.progress_bar.setValue(100) # Mark as complete + self.progress_bar.hide() # Optionally hide progress bar again + self.status_label.setText(message) + self.close_btn.setEnabled(True) + + if success: + # Optionally re-check version automatically after successful update + self.check_version() + else: + # Re-enable update button only if failed? + # self.update_btn.setEnabled(True) # Decide if appropriate + pass # Keep update button disabled on failure for now + + def closeEvent(self, event): + """Ensure threads are terminated if the dialog is closed prematurely.""" + if hasattr(self, 'version_check_thread') and self.version_check_thread.isRunning(): + self.version_check_thread.quit() # Ask thread to stop + self.version_check_thread.wait() # Wait for it to finish + if hasattr(self, 'update_thread') and self.update_thread.isRunning(): + self.update_thread.quit() + self.update_thread.wait() + super().closeEvent(event) class AboutDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) - self.setWindowTitle('About YTSage') - self.setMinimumWidth(500) - + self.parent = parent # Store parent to access version etc. + self.setWindowTitle("About YTSage") + self.setMinimumWidth(450) + layout = QVBoxLayout(self) + layout.setSpacing(15) + layout.setContentsMargins(20, 20, 20, 20) - # App title and version - title_label = QLabel("YTSage") - title_label.setStyleSheet(""" - font-size: 24px; - font-weight: bold; - color: #ff0000; - padding: 10px; - """) + # Title and Version + title_label = QLabel("

YTSage

") title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(title_label) - version_label = QLabel(f"Version {parent.version}") + version_label = QLabel(f"Version: {getattr(self.parent, 'version', 'N/A')}") version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + version_label.setStyleSheet("color: #cccccc;") layout.addWidget(version_label) # Description - description = QLabel( - "A modern YouTube downloader with a clean interface.\n" - "Download videos in any quality, extract audio, fetch subtitles,\n" - "and view video metadata. Built with yt-dlp for reliable performance." - ) - description.setWordWrap(True) - description.setAlignment(Qt.AlignmentFlag.AlignCenter) - layout.addWidget(description) + description_label = QLabel("A simple GUI frontend for the powerful yt-dlp video downloader.") + description_label.setWordWrap(True) + description_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + description_label.setStyleSheet("color: #ffffff; padding-top: 10px;") + layout.addWidget(description_label) - # Features list - features_label = QLabel( - "Key Features:\n" - "• Smart video quality selection\n" - "• Audio extraction\n" - "• Subtitle support\n" - "• Playlist downloads\n" - "• Real-time progress tracking\n" - "• Custom command support\n" - "• SponsorBlock Integration\n" - "• Save Thumbnail\n" - "• One-click updates" - ) - features_label.setStyleSheet("padding: 10px;") - layout.addWidget(features_label) + # Separator + separator = QWidget() + separator.setFixedHeight(1) + separator.setStyleSheet("background-color: #1d1e22;") + layout.addWidget(separator) - # Credits - credits_label = QLabel( - "Powered by:\n" - "• yt-dlp\n" - "• PySide6\n" - "• FFmpeg" - ) - credits_label.setStyleSheet("padding: 10px;") - layout.addWidget(credits_label) + # Information Section + info_layout = QVBoxLayout() + info_layout.setSpacing(8) - # GitHub link - github_btn = QPushButton("Visit GitHub Repository") - github_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/YTSage')) - layout.addWidget(github_btn) + # Author + author_label = QLabel("Created by: oop7") + author_label.setOpenExternalLinks(True) + info_layout.addWidget(author_label) - # Close button - close_btn = QPushButton("Close") - close_btn.clicked.connect(self.close) - layout.addWidget(close_btn) + # GitHub Repo + repo_label = QLabel("GitHub: github.com/oop7/YTSage") + repo_label.setOpenExternalLinks(True) + info_layout.addWidget(repo_label) - # Style the dialog + # yt-dlp path + yt_dlp_path = get_yt_dlp_path() + yt_dlp_path_text = yt_dlp_path if yt_dlp_path else 'yt-dlp not found in PATH' + yt_dlp_label = QLabel(f"yt-dlp Path: {yt_dlp_path_text}") + yt_dlp_label.setWordWrap(True) + info_layout.addWidget(yt_dlp_label) + + # FFmpeg Status + ffmpeg_found = check_ffmpeg() + ffmpeg_status_text = "Detected" if ffmpeg_found else "Not Detected" + ffmpeg_label = QLabel(f"FFmpeg Status: {ffmpeg_status_text}") + info_layout.addWidget(ffmpeg_label) + + layout.addLayout(info_layout) + + # Close Button + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok) + button_box.accepted.connect(self.accept) + # Center the button box + button_layout = QHBoxLayout() + button_layout.addStretch() + button_layout.addWidget(button_box) + button_layout.addStretch() + layout.addLayout(button_layout) + + # Apply overall styling self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - } + QDialog { background-color: #15181b; color: #ffffff; } + QLabel { color: #cccccc; } QPushButton { - padding: 8px 15px; - background-color: #ff0000; + padding: 8px 25px; + background-color: #c90000; border: none; border-radius: 4px; color: white; font-weight: bold; } - QPushButton:hover { - background-color: #cc0000; + QPushButton:hover { background-color: #a50000; } + """) + +# --- New Subtitle Selection Dialog --- +class SubtitleSelectionDialog(QDialog): + def __init__(self, available_manual, available_auto, previously_selected, parent=None): + super().__init__(parent) + self.setWindowTitle("Select Subtitles") + self.setMinimumWidth(400) + self.setMinimumHeight(300) + + self.available_manual = available_manual + self.available_auto = available_auto + self.previously_selected = set(previously_selected) # Use a set for quick lookups + self.selected_subtitles = list(previously_selected) # Initialize with previous selection + + layout = QVBoxLayout(self) + layout.setSpacing(10) + + # Filter input + self.filter_input = QLineEdit() + self.filter_input.setPlaceholderText("Filter languages (e.g., en, es)...") + self.filter_input.textChanged.connect(self.filter_list) + self.filter_input.setStyleSheet(""" + QLineEdit { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + color: white; } - """) \ No newline at end of file + QLineEdit:focus { + border-color: #ff0000; + } + """) + layout.addWidget(self.filter_input) + + # Scroll Area for the list + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area + layout.addWidget(scroll_area) + + # Container widget for list items (needed for scroll area) + self.list_container = QWidget() + self.list_layout = QVBoxLayout(self.list_container) + self.list_layout.setContentsMargins(0, 0, 0, 0) + self.list_layout.setSpacing(2) # Compact spacing + self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top + scroll_area.setWidget(self.list_container) + + # Populate the list initially + self.populate_list() + + # OK and Cancel buttons + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + # Style the buttons + for button in button_box.buttons(): + button.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; /* Adjust padding */ + min-height: 30px; /* Ensure consistent height */ + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + # Style the OK button specifically if needed + if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: + button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") + + + layout.addWidget(button_box) + + def populate_list(self, filter_text=""): + # Clear existing checkboxes from layout + while self.list_layout.count(): + item = self.list_layout.takeAt(0) + widget = item.widget() + if widget is not None: + widget.deleteLater() + + filter_text = filter_text.lower() + combined_subs = {} + + # Add manual subs + for lang_code, sub_info in self.available_manual.items(): + if not filter_text or filter_text in lang_code.lower(): + combined_subs[lang_code] = f"{lang_code} - Manual" + + # Add auto subs (only if no manual exists and matches filter) + for lang_code, sub_info in self.available_auto.items(): + if lang_code not in combined_subs: # Don't overwrite manual + if not filter_text or filter_text in lang_code.lower(): + combined_subs[lang_code] = f"{lang_code} - Auto-generated" + + if not combined_subs: + no_subs_label = QLabel("No subtitles available" + (f" matching '{filter_text}'" if filter_text else "")) + no_subs_label.setStyleSheet("color: #aaaaaa; padding: 10px;") + self.list_layout.addWidget(no_subs_label) + return + + # Sort by language code + sorted_lang_codes = sorted(combined_subs.keys()) + + for lang_code in sorted_lang_codes: + item_text = combined_subs[lang_code] + checkbox = QCheckBox(item_text) + checkbox.setProperty("subtitle_id", item_text) # Store the identifier + checkbox.setChecked(item_text in self.previously_selected) # Check if previously selected + checkbox.stateChanged.connect(self.update_selection) + checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; /* Square checkboxes */ + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + """) + self.list_layout.addWidget(checkbox) + + self.list_layout.addStretch() # Pushes items up if list is short + + def filter_list(self): + self.populate_list(self.filter_input.text()) + + def update_selection(self, state): + sender = self.sender() + subtitle_id = sender.property("subtitle_id") + if state == Qt.CheckState.Checked.value: + if subtitle_id not in self.previously_selected: + self.previously_selected.add(subtitle_id) + else: + if subtitle_id in self.previously_selected: + self.previously_selected.remove(subtitle_id) + + def get_selected_subtitles(self): + # Return the final set as a list + return list(self.previously_selected) + + def accept(self): + # Update the final list before closing + self.selected_subtitles = self.get_selected_subtitles() + super().accept() + +# --- End Subtitle Selection Dialog --- + + +# --- Playlist Video Selection Dialog --- + +class PlaylistSelectionDialog(QDialog): + def __init__(self, playlist_entries, previously_selected_string, parent=None): + super().__init__(parent) + self.setWindowTitle("Select Playlist Videos") + self.setMinimumWidth(500) + self.setMinimumHeight(400) # Allow more vertical space + + self.playlist_entries = playlist_entries + self.checkboxes = [] + + # Main layout + main_layout = QVBoxLayout(self) + + # Top buttons (Select/Deselect All) + button_layout = QHBoxLayout() + select_all_btn = QPushButton("Select All") + deselect_all_btn = QPushButton("Deselect All") + select_all_btn.clicked.connect(self._select_all) + deselect_all_btn.clicked.connect(self._deselect_all) + # Style the buttons to match the subtitle dialog + select_all_btn.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; + min-height: 30px; + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + deselect_all_btn.setStyleSheet(select_all_btn.styleSheet()) + button_layout.addWidget(select_all_btn) + button_layout.addWidget(deselect_all_btn) + button_layout.addStretch() + main_layout.addLayout(button_layout) + + # Scrollable area for checkboxes + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area + scroll_widget = QWidget() + self.list_layout = QVBoxLayout(scroll_widget) # Layout for checkboxes + self.list_layout.setContentsMargins(0, 0, 0, 0) + self.list_layout.setSpacing(2) # Compact spacing + self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top + scroll_area.setWidget(scroll_widget) + main_layout.addWidget(scroll_area) + + # Populate checkboxes + self._populate_list(previously_selected_string) + + # Dialog buttons (OK/Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + # Style the buttons to match subtitle dialog + for button in button_box.buttons(): + button.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; + min-height: 30px; + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + # Style the OK button specifically if needed + if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: + button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") + + main_layout.addWidget(button_box) + + # Apply styling to match subtitle dialog + self.setStyleSheet(""" + QDialog { background-color: #15181b; } + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + QWidget { background-color: #15181b; } + """) + + def _parse_selection_string(self, selection_string): + """Parses a yt-dlp playlist selection string (e.g., '1-3,5,7-9') into a set of 1-based indices.""" + selected_indices = set() + if not selection_string: + # If no previous selection, assume all are selected initially + return set(range(1, len(self.playlist_entries) + 1)) + + parts = selection_string.split(',') + for part in parts: + part = part.strip() + if '-' in part: + try: + start, end = map(int, part.split('-')) + if start <= end: + selected_indices.update(range(start, end + 1)) + except ValueError: + pass # Ignore invalid ranges + else: + try: + selected_indices.add(int(part)) + except ValueError: + pass # Ignore invalid numbers + return selected_indices + + def _populate_list(self, previously_selected_string): + """Populates the scroll area with checkboxes for each video.""" + selected_indices = self._parse_selection_string(previously_selected_string) + + # Clear existing checkboxes if any (e.g., if repopulating) + while self.list_layout.count(): + child = self.list_layout.takeAt(0) + if child.widget(): + child.widget().deleteLater() + self.checkboxes.clear() + + for index, entry in enumerate(self.playlist_entries): + if not entry: continue # Skip None entries if yt-dlp returns them + + video_index = index + 1 # yt-dlp uses 1-based indexing + title = entry.get('title', f'Video {video_index}') + # Shorten title if too long + display_title = (title[:70] + '...') if len(title) > 73 else title + + checkbox = QCheckBox(f"{video_index}. {display_title}") + checkbox.setChecked(video_index in selected_indices) + checkbox.setProperty("video_index", video_index) # Store index + checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + """) + self.list_layout.addWidget(checkbox) + self.checkboxes.append(checkbox) + self.list_layout.addStretch() # Push checkboxes to the top + + def _select_all(self): + for checkbox in self.checkboxes: + checkbox.setChecked(True) + + def _deselect_all(self): + for checkbox in self.checkboxes: + checkbox.setChecked(False) + + def _condense_indices(self, indices): + """Condenses a list of 1-based indices into a yt-dlp selection string.""" + if not indices: + return "" + indices = sorted(list(set(indices))) + if not indices: # Check again after sorting/set conversion + return "" + + ranges = [] + start = indices[0] + end = indices[0] + for i in range(1, len(indices)): + if indices[i] == end + 1: + end = indices[i] + else: + if start == end: + ranges.append(str(start)) + else: + ranges.append(f"{start}-{end}") + start = indices[i] + end = indices[i] + # Add the last range + if start == end: + ranges.append(str(start)) + else: + ranges.append(f"{start}-{end}") + return ",".join(ranges) + + def get_selected_items_string(self): + """Returns the selection string based on checked boxes.""" + selected_indices = [ + cb.property("video_index") for cb in self.checkboxes if cb.isChecked() + ] + + # Check if all items are selected + if len(selected_indices) == len(self.playlist_entries): + return None # yt-dlp default is all items, so return None or empty string + + return self._condense_indices(selected_indices) + + # Optional: Override accept to ensure the string is generated, although not strictly necessary + # def accept(self): + # self._selected_string = self.get_selected_items_string() + # super().accept() + +# --- End Playlist Video Selection Dialog --- + +class CookieLoginDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('Login with Cookies') + self.setMinimumSize(400, 150) + + layout = QVBoxLayout(self) + + help_text = QLabel( + "Select the Netscape-format cookies file for logging in.\n" + "This allows downloading of private videos and premium quality audio." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # File path input and browse button + path_layout = QHBoxLayout() + self.cookie_path_input = QLineEdit() + self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") + path_layout.addWidget(self.cookie_path_input) + + self.browse_button = QPushButton("Browse") + self.browse_button.clicked.connect(self.browse_cookie_file) + path_layout.addWidget(self.browse_button) + + layout.addLayout(path_layout) + + # Dialog buttons + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + def browse_cookie_file(self): + # Open file dialog to select cookie file + file_dialog = QFileDialog(self) + file_dialog.setFileMode(QFileDialog.ExistingFile) + file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Assuming common cookie file extensions + if file_dialog.exec(): + selected_files = file_dialog.selectedFiles() + if selected_files: + self.cookie_path_input.setText(selected_files[0]) + + def get_cookie_file_path(self): + # Return the selected cookie file path + return self.cookie_path_input.text() + +# === Renamed Dialog: Download Settings === +class DownloadSettingsDialog(QDialog): # Renamed class + def __init__(self, current_path, current_limit, current_unit_index, parent=None): # Added limit params + super().__init__(parent) + self.setWindowTitle("Download Settings") # Renamed window + self.setMinimumWidth(450) + self.current_path = current_path + self.current_limit = current_limit if current_limit is not None else "" # Handle None + self.current_unit_index = current_unit_index + + layout = QVBoxLayout(self) + + # --- Download Path Section --- + path_group_box = QGroupBox("Download Path") + path_layout = QVBoxLayout() + + self.path_display = QLabel(self.current_path) + self.path_display.setWordWrap(True) + self.path_display.setStyleSheet("QLabel { color: #cccccc; padding: 5px; border: 1px solid #3d3d3d; border-radius: 4px; background-color: #363636; }") + path_layout.addWidget(self.path_display) + + browse_button = QPushButton("Browse...") + browse_button.clicked.connect(self.browse_new_path) + path_layout.addWidget(browse_button) + + path_group_box.setLayout(path_layout) + layout.addWidget(path_group_box) + # --- End Path Section --- + + # --- Speed Limit Section --- + speed_group_box = QGroupBox("Speed Limit") + speed_layout = QHBoxLayout() + + self.speed_limit_input = QLineEdit(str(self.current_limit)) # Set initial value + self.speed_limit_input.setPlaceholderText("None") + speed_layout.addWidget(self.speed_limit_input) + + self.speed_limit_unit = QComboBox() + self.speed_limit_unit.addItems(["KB/s", "MB/s"]) + self.speed_limit_unit.setCurrentIndex(self.current_unit_index) # Set initial unit + speed_layout.addWidget(self.speed_limit_unit) + + speed_group_box.setLayout(speed_layout) + layout.addWidget(speed_group_box) + # --- End Speed Limit Section --- + + # Dialog buttons (OK/Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + def browse_new_path(self): + new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.current_path) + if new_path: + self.current_path = new_path + self.path_display.setText(self.current_path) + + def get_selected_path(self): + """Returns the confirmed path after the dialog is accepted.""" + return self.current_path + + def get_selected_speed_limit(self): + """Returns the entered speed limit value (as string or None).""" + limit_str = self.speed_limit_input.text().strip() + if not limit_str: + return None + # Optional: Add validation to ensure it's a number + try: + float(limit_str) # Check if convertible to float + return limit_str + except ValueError: + # Handle error? Or just return None? Returning None for simplicity. + print("Invalid speed limit input in dialog") + return None # Or raise an error / show message + + def get_selected_unit_index(self): + """Returns the index of the selected speed limit unit.""" + return self.speed_limit_unit.currentIndex() \ No newline at end of file diff --git a/ytsage_gui_format_table.py b/ytsage_gui_format_table.py index d5b538d..5f05fb6 100644 --- a/ytsage_gui_format_table.py +++ b/ytsage_gui_format_table.py @@ -19,6 +19,9 @@ class FormatTableMixin: self.format_table.setColumnCount(8) self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) + # Enable alternating row colors + self.format_table.setAlternatingRowColors(True) + # Set specific column widths and resize modes self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) # Select self.format_table.setColumnWidth(0, 50) # Select column width @@ -51,25 +54,32 @@ class FormatTableMixin: self.format_table.setStyleSheet(""" QTableWidget { - background-color: #363636; - border: 2px solid #3d3d3d; + background-color: #1b2021; + border: 2px solid #1b2021; border-radius: 4px; - gridline-color: #3d3d3d; + gridline-color: #1b2021; } QTableWidget::item { padding: 5px; - border-bottom: 1px solid #3d3d3d; + border-bottom: 1px solid #1b2021; } QTableWidget::item:selected { background-color: transparent; } QHeaderView::section { - background-color: #2b2b2b; + background-color: #15181b; padding: 5px; - border: 1px solid #3d3d3d; + border: 1px solid #1b2021; font-weight: bold; color: white; } + /* Style alternating rows with more contrast */ + QTableWidget::item:alternate { + background-color: #212529; + } + QTableWidget::item { + background-color: #16191b; + } QCheckBox::indicator { width: 16px; height: 16px; @@ -77,11 +87,11 @@ class FormatTableMixin: } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #2b2b2b; + background: #15181b; } QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; + border: 2px solid #c90000; + background: #c90000; } QWidget { background-color: transparent; @@ -145,21 +155,66 @@ class FormatTableMixin: def _update_format_table(self, formats): self.format_table.setRowCount(0) self.format_checkboxes.clear() - - # Find best quality format for recommendations - best_video_size = max((f.get('filesize', 0) for f in formats if f.get('vcodec') != 'none'), default=0) + + is_playlist_mode = hasattr(self, 'is_playlist') and self.is_playlist + + # Configure columns based on mode + if is_playlist_mode: + self.format_table.setColumnCount(5) + self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Resolution', 'Notes', 'Audio']) + + # Configure column visibility and resizing for playlist mode + self.format_table.setColumnHidden(5, True) + self.format_table.setColumnHidden(6, True) + self.format_table.setColumnHidden(7, True) + + # Set specific resize modes for playlist columns + self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(0, 50) + self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch) + self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) + self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Stretch) + self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Stretch) + + else: + self.format_table.setColumnCount(8) + self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) + # Ensure all columns are visible + for i in range(2, 8): + self.format_table.setColumnHidden(i, False) + + # Reapply resize modes for non-playlist mode if needed (optional, might be okay without) + self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(0, 50) + self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(1, 100) + self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(2, 80) + self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(3, 100) + self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(4, 100) + self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(5, 150) + self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(6, 120) + self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) + + + # Find best quality format for recommendations (only needed for non-playlist mode notes) + best_video_size = 0 + if not is_playlist_mode: + best_video_size = max((f.get('filesize', 0) for f in formats if f.get('vcodec') != 'none'), default=0) for f in formats: row = self.format_table.rowCount() self.format_table.insertRow(row) - # Add checkbox + # Column 0: Select Checkbox (Always shown) checkbox = QCheckBox() checkbox.format_id = str(f.get('format_id', '')) checkbox.clicked.connect(lambda checked, cb=checkbox: self.handle_checkbox_click(cb)) self.format_checkboxes.append(checkbox) - - # Create a widget to center the checkbox checkbox_widget = QWidget() checkbox_widget.setStyleSheet("background-color: transparent;") checkbox_layout = QHBoxLayout(checkbox_widget) @@ -169,7 +224,7 @@ class FormatTableMixin: checkbox_layout.setSpacing(0) self.format_table.setCellWidget(row, 0, checkbox_widget) - # Quality (replacing Format ID) + # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) # Set color based on quality @@ -183,46 +238,73 @@ class FormatTableMixin: quality_item.setForeground(QColor('#ff5555')) # Red for low quality self.format_table.setItem(row, 1, quality_item) - # Extension - self.format_table.setItem(row, 2, QTableWidgetItem(f.get('ext', '').upper())) - - # Resolution + # --- Populate columns common to both modes (Moved outside the 'if not is_playlist_mode' block) --- + + # Column 2: Resolution (Always shown) resolution = f.get('resolution', 'N/A') if f.get('vcodec') == 'none': resolution = 'Audio only' - self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) - - # File Size - filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" - self.format_table.setItem(row, 4, QTableWidgetItem(filesize)) - - # Codec - if f.get('vcodec') == 'none': - codec = f.get('acodec', 'N/A') + self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) + + # Column 3: Notes for playlist mode, Extension for normal mode + if is_playlist_mode: + # Get notes for playlist mode + notes = self.get_format_notes(f, 0) # We don't need best_video_size for simple notes + notes_item = QTableWidgetItem(notes) + if "✨ Recommended" in notes: + notes_item.setForeground(QColor('#00ff00')) # Green for recommended + elif "💾 Storage friendly" in notes: + notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly + elif "📱 Mobile friendly" in notes: + notes_item.setForeground(QColor('#ff9900')) # Orange for mobile + self.format_table.setItem(row, 3, notes_item) else: - codec = f"{f.get('vcodec', 'N/A')}" - if f.get('acodec') != 'none': - codec += f" / {f.get('acodec', 'N/A')}" - self.format_table.setItem(row, 5, QTableWidgetItem(codec)) - - # Audio Status - needs_audio = f.get('acodec') == 'none' - audio_status = "Will merge audio" if needs_audio else "✓ Has Audio" + # Extension for normal mode (column 2) + self.format_table.setItem(row, 2, QTableWidgetItem(f.get('ext', '').upper())) + + # Column 4 in playlist mode, Column 6 in normal mode: Audio Status + needs_audio = f.get('acodec') == 'none' and f.get('vcodec') != 'none' # Only mark video-only as needing merge + audio_status = "Will merge audio" if needs_audio else ("✓ Has Audio" if f.get('vcodec') != 'none' else "Audio Only") audio_item = QTableWidgetItem(audio_status) if needs_audio: audio_item.setForeground(QColor('#ffa500')) - self.format_table.setItem(row, 6, audio_item) + elif audio_status == "Audio Only": + audio_item.setForeground(QColor('#cccccc')) # Neutral color for audio only + else: # Has Audio (Video+Audio) + audio_item.setForeground(QColor('#00cc00')) # Green for included audio + # Set item for correct column based on mode + audio_column_index = 4 if is_playlist_mode else 6 + self.format_table.setItem(row, audio_column_index, audio_item) - # Add Notes column - notes = self.get_format_notes(f, best_video_size) - notes_item = QTableWidgetItem(notes) - if "✨ Recommended" in notes: - notes_item.setForeground(QColor('#00ff00')) # Green for recommended - elif "💾 Storage friendly" in notes: - notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly - elif "📱 Mobile friendly" in notes: - notes_item.setForeground(QColor('#ff9900')) # Orange for mobile - self.format_table.setItem(row, 7, notes_item) + + # --- Populate columns only shown in non-playlist mode --- + if not is_playlist_mode: + # Column 3: Resolution + self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) + + # Column 4: File Size + filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" + self.format_table.setItem(row, 4, QTableWidgetItem(filesize)) + + # Column 5: Codec + if f.get('vcodec') == 'none': + codec = f.get('acodec', 'N/A') + else: + codec = f"{f.get('vcodec', 'N/A')}" + if f.get('acodec') != 'none': + codec += f" / {f.get('acodec', 'N/A')}" + self.format_table.setItem(row, 5, QTableWidgetItem(codec)) + + # Column 7: Notes + notes = self.get_format_notes(f, best_video_size) + notes_item = QTableWidgetItem(notes) + if "✨ Recommended" in notes: + notes_item.setForeground(QColor('#00ff00')) # Green for recommended + elif "💾 Storage friendly" in notes: + notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly + elif "📱 Mobile friendly" in notes: + notes_item.setForeground(QColor('#ff9900')) # Orange for mobile + self.format_table.setItem(row, 7, notes_item) def handle_checkbox_click(self, clicked_checkbox): for checkbox in self.format_checkboxes: diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py index 898b096..6b8001b 100644 --- a/ytsage_gui_main.py +++ b/ytsage_gui_main.py @@ -4,8 +4,9 @@ import webbrowser from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QMessageBox) -from PySide6.QtCore import Qt, Signal, QObject, QThread, QMetaObject, Q_ARG, QProcess + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QMessageBox, QListWidget, + QListWidgetItem, QDialogButtonBox, QScrollArea) +from PySide6.QtCore import Qt, Signal, QObject, QThread, QMetaObject, Q_ARG, QProcess, Slot from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import requests from io import BytesIO @@ -17,10 +18,14 @@ from packaging import version import subprocess import re import yt_dlp +import markdown from ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions -from ytsage_gui_dialogs import LogWindow, CustomCommandDialog, FFmpegCheckDialog, YTDLPUpdateDialog, AboutDialog # Import dialogs +from ytsage_gui_dialogs import (LogWindow, CustomCommandDialog, FFmpegCheckDialog, + YTDLPUpdateDialog, AboutDialog, SubtitleSelectionDialog, + PlaylistSelectionDialog, CookieLoginDialog, + DownloadSettingsDialog) # <-- Use renamed dialog from ytsage_gui_format_table import FormatTableMixin # Import FormatTableMixin from ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin @@ -31,11 +36,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if not check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "4.2.1" + self.version = "4.5.0" self.check_for_updates() self.config_file = Path.home() / '.ytsage_config.json' load_saved_path(self) - self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) + # Load custom icon + icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') + if os.path.exists(icon_path): + self.setWindowIcon(QIcon(icon_path)) + else: + print(f"Warning: Icon file not found at {icon_path}. Using default icon.") + self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) # Fallback self.signals = SignalManager() self.download_paused = False self.current_download = None @@ -48,60 +59,67 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.is_playlist = False self.playlist_info = None self.video_info = None + self.playlist_entries = [] # Initialize playlist entries + self.selected_playlist_items = None # Initialize selection string + self.save_description = False # Initialize description state self.subtitle_filter = "" self.thumbnail_image = None self.video_url = "" + self.selected_subtitles = [] # Initialize selected subtitles list + self.cookie_file_path = None # Initialize cookie file path + self.speed_limit_value = None # Store speed limit value + self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.init_ui() self.setStyleSheet(""" QMainWindow { - background-color: #2b2b2b; + background-color: #15181b; } QWidget { - background-color: #2b2b2b; + background-color: #15181b; color: #ffffff; } QLineEdit { padding: 8px; - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; + background-color: #1b2021; color: #ffffff; } QPushButton { padding: 8px 15px; - background-color: #ff0000; /* YouTube red */ + background-color: #c90000; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:hover { - background-color: #cc0000; /* Darker red on hover */ + background-color: #a50000; } QPushButton:pressed { - background-color: #990000; /* Even darker red when pressed */ + background-color: #800000; } QTableWidget { - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; - gridline-color: #3d3d3d; + background-color: #1b2021; + gridline-color: #1b2021; } QHeaderView::section { - background-color: #2b2b2b; + background-color: #15181b; padding: 5px; - border: 1px solid #3d3d3d; + border: 1px solid #1b2021; color: #ffffff; } QProgressBar { - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; text-align: center; color: white; } QProgressBar::chunk { - background-color: #ff0000; /* YouTube red */ + background-color: #c90000; border-radius: 2px; } QLabel { @@ -109,23 +127,23 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } /* Style for filter buttons */ QPushButton.filter-btn { - background-color: #363636; + background-color: #1b2021; padding: 5px 10px; margin: 0 5px; } QPushButton.filter-btn:checked { - background-color: #ff0000; + background-color: #c90000; } QPushButton.filter-btn:hover { background-color: #444444; } QPushButton.filter-btn:checked:hover { - background-color: #cc0000; + background-color: #a50000; } /* Modern Scrollbar Styling */ QScrollBar:vertical { border: none; - background: #2b2b2b; + background: #15181b; width: 14px; margin: 15px 0 15px 0; border-radius: 7px; @@ -140,7 +158,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::sub-line:vertical { border: none; - background: #2b2b2b; + background: #15181b; height: 15px; border-top-left-radius: 7px; border-top-right-radius: 7px; @@ -149,7 +167,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::add-line:vertical { border: none; - background: #2b2b2b; + background: #15181b; height: 15px; border-bottom-left-radius: 7px; border-bottom-right-radius: 7px; @@ -171,7 +189,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m /* Horizontal Scrollbar */ QScrollBar:horizontal { border: none; - background: #2b2b2b; + background: #15181b; height: 14px; margin: 0 15px 0 15px; border-radius: 7px; @@ -186,7 +204,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::sub-line:horizontal { border: none; - background: #2b2b2b; + background: #15181b; width: 15px; border-top-left-radius: 7px; border-bottom-left-radius: 7px; @@ -195,7 +213,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::add-line:horizontal { border: none; - background: #2b2b2b; + background: #15181b; width: 15px; border-top-right-radius: 7px; border-bottom-right-radius: 7px; @@ -217,6 +235,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m """) self.signals.update_progress.connect(self.update_progress_bar) + # After adding format buttons + self.video_button.clicked.connect(self.filter_formats) # Connect video button + self.audio_button.clicked.connect(self.filter_formats) # Connect audio button + + # Add connections to handle video/audio mode-specific controls + self.video_button.clicked.connect(self.handle_mode_change) + self.audio_button.clicked.connect(self.handle_mode_change) + + # Initialize UI state based on current mode + self.handle_mode_change() + def load_saved_path(self): # Using function from ytsage_utils now - no longer needed in class pass # Handled in class init now via ytsage_utils.load_saved_path(self) @@ -224,8 +253,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.2.1') - self.setMinimumSize(900, 650) + self.setWindowTitle('YTSage v4.5.0') + self.setMinimumSize(900, 750) # Main widget and layout main_widget = QWidget() @@ -237,39 +266,62 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # URL input section url_layout = QHBoxLayout() self.url_input = QLineEdit() - self.url_input.setPlaceholderText('Enter YouTube URL...') + self.url_input.setPlaceholderText("Enter YouTube video or playlist URL") + self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key - # Add Paste URL button - self.paste_btn = QPushButton('Paste URL') - self.paste_btn.clicked.connect(self.paste_url) + self.analyze_button = QPushButton("Analyze") + self.analyze_button.clicked.connect(self.analyze_url) - self.analyze_btn = QPushButton('Analyze') - self.analyze_btn.clicked.connect(self.analyze_url) + self.paste_button = QPushButton("Paste URL") + self.paste_button.clicked.connect(self.paste_url) + + url_layout.addWidget(self.url_input, 1) + url_layout.addWidget(self.paste_button) + url_layout.addWidget(self.analyze_button) - url_layout.addWidget(self.url_input) - url_layout.addWidget(self.paste_btn) - url_layout.addWidget(self.analyze_btn) layout.addLayout(url_layout) - # Video info container with smaller fixed height + # Video info container video_info_container = QWidget() - video_info_container.setFixedHeight(220) video_info_layout = QVBoxLayout(video_info_container) video_info_layout.setSpacing(5) video_info_layout.setContentsMargins(0, 0, 0, 0) - # Add media info layout + # Add media info layout (Thumbnail | Video Details) media_info_layout = self.setup_video_info_section() video_info_layout.addLayout(media_info_layout) - # Add playlist info with minimal height - self.playlist_info_label = self.setup_playlist_info_section() - self.playlist_info_label.setMaximumHeight(30) - video_info_layout.addWidget(self.playlist_info_label) - # Add video info container to main layout layout.addWidget(video_info_container) + # --- Add Playlist Info Section Directly to Main Layout --- + # Add playlist info label (initially hidden) + self.playlist_info_label = self.setup_playlist_info_section() + layout.addWidget(self.playlist_info_label) + + # Add playlist selection BUTTON (initially hidden) - REPLACED QLineEdit + self.playlist_select_btn = QPushButton("Select Videos...") + self.playlist_select_btn.clicked.connect(self.open_playlist_selection_dialog) + self.playlist_select_btn.setVisible(False) + self.playlist_select_btn.setStyleSheet(""" + QPushButton { + padding: 6px 12px; + background-color: #1d1e22; + border: 1px solid #c90000; + border-radius: 4px; + color: white; + font-weight: normal; + text-align: left; + padding-left: 10px; + } + QPushButton:hover { + background-color: #2a2d36; + border-color: #a50000; + } + """) + layout.addWidget(self.playlist_select_btn) + # --- End Playlist Info Section --- + # Format controls section with minimal spacing layout.addSpacing(5) @@ -292,20 +344,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.video_button.setStyleSheet(""" QPushButton { padding: 8px 15px; - background-color: #363636; + background-color: #1d1e22; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:checked { - background-color: #ff0000; + background-color: #c90000; } QPushButton:hover { - background-color: #444444; + background-color: #2a2d36; } QPushButton:checked:hover { - background-color: #cc0000; + background-color: #a50000; } """) self.format_buttons.addButton(self.video_button) @@ -317,27 +369,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.audio_button.setStyleSheet(""" QPushButton { padding: 8px 15px; - background-color: #363636; + background-color: #1d1e22; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:checked { - background-color: #ff0000; + background-color: #c90000; } QPushButton:hover { - background-color: #444444; + background-color: #2a2d36; } QPushButton:checked:hover { - background-color: #cc0000; + background-color: #a50000; } """) self.format_buttons.addButton(self.audio_button) self.format_layout.addWidget(self.audio_button) - # Connect format buttons - self.format_buttons.buttonClicked.connect(self.handle_format_selection) + # Add Merge Subtitles checkbox (Moved here) + self.merge_subs_checkbox = QCheckBox("Merge Subtitles") + self.merge_subs_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; /* Consistent margin */ + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + /* Add disabled state styling if needed */ + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } + """) + # Initially disable it, will be enabled if subtitles are selected later + self.merge_subs_checkbox.setEnabled(False) + self.format_layout.addWidget(self.merge_subs_checkbox) # Add SponsorBlock checkbox self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") @@ -345,7 +425,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QCheckBox { color: #ffffff; padding: 5px; - margin-left: 20px; + margin-left: 20px; /* Consistent margin */ } QCheckBox::indicator { width: 18px; @@ -354,45 +434,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #2b2b2b; + background: #1d1e22; border-radius: 9px; } QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; + border: 2px solid #c90000; + background: #c90000; border-radius: 9px; } """) self.format_layout.addWidget(self.sponsorblock_checkbox) - # Add Save Thumbnail checkbox with same style as SponsorBlock + # Add Save Thumbnail Checkbox (Moved here) self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") + self.save_thumbnail_checkbox.setChecked(False) + self.save_thumbnail_checkbox.stateChanged.connect(self.toggle_save_thumbnail) self.save_thumbnail_checkbox.setStyleSheet(""" QCheckBox { color: #ffffff; padding: 5px; margin-left: 20px; } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; - } + QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } + QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } + QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } """) - self.save_thumbnail_checkbox.clicked.connect(self.toggle_save_thumbnail) self.format_layout.addWidget(self.save_thumbnail_checkbox) + # Add Save Description Checkbox (Moved here) + self.save_description_checkbox = QCheckBox("Save Description") + self.save_description_checkbox.setChecked(False) + self.save_description_checkbox.stateChanged.connect(self.toggle_save_description) + self.save_description_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } + QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } + QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } + """) + self.format_layout.addWidget(self.save_description_checkbox) + self.format_layout.addStretch() + layout.addLayout(self.format_layout) # Format table with stretch @@ -406,17 +496,21 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.custom_cmd_btn = QPushButton('Custom Command') self.custom_cmd_btn.clicked.connect(self.show_custom_command) + # New button for cookie login + self.cookie_login_button = QPushButton("Login with Cookies") + self.cookie_login_button.clicked.connect(self.show_cookie_login_dialog) # Connect to a new method + self.update_ytdlp_btn = QPushButton('Update yt-dlp') self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) self.about_btn = QPushButton('About') self.about_btn.clicked.connect(self.show_about_dialog) - self.path_input = QLineEdit(self.last_path) - self.path_input.setPlaceholderText('Download path...') - - self.browse_btn = QPushButton('Browse') - self.browse_btn.clicked.connect(self.browse_path) + # --- Rename Path Button to Settings Button --- + self.settings_button = QPushButton("Download Settings") # Renamed button + self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method + self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: None") # Update initial tooltip + # --- End Settings Button --- self.download_btn = QPushButton('Download') self.download_btn.clicked.connect(self.start_download) @@ -432,10 +526,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Add all buttons to layout in the correct order download_layout.addWidget(self.custom_cmd_btn) + download_layout.addWidget(self.cookie_login_button) download_layout.addWidget(self.update_ytdlp_btn) download_layout.addWidget(self.about_btn) - download_layout.addWidget(self.path_input) - download_layout.addWidget(self.browse_btn) + download_layout.addWidget(self.settings_button) download_layout.addWidget(self.download_btn) download_layout.addWidget(self.pause_btn) download_layout.addWidget(self.cancel_btn) @@ -491,10 +585,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.signals.update_status.connect(self.status_label.setText) self.signals.update_progress.connect(self.update_progress_bar) - # After adding format buttons - self.video_button.clicked.connect(self.filter_formats) # Connect video button - self.audio_button.clicked.connect(self.filter_formats) # Connect audio button - def analyze_url(self): url = self.url_input.text().strip() if not url: @@ -507,17 +597,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def _analyze_url_thread(self, url): try: - self.signals.update_status.emit("Analyzing (20%)... Extracting basic info") + self.signals.update_status.emit("Analyzing (15%)... Extracting basic info") # Clean up the URL to handle both playlist and video URLs if 'list=' in url and 'watch?v=' in url: playlist_id = url.split('list=')[1].split('&')[0] url = f'https://www.youtube.com/playlist?list={playlist_id}' - # Initial extraction with basic options + # Initial extraction with basic options - suppress warnings here too ydl_opts = { 'quiet': False, - 'no_warnings': False, + 'no_warnings': True, # <-- Suppress warnings for initial check 'extract_flat': True, 'force_generic_extractor': False, 'ignoreerrors': True, @@ -525,6 +615,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m 'verbose': True } + # Add cookies argument if cookie file path is set + if self.cookie_file_path: + ydl_opts['cookiefile'] = self.cookie_file_path + with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: basic_info = ydl.extract_info(url, download=False) @@ -534,9 +628,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m print(f"First extraction failed: {str(e)}") raise Exception("Could not extract video information, please check your link") - self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") - # Configure options for detailed extraction - ydl_opts.update({ + self.signals.update_status.emit("Analyzing (30%)... Extracting detailed info") + # Configure options for detailed extraction (keep other options) + # Add no_warnings here as well, as this is where detailed info is fetched + ydl_opts_detail = { 'extract_flat': False, 'format': None, 'writesubtitles': True, @@ -545,75 +640,122 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m 'playliststart': 1, 'playlistend': 1, 'youtube_include_dash_manifest': True, - 'youtube_include_hls_manifest': True - }) + 'youtube_include_hls_manifest': True, + 'no_warnings': True # <-- Add flag here for detailed extraction + } - with yt_dlp.YoutubeDL(ydl_opts) as ydl: + # Add cookies argument if cookie file path is set + if self.cookie_file_path: + ydl_opts_detail['cookiefile'] = self.cookie_file_path + + # Use a separate options dict for the detailed extraction + with yt_dlp.YoutubeDL(ydl_opts_detail) as ydl_detail: try: - self.signals.update_status.emit("Analyzing (60%)... Processing video data") + self.signals.update_status.emit("Analyzing (45%)... Processing video data") if basic_info.get('_type') == 'playlist': self.is_playlist = True self.playlist_info = basic_info - - # Store all playlist entries - self.playlist_entries = [entry for entry in basic_info['entries'] if entry] - - # Update playlist info text - playlist_text = (f"Playlist: {basic_info.get('title', 'Unknown')} | " - f"{len(self.playlist_entries)} videos | " - f"Enter video numbers (e.g. 1-5,7,9-11)") + self.selected_playlist_items = None # Reset selection for new playlist + self.playlist_entries = [entry for entry in basic_info.get('entries', []) if entry] # Store entries + + # Ensure there are entries before proceeding + if not self.playlist_entries: + raise Exception("Playlist contains no valid videos.") + + # Extract detailed info for the FIRST video in the playlist + # This provides formats/subs for the UI, assuming consistency + first_video_url = self.playlist_entries[0].get('url') + if not first_video_url: + raise Exception("Could not get URL for the first playlist video.") + try: + # Use the ydl_detail instance with no_warnings + self.video_info = ydl_detail.extract_info(first_video_url, download=False) + except Exception as first_video_error: + raise Exception(f"Failed to extract info for the first playlist video: {first_video_error}") + + # Update playlist info label text (remains the same) + playlist_text = (f"Playlist: {basic_info.get('title', 'Unknown Playlist')} | " + f"{len(self.playlist_entries)} videos") # Simplified label QMetaObject.invokeMethod( - self.playlist_info_label, - "setText", - Qt.ConnectionType.QueuedConnection, + self.playlist_info_label, "setText", Qt.ConnectionType.QueuedConnection, Q_ARG(str, playlist_text) ) QMetaObject.invokeMethod( - self.playlist_info_label, - "setVisible", - Qt.ConnectionType.QueuedConnection, + self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, True) ) - # Show playlist selection input + # Show playlist selection BUTTON QMetaObject.invokeMethod( - self.playlist_selection_input, - "setVisible", + self, # Target object is the YTSageApp instance + 'update_playlist_button_text', # Name of the slot Qt.ConnectionType.QueuedConnection, + Q_ARG(str, "Select Videos... (All selected)") # Argument for the slot + ) + QMetaObject.invokeMethod( + self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, True) ) - else: + else: # Single video self.is_playlist = False - self.video_info = ydl.extract_info(url, download=False) - self.playlist_info_label.setVisible(False) + # Use ydl_detail instance here too for consistency + self.video_info = ydl_detail.extract_info(url, download=False) + self.playlist_entries = [] # Clear entries + self.selected_playlist_items = None # Clear selection + + # Hide playlist info label and button + QMetaObject.invokeMethod( + self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, False) + ) + QMetaObject.invokeMethod( + self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, False) + ) # Verify we have format information if not self.video_info or 'formats' not in self.video_info: print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") raise Exception("No format information available") - self.signals.update_status.emit("Analyzing (80%)... Processing formats") + self.signals.update_status.emit("Analyzing (60%)... Processing formats") self.all_formats = self.video_info['formats'] # Update UI self.update_video_info(self.video_info) # Update thumbnail - self.signals.update_status.emit("Analyzing (90%)... Loading thumbnail") - self.download_thumbnail(self.video_info.get('thumbnail')) + self.signals.update_status.emit("Analyzing (75%)... Loading thumbnail") + thumbnail_url = None + if self.is_playlist: + # Try to get thumbnail from playlist info first + thumbnail_url = self.playlist_info.get('thumbnail') + + # Fallback to video thumbnail if playlist thumbnail not found or not a playlist + if not thumbnail_url: + thumbnail_url = self.video_info.get('thumbnail') + + self.download_thumbnail(thumbnail_url) # Save thumbnail if enabled - use the stored VIDEO URL if self.save_thumbnail: self.download_thumbnail_file(self.video_url, self.path_input.text()) - # Update subtitles - self.signals.update_status.emit("Analyzing (95%)... Processing subtitles") + # --- Subtitle Handling --- + self.signals.update_status.emit("Analyzing (85%)... Processing subtitles") + # Clear previous selections when analyzing a new video + self.selected_subtitles = [] self.available_subtitles = self.video_info.get('subtitles', {}) self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) - self.update_subtitle_list() + # Update the UI elements related to subtitle selection state + QMetaObject.invokeMethod(self.selected_subs_label, "setText", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "0 selected")) + # QMetaObject.invokeMethod(self.subtitle_select_btn, "setProperty", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "subtitlesSelected"), Q_ARG(bool, False)) # <-- COMMENT OUT THIS LINE + # REMOVE the merge_subs_checkbox update call from here + # QMetaObject.invokeMethod(self.merge_subs_checkbox, "setEnabled", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) + # Update format table - self.signals.update_status.emit("Analyzing (98%)... Updating format table") + self.signals.update_status.emit("Analyzing (95%)... Updating format table") self.video_button.setChecked(True) self.audio_button.setChecked(False) self.filter_formats() @@ -628,6 +770,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m error_message = str(e) print(f"Error in analysis: {error_message}") self.signals.update_status.emit(f"Error: {error_message}") + # Ensure playlist UI is hidden on error too + QMetaObject.invokeMethod(self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) + QMetaObject.invokeMethod(self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) def paste_url(self): clipboard = QApplication.clipboard() @@ -637,20 +782,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m dialog = YTDLPUpdateDialog(self) dialog.exec() - def browse_path(self): - path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.last_path) - if path: - self.path_input.setText(path) - self.save_path(path) # Use save_path utility function - self.last_path = path + def show_download_settings_dialog(self): # Renamed method + dialog = DownloadSettingsDialog( + self.last_path, + self.speed_limit_value, + self.speed_limit_unit_index, + self + ) + if dialog.exec(): + # Update Path + new_path = dialog.get_selected_path() + path_changed = False + if new_path != self.last_path: + self.last_path = new_path + self.save_path(self.last_path) # Save the updated path + path_changed = True + print(f"Download path updated to: {self.last_path}") + + # Update Speed Limit + new_limit_value = dialog.get_selected_speed_limit() + new_unit_index = dialog.get_selected_unit_index() + limit_changed = False + if new_limit_value != self.speed_limit_value or new_unit_index != self.speed_limit_unit_index: + self.speed_limit_value = new_limit_value + self.speed_limit_unit_index = new_unit_index + limit_changed = True + print(f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}") + + # Update Tooltip if anything changed + if path_changed or limit_changed: + limit_text = "None" + if self.speed_limit_value: + limit_text = f"{self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index]}" + self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: {limit_text}") def start_download(self): url = self.url_input.text().strip() - path = self.path_input.text().strip() + # --- Use self.last_path instead of reading from QLineEdit --- + path = self.last_path if not url or not path: - self.status_label.setText("Please enter URL and download path") + # More specific error message if path is missing + if not path: + self.status_label.setText("Please set a download path using 'Change Path'") + elif not url: + self.status_label.setText("Please enter a URL") + else: + self.status_label.setText("Please enter URL and set download path") return + # --- End Path Change --- # Get selected format format_id = self.get_selected_format() @@ -671,39 +851,60 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m resolution = parts[0].strip().lower() break - # Get subtitle selection if available - subtitle_lang = None - if hasattr(self, 'subtitle_combo') and self.subtitle_combo.currentIndex() > 0: - subtitle_lang = self.subtitle_combo.currentText() + # Get subtitle selection if available - Now get the list + selected_subs = self.selected_subtitles if hasattr(self, 'selected_subtitles') else [] - # Check if it's a playlist - is_playlist = 'playlist' in url.lower() and '/watch?' not in url + # Get playlist selection IF in playlist mode - USE STORED VALUE + playlist_items_to_download = None + if self.is_playlist: + playlist_items_to_download = self.selected_playlist_items # Use the stored selection string - # Get playlist selection if available - playlist_items = None - if self.is_playlist and self.playlist_selection_input.isVisible(): - playlist_items = self.playlist_selection_input.text().strip() or None + # --- Use stored speed limit values --- + rate_limit = None + if self.speed_limit_value: + try: + limit_value = float(self.speed_limit_value) + if self.speed_limit_unit_index == 0: # KB/s + rate_limit = f"{int(limit_value * 1024)}" + elif self.speed_limit_unit_index == 1: # MB/s + rate_limit = f"{int(limit_value * 1024 * 1024)}" + except ValueError: + # Use a signal to show error in status bar, similar to URL/Path errors + self.signals.update_status.emit("❌ Error: Invalid speed limit value set in settings.") + return + # --- End speed limit update --- # Save thumbnail if enabled if self.save_thumbnail: - self.download_thumbnail_file(url, path) + # Consider moving thumbnail download *after* successful video download + # Or handle errors more gracefully if thumbnail download fails + try: + self.download_thumbnail_file(url, path) + except Exception as e: + print(f"Warning: Thumbnail download failed: {e}") + # Optionally inform the user, but don't stop the main download + # Create download thread with resolution in output template self.download_thread = DownloadThread( url=url, path=path, format_id=format_id, - subtitle_lang=subtitle_lang, - is_playlist=is_playlist, + subtitle_langs=selected_subs, # Pass the list of selected subs + is_playlist=self.is_playlist, # Use the flag directly merge_subs=self.merge_subs_checkbox.isChecked(), enable_sponsorblock=self.sponsorblock_checkbox.isChecked(), resolution=resolution, - playlist_items=playlist_items + playlist_items=playlist_items_to_download, # Pass the selection string + save_description=self.save_description, # Pass the new flag here + cookie_file=self.cookie_file_path, # Pass the cookie file path + rate_limit=rate_limit # Pass the calculated rate limit ) # Connect signals self.download_thread.progress_signal.connect(self.update_progress_bar) - self.download_thread.status_signal.connect(self.signals.update_status.emit) + self.download_thread.status_signal.connect(self.status_label.setText) + self.download_thread.update_details.connect(self.download_details_label.setText) self.download_thread.finished_signal.connect(self.download_finished) self.download_thread.error_signal.connect(self.download_error) self.download_thread.file_exists_signal.connect(self.file_already_exists) @@ -727,13 +928,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.progress_bar.setValue(100) - self.status_label.setText("Download completed!") + + # Set completion message based on the file type of last downloaded file + if self.download_thread and self.download_thread.current_filename: + filename = self.download_thread.current_filename + ext = os.path.splitext(filename)[1].lower() + + # Video file extensions + if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_label.setText(f"✅ Video download completed!") + # Audio file extensions + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_label.setText(f"✅ Audio download completed!") + # Subtitle file extensions + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_label.setText(f"✅ Subtitle download completed!") + # Default case + else: + self.status_label.setText("✅ Download completed!") def download_error(self, error_message): self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.status_label.setText(f"Error: {error_message}") + self.download_details_label.setText("") # Clear details label on error def update_progress_bar(self, value): try: @@ -767,26 +986,65 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Compare versions if version.parse(latest_version) > version.parse(self.version): - self.show_update_dialog(latest_version, latest_release["html_url"]) + changelog = latest_release.get("body", "No changelog available.") # Get changelog body + self.show_update_dialog(latest_version, latest_release["html_url"], changelog) # Pass changelog except Exception as e: print(f"Failed to check for updates: {str(e)}") - def show_update_dialog(self, latest_version, release_url): + def show_update_dialog(self, latest_version, release_url, changelog): # Added changelog parameter msg = QDialog(self) msg.setWindowTitle("Update Available") - msg.setMinimumWidth(400) + msg.setMinimumWidth(500) # Increased width for changelog + msg.setMinimumHeight(400) # Added min height + + # Set custom icon directly + icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') + if os.path.exists(icon_path): + msg.setWindowIcon(QIcon(icon_path)) + else: + # Fallback to main window icon if file not found + msg.setWindowIcon(self.windowIcon()) layout = QVBoxLayout(msg) + layout.setSpacing(10) # Added spacing # Update message message_label = QLabel( - f"A new version of YTSage is available!\n\n" + f"A new version of YTSage is available!\n\n" f"Current version: {self.version}\n" f"Latest version: {latest_version}" ) message_label.setWordWrap(True) layout.addWidget(message_label) + # Changelog Section + changelog_label = QLabel("Changelog:") + layout.addWidget(changelog_label) + + changelog_text = QTextEdit() + changelog_text.setReadOnly(True) + # Convert Markdown to HTML and set it + try: + html_changelog = markdown.markdown(changelog, extensions=['markdown.extensions.tables', 'markdown.extensions.fenced_code']) + changelog_text.setHtml(html_changelog) + except Exception as e: + print(f"Error converting changelog markdown to HTML: {e}") + changelog_text.setPlainText(changelog) # Fallback to plain text + + changelog_text.setStyleSheet(""" + QTextEdit { + background-color: #1e1e1e; + border: 1px solid #3d3d3d; + border-radius: 4px; + color: #cccccc; + padding: 5px; + font-family: Consolas, monospace; + font-size: 11px; /* Slightly smaller font */ + } + """) + changelog_text.setMaximumHeight(200) # Limit height + layout.addWidget(changelog_text) + # Buttons button_layout = QHBoxLayout() @@ -808,7 +1066,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QLabel { color: #ffffff; font-size: 12px; - padding: 10px; + padding: 5px 0; /* Adjusted padding */ } QPushButton { padding: 8px 15px; @@ -817,6 +1075,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m border-radius: 4px; color: white; font-weight: bold; + min-width: 120px; /* Adjusted min-width */ } QPushButton:hover { background-color: #cc0000; @@ -835,7 +1094,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def cancel_download(self): if self.current_download: self.current_download.cancelled = True - self.signals.update_status.emit("Cancelling download...") + self.status_label.setText("Cancelling download...") # Set status directly + self.download_details_label.setText("") # Clear details label on cancellation def show_ffmpeg_dialog(self): dialog = FFmpegCheckDialog(self) @@ -844,21 +1104,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def toggle_download_controls(self, enabled=True): """Enable or disable download-related controls""" self.url_input.setEnabled(enabled) - self.analyze_btn.setEnabled(enabled) + self.analyze_button.setEnabled(enabled) self.format_table.setEnabled(enabled) # Changed from format_scroll_area to format_table - self.path_input.setEnabled(enabled) - self.browse_btn.setEnabled(enabled) self.download_btn.setEnabled(enabled) if hasattr(self, 'subtitle_combo'): self.subtitle_combo.setEnabled(enabled) self.video_button.setEnabled(enabled) self.audio_button.setEnabled(enabled) self.sponsorblock_checkbox.setEnabled(enabled) + self.merge_subs_checkbox.setEnabled(enabled) # Enable/disable merge subs checkbox + self.custom_cmd_btn.setEnabled(enabled) # Enable/disable custom command button + self.cookie_login_button.setEnabled(enabled) # Enable/disable login button + self.update_ytdlp_btn.setEnabled(enabled) # Enable/disable update button + self.settings_button.setEnabled(enabled) # Enable/disable settings button + + # Clear progress/status when controls are re-enabled + if enabled: + self.progress_bar.setValue(0) + self.status_label.setText("Ready") + self.download_details_label.setText("") # Clear details label def handle_format_selection(self, button): # Update formats self.filter_formats() + def handle_mode_change(self): + """Enable or disable features based on video/audio mode""" + if self.audio_button.isChecked(): + # In Audio Only mode, disable video-specific features + self.sponsorblock_checkbox.setEnabled(False) + self.sponsorblock_checkbox.setChecked(False) # Uncheck when disabled + self.merge_subs_checkbox.setEnabled(False) + self.merge_subs_checkbox.setChecked(False) # Uncheck when disabled + + # Allow subtitle selection in Audio Only mode too + if hasattr(self, 'subtitle_select_btn'): + self.subtitle_select_btn.setEnabled(True) + else: + # In Video mode, enable video-specific features + self.sponsorblock_checkbox.setEnabled(True) + # Don't auto-check - leave it to user preference + + # Enable merge_subs only if subtitles are selected + has_subs_selected = len(getattr(self, 'selected_subtitles', [])) > 0 + self.merge_subs_checkbox.setEnabled(has_subs_selected) + + # Re-enable subtitle selection button in Video mode + if hasattr(self, 'subtitle_select_btn'): + self.subtitle_select_btn.setEnabled(True) + def show_about_dialog(self): # ADDED METHOD HERE dialog = AboutDialog(self) dialog.exec() @@ -869,7 +1163,22 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.progress_bar.setValue(100) - self.status_label.setText(f"⚠️ File already exists: {filename}") + + # Determine file type based on extension + ext = os.path.splitext(filename)[1].lower() + + # Video file extensions + if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_label.setText(f"⚠️ Video file already exists") + # Audio file extensions + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_label.setText(f"⚠️ Audio file already exists") + # Subtitle file extensions + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_label.setText(f"⚠️ Subtitle file already exists") + # Default case + else: + self.status_label.setText("⚠️ File already exists") # Show a simple message dialog msg_box = QMessageBox() @@ -904,4 +1213,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } """) - msg_box.exec() \ No newline at end of file + msg_box.exec() + + # --- Add Toggle Methods Here --- + def toggle_save_thumbnail(self, state): + print(f"Raw thumbnail state received: {state}") # Debug: Print raw state + self.save_thumbnail = bool(state == 2) # Compare state directly with 2 (Checked state) + print(f"Save thumbnail toggled: {self.save_thumbnail}") + + def toggle_save_description(self, state): + print(f"Raw description state received: {state}") # Debug: Print raw state + self.save_description = bool(state == 2) # Compare state directly with 2 (Checked state) + print(f"Save description toggled: {self.save_description}") + # --- End Toggle Methods --- + + def open_playlist_selection_dialog(self): + if not self.is_playlist or not self.playlist_entries: + print("No playlist data available to select from.") + return + + dialog = PlaylistSelectionDialog(self.playlist_entries, self.selected_playlist_items, self) + + if dialog.exec(): + self.selected_playlist_items = dialog.get_selected_items_string() + print(f"Playlist items selected: {self.selected_playlist_items}") + + # Update button text (this call is safe as it happens in the main thread after dialog closes) + if self.selected_playlist_items is None: + button_text = "Select Videos... (All selected)" + else: + selected_indices = dialog._parse_selection_string(self.selected_playlist_items) + count = len(selected_indices) + display_text = self.selected_playlist_items if len(self.selected_playlist_items) < 30 else f"{count} videos selected" + button_text = f"Select Videos... ({display_text})" + self.playlist_select_btn.setText(button_text) # Direct call is fine here + + # --- New Slot for Updating Playlist Button Text --- + @Slot(str) + def update_playlist_button_text(self, text): + """Safely updates the playlist selection button's text from any thread.""" + if hasattr(self, 'playlist_select_btn'): + self.playlist_select_btn.setText(text) + # --- End New Slot --- + + def show_cookie_login_dialog(self): + dialog = CookieLoginDialog(self) + if dialog.exec(): + self.cookie_file_path = dialog.get_cookie_file_path() + if self.cookie_file_path: + print(f"Selected cookie file: {self.cookie_file_path}") # For debugging + QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") + else: + self.cookie_file_path = None # Clear path if dialog accepted but no file selected \ No newline at end of file diff --git a/ytsage_gui_video_info.py b/ytsage_gui_video_info.py index bad0511..c05f591 100644 --- a/ytsage_gui_video_info.py +++ b/ytsage_gui_video_info.py @@ -17,6 +17,7 @@ from packaging import version import subprocess import re import yt_dlp +from ytsage_gui_dialogs import SubtitleSelectionDialog class VideoInfoMixin: def setup_video_info_section(self): @@ -55,9 +56,10 @@ class VideoInfoMixin: self.views_label = QLabel() self.date_label = QLabel() self.duration_label = QLabel() + self.like_count_label = QLabel() # Style the info labels - for label in [self.channel_label, self.views_label, self.date_label, self.duration_label]: + for label in [self.channel_label, self.views_label, self.date_label, self.duration_label, self.like_count_label]: label.setStyleSheet(""" QLabel { color: #cccccc; @@ -70,115 +72,53 @@ class VideoInfoMixin: video_info_layout.addWidget(self.title_label) video_info_layout.addWidget(self.channel_label) video_info_layout.addWidget(self.views_label) + video_info_layout.addWidget(self.like_count_label) video_info_layout.addWidget(self.date_label) video_info_layout.addWidget(self.duration_label) # Add spacing before subtitle section video_info_layout.addSpacing(10) - # Create a horizontal layout for subtitle controls + # --- Subtitle Section --- subtitle_layout = QHBoxLayout() - subtitle_layout.setSpacing(5) # Reduce spacing between elements + subtitle_layout.setSpacing(10) - # Create subtitle button - self.subtitle_check = QPushButton("Download Subtitles") - self.subtitle_check.setFixedHeight(30) - self.subtitle_check.setFixedWidth(150) # Set fixed width - self.subtitle_check.setCheckable(True) - self.subtitle_check.clicked.connect(self.toggle_subtitle_controls) - self.subtitle_check.setStyleSheet(""" + # Subtitle selection button + self.subtitle_select_btn = QPushButton("Select Subtitles...") # Renamed & changed text + self.subtitle_select_btn.setFixedHeight(30) + # self.subtitle_select_btn.setFixedWidth(150) # Let it size naturally or adjust as needed + self.subtitle_select_btn.clicked.connect(self.open_subtitle_dialog) + self.subtitle_select_btn.setStyleSheet(""" QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; + background-color: #1d1e22; + border: 2px solid #1d1e22; border-radius: 4px; - padding: 5px; - min-height: 30px; + padding: 5px 10px; /* Adjusted padding */ } - QPushButton:checked { - background-color: #ff0000; - border-color: #cc0000; + QPushButton:hover { background-color: #2a2d36; } + /* Optional: Style differently if subtitles ARE selected */ + QPushButton[subtitlesSelected="true"] { + border-color: #c90000; /* Indicate selection */ + } + /* Style for disabled state */ + QPushButton:disabled { + background-color: #3d3d3d; + color: #888888; + border-color: #3d3d3d; } """) - subtitle_layout.addWidget(self.subtitle_check) + self.subtitle_select_btn.setProperty("subtitlesSelected", False) # Custom property for styling + subtitle_layout.addWidget(self.subtitle_select_btn) - # Create subtitle combo box - self.subtitle_combo = QComboBox() - self.subtitle_combo.setFixedHeight(30) - self.subtitle_combo.setFixedWidth(200) - self.subtitle_combo.setVisible(False) - self.subtitle_combo.setStyleSheet(""" - QComboBox { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - min-height: 30px; - } - """) - subtitle_layout.addWidget(self.subtitle_combo) + # Label to show number of selected subtitles + self.selected_subs_label = QLabel("0 selected") + self.selected_subs_label.setStyleSheet("color: #cccccc; padding-left: 5px;") + subtitle_layout.addWidget(self.selected_subs_label) - # Create merge subtitles checkbox - self.merge_subs_checkbox = QCheckBox("Merge Subtitles") - self.merge_subs_checkbox.setFixedHeight(30) - self.merge_subs_checkbox.setVisible(False) - self.merge_subs_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 10px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; - } - """) - subtitle_layout.addWidget(self.merge_subs_checkbox) - - # Add stretch to push everything to the left - subtitle_layout.addStretch() - - # Create a second row for the filter input - filter_layout = QHBoxLayout() - filter_layout.setSpacing(5) - - # Create subtitle filter input - self.subtitle_filter_input = QLineEdit() - self.subtitle_filter_input.setFixedHeight(30) - self.subtitle_filter_input.setFixedWidth(200) - self.subtitle_filter_input.setPlaceholderText("Filter languages (e.g., en, es)") - self.subtitle_filter_input.textChanged.connect(self.filter_subtitles) - self.subtitle_filter_input.setVisible(False) - self.subtitle_filter_input.setStyleSheet(""" - QLineEdit { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - min-height: 30px; - color: white; - } - QLineEdit:focus { - border-color: #ff0000; - } - """) - filter_layout.addWidget(self.subtitle_filter_input) - filter_layout.addStretch() - - # Add both layouts to video info + # Add the subtitle layout to the main video info layout video_info_layout.addLayout(subtitle_layout) - video_info_layout.addLayout(filter_layout) - + # --- End Subtitle Section --- + # Add stretch at the bottom video_info_layout.addStretch() @@ -193,11 +133,11 @@ class VideoInfoMixin: self.playlist_info_label.setStyleSheet(""" QLabel { font-size: 12px; - color: #ff9900; + color: #ffffff; padding: 5px 8px; margin: 0; - background-color: #2b2b2b; - border: 1px solid #3d3d3d; + background-color: #1d1e22; + border: 1px solid #c90000; border-radius: 4px; min-height: 30px; max-height: 30px; @@ -207,63 +147,109 @@ class VideoInfoMixin: return self.playlist_info_label def update_video_info(self, info): - # Format view count with commas - views = int(info.get('view_count', 0)) - formatted_views = f"{views:,}" - - # Format upload date - upload_date = info.get('upload_date', '') - if upload_date: - date_obj = datetime.strptime(upload_date, '%Y%m%d') - formatted_date = date_obj.strftime('%B %d, %Y') + if hasattr(self, 'is_playlist') and self.is_playlist: + # Playlist Mode: Show playlist title and video count + self.title_label.setText(self.playlist_info.get('title', 'Unknown Playlist')) + + num_videos = len(getattr(self, 'playlist_entries', [])) + self.duration_label.setText(f"Total Videos: {num_videos}") + + # Hide video-specific info + self.channel_label.setText("") + self.views_label.setText("") + self.date_label.setText("") + self.like_count_label.setText("") + self.channel_label.setVisible(False) + self.views_label.setVisible(False) + self.date_label.setVisible(False) + self.like_count_label.setVisible(False) else: - formatted_date = 'Unknown date' + # Single Video Mode: Show standard video info + # Ensure labels are visible first + self.channel_label.setVisible(True) + self.views_label.setVisible(True) + self.date_label.setVisible(True) + self.like_count_label.setVisible(True) - # Format duration - duration = info.get('duration', 0) - minutes = duration // 60 - seconds = duration % 60 - duration_str = f"{minutes}:{seconds:02d}" + # Format view count with commas + views = info.get('view_count') + formatted_views = f"{views:,}" if views is not None else 'N/A' - # Update labels - self.title_label.setText(info.get('title', 'Unknown title')) - self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") - self.views_label.setText(f"Views: {formatted_views}") - self.date_label.setText(f"Upload date: {formatted_date}") - self.duration_label.setText(f"Duration: {duration_str}") + # Format like count with commas + likes = info.get('like_count') + formatted_likes = f"{likes:,}" if likes is not None else 'N/A' + + # Format upload date + upload_date = info.get('upload_date', '') + if upload_date: + date_obj = datetime.strptime(upload_date, '%Y%m%d') + formatted_date = date_obj.strftime('%B %d, %Y') + else: + formatted_date = 'Unknown date' + + # Format duration + duration = info.get('duration', 0) + minutes = duration // 60 + seconds = duration % 60 + duration_str = f"{minutes}:{seconds:02d}" + + # Update labels + self.title_label.setText(info.get('title', 'Unknown title')) + self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") + self.views_label.setText(f"Views: {formatted_views}") + self.like_count_label.setText(f"Likes: {formatted_likes}") + self.date_label.setText(f"Upload date: {formatted_date}") + self.duration_label.setText(f"Duration: {duration_str}") - def toggle_subtitle_controls(self): - is_checked = self.subtitle_check.isChecked() - self.subtitle_combo.setVisible(is_checked) - self.subtitle_filter_input.setVisible(is_checked) - self.merge_subs_checkbox.setVisible(is_checked) + def open_subtitle_dialog(self): + if not hasattr(self, 'available_subtitles') or not hasattr(self, 'available_automatic_subtitles'): + print("Subtitle info not loaded yet.") + return - def update_subtitle_list(self): - self.subtitle_combo.clear() + if not hasattr(self, 'selected_subtitles'): + self.selected_subtitles = [] - if not (self.available_subtitles or self.available_automatic_subtitles): - self.subtitle_combo.addItem("No subtitles available") - return + dialog = SubtitleSelectionDialog( + self.available_subtitles, + self.available_automatic_subtitles, + self.selected_subtitles, + self # Parent for the dialog + ) - # Add subtitle options - self.subtitle_combo.addItem("Select subtitle language") + # Access the main application window (parent of the mixin's widget) + # to find the merge checkbox + main_window = self # In this context, self should be the YTSageApp instance + if not isinstance(main_window, QMainWindow): + # If the structure is different, this might need adjustment + # Maybe self.parentWidget() or similar depending on how Mixin is used + print("Warning: Cannot find main window to access merge checkbox.") + merge_checkbox = None + else: + merge_checkbox = getattr(main_window, 'merge_subs_checkbox', None) - # Filter and add subtitles - filter_text = self.subtitle_filter_input.text().lower() - # Add manual subtitles - for lang_code, subtitle_info in self.available_subtitles.items(): - if not filter_text or filter_text in lang_code.lower(): - self.subtitle_combo.addItem(f"{lang_code} - Manual") + if dialog.exec(): # If user clicks OK + self.selected_subtitles = dialog.get_selected_subtitles() + print(f"Selected subtitles: {self.selected_subtitles}") + # Update UI to reflect selection + count = len(self.selected_subtitles) + self.selected_subs_label.setText(f"{count} selected") + self.subtitle_select_btn.setProperty("subtitlesSelected", count > 0) - # Add auto-generated subtitles - for lang_code, subtitle_info in self.available_automatic_subtitles.items(): - if not filter_text or filter_text in lang_code.lower(): - self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") + # Enable/disable the merge checkbox in the parent window + if merge_checkbox: + # Only enable merge checkbox if we're not in Audio Only mode + is_audio_only = hasattr(main_window, 'audio_button') and main_window.audio_button.isChecked() + # In audio-only mode, we still allow subtitle selection but not merging + should_enable = count > 0 and not is_audio_only + merge_checkbox.setEnabled(should_enable) + else: + print("Warning: merge_subs_checkbox not found on parent window.") - def filter_subtitles(self): - self.subtitle_filter = self.subtitle_filter_input.text() - self.update_subtitle_list() + # Re-apply stylesheet to update button border if property changed + self.subtitle_select_btn.style().unpolish(self.subtitle_select_btn) + self.subtitle_select_btn.style().polish(self.subtitle_select_btn) + # No else needed for cancel, state remains unchanged def download_thumbnail(self, url): try: @@ -285,10 +271,6 @@ class VideoInfoMixin: except Exception as e: print(f"Error loading thumbnail: {str(e)}") - def toggle_save_thumbnail(self): - self.save_thumbnail = self.save_thumbnail_checkbox.isChecked() - print(f"Save thumbnail toggled: {self.save_thumbnail}") # Debug print - def download_thumbnail_file(self, video_url, path): if not self.save_thumbnail: return False diff --git a/ytsage_style.py b/ytsage_style.py index 84c3b8d..6ad7f38 100644 --- a/ytsage_style.py +++ b/ytsage_style.py @@ -1,24 +1,24 @@ MAIN_STYLE = """ QMainWindow { - background-color: #2b2b2b; + background-color: #15181b; } QWidget { - background-color: #2b2b2b; + background-color: #15181b; color: #ffffff; font-size: 12px; } QLineEdit { padding: 8px; - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; + background-color: #1b2021; color: #ffffff; - selection-background-color: #ff0000; + selection-background-color: #c90000; selection-color: #ffffff; } QPushButton { padding: 8px 15px; - background-color: #ff0000; /* YouTube red */ + background-color: #c90000; border: none; border-radius: 4px; color: white; @@ -26,33 +26,33 @@ QPushButton { min-height: 20px; } QPushButton:hover { - background-color: #cc0000; /* Darker red on hover */ + background-color: #a50000; } QPushButton:pressed { - background-color: #990000; /* Even darker red when pressed */ + background-color: #800000; } QPushButton:disabled { - background-color: #666666; /* Gray when disabled */ + background-color: #666666; color: #999999; } QTableWidget { - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; - gridline-color: #3d3d3d; - selection-background-color: #ff0000; + background-color: #1b2021; + gridline-color: #1b2021; + selection-background-color: #c90000; selection-color: #ffffff; } QHeaderView::section { - background-color: #2b2b2b; + background-color: #15181b; padding: 5px; - border: 1px solid #3d3d3d; + border: 1px solid #1b2021; color: #ffffff; font-weight: bold; } QScrollBar:vertical { border: none; - background-color: #2b2b2b; + background-color: #15181b; width: 12px; margin: 0px; } @@ -62,27 +62,27 @@ QScrollBar::handle:vertical { border-radius: 6px; } QScrollBar::handle:vertical:hover { - background-color: #ff0000; + background-color: #c90000; } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0px; } QProgressBar { - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; text-align: center; color: white; - background-color: #363636; + background-color: #1b2021; } QProgressBar::chunk { - background-color: #ff0000; + background-color: #c90000; border-radius: 2px; } QComboBox { padding: 5px; - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; + background-color: #1b2021; color: #ffffff; min-height: 20px; } @@ -106,25 +106,25 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #2b2b2b; + background: #15181b; } QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; + border: 2px solid #c90000; + background: #c90000; } QLabel { color: #ffffff; } QTextEdit, QPlainTextEdit { - background-color: #363636; + background-color: #1b2021; color: #ffffff; - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - selection-background-color: #ff0000; + selection-background-color: #c90000; selection-color: #ffffff; } QMessageBox { - background-color: #2b2b2b; + background-color: #15181b; } QMessageBox QLabel { color: #ffffff; diff --git a/ytsage_utils.py b/ytsage_utils.py index 1666c83..698625d 100644 --- a/ytsage_utils.py +++ b/ytsage_utils.py @@ -4,6 +4,7 @@ import json from pathlib import Path import subprocess import tempfile +import shutil from ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path def check_ffmpeg(): @@ -49,45 +50,24 @@ def check_ffmpeg(): return False def get_yt_dlp_path(): - """Get the appropriate yt-dlp path with enhanced error handling.""" + """Get the yt-dlp command or path, prioritizing the system PATH.""" try: - if getattr(sys, 'frozen', False): - if sys.platform == 'darwin': - # For macOS .app bundle - if 'Contents/MacOS' in sys.executable: - base_path = os.path.dirname(sys.executable) - else: - # Fallback to user's home directory for macOS - base_path = os.path.expanduser('~/Library/Application Support/YTSage') - elif sys.platform == 'win32': - # For Windows executable - app_data = os.getenv('APPDATA') - base_path = os.path.join(app_data, 'YTSage') if app_data else os.path.dirname(sys.executable) - else: - # For Linux AppImage or binary - if 'APPIMAGE' in os.environ: - xdg_data = os.getenv('XDG_DATA_HOME', os.path.expanduser('~/.local/share')) - base_path = os.path.join(xdg_data, 'YTSage') - else: - base_path = os.path.dirname(sys.executable) - - # Create directory if it doesn't exist - try: - os.makedirs(base_path, exist_ok=True) - except Exception as e: - print(f"Error creating directory: {e}") - base_path = os.path.dirname(sys.executable) - - return os.path.join(base_path, 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + # Use shutil.which to find yt-dlp in the system's PATH + yt_dlp_executable = shutil.which('yt-dlp') + + if yt_dlp_executable: + print(f"Found yt-dlp executable in PATH: {yt_dlp_executable}") + return yt_dlp_executable else: - # For development/script mode - return os.path.join(os.path.dirname(os.path.abspath(__file__)), - 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') - + # If not found in PATH, assume 'yt-dlp' is the command name + print("yt-dlp not found in PATH. Will attempt to use 'yt-dlp' as the command.") + return 'yt-dlp' + except Exception as e: - print(f"Error determining yt-dlp path: {e}") - # Fallback to current directory - return os.path.join(os.getcwd(), 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + print(f"Error finding yt-dlp path: {e}") + # Fallback to the command name on any error + print("An error occurred during yt-dlp path detection. Falling back to command 'yt-dlp'.") + return 'yt-dlp' def load_saved_path(main_window_instance): """Load saved download path with enhanced error handling.""" From 7e354a19387177089e53cbf554129c0b508449c1 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:58:42 +0300 Subject: [PATCH 035/568] Update README.md --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0fd828b..a7d2e12 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # 🎥 YTSage -YTSage Interface +YTSage Interface [![PyPI version](https://badge.fury.io/py/ytsage.svg)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) @@ -79,17 +79,19 @@ python main.py
- - + + + - - + + + From 985ba9d8642bb586c264dff656813415cb2bdaff Mon Sep 17 00:00:00 2001 From: Muhamed Date: Tue, 29 Apr 2025 15:03:52 +0300 Subject: [PATCH 036/568] Revert "4v.5.0" This reverts commit 82de19c95ae355c7fda2a6ab2084b986fe373b40. --- Icon/icon.png | Bin 4966 -> 0 bytes README.md | 50 +- requirements.txt | 3 +- ytsage_downloader.py | 749 ++++++++------------------- ytsage_gui_dialogs.py | 1006 +++++++----------------------------- ytsage_gui_format_table.py | 178 ++----- ytsage_gui_main.py | 682 ++++++------------------ ytsage_gui_video_info.py | 276 +++++----- ytsage_style.py | 58 +-- ytsage_utils.py | 52 +- 10 files changed, 840 insertions(+), 2214 deletions(-) delete mode 100644 Icon/icon.png diff --git a/Icon/icon.png b/Icon/icon.png deleted file mode 100644 index 8b32d056220a44c3c02abd9acc19d26371d5e5b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4966 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 NwA6G}E0nFm{{u;wZ5aRn diff --git a/README.md b/README.md index 0fd828b..6a3e526 100644 --- a/README.md +++ b/README.md @@ -27,13 +27,12 @@ Download videos in any quality, extract audio, fetch subtitles, and more.
-| Core Features | Advanced Features | Extra Features | -|-----------------------------------|-----------------------------------------|------------------------------------| -| 🎥 Format Table | 🚫 SponsorBlock Integration | 💾 Save Download Path | -| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Updates | -| ✨ Simple UI | 💾 Save Description | 🛠️ FFmpeg/yt-dlp Detection | -| 📋 Playlist Support | 🖼️ Save thumbnail | ⚙️ Custom Commands | -| 🖼️ Playlist Selector | 🚀 Speed Limiter | 🍪 Login with Cookies | +| Core Features | Advanced Features | Extra Features | +|--------------|-------------------|----------------| +| 🎥 Smart Video Quality | 🚫 SponsorBlock Integration | 💾 Save Download Path | +| 🎵 Audio Extraction | 📝 Subtitle Support & Filtering | 🔄 Auto-Updates | +| 📊 Real-time Progress | ⚙️ Custom Commands | 🛠️ FFmpeg Tools | +| 📋 Playlist Support | 🖼️ Save thumbnail | ⚠️ Error Handling |
@@ -41,7 +40,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more. ### Quick Install (Recommended) ```bash -pip install ytsage +pip install YTSage ``` ```bash # Run the application @@ -53,12 +52,10 @@ ytsage ### Pre-built Executables - 🪟 Windows: `YTSage.exe` -- 🪟 Windows: `YTSage-ffmpeg.exe` (Includes FFmpeg) -- 🐧 Linux: `YTSage-x86_64.AppImage` -- 🍎 macOS: `YTSage-macOS-app.zip` - 🍎 macOS: `YTSage.dmg` +- 🐧 Linux: `YTSage.AppImage` -### Manual Installation from Source +### Manual Installation ```bash # Clone repository git clone https://github.com/oop7/YTSage.git @@ -91,8 +88,8 @@ python main.py
- - + +
Main InterfacePlaylist DownloadMain InterfacePlaylist Download
Main Interface Playlist Download
Audio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor SegmentsAudio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor Segments
Audio Format Subtitle OptionsSubtitle Options merged with Remove Sponsor Segments
Audio FormatSubtitle OptionsAudio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor Segments
@@ -110,10 +107,9 @@ python main.py - `Audio Only` for audio extraction 5. **Choose Options:** - Enable subtitles & select language - - Enable subtitle merge + - Enable subtitle embedding - Save thumbnail - Remove sponsor segments - - Save description 6. **Select Output Directory** 7. **Click "Download"** @@ -124,9 +120,8 @@ python main.py 1. **Paste Playlist URL** 2. **Click "Analyze"** -3. **Select videos from the playlist selector (optional, defaults to all)** -4. **Choose desired format/quality** -5. **Click "Download"** +3. **Select Best Quality** +4. **Click "Download"** > 💡 The application automatically handles the download queue @@ -137,18 +132,9 @@ python main.py - **Quality Selection:** Choose the highest resolution for best quality - **Subtitle Options:** Filter languages and embed into video +- **SponsorBlock:** Automatically skip promotional content - **Custom Commands:** Access advanced yt-dlp features -- **Save Description:** Save the description of the video -- **Save Thumbnail:** Save the thumbnail of the video -- **Remove Sponsor Segments:** Remove sponsor segments from the video -- **Speed Limiter:** Limit the download speed -- **Login with Cookies:** Login with cookies -- **Save Download Path:** Save the download path -- **Update yt-dlp:** Update yt-dlp -- **FFmpeg/yt-dlp Detection:** Automatically detect FFmpeg/yt-dlp -- **Custom Commands:** Access advanced yt-dlp features - - +- **Output Directory:** Ensure sufficient storage space @@ -162,7 +148,6 @@ Pillow requests FFmpeg packaging -markdown ``` ## 👥 Contributing @@ -206,9 +191,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file | [PySide6](https://wiki.qt.io/Qt_for_Python) | GUI Framework | | [FFmpeg](https://ffmpeg.org/) | Media Processing | | [Pillow](https://python-pillow.org/) | Image Processing | -| [requests](https://requests.readthedocs.io/) | HTTP Requests | -| [packaging](https://packaging.python.org/) | Packaging | -| [markdown](https://python-markdown.github.io/) | Markdown Processing | diff --git a/requirements.txt b/requirements.txt index f5fd815..b195626 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,5 +2,4 @@ PySide6 yt-dlp requests pillow -packaging -markdown \ No newline at end of file +packaging \ No newline at end of file diff --git a/ytsage_downloader.py b/ytsage_downloader.py index 5b33505..e9b88a7 100644 --- a/ytsage_downloader.py +++ b/ytsage_downloader.py @@ -1,10 +1,8 @@ -from PySide6.QtCore import QThread, Signal, QObject, QProcess, QTimer +from PySide6.QtCore import QThread, Signal, QObject import yt_dlp # Keep yt_dlp import here - only downloader uses it. import time import os import re -import subprocess # For direct CLI command execution -import shlex # For safely parsing command arguments from pathlib import Path class SignalManager(QObject): @@ -18,32 +16,20 @@ class DownloadThread(QThread): finished_signal = Signal() error_signal = Signal(str) file_exists_signal = Signal(str) # New signal for file existence - update_details = Signal(str) # New signal for filename, speed, ETA - def __init__(self, url, path, format_id, subtitle_langs=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None, save_description=False, cookie_file=None, rate_limit=None): + def __init__(self, url, path, format_id, subtitle_lang=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None): super().__init__() self.url = url self.path = path self.format_id = format_id - self.subtitle_langs = subtitle_langs if subtitle_langs else [] + self.subtitle_lang = subtitle_lang self.is_playlist = is_playlist self.merge_subs = merge_subs self.enable_sponsorblock = enable_sponsorblock self.resolution = resolution self.playlist_items = playlist_items - self.save_description = save_description - self.cookie_file = cookie_file - self.rate_limit = rate_limit self.paused = False self.cancelled = False - self.process = None - self.use_direct_command = True # Flag to use direct CLI command instead of Python API - self.last_output_time = time.time() - self.timeout_timer = None - self.current_filename = None # Initialize filename storage - self.last_file_path = None # Initialize full file path storage - self.subtitle_files = [] # Track subtitle files that are created - self.initial_subtitle_files = set() # Track initial subtitle files before download def cleanup_partial_files(self): """Delete any partial files including .part and unmerged format-specific files""" @@ -60,99 +46,14 @@ class DownloadThread(QThread): except Exception as e: self.error_signal.emit(f"Error cleaning partial files: {str(e)}") - def cleanup_subtitle_files(self): - """Delete subtitle files after they have been merged into the video file""" - if not self.merge_subs: - return # Only cleanup if merge_subs is enabled - - try: - deleted_count = 0 - - # Method 1: Delete tracked subtitle files from output messages - if self.subtitle_files: - for subtitle_file in self.subtitle_files: - try: - if os.path.isfile(subtitle_file): - os.remove(subtitle_file) - deleted_count += 1 - print(f"DEBUG: Deleted tracked subtitle file: {os.path.basename(subtitle_file)}") - except Exception as e: - print(f"Error deleting subtitle file {subtitle_file}: {str(e)}") - - print(f"DEBUG: Deleted {deleted_count} of {len(self.subtitle_files)} tracked subtitle files") - - # Method 2: Find newly created subtitle files by comparing with initial set - try: - new_subtitle_files = set() - for root, dirs, files in os.walk(self.path): - for file in files: - if file.endswith('.vtt') or file.endswith('.srt'): - full_path = os.path.join(root, file) - if full_path not in self.initial_subtitle_files: - new_subtitle_files.add(full_path) - - if new_subtitle_files: - print(f"DEBUG: Found {len(new_subtitle_files)} new subtitle files to delete") - for subtitle_file in new_subtitle_files: - try: - if os.path.isfile(subtitle_file): - os.remove(subtitle_file) - deleted_count += 1 - print(f"DEBUG: Deleted new subtitle file: {os.path.basename(subtitle_file)}") - except Exception as e: - print(f"Error deleting new subtitle file {subtitle_file}: {str(e)}") - except Exception as e: - print(f"Error in finding new subtitle files: {str(e)}") - - # Method 3: As a last resort, use timestamp-based approach for recently created files - if self.last_file_path and deleted_count == 0: - target_dir = os.path.dirname(self.last_file_path) - - # Look for subtitle files created in last 5 minutes - now = time.time() - for filename in os.listdir(target_dir): - if filename.endswith('.vtt') or filename.endswith('.srt'): - file_path = os.path.join(target_dir, filename) - - # Check if it was created in the last 5 minutes - file_time = os.path.getctime(file_path) - if now - file_time < 300: # 5 minutes - try: - os.remove(file_path) - deleted_count += 1 - print(f"DEBUG: Deleted subtitle file by timestamp: {filename}") - except Exception as e: - print(f"Error deleting subtitle file {filename}: {str(e)}") - - print(f"DEBUG: Total subtitle files deleted: {deleted_count}") - - except Exception as e: - print(f"Error cleaning subtitle files: {str(e)}") - def check_file_exists(self): """Check if the file already exists before downloading""" try: print("DEBUG: Starting file existence check") - # Use yt-dlp to get the filename without downloading, suppressing warnings - ydl_opts_check = { - 'quiet': True, - 'skip_download': True, - 'no_warnings': True, # <-- Suppress warnings during check - 'ignoreerrors': True, # Also ignore other potential errors during this check - 'outtmpl': {'default': os.path.join(self.path, '%(title)s.%(ext)s')}, - 'format': self.format_id if self.format_id else 'best' # Use selected format or best - } - if self.cookie_file: - ydl_opts_check['cookiefile'] = self.cookie_file - - with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: + # Use yt-dlp to get the filename without downloading + with yt_dlp.YoutubeDL({'quiet': True, 'skip_download': True}) as ydl: info = ydl.extract_info(self.url, download=False) - # Handle cases where info extraction fails silently - if not info: - print("DEBUG: Failed to extract info during file existence check. Skipping check.") - return False # Proceed with download attempt - # Get the title and sanitize it for filename title = info.get('title', 'video') # Don't remove colons and other special characters yet @@ -205,147 +106,10 @@ class DownloadThread(QThread): traceback.print_exc() return None - def _build_yt_dlp_command(self): - """Build the yt-dlp command line with all options for direct execution.""" - cmd = ["yt-dlp"] - - # Format selection strategy - use format ID if provided or fallback to resolution - if self.format_id: - # Strip the -drc suffix if present to fix issues with certain audio formats - clean_format_id = self.format_id.split('-drc')[0] if '-drc' in self.format_id else self.format_id - - # Check if this is an audio-only format - is_audio_format = False - try: - ydl_opts = { - 'quiet': True, - 'no_warnings': True, - 'skip_download': True, - } - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(self.url, download=False) - for fmt in info.get('formats', []): - if fmt.get('format_id') == clean_format_id: - if fmt.get('vcodec') == 'none' or 'audio only' in fmt.get('format_note', '').lower(): - is_audio_format = True - print(f"DEBUG: Detected audio-only format for ID: {clean_format_id}") - break - except Exception as e: - print(f"DEBUG: Error checking if format is audio-only: {e}") - - # For audio-only formats, don't try to merge with video - if is_audio_format: - cmd.extend(["-f", clean_format_id]) - print(f"DEBUG: Using audio-only format selection: {clean_format_id}") - else: - cmd.extend(["-f", f"{clean_format_id}+bestaudio/best"]) - print(f"DEBUG: Using video format selection with audio: {clean_format_id}+bestaudio/best") - - # Determine output format based on the selected format ID - only for video formats - if not is_audio_format: - try: - format_ext = None - print(f"DEBUG: Getting format information for format ID: {self.format_id} (using: {clean_format_id})") - ydl_opts = { - 'quiet': True, - 'no_warnings': True, - 'skip_download': True, - } - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(self.url, download=False) - # Look for the clean format ID first - for fmt in info.get('formats', []): - if fmt.get('format_id') == clean_format_id: - format_ext = fmt.get('ext') - break - # If not found, try the original ID as fallback - if not format_ext: - for fmt in info.get('formats', []): - if fmt.get('format_id') == self.format_id: - format_ext = fmt.get('ext') - break - - if format_ext: - print(f"DEBUG: Detected format extension: {format_ext}") - # Ensure output matches the selected format - only for video formats - cmd.extend(["--merge-output-format", format_ext]) - except Exception as e: - print(f"DEBUG: Error detecting format extension: {e}") - # If we can't determine the format, don't specify merge-output-format - pass - else: - # If no specific format ID, use resolution-based sorting (-S) - res_value = self.resolution if self.resolution else "720" # Default to 720p if no resolution specified - cmd.extend(["-S", f"res:{res_value}"]) - - # Output template with resolution in filename - output_template = os.path.join(self.path, '%(title)s_%(resolution)s.%(ext)s') - - # Handle playlist directory creation if needed - if self.is_playlist: - # Create output template with playlist subfolder - output_template = os.path.join(self.path, '%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s') - - cmd.extend(["-o", output_template]) - - # Add common options - cmd.append("--force-overwrites") - - # Add playlist items if specified - if self.is_playlist and self.playlist_items: - cmd.extend(["--playlist-items", self.playlist_items]) - - # Add subtitle options if selected - if self.subtitle_langs: - # Subtitles work with both audio-only and video formats - # For audio-only formats, subtitles will be downloaded as separate files - cmd.append("--write-subs") - - # Get language codes from subtitle selections - lang_codes = [] - for sub_selection in self.subtitle_langs: - try: - # Extract just the language code (e.g., 'en' from 'en - Manual') - lang_code = sub_selection.split(' - ')[0] - lang_codes.append(lang_code) - except Exception as e: - print(f"Warning: Could not parse subtitle selection '{sub_selection}': {e}") - - if lang_codes: - cmd.extend(["--sub-langs", ",".join(lang_codes)]) - cmd.append("--write-auto-subs") # Include auto-generated subtitles - - # Add embedding if requested - only applies to video formats - if self.merge_subs: - cmd.append("--embed-subs") - - # Add SponsorBlock if enabled - if self.enable_sponsorblock: - cmd.append("--sponsorblock-remove") - cmd.append("sponsor") - - # Add description saving if enabled - if self.save_description: - cmd.append("--write-description") - - # Add cookies if specified - if self.cookie_file: - cmd.extend(["--cookies", self.cookie_file]) - - # Add rate limit if specified - if self.rate_limit: - cmd.extend(["-r", self.rate_limit]) - - # Add the URL as the final argument - cmd.append(self.url) - - return cmd - def run(self): try: print("DEBUG: Starting download thread") - - # First check if file already exists using original method + # First check if file already exists existing_file = self.check_file_exists() if existing_file: print(f"DEBUG: File exists, emitting signal: {existing_file}") @@ -353,305 +117,216 @@ class DownloadThread(QThread): return print("DEBUG: No existing file found, proceeding with download") - - # Get initial list of subtitle files to compare later - self.initial_subtitle_files = set() - if self.merge_subs: + class DebugLogger: + def debug(self, msg): + # Print all debug messages to help diagnose issues + print(f"YT-DLP DEBUG: {msg}") + + # Check for file exists message - look for both patterns + if "already exists" in msg or "has already been downloaded" in msg: + print(f"FILE EXISTS DETECTED: {msg}") + # Try to extract the filename + import re + match = re.search(r'File (.*?) already exists', msg) + if not match: + match = re.search(r'(.*?) has already been downloaded', msg) + + if match: + filename = os.path.basename(match.group(1)) + self.thread.file_exists_signal.emit(filename) + raise Exception("FileExistsError") + + # Add detection of post-processing messages + if "Downloading" in msg: + self.thread.status_signal.emit("⚡ Downloading video...") + elif "Post-process" in msg or "Sponsorblock" in msg: + self.thread.status_signal.emit("✨ Post-processing: Removing sponsor segments...") + self.thread.progress_signal.emit(99) # Keep progress bar at 99% + elif any(x in msg.lower() for x in ['downloading webpage', 'downloading api']): + self.thread.status_signal.emit("🔍 Fetching video information...") + self.thread.progress_signal.emit(0) + elif 'extracting' in msg.lower(): + self.thread.status_signal.emit("📦 Extracting video data...") + self.thread.progress_signal.emit(0) + elif 'downloading m3u8' in msg.lower(): + self.thread.status_signal.emit("🎯 Preparing video streams...") + self.thread.progress_signal.emit(0) + + def warning(self, msg): + print(f"YT-DLP WARNING: {msg}") + self.thread.status_signal.emit(f"⚠️ Warning: {msg}") + # Also check for file exists in warnings + if "already exists" in msg or "has already been downloaded" in msg: + print(f"FILE EXISTS DETECTED IN WARNING: {msg}") + import re + match = re.search(r'File (.*?) already exists', msg) + if not match: + match = re.search(r'(.*?) has already been downloaded', msg) + + if match: + filename = os.path.basename(match.group(1)) + self.thread.file_exists_signal.emit(filename) + raise Exception("FileExistsError") + + def error(self, msg): + print(f"YT-DLP ERROR: {msg}") + self.thread.status_signal.emit(f"❌ Error: {msg}") + # Also check for file exists in errors + if "already exists" in msg or "has already been downloaded" in msg: + print(f"FILE EXISTS DETECTED IN ERROR: {msg}") + import re + match = re.search(r'File (.*?) already exists', msg) + if not match: + match = re.search(r'(.*?) has already been downloaded', msg) + + if match: + filename = os.path.basename(match.group(1)) + self.thread.file_exists_signal.emit(filename) + raise Exception("FileExistsError") + + def __init__(self, thread): + self.thread = thread + + def progress_hook(d): + if self.cancelled: + raise Exception("Download cancelled by user") + + if d['status'] == 'downloading': + while self.paused and not self.cancelled: + time.sleep(0.1) + continue + + try: + downloaded_bytes = d.get('downloaded_bytes', 0) + total_bytes = d.get('total_bytes', 0) or d.get('total_bytes_estimate', 0) + + if total_bytes: + progress = (downloaded_bytes / total_bytes) * 100 + self.progress_signal.emit(progress) + + speed = d.get('speed', 0) + if speed: + speed_str = f"{speed/1024/1024:.1f} MB/s" + else: + speed_str = "N/A" + + eta = d.get('eta', 0) + if eta: + eta_str = f"{eta//60}:{eta%60:02d}" + else: + eta_str = "N/A" + + filename = os.path.basename(d.get('filename', '')) + status = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" + self.status_signal.emit(status) + + except Exception as e: + self.status_signal.emit("⚡ Downloading...") + + elif d['status'] == 'finished': + if self.enable_sponsorblock: + self.progress_signal.emit(99) + self.status_signal.emit("✨ Post-processing: Removing sponsor segments...") + else: + self.progress_signal.emit(100) + self.status_signal.emit("✅ Download completed!") + + # Get the extension from the format_id + with yt_dlp.YoutubeDL({'quiet': True}) as ydl: try: - # Scan for existing subtitle files in the directory - for root, dirs, files in os.walk(self.path): - for file in files: - if file.endswith('.vtt') or file.endswith('.srt'): - self.initial_subtitle_files.add(os.path.join(root, file)) - print(f"DEBUG: Found {len(self.initial_subtitle_files)} existing subtitle files before download") + info = ydl.extract_info(self.url, download=False) + selected_format = next( + f for f in info['formats'] + if str(f.get('format_id', '')) == self.format_id + ) + output_ext = selected_format.get('ext', 'mp4') except Exception as e: - print(f"Warning: Error scanning for initial subtitle files: {e}") - - if self.use_direct_command: - # Use direct CLI command instead of Python API - self._run_direct_command() - else: - # Original method using Python API - code left for reference - self._run_python_api() - - except Exception as e: - # Catch errors during setup - self.error_signal.emit(f"Critical error in download thread: {str(e)}") - import traceback - traceback.print_exc() - - def _run_direct_command(self): - """Run yt-dlp as a direct command line process instead of using Python API.""" - try: - cmd = self._build_yt_dlp_command() - cmd_str = " ".join(shlex.quote(str(arg)) for arg in cmd) - print(f"DEBUG: Executing command: {cmd_str}") - - self.status_signal.emit("🚀 Starting download...") - self.progress_signal.emit(0) - - # Start the process - # Add creationflags=subprocess.CREATE_NO_WINDOW to hide console on Windows - creation_flags = 0 - if os.name == 'nt': # Only use flag on Windows - creation_flags = subprocess.CREATE_NO_WINDOW - - self.process = subprocess.Popen( - cmd, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - text=True, - bufsize=1, # Line buffered - universal_newlines=True, - creationflags=creation_flags # Add this flag - ) - - # Process output line by line to update progress - for line in iter(self.process.stdout.readline, ''): - if self.cancelled: - self.process.terminate() - self.cleanup_partial_files() - self.status_signal.emit("Download cancelled") + self.error_signal.emit(f"Failed to get video information: {str(e)}") return + + # Base yt-dlp options with resolution in filename + output_template = '%(title)s_%(resolution)s.%(ext)s' + if self.is_playlist: + output_template = '%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s' + + ydl_opts = { + 'format': f'{self.format_id}+bestaudio/best', + 'outtmpl': os.path.join(self.path, output_template), + 'progress_hooks': [progress_hook], + 'merge_output_format': 'mp4', + 'logger': DebugLogger(self), + 'postprocessors': [{ + 'key': 'FFmpegVideoConvertor', + 'preferedformat': 'mp4' + }], + 'force_overwrites': True + } + + # Add subtitle options if selected + if self.subtitle_lang: + lang_code = self.subtitle_lang.split(' - ')[0] + is_auto = 'Auto-generated' in self.subtitle_lang + ydl_opts.update({ + 'writesubtitles': True, + 'subtitleslangs': [lang_code], + 'writeautomaticsub': True, + 'skip_manual_subs': is_auto, + 'skip_auto_subs': not is_auto, + 'embedsubtitles': self.merge_subs, + }) - # Wait if paused - while self.paused and not self.cancelled: - time.sleep(0.1) - - # Parse the line for download progress and status updates - self._parse_output_line(line) - - # Wait for process to complete - return_code = self.process.wait() - - if return_code == 0: - self.progress_signal.emit(100) - self.status_signal.emit("✅ Download completed!") - - # Clean up subtitle files if they were merged, with a small delay - # to ensure the embedding process has completed if self.merge_subs: - # Add a significant delay to ensure ffmpeg has released all file handles - # and any post-processing is complete - self.status_signal.emit("✅ Download completed! Cleaning up...") - time.sleep(3) # Increased delay to 3 seconds - self.cleanup_subtitle_files() - - self.finished_signal.emit() - else: - # Check if it was cancelled - if self.cancelled: - self.status_signal.emit("Download cancelled") - else: - self.error_signal.emit(f"Download failed with return code {return_code}") + ydl_opts['postprocessors'].extend([ + { + 'key': 'FFmpegSubtitlesConvertor', + 'format': 'srt', + }, + { + 'key': 'FFmpegEmbedSubtitle', + 'already_have_subtitle': False, + } + ]) + + # Add SponsorBlock options if enabled + if self.enable_sponsorblock: + ydl_opts['postprocessors'].extend([{ + 'key': 'SponsorBlock', + 'categories': ['sponsor'], + 'api': 'https://sponsor.ajay.app' + }, { + 'key': 'ModifyChapters', + 'remove_sponsor_segments': ['sponsor'], + 'sponsorblock_chapter_title': '[SponsorBlock]', + 'force_keyframes': False + }]) + + # Add playlist items if specified + if self.playlist_items: + ydl_opts['playlist_items'] = self.playlist_items + + try: + # Download the video + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([self.url]) + + if not self.cancelled: + self.finished_signal.emit() + + # Clean up subtitle files after successful download + if self.merge_subs: + for filename in os.listdir(self.path): + if filename.lower().endswith(('.vtt', '.srt', '.ass')): + try: + os.remove(os.path.join(self.path, filename)) + except Exception as e: + self.error_signal.emit(f"Error deleting subtitle file: {str(e)}") + + except Exception as e: + if str(e) == "Download cancelled by user": self.cleanup_partial_files() - + self.error_signal.emit("Download cancelled") + else: + self.error_signal.emit(f"Download failed: {str(e)}") + except Exception as e: - self.error_signal.emit(f"Error in direct command: {str(e)}") - self.cleanup_partial_files() - - def _parse_output_line(self, line): - """Parse yt-dlp command output to update progress and status.""" - line = line.strip() - # print(f"yt-dlp: {line}") # Log all output - OPTIONALLY UNCOMMENT FOR VERBOSE DEBUG - - # Extract filename when the destination line appears - # Use a slightly more robust regex looking for the start of the line - dest_match = re.search(r'^\[download\] Destination:\s*(.*)', line) - if dest_match: - try: - filepath = dest_match.group(1).strip() - self.current_filename = os.path.basename(filepath) - self.last_file_path = filepath # Store the full path for later cleanup - print(f"DEBUG: Extracted filename: {self.current_filename}") # DEBUG - - # Check if this is an audio-only download by looking in the previous lines - is_audio_download = False - - # Look for audio format indicators in the current line or preceding output - # yt-dlp typically mentions format like "Downloading format 251 - audio only" - if ' - audio only' in line: - is_audio_download = True - # Check if the format ID is mentioned earlier in the line - format_match = re.search(r'Downloading format (\d+)', line) - if format_match: - format_id = format_match.group(1) - print(f"DEBUG: Detected format ID: {format_id}") - # Format IDs for audio typically have different patterns - # (like 140, 251 for audio vs 137, 248 for video) - # This is just a heuristic since format IDs can vary - - # Determine file type based on extension and context - ext = os.path.splitext(self.current_filename)[1].lower() - - # Check if this is explicitly an audio stream download - if is_audio_download or 'Downloading audio' in line: - self.status_signal.emit(f"⏬ Downloading audio...") - # Video file extensions with likely video content - elif ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: - self.status_signal.emit(f"⏬ Downloading video...") - # Audio file extensions - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: - self.status_signal.emit(f"⏬ Downloading audio...") - # Subtitle file extensions - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: - self.status_signal.emit(f"⏬ Downloading subtitle...") - # Default case - else: - self.status_signal.emit(f"⏬ Downloading...") - except Exception as e: - print(f"Error extracting filename from line '{line}': {e}") - self.status_signal.emit("⚡ Downloading...") # Fallback status - return # Don't process this line further for speed/ETA - - # Check for specific download types in the output - if "Downloading video" in line: - self.status_signal.emit(f"⏬ Downloading video...") - return - - elif "Downloading audio" in line: - self.status_signal.emit(f"⏬ Downloading audio...") - return - - # Detect subtitle file creation - # Look for lines like "[info] Writing video subtitles to: filename.xx.vtt" - subtitle_match = re.search(r'(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.*\.(?:vtt|srt))', line, re.IGNORECASE) - if subtitle_match: - subtitle_file = subtitle_match.group(1).strip() - # Show subtitle download message - self.status_signal.emit(f"⏬ Downloading subtitle...") - # Store the subtitle file path for later deletion if merging is enabled - if self.merge_subs: - if not os.path.isabs(subtitle_file): - # If it's a relative path, make it absolute based on current path - subtitle_file = os.path.join(self.path, subtitle_file) - self.subtitle_files.append(subtitle_file) - print(f"DEBUG: Tracking subtitle file for later cleanup: {subtitle_file}") - return - - # Send status updates based on output line content - if 'Downloading webpage' in line or 'Extracting URL' in line: - self.status_signal.emit("🔍 Fetching video information...") - self.progress_signal.emit(0) - elif 'Downloading API JSON' in line: - self.status_signal.emit("📋 Processing playlist data...") - self.progress_signal.emit(0) - elif 'Downloading m3u8 information' in line: - self.status_signal.emit("🎯 Preparing video streams...") - self.progress_signal.emit(0) - elif '[download] Downloading video ' in line: - self.status_signal.emit("⏬ Downloading video...") - elif '[download] Downloading audio ' in line: - self.status_signal.emit("⏬ Downloading audio...") - elif 'Downloading format' in line: - # Try to detect if it's audio or video format - if ' - audio only' in line: - self.status_signal.emit("⏬ Downloading audio...") - elif ' - video only' in line: - self.status_signal.emit("⏬ Downloading video...") - else: - # Don't emit generic message - format is unclear - pass - - # Look for download percentage - percent_match = re.search(r'(\d+\.\d+)%', line) - if percent_match: - try: - percent = float(percent_match.group(1)) - self.progress_signal.emit(percent) - except (ValueError, IndexError): - pass - - # Check for download speed and ETA - if '[download]' in line and '%' in line: - # Try to extract more detailed status info - try: - # Look for speed - speed_match = re.search(r'at\s+(\d+\.\d+[KMG]iB/s)', line) - speed_str = speed_match.group(1) if speed_match else "N/A" - - # Look for ETA - eta_match = re.search(r'ETA\s+(\d+:\d+)', line) - eta_str = eta_match.group(1) if eta_match else "N/A" - - # Simplify status message to only show the speed and ETA - status = f"Speed: {speed_str} | ETA: {eta_str}" - self.update_details.emit(status) - except Exception as e: - # If parsing fails, just show basic status (maybe log the error) - print(f"Error parsing download details line: {line} -> {e}") - pass # Keep basic status emission below if needed, or emit generic details - - # Check for post-processing - if '[Merger]' in line or 'Merging formats' in line: - self.status_signal.emit("✨ Post-processing: Merging formats...") - self.progress_signal.emit(95) - elif 'SponsorBlock' in line: - self.status_signal.emit("✨ Post-processing: Removing sponsor segments...") - self.progress_signal.emit(97) - elif 'Deleting original file' in line: - self.progress_signal.emit(98) - elif 'has already been downloaded' in line: - # File already exists - extract filename - match = re.search(r'(.*?) has already been downloaded', line) - if match: - filename = os.path.basename(match.group(1)) - # Determine file type based on extension for existing file message - ext = os.path.splitext(filename)[1].lower() - - if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: - self.status_signal.emit(f"⚠️ Video file already exists") - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: - self.status_signal.emit(f"⚠️ Audio file already exists") - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: - self.status_signal.emit(f"⚠️ Subtitle file already exists") - else: - self.status_signal.emit(f"⚠️ File already exists") - - self.file_exists_signal.emit(filename) - else: - print(f"Could not extract filename from 'already downloaded' line: {line}") - self.status_signal.emit("⚠️ File already exists") # Fallback status - elif 'Finished downloading' in line: - self.progress_signal.emit(100) - - # Show completion message based on file type - if self.current_filename: - ext = os.path.splitext(self.current_filename)[1].lower() - - # Video file extensions - if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: - self.status_signal.emit(f"✅ Video download completed!") - # Audio file extensions - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: - self.status_signal.emit(f"✅ Audio download completed!") - # Subtitle file extensions - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: - self.status_signal.emit(f"✅ Subtitle download completed!") - # Default case - else: - self.status_signal.emit("✅ Download completed!") - else: - self.status_signal.emit("✅ Download completed!") - - self.update_details.emit("") # Clear details label on completion - - def _run_python_api(self): - """Original download method using Python API - kept for reference.""" - # The existing run method code using yt_dlp.YoutubeDL starts here - # This method is no longer used by default - - def pause(self): - self.paused = True - - def resume(self): - self.paused = False - - def cancel(self): - self.cancelled = True - # Terminate the subprocess if it's running - if self.process: - try: - self.process.terminate() - except Exception: - pass \ No newline at end of file + self.error_signal.emit(f"Critical error: {str(e)}") \ No newline at end of file diff --git a/ytsage_gui_dialogs.py b/ytsage_gui_dialogs.py index 592b7cc..5c1a69c 100644 --- a/ytsage_gui_dialogs.py +++ b/ytsage_gui_dialogs.py @@ -4,8 +4,7 @@ import webbrowser from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QListWidget, - QListWidgetItem, QDialogButtonBox, QScrollArea, QGroupBox) + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup) from PySide6.QtCore import Qt, Signal, QObject, QThread, QProcess from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import requests @@ -76,9 +75,9 @@ class CustomCommandDialog(QDialog): self.command_input.setPlaceholderText("Enter yt-dlp arguments...") self.command_input.setStyleSheet(""" QPlainTextEdit { - background-color: #1d1e22; + background-color: #363636; color: #ffffff; - border: 2px solid #1d1e22; + border: 2px solid #3d3d3d; border-radius: 4px; padding: 8px; font-family: Consolas, monospace; @@ -97,17 +96,17 @@ class CustomCommandDialog(QDialog): QCheckBox::indicator { width: 18px; height: 18px; - border-radius: 9px; + border-radius: 9px; /* Make indicator round */ } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #1d1e22; - border-radius: 9px; + background: #2b2b2b; + border-radius: 9px; /* Make indicator round */ } QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 9px; + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; /* Make indicator round */ } """) layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) @@ -130,9 +129,9 @@ class CustomCommandDialog(QDialog): self.log_output.setReadOnly(True) self.log_output.setStyleSheet(""" QTextEdit { - background-color: #1d1e22; + background-color: #2b2b2b; color: #ffffff; - border: 2px solid #1d1e22; + border: 2px solid #3d3d3d; border-radius: 4px; padding: 8px; font-family: Consolas, monospace; @@ -143,18 +142,18 @@ class CustomCommandDialog(QDialog): self.setStyleSheet(""" QDialog { - background-color: #15181b; + background-color: #2b2b2b; } QPushButton { padding: 8px 15px; - background-color: #c90000; + background-color: #ff0000; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:hover { - background-color: #a50000; + background-color: #cc0000; } """) @@ -399,130 +398,6 @@ class FFmpegCheckDialog(QDialog): self.close_btn.setEnabled(True) -class VersionCheckThread(QThread): - finished = Signal(str, str, str) # current_version, latest_version, error_message - - def run(self): - current_version = "" - latest_version = "" - error_message = "" - - try: - # Get the yt-dlp executable path - if getattr(sys, 'frozen', False): - if sys.platform == 'win32': - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') - else: - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') - else: - yt_dlp_path = 'yt-dlp' - - # Get current version - try: - result = subprocess.run([yt_dlp_path, '--version'], - capture_output=True, - text=True, - startupinfo=None if sys.platform != 'win32' else subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW, wShowWindow=subprocess.SW_HIDE), # Hide console window on Windows - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) # Hide console window on Windows - if result.returncode == 0: - current_version = result.stdout.strip() - else: # Try fallback if command failed - import yt_dlp - current_version = yt_dlp.version.__version__ - except Exception: - # Fallback to importing yt_dlp package directly if subprocess fails - try: - import yt_dlp - current_version = yt_dlp.version.__version__ - except ImportError: - error_message = "yt-dlp not found or accessible." - self.finished.emit(current_version, latest_version, error_message) - return - - - # Get latest version from PyPI - response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) # Add timeout - response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx) - latest_version = response.json()["info"]["version"] - - # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - - except requests.RequestException as e: - error_message = f"Network error checking PyPI: {e}" - except Exception as e: - error_message = f"Error checking version: {e}" - - self.finished.emit(current_version, latest_version, error_message) - - -class UpdateThread(QThread): - update_status = Signal(str) # For status messages - update_finished = Signal(bool, str) # success (bool), message/error (str) - - def run(self): - error_message = "" - success = False - try: - self.update_status.emit("Starting update process...") - - # Determine paths (similar logic as before) - python_path = sys.executable # Default to current interpreter - yt_dlp_dir = os.path.dirname(sys.executable) if getattr(sys, 'frozen', False) else os.getcwd() - - if getattr(sys, 'frozen', False) and sys.platform == 'win32': - alt_python_path = os.path.join(os.path.dirname(sys.executable), 'python.exe') - if os.path.exists(alt_python_path): - python_path = alt_python_path - - # Create and configure QProcess - process = QProcess() - process.setWorkingDirectory(yt_dlp_dir) - process.setProcessChannelMode(QProcess.ProcessChannelMode.MergedChannels) # Combine stdout/stderr - - # Prepare command arguments - pip_args = ['install', '--upgrade', '--no-cache-dir', 'yt-dlp'] - if sys.platform == 'win32': - command = python_path - args = ['-m', 'pip'] + pip_args - else: - # Assume pip is in PATH or use python -m pip for robustness - command = python_path - args = ['-m', 'pip'] + pip_args - # Alternative if pip is guaranteed in PATH: command = 'pip', args = pip_args - - # Start the process - self.update_status.emit(f"Running: {command} {' '.join(args)}") - process.start(command, args) - - # Wait for finish (use QProcess event loop, not blocking waitForFinished) - if not process.waitForStarted(5000): # Wait 5s for process to start - raise RuntimeError("Update process failed to start.") - - if not process.waitForFinished(-1): # Wait indefinitely for finish - raise RuntimeError("Update process failed to finish.") - - exit_code = process.exitCode() - output = process.readAll().data().decode(errors='ignore') # Read combined output - - if exit_code == 0: - self.update_status.emit("Update completed successfully!") - success = True - error_message = "Update successful. Please restart the application." - else: - self.update_status.emit(f"Update failed (Exit Code: {exit_code})") - error_message = f"Update failed.\nExit Code: {exit_code}\nOutput:\n{output}" - success = False - - except Exception as e: - error_message = f"Update failed with exception: {e}" - self.update_status.emit(error_message) - success = False - - self.update_finished.emit(success, error_message) - - class YTDLPUpdateDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) @@ -557,7 +432,7 @@ class YTDLPUpdateDialog(QDialog): # Style self.setStyleSheet(""" QDialog { - background-color: #15181b; + background-color: #2b2b2b; } QLabel { color: #ffffff; @@ -566,7 +441,7 @@ class YTDLPUpdateDialog(QDialog): } QPushButton { padding: 8px 15px; - background-color: #c90000; + background-color: #ff0000; border: none; border-radius: 4px; color: white; @@ -577,723 +452,222 @@ class YTDLPUpdateDialog(QDialog): background-color: #666666; } QPushButton:hover { - background-color: #a50000; + background-color: #cc0000; } QProgressBar { - border: 2px solid #1d1e22; + border: 2px solid #3d3d3d; border-radius: 4px; text-align: center; color: white; - background-color: #1d1e22; + background-color: #363636; height: 25px; } QProgressBar::chunk { - background-color: #c90000; + background-color: #ff0000; border-radius: 2px; } """) - # Start version check in background + # Start version check self.check_version() def check_version(self): - self.status_label.setText("Checking for updates...") - self.update_btn.setEnabled(False) - self.version_check_thread = VersionCheckThread() - self.version_check_thread.finished.connect(self.on_version_check_finished) - self.version_check_thread.start() - - def on_version_check_finished(self, current_version, latest_version, error_message): - if error_message: - self.status_label.setText(error_message) - self.update_btn.setEnabled(False) - return - - if not current_version or not latest_version: - self.status_label.setText("Could not determine versions.") - self.update_btn.setEnabled(False) - return - try: - # Compare versions - current_ver = version.parse(current_version) - latest_ver = version.parse(latest_version) + # Get current version using yt-dlp command + import subprocess + import sys + import os - if current_ver < latest_ver: - self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") - self.update_btn.setEnabled(True) + # Get the yt-dlp executable path + if getattr(sys, 'frozen', False): + if sys.platform == 'win32': + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') + else: + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") - self.update_btn.setEnabled(False) - except version.InvalidVersion: - # If version parsing fails, do a simple string comparison - if current_version != latest_version: - self.status_label.setText(f"Update available! (Comparison failed)\nCurrent: {current_version}\nLatest: {latest_version}") - self.update_btn.setEnabled(True) - else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") - self.update_btn.setEnabled(False) - except Exception as e: # Catch any other unexpected errors during comparison - self.status_label.setText(f"Error comparing versions: {e}") - self.update_btn.setEnabled(False) - + yt_dlp_path = 'yt-dlp' + + # Get current version + try: + result = subprocess.run([yt_dlp_path, '--version'], + capture_output=True, + text=True) + current_version = result.stdout.strip() + except Exception: + import yt_dlp + current_version = yt_dlp.version.__version__ + + # Get latest version from PyPI + import requests + response = requests.get("https://pypi.org/pypi/yt-dlp/json") + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + # Compare versions + from packaging import version + try: + current_ver = version.parse(current_version) + latest_ver = version.parse(latest_version) + + if current_ver < latest_ver: + self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + except version.InvalidVersion: + # If version parsing fails, do a simple string comparison + if current_version != latest_version: + self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + + except Exception as e: + self.status_label.setText(f"Error checking version: {str(e)}") + self.update_btn.setEnabled(False) + def perform_update(self): - self.update_btn.setEnabled(False) - self.close_btn.setEnabled(False) - self.status_label.setText("Initializing update...") - self.progress_bar.setRange(0, 0) # Indeterminate progress - self.progress_bar.show() - - # Create and start the update thread - self.update_thread = UpdateThread() - self.update_thread.update_status.connect(self.on_update_status) # Connect status signal - self.update_thread.update_finished.connect(self.on_update_finished) # Connect finished signal - self.update_thread.start() - - def on_update_status(self, message): - """Slot to receive status messages from UpdateThread.""" - self.status_label.setText(message) - - def on_update_finished(self, success, message): - """Slot called when the UpdateThread finishes.""" - self.progress_bar.setRange(0, 100) # Set determinate range - self.progress_bar.setValue(100) # Mark as complete - self.progress_bar.hide() # Optionally hide progress bar again - self.status_label.setText(message) - self.close_btn.setEnabled(True) - - if success: - # Optionally re-check version automatically after successful update - self.check_version() - else: - # Re-enable update button only if failed? - # self.update_btn.setEnabled(True) # Decide if appropriate - pass # Keep update button disabled on failure for now - - def closeEvent(self, event): - """Ensure threads are terminated if the dialog is closed prematurely.""" - if hasattr(self, 'version_check_thread') and self.version_check_thread.isRunning(): - self.version_check_thread.quit() # Ask thread to stop - self.version_check_thread.wait() # Wait for it to finish - if hasattr(self, 'update_thread') and self.update_thread.isRunning(): - self.update_thread.quit() - self.update_thread.wait() - super().closeEvent(event) + try: + self.update_btn.setEnabled(False) + self.close_btn.setEnabled(False) + self.status_label.setText("Updating yt-dlp...") + self.progress_bar.setRange(0, 0) + self.progress_bar.show() + + # Get the yt-dlp path + if getattr(sys, 'frozen', False): + if sys.platform == 'win32': + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') + else: + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') + else: + yt_dlp_path = 'yt-dlp' + + # Create a QProcess for updating + process = QProcess() + process.setWorkingDirectory(os.path.dirname(yt_dlp_path)) + + if sys.platform == 'win32': + # For Windows, use pip to update + python_path = os.path.join(os.path.dirname(sys.executable), 'python.exe') + if not os.path.exists(python_path): + python_path = sys.executable + + process.start(python_path, ['-m', 'pip', 'install', '--upgrade', '--no-cache-dir', 'yt-dlp']) + else: + # For Unix systems + process.start('pip', ['install', '--upgrade', '--no-cache-dir', 'yt-dlp']) + + process.waitForFinished() + + if process.exitCode() == 0: + self.status_label.setText("Update completed successfully!\nPlease restart the application.") + self.check_version() # Recheck version after update + else: + error = process.readAllStandardError().data().decode() + self.status_label.setText(f"Update failed: {error}") + + self.progress_bar.setRange(0, 100) + self.progress_bar.setValue(100) + self.close_btn.setEnabled(True) + + except Exception as e: + self.status_label.setText(f"Update failed: {str(e)}") + self.close_btn.setEnabled(True) + self.progress_bar.hide() class AboutDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) - self.parent = parent # Store parent to access version etc. - self.setWindowTitle("About YTSage") - self.setMinimumWidth(450) - - layout = QVBoxLayout(self) - layout.setSpacing(15) - layout.setContentsMargins(20, 20, 20, 20) + self.setWindowTitle('About YTSage') + self.setMinimumWidth(500) - # Title and Version - title_label = QLabel("

YTSage

") + layout = QVBoxLayout(self) + + # App title and version + title_label = QLabel("YTSage") + title_label.setStyleSheet(""" + font-size: 24px; + font-weight: bold; + color: #ff0000; + padding: 10px; + """) title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(title_label) - version_label = QLabel(f"Version: {getattr(self.parent, 'version', 'N/A')}") + version_label = QLabel(f"Version {parent.version}") version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - version_label.setStyleSheet("color: #cccccc;") layout.addWidget(version_label) # Description - description_label = QLabel("A simple GUI frontend for the powerful yt-dlp video downloader.") - description_label.setWordWrap(True) - description_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - description_label.setStyleSheet("color: #ffffff; padding-top: 10px;") - layout.addWidget(description_label) + description = QLabel( + "A modern YouTube downloader with a clean interface.\n" + "Download videos in any quality, extract audio, fetch subtitles,\n" + "and view video metadata. Built with yt-dlp for reliable performance." + ) + description.setWordWrap(True) + description.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(description) - # Separator - separator = QWidget() - separator.setFixedHeight(1) - separator.setStyleSheet("background-color: #1d1e22;") - layout.addWidget(separator) + # Features list + features_label = QLabel( + "Key Features:\n" + "• Smart video quality selection\n" + "• Audio extraction\n" + "• Subtitle support\n" + "• Playlist downloads\n" + "• Real-time progress tracking\n" + "• Custom command support\n" + "• SponsorBlock Integration\n" + "• Save Thumbnail\n" + "• One-click updates" + ) + features_label.setStyleSheet("padding: 10px;") + layout.addWidget(features_label) - # Information Section - info_layout = QVBoxLayout() - info_layout.setSpacing(8) + # Credits + credits_label = QLabel( + "Powered by:\n" + "• yt-dlp\n" + "• PySide6\n" + "• FFmpeg" + ) + credits_label.setStyleSheet("padding: 10px;") + layout.addWidget(credits_label) - # Author - author_label = QLabel("Created by: oop7") - author_label.setOpenExternalLinks(True) - info_layout.addWidget(author_label) + # GitHub link + github_btn = QPushButton("Visit GitHub Repository") + github_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/YTSage')) + layout.addWidget(github_btn) - # GitHub Repo - repo_label = QLabel("GitHub: github.com/oop7/YTSage") - repo_label.setOpenExternalLinks(True) - info_layout.addWidget(repo_label) + # Close button + close_btn = QPushButton("Close") + close_btn.clicked.connect(self.close) + layout.addWidget(close_btn) - # yt-dlp path - yt_dlp_path = get_yt_dlp_path() - yt_dlp_path_text = yt_dlp_path if yt_dlp_path else 'yt-dlp not found in PATH' - yt_dlp_label = QLabel(f"yt-dlp Path: {yt_dlp_path_text}") - yt_dlp_label.setWordWrap(True) - info_layout.addWidget(yt_dlp_label) - - # FFmpeg Status - ffmpeg_found = check_ffmpeg() - ffmpeg_status_text = "Detected" if ffmpeg_found else "Not Detected" - ffmpeg_label = QLabel(f"FFmpeg Status: {ffmpeg_status_text}") - info_layout.addWidget(ffmpeg_label) - - layout.addLayout(info_layout) - - # Close Button - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok) - button_box.accepted.connect(self.accept) - # Center the button box - button_layout = QHBoxLayout() - button_layout.addStretch() - button_layout.addWidget(button_box) - button_layout.addStretch() - layout.addLayout(button_layout) - - # Apply overall styling + # Style the dialog self.setStyleSheet(""" - QDialog { background-color: #15181b; color: #ffffff; } - QLabel { color: #cccccc; } + QDialog { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + font-size: 12px; + } QPushButton { - padding: 8px 25px; - background-color: #c90000; + padding: 8px 15px; + background-color: #ff0000; border: none; border-radius: 4px; color: white; font-weight: bold; } - QPushButton:hover { background-color: #a50000; } - """) - -# --- New Subtitle Selection Dialog --- -class SubtitleSelectionDialog(QDialog): - def __init__(self, available_manual, available_auto, previously_selected, parent=None): - super().__init__(parent) - self.setWindowTitle("Select Subtitles") - self.setMinimumWidth(400) - self.setMinimumHeight(300) - - self.available_manual = available_manual - self.available_auto = available_auto - self.previously_selected = set(previously_selected) # Use a set for quick lookups - self.selected_subtitles = list(previously_selected) # Initialize with previous selection - - layout = QVBoxLayout(self) - layout.setSpacing(10) - - # Filter input - self.filter_input = QLineEdit() - self.filter_input.setPlaceholderText("Filter languages (e.g., en, es)...") - self.filter_input.textChanged.connect(self.filter_list) - self.filter_input.setStyleSheet(""" - QLineEdit { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - min-height: 30px; - color: white; - } - QLineEdit:focus { - border-color: #ff0000; - } - """) - layout.addWidget(self.filter_input) - - # Scroll Area for the list - scroll_area = QScrollArea() - scroll_area.setWidgetResizable(True) - scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area - layout.addWidget(scroll_area) - - # Container widget for list items (needed for scroll area) - self.list_container = QWidget() - self.list_layout = QVBoxLayout(self.list_container) - self.list_layout.setContentsMargins(0, 0, 0, 0) - self.list_layout.setSpacing(2) # Compact spacing - self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top - scroll_area.setWidget(self.list_container) - - # Populate the list initially - self.populate_list() - - # OK and Cancel buttons - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - - # Style the buttons - for button in button_box.buttons(): - button.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 15px; /* Adjust padding */ - min-height: 30px; /* Ensure consistent height */ - color: white; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:pressed { - background-color: #555555; - } - """) - # Style the OK button specifically if needed - if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: - button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") - - - layout.addWidget(button_box) - - def populate_list(self, filter_text=""): - # Clear existing checkboxes from layout - while self.list_layout.count(): - item = self.list_layout.takeAt(0) - widget = item.widget() - if widget is not None: - widget.deleteLater() - - filter_text = filter_text.lower() - combined_subs = {} - - # Add manual subs - for lang_code, sub_info in self.available_manual.items(): - if not filter_text or filter_text in lang_code.lower(): - combined_subs[lang_code] = f"{lang_code} - Manual" - - # Add auto subs (only if no manual exists and matches filter) - for lang_code, sub_info in self.available_auto.items(): - if lang_code not in combined_subs: # Don't overwrite manual - if not filter_text or filter_text in lang_code.lower(): - combined_subs[lang_code] = f"{lang_code} - Auto-generated" - - if not combined_subs: - no_subs_label = QLabel("No subtitles available" + (f" matching '{filter_text}'" if filter_text else "")) - no_subs_label.setStyleSheet("color: #aaaaaa; padding: 10px;") - self.list_layout.addWidget(no_subs_label) - return - - # Sort by language code - sorted_lang_codes = sorted(combined_subs.keys()) - - for lang_code in sorted_lang_codes: - item_text = combined_subs[lang_code] - checkbox = QCheckBox(item_text) - checkbox.setProperty("subtitle_id", item_text) # Store the identifier - checkbox.setChecked(item_text in self.previously_selected) # Check if previously selected - checkbox.stateChanged.connect(self.update_selection) - checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 4px; /* Square checkboxes */ - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - } - """) - self.list_layout.addWidget(checkbox) - - self.list_layout.addStretch() # Pushes items up if list is short - - def filter_list(self): - self.populate_list(self.filter_input.text()) - - def update_selection(self, state): - sender = self.sender() - subtitle_id = sender.property("subtitle_id") - if state == Qt.CheckState.Checked.value: - if subtitle_id not in self.previously_selected: - self.previously_selected.add(subtitle_id) - else: - if subtitle_id in self.previously_selected: - self.previously_selected.remove(subtitle_id) - - def get_selected_subtitles(self): - # Return the final set as a list - return list(self.previously_selected) - - def accept(self): - # Update the final list before closing - self.selected_subtitles = self.get_selected_subtitles() - super().accept() - -# --- End Subtitle Selection Dialog --- - - -# --- Playlist Video Selection Dialog --- - -class PlaylistSelectionDialog(QDialog): - def __init__(self, playlist_entries, previously_selected_string, parent=None): - super().__init__(parent) - self.setWindowTitle("Select Playlist Videos") - self.setMinimumWidth(500) - self.setMinimumHeight(400) # Allow more vertical space - - self.playlist_entries = playlist_entries - self.checkboxes = [] - - # Main layout - main_layout = QVBoxLayout(self) - - # Top buttons (Select/Deselect All) - button_layout = QHBoxLayout() - select_all_btn = QPushButton("Select All") - deselect_all_btn = QPushButton("Deselect All") - select_all_btn.clicked.connect(self._select_all) - deselect_all_btn.clicked.connect(self._deselect_all) - # Style the buttons to match the subtitle dialog - select_all_btn.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 15px; - min-height: 30px; - color: white; - } QPushButton:hover { - background-color: #444444; + background-color: #cc0000; } - QPushButton:pressed { - background-color: #555555; - } - """) - deselect_all_btn.setStyleSheet(select_all_btn.styleSheet()) - button_layout.addWidget(select_all_btn) - button_layout.addWidget(deselect_all_btn) - button_layout.addStretch() - main_layout.addLayout(button_layout) - - # Scrollable area for checkboxes - scroll_area = QScrollArea() - scroll_area.setWidgetResizable(True) - scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area - scroll_widget = QWidget() - self.list_layout = QVBoxLayout(scroll_widget) # Layout for checkboxes - self.list_layout.setContentsMargins(0, 0, 0, 0) - self.list_layout.setSpacing(2) # Compact spacing - self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top - scroll_area.setWidget(scroll_widget) - main_layout.addWidget(scroll_area) - - # Populate checkboxes - self._populate_list(previously_selected_string) - - # Dialog buttons (OK/Cancel) - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - - # Style the buttons to match subtitle dialog - for button in button_box.buttons(): - button.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 15px; - min-height: 30px; - color: white; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:pressed { - background-color: #555555; - } - """) - # Style the OK button specifically if needed - if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: - button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") - - main_layout.addWidget(button_box) - - # Apply styling to match subtitle dialog - self.setStyleSheet(""" - QDialog { background-color: #15181b; } - QCheckBox { - color: #ffffff; - padding: 5px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 4px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - } - QWidget { background-color: #15181b; } - """) - - def _parse_selection_string(self, selection_string): - """Parses a yt-dlp playlist selection string (e.g., '1-3,5,7-9') into a set of 1-based indices.""" - selected_indices = set() - if not selection_string: - # If no previous selection, assume all are selected initially - return set(range(1, len(self.playlist_entries) + 1)) - - parts = selection_string.split(',') - for part in parts: - part = part.strip() - if '-' in part: - try: - start, end = map(int, part.split('-')) - if start <= end: - selected_indices.update(range(start, end + 1)) - except ValueError: - pass # Ignore invalid ranges - else: - try: - selected_indices.add(int(part)) - except ValueError: - pass # Ignore invalid numbers - return selected_indices - - def _populate_list(self, previously_selected_string): - """Populates the scroll area with checkboxes for each video.""" - selected_indices = self._parse_selection_string(previously_selected_string) - - # Clear existing checkboxes if any (e.g., if repopulating) - while self.list_layout.count(): - child = self.list_layout.takeAt(0) - if child.widget(): - child.widget().deleteLater() - self.checkboxes.clear() - - for index, entry in enumerate(self.playlist_entries): - if not entry: continue # Skip None entries if yt-dlp returns them - - video_index = index + 1 # yt-dlp uses 1-based indexing - title = entry.get('title', f'Video {video_index}') - # Shorten title if too long - display_title = (title[:70] + '...') if len(title) > 73 else title - - checkbox = QCheckBox(f"{video_index}. {display_title}") - checkbox.setChecked(video_index in selected_indices) - checkbox.setProperty("video_index", video_index) # Store index - checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 4px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - } - """) - self.list_layout.addWidget(checkbox) - self.checkboxes.append(checkbox) - self.list_layout.addStretch() # Push checkboxes to the top - - def _select_all(self): - for checkbox in self.checkboxes: - checkbox.setChecked(True) - - def _deselect_all(self): - for checkbox in self.checkboxes: - checkbox.setChecked(False) - - def _condense_indices(self, indices): - """Condenses a list of 1-based indices into a yt-dlp selection string.""" - if not indices: - return "" - indices = sorted(list(set(indices))) - if not indices: # Check again after sorting/set conversion - return "" - - ranges = [] - start = indices[0] - end = indices[0] - for i in range(1, len(indices)): - if indices[i] == end + 1: - end = indices[i] - else: - if start == end: - ranges.append(str(start)) - else: - ranges.append(f"{start}-{end}") - start = indices[i] - end = indices[i] - # Add the last range - if start == end: - ranges.append(str(start)) - else: - ranges.append(f"{start}-{end}") - return ",".join(ranges) - - def get_selected_items_string(self): - """Returns the selection string based on checked boxes.""" - selected_indices = [ - cb.property("video_index") for cb in self.checkboxes if cb.isChecked() - ] - - # Check if all items are selected - if len(selected_indices) == len(self.playlist_entries): - return None # yt-dlp default is all items, so return None or empty string - - return self._condense_indices(selected_indices) - - # Optional: Override accept to ensure the string is generated, although not strictly necessary - # def accept(self): - # self._selected_string = self.get_selected_items_string() - # super().accept() - -# --- End Playlist Video Selection Dialog --- - -class CookieLoginDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('Login with Cookies') - self.setMinimumSize(400, 150) - - layout = QVBoxLayout(self) - - help_text = QLabel( - "Select the Netscape-format cookies file for logging in.\n" - "This allows downloading of private videos and premium quality audio." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - layout.addWidget(help_text) - - # File path input and browse button - path_layout = QHBoxLayout() - self.cookie_path_input = QLineEdit() - self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") - path_layout.addWidget(self.cookie_path_input) - - self.browse_button = QPushButton("Browse") - self.browse_button.clicked.connect(self.browse_cookie_file) - path_layout.addWidget(self.browse_button) - - layout.addLayout(path_layout) - - # Dialog buttons - button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - layout.addWidget(button_box) - - def browse_cookie_file(self): - # Open file dialog to select cookie file - file_dialog = QFileDialog(self) - file_dialog.setFileMode(QFileDialog.ExistingFile) - file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Assuming common cookie file extensions - if file_dialog.exec(): - selected_files = file_dialog.selectedFiles() - if selected_files: - self.cookie_path_input.setText(selected_files[0]) - - def get_cookie_file_path(self): - # Return the selected cookie file path - return self.cookie_path_input.text() - -# === Renamed Dialog: Download Settings === -class DownloadSettingsDialog(QDialog): # Renamed class - def __init__(self, current_path, current_limit, current_unit_index, parent=None): # Added limit params - super().__init__(parent) - self.setWindowTitle("Download Settings") # Renamed window - self.setMinimumWidth(450) - self.current_path = current_path - self.current_limit = current_limit if current_limit is not None else "" # Handle None - self.current_unit_index = current_unit_index - - layout = QVBoxLayout(self) - - # --- Download Path Section --- - path_group_box = QGroupBox("Download Path") - path_layout = QVBoxLayout() - - self.path_display = QLabel(self.current_path) - self.path_display.setWordWrap(True) - self.path_display.setStyleSheet("QLabel { color: #cccccc; padding: 5px; border: 1px solid #3d3d3d; border-radius: 4px; background-color: #363636; }") - path_layout.addWidget(self.path_display) - - browse_button = QPushButton("Browse...") - browse_button.clicked.connect(self.browse_new_path) - path_layout.addWidget(browse_button) - - path_group_box.setLayout(path_layout) - layout.addWidget(path_group_box) - # --- End Path Section --- - - # --- Speed Limit Section --- - speed_group_box = QGroupBox("Speed Limit") - speed_layout = QHBoxLayout() - - self.speed_limit_input = QLineEdit(str(self.current_limit)) # Set initial value - self.speed_limit_input.setPlaceholderText("None") - speed_layout.addWidget(self.speed_limit_input) - - self.speed_limit_unit = QComboBox() - self.speed_limit_unit.addItems(["KB/s", "MB/s"]) - self.speed_limit_unit.setCurrentIndex(self.current_unit_index) # Set initial unit - speed_layout.addWidget(self.speed_limit_unit) - - speed_group_box.setLayout(speed_layout) - layout.addWidget(speed_group_box) - # --- End Speed Limit Section --- - - # Dialog buttons (OK/Cancel) - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - layout.addWidget(button_box) - - def browse_new_path(self): - new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.current_path) - if new_path: - self.current_path = new_path - self.path_display.setText(self.current_path) - - def get_selected_path(self): - """Returns the confirmed path after the dialog is accepted.""" - return self.current_path - - def get_selected_speed_limit(self): - """Returns the entered speed limit value (as string or None).""" - limit_str = self.speed_limit_input.text().strip() - if not limit_str: - return None - # Optional: Add validation to ensure it's a number - try: - float(limit_str) # Check if convertible to float - return limit_str - except ValueError: - # Handle error? Or just return None? Returning None for simplicity. - print("Invalid speed limit input in dialog") - return None # Or raise an error / show message - - def get_selected_unit_index(self): - """Returns the index of the selected speed limit unit.""" - return self.speed_limit_unit.currentIndex() \ No newline at end of file + """) \ No newline at end of file diff --git a/ytsage_gui_format_table.py b/ytsage_gui_format_table.py index 5f05fb6..d5b538d 100644 --- a/ytsage_gui_format_table.py +++ b/ytsage_gui_format_table.py @@ -19,9 +19,6 @@ class FormatTableMixin: self.format_table.setColumnCount(8) self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) - # Enable alternating row colors - self.format_table.setAlternatingRowColors(True) - # Set specific column widths and resize modes self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) # Select self.format_table.setColumnWidth(0, 50) # Select column width @@ -54,32 +51,25 @@ class FormatTableMixin: self.format_table.setStyleSheet(""" QTableWidget { - background-color: #1b2021; - border: 2px solid #1b2021; + background-color: #363636; + border: 2px solid #3d3d3d; border-radius: 4px; - gridline-color: #1b2021; + gridline-color: #3d3d3d; } QTableWidget::item { padding: 5px; - border-bottom: 1px solid #1b2021; + border-bottom: 1px solid #3d3d3d; } QTableWidget::item:selected { background-color: transparent; } QHeaderView::section { - background-color: #15181b; + background-color: #2b2b2b; padding: 5px; - border: 1px solid #1b2021; + border: 1px solid #3d3d3d; font-weight: bold; color: white; } - /* Style alternating rows with more contrast */ - QTableWidget::item:alternate { - background-color: #212529; - } - QTableWidget::item { - background-color: #16191b; - } QCheckBox::indicator { width: 16px; height: 16px; @@ -87,11 +77,11 @@ class FormatTableMixin: } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #15181b; + background: #2b2b2b; } QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; + border: 2px solid #ff0000; + background: #ff0000; } QWidget { background-color: transparent; @@ -155,66 +145,21 @@ class FormatTableMixin: def _update_format_table(self, formats): self.format_table.setRowCount(0) self.format_checkboxes.clear() - - is_playlist_mode = hasattr(self, 'is_playlist') and self.is_playlist - - # Configure columns based on mode - if is_playlist_mode: - self.format_table.setColumnCount(5) - self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Resolution', 'Notes', 'Audio']) - - # Configure column visibility and resizing for playlist mode - self.format_table.setColumnHidden(5, True) - self.format_table.setColumnHidden(6, True) - self.format_table.setColumnHidden(7, True) - - # Set specific resize modes for playlist columns - self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(0, 50) - self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch) - self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) - self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Stretch) - self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Stretch) - - else: - self.format_table.setColumnCount(8) - self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) - # Ensure all columns are visible - for i in range(2, 8): - self.format_table.setColumnHidden(i, False) - - # Reapply resize modes for non-playlist mode if needed (optional, might be okay without) - self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(0, 50) - self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(1, 100) - self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(2, 80) - self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(3, 100) - self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(4, 100) - self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(5, 150) - self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(6, 120) - self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) - - - # Find best quality format for recommendations (only needed for non-playlist mode notes) - best_video_size = 0 - if not is_playlist_mode: - best_video_size = max((f.get('filesize', 0) for f in formats if f.get('vcodec') != 'none'), default=0) + + # Find best quality format for recommendations + best_video_size = max((f.get('filesize', 0) for f in formats if f.get('vcodec') != 'none'), default=0) for f in formats: row = self.format_table.rowCount() self.format_table.insertRow(row) - # Column 0: Select Checkbox (Always shown) + # Add checkbox checkbox = QCheckBox() checkbox.format_id = str(f.get('format_id', '')) checkbox.clicked.connect(lambda checked, cb=checkbox: self.handle_checkbox_click(cb)) self.format_checkboxes.append(checkbox) + + # Create a widget to center the checkbox checkbox_widget = QWidget() checkbox_widget.setStyleSheet("background-color: transparent;") checkbox_layout = QHBoxLayout(checkbox_widget) @@ -224,7 +169,7 @@ class FormatTableMixin: checkbox_layout.setSpacing(0) self.format_table.setCellWidget(row, 0, checkbox_widget) - # Column 1: Quality (Always shown) + # Quality (replacing Format ID) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) # Set color based on quality @@ -238,73 +183,46 @@ class FormatTableMixin: quality_item.setForeground(QColor('#ff5555')) # Red for low quality self.format_table.setItem(row, 1, quality_item) - # --- Populate columns common to both modes (Moved outside the 'if not is_playlist_mode' block) --- - - # Column 2: Resolution (Always shown) + # Extension + self.format_table.setItem(row, 2, QTableWidgetItem(f.get('ext', '').upper())) + + # Resolution resolution = f.get('resolution', 'N/A') if f.get('vcodec') == 'none': resolution = 'Audio only' - self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) - - # Column 3: Notes for playlist mode, Extension for normal mode - if is_playlist_mode: - # Get notes for playlist mode - notes = self.get_format_notes(f, 0) # We don't need best_video_size for simple notes - notes_item = QTableWidgetItem(notes) - if "✨ Recommended" in notes: - notes_item.setForeground(QColor('#00ff00')) # Green for recommended - elif "💾 Storage friendly" in notes: - notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly - elif "📱 Mobile friendly" in notes: - notes_item.setForeground(QColor('#ff9900')) # Orange for mobile - self.format_table.setItem(row, 3, notes_item) + self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) + + # File Size + filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" + self.format_table.setItem(row, 4, QTableWidgetItem(filesize)) + + # Codec + if f.get('vcodec') == 'none': + codec = f.get('acodec', 'N/A') else: - # Extension for normal mode (column 2) - self.format_table.setItem(row, 2, QTableWidgetItem(f.get('ext', '').upper())) - - # Column 4 in playlist mode, Column 6 in normal mode: Audio Status - needs_audio = f.get('acodec') == 'none' and f.get('vcodec') != 'none' # Only mark video-only as needing merge - audio_status = "Will merge audio" if needs_audio else ("✓ Has Audio" if f.get('vcodec') != 'none' else "Audio Only") + codec = f"{f.get('vcodec', 'N/A')}" + if f.get('acodec') != 'none': + codec += f" / {f.get('acodec', 'N/A')}" + self.format_table.setItem(row, 5, QTableWidgetItem(codec)) + + # Audio Status + needs_audio = f.get('acodec') == 'none' + audio_status = "Will merge audio" if needs_audio else "✓ Has Audio" audio_item = QTableWidgetItem(audio_status) if needs_audio: audio_item.setForeground(QColor('#ffa500')) - elif audio_status == "Audio Only": - audio_item.setForeground(QColor('#cccccc')) # Neutral color for audio only - else: # Has Audio (Video+Audio) - audio_item.setForeground(QColor('#00cc00')) # Green for included audio - # Set item for correct column based on mode - audio_column_index = 4 if is_playlist_mode else 6 - self.format_table.setItem(row, audio_column_index, audio_item) + self.format_table.setItem(row, 6, audio_item) - - # --- Populate columns only shown in non-playlist mode --- - if not is_playlist_mode: - # Column 3: Resolution - self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) - - # Column 4: File Size - filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" - self.format_table.setItem(row, 4, QTableWidgetItem(filesize)) - - # Column 5: Codec - if f.get('vcodec') == 'none': - codec = f.get('acodec', 'N/A') - else: - codec = f"{f.get('vcodec', 'N/A')}" - if f.get('acodec') != 'none': - codec += f" / {f.get('acodec', 'N/A')}" - self.format_table.setItem(row, 5, QTableWidgetItem(codec)) - - # Column 7: Notes - notes = self.get_format_notes(f, best_video_size) - notes_item = QTableWidgetItem(notes) - if "✨ Recommended" in notes: - notes_item.setForeground(QColor('#00ff00')) # Green for recommended - elif "💾 Storage friendly" in notes: - notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly - elif "📱 Mobile friendly" in notes: - notes_item.setForeground(QColor('#ff9900')) # Orange for mobile - self.format_table.setItem(row, 7, notes_item) + # Add Notes column + notes = self.get_format_notes(f, best_video_size) + notes_item = QTableWidgetItem(notes) + if "✨ Recommended" in notes: + notes_item.setForeground(QColor('#00ff00')) # Green for recommended + elif "💾 Storage friendly" in notes: + notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly + elif "📱 Mobile friendly" in notes: + notes_item.setForeground(QColor('#ff9900')) # Orange for mobile + self.format_table.setItem(row, 7, notes_item) def handle_checkbox_click(self, clicked_checkbox): for checkbox in self.format_checkboxes: diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py index 6b8001b..898b096 100644 --- a/ytsage_gui_main.py +++ b/ytsage_gui_main.py @@ -4,9 +4,8 @@ import webbrowser from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QMessageBox, QListWidget, - QListWidgetItem, QDialogButtonBox, QScrollArea) -from PySide6.QtCore import Qt, Signal, QObject, QThread, QMetaObject, Q_ARG, QProcess, Slot + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QMessageBox) +from PySide6.QtCore import Qt, Signal, QObject, QThread, QMetaObject, Q_ARG, QProcess from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import requests from io import BytesIO @@ -18,14 +17,10 @@ from packaging import version import subprocess import re import yt_dlp -import markdown from ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions -from ytsage_gui_dialogs import (LogWindow, CustomCommandDialog, FFmpegCheckDialog, - YTDLPUpdateDialog, AboutDialog, SubtitleSelectionDialog, - PlaylistSelectionDialog, CookieLoginDialog, - DownloadSettingsDialog) # <-- Use renamed dialog +from ytsage_gui_dialogs import LogWindow, CustomCommandDialog, FFmpegCheckDialog, YTDLPUpdateDialog, AboutDialog # Import dialogs from ytsage_gui_format_table import FormatTableMixin # Import FormatTableMixin from ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin @@ -36,17 +31,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if not check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "4.5.0" + self.version = "4.2.1" self.check_for_updates() self.config_file = Path.home() / '.ytsage_config.json' load_saved_path(self) - # Load custom icon - icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') - if os.path.exists(icon_path): - self.setWindowIcon(QIcon(icon_path)) - else: - print(f"Warning: Icon file not found at {icon_path}. Using default icon.") - self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) # Fallback + self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) self.signals = SignalManager() self.download_paused = False self.current_download = None @@ -59,67 +48,60 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.is_playlist = False self.playlist_info = None self.video_info = None - self.playlist_entries = [] # Initialize playlist entries - self.selected_playlist_items = None # Initialize selection string - self.save_description = False # Initialize description state self.subtitle_filter = "" self.thumbnail_image = None self.video_url = "" - self.selected_subtitles = [] # Initialize selected subtitles list - self.cookie_file_path = None # Initialize cookie file path - self.speed_limit_value = None # Store speed limit value - self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.init_ui() self.setStyleSheet(""" QMainWindow { - background-color: #15181b; + background-color: #2b2b2b; } QWidget { - background-color: #15181b; + background-color: #2b2b2b; color: #ffffff; } QLineEdit { padding: 8px; - border: 2px solid #1b2021; + border: 2px solid #3d3d3d; border-radius: 4px; - background-color: #1b2021; + background-color: #363636; color: #ffffff; } QPushButton { padding: 8px 15px; - background-color: #c90000; + background-color: #ff0000; /* YouTube red */ border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:hover { - background-color: #a50000; + background-color: #cc0000; /* Darker red on hover */ } QPushButton:pressed { - background-color: #800000; + background-color: #990000; /* Even darker red when pressed */ } QTableWidget { - border: 2px solid #1b2021; + border: 2px solid #3d3d3d; border-radius: 4px; - background-color: #1b2021; - gridline-color: #1b2021; + background-color: #363636; + gridline-color: #3d3d3d; } QHeaderView::section { - background-color: #15181b; + background-color: #2b2b2b; padding: 5px; - border: 1px solid #1b2021; + border: 1px solid #3d3d3d; color: #ffffff; } QProgressBar { - border: 2px solid #1b2021; + border: 2px solid #3d3d3d; border-radius: 4px; text-align: center; color: white; } QProgressBar::chunk { - background-color: #c90000; + background-color: #ff0000; /* YouTube red */ border-radius: 2px; } QLabel { @@ -127,23 +109,23 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } /* Style for filter buttons */ QPushButton.filter-btn { - background-color: #1b2021; + background-color: #363636; padding: 5px 10px; margin: 0 5px; } QPushButton.filter-btn:checked { - background-color: #c90000; + background-color: #ff0000; } QPushButton.filter-btn:hover { background-color: #444444; } QPushButton.filter-btn:checked:hover { - background-color: #a50000; + background-color: #cc0000; } /* Modern Scrollbar Styling */ QScrollBar:vertical { border: none; - background: #15181b; + background: #2b2b2b; width: 14px; margin: 15px 0 15px 0; border-radius: 7px; @@ -158,7 +140,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::sub-line:vertical { border: none; - background: #15181b; + background: #2b2b2b; height: 15px; border-top-left-radius: 7px; border-top-right-radius: 7px; @@ -167,7 +149,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::add-line:vertical { border: none; - background: #15181b; + background: #2b2b2b; height: 15px; border-bottom-left-radius: 7px; border-bottom-right-radius: 7px; @@ -189,7 +171,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m /* Horizontal Scrollbar */ QScrollBar:horizontal { border: none; - background: #15181b; + background: #2b2b2b; height: 14px; margin: 0 15px 0 15px; border-radius: 7px; @@ -204,7 +186,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::sub-line:horizontal { border: none; - background: #15181b; + background: #2b2b2b; width: 15px; border-top-left-radius: 7px; border-bottom-left-radius: 7px; @@ -213,7 +195,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::add-line:horizontal { border: none; - background: #15181b; + background: #2b2b2b; width: 15px; border-top-right-radius: 7px; border-bottom-right-radius: 7px; @@ -235,17 +217,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m """) self.signals.update_progress.connect(self.update_progress_bar) - # After adding format buttons - self.video_button.clicked.connect(self.filter_formats) # Connect video button - self.audio_button.clicked.connect(self.filter_formats) # Connect audio button - - # Add connections to handle video/audio mode-specific controls - self.video_button.clicked.connect(self.handle_mode_change) - self.audio_button.clicked.connect(self.handle_mode_change) - - # Initialize UI state based on current mode - self.handle_mode_change() - def load_saved_path(self): # Using function from ytsage_utils now - no longer needed in class pass # Handled in class init now via ytsage_utils.load_saved_path(self) @@ -253,8 +224,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.5.0') - self.setMinimumSize(900, 750) + self.setWindowTitle('YTSage v4.2.1') + self.setMinimumSize(900, 650) # Main widget and layout main_widget = QWidget() @@ -266,62 +237,39 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # URL input section url_layout = QHBoxLayout() self.url_input = QLineEdit() - self.url_input.setPlaceholderText("Enter YouTube video or playlist URL") - self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key + self.url_input.setPlaceholderText('Enter YouTube URL...') - self.analyze_button = QPushButton("Analyze") - self.analyze_button.clicked.connect(self.analyze_url) + # Add Paste URL button + self.paste_btn = QPushButton('Paste URL') + self.paste_btn.clicked.connect(self.paste_url) - self.paste_button = QPushButton("Paste URL") - self.paste_button.clicked.connect(self.paste_url) - - url_layout.addWidget(self.url_input, 1) - url_layout.addWidget(self.paste_button) - url_layout.addWidget(self.analyze_button) + self.analyze_btn = QPushButton('Analyze') + self.analyze_btn.clicked.connect(self.analyze_url) + url_layout.addWidget(self.url_input) + url_layout.addWidget(self.paste_btn) + url_layout.addWidget(self.analyze_btn) layout.addLayout(url_layout) - # Video info container + # Video info container with smaller fixed height video_info_container = QWidget() + video_info_container.setFixedHeight(220) video_info_layout = QVBoxLayout(video_info_container) video_info_layout.setSpacing(5) video_info_layout.setContentsMargins(0, 0, 0, 0) - # Add media info layout (Thumbnail | Video Details) + # Add media info layout media_info_layout = self.setup_video_info_section() video_info_layout.addLayout(media_info_layout) + # Add playlist info with minimal height + self.playlist_info_label = self.setup_playlist_info_section() + self.playlist_info_label.setMaximumHeight(30) + video_info_layout.addWidget(self.playlist_info_label) + # Add video info container to main layout layout.addWidget(video_info_container) - # --- Add Playlist Info Section Directly to Main Layout --- - # Add playlist info label (initially hidden) - self.playlist_info_label = self.setup_playlist_info_section() - layout.addWidget(self.playlist_info_label) - - # Add playlist selection BUTTON (initially hidden) - REPLACED QLineEdit - self.playlist_select_btn = QPushButton("Select Videos...") - self.playlist_select_btn.clicked.connect(self.open_playlist_selection_dialog) - self.playlist_select_btn.setVisible(False) - self.playlist_select_btn.setStyleSheet(""" - QPushButton { - padding: 6px 12px; - background-color: #1d1e22; - border: 1px solid #c90000; - border-radius: 4px; - color: white; - font-weight: normal; - text-align: left; - padding-left: 10px; - } - QPushButton:hover { - background-color: #2a2d36; - border-color: #a50000; - } - """) - layout.addWidget(self.playlist_select_btn) - # --- End Playlist Info Section --- - # Format controls section with minimal spacing layout.addSpacing(5) @@ -344,20 +292,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.video_button.setStyleSheet(""" QPushButton { padding: 8px 15px; - background-color: #1d1e22; + background-color: #363636; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:checked { - background-color: #c90000; + background-color: #ff0000; } QPushButton:hover { - background-color: #2a2d36; + background-color: #444444; } QPushButton:checked:hover { - background-color: #a50000; + background-color: #cc0000; } """) self.format_buttons.addButton(self.video_button) @@ -369,55 +317,27 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.audio_button.setStyleSheet(""" QPushButton { padding: 8px 15px; - background-color: #1d1e22; + background-color: #363636; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:checked { - background-color: #c90000; + background-color: #ff0000; } QPushButton:hover { - background-color: #2a2d36; + background-color: #444444; } QPushButton:checked:hover { - background-color: #a50000; + background-color: #cc0000; } """) self.format_buttons.addButton(self.audio_button) self.format_layout.addWidget(self.audio_button) - # Add Merge Subtitles checkbox (Moved here) - self.merge_subs_checkbox = QCheckBox("Merge Subtitles") - self.merge_subs_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; /* Consistent margin */ - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #1d1e22; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 9px; - } - /* Add disabled state styling if needed */ - QCheckBox:disabled { color: #888888; } - QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """) - # Initially disable it, will be enabled if subtitles are selected later - self.merge_subs_checkbox.setEnabled(False) - self.format_layout.addWidget(self.merge_subs_checkbox) + # Connect format buttons + self.format_buttons.buttonClicked.connect(self.handle_format_selection) # Add SponsorBlock checkbox self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") @@ -425,7 +345,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QCheckBox { color: #ffffff; padding: 5px; - margin-left: 20px; /* Consistent margin */ + margin-left: 20px; } QCheckBox::indicator { width: 18px; @@ -434,55 +354,45 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #1d1e22; + background: #2b2b2b; border-radius: 9px; } QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; + border: 2px solid #ff0000; + background: #ff0000; border-radius: 9px; } """) self.format_layout.addWidget(self.sponsorblock_checkbox) - # Add Save Thumbnail Checkbox (Moved here) + # Add Save Thumbnail checkbox with same style as SponsorBlock self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") - self.save_thumbnail_checkbox.setChecked(False) - self.save_thumbnail_checkbox.stateChanged.connect(self.toggle_save_thumbnail) self.save_thumbnail_checkbox.setStyleSheet(""" QCheckBox { color: #ffffff; padding: 5px; margin-left: 20px; } - QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } - QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } - QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } - QCheckBox:disabled { color: #888888; } - QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; + } """) + self.save_thumbnail_checkbox.clicked.connect(self.toggle_save_thumbnail) self.format_layout.addWidget(self.save_thumbnail_checkbox) - # Add Save Description Checkbox (Moved here) - self.save_description_checkbox = QCheckBox("Save Description") - self.save_description_checkbox.setChecked(False) - self.save_description_checkbox.stateChanged.connect(self.toggle_save_description) - self.save_description_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } - QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } - QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } - QCheckBox:disabled { color: #888888; } - QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """) - self.format_layout.addWidget(self.save_description_checkbox) - self.format_layout.addStretch() - layout.addLayout(self.format_layout) # Format table with stretch @@ -496,21 +406,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.custom_cmd_btn = QPushButton('Custom Command') self.custom_cmd_btn.clicked.connect(self.show_custom_command) - # New button for cookie login - self.cookie_login_button = QPushButton("Login with Cookies") - self.cookie_login_button.clicked.connect(self.show_cookie_login_dialog) # Connect to a new method - self.update_ytdlp_btn = QPushButton('Update yt-dlp') self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) self.about_btn = QPushButton('About') self.about_btn.clicked.connect(self.show_about_dialog) - # --- Rename Path Button to Settings Button --- - self.settings_button = QPushButton("Download Settings") # Renamed button - self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method - self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: None") # Update initial tooltip - # --- End Settings Button --- + self.path_input = QLineEdit(self.last_path) + self.path_input.setPlaceholderText('Download path...') + + self.browse_btn = QPushButton('Browse') + self.browse_btn.clicked.connect(self.browse_path) self.download_btn = QPushButton('Download') self.download_btn.clicked.connect(self.start_download) @@ -526,10 +432,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Add all buttons to layout in the correct order download_layout.addWidget(self.custom_cmd_btn) - download_layout.addWidget(self.cookie_login_button) download_layout.addWidget(self.update_ytdlp_btn) download_layout.addWidget(self.about_btn) - download_layout.addWidget(self.settings_button) + download_layout.addWidget(self.path_input) + download_layout.addWidget(self.browse_btn) download_layout.addWidget(self.download_btn) download_layout.addWidget(self.pause_btn) download_layout.addWidget(self.cancel_btn) @@ -585,6 +491,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.signals.update_status.connect(self.status_label.setText) self.signals.update_progress.connect(self.update_progress_bar) + # After adding format buttons + self.video_button.clicked.connect(self.filter_formats) # Connect video button + self.audio_button.clicked.connect(self.filter_formats) # Connect audio button + def analyze_url(self): url = self.url_input.text().strip() if not url: @@ -597,17 +507,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def _analyze_url_thread(self, url): try: - self.signals.update_status.emit("Analyzing (15%)... Extracting basic info") + self.signals.update_status.emit("Analyzing (20%)... Extracting basic info") # Clean up the URL to handle both playlist and video URLs if 'list=' in url and 'watch?v=' in url: playlist_id = url.split('list=')[1].split('&')[0] url = f'https://www.youtube.com/playlist?list={playlist_id}' - # Initial extraction with basic options - suppress warnings here too + # Initial extraction with basic options ydl_opts = { 'quiet': False, - 'no_warnings': True, # <-- Suppress warnings for initial check + 'no_warnings': False, 'extract_flat': True, 'force_generic_extractor': False, 'ignoreerrors': True, @@ -615,10 +525,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m 'verbose': True } - # Add cookies argument if cookie file path is set - if self.cookie_file_path: - ydl_opts['cookiefile'] = self.cookie_file_path - with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: basic_info = ydl.extract_info(url, download=False) @@ -628,10 +534,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m print(f"First extraction failed: {str(e)}") raise Exception("Could not extract video information, please check your link") - self.signals.update_status.emit("Analyzing (30%)... Extracting detailed info") - # Configure options for detailed extraction (keep other options) - # Add no_warnings here as well, as this is where detailed info is fetched - ydl_opts_detail = { + self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") + # Configure options for detailed extraction + ydl_opts.update({ 'extract_flat': False, 'format': None, 'writesubtitles': True, @@ -640,122 +545,75 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m 'playliststart': 1, 'playlistend': 1, 'youtube_include_dash_manifest': True, - 'youtube_include_hls_manifest': True, - 'no_warnings': True # <-- Add flag here for detailed extraction - } + 'youtube_include_hls_manifest': True + }) - # Add cookies argument if cookie file path is set - if self.cookie_file_path: - ydl_opts_detail['cookiefile'] = self.cookie_file_path - - # Use a separate options dict for the detailed extraction - with yt_dlp.YoutubeDL(ydl_opts_detail) as ydl_detail: + with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: - self.signals.update_status.emit("Analyzing (45%)... Processing video data") + self.signals.update_status.emit("Analyzing (60%)... Processing video data") if basic_info.get('_type') == 'playlist': self.is_playlist = True self.playlist_info = basic_info - self.selected_playlist_items = None # Reset selection for new playlist - self.playlist_entries = [entry for entry in basic_info.get('entries', []) if entry] # Store entries - - # Ensure there are entries before proceeding - if not self.playlist_entries: - raise Exception("Playlist contains no valid videos.") - - # Extract detailed info for the FIRST video in the playlist - # This provides formats/subs for the UI, assuming consistency - first_video_url = self.playlist_entries[0].get('url') - if not first_video_url: - raise Exception("Could not get URL for the first playlist video.") - try: - # Use the ydl_detail instance with no_warnings - self.video_info = ydl_detail.extract_info(first_video_url, download=False) - except Exception as first_video_error: - raise Exception(f"Failed to extract info for the first playlist video: {first_video_error}") - - # Update playlist info label text (remains the same) - playlist_text = (f"Playlist: {basic_info.get('title', 'Unknown Playlist')} | " - f"{len(self.playlist_entries)} videos") # Simplified label + + # Store all playlist entries + self.playlist_entries = [entry for entry in basic_info['entries'] if entry] + + # Update playlist info text + playlist_text = (f"Playlist: {basic_info.get('title', 'Unknown')} | " + f"{len(self.playlist_entries)} videos | " + f"Enter video numbers (e.g. 1-5,7,9-11)") QMetaObject.invokeMethod( - self.playlist_info_label, "setText", Qt.ConnectionType.QueuedConnection, + self.playlist_info_label, + "setText", + Qt.ConnectionType.QueuedConnection, Q_ARG(str, playlist_text) ) QMetaObject.invokeMethod( - self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, + self.playlist_info_label, + "setVisible", + Qt.ConnectionType.QueuedConnection, Q_ARG(bool, True) ) - # Show playlist selection BUTTON + # Show playlist selection input QMetaObject.invokeMethod( - self, # Target object is the YTSageApp instance - 'update_playlist_button_text', # Name of the slot + self.playlist_selection_input, + "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, "Select Videos... (All selected)") # Argument for the slot - ) - QMetaObject.invokeMethod( - self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, True) ) - else: # Single video + else: self.is_playlist = False - # Use ydl_detail instance here too for consistency - self.video_info = ydl_detail.extract_info(url, download=False) - self.playlist_entries = [] # Clear entries - self.selected_playlist_items = None # Clear selection - - # Hide playlist info label and button - QMetaObject.invokeMethod( - self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, False) - ) - QMetaObject.invokeMethod( - self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, False) - ) + self.video_info = ydl.extract_info(url, download=False) + self.playlist_info_label.setVisible(False) # Verify we have format information if not self.video_info or 'formats' not in self.video_info: print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") raise Exception("No format information available") - self.signals.update_status.emit("Analyzing (60%)... Processing formats") + self.signals.update_status.emit("Analyzing (80%)... Processing formats") self.all_formats = self.video_info['formats'] # Update UI self.update_video_info(self.video_info) # Update thumbnail - self.signals.update_status.emit("Analyzing (75%)... Loading thumbnail") - thumbnail_url = None - if self.is_playlist: - # Try to get thumbnail from playlist info first - thumbnail_url = self.playlist_info.get('thumbnail') - - # Fallback to video thumbnail if playlist thumbnail not found or not a playlist - if not thumbnail_url: - thumbnail_url = self.video_info.get('thumbnail') - - self.download_thumbnail(thumbnail_url) + self.signals.update_status.emit("Analyzing (90%)... Loading thumbnail") + self.download_thumbnail(self.video_info.get('thumbnail')) # Save thumbnail if enabled - use the stored VIDEO URL if self.save_thumbnail: self.download_thumbnail_file(self.video_url, self.path_input.text()) - # --- Subtitle Handling --- - self.signals.update_status.emit("Analyzing (85%)... Processing subtitles") - # Clear previous selections when analyzing a new video - self.selected_subtitles = [] + # Update subtitles + self.signals.update_status.emit("Analyzing (95%)... Processing subtitles") self.available_subtitles = self.video_info.get('subtitles', {}) self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) - # Update the UI elements related to subtitle selection state - QMetaObject.invokeMethod(self.selected_subs_label, "setText", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "0 selected")) - # QMetaObject.invokeMethod(self.subtitle_select_btn, "setProperty", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "subtitlesSelected"), Q_ARG(bool, False)) # <-- COMMENT OUT THIS LINE - # REMOVE the merge_subs_checkbox update call from here - # QMetaObject.invokeMethod(self.merge_subs_checkbox, "setEnabled", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) - + self.update_subtitle_list() # Update format table - self.signals.update_status.emit("Analyzing (95%)... Updating format table") + self.signals.update_status.emit("Analyzing (98%)... Updating format table") self.video_button.setChecked(True) self.audio_button.setChecked(False) self.filter_formats() @@ -770,9 +628,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m error_message = str(e) print(f"Error in analysis: {error_message}") self.signals.update_status.emit(f"Error: {error_message}") - # Ensure playlist UI is hidden on error too - QMetaObject.invokeMethod(self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) - QMetaObject.invokeMethod(self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) def paste_url(self): clipboard = QApplication.clipboard() @@ -782,55 +637,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m dialog = YTDLPUpdateDialog(self) dialog.exec() - def show_download_settings_dialog(self): # Renamed method - dialog = DownloadSettingsDialog( - self.last_path, - self.speed_limit_value, - self.speed_limit_unit_index, - self - ) - if dialog.exec(): - # Update Path - new_path = dialog.get_selected_path() - path_changed = False - if new_path != self.last_path: - self.last_path = new_path - self.save_path(self.last_path) # Save the updated path - path_changed = True - print(f"Download path updated to: {self.last_path}") - - # Update Speed Limit - new_limit_value = dialog.get_selected_speed_limit() - new_unit_index = dialog.get_selected_unit_index() - limit_changed = False - if new_limit_value != self.speed_limit_value or new_unit_index != self.speed_limit_unit_index: - self.speed_limit_value = new_limit_value - self.speed_limit_unit_index = new_unit_index - limit_changed = True - print(f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}") - - # Update Tooltip if anything changed - if path_changed or limit_changed: - limit_text = "None" - if self.speed_limit_value: - limit_text = f"{self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index]}" - self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: {limit_text}") + def browse_path(self): + path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.last_path) + if path: + self.path_input.setText(path) + self.save_path(path) # Use save_path utility function + self.last_path = path def start_download(self): url = self.url_input.text().strip() - # --- Use self.last_path instead of reading from QLineEdit --- - path = self.last_path + path = self.path_input.text().strip() if not url or not path: - # More specific error message if path is missing - if not path: - self.status_label.setText("Please set a download path using 'Change Path'") - elif not url: - self.status_label.setText("Please enter a URL") - else: - self.status_label.setText("Please enter URL and set download path") + self.status_label.setText("Please enter URL and download path") return - # --- End Path Change --- # Get selected format format_id = self.get_selected_format() @@ -851,60 +671,39 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m resolution = parts[0].strip().lower() break - # Get subtitle selection if available - Now get the list - selected_subs = self.selected_subtitles if hasattr(self, 'selected_subtitles') else [] + # Get subtitle selection if available + subtitle_lang = None + if hasattr(self, 'subtitle_combo') and self.subtitle_combo.currentIndex() > 0: + subtitle_lang = self.subtitle_combo.currentText() - # Get playlist selection IF in playlist mode - USE STORED VALUE - playlist_items_to_download = None - if self.is_playlist: - playlist_items_to_download = self.selected_playlist_items # Use the stored selection string + # Check if it's a playlist + is_playlist = 'playlist' in url.lower() and '/watch?' not in url - # --- Use stored speed limit values --- - rate_limit = None - if self.speed_limit_value: - try: - limit_value = float(self.speed_limit_value) - if self.speed_limit_unit_index == 0: # KB/s - rate_limit = f"{int(limit_value * 1024)}" - elif self.speed_limit_unit_index == 1: # MB/s - rate_limit = f"{int(limit_value * 1024 * 1024)}" - except ValueError: - # Use a signal to show error in status bar, similar to URL/Path errors - self.signals.update_status.emit("❌ Error: Invalid speed limit value set in settings.") - return - # --- End speed limit update --- + # Get playlist selection if available + playlist_items = None + if self.is_playlist and self.playlist_selection_input.isVisible(): + playlist_items = self.playlist_selection_input.text().strip() or None # Save thumbnail if enabled if self.save_thumbnail: - # Consider moving thumbnail download *after* successful video download - # Or handle errors more gracefully if thumbnail download fails - try: - self.download_thumbnail_file(url, path) - except Exception as e: - print(f"Warning: Thumbnail download failed: {e}") - # Optionally inform the user, but don't stop the main download - + self.download_thumbnail_file(url, path) # Create download thread with resolution in output template self.download_thread = DownloadThread( url=url, path=path, format_id=format_id, - subtitle_langs=selected_subs, # Pass the list of selected subs - is_playlist=self.is_playlist, # Use the flag directly + subtitle_lang=subtitle_lang, + is_playlist=is_playlist, merge_subs=self.merge_subs_checkbox.isChecked(), enable_sponsorblock=self.sponsorblock_checkbox.isChecked(), resolution=resolution, - playlist_items=playlist_items_to_download, # Pass the selection string - save_description=self.save_description, # Pass the new flag here - cookie_file=self.cookie_file_path, # Pass the cookie file path - rate_limit=rate_limit # Pass the calculated rate limit + playlist_items=playlist_items ) # Connect signals self.download_thread.progress_signal.connect(self.update_progress_bar) - self.download_thread.status_signal.connect(self.status_label.setText) - self.download_thread.update_details.connect(self.download_details_label.setText) + self.download_thread.status_signal.connect(self.signals.update_status.emit) self.download_thread.finished_signal.connect(self.download_finished) self.download_thread.error_signal.connect(self.download_error) self.download_thread.file_exists_signal.connect(self.file_already_exists) @@ -928,31 +727,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.progress_bar.setValue(100) - - # Set completion message based on the file type of last downloaded file - if self.download_thread and self.download_thread.current_filename: - filename = self.download_thread.current_filename - ext = os.path.splitext(filename)[1].lower() - - # Video file extensions - if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: - self.status_label.setText(f"✅ Video download completed!") - # Audio file extensions - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: - self.status_label.setText(f"✅ Audio download completed!") - # Subtitle file extensions - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: - self.status_label.setText(f"✅ Subtitle download completed!") - # Default case - else: - self.status_label.setText("✅ Download completed!") + self.status_label.setText("Download completed!") def download_error(self, error_message): self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.status_label.setText(f"Error: {error_message}") - self.download_details_label.setText("") # Clear details label on error def update_progress_bar(self, value): try: @@ -986,65 +767,26 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Compare versions if version.parse(latest_version) > version.parse(self.version): - changelog = latest_release.get("body", "No changelog available.") # Get changelog body - self.show_update_dialog(latest_version, latest_release["html_url"], changelog) # Pass changelog + self.show_update_dialog(latest_version, latest_release["html_url"]) except Exception as e: print(f"Failed to check for updates: {str(e)}") - def show_update_dialog(self, latest_version, release_url, changelog): # Added changelog parameter + def show_update_dialog(self, latest_version, release_url): msg = QDialog(self) msg.setWindowTitle("Update Available") - msg.setMinimumWidth(500) # Increased width for changelog - msg.setMinimumHeight(400) # Added min height - - # Set custom icon directly - icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') - if os.path.exists(icon_path): - msg.setWindowIcon(QIcon(icon_path)) - else: - # Fallback to main window icon if file not found - msg.setWindowIcon(self.windowIcon()) + msg.setMinimumWidth(400) layout = QVBoxLayout(msg) - layout.setSpacing(10) # Added spacing # Update message message_label = QLabel( - f"A new version of YTSage is available!\n\n" + f"A new version of YTSage is available!\n\n" f"Current version: {self.version}\n" f"Latest version: {latest_version}" ) message_label.setWordWrap(True) layout.addWidget(message_label) - # Changelog Section - changelog_label = QLabel("Changelog:") - layout.addWidget(changelog_label) - - changelog_text = QTextEdit() - changelog_text.setReadOnly(True) - # Convert Markdown to HTML and set it - try: - html_changelog = markdown.markdown(changelog, extensions=['markdown.extensions.tables', 'markdown.extensions.fenced_code']) - changelog_text.setHtml(html_changelog) - except Exception as e: - print(f"Error converting changelog markdown to HTML: {e}") - changelog_text.setPlainText(changelog) # Fallback to plain text - - changelog_text.setStyleSheet(""" - QTextEdit { - background-color: #1e1e1e; - border: 1px solid #3d3d3d; - border-radius: 4px; - color: #cccccc; - padding: 5px; - font-family: Consolas, monospace; - font-size: 11px; /* Slightly smaller font */ - } - """) - changelog_text.setMaximumHeight(200) # Limit height - layout.addWidget(changelog_text) - # Buttons button_layout = QHBoxLayout() @@ -1066,7 +808,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QLabel { color: #ffffff; font-size: 12px; - padding: 5px 0; /* Adjusted padding */ + padding: 10px; } QPushButton { padding: 8px 15px; @@ -1075,7 +817,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m border-radius: 4px; color: white; font-weight: bold; - min-width: 120px; /* Adjusted min-width */ } QPushButton:hover { background-color: #cc0000; @@ -1094,8 +835,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def cancel_download(self): if self.current_download: self.current_download.cancelled = True - self.status_label.setText("Cancelling download...") # Set status directly - self.download_details_label.setText("") # Clear details label on cancellation + self.signals.update_status.emit("Cancelling download...") def show_ffmpeg_dialog(self): dialog = FFmpegCheckDialog(self) @@ -1104,55 +844,21 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def toggle_download_controls(self, enabled=True): """Enable or disable download-related controls""" self.url_input.setEnabled(enabled) - self.analyze_button.setEnabled(enabled) + self.analyze_btn.setEnabled(enabled) self.format_table.setEnabled(enabled) # Changed from format_scroll_area to format_table + self.path_input.setEnabled(enabled) + self.browse_btn.setEnabled(enabled) self.download_btn.setEnabled(enabled) if hasattr(self, 'subtitle_combo'): self.subtitle_combo.setEnabled(enabled) self.video_button.setEnabled(enabled) self.audio_button.setEnabled(enabled) self.sponsorblock_checkbox.setEnabled(enabled) - self.merge_subs_checkbox.setEnabled(enabled) # Enable/disable merge subs checkbox - self.custom_cmd_btn.setEnabled(enabled) # Enable/disable custom command button - self.cookie_login_button.setEnabled(enabled) # Enable/disable login button - self.update_ytdlp_btn.setEnabled(enabled) # Enable/disable update button - self.settings_button.setEnabled(enabled) # Enable/disable settings button - - # Clear progress/status when controls are re-enabled - if enabled: - self.progress_bar.setValue(0) - self.status_label.setText("Ready") - self.download_details_label.setText("") # Clear details label def handle_format_selection(self, button): # Update formats self.filter_formats() - def handle_mode_change(self): - """Enable or disable features based on video/audio mode""" - if self.audio_button.isChecked(): - # In Audio Only mode, disable video-specific features - self.sponsorblock_checkbox.setEnabled(False) - self.sponsorblock_checkbox.setChecked(False) # Uncheck when disabled - self.merge_subs_checkbox.setEnabled(False) - self.merge_subs_checkbox.setChecked(False) # Uncheck when disabled - - # Allow subtitle selection in Audio Only mode too - if hasattr(self, 'subtitle_select_btn'): - self.subtitle_select_btn.setEnabled(True) - else: - # In Video mode, enable video-specific features - self.sponsorblock_checkbox.setEnabled(True) - # Don't auto-check - leave it to user preference - - # Enable merge_subs only if subtitles are selected - has_subs_selected = len(getattr(self, 'selected_subtitles', [])) > 0 - self.merge_subs_checkbox.setEnabled(has_subs_selected) - - # Re-enable subtitle selection button in Video mode - if hasattr(self, 'subtitle_select_btn'): - self.subtitle_select_btn.setEnabled(True) - def show_about_dialog(self): # ADDED METHOD HERE dialog = AboutDialog(self) dialog.exec() @@ -1163,22 +869,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.progress_bar.setValue(100) - - # Determine file type based on extension - ext = os.path.splitext(filename)[1].lower() - - # Video file extensions - if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: - self.status_label.setText(f"⚠️ Video file already exists") - # Audio file extensions - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: - self.status_label.setText(f"⚠️ Audio file already exists") - # Subtitle file extensions - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: - self.status_label.setText(f"⚠️ Subtitle file already exists") - # Default case - else: - self.status_label.setText("⚠️ File already exists") + self.status_label.setText(f"⚠️ File already exists: {filename}") # Show a simple message dialog msg_box = QMessageBox() @@ -1213,55 +904,4 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } """) - msg_box.exec() - - # --- Add Toggle Methods Here --- - def toggle_save_thumbnail(self, state): - print(f"Raw thumbnail state received: {state}") # Debug: Print raw state - self.save_thumbnail = bool(state == 2) # Compare state directly with 2 (Checked state) - print(f"Save thumbnail toggled: {self.save_thumbnail}") - - def toggle_save_description(self, state): - print(f"Raw description state received: {state}") # Debug: Print raw state - self.save_description = bool(state == 2) # Compare state directly with 2 (Checked state) - print(f"Save description toggled: {self.save_description}") - # --- End Toggle Methods --- - - def open_playlist_selection_dialog(self): - if not self.is_playlist or not self.playlist_entries: - print("No playlist data available to select from.") - return - - dialog = PlaylistSelectionDialog(self.playlist_entries, self.selected_playlist_items, self) - - if dialog.exec(): - self.selected_playlist_items = dialog.get_selected_items_string() - print(f"Playlist items selected: {self.selected_playlist_items}") - - # Update button text (this call is safe as it happens in the main thread after dialog closes) - if self.selected_playlist_items is None: - button_text = "Select Videos... (All selected)" - else: - selected_indices = dialog._parse_selection_string(self.selected_playlist_items) - count = len(selected_indices) - display_text = self.selected_playlist_items if len(self.selected_playlist_items) < 30 else f"{count} videos selected" - button_text = f"Select Videos... ({display_text})" - self.playlist_select_btn.setText(button_text) # Direct call is fine here - - # --- New Slot for Updating Playlist Button Text --- - @Slot(str) - def update_playlist_button_text(self, text): - """Safely updates the playlist selection button's text from any thread.""" - if hasattr(self, 'playlist_select_btn'): - self.playlist_select_btn.setText(text) - # --- End New Slot --- - - def show_cookie_login_dialog(self): - dialog = CookieLoginDialog(self) - if dialog.exec(): - self.cookie_file_path = dialog.get_cookie_file_path() - if self.cookie_file_path: - print(f"Selected cookie file: {self.cookie_file_path}") # For debugging - QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") - else: - self.cookie_file_path = None # Clear path if dialog accepted but no file selected \ No newline at end of file + msg_box.exec() \ No newline at end of file diff --git a/ytsage_gui_video_info.py b/ytsage_gui_video_info.py index c05f591..bad0511 100644 --- a/ytsage_gui_video_info.py +++ b/ytsage_gui_video_info.py @@ -17,7 +17,6 @@ from packaging import version import subprocess import re import yt_dlp -from ytsage_gui_dialogs import SubtitleSelectionDialog class VideoInfoMixin: def setup_video_info_section(self): @@ -56,10 +55,9 @@ class VideoInfoMixin: self.views_label = QLabel() self.date_label = QLabel() self.duration_label = QLabel() - self.like_count_label = QLabel() # Style the info labels - for label in [self.channel_label, self.views_label, self.date_label, self.duration_label, self.like_count_label]: + for label in [self.channel_label, self.views_label, self.date_label, self.duration_label]: label.setStyleSheet(""" QLabel { color: #cccccc; @@ -72,53 +70,115 @@ class VideoInfoMixin: video_info_layout.addWidget(self.title_label) video_info_layout.addWidget(self.channel_label) video_info_layout.addWidget(self.views_label) - video_info_layout.addWidget(self.like_count_label) video_info_layout.addWidget(self.date_label) video_info_layout.addWidget(self.duration_label) # Add spacing before subtitle section video_info_layout.addSpacing(10) - # --- Subtitle Section --- + # Create a horizontal layout for subtitle controls subtitle_layout = QHBoxLayout() - subtitle_layout.setSpacing(10) + subtitle_layout.setSpacing(5) # Reduce spacing between elements - # Subtitle selection button - self.subtitle_select_btn = QPushButton("Select Subtitles...") # Renamed & changed text - self.subtitle_select_btn.setFixedHeight(30) - # self.subtitle_select_btn.setFixedWidth(150) # Let it size naturally or adjust as needed - self.subtitle_select_btn.clicked.connect(self.open_subtitle_dialog) - self.subtitle_select_btn.setStyleSheet(""" + # Create subtitle button + self.subtitle_check = QPushButton("Download Subtitles") + self.subtitle_check.setFixedHeight(30) + self.subtitle_check.setFixedWidth(150) # Set fixed width + self.subtitle_check.setCheckable(True) + self.subtitle_check.clicked.connect(self.toggle_subtitle_controls) + self.subtitle_check.setStyleSheet(""" QPushButton { - background-color: #1d1e22; - border: 2px solid #1d1e22; + background-color: #363636; + border: 2px solid #3d3d3d; border-radius: 4px; - padding: 5px 10px; /* Adjusted padding */ + padding: 5px; + min-height: 30px; } - QPushButton:hover { background-color: #2a2d36; } - /* Optional: Style differently if subtitles ARE selected */ - QPushButton[subtitlesSelected="true"] { - border-color: #c90000; /* Indicate selection */ - } - /* Style for disabled state */ - QPushButton:disabled { - background-color: #3d3d3d; - color: #888888; - border-color: #3d3d3d; + QPushButton:checked { + background-color: #ff0000; + border-color: #cc0000; } """) - self.subtitle_select_btn.setProperty("subtitlesSelected", False) # Custom property for styling - subtitle_layout.addWidget(self.subtitle_select_btn) + subtitle_layout.addWidget(self.subtitle_check) - # Label to show number of selected subtitles - self.selected_subs_label = QLabel("0 selected") - self.selected_subs_label.setStyleSheet("color: #cccccc; padding-left: 5px;") - subtitle_layout.addWidget(self.selected_subs_label) + # Create subtitle combo box + self.subtitle_combo = QComboBox() + self.subtitle_combo.setFixedHeight(30) + self.subtitle_combo.setFixedWidth(200) + self.subtitle_combo.setVisible(False) + self.subtitle_combo.setStyleSheet(""" + QComboBox { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + } + """) + subtitle_layout.addWidget(self.subtitle_combo) - # Add the subtitle layout to the main video info layout + # Create merge subtitles checkbox + self.merge_subs_checkbox = QCheckBox("Merge Subtitles") + self.merge_subs_checkbox.setFixedHeight(30) + self.merge_subs_checkbox.setVisible(False) + self.merge_subs_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 10px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + border-radius: 9px; + } + """) + subtitle_layout.addWidget(self.merge_subs_checkbox) + + # Add stretch to push everything to the left + subtitle_layout.addStretch() + + # Create a second row for the filter input + filter_layout = QHBoxLayout() + filter_layout.setSpacing(5) + + # Create subtitle filter input + self.subtitle_filter_input = QLineEdit() + self.subtitle_filter_input.setFixedHeight(30) + self.subtitle_filter_input.setFixedWidth(200) + self.subtitle_filter_input.setPlaceholderText("Filter languages (e.g., en, es)") + self.subtitle_filter_input.textChanged.connect(self.filter_subtitles) + self.subtitle_filter_input.setVisible(False) + self.subtitle_filter_input.setStyleSheet(""" + QLineEdit { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + color: white; + } + QLineEdit:focus { + border-color: #ff0000; + } + """) + filter_layout.addWidget(self.subtitle_filter_input) + filter_layout.addStretch() + + # Add both layouts to video info video_info_layout.addLayout(subtitle_layout) - # --- End Subtitle Section --- - + video_info_layout.addLayout(filter_layout) + # Add stretch at the bottom video_info_layout.addStretch() @@ -133,11 +193,11 @@ class VideoInfoMixin: self.playlist_info_label.setStyleSheet(""" QLabel { font-size: 12px; - color: #ffffff; + color: #ff9900; padding: 5px 8px; margin: 0; - background-color: #1d1e22; - border: 1px solid #c90000; + background-color: #2b2b2b; + border: 1px solid #3d3d3d; border-radius: 4px; min-height: 30px; max-height: 30px; @@ -147,109 +207,63 @@ class VideoInfoMixin: return self.playlist_info_label def update_video_info(self, info): - if hasattr(self, 'is_playlist') and self.is_playlist: - # Playlist Mode: Show playlist title and video count - self.title_label.setText(self.playlist_info.get('title', 'Unknown Playlist')) - - num_videos = len(getattr(self, 'playlist_entries', [])) - self.duration_label.setText(f"Total Videos: {num_videos}") - - # Hide video-specific info - self.channel_label.setText("") - self.views_label.setText("") - self.date_label.setText("") - self.like_count_label.setText("") - self.channel_label.setVisible(False) - self.views_label.setVisible(False) - self.date_label.setVisible(False) - self.like_count_label.setVisible(False) + # Format view count with commas + views = int(info.get('view_count', 0)) + formatted_views = f"{views:,}" + + # Format upload date + upload_date = info.get('upload_date', '') + if upload_date: + date_obj = datetime.strptime(upload_date, '%Y%m%d') + formatted_date = date_obj.strftime('%B %d, %Y') else: - # Single Video Mode: Show standard video info - # Ensure labels are visible first - self.channel_label.setVisible(True) - self.views_label.setVisible(True) - self.date_label.setVisible(True) - self.like_count_label.setVisible(True) + formatted_date = 'Unknown date' - # Format view count with commas - views = info.get('view_count') - formatted_views = f"{views:,}" if views is not None else 'N/A' + # Format duration + duration = info.get('duration', 0) + minutes = duration // 60 + seconds = duration % 60 + duration_str = f"{minutes}:{seconds:02d}" - # Format like count with commas - likes = info.get('like_count') - formatted_likes = f"{likes:,}" if likes is not None else 'N/A' - - # Format upload date - upload_date = info.get('upload_date', '') - if upload_date: - date_obj = datetime.strptime(upload_date, '%Y%m%d') - formatted_date = date_obj.strftime('%B %d, %Y') - else: - formatted_date = 'Unknown date' - - # Format duration - duration = info.get('duration', 0) - minutes = duration // 60 - seconds = duration % 60 - duration_str = f"{minutes}:{seconds:02d}" - - # Update labels - self.title_label.setText(info.get('title', 'Unknown title')) - self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") - self.views_label.setText(f"Views: {formatted_views}") - self.like_count_label.setText(f"Likes: {formatted_likes}") - self.date_label.setText(f"Upload date: {formatted_date}") - self.duration_label.setText(f"Duration: {duration_str}") + # Update labels + self.title_label.setText(info.get('title', 'Unknown title')) + self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") + self.views_label.setText(f"Views: {formatted_views}") + self.date_label.setText(f"Upload date: {formatted_date}") + self.duration_label.setText(f"Duration: {duration_str}") - def open_subtitle_dialog(self): - if not hasattr(self, 'available_subtitles') or not hasattr(self, 'available_automatic_subtitles'): - print("Subtitle info not loaded yet.") - return + def toggle_subtitle_controls(self): + is_checked = self.subtitle_check.isChecked() + self.subtitle_combo.setVisible(is_checked) + self.subtitle_filter_input.setVisible(is_checked) + self.merge_subs_checkbox.setVisible(is_checked) - if not hasattr(self, 'selected_subtitles'): - self.selected_subtitles = [] + def update_subtitle_list(self): + self.subtitle_combo.clear() - dialog = SubtitleSelectionDialog( - self.available_subtitles, - self.available_automatic_subtitles, - self.selected_subtitles, - self # Parent for the dialog - ) + if not (self.available_subtitles or self.available_automatic_subtitles): + self.subtitle_combo.addItem("No subtitles available") + return - # Access the main application window (parent of the mixin's widget) - # to find the merge checkbox - main_window = self # In this context, self should be the YTSageApp instance - if not isinstance(main_window, QMainWindow): - # If the structure is different, this might need adjustment - # Maybe self.parentWidget() or similar depending on how Mixin is used - print("Warning: Cannot find main window to access merge checkbox.") - merge_checkbox = None - else: - merge_checkbox = getattr(main_window, 'merge_subs_checkbox', None) + # Add subtitle options + self.subtitle_combo.addItem("Select subtitle language") + # Filter and add subtitles + filter_text = self.subtitle_filter_input.text().lower() - if dialog.exec(): # If user clicks OK - self.selected_subtitles = dialog.get_selected_subtitles() - print(f"Selected subtitles: {self.selected_subtitles}") - # Update UI to reflect selection - count = len(self.selected_subtitles) - self.selected_subs_label.setText(f"{count} selected") - self.subtitle_select_btn.setProperty("subtitlesSelected", count > 0) + # Add manual subtitles + for lang_code, subtitle_info in self.available_subtitles.items(): + if not filter_text or filter_text in lang_code.lower(): + self.subtitle_combo.addItem(f"{lang_code} - Manual") - # Enable/disable the merge checkbox in the parent window - if merge_checkbox: - # Only enable merge checkbox if we're not in Audio Only mode - is_audio_only = hasattr(main_window, 'audio_button') and main_window.audio_button.isChecked() - # In audio-only mode, we still allow subtitle selection but not merging - should_enable = count > 0 and not is_audio_only - merge_checkbox.setEnabled(should_enable) - else: - print("Warning: merge_subs_checkbox not found on parent window.") + # Add auto-generated subtitles + for lang_code, subtitle_info in self.available_automatic_subtitles.items(): + if not filter_text or filter_text in lang_code.lower(): + self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") - # Re-apply stylesheet to update button border if property changed - self.subtitle_select_btn.style().unpolish(self.subtitle_select_btn) - self.subtitle_select_btn.style().polish(self.subtitle_select_btn) - # No else needed for cancel, state remains unchanged + def filter_subtitles(self): + self.subtitle_filter = self.subtitle_filter_input.text() + self.update_subtitle_list() def download_thumbnail(self, url): try: @@ -271,6 +285,10 @@ class VideoInfoMixin: except Exception as e: print(f"Error loading thumbnail: {str(e)}") + def toggle_save_thumbnail(self): + self.save_thumbnail = self.save_thumbnail_checkbox.isChecked() + print(f"Save thumbnail toggled: {self.save_thumbnail}") # Debug print + def download_thumbnail_file(self, video_url, path): if not self.save_thumbnail: return False diff --git a/ytsage_style.py b/ytsage_style.py index 6ad7f38..84c3b8d 100644 --- a/ytsage_style.py +++ b/ytsage_style.py @@ -1,24 +1,24 @@ MAIN_STYLE = """ QMainWindow { - background-color: #15181b; + background-color: #2b2b2b; } QWidget { - background-color: #15181b; + background-color: #2b2b2b; color: #ffffff; font-size: 12px; } QLineEdit { padding: 8px; - border: 2px solid #1b2021; + border: 2px solid #3d3d3d; border-radius: 4px; - background-color: #1b2021; + background-color: #363636; color: #ffffff; - selection-background-color: #c90000; + selection-background-color: #ff0000; selection-color: #ffffff; } QPushButton { padding: 8px 15px; - background-color: #c90000; + background-color: #ff0000; /* YouTube red */ border: none; border-radius: 4px; color: white; @@ -26,33 +26,33 @@ QPushButton { min-height: 20px; } QPushButton:hover { - background-color: #a50000; + background-color: #cc0000; /* Darker red on hover */ } QPushButton:pressed { - background-color: #800000; + background-color: #990000; /* Even darker red when pressed */ } QPushButton:disabled { - background-color: #666666; + background-color: #666666; /* Gray when disabled */ color: #999999; } QTableWidget { - border: 2px solid #1b2021; + border: 2px solid #3d3d3d; border-radius: 4px; - background-color: #1b2021; - gridline-color: #1b2021; - selection-background-color: #c90000; + background-color: #363636; + gridline-color: #3d3d3d; + selection-background-color: #ff0000; selection-color: #ffffff; } QHeaderView::section { - background-color: #15181b; + background-color: #2b2b2b; padding: 5px; - border: 1px solid #1b2021; + border: 1px solid #3d3d3d; color: #ffffff; font-weight: bold; } QScrollBar:vertical { border: none; - background-color: #15181b; + background-color: #2b2b2b; width: 12px; margin: 0px; } @@ -62,27 +62,27 @@ QScrollBar::handle:vertical { border-radius: 6px; } QScrollBar::handle:vertical:hover { - background-color: #c90000; + background-color: #ff0000; } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0px; } QProgressBar { - border: 2px solid #1b2021; + border: 2px solid #3d3d3d; border-radius: 4px; text-align: center; color: white; - background-color: #1b2021; + background-color: #363636; } QProgressBar::chunk { - background-color: #c90000; + background-color: #ff0000; border-radius: 2px; } QComboBox { padding: 5px; - border: 2px solid #1b2021; + border: 2px solid #3d3d3d; border-radius: 4px; - background-color: #1b2021; + background-color: #363636; color: #ffffff; min-height: 20px; } @@ -106,25 +106,25 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #15181b; + background: #2b2b2b; } QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; + border: 2px solid #ff0000; + background: #ff0000; } QLabel { color: #ffffff; } QTextEdit, QPlainTextEdit { - background-color: #1b2021; + background-color: #363636; color: #ffffff; - border: 2px solid #1b2021; + border: 2px solid #3d3d3d; border-radius: 4px; - selection-background-color: #c90000; + selection-background-color: #ff0000; selection-color: #ffffff; } QMessageBox { - background-color: #15181b; + background-color: #2b2b2b; } QMessageBox QLabel { color: #ffffff; diff --git a/ytsage_utils.py b/ytsage_utils.py index 698625d..1666c83 100644 --- a/ytsage_utils.py +++ b/ytsage_utils.py @@ -4,7 +4,6 @@ import json from pathlib import Path import subprocess import tempfile -import shutil from ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path def check_ffmpeg(): @@ -50,24 +49,45 @@ def check_ffmpeg(): return False def get_yt_dlp_path(): - """Get the yt-dlp command or path, prioritizing the system PATH.""" + """Get the appropriate yt-dlp path with enhanced error handling.""" try: - # Use shutil.which to find yt-dlp in the system's PATH - yt_dlp_executable = shutil.which('yt-dlp') - - if yt_dlp_executable: - print(f"Found yt-dlp executable in PATH: {yt_dlp_executable}") - return yt_dlp_executable + if getattr(sys, 'frozen', False): + if sys.platform == 'darwin': + # For macOS .app bundle + if 'Contents/MacOS' in sys.executable: + base_path = os.path.dirname(sys.executable) + else: + # Fallback to user's home directory for macOS + base_path = os.path.expanduser('~/Library/Application Support/YTSage') + elif sys.platform == 'win32': + # For Windows executable + app_data = os.getenv('APPDATA') + base_path = os.path.join(app_data, 'YTSage') if app_data else os.path.dirname(sys.executable) + else: + # For Linux AppImage or binary + if 'APPIMAGE' in os.environ: + xdg_data = os.getenv('XDG_DATA_HOME', os.path.expanduser('~/.local/share')) + base_path = os.path.join(xdg_data, 'YTSage') + else: + base_path = os.path.dirname(sys.executable) + + # Create directory if it doesn't exist + try: + os.makedirs(base_path, exist_ok=True) + except Exception as e: + print(f"Error creating directory: {e}") + base_path = os.path.dirname(sys.executable) + + return os.path.join(base_path, 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') else: - # If not found in PATH, assume 'yt-dlp' is the command name - print("yt-dlp not found in PATH. Will attempt to use 'yt-dlp' as the command.") - return 'yt-dlp' - + # For development/script mode + return os.path.join(os.path.dirname(os.path.abspath(__file__)), + 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + except Exception as e: - print(f"Error finding yt-dlp path: {e}") - # Fallback to the command name on any error - print("An error occurred during yt-dlp path detection. Falling back to command 'yt-dlp'.") - return 'yt-dlp' + print(f"Error determining yt-dlp path: {e}") + # Fallback to current directory + return os.path.join(os.getcwd(), 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') def load_saved_path(main_window_instance): """Load saved download path with enhanced error handling.""" From 48ad55635cde120f560f4486ab1c60dfdf51a1d5 Mon Sep 17 00:00:00 2001 From: Muhamed Date: Tue, 29 Apr 2025 15:06:33 +0300 Subject: [PATCH 037/568] add icon --- Icon/icon.png | Bin 0 -> 4966 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Icon/icon.png diff --git a/Icon/icon.png b/Icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8b32d056220a44c3c02abd9acc19d26371d5e5b1 GIT binary patch literal 4966 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 NwA6G}E0nFm{{u;wZ5aRn literal 0 HcmV?d00001 From f5b952075d9d0875b1d3f09cf9da72abf546f09b Mon Sep 17 00:00:00 2001 From: Muhamed Date: Tue, 29 Apr 2025 15:06:53 +0300 Subject: [PATCH 038/568] Update Readme --- README.md | 62 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index f090885..0fd828b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # 🎥 YTSage -YTSage Interface +YTSage Interface [![PyPI version](https://badge.fury.io/py/ytsage.svg)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) @@ -27,12 +27,13 @@ Download videos in any quality, extract audio, fetch subtitles, and more.
-| Core Features | Advanced Features | Extra Features | -|--------------|-------------------|----------------| -| 🎥 Smart Video Quality | 🚫 SponsorBlock Integration | 💾 Save Download Path | -| 🎵 Audio Extraction | 📝 Subtitle Support & Filtering | 🔄 Auto-Updates | -| 📊 Real-time Progress | ⚙️ Custom Commands | 🛠️ FFmpeg Tools | -| 📋 Playlist Support | 🖼️ Save thumbnail | ⚠️ Error Handling | +| Core Features | Advanced Features | Extra Features | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Format Table | 🚫 SponsorBlock Integration | 💾 Save Download Path | +| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Updates | +| ✨ Simple UI | 💾 Save Description | 🛠️ FFmpeg/yt-dlp Detection | +| 📋 Playlist Support | 🖼️ Save thumbnail | ⚙️ Custom Commands | +| 🖼️ Playlist Selector | 🚀 Speed Limiter | 🍪 Login with Cookies |
@@ -40,7 +41,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more. ### Quick Install (Recommended) ```bash -pip install YTSage +pip install ytsage ``` ```bash # Run the application @@ -52,10 +53,12 @@ ytsage ### Pre-built Executables - 🪟 Windows: `YTSage.exe` +- 🪟 Windows: `YTSage-ffmpeg.exe` (Includes FFmpeg) +- 🐧 Linux: `YTSage-x86_64.AppImage` +- 🍎 macOS: `YTSage-macOS-app.zip` - 🍎 macOS: `YTSage.dmg` -- 🐧 Linux: `YTSage.AppImage` -### Manual Installation +### Manual Installation from Source ```bash # Clone repository git clone https://github.com/oop7/YTSage.git @@ -76,22 +79,20 @@ python main.py
- - - + + - - + + - - - + +
Main InterfacePlaylist DownloadMain InterfacePlaylist Download
Main Interface Playlist Download
Audio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor SegmentsAudio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor Segments
Audio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor SegmentsAudio FormatSubtitle Options
@@ -109,9 +110,10 @@ python main.py - `Audio Only` for audio extraction 5. **Choose Options:** - Enable subtitles & select language - - Enable subtitle embedding + - Enable subtitle merge - Save thumbnail - Remove sponsor segments + - Save description 6. **Select Output Directory** 7. **Click "Download"** @@ -122,8 +124,9 @@ python main.py 1. **Paste Playlist URL** 2. **Click "Analyze"** -3. **Select Best Quality** -4. **Click "Download"** +3. **Select videos from the playlist selector (optional, defaults to all)** +4. **Choose desired format/quality** +5. **Click "Download"** > 💡 The application automatically handles the download queue @@ -134,9 +137,18 @@ python main.py - **Quality Selection:** Choose the highest resolution for best quality - **Subtitle Options:** Filter languages and embed into video -- **SponsorBlock:** Automatically skip promotional content - **Custom Commands:** Access advanced yt-dlp features -- **Output Directory:** Ensure sufficient storage space +- **Save Description:** Save the description of the video +- **Save Thumbnail:** Save the thumbnail of the video +- **Remove Sponsor Segments:** Remove sponsor segments from the video +- **Speed Limiter:** Limit the download speed +- **Login with Cookies:** Login with cookies +- **Save Download Path:** Save the download path +- **Update yt-dlp:** Update yt-dlp +- **FFmpeg/yt-dlp Detection:** Automatically detect FFmpeg/yt-dlp +- **Custom Commands:** Access advanced yt-dlp features + + @@ -150,6 +162,7 @@ Pillow requests FFmpeg packaging +markdown ``` ## 👥 Contributing @@ -193,6 +206,9 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file | [PySide6](https://wiki.qt.io/Qt_for_Python) | GUI Framework | | [FFmpeg](https://ffmpeg.org/) | Media Processing | | [Pillow](https://python-pillow.org/) | Image Processing | +| [requests](https://requests.readthedocs.io/) | HTTP Requests | +| [packaging](https://packaging.python.org/) | Packaging | +| [markdown](https://python-markdown.github.io/) | Markdown Processing | From 156d1a4d7086e5ae6fc96fa050eefe6ef9ab8839 Mon Sep 17 00:00:00 2001 From: Muhamed Date: Tue, 29 Apr 2025 15:07:03 +0300 Subject: [PATCH 039/568] add markdown --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b195626..f5fd815 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,5 @@ PySide6 yt-dlp requests pillow -packaging \ No newline at end of file +packaging +markdown \ No newline at end of file From 3384cef83a8bc7de7ae647084174bd146206388d Mon Sep 17 00:00:00 2001 From: Muhamed Date: Tue, 29 Apr 2025 15:07:11 +0300 Subject: [PATCH 040/568] v4.5.0 --- ytsage_downloader.py | 759 +++++++++++++++++++-------- ytsage_gui_dialogs.py | 1008 +++++++++++++++++++++++++++++------- ytsage_gui_format_table.py | 178 +++++-- ytsage_gui_main.py | 682 ++++++++++++++++++------ ytsage_gui_video_info.py | 276 +++++----- ytsage_style.py | 58 +-- ytsage_utils.py | 52 +- 7 files changed, 2184 insertions(+), 829 deletions(-) diff --git a/ytsage_downloader.py b/ytsage_downloader.py index e9b88a7..5b33505 100644 --- a/ytsage_downloader.py +++ b/ytsage_downloader.py @@ -1,8 +1,10 @@ -from PySide6.QtCore import QThread, Signal, QObject +from PySide6.QtCore import QThread, Signal, QObject, QProcess, QTimer import yt_dlp # Keep yt_dlp import here - only downloader uses it. import time import os import re +import subprocess # For direct CLI command execution +import shlex # For safely parsing command arguments from pathlib import Path class SignalManager(QObject): @@ -16,20 +18,32 @@ class DownloadThread(QThread): finished_signal = Signal() error_signal = Signal(str) file_exists_signal = Signal(str) # New signal for file existence + update_details = Signal(str) # New signal for filename, speed, ETA - def __init__(self, url, path, format_id, subtitle_lang=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None): + def __init__(self, url, path, format_id, subtitle_langs=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None, save_description=False, cookie_file=None, rate_limit=None): super().__init__() self.url = url self.path = path self.format_id = format_id - self.subtitle_lang = subtitle_lang + self.subtitle_langs = subtitle_langs if subtitle_langs else [] self.is_playlist = is_playlist self.merge_subs = merge_subs self.enable_sponsorblock = enable_sponsorblock self.resolution = resolution self.playlist_items = playlist_items + self.save_description = save_description + self.cookie_file = cookie_file + self.rate_limit = rate_limit self.paused = False self.cancelled = False + self.process = None + self.use_direct_command = True # Flag to use direct CLI command instead of Python API + self.last_output_time = time.time() + self.timeout_timer = None + self.current_filename = None # Initialize filename storage + self.last_file_path = None # Initialize full file path storage + self.subtitle_files = [] # Track subtitle files that are created + self.initial_subtitle_files = set() # Track initial subtitle files before download def cleanup_partial_files(self): """Delete any partial files including .part and unmerged format-specific files""" @@ -46,14 +60,99 @@ class DownloadThread(QThread): except Exception as e: self.error_signal.emit(f"Error cleaning partial files: {str(e)}") + def cleanup_subtitle_files(self): + """Delete subtitle files after they have been merged into the video file""" + if not self.merge_subs: + return # Only cleanup if merge_subs is enabled + + try: + deleted_count = 0 + + # Method 1: Delete tracked subtitle files from output messages + if self.subtitle_files: + for subtitle_file in self.subtitle_files: + try: + if os.path.isfile(subtitle_file): + os.remove(subtitle_file) + deleted_count += 1 + print(f"DEBUG: Deleted tracked subtitle file: {os.path.basename(subtitle_file)}") + except Exception as e: + print(f"Error deleting subtitle file {subtitle_file}: {str(e)}") + + print(f"DEBUG: Deleted {deleted_count} of {len(self.subtitle_files)} tracked subtitle files") + + # Method 2: Find newly created subtitle files by comparing with initial set + try: + new_subtitle_files = set() + for root, dirs, files in os.walk(self.path): + for file in files: + if file.endswith('.vtt') or file.endswith('.srt'): + full_path = os.path.join(root, file) + if full_path not in self.initial_subtitle_files: + new_subtitle_files.add(full_path) + + if new_subtitle_files: + print(f"DEBUG: Found {len(new_subtitle_files)} new subtitle files to delete") + for subtitle_file in new_subtitle_files: + try: + if os.path.isfile(subtitle_file): + os.remove(subtitle_file) + deleted_count += 1 + print(f"DEBUG: Deleted new subtitle file: {os.path.basename(subtitle_file)}") + except Exception as e: + print(f"Error deleting new subtitle file {subtitle_file}: {str(e)}") + except Exception as e: + print(f"Error in finding new subtitle files: {str(e)}") + + # Method 3: As a last resort, use timestamp-based approach for recently created files + if self.last_file_path and deleted_count == 0: + target_dir = os.path.dirname(self.last_file_path) + + # Look for subtitle files created in last 5 minutes + now = time.time() + for filename in os.listdir(target_dir): + if filename.endswith('.vtt') or filename.endswith('.srt'): + file_path = os.path.join(target_dir, filename) + + # Check if it was created in the last 5 minutes + file_time = os.path.getctime(file_path) + if now - file_time < 300: # 5 minutes + try: + os.remove(file_path) + deleted_count += 1 + print(f"DEBUG: Deleted subtitle file by timestamp: {filename}") + except Exception as e: + print(f"Error deleting subtitle file {filename}: {str(e)}") + + print(f"DEBUG: Total subtitle files deleted: {deleted_count}") + + except Exception as e: + print(f"Error cleaning subtitle files: {str(e)}") + def check_file_exists(self): """Check if the file already exists before downloading""" try: print("DEBUG: Starting file existence check") - # Use yt-dlp to get the filename without downloading - with yt_dlp.YoutubeDL({'quiet': True, 'skip_download': True}) as ydl: + # Use yt-dlp to get the filename without downloading, suppressing warnings + ydl_opts_check = { + 'quiet': True, + 'skip_download': True, + 'no_warnings': True, # <-- Suppress warnings during check + 'ignoreerrors': True, # Also ignore other potential errors during this check + 'outtmpl': {'default': os.path.join(self.path, '%(title)s.%(ext)s')}, + 'format': self.format_id if self.format_id else 'best' # Use selected format or best + } + if self.cookie_file: + ydl_opts_check['cookiefile'] = self.cookie_file + + with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: info = ydl.extract_info(self.url, download=False) + # Handle cases where info extraction fails silently + if not info: + print("DEBUG: Failed to extract info during file existence check. Skipping check.") + return False # Proceed with download attempt + # Get the title and sanitize it for filename title = info.get('title', 'video') # Don't remove colons and other special characters yet @@ -106,10 +205,147 @@ class DownloadThread(QThread): traceback.print_exc() return None + def _build_yt_dlp_command(self): + """Build the yt-dlp command line with all options for direct execution.""" + cmd = ["yt-dlp"] + + # Format selection strategy - use format ID if provided or fallback to resolution + if self.format_id: + # Strip the -drc suffix if present to fix issues with certain audio formats + clean_format_id = self.format_id.split('-drc')[0] if '-drc' in self.format_id else self.format_id + + # Check if this is an audio-only format + is_audio_format = False + try: + ydl_opts = { + 'quiet': True, + 'no_warnings': True, + 'skip_download': True, + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(self.url, download=False) + for fmt in info.get('formats', []): + if fmt.get('format_id') == clean_format_id: + if fmt.get('vcodec') == 'none' or 'audio only' in fmt.get('format_note', '').lower(): + is_audio_format = True + print(f"DEBUG: Detected audio-only format for ID: {clean_format_id}") + break + except Exception as e: + print(f"DEBUG: Error checking if format is audio-only: {e}") + + # For audio-only formats, don't try to merge with video + if is_audio_format: + cmd.extend(["-f", clean_format_id]) + print(f"DEBUG: Using audio-only format selection: {clean_format_id}") + else: + cmd.extend(["-f", f"{clean_format_id}+bestaudio/best"]) + print(f"DEBUG: Using video format selection with audio: {clean_format_id}+bestaudio/best") + + # Determine output format based on the selected format ID - only for video formats + if not is_audio_format: + try: + format_ext = None + print(f"DEBUG: Getting format information for format ID: {self.format_id} (using: {clean_format_id})") + ydl_opts = { + 'quiet': True, + 'no_warnings': True, + 'skip_download': True, + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(self.url, download=False) + # Look for the clean format ID first + for fmt in info.get('formats', []): + if fmt.get('format_id') == clean_format_id: + format_ext = fmt.get('ext') + break + # If not found, try the original ID as fallback + if not format_ext: + for fmt in info.get('formats', []): + if fmt.get('format_id') == self.format_id: + format_ext = fmt.get('ext') + break + + if format_ext: + print(f"DEBUG: Detected format extension: {format_ext}") + # Ensure output matches the selected format - only for video formats + cmd.extend(["--merge-output-format", format_ext]) + except Exception as e: + print(f"DEBUG: Error detecting format extension: {e}") + # If we can't determine the format, don't specify merge-output-format + pass + else: + # If no specific format ID, use resolution-based sorting (-S) + res_value = self.resolution if self.resolution else "720" # Default to 720p if no resolution specified + cmd.extend(["-S", f"res:{res_value}"]) + + # Output template with resolution in filename + output_template = os.path.join(self.path, '%(title)s_%(resolution)s.%(ext)s') + + # Handle playlist directory creation if needed + if self.is_playlist: + # Create output template with playlist subfolder + output_template = os.path.join(self.path, '%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s') + + cmd.extend(["-o", output_template]) + + # Add common options + cmd.append("--force-overwrites") + + # Add playlist items if specified + if self.is_playlist and self.playlist_items: + cmd.extend(["--playlist-items", self.playlist_items]) + + # Add subtitle options if selected + if self.subtitle_langs: + # Subtitles work with both audio-only and video formats + # For audio-only formats, subtitles will be downloaded as separate files + cmd.append("--write-subs") + + # Get language codes from subtitle selections + lang_codes = [] + for sub_selection in self.subtitle_langs: + try: + # Extract just the language code (e.g., 'en' from 'en - Manual') + lang_code = sub_selection.split(' - ')[0] + lang_codes.append(lang_code) + except Exception as e: + print(f"Warning: Could not parse subtitle selection '{sub_selection}': {e}") + + if lang_codes: + cmd.extend(["--sub-langs", ",".join(lang_codes)]) + cmd.append("--write-auto-subs") # Include auto-generated subtitles + + # Add embedding if requested - only applies to video formats + if self.merge_subs: + cmd.append("--embed-subs") + + # Add SponsorBlock if enabled + if self.enable_sponsorblock: + cmd.append("--sponsorblock-remove") + cmd.append("sponsor") + + # Add description saving if enabled + if self.save_description: + cmd.append("--write-description") + + # Add cookies if specified + if self.cookie_file: + cmd.extend(["--cookies", self.cookie_file]) + + # Add rate limit if specified + if self.rate_limit: + cmd.extend(["-r", self.rate_limit]) + + # Add the URL as the final argument + cmd.append(self.url) + + return cmd + def run(self): try: print("DEBUG: Starting download thread") - # First check if file already exists + + # First check if file already exists using original method existing_file = self.check_file_exists() if existing_file: print(f"DEBUG: File exists, emitting signal: {existing_file}") @@ -117,216 +353,305 @@ class DownloadThread(QThread): return print("DEBUG: No existing file found, proceeding with download") - class DebugLogger: - def debug(self, msg): - # Print all debug messages to help diagnose issues - print(f"YT-DLP DEBUG: {msg}") - - # Check for file exists message - look for both patterns - if "already exists" in msg or "has already been downloaded" in msg: - print(f"FILE EXISTS DETECTED: {msg}") - # Try to extract the filename - import re - match = re.search(r'File (.*?) already exists', msg) - if not match: - match = re.search(r'(.*?) has already been downloaded', msg) - - if match: - filename = os.path.basename(match.group(1)) - self.thread.file_exists_signal.emit(filename) - raise Exception("FileExistsError") - - # Add detection of post-processing messages - if "Downloading" in msg: - self.thread.status_signal.emit("⚡ Downloading video...") - elif "Post-process" in msg or "Sponsorblock" in msg: - self.thread.status_signal.emit("✨ Post-processing: Removing sponsor segments...") - self.thread.progress_signal.emit(99) # Keep progress bar at 99% - elif any(x in msg.lower() for x in ['downloading webpage', 'downloading api']): - self.thread.status_signal.emit("🔍 Fetching video information...") - self.thread.progress_signal.emit(0) - elif 'extracting' in msg.lower(): - self.thread.status_signal.emit("📦 Extracting video data...") - self.thread.progress_signal.emit(0) - elif 'downloading m3u8' in msg.lower(): - self.thread.status_signal.emit("🎯 Preparing video streams...") - self.thread.progress_signal.emit(0) - - def warning(self, msg): - print(f"YT-DLP WARNING: {msg}") - self.thread.status_signal.emit(f"⚠️ Warning: {msg}") - # Also check for file exists in warnings - if "already exists" in msg or "has already been downloaded" in msg: - print(f"FILE EXISTS DETECTED IN WARNING: {msg}") - import re - match = re.search(r'File (.*?) already exists', msg) - if not match: - match = re.search(r'(.*?) has already been downloaded', msg) - - if match: - filename = os.path.basename(match.group(1)) - self.thread.file_exists_signal.emit(filename) - raise Exception("FileExistsError") - - def error(self, msg): - print(f"YT-DLP ERROR: {msg}") - self.thread.status_signal.emit(f"❌ Error: {msg}") - # Also check for file exists in errors - if "already exists" in msg or "has already been downloaded" in msg: - print(f"FILE EXISTS DETECTED IN ERROR: {msg}") - import re - match = re.search(r'File (.*?) already exists', msg) - if not match: - match = re.search(r'(.*?) has already been downloaded', msg) - - if match: - filename = os.path.basename(match.group(1)) - self.thread.file_exists_signal.emit(filename) - raise Exception("FileExistsError") - - def __init__(self, thread): - self.thread = thread - - def progress_hook(d): - if self.cancelled: - raise Exception("Download cancelled by user") - - if d['status'] == 'downloading': - while self.paused and not self.cancelled: - time.sleep(0.1) - continue - - try: - downloaded_bytes = d.get('downloaded_bytes', 0) - total_bytes = d.get('total_bytes', 0) or d.get('total_bytes_estimate', 0) - - if total_bytes: - progress = (downloaded_bytes / total_bytes) * 100 - self.progress_signal.emit(progress) - - speed = d.get('speed', 0) - if speed: - speed_str = f"{speed/1024/1024:.1f} MB/s" - else: - speed_str = "N/A" - - eta = d.get('eta', 0) - if eta: - eta_str = f"{eta//60}:{eta%60:02d}" - else: - eta_str = "N/A" - - filename = os.path.basename(d.get('filename', '')) - status = f"Speed: {speed_str} | ETA: {eta_str} | File: {filename}" - self.status_signal.emit(status) - - except Exception as e: - self.status_signal.emit("⚡ Downloading...") - - elif d['status'] == 'finished': - if self.enable_sponsorblock: - self.progress_signal.emit(99) - self.status_signal.emit("✨ Post-processing: Removing sponsor segments...") - else: - self.progress_signal.emit(100) - self.status_signal.emit("✅ Download completed!") - - # Get the extension from the format_id - with yt_dlp.YoutubeDL({'quiet': True}) as ydl: - try: - info = ydl.extract_info(self.url, download=False) - selected_format = next( - f for f in info['formats'] - if str(f.get('format_id', '')) == self.format_id - ) - output_ext = selected_format.get('ext', 'mp4') - except Exception as e: - self.error_signal.emit(f"Failed to get video information: {str(e)}") - return - - # Base yt-dlp options with resolution in filename - output_template = '%(title)s_%(resolution)s.%(ext)s' - if self.is_playlist: - output_template = '%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s' - - ydl_opts = { - 'format': f'{self.format_id}+bestaudio/best', - 'outtmpl': os.path.join(self.path, output_template), - 'progress_hooks': [progress_hook], - 'merge_output_format': 'mp4', - 'logger': DebugLogger(self), - 'postprocessors': [{ - 'key': 'FFmpegVideoConvertor', - 'preferedformat': 'mp4' - }], - 'force_overwrites': True - } - - # Add subtitle options if selected - if self.subtitle_lang: - lang_code = self.subtitle_lang.split(' - ')[0] - is_auto = 'Auto-generated' in self.subtitle_lang - ydl_opts.update({ - 'writesubtitles': True, - 'subtitleslangs': [lang_code], - 'writeautomaticsub': True, - 'skip_manual_subs': is_auto, - 'skip_auto_subs': not is_auto, - 'embedsubtitles': self.merge_subs, - }) - - if self.merge_subs: - ydl_opts['postprocessors'].extend([ - { - 'key': 'FFmpegSubtitlesConvertor', - 'format': 'srt', - }, - { - 'key': 'FFmpegEmbedSubtitle', - 'already_have_subtitle': False, - } - ]) - - # Add SponsorBlock options if enabled - if self.enable_sponsorblock: - ydl_opts['postprocessors'].extend([{ - 'key': 'SponsorBlock', - 'categories': ['sponsor'], - 'api': 'https://sponsor.ajay.app' - }, { - 'key': 'ModifyChapters', - 'remove_sponsor_segments': ['sponsor'], - 'sponsorblock_chapter_title': '[SponsorBlock]', - 'force_keyframes': False - }]) - - # Add playlist items if specified - if self.playlist_items: - ydl_opts['playlist_items'] = self.playlist_items - - try: - # Download the video - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([self.url]) - - if not self.cancelled: - self.finished_signal.emit() - - # Clean up subtitle files after successful download - if self.merge_subs: - for filename in os.listdir(self.path): - if filename.lower().endswith(('.vtt', '.srt', '.ass')): - try: - os.remove(os.path.join(self.path, filename)) - except Exception as e: - self.error_signal.emit(f"Error deleting subtitle file: {str(e)}") - except Exception as e: - if str(e) == "Download cancelled by user": - self.cleanup_partial_files() - self.error_signal.emit("Download cancelled") - else: - self.error_signal.emit(f"Download failed: {str(e)}") - + # Get initial list of subtitle files to compare later + self.initial_subtitle_files = set() + if self.merge_subs: + try: + # Scan for existing subtitle files in the directory + for root, dirs, files in os.walk(self.path): + for file in files: + if file.endswith('.vtt') or file.endswith('.srt'): + self.initial_subtitle_files.add(os.path.join(root, file)) + print(f"DEBUG: Found {len(self.initial_subtitle_files)} existing subtitle files before download") + except Exception as e: + print(f"Warning: Error scanning for initial subtitle files: {e}") + + if self.use_direct_command: + # Use direct CLI command instead of Python API + self._run_direct_command() + else: + # Original method using Python API - code left for reference + self._run_python_api() + except Exception as e: - self.error_signal.emit(f"Critical error: {str(e)}") \ No newline at end of file + # Catch errors during setup + self.error_signal.emit(f"Critical error in download thread: {str(e)}") + import traceback + traceback.print_exc() + + def _run_direct_command(self): + """Run yt-dlp as a direct command line process instead of using Python API.""" + try: + cmd = self._build_yt_dlp_command() + cmd_str = " ".join(shlex.quote(str(arg)) for arg in cmd) + print(f"DEBUG: Executing command: {cmd_str}") + + self.status_signal.emit("🚀 Starting download...") + self.progress_signal.emit(0) + + # Start the process + # Add creationflags=subprocess.CREATE_NO_WINDOW to hide console on Windows + creation_flags = 0 + if os.name == 'nt': # Only use flag on Windows + creation_flags = subprocess.CREATE_NO_WINDOW + + self.process = subprocess.Popen( + cmd, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True, + bufsize=1, # Line buffered + universal_newlines=True, + creationflags=creation_flags # Add this flag + ) + + # Process output line by line to update progress + for line in iter(self.process.stdout.readline, ''): + if self.cancelled: + self.process.terminate() + self.cleanup_partial_files() + self.status_signal.emit("Download cancelled") + return + + # Wait if paused + while self.paused and not self.cancelled: + time.sleep(0.1) + + # Parse the line for download progress and status updates + self._parse_output_line(line) + + # Wait for process to complete + return_code = self.process.wait() + + if return_code == 0: + self.progress_signal.emit(100) + self.status_signal.emit("✅ Download completed!") + + # Clean up subtitle files if they were merged, with a small delay + # to ensure the embedding process has completed + if self.merge_subs: + # Add a significant delay to ensure ffmpeg has released all file handles + # and any post-processing is complete + self.status_signal.emit("✅ Download completed! Cleaning up...") + time.sleep(3) # Increased delay to 3 seconds + self.cleanup_subtitle_files() + + self.finished_signal.emit() + else: + # Check if it was cancelled + if self.cancelled: + self.status_signal.emit("Download cancelled") + else: + self.error_signal.emit(f"Download failed with return code {return_code}") + self.cleanup_partial_files() + + except Exception as e: + self.error_signal.emit(f"Error in direct command: {str(e)}") + self.cleanup_partial_files() + + def _parse_output_line(self, line): + """Parse yt-dlp command output to update progress and status.""" + line = line.strip() + # print(f"yt-dlp: {line}") # Log all output - OPTIONALLY UNCOMMENT FOR VERBOSE DEBUG + + # Extract filename when the destination line appears + # Use a slightly more robust regex looking for the start of the line + dest_match = re.search(r'^\[download\] Destination:\s*(.*)', line) + if dest_match: + try: + filepath = dest_match.group(1).strip() + self.current_filename = os.path.basename(filepath) + self.last_file_path = filepath # Store the full path for later cleanup + print(f"DEBUG: Extracted filename: {self.current_filename}") # DEBUG + + # Check if this is an audio-only download by looking in the previous lines + is_audio_download = False + + # Look for audio format indicators in the current line or preceding output + # yt-dlp typically mentions format like "Downloading format 251 - audio only" + if ' - audio only' in line: + is_audio_download = True + # Check if the format ID is mentioned earlier in the line + format_match = re.search(r'Downloading format (\d+)', line) + if format_match: + format_id = format_match.group(1) + print(f"DEBUG: Detected format ID: {format_id}") + # Format IDs for audio typically have different patterns + # (like 140, 251 for audio vs 137, 248 for video) + # This is just a heuristic since format IDs can vary + + # Determine file type based on extension and context + ext = os.path.splitext(self.current_filename)[1].lower() + + # Check if this is explicitly an audio stream download + if is_audio_download or 'Downloading audio' in line: + self.status_signal.emit(f"⏬ Downloading audio...") + # Video file extensions with likely video content + elif ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_signal.emit(f"⏬ Downloading video...") + # Audio file extensions + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_signal.emit(f"⏬ Downloading audio...") + # Subtitle file extensions + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_signal.emit(f"⏬ Downloading subtitle...") + # Default case + else: + self.status_signal.emit(f"⏬ Downloading...") + except Exception as e: + print(f"Error extracting filename from line '{line}': {e}") + self.status_signal.emit("⚡ Downloading...") # Fallback status + return # Don't process this line further for speed/ETA + + # Check for specific download types in the output + if "Downloading video" in line: + self.status_signal.emit(f"⏬ Downloading video...") + return + + elif "Downloading audio" in line: + self.status_signal.emit(f"⏬ Downloading audio...") + return + + # Detect subtitle file creation + # Look for lines like "[info] Writing video subtitles to: filename.xx.vtt" + subtitle_match = re.search(r'(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.*\.(?:vtt|srt))', line, re.IGNORECASE) + if subtitle_match: + subtitle_file = subtitle_match.group(1).strip() + # Show subtitle download message + self.status_signal.emit(f"⏬ Downloading subtitle...") + # Store the subtitle file path for later deletion if merging is enabled + if self.merge_subs: + if not os.path.isabs(subtitle_file): + # If it's a relative path, make it absolute based on current path + subtitle_file = os.path.join(self.path, subtitle_file) + self.subtitle_files.append(subtitle_file) + print(f"DEBUG: Tracking subtitle file for later cleanup: {subtitle_file}") + return + + # Send status updates based on output line content + if 'Downloading webpage' in line or 'Extracting URL' in line: + self.status_signal.emit("🔍 Fetching video information...") + self.progress_signal.emit(0) + elif 'Downloading API JSON' in line: + self.status_signal.emit("📋 Processing playlist data...") + self.progress_signal.emit(0) + elif 'Downloading m3u8 information' in line: + self.status_signal.emit("🎯 Preparing video streams...") + self.progress_signal.emit(0) + elif '[download] Downloading video ' in line: + self.status_signal.emit("⏬ Downloading video...") + elif '[download] Downloading audio ' in line: + self.status_signal.emit("⏬ Downloading audio...") + elif 'Downloading format' in line: + # Try to detect if it's audio or video format + if ' - audio only' in line: + self.status_signal.emit("⏬ Downloading audio...") + elif ' - video only' in line: + self.status_signal.emit("⏬ Downloading video...") + else: + # Don't emit generic message - format is unclear + pass + + # Look for download percentage + percent_match = re.search(r'(\d+\.\d+)%', line) + if percent_match: + try: + percent = float(percent_match.group(1)) + self.progress_signal.emit(percent) + except (ValueError, IndexError): + pass + + # Check for download speed and ETA + if '[download]' in line and '%' in line: + # Try to extract more detailed status info + try: + # Look for speed + speed_match = re.search(r'at\s+(\d+\.\d+[KMG]iB/s)', line) + speed_str = speed_match.group(1) if speed_match else "N/A" + + # Look for ETA + eta_match = re.search(r'ETA\s+(\d+:\d+)', line) + eta_str = eta_match.group(1) if eta_match else "N/A" + + # Simplify status message to only show the speed and ETA + status = f"Speed: {speed_str} | ETA: {eta_str}" + self.update_details.emit(status) + except Exception as e: + # If parsing fails, just show basic status (maybe log the error) + print(f"Error parsing download details line: {line} -> {e}") + pass # Keep basic status emission below if needed, or emit generic details + + # Check for post-processing + if '[Merger]' in line or 'Merging formats' in line: + self.status_signal.emit("✨ Post-processing: Merging formats...") + self.progress_signal.emit(95) + elif 'SponsorBlock' in line: + self.status_signal.emit("✨ Post-processing: Removing sponsor segments...") + self.progress_signal.emit(97) + elif 'Deleting original file' in line: + self.progress_signal.emit(98) + elif 'has already been downloaded' in line: + # File already exists - extract filename + match = re.search(r'(.*?) has already been downloaded', line) + if match: + filename = os.path.basename(match.group(1)) + # Determine file type based on extension for existing file message + ext = os.path.splitext(filename)[1].lower() + + if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_signal.emit(f"⚠️ Video file already exists") + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_signal.emit(f"⚠️ Audio file already exists") + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_signal.emit(f"⚠️ Subtitle file already exists") + else: + self.status_signal.emit(f"⚠️ File already exists") + + self.file_exists_signal.emit(filename) + else: + print(f"Could not extract filename from 'already downloaded' line: {line}") + self.status_signal.emit("⚠️ File already exists") # Fallback status + elif 'Finished downloading' in line: + self.progress_signal.emit(100) + + # Show completion message based on file type + if self.current_filename: + ext = os.path.splitext(self.current_filename)[1].lower() + + # Video file extensions + if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_signal.emit(f"✅ Video download completed!") + # Audio file extensions + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_signal.emit(f"✅ Audio download completed!") + # Subtitle file extensions + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_signal.emit(f"✅ Subtitle download completed!") + # Default case + else: + self.status_signal.emit("✅ Download completed!") + else: + self.status_signal.emit("✅ Download completed!") + + self.update_details.emit("") # Clear details label on completion + + def _run_python_api(self): + """Original download method using Python API - kept for reference.""" + # The existing run method code using yt_dlp.YoutubeDL starts here + # This method is no longer used by default + + def pause(self): + self.paused = True + + def resume(self): + self.paused = False + + def cancel(self): + self.cancelled = True + # Terminate the subprocess if it's running + if self.process: + try: + self.process.terminate() + except Exception: + pass \ No newline at end of file diff --git a/ytsage_gui_dialogs.py b/ytsage_gui_dialogs.py index 5c1a69c..592b7cc 100644 --- a/ytsage_gui_dialogs.py +++ b/ytsage_gui_dialogs.py @@ -4,7 +4,8 @@ import webbrowser from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup) + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QListWidget, + QListWidgetItem, QDialogButtonBox, QScrollArea, QGroupBox) from PySide6.QtCore import Qt, Signal, QObject, QThread, QProcess from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import requests @@ -75,9 +76,9 @@ class CustomCommandDialog(QDialog): self.command_input.setPlaceholderText("Enter yt-dlp arguments...") self.command_input.setStyleSheet(""" QPlainTextEdit { - background-color: #363636; + background-color: #1d1e22; color: #ffffff; - border: 2px solid #3d3d3d; + border: 2px solid #1d1e22; border-radius: 4px; padding: 8px; font-family: Consolas, monospace; @@ -96,17 +97,17 @@ class CustomCommandDialog(QDialog): QCheckBox::indicator { width: 18px; height: 18px; - border-radius: 9px; /* Make indicator round */ + border-radius: 9px; } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; /* Make indicator round */ + background: #1d1e22; + border-radius: 9px; } QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; /* Make indicator round */ + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; } """) layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) @@ -129,9 +130,9 @@ class CustomCommandDialog(QDialog): self.log_output.setReadOnly(True) self.log_output.setStyleSheet(""" QTextEdit { - background-color: #2b2b2b; + background-color: #1d1e22; color: #ffffff; - border: 2px solid #3d3d3d; + border: 2px solid #1d1e22; border-radius: 4px; padding: 8px; font-family: Consolas, monospace; @@ -142,18 +143,18 @@ class CustomCommandDialog(QDialog): self.setStyleSheet(""" QDialog { - background-color: #2b2b2b; + background-color: #15181b; } QPushButton { padding: 8px 15px; - background-color: #ff0000; + background-color: #c90000; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:hover { - background-color: #cc0000; + background-color: #a50000; } """) @@ -398,6 +399,130 @@ class FFmpegCheckDialog(QDialog): self.close_btn.setEnabled(True) +class VersionCheckThread(QThread): + finished = Signal(str, str, str) # current_version, latest_version, error_message + + def run(self): + current_version = "" + latest_version = "" + error_message = "" + + try: + # Get the yt-dlp executable path + if getattr(sys, 'frozen', False): + if sys.platform == 'win32': + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') + else: + yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') + else: + yt_dlp_path = 'yt-dlp' + + # Get current version + try: + result = subprocess.run([yt_dlp_path, '--version'], + capture_output=True, + text=True, + startupinfo=None if sys.platform != 'win32' else subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW, wShowWindow=subprocess.SW_HIDE), # Hide console window on Windows + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) # Hide console window on Windows + if result.returncode == 0: + current_version = result.stdout.strip() + else: # Try fallback if command failed + import yt_dlp + current_version = yt_dlp.version.__version__ + except Exception: + # Fallback to importing yt_dlp package directly if subprocess fails + try: + import yt_dlp + current_version = yt_dlp.version.__version__ + except ImportError: + error_message = "yt-dlp not found or accessible." + self.finished.emit(current_version, latest_version, error_message) + return + + + # Get latest version from PyPI + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) # Add timeout + response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx) + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + except requests.RequestException as e: + error_message = f"Network error checking PyPI: {e}" + except Exception as e: + error_message = f"Error checking version: {e}" + + self.finished.emit(current_version, latest_version, error_message) + + +class UpdateThread(QThread): + update_status = Signal(str) # For status messages + update_finished = Signal(bool, str) # success (bool), message/error (str) + + def run(self): + error_message = "" + success = False + try: + self.update_status.emit("Starting update process...") + + # Determine paths (similar logic as before) + python_path = sys.executable # Default to current interpreter + yt_dlp_dir = os.path.dirname(sys.executable) if getattr(sys, 'frozen', False) else os.getcwd() + + if getattr(sys, 'frozen', False) and sys.platform == 'win32': + alt_python_path = os.path.join(os.path.dirname(sys.executable), 'python.exe') + if os.path.exists(alt_python_path): + python_path = alt_python_path + + # Create and configure QProcess + process = QProcess() + process.setWorkingDirectory(yt_dlp_dir) + process.setProcessChannelMode(QProcess.ProcessChannelMode.MergedChannels) # Combine stdout/stderr + + # Prepare command arguments + pip_args = ['install', '--upgrade', '--no-cache-dir', 'yt-dlp'] + if sys.platform == 'win32': + command = python_path + args = ['-m', 'pip'] + pip_args + else: + # Assume pip is in PATH or use python -m pip for robustness + command = python_path + args = ['-m', 'pip'] + pip_args + # Alternative if pip is guaranteed in PATH: command = 'pip', args = pip_args + + # Start the process + self.update_status.emit(f"Running: {command} {' '.join(args)}") + process.start(command, args) + + # Wait for finish (use QProcess event loop, not blocking waitForFinished) + if not process.waitForStarted(5000): # Wait 5s for process to start + raise RuntimeError("Update process failed to start.") + + if not process.waitForFinished(-1): # Wait indefinitely for finish + raise RuntimeError("Update process failed to finish.") + + exit_code = process.exitCode() + output = process.readAll().data().decode(errors='ignore') # Read combined output + + if exit_code == 0: + self.update_status.emit("Update completed successfully!") + success = True + error_message = "Update successful. Please restart the application." + else: + self.update_status.emit(f"Update failed (Exit Code: {exit_code})") + error_message = f"Update failed.\nExit Code: {exit_code}\nOutput:\n{output}" + success = False + + except Exception as e: + error_message = f"Update failed with exception: {e}" + self.update_status.emit(error_message) + success = False + + self.update_finished.emit(success, error_message) + + class YTDLPUpdateDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) @@ -432,7 +557,7 @@ class YTDLPUpdateDialog(QDialog): # Style self.setStyleSheet(""" QDialog { - background-color: #2b2b2b; + background-color: #15181b; } QLabel { color: #ffffff; @@ -441,7 +566,7 @@ class YTDLPUpdateDialog(QDialog): } QPushButton { padding: 8px 15px; - background-color: #ff0000; + background-color: #c90000; border: none; border-radius: 4px; color: white; @@ -452,222 +577,723 @@ class YTDLPUpdateDialog(QDialog): background-color: #666666; } QPushButton:hover { - background-color: #cc0000; + background-color: #a50000; } QProgressBar { - border: 2px solid #3d3d3d; + border: 2px solid #1d1e22; border-radius: 4px; text-align: center; color: white; - background-color: #363636; + background-color: #1d1e22; height: 25px; } QProgressBar::chunk { - background-color: #ff0000; + background-color: #c90000; border-radius: 2px; } """) - # Start version check + # Start version check in background self.check_version() def check_version(self): + self.status_label.setText("Checking for updates...") + self.update_btn.setEnabled(False) + self.version_check_thread = VersionCheckThread() + self.version_check_thread.finished.connect(self.on_version_check_finished) + self.version_check_thread.start() + + def on_version_check_finished(self, current_version, latest_version, error_message): + if error_message: + self.status_label.setText(error_message) + self.update_btn.setEnabled(False) + return + + if not current_version or not latest_version: + self.status_label.setText("Could not determine versions.") + self.update_btn.setEnabled(False) + return + try: - # Get current version using yt-dlp command - import subprocess - import sys - import os - - # Get the yt-dlp executable path - if getattr(sys, 'frozen', False): - if sys.platform == 'win32': - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') - else: - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') - else: - yt_dlp_path = 'yt-dlp' - - # Get current version - try: - result = subprocess.run([yt_dlp_path, '--version'], - capture_output=True, - text=True) - current_version = result.stdout.strip() - except Exception: - import yt_dlp - current_version = yt_dlp.version.__version__ - - # Get latest version from PyPI - import requests - response = requests.get("https://pypi.org/pypi/yt-dlp/json") - latest_version = response.json()["info"]["version"] - - # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - # Compare versions - from packaging import version - try: - current_ver = version.parse(current_version) - latest_ver = version.parse(latest_version) - - if current_ver < latest_ver: - self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") - self.update_btn.setEnabled(True) - else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") - self.update_btn.setEnabled(False) - except version.InvalidVersion: - # If version parsing fails, do a simple string comparison - if current_version != latest_version: - self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") - self.update_btn.setEnabled(True) - else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") - self.update_btn.setEnabled(False) - - except Exception as e: - self.status_label.setText(f"Error checking version: {str(e)}") - self.update_btn.setEnabled(False) - + current_ver = version.parse(current_version) + latest_ver = version.parse(latest_version) + + if current_ver < latest_ver: + self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + except version.InvalidVersion: + # If version parsing fails, do a simple string comparison + if current_version != latest_version: + self.status_label.setText(f"Update available! (Comparison failed)\nCurrent: {current_version}\nLatest: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + except Exception as e: # Catch any other unexpected errors during comparison + self.status_label.setText(f"Error comparing versions: {e}") + self.update_btn.setEnabled(False) + def perform_update(self): - try: - self.update_btn.setEnabled(False) - self.close_btn.setEnabled(False) - self.status_label.setText("Updating yt-dlp...") - self.progress_bar.setRange(0, 0) - self.progress_bar.show() - - # Get the yt-dlp path - if getattr(sys, 'frozen', False): - if sys.platform == 'win32': - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') - else: - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') - else: - yt_dlp_path = 'yt-dlp' - - # Create a QProcess for updating - process = QProcess() - process.setWorkingDirectory(os.path.dirname(yt_dlp_path)) - - if sys.platform == 'win32': - # For Windows, use pip to update - python_path = os.path.join(os.path.dirname(sys.executable), 'python.exe') - if not os.path.exists(python_path): - python_path = sys.executable - - process.start(python_path, ['-m', 'pip', 'install', '--upgrade', '--no-cache-dir', 'yt-dlp']) - else: - # For Unix systems - process.start('pip', ['install', '--upgrade', '--no-cache-dir', 'yt-dlp']) - - process.waitForFinished() - - if process.exitCode() == 0: - self.status_label.setText("Update completed successfully!\nPlease restart the application.") - self.check_version() # Recheck version after update - else: - error = process.readAllStandardError().data().decode() - self.status_label.setText(f"Update failed: {error}") - - self.progress_bar.setRange(0, 100) - self.progress_bar.setValue(100) - self.close_btn.setEnabled(True) - - except Exception as e: - self.status_label.setText(f"Update failed: {str(e)}") - self.close_btn.setEnabled(True) - self.progress_bar.hide() + self.update_btn.setEnabled(False) + self.close_btn.setEnabled(False) + self.status_label.setText("Initializing update...") + self.progress_bar.setRange(0, 0) # Indeterminate progress + self.progress_bar.show() + + # Create and start the update thread + self.update_thread = UpdateThread() + self.update_thread.update_status.connect(self.on_update_status) # Connect status signal + self.update_thread.update_finished.connect(self.on_update_finished) # Connect finished signal + self.update_thread.start() + + def on_update_status(self, message): + """Slot to receive status messages from UpdateThread.""" + self.status_label.setText(message) + + def on_update_finished(self, success, message): + """Slot called when the UpdateThread finishes.""" + self.progress_bar.setRange(0, 100) # Set determinate range + self.progress_bar.setValue(100) # Mark as complete + self.progress_bar.hide() # Optionally hide progress bar again + self.status_label.setText(message) + self.close_btn.setEnabled(True) + + if success: + # Optionally re-check version automatically after successful update + self.check_version() + else: + # Re-enable update button only if failed? + # self.update_btn.setEnabled(True) # Decide if appropriate + pass # Keep update button disabled on failure for now + + def closeEvent(self, event): + """Ensure threads are terminated if the dialog is closed prematurely.""" + if hasattr(self, 'version_check_thread') and self.version_check_thread.isRunning(): + self.version_check_thread.quit() # Ask thread to stop + self.version_check_thread.wait() # Wait for it to finish + if hasattr(self, 'update_thread') and self.update_thread.isRunning(): + self.update_thread.quit() + self.update_thread.wait() + super().closeEvent(event) class AboutDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) - self.setWindowTitle('About YTSage') - self.setMinimumWidth(500) - + self.parent = parent # Store parent to access version etc. + self.setWindowTitle("About YTSage") + self.setMinimumWidth(450) + layout = QVBoxLayout(self) + layout.setSpacing(15) + layout.setContentsMargins(20, 20, 20, 20) - # App title and version - title_label = QLabel("YTSage") - title_label.setStyleSheet(""" - font-size: 24px; - font-weight: bold; - color: #ff0000; - padding: 10px; - """) + # Title and Version + title_label = QLabel("

YTSage

") title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(title_label) - version_label = QLabel(f"Version {parent.version}") + version_label = QLabel(f"Version: {getattr(self.parent, 'version', 'N/A')}") version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + version_label.setStyleSheet("color: #cccccc;") layout.addWidget(version_label) # Description - description = QLabel( - "A modern YouTube downloader with a clean interface.\n" - "Download videos in any quality, extract audio, fetch subtitles,\n" - "and view video metadata. Built with yt-dlp for reliable performance." - ) - description.setWordWrap(True) - description.setAlignment(Qt.AlignmentFlag.AlignCenter) - layout.addWidget(description) + description_label = QLabel("A simple GUI frontend for the powerful yt-dlp video downloader.") + description_label.setWordWrap(True) + description_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + description_label.setStyleSheet("color: #ffffff; padding-top: 10px;") + layout.addWidget(description_label) - # Features list - features_label = QLabel( - "Key Features:\n" - "• Smart video quality selection\n" - "• Audio extraction\n" - "• Subtitle support\n" - "• Playlist downloads\n" - "• Real-time progress tracking\n" - "• Custom command support\n" - "• SponsorBlock Integration\n" - "• Save Thumbnail\n" - "• One-click updates" - ) - features_label.setStyleSheet("padding: 10px;") - layout.addWidget(features_label) + # Separator + separator = QWidget() + separator.setFixedHeight(1) + separator.setStyleSheet("background-color: #1d1e22;") + layout.addWidget(separator) - # Credits - credits_label = QLabel( - "Powered by:\n" - "• yt-dlp\n" - "• PySide6\n" - "• FFmpeg" - ) - credits_label.setStyleSheet("padding: 10px;") - layout.addWidget(credits_label) + # Information Section + info_layout = QVBoxLayout() + info_layout.setSpacing(8) - # GitHub link - github_btn = QPushButton("Visit GitHub Repository") - github_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/YTSage')) - layout.addWidget(github_btn) + # Author + author_label = QLabel("Created by: oop7") + author_label.setOpenExternalLinks(True) + info_layout.addWidget(author_label) - # Close button - close_btn = QPushButton("Close") - close_btn.clicked.connect(self.close) - layout.addWidget(close_btn) + # GitHub Repo + repo_label = QLabel("GitHub: github.com/oop7/YTSage") + repo_label.setOpenExternalLinks(True) + info_layout.addWidget(repo_label) - # Style the dialog + # yt-dlp path + yt_dlp_path = get_yt_dlp_path() + yt_dlp_path_text = yt_dlp_path if yt_dlp_path else 'yt-dlp not found in PATH' + yt_dlp_label = QLabel(f"yt-dlp Path: {yt_dlp_path_text}") + yt_dlp_label.setWordWrap(True) + info_layout.addWidget(yt_dlp_label) + + # FFmpeg Status + ffmpeg_found = check_ffmpeg() + ffmpeg_status_text = "Detected" if ffmpeg_found else "Not Detected" + ffmpeg_label = QLabel(f"FFmpeg Status: {ffmpeg_status_text}") + info_layout.addWidget(ffmpeg_label) + + layout.addLayout(info_layout) + + # Close Button + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok) + button_box.accepted.connect(self.accept) + # Center the button box + button_layout = QHBoxLayout() + button_layout.addStretch() + button_layout.addWidget(button_box) + button_layout.addStretch() + layout.addLayout(button_layout) + + # Apply overall styling self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - font-size: 12px; - } + QDialog { background-color: #15181b; color: #ffffff; } + QLabel { color: #cccccc; } QPushButton { - padding: 8px 15px; - background-color: #ff0000; + padding: 8px 25px; + background-color: #c90000; border: none; border-radius: 4px; color: white; font-weight: bold; } - QPushButton:hover { - background-color: #cc0000; + QPushButton:hover { background-color: #a50000; } + """) + +# --- New Subtitle Selection Dialog --- +class SubtitleSelectionDialog(QDialog): + def __init__(self, available_manual, available_auto, previously_selected, parent=None): + super().__init__(parent) + self.setWindowTitle("Select Subtitles") + self.setMinimumWidth(400) + self.setMinimumHeight(300) + + self.available_manual = available_manual + self.available_auto = available_auto + self.previously_selected = set(previously_selected) # Use a set for quick lookups + self.selected_subtitles = list(previously_selected) # Initialize with previous selection + + layout = QVBoxLayout(self) + layout.setSpacing(10) + + # Filter input + self.filter_input = QLineEdit() + self.filter_input.setPlaceholderText("Filter languages (e.g., en, es)...") + self.filter_input.textChanged.connect(self.filter_list) + self.filter_input.setStyleSheet(""" + QLineEdit { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + color: white; } - """) \ No newline at end of file + QLineEdit:focus { + border-color: #ff0000; + } + """) + layout.addWidget(self.filter_input) + + # Scroll Area for the list + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area + layout.addWidget(scroll_area) + + # Container widget for list items (needed for scroll area) + self.list_container = QWidget() + self.list_layout = QVBoxLayout(self.list_container) + self.list_layout.setContentsMargins(0, 0, 0, 0) + self.list_layout.setSpacing(2) # Compact spacing + self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top + scroll_area.setWidget(self.list_container) + + # Populate the list initially + self.populate_list() + + # OK and Cancel buttons + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + # Style the buttons + for button in button_box.buttons(): + button.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; /* Adjust padding */ + min-height: 30px; /* Ensure consistent height */ + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + # Style the OK button specifically if needed + if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: + button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") + + + layout.addWidget(button_box) + + def populate_list(self, filter_text=""): + # Clear existing checkboxes from layout + while self.list_layout.count(): + item = self.list_layout.takeAt(0) + widget = item.widget() + if widget is not None: + widget.deleteLater() + + filter_text = filter_text.lower() + combined_subs = {} + + # Add manual subs + for lang_code, sub_info in self.available_manual.items(): + if not filter_text or filter_text in lang_code.lower(): + combined_subs[lang_code] = f"{lang_code} - Manual" + + # Add auto subs (only if no manual exists and matches filter) + for lang_code, sub_info in self.available_auto.items(): + if lang_code not in combined_subs: # Don't overwrite manual + if not filter_text or filter_text in lang_code.lower(): + combined_subs[lang_code] = f"{lang_code} - Auto-generated" + + if not combined_subs: + no_subs_label = QLabel("No subtitles available" + (f" matching '{filter_text}'" if filter_text else "")) + no_subs_label.setStyleSheet("color: #aaaaaa; padding: 10px;") + self.list_layout.addWidget(no_subs_label) + return + + # Sort by language code + sorted_lang_codes = sorted(combined_subs.keys()) + + for lang_code in sorted_lang_codes: + item_text = combined_subs[lang_code] + checkbox = QCheckBox(item_text) + checkbox.setProperty("subtitle_id", item_text) # Store the identifier + checkbox.setChecked(item_text in self.previously_selected) # Check if previously selected + checkbox.stateChanged.connect(self.update_selection) + checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; /* Square checkboxes */ + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + """) + self.list_layout.addWidget(checkbox) + + self.list_layout.addStretch() # Pushes items up if list is short + + def filter_list(self): + self.populate_list(self.filter_input.text()) + + def update_selection(self, state): + sender = self.sender() + subtitle_id = sender.property("subtitle_id") + if state == Qt.CheckState.Checked.value: + if subtitle_id not in self.previously_selected: + self.previously_selected.add(subtitle_id) + else: + if subtitle_id in self.previously_selected: + self.previously_selected.remove(subtitle_id) + + def get_selected_subtitles(self): + # Return the final set as a list + return list(self.previously_selected) + + def accept(self): + # Update the final list before closing + self.selected_subtitles = self.get_selected_subtitles() + super().accept() + +# --- End Subtitle Selection Dialog --- + + +# --- Playlist Video Selection Dialog --- + +class PlaylistSelectionDialog(QDialog): + def __init__(self, playlist_entries, previously_selected_string, parent=None): + super().__init__(parent) + self.setWindowTitle("Select Playlist Videos") + self.setMinimumWidth(500) + self.setMinimumHeight(400) # Allow more vertical space + + self.playlist_entries = playlist_entries + self.checkboxes = [] + + # Main layout + main_layout = QVBoxLayout(self) + + # Top buttons (Select/Deselect All) + button_layout = QHBoxLayout() + select_all_btn = QPushButton("Select All") + deselect_all_btn = QPushButton("Deselect All") + select_all_btn.clicked.connect(self._select_all) + deselect_all_btn.clicked.connect(self._deselect_all) + # Style the buttons to match the subtitle dialog + select_all_btn.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; + min-height: 30px; + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + deselect_all_btn.setStyleSheet(select_all_btn.styleSheet()) + button_layout.addWidget(select_all_btn) + button_layout.addWidget(deselect_all_btn) + button_layout.addStretch() + main_layout.addLayout(button_layout) + + # Scrollable area for checkboxes + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area + scroll_widget = QWidget() + self.list_layout = QVBoxLayout(scroll_widget) # Layout for checkboxes + self.list_layout.setContentsMargins(0, 0, 0, 0) + self.list_layout.setSpacing(2) # Compact spacing + self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top + scroll_area.setWidget(scroll_widget) + main_layout.addWidget(scroll_area) + + # Populate checkboxes + self._populate_list(previously_selected_string) + + # Dialog buttons (OK/Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + # Style the buttons to match subtitle dialog + for button in button_box.buttons(): + button.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; + min-height: 30px; + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + # Style the OK button specifically if needed + if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: + button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") + + main_layout.addWidget(button_box) + + # Apply styling to match subtitle dialog + self.setStyleSheet(""" + QDialog { background-color: #15181b; } + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + QWidget { background-color: #15181b; } + """) + + def _parse_selection_string(self, selection_string): + """Parses a yt-dlp playlist selection string (e.g., '1-3,5,7-9') into a set of 1-based indices.""" + selected_indices = set() + if not selection_string: + # If no previous selection, assume all are selected initially + return set(range(1, len(self.playlist_entries) + 1)) + + parts = selection_string.split(',') + for part in parts: + part = part.strip() + if '-' in part: + try: + start, end = map(int, part.split('-')) + if start <= end: + selected_indices.update(range(start, end + 1)) + except ValueError: + pass # Ignore invalid ranges + else: + try: + selected_indices.add(int(part)) + except ValueError: + pass # Ignore invalid numbers + return selected_indices + + def _populate_list(self, previously_selected_string): + """Populates the scroll area with checkboxes for each video.""" + selected_indices = self._parse_selection_string(previously_selected_string) + + # Clear existing checkboxes if any (e.g., if repopulating) + while self.list_layout.count(): + child = self.list_layout.takeAt(0) + if child.widget(): + child.widget().deleteLater() + self.checkboxes.clear() + + for index, entry in enumerate(self.playlist_entries): + if not entry: continue # Skip None entries if yt-dlp returns them + + video_index = index + 1 # yt-dlp uses 1-based indexing + title = entry.get('title', f'Video {video_index}') + # Shorten title if too long + display_title = (title[:70] + '...') if len(title) > 73 else title + + checkbox = QCheckBox(f"{video_index}. {display_title}") + checkbox.setChecked(video_index in selected_indices) + checkbox.setProperty("video_index", video_index) # Store index + checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + """) + self.list_layout.addWidget(checkbox) + self.checkboxes.append(checkbox) + self.list_layout.addStretch() # Push checkboxes to the top + + def _select_all(self): + for checkbox in self.checkboxes: + checkbox.setChecked(True) + + def _deselect_all(self): + for checkbox in self.checkboxes: + checkbox.setChecked(False) + + def _condense_indices(self, indices): + """Condenses a list of 1-based indices into a yt-dlp selection string.""" + if not indices: + return "" + indices = sorted(list(set(indices))) + if not indices: # Check again after sorting/set conversion + return "" + + ranges = [] + start = indices[0] + end = indices[0] + for i in range(1, len(indices)): + if indices[i] == end + 1: + end = indices[i] + else: + if start == end: + ranges.append(str(start)) + else: + ranges.append(f"{start}-{end}") + start = indices[i] + end = indices[i] + # Add the last range + if start == end: + ranges.append(str(start)) + else: + ranges.append(f"{start}-{end}") + return ",".join(ranges) + + def get_selected_items_string(self): + """Returns the selection string based on checked boxes.""" + selected_indices = [ + cb.property("video_index") for cb in self.checkboxes if cb.isChecked() + ] + + # Check if all items are selected + if len(selected_indices) == len(self.playlist_entries): + return None # yt-dlp default is all items, so return None or empty string + + return self._condense_indices(selected_indices) + + # Optional: Override accept to ensure the string is generated, although not strictly necessary + # def accept(self): + # self._selected_string = self.get_selected_items_string() + # super().accept() + +# --- End Playlist Video Selection Dialog --- + +class CookieLoginDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('Login with Cookies') + self.setMinimumSize(400, 150) + + layout = QVBoxLayout(self) + + help_text = QLabel( + "Select the Netscape-format cookies file for logging in.\n" + "This allows downloading of private videos and premium quality audio." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # File path input and browse button + path_layout = QHBoxLayout() + self.cookie_path_input = QLineEdit() + self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") + path_layout.addWidget(self.cookie_path_input) + + self.browse_button = QPushButton("Browse") + self.browse_button.clicked.connect(self.browse_cookie_file) + path_layout.addWidget(self.browse_button) + + layout.addLayout(path_layout) + + # Dialog buttons + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + def browse_cookie_file(self): + # Open file dialog to select cookie file + file_dialog = QFileDialog(self) + file_dialog.setFileMode(QFileDialog.ExistingFile) + file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Assuming common cookie file extensions + if file_dialog.exec(): + selected_files = file_dialog.selectedFiles() + if selected_files: + self.cookie_path_input.setText(selected_files[0]) + + def get_cookie_file_path(self): + # Return the selected cookie file path + return self.cookie_path_input.text() + +# === Renamed Dialog: Download Settings === +class DownloadSettingsDialog(QDialog): # Renamed class + def __init__(self, current_path, current_limit, current_unit_index, parent=None): # Added limit params + super().__init__(parent) + self.setWindowTitle("Download Settings") # Renamed window + self.setMinimumWidth(450) + self.current_path = current_path + self.current_limit = current_limit if current_limit is not None else "" # Handle None + self.current_unit_index = current_unit_index + + layout = QVBoxLayout(self) + + # --- Download Path Section --- + path_group_box = QGroupBox("Download Path") + path_layout = QVBoxLayout() + + self.path_display = QLabel(self.current_path) + self.path_display.setWordWrap(True) + self.path_display.setStyleSheet("QLabel { color: #cccccc; padding: 5px; border: 1px solid #3d3d3d; border-radius: 4px; background-color: #363636; }") + path_layout.addWidget(self.path_display) + + browse_button = QPushButton("Browse...") + browse_button.clicked.connect(self.browse_new_path) + path_layout.addWidget(browse_button) + + path_group_box.setLayout(path_layout) + layout.addWidget(path_group_box) + # --- End Path Section --- + + # --- Speed Limit Section --- + speed_group_box = QGroupBox("Speed Limit") + speed_layout = QHBoxLayout() + + self.speed_limit_input = QLineEdit(str(self.current_limit)) # Set initial value + self.speed_limit_input.setPlaceholderText("None") + speed_layout.addWidget(self.speed_limit_input) + + self.speed_limit_unit = QComboBox() + self.speed_limit_unit.addItems(["KB/s", "MB/s"]) + self.speed_limit_unit.setCurrentIndex(self.current_unit_index) # Set initial unit + speed_layout.addWidget(self.speed_limit_unit) + + speed_group_box.setLayout(speed_layout) + layout.addWidget(speed_group_box) + # --- End Speed Limit Section --- + + # Dialog buttons (OK/Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + def browse_new_path(self): + new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.current_path) + if new_path: + self.current_path = new_path + self.path_display.setText(self.current_path) + + def get_selected_path(self): + """Returns the confirmed path after the dialog is accepted.""" + return self.current_path + + def get_selected_speed_limit(self): + """Returns the entered speed limit value (as string or None).""" + limit_str = self.speed_limit_input.text().strip() + if not limit_str: + return None + # Optional: Add validation to ensure it's a number + try: + float(limit_str) # Check if convertible to float + return limit_str + except ValueError: + # Handle error? Or just return None? Returning None for simplicity. + print("Invalid speed limit input in dialog") + return None # Or raise an error / show message + + def get_selected_unit_index(self): + """Returns the index of the selected speed limit unit.""" + return self.speed_limit_unit.currentIndex() \ No newline at end of file diff --git a/ytsage_gui_format_table.py b/ytsage_gui_format_table.py index d5b538d..5f05fb6 100644 --- a/ytsage_gui_format_table.py +++ b/ytsage_gui_format_table.py @@ -19,6 +19,9 @@ class FormatTableMixin: self.format_table.setColumnCount(8) self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) + # Enable alternating row colors + self.format_table.setAlternatingRowColors(True) + # Set specific column widths and resize modes self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) # Select self.format_table.setColumnWidth(0, 50) # Select column width @@ -51,25 +54,32 @@ class FormatTableMixin: self.format_table.setStyleSheet(""" QTableWidget { - background-color: #363636; - border: 2px solid #3d3d3d; + background-color: #1b2021; + border: 2px solid #1b2021; border-radius: 4px; - gridline-color: #3d3d3d; + gridline-color: #1b2021; } QTableWidget::item { padding: 5px; - border-bottom: 1px solid #3d3d3d; + border-bottom: 1px solid #1b2021; } QTableWidget::item:selected { background-color: transparent; } QHeaderView::section { - background-color: #2b2b2b; + background-color: #15181b; padding: 5px; - border: 1px solid #3d3d3d; + border: 1px solid #1b2021; font-weight: bold; color: white; } + /* Style alternating rows with more contrast */ + QTableWidget::item:alternate { + background-color: #212529; + } + QTableWidget::item { + background-color: #16191b; + } QCheckBox::indicator { width: 16px; height: 16px; @@ -77,11 +87,11 @@ class FormatTableMixin: } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #2b2b2b; + background: #15181b; } QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; + border: 2px solid #c90000; + background: #c90000; } QWidget { background-color: transparent; @@ -145,21 +155,66 @@ class FormatTableMixin: def _update_format_table(self, formats): self.format_table.setRowCount(0) self.format_checkboxes.clear() - - # Find best quality format for recommendations - best_video_size = max((f.get('filesize', 0) for f in formats if f.get('vcodec') != 'none'), default=0) + + is_playlist_mode = hasattr(self, 'is_playlist') and self.is_playlist + + # Configure columns based on mode + if is_playlist_mode: + self.format_table.setColumnCount(5) + self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Resolution', 'Notes', 'Audio']) + + # Configure column visibility and resizing for playlist mode + self.format_table.setColumnHidden(5, True) + self.format_table.setColumnHidden(6, True) + self.format_table.setColumnHidden(7, True) + + # Set specific resize modes for playlist columns + self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(0, 50) + self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch) + self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) + self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Stretch) + self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Stretch) + + else: + self.format_table.setColumnCount(8) + self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) + # Ensure all columns are visible + for i in range(2, 8): + self.format_table.setColumnHidden(i, False) + + # Reapply resize modes for non-playlist mode if needed (optional, might be okay without) + self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(0, 50) + self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(1, 100) + self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(2, 80) + self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(3, 100) + self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(4, 100) + self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(5, 150) + self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(6, 120) + self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) + + + # Find best quality format for recommendations (only needed for non-playlist mode notes) + best_video_size = 0 + if not is_playlist_mode: + best_video_size = max((f.get('filesize', 0) for f in formats if f.get('vcodec') != 'none'), default=0) for f in formats: row = self.format_table.rowCount() self.format_table.insertRow(row) - # Add checkbox + # Column 0: Select Checkbox (Always shown) checkbox = QCheckBox() checkbox.format_id = str(f.get('format_id', '')) checkbox.clicked.connect(lambda checked, cb=checkbox: self.handle_checkbox_click(cb)) self.format_checkboxes.append(checkbox) - - # Create a widget to center the checkbox checkbox_widget = QWidget() checkbox_widget.setStyleSheet("background-color: transparent;") checkbox_layout = QHBoxLayout(checkbox_widget) @@ -169,7 +224,7 @@ class FormatTableMixin: checkbox_layout.setSpacing(0) self.format_table.setCellWidget(row, 0, checkbox_widget) - # Quality (replacing Format ID) + # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) # Set color based on quality @@ -183,46 +238,73 @@ class FormatTableMixin: quality_item.setForeground(QColor('#ff5555')) # Red for low quality self.format_table.setItem(row, 1, quality_item) - # Extension - self.format_table.setItem(row, 2, QTableWidgetItem(f.get('ext', '').upper())) - - # Resolution + # --- Populate columns common to both modes (Moved outside the 'if not is_playlist_mode' block) --- + + # Column 2: Resolution (Always shown) resolution = f.get('resolution', 'N/A') if f.get('vcodec') == 'none': resolution = 'Audio only' - self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) - - # File Size - filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" - self.format_table.setItem(row, 4, QTableWidgetItem(filesize)) - - # Codec - if f.get('vcodec') == 'none': - codec = f.get('acodec', 'N/A') + self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) + + # Column 3: Notes for playlist mode, Extension for normal mode + if is_playlist_mode: + # Get notes for playlist mode + notes = self.get_format_notes(f, 0) # We don't need best_video_size for simple notes + notes_item = QTableWidgetItem(notes) + if "✨ Recommended" in notes: + notes_item.setForeground(QColor('#00ff00')) # Green for recommended + elif "💾 Storage friendly" in notes: + notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly + elif "📱 Mobile friendly" in notes: + notes_item.setForeground(QColor('#ff9900')) # Orange for mobile + self.format_table.setItem(row, 3, notes_item) else: - codec = f"{f.get('vcodec', 'N/A')}" - if f.get('acodec') != 'none': - codec += f" / {f.get('acodec', 'N/A')}" - self.format_table.setItem(row, 5, QTableWidgetItem(codec)) - - # Audio Status - needs_audio = f.get('acodec') == 'none' - audio_status = "Will merge audio" if needs_audio else "✓ Has Audio" + # Extension for normal mode (column 2) + self.format_table.setItem(row, 2, QTableWidgetItem(f.get('ext', '').upper())) + + # Column 4 in playlist mode, Column 6 in normal mode: Audio Status + needs_audio = f.get('acodec') == 'none' and f.get('vcodec') != 'none' # Only mark video-only as needing merge + audio_status = "Will merge audio" if needs_audio else ("✓ Has Audio" if f.get('vcodec') != 'none' else "Audio Only") audio_item = QTableWidgetItem(audio_status) if needs_audio: audio_item.setForeground(QColor('#ffa500')) - self.format_table.setItem(row, 6, audio_item) + elif audio_status == "Audio Only": + audio_item.setForeground(QColor('#cccccc')) # Neutral color for audio only + else: # Has Audio (Video+Audio) + audio_item.setForeground(QColor('#00cc00')) # Green for included audio + # Set item for correct column based on mode + audio_column_index = 4 if is_playlist_mode else 6 + self.format_table.setItem(row, audio_column_index, audio_item) - # Add Notes column - notes = self.get_format_notes(f, best_video_size) - notes_item = QTableWidgetItem(notes) - if "✨ Recommended" in notes: - notes_item.setForeground(QColor('#00ff00')) # Green for recommended - elif "💾 Storage friendly" in notes: - notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly - elif "📱 Mobile friendly" in notes: - notes_item.setForeground(QColor('#ff9900')) # Orange for mobile - self.format_table.setItem(row, 7, notes_item) + + # --- Populate columns only shown in non-playlist mode --- + if not is_playlist_mode: + # Column 3: Resolution + self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) + + # Column 4: File Size + filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" + self.format_table.setItem(row, 4, QTableWidgetItem(filesize)) + + # Column 5: Codec + if f.get('vcodec') == 'none': + codec = f.get('acodec', 'N/A') + else: + codec = f"{f.get('vcodec', 'N/A')}" + if f.get('acodec') != 'none': + codec += f" / {f.get('acodec', 'N/A')}" + self.format_table.setItem(row, 5, QTableWidgetItem(codec)) + + # Column 7: Notes + notes = self.get_format_notes(f, best_video_size) + notes_item = QTableWidgetItem(notes) + if "✨ Recommended" in notes: + notes_item.setForeground(QColor('#00ff00')) # Green for recommended + elif "💾 Storage friendly" in notes: + notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly + elif "📱 Mobile friendly" in notes: + notes_item.setForeground(QColor('#ff9900')) # Orange for mobile + self.format_table.setItem(row, 7, notes_item) def handle_checkbox_click(self, clicked_checkbox): for checkbox in self.format_checkboxes: diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py index 898b096..6b8001b 100644 --- a/ytsage_gui_main.py +++ b/ytsage_gui_main.py @@ -4,8 +4,9 @@ import webbrowser from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QMessageBox) -from PySide6.QtCore import Qt, Signal, QObject, QThread, QMetaObject, Q_ARG, QProcess + QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QMessageBox, QListWidget, + QListWidgetItem, QDialogButtonBox, QScrollArea) +from PySide6.QtCore import Qt, Signal, QObject, QThread, QMetaObject, Q_ARG, QProcess, Slot from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import requests from io import BytesIO @@ -17,10 +18,14 @@ from packaging import version import subprocess import re import yt_dlp +import markdown from ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions -from ytsage_gui_dialogs import LogWindow, CustomCommandDialog, FFmpegCheckDialog, YTDLPUpdateDialog, AboutDialog # Import dialogs +from ytsage_gui_dialogs import (LogWindow, CustomCommandDialog, FFmpegCheckDialog, + YTDLPUpdateDialog, AboutDialog, SubtitleSelectionDialog, + PlaylistSelectionDialog, CookieLoginDialog, + DownloadSettingsDialog) # <-- Use renamed dialog from ytsage_gui_format_table import FormatTableMixin # Import FormatTableMixin from ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin @@ -31,11 +36,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if not check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "4.2.1" + self.version = "4.5.0" self.check_for_updates() self.config_file = Path.home() / '.ytsage_config.json' load_saved_path(self) - self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) + # Load custom icon + icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') + if os.path.exists(icon_path): + self.setWindowIcon(QIcon(icon_path)) + else: + print(f"Warning: Icon file not found at {icon_path}. Using default icon.") + self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) # Fallback self.signals = SignalManager() self.download_paused = False self.current_download = None @@ -48,60 +59,67 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.is_playlist = False self.playlist_info = None self.video_info = None + self.playlist_entries = [] # Initialize playlist entries + self.selected_playlist_items = None # Initialize selection string + self.save_description = False # Initialize description state self.subtitle_filter = "" self.thumbnail_image = None self.video_url = "" + self.selected_subtitles = [] # Initialize selected subtitles list + self.cookie_file_path = None # Initialize cookie file path + self.speed_limit_value = None # Store speed limit value + self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.init_ui() self.setStyleSheet(""" QMainWindow { - background-color: #2b2b2b; + background-color: #15181b; } QWidget { - background-color: #2b2b2b; + background-color: #15181b; color: #ffffff; } QLineEdit { padding: 8px; - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; + background-color: #1b2021; color: #ffffff; } QPushButton { padding: 8px 15px; - background-color: #ff0000; /* YouTube red */ + background-color: #c90000; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:hover { - background-color: #cc0000; /* Darker red on hover */ + background-color: #a50000; } QPushButton:pressed { - background-color: #990000; /* Even darker red when pressed */ + background-color: #800000; } QTableWidget { - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; - gridline-color: #3d3d3d; + background-color: #1b2021; + gridline-color: #1b2021; } QHeaderView::section { - background-color: #2b2b2b; + background-color: #15181b; padding: 5px; - border: 1px solid #3d3d3d; + border: 1px solid #1b2021; color: #ffffff; } QProgressBar { - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; text-align: center; color: white; } QProgressBar::chunk { - background-color: #ff0000; /* YouTube red */ + background-color: #c90000; border-radius: 2px; } QLabel { @@ -109,23 +127,23 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } /* Style for filter buttons */ QPushButton.filter-btn { - background-color: #363636; + background-color: #1b2021; padding: 5px 10px; margin: 0 5px; } QPushButton.filter-btn:checked { - background-color: #ff0000; + background-color: #c90000; } QPushButton.filter-btn:hover { background-color: #444444; } QPushButton.filter-btn:checked:hover { - background-color: #cc0000; + background-color: #a50000; } /* Modern Scrollbar Styling */ QScrollBar:vertical { border: none; - background: #2b2b2b; + background: #15181b; width: 14px; margin: 15px 0 15px 0; border-radius: 7px; @@ -140,7 +158,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::sub-line:vertical { border: none; - background: #2b2b2b; + background: #15181b; height: 15px; border-top-left-radius: 7px; border-top-right-radius: 7px; @@ -149,7 +167,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::add-line:vertical { border: none; - background: #2b2b2b; + background: #15181b; height: 15px; border-bottom-left-radius: 7px; border-bottom-right-radius: 7px; @@ -171,7 +189,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m /* Horizontal Scrollbar */ QScrollBar:horizontal { border: none; - background: #2b2b2b; + background: #15181b; height: 14px; margin: 0 15px 0 15px; border-radius: 7px; @@ -186,7 +204,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::sub-line:horizontal { border: none; - background: #2b2b2b; + background: #15181b; width: 15px; border-top-left-radius: 7px; border-bottom-left-radius: 7px; @@ -195,7 +213,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QScrollBar::add-line:horizontal { border: none; - background: #2b2b2b; + background: #15181b; width: 15px; border-top-right-radius: 7px; border-bottom-right-radius: 7px; @@ -217,6 +235,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m """) self.signals.update_progress.connect(self.update_progress_bar) + # After adding format buttons + self.video_button.clicked.connect(self.filter_formats) # Connect video button + self.audio_button.clicked.connect(self.filter_formats) # Connect audio button + + # Add connections to handle video/audio mode-specific controls + self.video_button.clicked.connect(self.handle_mode_change) + self.audio_button.clicked.connect(self.handle_mode_change) + + # Initialize UI state based on current mode + self.handle_mode_change() + def load_saved_path(self): # Using function from ytsage_utils now - no longer needed in class pass # Handled in class init now via ytsage_utils.load_saved_path(self) @@ -224,8 +253,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.2.1') - self.setMinimumSize(900, 650) + self.setWindowTitle('YTSage v4.5.0') + self.setMinimumSize(900, 750) # Main widget and layout main_widget = QWidget() @@ -237,39 +266,62 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # URL input section url_layout = QHBoxLayout() self.url_input = QLineEdit() - self.url_input.setPlaceholderText('Enter YouTube URL...') + self.url_input.setPlaceholderText("Enter YouTube video or playlist URL") + self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key - # Add Paste URL button - self.paste_btn = QPushButton('Paste URL') - self.paste_btn.clicked.connect(self.paste_url) + self.analyze_button = QPushButton("Analyze") + self.analyze_button.clicked.connect(self.analyze_url) - self.analyze_btn = QPushButton('Analyze') - self.analyze_btn.clicked.connect(self.analyze_url) + self.paste_button = QPushButton("Paste URL") + self.paste_button.clicked.connect(self.paste_url) + + url_layout.addWidget(self.url_input, 1) + url_layout.addWidget(self.paste_button) + url_layout.addWidget(self.analyze_button) - url_layout.addWidget(self.url_input) - url_layout.addWidget(self.paste_btn) - url_layout.addWidget(self.analyze_btn) layout.addLayout(url_layout) - # Video info container with smaller fixed height + # Video info container video_info_container = QWidget() - video_info_container.setFixedHeight(220) video_info_layout = QVBoxLayout(video_info_container) video_info_layout.setSpacing(5) video_info_layout.setContentsMargins(0, 0, 0, 0) - # Add media info layout + # Add media info layout (Thumbnail | Video Details) media_info_layout = self.setup_video_info_section() video_info_layout.addLayout(media_info_layout) - # Add playlist info with minimal height - self.playlist_info_label = self.setup_playlist_info_section() - self.playlist_info_label.setMaximumHeight(30) - video_info_layout.addWidget(self.playlist_info_label) - # Add video info container to main layout layout.addWidget(video_info_container) + # --- Add Playlist Info Section Directly to Main Layout --- + # Add playlist info label (initially hidden) + self.playlist_info_label = self.setup_playlist_info_section() + layout.addWidget(self.playlist_info_label) + + # Add playlist selection BUTTON (initially hidden) - REPLACED QLineEdit + self.playlist_select_btn = QPushButton("Select Videos...") + self.playlist_select_btn.clicked.connect(self.open_playlist_selection_dialog) + self.playlist_select_btn.setVisible(False) + self.playlist_select_btn.setStyleSheet(""" + QPushButton { + padding: 6px 12px; + background-color: #1d1e22; + border: 1px solid #c90000; + border-radius: 4px; + color: white; + font-weight: normal; + text-align: left; + padding-left: 10px; + } + QPushButton:hover { + background-color: #2a2d36; + border-color: #a50000; + } + """) + layout.addWidget(self.playlist_select_btn) + # --- End Playlist Info Section --- + # Format controls section with minimal spacing layout.addSpacing(5) @@ -292,20 +344,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.video_button.setStyleSheet(""" QPushButton { padding: 8px 15px; - background-color: #363636; + background-color: #1d1e22; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:checked { - background-color: #ff0000; + background-color: #c90000; } QPushButton:hover { - background-color: #444444; + background-color: #2a2d36; } QPushButton:checked:hover { - background-color: #cc0000; + background-color: #a50000; } """) self.format_buttons.addButton(self.video_button) @@ -317,27 +369,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.audio_button.setStyleSheet(""" QPushButton { padding: 8px 15px; - background-color: #363636; + background-color: #1d1e22; border: none; border-radius: 4px; color: white; font-weight: bold; } QPushButton:checked { - background-color: #ff0000; + background-color: #c90000; } QPushButton:hover { - background-color: #444444; + background-color: #2a2d36; } QPushButton:checked:hover { - background-color: #cc0000; + background-color: #a50000; } """) self.format_buttons.addButton(self.audio_button) self.format_layout.addWidget(self.audio_button) - # Connect format buttons - self.format_buttons.buttonClicked.connect(self.handle_format_selection) + # Add Merge Subtitles checkbox (Moved here) + self.merge_subs_checkbox = QCheckBox("Merge Subtitles") + self.merge_subs_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; /* Consistent margin */ + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + /* Add disabled state styling if needed */ + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } + """) + # Initially disable it, will be enabled if subtitles are selected later + self.merge_subs_checkbox.setEnabled(False) + self.format_layout.addWidget(self.merge_subs_checkbox) # Add SponsorBlock checkbox self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") @@ -345,7 +425,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QCheckBox { color: #ffffff; padding: 5px; - margin-left: 20px; + margin-left: 20px; /* Consistent margin */ } QCheckBox::indicator { width: 18px; @@ -354,45 +434,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #2b2b2b; + background: #1d1e22; border-radius: 9px; } QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; + border: 2px solid #c90000; + background: #c90000; border-radius: 9px; } """) self.format_layout.addWidget(self.sponsorblock_checkbox) - # Add Save Thumbnail checkbox with same style as SponsorBlock + # Add Save Thumbnail Checkbox (Moved here) self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") + self.save_thumbnail_checkbox.setChecked(False) + self.save_thumbnail_checkbox.stateChanged.connect(self.toggle_save_thumbnail) self.save_thumbnail_checkbox.setStyleSheet(""" QCheckBox { color: #ffffff; padding: 5px; margin-left: 20px; } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; - } + QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } + QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } + QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } """) - self.save_thumbnail_checkbox.clicked.connect(self.toggle_save_thumbnail) self.format_layout.addWidget(self.save_thumbnail_checkbox) + # Add Save Description Checkbox (Moved here) + self.save_description_checkbox = QCheckBox("Save Description") + self.save_description_checkbox.setChecked(False) + self.save_description_checkbox.stateChanged.connect(self.toggle_save_description) + self.save_description_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } + QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } + QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } + """) + self.format_layout.addWidget(self.save_description_checkbox) + self.format_layout.addStretch() + layout.addLayout(self.format_layout) # Format table with stretch @@ -406,17 +496,21 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.custom_cmd_btn = QPushButton('Custom Command') self.custom_cmd_btn.clicked.connect(self.show_custom_command) + # New button for cookie login + self.cookie_login_button = QPushButton("Login with Cookies") + self.cookie_login_button.clicked.connect(self.show_cookie_login_dialog) # Connect to a new method + self.update_ytdlp_btn = QPushButton('Update yt-dlp') self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) self.about_btn = QPushButton('About') self.about_btn.clicked.connect(self.show_about_dialog) - self.path_input = QLineEdit(self.last_path) - self.path_input.setPlaceholderText('Download path...') - - self.browse_btn = QPushButton('Browse') - self.browse_btn.clicked.connect(self.browse_path) + # --- Rename Path Button to Settings Button --- + self.settings_button = QPushButton("Download Settings") # Renamed button + self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method + self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: None") # Update initial tooltip + # --- End Settings Button --- self.download_btn = QPushButton('Download') self.download_btn.clicked.connect(self.start_download) @@ -432,10 +526,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Add all buttons to layout in the correct order download_layout.addWidget(self.custom_cmd_btn) + download_layout.addWidget(self.cookie_login_button) download_layout.addWidget(self.update_ytdlp_btn) download_layout.addWidget(self.about_btn) - download_layout.addWidget(self.path_input) - download_layout.addWidget(self.browse_btn) + download_layout.addWidget(self.settings_button) download_layout.addWidget(self.download_btn) download_layout.addWidget(self.pause_btn) download_layout.addWidget(self.cancel_btn) @@ -491,10 +585,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.signals.update_status.connect(self.status_label.setText) self.signals.update_progress.connect(self.update_progress_bar) - # After adding format buttons - self.video_button.clicked.connect(self.filter_formats) # Connect video button - self.audio_button.clicked.connect(self.filter_formats) # Connect audio button - def analyze_url(self): url = self.url_input.text().strip() if not url: @@ -507,17 +597,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def _analyze_url_thread(self, url): try: - self.signals.update_status.emit("Analyzing (20%)... Extracting basic info") + self.signals.update_status.emit("Analyzing (15%)... Extracting basic info") # Clean up the URL to handle both playlist and video URLs if 'list=' in url and 'watch?v=' in url: playlist_id = url.split('list=')[1].split('&')[0] url = f'https://www.youtube.com/playlist?list={playlist_id}' - # Initial extraction with basic options + # Initial extraction with basic options - suppress warnings here too ydl_opts = { 'quiet': False, - 'no_warnings': False, + 'no_warnings': True, # <-- Suppress warnings for initial check 'extract_flat': True, 'force_generic_extractor': False, 'ignoreerrors': True, @@ -525,6 +615,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m 'verbose': True } + # Add cookies argument if cookie file path is set + if self.cookie_file_path: + ydl_opts['cookiefile'] = self.cookie_file_path + with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: basic_info = ydl.extract_info(url, download=False) @@ -534,9 +628,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m print(f"First extraction failed: {str(e)}") raise Exception("Could not extract video information, please check your link") - self.signals.update_status.emit("Analyzing (40%)... Extracting detailed info") - # Configure options for detailed extraction - ydl_opts.update({ + self.signals.update_status.emit("Analyzing (30%)... Extracting detailed info") + # Configure options for detailed extraction (keep other options) + # Add no_warnings here as well, as this is where detailed info is fetched + ydl_opts_detail = { 'extract_flat': False, 'format': None, 'writesubtitles': True, @@ -545,75 +640,122 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m 'playliststart': 1, 'playlistend': 1, 'youtube_include_dash_manifest': True, - 'youtube_include_hls_manifest': True - }) + 'youtube_include_hls_manifest': True, + 'no_warnings': True # <-- Add flag here for detailed extraction + } - with yt_dlp.YoutubeDL(ydl_opts) as ydl: + # Add cookies argument if cookie file path is set + if self.cookie_file_path: + ydl_opts_detail['cookiefile'] = self.cookie_file_path + + # Use a separate options dict for the detailed extraction + with yt_dlp.YoutubeDL(ydl_opts_detail) as ydl_detail: try: - self.signals.update_status.emit("Analyzing (60%)... Processing video data") + self.signals.update_status.emit("Analyzing (45%)... Processing video data") if basic_info.get('_type') == 'playlist': self.is_playlist = True self.playlist_info = basic_info - - # Store all playlist entries - self.playlist_entries = [entry for entry in basic_info['entries'] if entry] - - # Update playlist info text - playlist_text = (f"Playlist: {basic_info.get('title', 'Unknown')} | " - f"{len(self.playlist_entries)} videos | " - f"Enter video numbers (e.g. 1-5,7,9-11)") + self.selected_playlist_items = None # Reset selection for new playlist + self.playlist_entries = [entry for entry in basic_info.get('entries', []) if entry] # Store entries + + # Ensure there are entries before proceeding + if not self.playlist_entries: + raise Exception("Playlist contains no valid videos.") + + # Extract detailed info for the FIRST video in the playlist + # This provides formats/subs for the UI, assuming consistency + first_video_url = self.playlist_entries[0].get('url') + if not first_video_url: + raise Exception("Could not get URL for the first playlist video.") + try: + # Use the ydl_detail instance with no_warnings + self.video_info = ydl_detail.extract_info(first_video_url, download=False) + except Exception as first_video_error: + raise Exception(f"Failed to extract info for the first playlist video: {first_video_error}") + + # Update playlist info label text (remains the same) + playlist_text = (f"Playlist: {basic_info.get('title', 'Unknown Playlist')} | " + f"{len(self.playlist_entries)} videos") # Simplified label QMetaObject.invokeMethod( - self.playlist_info_label, - "setText", - Qt.ConnectionType.QueuedConnection, + self.playlist_info_label, "setText", Qt.ConnectionType.QueuedConnection, Q_ARG(str, playlist_text) ) QMetaObject.invokeMethod( - self.playlist_info_label, - "setVisible", - Qt.ConnectionType.QueuedConnection, + self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, True) ) - # Show playlist selection input + # Show playlist selection BUTTON QMetaObject.invokeMethod( - self.playlist_selection_input, - "setVisible", + self, # Target object is the YTSageApp instance + 'update_playlist_button_text', # Name of the slot Qt.ConnectionType.QueuedConnection, + Q_ARG(str, "Select Videos... (All selected)") # Argument for the slot + ) + QMetaObject.invokeMethod( + self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, True) ) - else: + else: # Single video self.is_playlist = False - self.video_info = ydl.extract_info(url, download=False) - self.playlist_info_label.setVisible(False) + # Use ydl_detail instance here too for consistency + self.video_info = ydl_detail.extract_info(url, download=False) + self.playlist_entries = [] # Clear entries + self.selected_playlist_items = None # Clear selection + + # Hide playlist info label and button + QMetaObject.invokeMethod( + self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, False) + ) + QMetaObject.invokeMethod( + self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, False) + ) # Verify we have format information if not self.video_info or 'formats' not in self.video_info: print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") raise Exception("No format information available") - self.signals.update_status.emit("Analyzing (80%)... Processing formats") + self.signals.update_status.emit("Analyzing (60%)... Processing formats") self.all_formats = self.video_info['formats'] # Update UI self.update_video_info(self.video_info) # Update thumbnail - self.signals.update_status.emit("Analyzing (90%)... Loading thumbnail") - self.download_thumbnail(self.video_info.get('thumbnail')) + self.signals.update_status.emit("Analyzing (75%)... Loading thumbnail") + thumbnail_url = None + if self.is_playlist: + # Try to get thumbnail from playlist info first + thumbnail_url = self.playlist_info.get('thumbnail') + + # Fallback to video thumbnail if playlist thumbnail not found or not a playlist + if not thumbnail_url: + thumbnail_url = self.video_info.get('thumbnail') + + self.download_thumbnail(thumbnail_url) # Save thumbnail if enabled - use the stored VIDEO URL if self.save_thumbnail: self.download_thumbnail_file(self.video_url, self.path_input.text()) - # Update subtitles - self.signals.update_status.emit("Analyzing (95%)... Processing subtitles") + # --- Subtitle Handling --- + self.signals.update_status.emit("Analyzing (85%)... Processing subtitles") + # Clear previous selections when analyzing a new video + self.selected_subtitles = [] self.available_subtitles = self.video_info.get('subtitles', {}) self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) - self.update_subtitle_list() + # Update the UI elements related to subtitle selection state + QMetaObject.invokeMethod(self.selected_subs_label, "setText", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "0 selected")) + # QMetaObject.invokeMethod(self.subtitle_select_btn, "setProperty", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "subtitlesSelected"), Q_ARG(bool, False)) # <-- COMMENT OUT THIS LINE + # REMOVE the merge_subs_checkbox update call from here + # QMetaObject.invokeMethod(self.merge_subs_checkbox, "setEnabled", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) + # Update format table - self.signals.update_status.emit("Analyzing (98%)... Updating format table") + self.signals.update_status.emit("Analyzing (95%)... Updating format table") self.video_button.setChecked(True) self.audio_button.setChecked(False) self.filter_formats() @@ -628,6 +770,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m error_message = str(e) print(f"Error in analysis: {error_message}") self.signals.update_status.emit(f"Error: {error_message}") + # Ensure playlist UI is hidden on error too + QMetaObject.invokeMethod(self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) + QMetaObject.invokeMethod(self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) def paste_url(self): clipboard = QApplication.clipboard() @@ -637,20 +782,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m dialog = YTDLPUpdateDialog(self) dialog.exec() - def browse_path(self): - path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.last_path) - if path: - self.path_input.setText(path) - self.save_path(path) # Use save_path utility function - self.last_path = path + def show_download_settings_dialog(self): # Renamed method + dialog = DownloadSettingsDialog( + self.last_path, + self.speed_limit_value, + self.speed_limit_unit_index, + self + ) + if dialog.exec(): + # Update Path + new_path = dialog.get_selected_path() + path_changed = False + if new_path != self.last_path: + self.last_path = new_path + self.save_path(self.last_path) # Save the updated path + path_changed = True + print(f"Download path updated to: {self.last_path}") + + # Update Speed Limit + new_limit_value = dialog.get_selected_speed_limit() + new_unit_index = dialog.get_selected_unit_index() + limit_changed = False + if new_limit_value != self.speed_limit_value or new_unit_index != self.speed_limit_unit_index: + self.speed_limit_value = new_limit_value + self.speed_limit_unit_index = new_unit_index + limit_changed = True + print(f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}") + + # Update Tooltip if anything changed + if path_changed or limit_changed: + limit_text = "None" + if self.speed_limit_value: + limit_text = f"{self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index]}" + self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: {limit_text}") def start_download(self): url = self.url_input.text().strip() - path = self.path_input.text().strip() + # --- Use self.last_path instead of reading from QLineEdit --- + path = self.last_path if not url or not path: - self.status_label.setText("Please enter URL and download path") + # More specific error message if path is missing + if not path: + self.status_label.setText("Please set a download path using 'Change Path'") + elif not url: + self.status_label.setText("Please enter a URL") + else: + self.status_label.setText("Please enter URL and set download path") return + # --- End Path Change --- # Get selected format format_id = self.get_selected_format() @@ -671,39 +851,60 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m resolution = parts[0].strip().lower() break - # Get subtitle selection if available - subtitle_lang = None - if hasattr(self, 'subtitle_combo') and self.subtitle_combo.currentIndex() > 0: - subtitle_lang = self.subtitle_combo.currentText() + # Get subtitle selection if available - Now get the list + selected_subs = self.selected_subtitles if hasattr(self, 'selected_subtitles') else [] - # Check if it's a playlist - is_playlist = 'playlist' in url.lower() and '/watch?' not in url + # Get playlist selection IF in playlist mode - USE STORED VALUE + playlist_items_to_download = None + if self.is_playlist: + playlist_items_to_download = self.selected_playlist_items # Use the stored selection string - # Get playlist selection if available - playlist_items = None - if self.is_playlist and self.playlist_selection_input.isVisible(): - playlist_items = self.playlist_selection_input.text().strip() or None + # --- Use stored speed limit values --- + rate_limit = None + if self.speed_limit_value: + try: + limit_value = float(self.speed_limit_value) + if self.speed_limit_unit_index == 0: # KB/s + rate_limit = f"{int(limit_value * 1024)}" + elif self.speed_limit_unit_index == 1: # MB/s + rate_limit = f"{int(limit_value * 1024 * 1024)}" + except ValueError: + # Use a signal to show error in status bar, similar to URL/Path errors + self.signals.update_status.emit("❌ Error: Invalid speed limit value set in settings.") + return + # --- End speed limit update --- # Save thumbnail if enabled if self.save_thumbnail: - self.download_thumbnail_file(url, path) + # Consider moving thumbnail download *after* successful video download + # Or handle errors more gracefully if thumbnail download fails + try: + self.download_thumbnail_file(url, path) + except Exception as e: + print(f"Warning: Thumbnail download failed: {e}") + # Optionally inform the user, but don't stop the main download + # Create download thread with resolution in output template self.download_thread = DownloadThread( url=url, path=path, format_id=format_id, - subtitle_lang=subtitle_lang, - is_playlist=is_playlist, + subtitle_langs=selected_subs, # Pass the list of selected subs + is_playlist=self.is_playlist, # Use the flag directly merge_subs=self.merge_subs_checkbox.isChecked(), enable_sponsorblock=self.sponsorblock_checkbox.isChecked(), resolution=resolution, - playlist_items=playlist_items + playlist_items=playlist_items_to_download, # Pass the selection string + save_description=self.save_description, # Pass the new flag here + cookie_file=self.cookie_file_path, # Pass the cookie file path + rate_limit=rate_limit # Pass the calculated rate limit ) # Connect signals self.download_thread.progress_signal.connect(self.update_progress_bar) - self.download_thread.status_signal.connect(self.signals.update_status.emit) + self.download_thread.status_signal.connect(self.status_label.setText) + self.download_thread.update_details.connect(self.download_details_label.setText) self.download_thread.finished_signal.connect(self.download_finished) self.download_thread.error_signal.connect(self.download_error) self.download_thread.file_exists_signal.connect(self.file_already_exists) @@ -727,13 +928,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.progress_bar.setValue(100) - self.status_label.setText("Download completed!") + + # Set completion message based on the file type of last downloaded file + if self.download_thread and self.download_thread.current_filename: + filename = self.download_thread.current_filename + ext = os.path.splitext(filename)[1].lower() + + # Video file extensions + if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_label.setText(f"✅ Video download completed!") + # Audio file extensions + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_label.setText(f"✅ Audio download completed!") + # Subtitle file extensions + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_label.setText(f"✅ Subtitle download completed!") + # Default case + else: + self.status_label.setText("✅ Download completed!") def download_error(self, error_message): self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.status_label.setText(f"Error: {error_message}") + self.download_details_label.setText("") # Clear details label on error def update_progress_bar(self, value): try: @@ -767,26 +986,65 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Compare versions if version.parse(latest_version) > version.parse(self.version): - self.show_update_dialog(latest_version, latest_release["html_url"]) + changelog = latest_release.get("body", "No changelog available.") # Get changelog body + self.show_update_dialog(latest_version, latest_release["html_url"], changelog) # Pass changelog except Exception as e: print(f"Failed to check for updates: {str(e)}") - def show_update_dialog(self, latest_version, release_url): + def show_update_dialog(self, latest_version, release_url, changelog): # Added changelog parameter msg = QDialog(self) msg.setWindowTitle("Update Available") - msg.setMinimumWidth(400) + msg.setMinimumWidth(500) # Increased width for changelog + msg.setMinimumHeight(400) # Added min height + + # Set custom icon directly + icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') + if os.path.exists(icon_path): + msg.setWindowIcon(QIcon(icon_path)) + else: + # Fallback to main window icon if file not found + msg.setWindowIcon(self.windowIcon()) layout = QVBoxLayout(msg) + layout.setSpacing(10) # Added spacing # Update message message_label = QLabel( - f"A new version of YTSage is available!\n\n" + f"A new version of YTSage is available!\n\n" f"Current version: {self.version}\n" f"Latest version: {latest_version}" ) message_label.setWordWrap(True) layout.addWidget(message_label) + # Changelog Section + changelog_label = QLabel("Changelog:") + layout.addWidget(changelog_label) + + changelog_text = QTextEdit() + changelog_text.setReadOnly(True) + # Convert Markdown to HTML and set it + try: + html_changelog = markdown.markdown(changelog, extensions=['markdown.extensions.tables', 'markdown.extensions.fenced_code']) + changelog_text.setHtml(html_changelog) + except Exception as e: + print(f"Error converting changelog markdown to HTML: {e}") + changelog_text.setPlainText(changelog) # Fallback to plain text + + changelog_text.setStyleSheet(""" + QTextEdit { + background-color: #1e1e1e; + border: 1px solid #3d3d3d; + border-radius: 4px; + color: #cccccc; + padding: 5px; + font-family: Consolas, monospace; + font-size: 11px; /* Slightly smaller font */ + } + """) + changelog_text.setMaximumHeight(200) # Limit height + layout.addWidget(changelog_text) + # Buttons button_layout = QHBoxLayout() @@ -808,7 +1066,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QLabel { color: #ffffff; font-size: 12px; - padding: 10px; + padding: 5px 0; /* Adjusted padding */ } QPushButton { padding: 8px 15px; @@ -817,6 +1075,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m border-radius: 4px; color: white; font-weight: bold; + min-width: 120px; /* Adjusted min-width */ } QPushButton:hover { background-color: #cc0000; @@ -835,7 +1094,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def cancel_download(self): if self.current_download: self.current_download.cancelled = True - self.signals.update_status.emit("Cancelling download...") + self.status_label.setText("Cancelling download...") # Set status directly + self.download_details_label.setText("") # Clear details label on cancellation def show_ffmpeg_dialog(self): dialog = FFmpegCheckDialog(self) @@ -844,21 +1104,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def toggle_download_controls(self, enabled=True): """Enable or disable download-related controls""" self.url_input.setEnabled(enabled) - self.analyze_btn.setEnabled(enabled) + self.analyze_button.setEnabled(enabled) self.format_table.setEnabled(enabled) # Changed from format_scroll_area to format_table - self.path_input.setEnabled(enabled) - self.browse_btn.setEnabled(enabled) self.download_btn.setEnabled(enabled) if hasattr(self, 'subtitle_combo'): self.subtitle_combo.setEnabled(enabled) self.video_button.setEnabled(enabled) self.audio_button.setEnabled(enabled) self.sponsorblock_checkbox.setEnabled(enabled) + self.merge_subs_checkbox.setEnabled(enabled) # Enable/disable merge subs checkbox + self.custom_cmd_btn.setEnabled(enabled) # Enable/disable custom command button + self.cookie_login_button.setEnabled(enabled) # Enable/disable login button + self.update_ytdlp_btn.setEnabled(enabled) # Enable/disable update button + self.settings_button.setEnabled(enabled) # Enable/disable settings button + + # Clear progress/status when controls are re-enabled + if enabled: + self.progress_bar.setValue(0) + self.status_label.setText("Ready") + self.download_details_label.setText("") # Clear details label def handle_format_selection(self, button): # Update formats self.filter_formats() + def handle_mode_change(self): + """Enable or disable features based on video/audio mode""" + if self.audio_button.isChecked(): + # In Audio Only mode, disable video-specific features + self.sponsorblock_checkbox.setEnabled(False) + self.sponsorblock_checkbox.setChecked(False) # Uncheck when disabled + self.merge_subs_checkbox.setEnabled(False) + self.merge_subs_checkbox.setChecked(False) # Uncheck when disabled + + # Allow subtitle selection in Audio Only mode too + if hasattr(self, 'subtitle_select_btn'): + self.subtitle_select_btn.setEnabled(True) + else: + # In Video mode, enable video-specific features + self.sponsorblock_checkbox.setEnabled(True) + # Don't auto-check - leave it to user preference + + # Enable merge_subs only if subtitles are selected + has_subs_selected = len(getattr(self, 'selected_subtitles', [])) > 0 + self.merge_subs_checkbox.setEnabled(has_subs_selected) + + # Re-enable subtitle selection button in Video mode + if hasattr(self, 'subtitle_select_btn'): + self.subtitle_select_btn.setEnabled(True) + def show_about_dialog(self): # ADDED METHOD HERE dialog = AboutDialog(self) dialog.exec() @@ -869,7 +1163,22 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.progress_bar.setValue(100) - self.status_label.setText(f"⚠️ File already exists: {filename}") + + # Determine file type based on extension + ext = os.path.splitext(filename)[1].lower() + + # Video file extensions + if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + self.status_label.setText(f"⚠️ Video file already exists") + # Audio file extensions + elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + self.status_label.setText(f"⚠️ Audio file already exists") + # Subtitle file extensions + elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + self.status_label.setText(f"⚠️ Subtitle file already exists") + # Default case + else: + self.status_label.setText("⚠️ File already exists") # Show a simple message dialog msg_box = QMessageBox() @@ -904,4 +1213,55 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m } """) - msg_box.exec() \ No newline at end of file + msg_box.exec() + + # --- Add Toggle Methods Here --- + def toggle_save_thumbnail(self, state): + print(f"Raw thumbnail state received: {state}") # Debug: Print raw state + self.save_thumbnail = bool(state == 2) # Compare state directly with 2 (Checked state) + print(f"Save thumbnail toggled: {self.save_thumbnail}") + + def toggle_save_description(self, state): + print(f"Raw description state received: {state}") # Debug: Print raw state + self.save_description = bool(state == 2) # Compare state directly with 2 (Checked state) + print(f"Save description toggled: {self.save_description}") + # --- End Toggle Methods --- + + def open_playlist_selection_dialog(self): + if not self.is_playlist or not self.playlist_entries: + print("No playlist data available to select from.") + return + + dialog = PlaylistSelectionDialog(self.playlist_entries, self.selected_playlist_items, self) + + if dialog.exec(): + self.selected_playlist_items = dialog.get_selected_items_string() + print(f"Playlist items selected: {self.selected_playlist_items}") + + # Update button text (this call is safe as it happens in the main thread after dialog closes) + if self.selected_playlist_items is None: + button_text = "Select Videos... (All selected)" + else: + selected_indices = dialog._parse_selection_string(self.selected_playlist_items) + count = len(selected_indices) + display_text = self.selected_playlist_items if len(self.selected_playlist_items) < 30 else f"{count} videos selected" + button_text = f"Select Videos... ({display_text})" + self.playlist_select_btn.setText(button_text) # Direct call is fine here + + # --- New Slot for Updating Playlist Button Text --- + @Slot(str) + def update_playlist_button_text(self, text): + """Safely updates the playlist selection button's text from any thread.""" + if hasattr(self, 'playlist_select_btn'): + self.playlist_select_btn.setText(text) + # --- End New Slot --- + + def show_cookie_login_dialog(self): + dialog = CookieLoginDialog(self) + if dialog.exec(): + self.cookie_file_path = dialog.get_cookie_file_path() + if self.cookie_file_path: + print(f"Selected cookie file: {self.cookie_file_path}") # For debugging + QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") + else: + self.cookie_file_path = None # Clear path if dialog accepted but no file selected \ No newline at end of file diff --git a/ytsage_gui_video_info.py b/ytsage_gui_video_info.py index bad0511..c05f591 100644 --- a/ytsage_gui_video_info.py +++ b/ytsage_gui_video_info.py @@ -17,6 +17,7 @@ from packaging import version import subprocess import re import yt_dlp +from ytsage_gui_dialogs import SubtitleSelectionDialog class VideoInfoMixin: def setup_video_info_section(self): @@ -55,9 +56,10 @@ class VideoInfoMixin: self.views_label = QLabel() self.date_label = QLabel() self.duration_label = QLabel() + self.like_count_label = QLabel() # Style the info labels - for label in [self.channel_label, self.views_label, self.date_label, self.duration_label]: + for label in [self.channel_label, self.views_label, self.date_label, self.duration_label, self.like_count_label]: label.setStyleSheet(""" QLabel { color: #cccccc; @@ -70,115 +72,53 @@ class VideoInfoMixin: video_info_layout.addWidget(self.title_label) video_info_layout.addWidget(self.channel_label) video_info_layout.addWidget(self.views_label) + video_info_layout.addWidget(self.like_count_label) video_info_layout.addWidget(self.date_label) video_info_layout.addWidget(self.duration_label) # Add spacing before subtitle section video_info_layout.addSpacing(10) - # Create a horizontal layout for subtitle controls + # --- Subtitle Section --- subtitle_layout = QHBoxLayout() - subtitle_layout.setSpacing(5) # Reduce spacing between elements + subtitle_layout.setSpacing(10) - # Create subtitle button - self.subtitle_check = QPushButton("Download Subtitles") - self.subtitle_check.setFixedHeight(30) - self.subtitle_check.setFixedWidth(150) # Set fixed width - self.subtitle_check.setCheckable(True) - self.subtitle_check.clicked.connect(self.toggle_subtitle_controls) - self.subtitle_check.setStyleSheet(""" + # Subtitle selection button + self.subtitle_select_btn = QPushButton("Select Subtitles...") # Renamed & changed text + self.subtitle_select_btn.setFixedHeight(30) + # self.subtitle_select_btn.setFixedWidth(150) # Let it size naturally or adjust as needed + self.subtitle_select_btn.clicked.connect(self.open_subtitle_dialog) + self.subtitle_select_btn.setStyleSheet(""" QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; + background-color: #1d1e22; + border: 2px solid #1d1e22; border-radius: 4px; - padding: 5px; - min-height: 30px; + padding: 5px 10px; /* Adjusted padding */ } - QPushButton:checked { - background-color: #ff0000; - border-color: #cc0000; + QPushButton:hover { background-color: #2a2d36; } + /* Optional: Style differently if subtitles ARE selected */ + QPushButton[subtitlesSelected="true"] { + border-color: #c90000; /* Indicate selection */ + } + /* Style for disabled state */ + QPushButton:disabled { + background-color: #3d3d3d; + color: #888888; + border-color: #3d3d3d; } """) - subtitle_layout.addWidget(self.subtitle_check) + self.subtitle_select_btn.setProperty("subtitlesSelected", False) # Custom property for styling + subtitle_layout.addWidget(self.subtitle_select_btn) - # Create subtitle combo box - self.subtitle_combo = QComboBox() - self.subtitle_combo.setFixedHeight(30) - self.subtitle_combo.setFixedWidth(200) - self.subtitle_combo.setVisible(False) - self.subtitle_combo.setStyleSheet(""" - QComboBox { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - min-height: 30px; - } - """) - subtitle_layout.addWidget(self.subtitle_combo) + # Label to show number of selected subtitles + self.selected_subs_label = QLabel("0 selected") + self.selected_subs_label.setStyleSheet("color: #cccccc; padding-left: 5px;") + subtitle_layout.addWidget(self.selected_subs_label) - # Create merge subtitles checkbox - self.merge_subs_checkbox = QCheckBox("Merge Subtitles") - self.merge_subs_checkbox.setFixedHeight(30) - self.merge_subs_checkbox.setVisible(False) - self.merge_subs_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 10px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - border-radius: 9px; - } - """) - subtitle_layout.addWidget(self.merge_subs_checkbox) - - # Add stretch to push everything to the left - subtitle_layout.addStretch() - - # Create a second row for the filter input - filter_layout = QHBoxLayout() - filter_layout.setSpacing(5) - - # Create subtitle filter input - self.subtitle_filter_input = QLineEdit() - self.subtitle_filter_input.setFixedHeight(30) - self.subtitle_filter_input.setFixedWidth(200) - self.subtitle_filter_input.setPlaceholderText("Filter languages (e.g., en, es)") - self.subtitle_filter_input.textChanged.connect(self.filter_subtitles) - self.subtitle_filter_input.setVisible(False) - self.subtitle_filter_input.setStyleSheet(""" - QLineEdit { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - min-height: 30px; - color: white; - } - QLineEdit:focus { - border-color: #ff0000; - } - """) - filter_layout.addWidget(self.subtitle_filter_input) - filter_layout.addStretch() - - # Add both layouts to video info + # Add the subtitle layout to the main video info layout video_info_layout.addLayout(subtitle_layout) - video_info_layout.addLayout(filter_layout) - + # --- End Subtitle Section --- + # Add stretch at the bottom video_info_layout.addStretch() @@ -193,11 +133,11 @@ class VideoInfoMixin: self.playlist_info_label.setStyleSheet(""" QLabel { font-size: 12px; - color: #ff9900; + color: #ffffff; padding: 5px 8px; margin: 0; - background-color: #2b2b2b; - border: 1px solid #3d3d3d; + background-color: #1d1e22; + border: 1px solid #c90000; border-radius: 4px; min-height: 30px; max-height: 30px; @@ -207,63 +147,109 @@ class VideoInfoMixin: return self.playlist_info_label def update_video_info(self, info): - # Format view count with commas - views = int(info.get('view_count', 0)) - formatted_views = f"{views:,}" - - # Format upload date - upload_date = info.get('upload_date', '') - if upload_date: - date_obj = datetime.strptime(upload_date, '%Y%m%d') - formatted_date = date_obj.strftime('%B %d, %Y') + if hasattr(self, 'is_playlist') and self.is_playlist: + # Playlist Mode: Show playlist title and video count + self.title_label.setText(self.playlist_info.get('title', 'Unknown Playlist')) + + num_videos = len(getattr(self, 'playlist_entries', [])) + self.duration_label.setText(f"Total Videos: {num_videos}") + + # Hide video-specific info + self.channel_label.setText("") + self.views_label.setText("") + self.date_label.setText("") + self.like_count_label.setText("") + self.channel_label.setVisible(False) + self.views_label.setVisible(False) + self.date_label.setVisible(False) + self.like_count_label.setVisible(False) else: - formatted_date = 'Unknown date' + # Single Video Mode: Show standard video info + # Ensure labels are visible first + self.channel_label.setVisible(True) + self.views_label.setVisible(True) + self.date_label.setVisible(True) + self.like_count_label.setVisible(True) - # Format duration - duration = info.get('duration', 0) - minutes = duration // 60 - seconds = duration % 60 - duration_str = f"{minutes}:{seconds:02d}" + # Format view count with commas + views = info.get('view_count') + formatted_views = f"{views:,}" if views is not None else 'N/A' - # Update labels - self.title_label.setText(info.get('title', 'Unknown title')) - self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") - self.views_label.setText(f"Views: {formatted_views}") - self.date_label.setText(f"Upload date: {formatted_date}") - self.duration_label.setText(f"Duration: {duration_str}") + # Format like count with commas + likes = info.get('like_count') + formatted_likes = f"{likes:,}" if likes is not None else 'N/A' + + # Format upload date + upload_date = info.get('upload_date', '') + if upload_date: + date_obj = datetime.strptime(upload_date, '%Y%m%d') + formatted_date = date_obj.strftime('%B %d, %Y') + else: + formatted_date = 'Unknown date' + + # Format duration + duration = info.get('duration', 0) + minutes = duration // 60 + seconds = duration % 60 + duration_str = f"{minutes}:{seconds:02d}" + + # Update labels + self.title_label.setText(info.get('title', 'Unknown title')) + self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") + self.views_label.setText(f"Views: {formatted_views}") + self.like_count_label.setText(f"Likes: {formatted_likes}") + self.date_label.setText(f"Upload date: {formatted_date}") + self.duration_label.setText(f"Duration: {duration_str}") - def toggle_subtitle_controls(self): - is_checked = self.subtitle_check.isChecked() - self.subtitle_combo.setVisible(is_checked) - self.subtitle_filter_input.setVisible(is_checked) - self.merge_subs_checkbox.setVisible(is_checked) + def open_subtitle_dialog(self): + if not hasattr(self, 'available_subtitles') or not hasattr(self, 'available_automatic_subtitles'): + print("Subtitle info not loaded yet.") + return - def update_subtitle_list(self): - self.subtitle_combo.clear() + if not hasattr(self, 'selected_subtitles'): + self.selected_subtitles = [] - if not (self.available_subtitles or self.available_automatic_subtitles): - self.subtitle_combo.addItem("No subtitles available") - return + dialog = SubtitleSelectionDialog( + self.available_subtitles, + self.available_automatic_subtitles, + self.selected_subtitles, + self # Parent for the dialog + ) - # Add subtitle options - self.subtitle_combo.addItem("Select subtitle language") + # Access the main application window (parent of the mixin's widget) + # to find the merge checkbox + main_window = self # In this context, self should be the YTSageApp instance + if not isinstance(main_window, QMainWindow): + # If the structure is different, this might need adjustment + # Maybe self.parentWidget() or similar depending on how Mixin is used + print("Warning: Cannot find main window to access merge checkbox.") + merge_checkbox = None + else: + merge_checkbox = getattr(main_window, 'merge_subs_checkbox', None) - # Filter and add subtitles - filter_text = self.subtitle_filter_input.text().lower() - # Add manual subtitles - for lang_code, subtitle_info in self.available_subtitles.items(): - if not filter_text or filter_text in lang_code.lower(): - self.subtitle_combo.addItem(f"{lang_code} - Manual") + if dialog.exec(): # If user clicks OK + self.selected_subtitles = dialog.get_selected_subtitles() + print(f"Selected subtitles: {self.selected_subtitles}") + # Update UI to reflect selection + count = len(self.selected_subtitles) + self.selected_subs_label.setText(f"{count} selected") + self.subtitle_select_btn.setProperty("subtitlesSelected", count > 0) - # Add auto-generated subtitles - for lang_code, subtitle_info in self.available_automatic_subtitles.items(): - if not filter_text or filter_text in lang_code.lower(): - self.subtitle_combo.addItem(f"{lang_code} - Auto-generated") + # Enable/disable the merge checkbox in the parent window + if merge_checkbox: + # Only enable merge checkbox if we're not in Audio Only mode + is_audio_only = hasattr(main_window, 'audio_button') and main_window.audio_button.isChecked() + # In audio-only mode, we still allow subtitle selection but not merging + should_enable = count > 0 and not is_audio_only + merge_checkbox.setEnabled(should_enable) + else: + print("Warning: merge_subs_checkbox not found on parent window.") - def filter_subtitles(self): - self.subtitle_filter = self.subtitle_filter_input.text() - self.update_subtitle_list() + # Re-apply stylesheet to update button border if property changed + self.subtitle_select_btn.style().unpolish(self.subtitle_select_btn) + self.subtitle_select_btn.style().polish(self.subtitle_select_btn) + # No else needed for cancel, state remains unchanged def download_thumbnail(self, url): try: @@ -285,10 +271,6 @@ class VideoInfoMixin: except Exception as e: print(f"Error loading thumbnail: {str(e)}") - def toggle_save_thumbnail(self): - self.save_thumbnail = self.save_thumbnail_checkbox.isChecked() - print(f"Save thumbnail toggled: {self.save_thumbnail}") # Debug print - def download_thumbnail_file(self, video_url, path): if not self.save_thumbnail: return False diff --git a/ytsage_style.py b/ytsage_style.py index 84c3b8d..6ad7f38 100644 --- a/ytsage_style.py +++ b/ytsage_style.py @@ -1,24 +1,24 @@ MAIN_STYLE = """ QMainWindow { - background-color: #2b2b2b; + background-color: #15181b; } QWidget { - background-color: #2b2b2b; + background-color: #15181b; color: #ffffff; font-size: 12px; } QLineEdit { padding: 8px; - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; + background-color: #1b2021; color: #ffffff; - selection-background-color: #ff0000; + selection-background-color: #c90000; selection-color: #ffffff; } QPushButton { padding: 8px 15px; - background-color: #ff0000; /* YouTube red */ + background-color: #c90000; border: none; border-radius: 4px; color: white; @@ -26,33 +26,33 @@ QPushButton { min-height: 20px; } QPushButton:hover { - background-color: #cc0000; /* Darker red on hover */ + background-color: #a50000; } QPushButton:pressed { - background-color: #990000; /* Even darker red when pressed */ + background-color: #800000; } QPushButton:disabled { - background-color: #666666; /* Gray when disabled */ + background-color: #666666; color: #999999; } QTableWidget { - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; - gridline-color: #3d3d3d; - selection-background-color: #ff0000; + background-color: #1b2021; + gridline-color: #1b2021; + selection-background-color: #c90000; selection-color: #ffffff; } QHeaderView::section { - background-color: #2b2b2b; + background-color: #15181b; padding: 5px; - border: 1px solid #3d3d3d; + border: 1px solid #1b2021; color: #ffffff; font-weight: bold; } QScrollBar:vertical { border: none; - background-color: #2b2b2b; + background-color: #15181b; width: 12px; margin: 0px; } @@ -62,27 +62,27 @@ QScrollBar::handle:vertical { border-radius: 6px; } QScrollBar::handle:vertical:hover { - background-color: #ff0000; + background-color: #c90000; } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0px; } QProgressBar { - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; text-align: center; color: white; - background-color: #363636; + background-color: #1b2021; } QProgressBar::chunk { - background-color: #ff0000; + background-color: #c90000; border-radius: 2px; } QComboBox { padding: 5px; - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - background-color: #363636; + background-color: #1b2021; color: #ffffff; min-height: 20px; } @@ -106,25 +106,25 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #2b2b2b; + background: #15181b; } QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; + border: 2px solid #c90000; + background: #c90000; } QLabel { color: #ffffff; } QTextEdit, QPlainTextEdit { - background-color: #363636; + background-color: #1b2021; color: #ffffff; - border: 2px solid #3d3d3d; + border: 2px solid #1b2021; border-radius: 4px; - selection-background-color: #ff0000; + selection-background-color: #c90000; selection-color: #ffffff; } QMessageBox { - background-color: #2b2b2b; + background-color: #15181b; } QMessageBox QLabel { color: #ffffff; diff --git a/ytsage_utils.py b/ytsage_utils.py index 1666c83..698625d 100644 --- a/ytsage_utils.py +++ b/ytsage_utils.py @@ -4,6 +4,7 @@ import json from pathlib import Path import subprocess import tempfile +import shutil from ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path def check_ffmpeg(): @@ -49,45 +50,24 @@ def check_ffmpeg(): return False def get_yt_dlp_path(): - """Get the appropriate yt-dlp path with enhanced error handling.""" + """Get the yt-dlp command or path, prioritizing the system PATH.""" try: - if getattr(sys, 'frozen', False): - if sys.platform == 'darwin': - # For macOS .app bundle - if 'Contents/MacOS' in sys.executable: - base_path = os.path.dirname(sys.executable) - else: - # Fallback to user's home directory for macOS - base_path = os.path.expanduser('~/Library/Application Support/YTSage') - elif sys.platform == 'win32': - # For Windows executable - app_data = os.getenv('APPDATA') - base_path = os.path.join(app_data, 'YTSage') if app_data else os.path.dirname(sys.executable) - else: - # For Linux AppImage or binary - if 'APPIMAGE' in os.environ: - xdg_data = os.getenv('XDG_DATA_HOME', os.path.expanduser('~/.local/share')) - base_path = os.path.join(xdg_data, 'YTSage') - else: - base_path = os.path.dirname(sys.executable) - - # Create directory if it doesn't exist - try: - os.makedirs(base_path, exist_ok=True) - except Exception as e: - print(f"Error creating directory: {e}") - base_path = os.path.dirname(sys.executable) - - return os.path.join(base_path, 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + # Use shutil.which to find yt-dlp in the system's PATH + yt_dlp_executable = shutil.which('yt-dlp') + + if yt_dlp_executable: + print(f"Found yt-dlp executable in PATH: {yt_dlp_executable}") + return yt_dlp_executable else: - # For development/script mode - return os.path.join(os.path.dirname(os.path.abspath(__file__)), - 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') - + # If not found in PATH, assume 'yt-dlp' is the command name + print("yt-dlp not found in PATH. Will attempt to use 'yt-dlp' as the command.") + return 'yt-dlp' + except Exception as e: - print(f"Error determining yt-dlp path: {e}") - # Fallback to current directory - return os.path.join(os.getcwd(), 'yt-dlp.exe' if sys.platform == 'win32' else 'yt-dlp') + print(f"Error finding yt-dlp path: {e}") + # Fallback to the command name on any error + print("An error occurred during yt-dlp path detection. Falling back to command 'yt-dlp'.") + return 'yt-dlp' def load_saved_path(main_window_instance): """Load saved download path with enhanced error handling.""" From cfc7e9891aebb23e336dec9f57d946076eec4e37 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Tue, 29 Apr 2025 15:10:14 +0300 Subject: [PATCH 041/568] Update screenshots --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0fd828b..aa0a381 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # 🎥 YTSage -YTSage Interface +YTSage Interface [![PyPI version](https://badge.fury.io/py/ytsage.svg)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) @@ -79,16 +79,16 @@ python main.py
- - + + - - + + From e1a0f76298dde0be007faeadbf21acd3805a0f66 Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Thu, 1 May 2025 10:03:00 +0300 Subject: [PATCH 042/568] Update README.md Clarify yt-dlp update instructions in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa0a381..0dbd654 100644 --- a/README.md +++ b/README.md @@ -144,7 +144,7 @@ python main.py - **Speed Limiter:** Limit the download speed - **Login with Cookies:** Login with cookies - **Save Download Path:** Save the download path -- **Update yt-dlp:** Update yt-dlp +- **Update yt-dlp:** Updates yt-dlp (works if installed via **PyPI** or when running from **source** using `main.py`) - **FFmpeg/yt-dlp Detection:** Automatically detect FFmpeg/yt-dlp - **Custom Commands:** Access advanced yt-dlp features From 55feca69c6757137a2d677d4dc4c900c49c61f89 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Thu, 22 May 2025 18:55:53 +0300 Subject: [PATCH 043/568] docs: add Troubleshooting section to README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 0dbd654..c85e3c0 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,10 @@ We welcome contributions! Here's how you can help: This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. +## 🛠️ Troubleshooting + +- When the app doesn't display the format table, update yt-dlp + ## 🙏 Acknowledgments
From 4b56e23a130ebef921d1ce8829ec18287315eb5f Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Thu, 22 May 2025 18:57:12 +0300 Subject: [PATCH 044/568] fix(gui): handle pre-executable errors in main_gui.py --- ytsage_gui_main.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py index 6b8001b..cfa78a8 100644 --- a/ytsage_gui_main.py +++ b/ytsage_gui_main.py @@ -36,7 +36,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if not check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "4.5.0" + self.version = "4.5.2" self.check_for_updates() self.config_file = Path.home() / '.ytsage_config.json' load_saved_path(self) @@ -253,7 +253,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.5.0') + self.setWindowTitle('YTSage v4.5.2') self.setMinimumSize(900, 750) # Main widget and layout @@ -779,8 +779,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.url_input.setText(clipboard.text()) def update_ytdlp(self): - dialog = YTDLPUpdateDialog(self) - dialog.exec() + # Check if we're running in a PyInstaller package + if getattr(sys, 'frozen', False): + # Running from PyInstaller package, show info message + msg_box = QMessageBox(self) + msg_box.setIcon(QMessageBox.Icon.Information) + msg_box.setWindowTitle("Feature Unavailable") + msg_box.setText("This feature is available only on the Python (PyPI) version.") + msg_box.setInformativeText("To update yt-dlp in a packaged version, please download a new version of the application.") + msg_box.setStandardButtons(QMessageBox.StandardButton.Ok) + msg_box.exec() + else: + # Running from source code, show the normal update dialog + dialog = YTDLPUpdateDialog(self) + dialog.exec() def show_download_settings_dialog(self): # Renamed method dialog = DownloadSettingsDialog( From 63fa3d991e16a12924b4f62f548fb7460486e94d Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Thu, 22 May 2025 18:58:31 +0300 Subject: [PATCH 045/568] fix: handle yt-dlp path errors --- ytsage_downloader.py | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/ytsage_downloader.py b/ytsage_downloader.py index 5b33505..6e732d6 100644 --- a/ytsage_downloader.py +++ b/ytsage_downloader.py @@ -5,6 +5,7 @@ import os import re import subprocess # For direct CLI command execution import shlex # For safely parsing command arguments +import sys # Added to get executable path information from pathlib import Path class SignalManager(QObject): @@ -207,7 +208,33 @@ class DownloadThread(QThread): def _build_yt_dlp_command(self): """Build the yt-dlp command line with all options for direct execution.""" - cmd = ["yt-dlp"] + # Use bundled yt-dlp executable instead of system PATH + # Determine if we're running from a PyInstaller bundle + if getattr(sys, 'frozen', False): + # We're running from a PyInstaller bundle + base_path = getattr(sys, '_MEIPASS', os.path.dirname(sys.executable)) + yt_dlp_path = os.path.join(base_path, "yt-dlp.exe" if os.name == 'nt' else "yt-dlp") + if os.path.exists(yt_dlp_path): + cmd = [yt_dlp_path] + print(f"DEBUG: Using bundled yt-dlp from: {yt_dlp_path}") + + # Check if the bundled executable is actually executable + if not os.access(yt_dlp_path, os.X_OK) and os.name != 'nt': # Skip check on Windows + print(f"WARNING: Bundled yt-dlp exists but is not executable: {yt_dlp_path}") + try: + # Try to make it executable + os.chmod(yt_dlp_path, 0o755) + print(f"Fixed permissions on bundled yt-dlp") + except Exception as e: + print(f"Failed to fix permissions: {e}") + else: + # Fall back to regular command if bundled version not found + cmd = ["yt-dlp"] + print(f"DEBUG: Bundled yt-dlp not found at {yt_dlp_path}, using system PATH") + else: + # We're running from source, use system PATH + cmd = ["yt-dlp"] + print("DEBUG: Using system PATH for yt-dlp") # Format selection strategy - use format ID if provided or fallback to resolution if self.format_id: @@ -424,6 +451,12 @@ class DownloadThread(QThread): # Wait for process to complete return_code = self.process.wait() + # Special handling for specific errors + # return code 127 typically means command not found + if return_code == 127: + self.error_signal.emit("Error: yt-dlp executable not found. This could be due to improper installation or a PATH issue.") + return + if return_code == 0: self.progress_signal.emit(100) self.status_signal.emit("✅ Download completed!") @@ -443,7 +476,11 @@ class DownloadThread(QThread): if self.cancelled: self.status_signal.emit("Download cancelled") else: - self.error_signal.emit(f"Download failed with return code {return_code}") + # Provide more descriptive error message for possible yt-dlp conflicts + if return_code == 1: + self.error_signal.emit(f"Download failed with return code {return_code}. This may be due to a conflict with multiple yt-dlp installations. Try uninstalling any system-installed yt-dlp (e.g. through snap or apt) and restart the application.") + else: + self.error_signal.emit(f"Download failed with return code {return_code}") self.cleanup_partial_files() except Exception as e: From 062b14508535dc91c1e594fcffbdca847893beeb Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Thu, 22 May 2025 19:03:03 +0300 Subject: [PATCH 046/568] chore: Move Troubleshooting section after Usage --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c85e3c0..abc5b66 100644 --- a/README.md +++ b/README.md @@ -152,6 +152,10 @@ python main.py +## 🛠️ Troubleshooting + +- When the app doesn't display the format table, update yt-dlp + ## 🛠️ Requirements ```plaintext @@ -196,10 +200,6 @@ We welcome contributions! Here's how you can help: This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. -## 🛠️ Troubleshooting - -- When the app doesn't display the format table, update yt-dlp - ## 🙏 Acknowledgments
From 2bd11f9727b47fdee2e9fff57e149ba016284e4f Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:45:40 +0300 Subject: [PATCH 047/568] Check yt-dlp update on start --- main.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/main.py b/main.py index cb94181..0cce8cd 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ import sys from PySide6.QtWidgets import QApplication, QMessageBox from ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main +from ytsage_utils import update_yt_dlp # Import the update function def show_error_dialog(message): error_dialog = QMessageBox() @@ -12,6 +13,13 @@ def show_error_dialog(message): def main(): try: + # Try to update yt-dlp before starting the app + try: + update_yt_dlp() + except Exception as e: + print(f"Warning: Could not update yt-dlp: {e}") + # Continue with application startup even if the update fails + app = QApplication(sys.argv) window = YTSageApp() # Instantiate the main application class window.show() From 8293b3f91d54456384a0f7e41228b5e7b21fa0e8 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:46:02 +0300 Subject: [PATCH 048/568] Document Trim Video feature --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index abc5b66..08439d3 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more. | ✨ Simple UI | 💾 Save Description | 🛠️ FFmpeg/yt-dlp Detection | | 📋 Playlist Support | 🖼️ Save thumbnail | ⚙️ Custom Commands | | 🖼️ Playlist Selector | 🚀 Speed Limiter | 🍪 Login with Cookies | +| | ✂️ Trim Video Sections | |
@@ -147,7 +148,7 @@ python main.py - **Update yt-dlp:** Updates yt-dlp (works if installed via **PyPI** or when running from **source** using `main.py`) - **FFmpeg/yt-dlp Detection:** Automatically detect FFmpeg/yt-dlp - **Custom Commands:** Access advanced yt-dlp features - +- **Trim Video:** Download only specific parts of a video by specifying time ranges (HH:MM:SS format) From b4d1254c6492368ebbf12c21abd3d0644847fceb Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:46:21 +0300 Subject: [PATCH 049/568] Support time-ranged video downloads --- ytsage_downloader.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ytsage_downloader.py b/ytsage_downloader.py index 6e732d6..5f282f2 100644 --- a/ytsage_downloader.py +++ b/ytsage_downloader.py @@ -21,7 +21,7 @@ class DownloadThread(QThread): file_exists_signal = Signal(str) # New signal for file existence update_details = Signal(str) # New signal for filename, speed, ETA - def __init__(self, url, path, format_id, subtitle_langs=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None, save_description=False, cookie_file=None, rate_limit=None): + def __init__(self, url, path, format_id, subtitle_langs=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None, save_description=False, cookie_file=None, rate_limit=None, download_section=None, force_keyframes=False): super().__init__() self.url = url self.path = path @@ -35,6 +35,8 @@ class DownloadThread(QThread): self.save_description = save_description self.cookie_file = cookie_file self.rate_limit = rate_limit + self.download_section = download_section + self.force_keyframes = force_keyframes self.paused = False self.cancelled = False self.process = None @@ -363,6 +365,16 @@ class DownloadThread(QThread): if self.rate_limit: cmd.extend(["-r", self.rate_limit]) + # Add download section if specified + if self.download_section: + cmd.extend(["--download-sections", self.download_section]) + + # Add force keyframes option if enabled + if self.force_keyframes: + cmd.append("--force-keyframes-at-cuts") + + print(f"DEBUG: Added download section: {self.download_section}, Force keyframes: {self.force_keyframes}") + # Add the URL as the final argument cmd.append(self.url) From 6bd6ba8dd1cb9fda08c675e80af0f01f091f6aeb Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:46:39 +0300 Subject: [PATCH 050/568] Merge cookie/custom dialogs; add trim dialog --- ytsage_gui_dialogs.py | 501 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 499 insertions(+), 2 deletions(-) diff --git a/ytsage_gui_dialogs.py b/ytsage_gui_dialogs.py index 592b7cc..91306b8 100644 --- a/ytsage_gui_dialogs.py +++ b/ytsage_gui_dialogs.py @@ -5,7 +5,7 @@ from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QListWidget, - QListWidgetItem, QDialogButtonBox, QScrollArea, QGroupBox) + QListWidgetItem, QDialogButtonBox, QScrollArea, QGroupBox, QTabWidget) from PySide6.QtCore import Qt, Signal, QObject, QThread, QProcess from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import requests @@ -1296,4 +1296,501 @@ class DownloadSettingsDialog(QDialog): # Renamed class def get_selected_unit_index(self): """Returns the index of the selected speed limit unit.""" - return self.speed_limit_unit.currentIndex() \ No newline at end of file + return self.speed_limit_unit.currentIndex() + +# === New CustomOptions Dialog combining Cookies and Custom Commands === +class CustomOptionsDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent + self.setWindowTitle('Custom Options') + self.setMinimumSize(600, 500) + + layout = QVBoxLayout(self) + + # Create tab widget to organize content + self.tab_widget = QTabWidget() + layout.addWidget(self.tab_widget) + + # === Cookies Tab === + cookies_tab = QWidget() + cookies_layout = QVBoxLayout(cookies_tab) + + # Help text + help_text = QLabel( + "Select the Netscape-format cookies file for logging in.\n" + "This allows downloading of private videos and premium quality audio." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + cookies_layout.addWidget(help_text) + + # File path input and browse button + path_layout = QHBoxLayout() + self.cookie_path_input = QLineEdit() + self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") + if hasattr(parent, 'cookie_file_path') and parent.cookie_file_path: + self.cookie_path_input.setText(parent.cookie_file_path) + path_layout.addWidget(self.cookie_path_input) + + self.browse_button = QPushButton("Browse") + self.browse_button.clicked.connect(self.browse_cookie_file) + path_layout.addWidget(self.browse_button) + cookies_layout.addLayout(path_layout) # Add the horizontal layout to cookies layout + + # Status indicator for cookies + self.cookie_status = QLabel("") + self.cookie_status.setStyleSheet("color: #999999; font-style: italic;") + cookies_layout.addWidget(self.cookie_status) + + cookies_layout.addStretch() + + # === Custom Command Tab === + command_tab = QWidget() + command_layout = QVBoxLayout(command_tab) + + # Help text + cmd_help_text = QLabel( + "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" + "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" + "Note: Download path and output template will be preserved." + ) + cmd_help_text.setWordWrap(True) + cmd_help_text.setStyleSheet("color: #999999; padding: 10px;") + command_layout.addWidget(cmd_help_text) + + # Add SponsorBlock checkbox + self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") + self.sponsorblock_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 0px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + """) + command_layout.addWidget(self.sponsorblock_checkbox) + + # Command input + self.command_input = QPlainTextEdit() + self.command_input.setPlaceholderText("Enter yt-dlp arguments...") + self.command_input.setStyleSheet(""" + QPlainTextEdit { + background-color: #1d1e22; + color: #ffffff; + border: 2px solid #1d1e22; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + } + """) + command_layout.addWidget(self.command_input) + + # Run command button + self.run_btn = QPushButton("Run Command") + self.run_btn.clicked.connect(self.run_custom_command) + command_layout.addWidget(self.run_btn) + + # Log output + self.log_output = QTextEdit() + self.log_output.setReadOnly(True) + self.log_output.setStyleSheet(""" + QTextEdit { + background-color: #1d1e22; + color: #ffffff; + border: 2px solid #1d1e22; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + font-size: 12px; + } + """) + command_layout.addWidget(self.log_output) + + # Add tabs to the tab widget + self.tab_widget.addTab(cookies_tab, "Login with Cookies") + self.tab_widget.addTab(command_tab, "Custom Command") + + # Dialog buttons + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + # Apply global styles + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + } + QTabWidget::pane { + border: 1px solid #3d3d3d; + background-color: #15181b; + } + QTabBar::tab { + background-color: #1d1e22; + color: #ffffff; + padding: 8px 12px; + border: 1px solid #3d3d3d; + border-bottom: none; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } + QTabBar::tab:selected { + background-color: #c90000; + } + QTabBar::tab:hover:!selected { + background-color: #2a2d36; + } + QLabel { + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + + def browse_cookie_file(self): + # Open file dialog to select cookie file + file_dialog = QFileDialog(self) + file_dialog.setFileMode(QFileDialog.ExistingFile) + file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Assuming common cookie file extensions + if file_dialog.exec(): + selected_files = file_dialog.selectedFiles() + if selected_files: + self.cookie_path_input.setText(selected_files[0]) + self.cookie_status.setText("Cookie file selected - Click OK to apply") + self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") + + def get_cookie_file_path(self): + # Return the selected cookie file path if it's not empty + path = self.cookie_path_input.text().strip() + if path and os.path.exists(path): + return path + return None + + def run_custom_command(self): + url = self.parent.url_input.text().strip() + if not url: + self.log_output.append("Error: No URL provided") + return + + command = self.command_input.toPlainText().strip() + + # Get download path from parent + path = self.parent.last_path + + self.log_output.clear() + self.log_output.append(f"Running command with URL: {url}") + self.run_btn.setEnabled(False) + + # Start command in thread + import threading + threading.Thread(target=self._run_command_thread, + args=(command, url, path), + daemon=True).start() + + def _run_command_thread(self, command, url, path): + try: + class CommandLogger: + def debug(self, msg): + from PySide6.QtCore import QMetaObject, Qt, Q_ARG + QMetaObject.invokeMethod( + self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, msg) + ) + def warning(self, msg): + from PySide6.QtCore import QMetaObject, Qt, Q_ARG + QMetaObject.invokeMethod( + self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Warning: {msg}") + ) + def error(self, msg): + from PySide6.QtCore import QMetaObject, Qt, Q_ARG + QMetaObject.invokeMethod( + self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Error: {msg}") + ) + def __init__(self, dialog): + self.dialog = dialog + + # Split command into arguments + args = command.split() + + # Base options + ydl_opts = { + 'logger': CommandLogger(self), + 'paths': {'home': path}, + 'debug_printout': True, + 'postprocessors': [] + } + + # Add SponsorBlock if selected + if self.sponsorblock_checkbox.isChecked(): + ydl_opts['postprocessors'].append({ + 'key': 'SponsorBlock', + 'categories': ['sponsor', 'intro', 'outro', 'selfpromo', 'preview', 'filler'] + }) + + # Parse additional options + yt_dlp_path = get_yt_dlp_path() + base_cmd = [yt_dlp_path] + args + [url] + + # Show the full command + from PySide6.QtCore import QMetaObject, Qt, Q_ARG + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Full command: {' '.join(base_cmd)}") + ) + + # Run the command + proc = subprocess.Popen( + base_cmd, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True, + encoding='utf-8', + errors='replace' + ) + + # Stream output + for line in proc.stdout: + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, line.rstrip()) + ) + + ret = proc.wait() + if ret != 0: + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Command exited with code {ret}") + ) + else: + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, "Command completed successfully") + ) + except Exception as e: + from PySide6.QtCore import QMetaObject, Qt, Q_ARG + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Error: {str(e)}") + ) + finally: + # Re-enable the run button + QMetaObject.invokeMethod( + self.run_btn, "setEnabled", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, True) + ) +# === End of CustomOptionsDialog === + +# === Time Range Selection Dialog === +class TimeRangeDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent + self.setWindowTitle('Download Video Section') + self.setMinimumWidth(400) + + layout = QVBoxLayout(self) + + # Help text explaining the feature + help_text = QLabel( + "Download only specific parts of a video by specifying time ranges.\n" + "Use HH:MM:SS format or seconds. Leave start or end empty to download from beginning or to end." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # Time range section + time_group = QGroupBox("Time Range") + time_layout = QVBoxLayout() + + # Start time row + start_layout = QHBoxLayout() + start_layout.addWidget(QLabel("Start Time:")) + self.start_time_input = QLineEdit() + self.start_time_input.setPlaceholderText("00:00:00 (or leave empty for start)") + start_layout.addWidget(self.start_time_input) + time_layout.addLayout(start_layout) + + # End time row + end_layout = QHBoxLayout() + end_layout.addWidget(QLabel("End Time:")) + self.end_time_input = QLineEdit() + self.end_time_input.setPlaceholderText("00:10:00 (or leave empty for end)") + end_layout.addWidget(self.end_time_input) + time_layout.addLayout(end_layout) + + time_group.setLayout(time_layout) + layout.addWidget(time_group) + + # Force keyframes option + self.force_keyframes = QCheckBox("Force keyframes at cuts (better accuracy, slower)") + self.force_keyframes.setChecked(True) + self.force_keyframes.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 4px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 4px; + } + """) + layout.addWidget(self.force_keyframes) + + # Format preview + preview_group = QGroupBox("Command Preview") + preview_layout = QVBoxLayout() + self.preview_label = QLabel("--download-sections \"*-\"") + self.preview_label.setStyleSheet(""" + QLabel { + background-color: #1d1e22; + color: #ffffff; + border: 1px solid #3d3d3d; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + } + """) + preview_layout.addWidget(self.preview_label) + preview_group.setLayout(preview_layout) + layout.addWidget(preview_group) + + # Connect signals for live preview updates + self.start_time_input.textChanged.connect(self.update_preview) + self.end_time_input.textChanged.connect(self.update_preview) + self.force_keyframes.stateChanged.connect(self.update_preview) + + # Buttons + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + # Apply styling + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + } + QGroupBox { + border: 1px solid #3d3d3d; + border-radius: 4px; + margin-top: 1.5ex; + color: #ffffff; + padding: 10px; + } + QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + padding: 0 5px; + } + QLabel { + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + + # Initialize preview + self.update_preview() + + def update_preview(self): + start = self.start_time_input.text().strip() + end = self.end_time_input.text().strip() + + if start and end: + time_range = f"*{start}-{end}" + elif start: + time_range = f"*{start}-" + elif end: + time_range = f"*-{end}" + else: + time_range = "*-" # Full video + + preview = f"--download-sections \"{time_range}\"" + if self.force_keyframes.isChecked(): + preview += " --force-keyframes-at-cuts" + + self.preview_label.setText(preview) + + def get_download_sections(self): + """Returns the download sections command arguments or None if no selection made""" + start = self.start_time_input.text().strip() + end = self.end_time_input.text().strip() + + if not start and not end: + return None # No selection made + + if start and end: + time_range = f"*{start}-{end}" + elif start: + time_range = f"*{start}-" + elif end: + time_range = f"*-{end}" + else: + return None # Shouldn't happen but just in case + + return time_range + + def get_force_keyframes(self): + """Returns whether to force keyframes at cuts""" + return self.force_keyframes.isChecked() \ No newline at end of file From b8b73f0bf282384bf415471c7852350a186a37d7 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:46:56 +0300 Subject: [PATCH 051/568] Refine file size notes --- ytsage_gui_format_table.py | 91 +++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 51 deletions(-) diff --git a/ytsage_gui_format_table.py b/ytsage_gui_format_table.py index 5f05fb6..d151cc3 100644 --- a/ytsage_gui_format_table.py +++ b/ytsage_gui_format_table.py @@ -249,7 +249,7 @@ class FormatTableMixin: # Column 3: Notes for playlist mode, Extension for normal mode if is_playlist_mode: # Get notes for playlist mode - notes = self.get_format_notes(f, 0) # We don't need best_video_size for simple notes + notes = self._get_format_notes(f) notes_item = QTableWidgetItem(notes) if "✨ Recommended" in notes: notes_item.setForeground(QColor('#00ff00')) # Green for recommended @@ -296,7 +296,7 @@ class FormatTableMixin: self.format_table.setItem(row, 5, QTableWidgetItem(codec)) # Column 7: Notes - notes = self.get_format_notes(f, best_video_size) + notes = self._get_format_notes(f) notes_item = QTableWidgetItem(notes) if "✨ Recommended" in notes: notes_item.setForeground(QColor('#00ff00')) # Green for recommended @@ -357,54 +357,43 @@ class FormatTableMixin: else: return "Low Quality" - def get_format_notes(self, format_info, best_video_size): - """Generate helpful notes about the format""" - if format_info.get('vcodec') == 'none': - # Audio format - abr = format_info.get('abr', 0) - if abr >= 256: - return "✨ Recommended for music" - elif abr >= 128: - return "📱 Mobile friendly" - return "💾 Storage friendly" - else: - # Video format - height = 0 - resolution = format_info.get('resolution', '') - if resolution: - try: - height = int(resolution.split('x')[1]) - except: - pass + def _get_format_notes(self, format_info): + """Generate helpful format notes based on format info.""" + notes = [] + + # Add storage indicator with more granular categories + file_size = format_info.get('filesize') or format_info.get('filesize_approx', 0) + resolution = format_info.get('resolution', '') + height = 0 + if resolution: + try: + height = int(resolution.split('x')[1]) + except: + pass + + # Better file size categories + if file_size > 50 * 1024 * 1024: # Over 50MB + notes.append("Large size") + elif file_size > 15 * 1024 * 1024: # 15-50MB + notes.append("Medium size") + elif file_size > 5 * 1024 * 1024: # 5-15MB + notes.append("Standard size") + else: # Under 5MB + notes.append("Small size") - filesize = format_info.get('filesize', 0) + # Add codec quality indicator + vcodec = format_info.get('vcodec', '') + if vcodec != 'none': + if 'avc1' in vcodec: # H.264 + notes.append("Compatible") + elif 'av01' in vcodec: # AV1 + notes.append("Efficient") + elif 'vp9' in vcodec: # VP9 + notes.append("High quality") + + # Add quick mobile compatibility check + if 'avc1' in vcodec and file_size < 8 * 1024 * 1024: + notes.append("Mobile") - notes = [] - - # Resolution-based recommendations - if height >= 1440: # 2K or 4K - if filesize == best_video_size: - notes.append("✨ Recommended for high-end displays") - else: - notes.append("🖥️ Best for large screens") - elif height == 1080: - if 'avc1' in format_info.get('vcodec', '').lower(): - notes.append("✨ Recommended for most devices") - else: - notes.append("👍 Good balance") - elif height == 720: - notes.append("📱 Mobile friendly") - else: - notes.append("💾 Storage friendly") - - # Codec-based notes - if 'av1' in format_info.get('vcodec', '').lower(): - notes.append("Better compression") - elif 'vp9' in format_info.get('vcodec', '').lower(): - notes.append("Good for Chrome") - - # File size note for large files - if filesize > 100 * 1024 * 1024: # More than 100MB - notes.append("Large file") - - return " • ".join(notes) \ No newline at end of file + # Return simple string + return " • ".join(notes) \ No newline at end of file From d9fc067e62fa600977ba746ff9085a885b78c2b2 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:47:11 +0300 Subject: [PATCH 052/568] Add yt-dlp auto-update via PyPI --- ytsage_utils.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/ytsage_utils.py b/ytsage_utils.py index 698625d..0ec23fe 100644 --- a/ytsage_utils.py +++ b/ytsage_utils.py @@ -5,6 +5,9 @@ from pathlib import Path import subprocess import tempfile import shutil +import pkg_resources +from packaging import version +import requests from ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path def check_ffmpeg(): @@ -130,4 +133,49 @@ def save_path(main_window_instance, path): except Exception as e: print(f"Error saving settings: {e}") - return False \ No newline at end of file + return False + +def update_yt_dlp(): + """Check for yt-dlp updates and update if a newer version is available.""" + try: + # Get current version + try: + current_version = pkg_resources.get_distribution("yt-dlp").version + print(f"Current yt-dlp version: {current_version}") + except pkg_resources.DistributionNotFound: + print("yt-dlp not installed via pip, attempting update anyway") + current_version = "0.0.0" # Assume very old version to force update + + # Get the latest version from PyPI JSON API + try: + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + if response.status_code == 200: + data = response.json() + latest_version = data["info"]["version"] + print(f"Latest available yt-dlp version: {latest_version}") + + # Compare versions and update if needed + if version.parse(latest_version) > version.parse(current_version): + print(f"Updating yt-dlp from {current_version} to {latest_version}...") + update_result = subprocess.run( + [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], + capture_output=True, + text=True, + check=False + ) + if update_result.returncode == 0: + print("yt-dlp successfully updated") + return True + else: + print(f"Error updating yt-dlp: {update_result.stderr}") + else: + print("yt-dlp is already up to date") + return True + else: + print(f"Failed to get latest version info: HTTP {response.status_code}") + except Exception as e: + print(f"Error checking for yt-dlp updates: {e}") + except Exception as e: + print(f"Unexpected error during yt-dlp update: {e}") + + return False \ No newline at end of file From c138a1982213cc6b183392a271f98b9d0cfcabf8 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:47:24 +0300 Subject: [PATCH 053/568] Add Custom Options & Trim Video --- ytsage_gui_main.py | 221 ++++++++++++++++++++++++++++----------------- 1 file changed, 136 insertions(+), 85 deletions(-) diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py index cfa78a8..fba722b 100644 --- a/ytsage_gui_main.py +++ b/ytsage_gui_main.py @@ -25,7 +25,7 @@ from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_pa from ytsage_gui_dialogs import (LogWindow, CustomCommandDialog, FFmpegCheckDialog, YTDLPUpdateDialog, AboutDialog, SubtitleSelectionDialog, PlaylistSelectionDialog, CookieLoginDialog, - DownloadSettingsDialog) # <-- Use renamed dialog + DownloadSettingsDialog, CustomOptionsDialog, TimeRangeDialog) # Added TimeRangeDialog from ytsage_gui_format_table import FormatTableMixin # Import FormatTableMixin from ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin @@ -36,7 +36,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if not check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "4.5.2" + self.version = "4.5.6" self.check_for_updates() self.config_file = Path.home() / '.ytsage_config.json' load_saved_path(self) @@ -69,6 +69,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.cookie_file_path = None # Initialize cookie file path self.speed_limit_value = None # Store speed limit value self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) + self.download_section = None + self.force_keyframes = False self.init_ui() self.setStyleSheet(""" @@ -253,7 +255,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.5.2') + self.setWindowTitle('YTSage v4.5.6') self.setMinimumSize(900, 750) # Main widget and layout @@ -492,20 +494,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Download section download_layout = QHBoxLayout() - # Add existing buttons - self.custom_cmd_btn = QPushButton('Custom Command') - self.custom_cmd_btn.clicked.connect(self.show_custom_command) - - # New button for cookie login - self.cookie_login_button = QPushButton("Login with Cookies") - self.cookie_login_button.clicked.connect(self.show_cookie_login_dialog) # Connect to a new method - - self.update_ytdlp_btn = QPushButton('Update yt-dlp') - self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) + # Replace the two separate buttons with a single Custom Options button + self.custom_options_btn = QPushButton('Custom Options') + self.custom_options_btn.clicked.connect(self.show_custom_options) self.about_btn = QPushButton('About') self.about_btn.clicked.connect(self.show_about_dialog) + # Add new Time Range button + self.time_range_btn = QPushButton('Trim Video') + self.time_range_btn.clicked.connect(self.show_time_range_dialog) + + self.update_ytdlp_btn = QPushButton('Update yt-dlp') + self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) + # --- Rename Path Button to Settings Button --- self.settings_button = QPushButton("Download Settings") # Renamed button self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method @@ -525,10 +527,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.cancel_btn.setVisible(False) # Hidden initially # Add all buttons to layout in the correct order - download_layout.addWidget(self.custom_cmd_btn) - download_layout.addWidget(self.cookie_login_button) - download_layout.addWidget(self.update_ytdlp_btn) + download_layout.addWidget(self.custom_options_btn) download_layout.addWidget(self.about_btn) + download_layout.addWidget(self.time_range_btn) # New button position + download_layout.addWidget(self.update_ytdlp_btn) download_layout.addWidget(self.settings_button) download_layout.addWidget(self.download_btn) download_layout.addWidget(self.pause_btn) @@ -910,7 +912,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m playlist_items=playlist_items_to_download, # Pass the selection string save_description=self.save_description, # Pass the new flag here cookie_file=self.cookie_file_path, # Pass the cookie file path - rate_limit=rate_limit # Pass the calculated rate limit + rate_limit=rate_limit, # Pass the calculated rate limit + download_section=self.download_section, # Pass the download section + force_keyframes=self.force_keyframes # Pass the force keyframes setting ) # Connect signals @@ -1099,71 +1103,18 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def open_release_page(self, url): webbrowser.open(url) - def show_custom_command(self): - dialog = CustomCommandDialog(self) - dialog.exec() - - def cancel_download(self): - if self.current_download: - self.current_download.cancelled = True - self.status_label.setText("Cancelling download...") # Set status directly - self.download_details_label.setText("") # Clear details label on cancellation - - def show_ffmpeg_dialog(self): - dialog = FFmpegCheckDialog(self) - dialog.exec() - - def toggle_download_controls(self, enabled=True): - """Enable or disable download-related controls""" - self.url_input.setEnabled(enabled) - self.analyze_button.setEnabled(enabled) - self.format_table.setEnabled(enabled) # Changed from format_scroll_area to format_table - self.download_btn.setEnabled(enabled) - if hasattr(self, 'subtitle_combo'): - self.subtitle_combo.setEnabled(enabled) - self.video_button.setEnabled(enabled) - self.audio_button.setEnabled(enabled) - self.sponsorblock_checkbox.setEnabled(enabled) - self.merge_subs_checkbox.setEnabled(enabled) # Enable/disable merge subs checkbox - self.custom_cmd_btn.setEnabled(enabled) # Enable/disable custom command button - self.cookie_login_button.setEnabled(enabled) # Enable/disable login button - self.update_ytdlp_btn.setEnabled(enabled) # Enable/disable update button - self.settings_button.setEnabled(enabled) # Enable/disable settings button - - # Clear progress/status when controls are re-enabled - if enabled: - self.progress_bar.setValue(0) - self.status_label.setText("Ready") - self.download_details_label.setText("") # Clear details label - - def handle_format_selection(self, button): - # Update formats - self.filter_formats() - - def handle_mode_change(self): - """Enable or disable features based on video/audio mode""" - if self.audio_button.isChecked(): - # In Audio Only mode, disable video-specific features - self.sponsorblock_checkbox.setEnabled(False) - self.sponsorblock_checkbox.setChecked(False) # Uncheck when disabled - self.merge_subs_checkbox.setEnabled(False) - self.merge_subs_checkbox.setChecked(False) # Uncheck when disabled - - # Allow subtitle selection in Audio Only mode too - if hasattr(self, 'subtitle_select_btn'): - self.subtitle_select_btn.setEnabled(True) - else: - # In Video mode, enable video-specific features - self.sponsorblock_checkbox.setEnabled(True) - # Don't auto-check - leave it to user preference - - # Enable merge_subs only if subtitles are selected - has_subs_selected = len(getattr(self, 'selected_subtitles', [])) > 0 - self.merge_subs_checkbox.setEnabled(has_subs_selected) - - # Re-enable subtitle selection button in Video mode - if hasattr(self, 'subtitle_select_btn'): - self.subtitle_select_btn.setEnabled(True) + def show_custom_options(self): + dialog = CustomOptionsDialog(self) + if dialog.exec(): + # Handle cookies if set + cookie_path = dialog.get_cookie_file_path() + if cookie_path: + self.cookie_file_path = cookie_path + print(f"Selected cookie file: {self.cookie_file_path}") + QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") + else: + # Don't clear the cookie path if nothing was selected + pass def show_about_dialog(self): # ADDED METHOD HERE dialog = AboutDialog(self) @@ -1268,12 +1219,112 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.playlist_select_btn.setText(text) # --- End New Slot --- + def toggle_download_controls(self, enabled=True): + """Enable or disable download-related controls""" + self.url_input.setEnabled(enabled) + self.analyze_button.setEnabled(enabled) + self.format_table.setEnabled(enabled) # Changed from format_scroll_area to format_table + self.download_btn.setEnabled(enabled) + if hasattr(self, 'subtitle_combo'): + self.subtitle_combo.setEnabled(enabled) + self.video_button.setEnabled(enabled) + self.audio_button.setEnabled(enabled) + self.sponsorblock_checkbox.setEnabled(enabled) + self.merge_subs_checkbox.setEnabled(enabled) # Enable/disable merge subs checkbox + self.custom_options_btn.setEnabled(enabled) # Enable/disable custom options button + self.update_ytdlp_btn.setEnabled(enabled) # Enable/disable update button + self.time_range_btn.setEnabled(enabled) # Enable/disable time range button + self.settings_button.setEnabled(enabled) # Enable/disable settings button + + # Clear progress/status when controls are re-enabled + if enabled: + self.progress_bar.setValue(0) + self.status_label.setText("Ready") + self.download_details_label.setText("") # Clear details label + + def handle_format_selection(self, button): + # Update formats + self.filter_formats() + + def handle_mode_change(self): + """Enable or disable features based on video/audio mode""" + if self.audio_button.isChecked(): + # In Audio Only mode, disable video-specific features + self.sponsorblock_checkbox.setEnabled(False) + self.sponsorblock_checkbox.setChecked(False) # Uncheck when disabled + self.merge_subs_checkbox.setEnabled(False) + self.merge_subs_checkbox.setChecked(False) # Uncheck when disabled + + # Allow subtitle selection in Audio Only mode too + if hasattr(self, 'subtitle_select_btn'): + self.subtitle_select_btn.setEnabled(True) + else: + # In Video mode, enable video-specific features + self.sponsorblock_checkbox.setEnabled(True) + # Don't auto-check - leave it to user preference + + # Enable merge_subs only if subtitles are selected + has_subs_selected = len(getattr(self, 'selected_subtitles', [])) > 0 + self.merge_subs_checkbox.setEnabled(has_subs_selected) + + # Re-enable subtitle selection button in Video mode + if hasattr(self, 'subtitle_select_btn'): + self.subtitle_select_btn.setEnabled(True) + + # Keep these methods for backwards compatibility - they just call the new dialog now + def show_custom_command(self): + dialog = CustomOptionsDialog(self) + dialog.tab_widget.setCurrentIndex(1) # Select the Custom Command tab + dialog.exec() + def show_cookie_login_dialog(self): - dialog = CookieLoginDialog(self) + dialog = CustomOptionsDialog(self) + dialog.tab_widget.setCurrentIndex(0) # Select the Cookie Login tab if dialog.exec(): self.cookie_file_path = dialog.get_cookie_file_path() if self.cookie_file_path: - print(f"Selected cookie file: {self.cookie_file_path}") # For debugging + print(f"Selected cookie file: {self.cookie_file_path}") QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") else: - self.cookie_file_path = None # Clear path if dialog accepted but no file selected \ No newline at end of file + self.cookie_file_path = None # Clear path if dialog accepted but no file selected + + def cancel_download(self): + if self.current_download: + self.current_download.cancelled = True + self.status_label.setText("Cancelling download...") # Set status directly + self.download_details_label.setText("") # Clear details label on cancellation + + def show_ffmpeg_dialog(self): + dialog = FFmpegCheckDialog(self) + dialog.exec() + + # Add method for showing time range dialog + def show_time_range_dialog(self): + dialog = TimeRangeDialog(self) + if dialog.exec(): + # Store the time range settings + self.download_section = dialog.get_download_sections() + self.force_keyframes = dialog.get_force_keyframes() + + if self.download_section: + self.time_range_btn.setStyleSheet(""" + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + border: 2px solid white; + } + QPushButton:hover { + background-color: #a50000; + } + """) + self.time_range_btn.setToolTip(f"Section set: {self.download_section}") + else: + # Reset to default style if no section is selected + self.download_section = None + self.force_keyframes = False + self.time_range_btn.setStyleSheet("") + self.time_range_btn.setToolTip("") \ No newline at end of file From 633af43ec92836a0eb28556237e6af33df40441c Mon Sep 17 00:00:00 2001 From: Muhamed <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Jun 2025 20:03:24 +0300 Subject: [PATCH 054/568] docs: update emojis and add collapsible section --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 08439d3..96d150f 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,7 @@ python main.py
-⚙️ Advanced Options +🧰 Advanced Options - **Quality Selection:** Choose the highest resolution for best quality - **Subtitle Options:** Filter languages and embed into video @@ -153,11 +153,14 @@ python main.py
-## 🛠️ Troubleshooting +
+🛠️ Troubleshooting -- When the app doesn't display the format table, update yt-dlp +- **When the app doesn't display the format table:** Update yt-dlp -## 🛠️ Requirements +
+ +## 🧩 Requirements ```plaintext Python 3.7+ From 55c7cd503263deb7b43a893012e25c6f7e5efa29 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 11 Jun 2025 00:34:02 +0300 Subject: [PATCH 055/568] docs: add .deb package info to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 96d150f..25364b9 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ ytsage ### Pre-built Executables - 🪟 Windows: `YTSage.exe` - 🪟 Windows: `YTSage-ffmpeg.exe` (Includes FFmpeg) +- 🐧 Linux: `YTSage_{version}_amd64.deb` - 🐧 Linux: `YTSage-x86_64.AppImage` - 🍎 macOS: `YTSage-macOS-app.zip` - 🍎 macOS: `YTSage.dmg` From 236521a8eb6757481e2eb77a03316bac28325ebc Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 11 Jun 2025 00:34:46 +0300 Subject: [PATCH 056/568] ui: redesign speed limit dropdown to match theme --- ytsage_gui_dialogs.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/ytsage_gui_dialogs.py b/ytsage_gui_dialogs.py index 91306b8..808362a 100644 --- a/ytsage_gui_dialogs.py +++ b/ytsage_gui_dialogs.py @@ -1258,6 +1258,33 @@ class DownloadSettingsDialog(QDialog): # Renamed class self.speed_limit_unit = QComboBox() self.speed_limit_unit.addItems(["KB/s", "MB/s"]) self.speed_limit_unit.setCurrentIndex(self.current_unit_index) # Set initial unit + # Apply custom styling to match the theme + self.speed_limit_unit.setStyleSheet(""" + QComboBox { + padding: 5px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + min-height: 20px; + } + QComboBox::drop-down { + border: none; + width: 20px; + } + QComboBox::down-arrow { + width: 12px; + height: 12px; + } + QComboBox QAbstractItemView { + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #15181b; + color: #ffffff; + selection-background-color: #c90000; + selection-color: #ffffff; + } + """) speed_layout.addWidget(self.speed_limit_unit) speed_group_box.setLayout(speed_layout) From 1cc16cab5dcf690c2eb3ebe91688ea69b29d8c5d Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Wed, 11 Jun 2025 00:35:19 +0300 Subject: [PATCH 057/568] chore: bump version number --- ytsage_gui_main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py index fba722b..343983b 100644 --- a/ytsage_gui_main.py +++ b/ytsage_gui_main.py @@ -36,7 +36,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if not check_ffmpeg(): self.show_ffmpeg_dialog() - self.version = "4.5.6" + self.version = "4.5.7" self.check_for_updates() self.config_file = Path.home() / '.ytsage_config.json' load_saved_path(self) @@ -255,7 +255,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.5.6') + self.setWindowTitle('YTSage v4.5.7') self.setMinimumSize(900, 750) # Main widget and layout From 03a210507d2c299c386c09f3f486157cca0cb95a Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:32:00 +0300 Subject: [PATCH 058/568] Update Application Initialization with yt-dlp Checks --- main.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/main.py b/main.py index 0cce8cd..2aa558c 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,7 @@ import sys from PySide6.QtWidgets import QApplication, QMessageBox from ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main -from ytsage_utils import update_yt_dlp # Import the update function +from ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path # Import the new yt-dlp setup functions def show_error_dialog(message): error_dialog = QMessageBox() @@ -13,14 +13,16 @@ def show_error_dialog(message): def main(): try: - # Try to update yt-dlp before starting the app - try: - update_yt_dlp() - except Exception as e: - print(f"Warning: Could not update yt-dlp: {e}") - # Continue with application startup even if the update fails - app = QApplication(sys.argv) + + # Get the expected binary path and check if it exists + expected_path = get_ytdlp_executable_path() + if not check_ytdlp_binary(): + # No app-specific binary found, show setup dialog regardless of Python package + yt_dlp_path = setup_ytdlp() + if yt_dlp_path == "yt-dlp": # If user canceled or something went wrong + print(f"Warning: yt-dlp not configured properly") + window = YTSageApp() # Instantiate the main application class window.show() sys.exit(app.exec()) From 4e939149ded359f7fb97f95f0ae027dcc7f077b2 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:32:28 +0300 Subject: [PATCH 059/568] Update README with Installation and Feature Details --- README.md | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 25364b9..f6ca83a 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more. | Core Features | Advanced Features | Extra Features | |-----------------------------------|-----------------------------------------|------------------------------------| | 🎥 Format Table | 🚫 SponsorBlock Integration | 💾 Save Download Path | -| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Updates | +| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Update yt-dlp | | ✨ Simple UI | 💾 Save Description | 🛠️ FFmpeg/yt-dlp Detection | | 📋 Playlist Support | 🖼️ Save thumbnail | ⚙️ Custom Commands | | 🖼️ Playlist Selector | 🚀 Speed Limiter | 🍪 Login with Cookies | @@ -49,8 +49,7 @@ pip install ytsage ytsage ``` -
-📦 Other Installation Methods +### 📦 Other Installation Methods ### Pre-built Executables - 🪟 Windows: `YTSage.exe` @@ -58,9 +57,11 @@ ytsage - 🐧 Linux: `YTSage_{version}_amd64.deb` - 🐧 Linux: `YTSage-x86_64.AppImage` - 🍎 macOS: `YTSage-macOS-app.zip` -- 🍎 macOS: `YTSage.dmg` +- 🍎 macOS: `YTSage-{version}.dmg` + +
+🛠️ Manual Installation from Source -### Manual Installation from Source ```bash # Clone repository git clone https://github.com/oop7/YTSage.git @@ -74,6 +75,8 @@ pip install -r requirements.txt # Run application python main.py ``` + +
## 📸 Screenshots @@ -144,9 +147,14 @@ python main.py - **Save Thumbnail:** Save the thumbnail of the video - **Remove Sponsor Segments:** Remove sponsor segments from the video - **Speed Limiter:** Limit the download speed -- **Login with Cookies:** Login with cookies +- **Login with Cookies:** Login to YouTube using cookies to access private content + How to use it: + 1. Extract cookies from your browser using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + 2. Copy the cookies in Netscape format + 3. Create a file named `cookies.txt` and paste the cookies into it + 4. Select the `cookies.txt` file in the app - **Save Download Path:** Save the download path -- **Update yt-dlp:** Updates yt-dlp (works if installed via **PyPI** or when running from **source** using `main.py`) +- **Update yt-dlp:** Update yt-dlp - **FFmpeg/yt-dlp Detection:** Automatically detect FFmpeg/yt-dlp - **Custom Commands:** Access advanced yt-dlp features - **Trim Video:** Download only specific parts of a video by specifying time ranges (HH:MM:SS format) @@ -157,22 +165,19 @@ python main.py
🛠️ Troubleshooting -- **When the app doesn't display the format table:** Update yt-dlp +- **Format table not displaying:** Update yt-dlp to the latest version +- **Download fails:** Check your internet connection and ensure the video is available +- **Audio extraction issues:** Verify FFmpeg is properly installed
## 🧩 Requirements -```plaintext -Python 3.7+ -PySide6 -yt-dlp -Pillow -requests -FFmpeg -packaging -markdown -``` +- **Python:** 3.7 or higher +- **GUI Framework:** PySide6 +- **Download Engine:** yt-dlp +- **Media Processing:** FFmpeg +- **Additional Libraries:** Pillow, requests, packaging, markdown, pygame ## 👥 Contributing @@ -218,6 +223,9 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file | [requests](https://requests.readthedocs.io/) | HTTP Requests | | [packaging](https://packaging.python.org/) | Packaging | | [markdown](https://python-markdown.github.io/) | Markdown Processing | +| [pygame](https://www.pygame.org/) | Audio Playback | +| [New Notification 09 by Universfield](https://pixabay.com/sound-effects/new-notification-09-352705/) | Notification Sound | +
From df41c42ae83305741021a9da7e9fdd82922c8e4a Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:33:10 +0300 Subject: [PATCH 060/568] Update Requirements: Add pygame --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index f5fd815..cc8c957 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,5 @@ yt-dlp requests pillow packaging -markdown \ No newline at end of file +markdown +pygame \ No newline at end of file From b04502b28bcbf0e57c8c19943368c6c79f061b9b Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:33:49 +0300 Subject: [PATCH 061/568] notification --- sound/notification.mp3 | Bin 0 -> 36864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sound/notification.mp3 diff --git a/sound/notification.mp3 b/sound/notification.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0430b396b34a894384d8ecfc5394159c496ba6c7 GIT binary patch literal 36864 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 literal 0 HcmV?d00001 From 320e064ddc734f814d55ede1cefdfa1a4269624e Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:34:18 +0300 Subject: [PATCH 062/568] Refactor yt-dlp Integration and Error Handling --- ytsage_downloader.py | 119 ++++++++++++++++++++----------------------- 1 file changed, 54 insertions(+), 65 deletions(-) diff --git a/ytsage_downloader.py b/ytsage_downloader.py index 5f282f2..5cb7c58 100644 --- a/ytsage_downloader.py +++ b/ytsage_downloader.py @@ -1,5 +1,10 @@ from PySide6.QtCore import QThread, Signal, QObject, QProcess, QTimer -import yt_dlp # Keep yt_dlp import here - only downloader uses it. +try: + import yt_dlp # Keep yt_dlp import here - only downloader uses it. + YT_DLP_AVAILABLE = True +except ImportError: + YT_DLP_AVAILABLE = False + print("Warning: yt-dlp not available at startup, will be downloaded at runtime") import time import os import re @@ -7,6 +12,7 @@ import subprocess # For direct CLI command execution import shlex # For safely parsing command arguments import sys # Added to get executable path information from pathlib import Path +from ytsage_yt_dlp import get_yt_dlp_path # Import the new yt-dlp path function class SignalManager(QObject): update_formats = Signal(list) @@ -148,13 +154,14 @@ class DownloadThread(QThread): if self.cookie_file: ydl_opts_check['cookiefile'] = self.cookie_file - with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: - info = ydl.extract_info(self.url, download=False) - - # Handle cases where info extraction fails silently - if not info: - print("DEBUG: Failed to extract info during file existence check. Skipping check.") - return False # Proceed with download attempt + if YT_DLP_AVAILABLE: + with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: + info = ydl.extract_info(self.url, download=False) + + # Handle cases where info extraction fails silently + if not info: + print("DEBUG: Failed to extract info during file existence check. Skipping check.") + return False # Proceed with download attempt # Get the title and sanitize it for filename title = info.get('title', 'video') @@ -169,6 +176,9 @@ class DownloadThread(QThread): break print(f"DEBUG: Resolution: {resolution}") + else: + print("DEBUG: yt-dlp not available, skipping file existence check") + return False # Proceed with download attempt # Create the expected filename (more specific) if self.is_playlist and info.get('playlist_title'): @@ -210,33 +220,10 @@ class DownloadThread(QThread): def _build_yt_dlp_command(self): """Build the yt-dlp command line with all options for direct execution.""" - # Use bundled yt-dlp executable instead of system PATH - # Determine if we're running from a PyInstaller bundle - if getattr(sys, 'frozen', False): - # We're running from a PyInstaller bundle - base_path = getattr(sys, '_MEIPASS', os.path.dirname(sys.executable)) - yt_dlp_path = os.path.join(base_path, "yt-dlp.exe" if os.name == 'nt' else "yt-dlp") - if os.path.exists(yt_dlp_path): - cmd = [yt_dlp_path] - print(f"DEBUG: Using bundled yt-dlp from: {yt_dlp_path}") - - # Check if the bundled executable is actually executable - if not os.access(yt_dlp_path, os.X_OK) and os.name != 'nt': # Skip check on Windows - print(f"WARNING: Bundled yt-dlp exists but is not executable: {yt_dlp_path}") - try: - # Try to make it executable - os.chmod(yt_dlp_path, 0o755) - print(f"Fixed permissions on bundled yt-dlp") - except Exception as e: - print(f"Failed to fix permissions: {e}") - else: - # Fall back to regular command if bundled version not found - cmd = ["yt-dlp"] - print(f"DEBUG: Bundled yt-dlp not found at {yt_dlp_path}, using system PATH") - else: - # We're running from source, use system PATH - cmd = ["yt-dlp"] - print("DEBUG: Using system PATH for yt-dlp") + # Use the new yt-dlp path function from ytsage_yt_dlp module + yt_dlp_path = get_yt_dlp_path() + cmd = [yt_dlp_path] + print(f"DEBUG: Using yt-dlp from: {yt_dlp_path}") # Format selection strategy - use format ID if provided or fallback to resolution if self.format_id: @@ -246,19 +233,20 @@ class DownloadThread(QThread): # Check if this is an audio-only format is_audio_format = False try: - ydl_opts = { - 'quiet': True, - 'no_warnings': True, - 'skip_download': True, - } - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(self.url, download=False) - for fmt in info.get('formats', []): - if fmt.get('format_id') == clean_format_id: - if fmt.get('vcodec') == 'none' or 'audio only' in fmt.get('format_note', '').lower(): - is_audio_format = True - print(f"DEBUG: Detected audio-only format for ID: {clean_format_id}") - break + if YT_DLP_AVAILABLE: + ydl_opts = { + 'quiet': True, + 'no_warnings': True, + 'skip_download': True, + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(self.url, download=False) + for fmt in info.get('formats', []): + if fmt.get('format_id') == clean_format_id: + if fmt.get('vcodec') == 'none' or 'audio only' in fmt.get('format_note', '').lower(): + is_audio_format = True + print(f"DEBUG: Detected audio-only format for ID: {clean_format_id}") + break except Exception as e: print(f"DEBUG: Error checking if format is audio-only: {e}") @@ -275,24 +263,25 @@ class DownloadThread(QThread): try: format_ext = None print(f"DEBUG: Getting format information for format ID: {self.format_id} (using: {clean_format_id})") - ydl_opts = { - 'quiet': True, - 'no_warnings': True, - 'skip_download': True, - } - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(self.url, download=False) - # Look for the clean format ID first - for fmt in info.get('formats', []): - if fmt.get('format_id') == clean_format_id: - format_ext = fmt.get('ext') - break - # If not found, try the original ID as fallback - if not format_ext: + if YT_DLP_AVAILABLE: + ydl_opts = { + 'quiet': True, + 'no_warnings': True, + 'skip_download': True, + } + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + info = ydl.extract_info(self.url, download=False) + # Look for the clean format ID first for fmt in info.get('formats', []): - if fmt.get('format_id') == self.format_id: + if fmt.get('format_id') == clean_format_id: format_ext = fmt.get('ext') break + # If not found, try the original ID as fallback + if not format_ext: + for fmt in info.get('formats', []): + if fmt.get('format_id') == self.format_id: + format_ext = fmt.get('ext') + break if format_ext: print(f"DEBUG: Detected format extension: {format_ext}") @@ -324,7 +313,7 @@ class DownloadThread(QThread): if self.is_playlist and self.playlist_items: cmd.extend(["--playlist-items", self.playlist_items]) - # Add subtitle options if selected + # Add subtitle options if subtitles are selected if self.subtitle_langs: # Subtitles work with both audio-only and video formats # For audio-only formats, subtitles will be downloaded as separate files @@ -344,7 +333,7 @@ class DownloadThread(QThread): cmd.extend(["--sub-langs", ",".join(lang_codes)]) cmd.append("--write-auto-subs") # Include auto-generated subtitles - # Add embedding if requested - only applies to video formats + # Only embed subtitles if merge is enabled if self.merge_subs: cmd.append("--embed-subs") From 5a49e606cda9a8ad3a58ea4f1372fe236ca8cf98 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:34:48 +0300 Subject: [PATCH 063/568] Refactor Imports and yt-dlp Path Handling in Dialogs --- ytsage_gui_dialogs.py | 1436 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 1312 insertions(+), 124 deletions(-) diff --git a/ytsage_gui_dialogs.py b/ytsage_gui_dialogs.py index 808362a..7507a61 100644 --- a/ytsage_gui_dialogs.py +++ b/ytsage_gui_dialogs.py @@ -5,8 +5,8 @@ from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton, QTableWidget, QTableWidgetItem, QProgressBar, QLabel, QFileDialog, QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QListWidget, - QListWidgetItem, QDialogButtonBox, QScrollArea, QGroupBox, QTabWidget) -from PySide6.QtCore import Qt, Signal, QObject, QThread, QProcess + QListWidgetItem, QDialogButtonBox, QScrollArea, QGroupBox, QTabWidget, QRadioButton, QMessageBox) +from PySide6.QtCore import Qt, Signal, QObject, QThread, QProcess, QTimer from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap import requests from io import BytesIO @@ -17,10 +17,17 @@ from pathlib import Path from packaging import version import subprocess import re -import yt_dlp +try: + import yt_dlp + YT_DLP_AVAILABLE = True +except ImportError: + YT_DLP_AVAILABLE = False + print("Warning: yt-dlp not available at startup, will be downloaded at runtime") +import time # Add time import for cache timestamps from ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed +from ytsage_yt_dlp import get_yt_dlp_path -from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions +from ytsage_utils import check_ffmpeg, load_saved_path, save_path, get_ytdlp_version, get_ffmpeg_version, refresh_version_cache, _version_cache # Import utility functions class LogWindow(QDialog): @@ -408,33 +415,39 @@ class VersionCheckThread(QThread): error_message = "" try: - # Get the yt-dlp executable path - if getattr(sys, 'frozen', False): - if sys.platform == 'win32': - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp.exe') - else: - yt_dlp_path = os.path.join(os.path.dirname(sys.executable), 'yt-dlp') - else: - yt_dlp_path = 'yt-dlp' + # Get the yt-dlp executable path using the new module + yt_dlp_path = get_yt_dlp_path() - # Get current version + # Get current version with timeout try: result = subprocess.run([yt_dlp_path, '--version'], capture_output=True, text=True, + timeout=30, # 30 second timeout startupinfo=None if sys.platform != 'win32' else subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW, wShowWindow=subprocess.SW_HIDE), # Hide console window on Windows creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) # Hide console window on Windows if result.returncode == 0: current_version = result.stdout.strip() else: # Try fallback if command failed - import yt_dlp + if YT_DLP_AVAILABLE: + current_version = yt_dlp.version.__version__ + else: + error_message = "yt-dlp not available." + self.finished.emit(current_version, latest_version, error_message) + return + except subprocess.TimeoutExpired: + # Try fallback if timeout + if YT_DLP_AVAILABLE: current_version = yt_dlp.version.__version__ + else: + error_message = "yt-dlp version check timed out and package not found." + self.finished.emit(current_version, latest_version, error_message) + return except Exception: # Fallback to importing yt_dlp package directly if subprocess fails - try: - import yt_dlp + if YT_DLP_AVAILABLE: current_version = yt_dlp.version.__version__ - except ImportError: + else: error_message = "yt-dlp not found or accessible." self.finished.emit(current_version, latest_version, error_message) return @@ -459,81 +472,241 @@ class VersionCheckThread(QThread): class UpdateThread(QThread): update_status = Signal(str) # For status messages + update_progress = Signal(int) # For progress percentage (0-100) update_finished = Signal(bool, str) # success (bool), message/error (str) def run(self): error_message = "" success = False try: - self.update_status.emit("Starting update process...") + import requests + import subprocess + import pkg_resources + from packaging import version + import os + import sys + import shutil + from ytsage_yt_dlp import get_yt_dlp_path - # Determine paths (similar logic as before) - python_path = sys.executable # Default to current interpreter - yt_dlp_dir = os.path.dirname(sys.executable) if getattr(sys, 'frozen', False) else os.getcwd() - - if getattr(sys, 'frozen', False) and sys.platform == 'win32': - alt_python_path = os.path.join(os.path.dirname(sys.executable), 'python.exe') - if os.path.exists(alt_python_path): - python_path = alt_python_path + self.update_status.emit("🔍 Checking current installation...") + self.update_progress.emit(10) - # Create and configure QProcess - process = QProcess() - process.setWorkingDirectory(yt_dlp_dir) - process.setProcessChannelMode(QProcess.ProcessChannelMode.MergedChannels) # Combine stdout/stderr + # Get the yt-dlp path + try: + yt_dlp_path = get_yt_dlp_path() + self.update_status.emit(f"📍 Found yt-dlp at: {os.path.basename(yt_dlp_path)}") + except Exception as e: + self.update_status.emit(f"❌ Error getting yt-dlp path: {e}") + self.update_finished.emit(False, f"❌ Error getting yt-dlp path: {e}") + return - # Prepare command arguments - pip_args = ['install', '--upgrade', '--no-cache-dir', 'yt-dlp'] - if sys.platform == 'win32': - command = python_path - args = ['-m', 'pip'] + pip_args + # Create startupinfo to hide console on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + self.update_progress.emit(20) + + # Check if we're using an app-managed binary or system installation + app_managed_dirs = [ + os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), + os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), + os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) + ] + + is_app_managed = any(os.path.dirname(yt_dlp_path) == dir_path for dir_path in app_managed_dirs) + + if is_app_managed: + self.update_status.emit("📦 Updating app-managed yt-dlp binary...") + success = self._update_binary(yt_dlp_path) else: - # Assume pip is in PATH or use python -m pip for robustness - command = python_path - args = ['-m', 'pip'] + pip_args - # Alternative if pip is guaranteed in PATH: command = 'pip', args = pip_args - - # Start the process - self.update_status.emit(f"Running: {command} {' '.join(args)}") - process.start(command, args) + self.update_status.emit("🐍 Updating system yt-dlp via pip...") + success = self._update_via_pip(startupinfo) - # Wait for finish (use QProcess event loop, not blocking waitForFinished) - if not process.waitForStarted(5000): # Wait 5s for process to start - raise RuntimeError("Update process failed to start.") - - if not process.waitForFinished(-1): # Wait indefinitely for finish - raise RuntimeError("Update process failed to finish.") - - exit_code = process.exitCode() - output = process.readAll().data().decode(errors='ignore') # Read combined output - - if exit_code == 0: - self.update_status.emit("Update completed successfully!") - success = True - error_message = "Update successful. Please restart the application." + if success: + self.update_progress.emit(100) + error_message = "✅ yt-dlp has been successfully updated!" else: - self.update_status.emit(f"Update failed (Exit Code: {exit_code})") - error_message = f"Update failed.\nExit Code: {exit_code}\nOutput:\n{output}" - success = False + error_message = "❌ Failed to update yt-dlp. Please try again or check your internet connection." + except requests.RequestException as e: + error_message = f"❌ Network error during update: {str(e)}" + self.update_status.emit(error_message) + success = False except Exception as e: - error_message = f"Update failed with exception: {e}" + error_message = f"❌ Update failed: {str(e)}" self.update_status.emit(error_message) success = False self.update_finished.emit(success, error_message) + + def _update_binary(self, yt_dlp_path): + """Update yt-dlp binary directly from GitHub releases.""" + try: + self.update_status.emit("🌐 Determining download URL...") + self.update_progress.emit(30) + + # Determine the URL based on OS + if sys.platform == 'win32': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" + elif sys.platform == 'darwin': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" + else: + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" + + self.update_status.emit("⬇️ Downloading latest yt-dlp binary...") + self.update_progress.emit(40) + + # Download with progress tracking and timeout + response = requests.get(url, stream=True, timeout=30) + if response.status_code != 200: + self.update_status.emit(f"❌ Download failed: HTTP {response.status_code}") + return False + + total_size = int(response.headers.get('content-length', 0)) + temp_file = f"{yt_dlp_path}.new" + downloaded = 0 + + self.update_status.emit("💾 Downloading and saving binary...") + + with open(temp_file, 'wb') as f: + for chunk in response.iter_content(chunk_size=8192): + if chunk: + f.write(chunk) + downloaded += len(chunk) + + # Update progress (40-80% for download) + if total_size > 0: + progress = 40 + int((downloaded / total_size) * 40) + self.update_progress.emit(progress) + + self.update_status.emit("🔧 Installing updated binary...") + self.update_progress.emit(85) + + # Make executable on Unix systems + if sys.platform != 'win32': + os.chmod(temp_file, 0o755) + + # Replace the old file with the new one + try: + # On Windows, we need to remove the old file first + if sys.platform == 'win32' and os.path.exists(yt_dlp_path): + os.remove(yt_dlp_path) + + os.rename(temp_file, yt_dlp_path) + self.update_status.emit("✅ Binary successfully updated!") + self.update_progress.emit(95) + return True + + except Exception as e: + self.update_status.emit(f"❌ Error installing binary: {e}") + # Clean up temp file if it exists + if os.path.exists(temp_file): + try: + os.remove(temp_file) + except: + pass + return False + + except requests.RequestException as e: + self.update_status.emit(f"❌ Network error: {e}") + return False + except Exception as e: + self.update_status.emit(f"❌ Binary update failed: {e}") + return False + + def _update_via_pip(self, startupinfo): + """Update yt-dlp via pip.""" + try: + import pkg_resources + + self.update_status.emit("🔍 Checking current pip installation...") + self.update_progress.emit(30) + + # Get current version + try: + current_version = pkg_resources.get_distribution("yt-dlp").version + self.update_status.emit(f"📋 Current version: {current_version}") + except pkg_resources.DistributionNotFound: + self.update_status.emit("⚠️ yt-dlp not found via pip, attempting installation...") + current_version = "0.0.0" + + self.update_progress.emit(40) + + # Get the latest version from PyPI + self.update_status.emit("🌐 Checking for latest version...") + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + + if response.status_code != 200: + self.update_status.emit("❌ Failed to check for updates") + return False + + data = response.json() + latest_version = data["info"]["version"] + self.update_status.emit(f"🆕 Latest version: {latest_version}") + self.update_progress.emit(50) + + # Compare versions + from packaging import version + if version.parse(latest_version) > version.parse(current_version): + self.update_status.emit(f"⬆️ Updating from {current_version} to {latest_version}...") + self.update_progress.emit(60) + + try: + # Run pip update with timeout + self.update_status.emit("📦 Running pip install --upgrade...") + update_result = subprocess.run( + [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], + capture_output=True, + text=True, + check=False, + timeout=300, # 5 minute timeout for pip install + startupinfo=startupinfo + ) + + self.update_progress.emit(85) + + if update_result.returncode == 0: + self.update_status.emit("✅ Pip update completed successfully!") + self.update_progress.emit(95) + return True + else: + self.update_status.emit(f"❌ Pip update failed: {update_result.stderr}") + return False + + except subprocess.TimeoutExpired: + self.update_status.emit("❌ Pip update timed out after 5 minutes") + return False + except Exception as e: + self.update_status.emit(f"❌ Error during pip update: {e}") + return False + else: + self.update_status.emit("✅ yt-dlp is already up to date!") + self.update_progress.emit(95) + return True + + except Exception as e: + self.update_status.emit(f"❌ Pip update failed: {e}") + return False class YTDLPUpdateDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) self.setWindowTitle("Update yt-dlp") - self.setMinimumWidth(400) + self.setMinimumWidth(450) + self.setMinimumHeight(200) + self._closing = False # Flag to track if dialog is closing layout = QVBoxLayout(self) # Status label self.status_label = QLabel("Checking for updates...") self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.status_label.setWordWrap(True) + self.status_label.setMinimumHeight(60) layout.addWidget(self.status_label) # Progress bar @@ -581,15 +754,19 @@ class YTDLPUpdateDialog(QDialog): } QProgressBar { border: 2px solid #1d1e22; - border-radius: 4px; + border-radius: 6px; text-align: center; color: white; background-color: #1d1e22; - height: 25px; + height: 30px; + font-weight: bold; + font-size: 12px; } QProgressBar::chunk { - background-color: #c90000; - border-radius: 2px; + background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, + stop: 0 #e60000, stop: 0.5 #ff3333, stop: 1 #c90000); + border-radius: 4px; + margin: 1px; } """) @@ -604,6 +781,10 @@ class YTDLPUpdateDialog(QDialog): self.version_check_thread.start() def on_version_check_finished(self, current_version, latest_version, error_message): + # Check if dialog is closing to avoid unnecessary updates + if hasattr(self, '_closing') and self._closing: + return + if error_message: self.status_label.setText(error_message) self.update_btn.setEnabled(False) @@ -638,46 +819,73 @@ class YTDLPUpdateDialog(QDialog): self.update_btn.setEnabled(False) def perform_update(self): + # Immediate visual feedback self.update_btn.setEnabled(False) self.close_btn.setEnabled(False) - self.status_label.setText("Initializing update...") - self.progress_bar.setRange(0, 0) # Indeterminate progress + self.update_btn.setText("Updating...") + self.status_label.setText("🚀 Initializing update process...") + + # Show progress bar immediately + self.progress_bar.setRange(0, 100) + self.progress_bar.setValue(0) self.progress_bar.show() + # Start the update thread immediately without processEvents() + # The QTimer delay was unnecessary and could cause issues + self._start_update_thread() + + def _start_update_thread(self): + """Start the actual update thread after giving immediate feedback.""" # Create and start the update thread self.update_thread = UpdateThread() - self.update_thread.update_status.connect(self.on_update_status) # Connect status signal - self.update_thread.update_finished.connect(self.on_update_finished) # Connect finished signal + self.update_thread.update_status.connect(self.on_update_status) + self.update_thread.update_progress.connect(self.on_update_progress) + self.update_thread.update_finished.connect(self.on_update_finished) self.update_thread.start() def on_update_status(self, message): """Slot to receive status messages from UpdateThread.""" - self.status_label.setText(message) + if not (hasattr(self, '_closing') and self._closing): + self.status_label.setText(message) + + def on_update_progress(self, progress): + """Slot to receive progress updates from UpdateThread.""" + if not (hasattr(self, '_closing') and self._closing): + self.progress_bar.setValue(progress) def on_update_finished(self, success, message): """Slot called when the UpdateThread finishes.""" - self.progress_bar.setRange(0, 100) # Set determinate range - self.progress_bar.setValue(100) # Mark as complete - self.progress_bar.hide() # Optionally hide progress bar again + # Check if dialog is closing to avoid unnecessary updates + if hasattr(self, '_closing') and self._closing: + return + + self.progress_bar.setValue(100) self.status_label.setText(message) self.close_btn.setEnabled(True) + self.update_btn.setText("Update") # Reset button text if success: - # Optionally re-check version automatically after successful update - self.check_version() + # Show success briefly then auto-check version + QTimer.singleShot(2000, self.check_version) # Wait 2 seconds then refresh else: - # Re-enable update button only if failed? - # self.update_btn.setEnabled(True) # Decide if appropriate - pass # Keep update button disabled on failure for now + # Re-enable update button on failure after a short delay + QTimer.singleShot(3000, lambda: self.update_btn.setEnabled(True) if not (hasattr(self, '_closing') and self._closing) else None) def closeEvent(self, event): """Ensure threads are terminated if the dialog is closed prematurely.""" + # Set a flag to indicate dialog is closing + self._closing = True + if hasattr(self, 'version_check_thread') and self.version_check_thread.isRunning(): - self.version_check_thread.quit() # Ask thread to stop - self.version_check_thread.wait() # Wait for it to finish + self.version_check_thread.quit() + if not self.version_check_thread.wait(3000): # Wait up to 3 seconds + self.version_check_thread.terminate() + if hasattr(self, 'update_thread') and self.update_thread.isRunning(): self.update_thread.quit() - self.update_thread.wait() + if not self.update_thread.wait(5000): # Wait up to 5 seconds for update to finish + self.update_thread.terminate() + super().closeEvent(event) class AboutDialog(QDialog): @@ -728,19 +936,47 @@ class AboutDialog(QDialog): repo_label.setOpenExternalLinks(True) info_layout.addWidget(repo_label) - # yt-dlp path - yt_dlp_path = get_yt_dlp_path() - yt_dlp_path_text = yt_dlp_path if yt_dlp_path else 'yt-dlp not found in PATH' - yt_dlp_label = QLabel(f"yt-dlp Path: {yt_dlp_path_text}") - yt_dlp_label.setWordWrap(True) - info_layout.addWidget(yt_dlp_label) - - # FFmpeg Status - ffmpeg_found = check_ffmpeg() - ffmpeg_status_text = "Detected" if ffmpeg_found else "Not Detected" - ffmpeg_label = QLabel(f"FFmpeg Status: {ffmpeg_status_text}") - info_layout.addWidget(ffmpeg_label) + # Create version info container with refresh button + version_container = QVBoxLayout() + + # Header with refresh button + header_layout = QHBoxLayout() + header_label = QLabel("System Information") + header_label.setStyleSheet("color: #ffffff; font-size: 14px;") + header_layout.addWidget(header_label) + + header_layout.addStretch() + + self.refresh_btn = QPushButton("Refresh") + self.refresh_btn.setStyleSheet(""" + QPushButton { + padding: 4px 12px; + background-color: #3d3d3d; + border: 1px solid #555555; + border-radius: 4px; + color: white; + font-size: 11px; + } + QPushButton:hover { + background-color: #4d4d4d; + } + QPushButton:pressed { + background-color: #2d2d2d; + } + """) + self.refresh_btn.clicked.connect(self.refresh_version_info) + header_layout.addWidget(self.refresh_btn) + + version_container.addLayout(header_layout) + # Version information labels (stored as instance variables for updating) + self.version_info_layout = QVBoxLayout() + version_container.addLayout(self.version_info_layout) + + # Populate version information + self.update_version_info() + + info_layout.addLayout(version_container) layout.addLayout(info_layout) # Close Button @@ -768,6 +1004,115 @@ class AboutDialog(QDialog): QPushButton:hover { background-color: #a50000; } """) + def update_version_info(self): + """Update the version information display.""" + # Clear existing labels + for i in reversed(range(self.version_info_layout.count())): + child = self.version_info_layout.itemAt(i).widget() + if child: + child.deleteLater() + + # yt-dlp path and version + yt_dlp_path = get_yt_dlp_path() + yt_dlp_path_text = yt_dlp_path if yt_dlp_path else 'yt-dlp not found in PATH' + yt_dlp_version = get_ytdlp_version() + + yt_dlp_label = QLabel(f"yt-dlp Path: {yt_dlp_path_text}") + yt_dlp_label.setWordWrap(True) + self.version_info_layout.addWidget(yt_dlp_label) + + # Add cache status for yt-dlp + ytdlp_cache = _version_cache.get('ytdlp', {}) + last_check = ytdlp_cache.get('last_check', 0) + cache_status = "" + if last_check > 0: + import time + from datetime import datetime + cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M:%S") + cache_status = f" (checked at {cache_time})" + + yt_dlp_version_label = QLabel(f"yt-dlp Version: {yt_dlp_version}{cache_status}") + yt_dlp_version_label.setWordWrap(True) + self.version_info_layout.addWidget(yt_dlp_version_label) + + # FFmpeg Status and Version + ffmpeg_found = check_ffmpeg() + ffmpeg_status_text = "Detected" if ffmpeg_found else "Not Detected" + ffmpeg_version = get_ffmpeg_version() if ffmpeg_found else "Not Available" + + ffmpeg_label = QLabel(f"FFmpeg Status: {ffmpeg_status_text}") + self.version_info_layout.addWidget(ffmpeg_label) + + # Add cache status for FFmpeg + ffmpeg_cache = _version_cache.get('ffmpeg', {}) + last_check = ffmpeg_cache.get('last_check', 0) + cache_status = "" + if last_check > 0 and ffmpeg_found: + import time + from datetime import datetime + cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M:%S") + cache_status = f" (checked at {cache_time})" + + ffmpeg_version_label = QLabel(f"FFmpeg Version: {ffmpeg_version}{cache_status}") + ffmpeg_version_label.setWordWrap(True) + self.version_info_layout.addWidget(ffmpeg_version_label) + + def refresh_version_info(self): + """Refresh version information manually.""" + self.refresh_btn.setText("Refreshing...") + self.refresh_btn.setEnabled(False) + + # Perform refresh in a separate thread to avoid blocking UI + from PySide6.QtCore import QThread, Signal + + class RefreshThread(QThread): + finished = Signal(bool) + + def run(self): + success = refresh_version_cache(force=True) + self.finished.emit(success) + + self.refresh_thread = RefreshThread() + self.refresh_thread.finished.connect(self.on_refresh_finished) + self.refresh_thread.start() + + def on_refresh_finished(self, success): + """Handle refresh completion.""" + self.refresh_btn.setText("Refresh") + self.refresh_btn.setEnabled(True) + + if success: + self.update_version_info() + else: + # Show error message with proper styling + msg_box = QMessageBox(self) + msg_box.setIcon(QMessageBox.Warning) + msg_box.setWindowTitle("Refresh Failed") + msg_box.setText("Failed to refresh version information.") + msg_box.setWindowIcon(self.windowIcon()) + msg_box.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QMessageBox QLabel { + color: #ffffff; + } + QMessageBox QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QMessageBox QPushButton:hover { + background-color: #a50000; + } + """) + msg_box.exec() + # --- New Subtitle Selection Dialog --- class SubtitleSelectionDialog(QDialog): def __init__(self, available_manual, available_auto, previously_selected, parent=None): @@ -1224,10 +1569,123 @@ class DownloadSettingsDialog(QDialog): # Renamed class super().__init__(parent) self.setWindowTitle("Download Settings") # Renamed window self.setMinimumWidth(450) + self.setMinimumHeight(400) self.current_path = current_path self.current_limit = current_limit if current_limit is not None else "" # Handle None self.current_unit_index = current_unit_index + # Apply main app styling + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + color: #ffffff; + } + QWidget { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QGroupBox { + color: #ffffff; + border: 2px solid #1b2021; + border-radius: 4px; + margin-top: 10px; + padding-top: 10px; + font-weight: bold; + background-color: #15181b; + } + QGroupBox::title { + subcontrol-origin: margin; + left: 10px; + padding: 0 5px 0 5px; + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + selection-background-color: #c90000; + selection-color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-height: 20px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QPushButton:disabled { + background-color: #666666; + color: #999999; + } + QCheckBox { + spacing: 5px; + color: #ffffff; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #15181b; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + } + QRadioButton { + spacing: 5px; + color: #ffffff; + } + QRadioButton::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QRadioButton::indicator:unchecked { + border: 2px solid #666666; + background: #15181b; + } + QRadioButton::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + } + QComboBox { + padding: 5px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + min-height: 20px; + } + QComboBox::drop-down { + border: none; + width: 20px; + } + QComboBox QAbstractItemView { + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #15181b; + color: #ffffff; + selection-background-color: #c90000; + selection-color: #ffffff; + } + """) + layout = QVBoxLayout(self) # --- Download Path Section --- @@ -1236,7 +1694,7 @@ class DownloadSettingsDialog(QDialog): # Renamed class self.path_display = QLabel(self.current_path) self.path_display.setWordWrap(True) - self.path_display.setStyleSheet("QLabel { color: #cccccc; padding: 5px; border: 1px solid #3d3d3d; border-radius: 4px; background-color: #363636; }") + self.path_display.setStyleSheet("QLabel { color: #ffffff; padding: 5px; border: 1px solid #1b2021; border-radius: 4px; background-color: #1b2021; }") path_layout.addWidget(self.path_display) browse_button = QPushButton("Browse...") @@ -1258,39 +1716,59 @@ class DownloadSettingsDialog(QDialog): # Renamed class self.speed_limit_unit = QComboBox() self.speed_limit_unit.addItems(["KB/s", "MB/s"]) self.speed_limit_unit.setCurrentIndex(self.current_unit_index) # Set initial unit - # Apply custom styling to match the theme - self.speed_limit_unit.setStyleSheet(""" - QComboBox { - padding: 5px; - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #1b2021; - color: #ffffff; - min-height: 20px; - } - QComboBox::drop-down { - border: none; - width: 20px; - } - QComboBox::down-arrow { - width: 12px; - height: 12px; - } - QComboBox QAbstractItemView { - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #15181b; - color: #ffffff; - selection-background-color: #c90000; - selection-color: #ffffff; - } - """) speed_layout.addWidget(self.speed_limit_unit) speed_group_box.setLayout(speed_layout) layout.addWidget(speed_group_box) # --- End Speed Limit Section --- + # --- Auto-Update yt-dlp Section --- + auto_update_group_box = QGroupBox("Auto-Update yt-dlp") + auto_update_layout = QVBoxLayout() + + # Load current auto-update settings + from ytsage_utils import get_auto_update_settings + auto_settings = get_auto_update_settings() + + # Enable/Disable auto-update checkbox + self.auto_update_enabled = QCheckBox("Enable automatic yt-dlp updates") + self.auto_update_enabled.setChecked(auto_settings['enabled']) + auto_update_layout.addWidget(self.auto_update_enabled) + + # Frequency options + frequency_label = QLabel("Update frequency:") + frequency_label.setStyleSheet("color: #ffffff; margin-top: 10px;") + auto_update_layout.addWidget(frequency_label) + + self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") + self.daily_radio = QRadioButton("Check daily") + self.weekly_radio = QRadioButton("Check weekly") + + # Set current selection based on saved settings + current_frequency = auto_settings['frequency'] + if current_frequency == 'startup': + self.startup_radio.setChecked(True) + elif current_frequency == 'daily': + self.daily_radio.setChecked(True) + else: # weekly + self.weekly_radio.setChecked(True) + + auto_update_layout.addWidget(self.startup_radio) + auto_update_layout.addWidget(self.daily_radio) + auto_update_layout.addWidget(self.weekly_radio) + + # Test update button + test_update_layout = QHBoxLayout() + test_update_button = QPushButton("Check for Updates Now") + test_update_button.clicked.connect(self.test_update_check) + test_update_layout.addWidget(test_update_button) + test_update_layout.addStretch() + auto_update_layout.addLayout(test_update_layout) + + auto_update_group_box.setLayout(auto_update_layout) + layout.addWidget(auto_update_group_box) + # --- End Auto-Update Section --- + # Dialog buttons (OK/Cancel) button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) button_box.accepted.connect(self.accept) @@ -1325,6 +1803,121 @@ class DownloadSettingsDialog(QDialog): # Renamed class """Returns the index of the selected speed limit unit.""" return self.speed_limit_unit.currentIndex() + def _create_styled_message_box(self, icon, title, text): + """Create a styled QMessageBox that matches the app theme.""" + msg_box = QMessageBox(self) + msg_box.setIcon(icon) + msg_box.setWindowTitle(title) + msg_box.setText(text) + msg_box.setWindowIcon(self.windowIcon()) + msg_box.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QMessageBox QLabel { + color: #ffffff; + } + QMessageBox QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QMessageBox QPushButton:hover { + background-color: #a50000; + } + QMessageBox QPushButton:pressed { + background-color: #800000; + } + """) + return msg_box + + def test_update_check(self): + """Test the update check functionality.""" + try: + from ytsage_utils import get_ytdlp_version + import requests + + # Get current version + current_version = get_ytdlp_version() + if "Error" in current_version: + msg_box = self._create_styled_message_box( + QMessageBox.Warning, + "Update Check", + "Could not determine current yt-dlp version." + ) + msg_box.exec() + return + + # Get latest version from PyPI + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + response.raise_for_status() + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + from packaging import version as version_parser + if version_parser.parse(latest_version) > version_parser.parse(current_version): + msg_box = self._create_styled_message_box( + QMessageBox.Information, + "Update Check", + f"Update available!\n\nCurrent: {current_version}\nLatest: {latest_version}\n\nUse the 'Update yt-dlp' button in the main window to update." + ) + msg_box.exec() + else: + msg_box = self._create_styled_message_box( + QMessageBox.Information, + "Update Check", + f"yt-dlp is up to date!\n\nCurrent version: {current_version}" + ) + msg_box.exec() + except Exception as e: + msg_box = self._create_styled_message_box( + QMessageBox.Warning, + "Update Check", + f"Error checking for updates: {str(e)}" + ) + msg_box.exec() + + def get_auto_update_settings(self): + """Returns the auto-update settings from the dialog.""" + enabled = self.auto_update_enabled.isChecked() + + if self.startup_radio.isChecked(): + frequency = 'startup' + elif self.daily_radio.isChecked(): + frequency = 'daily' + else: # weekly_radio is checked + frequency = 'weekly' + + return enabled, frequency + + def accept(self): + """Override accept to save auto-update settings.""" + try: + # Save auto-update settings + enabled, frequency = self.get_auto_update_settings() + from ytsage_utils import update_auto_update_settings + + if update_auto_update_settings(enabled, frequency): + QMessageBox.information(self, "Settings Saved", + "Auto-update settings have been saved successfully!") + else: + QMessageBox.warning(self, "Error", + "Failed to save auto-update settings.") + except Exception as e: + QMessageBox.critical(self, "Error", + f"Error saving auto-update settings: {str(e)}") + + # Call the parent accept method to close the dialog + super().accept() + # === New CustomOptions Dialog combining Cookies and Custom Commands === class CustomOptionsDialog(QDialog): def __init__(self, parent=None): @@ -1638,7 +2231,6 @@ class CustomOptionsDialog(QDialog): self.run_btn, "setEnabled", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, True) ) -# === End of CustomOptionsDialog === # === Time Range Selection Dialog === class TimeRangeDialog(QDialog): @@ -1820,4 +2412,600 @@ class TimeRangeDialog(QDialog): def get_force_keyframes(self): """Returns whether to force keyframes at cuts""" - return self.force_keyframes.isChecked() \ No newline at end of file + return self.force_keyframes.isChecked() + +# === Auto-Update Settings Dialog === + +class AutoUpdateSettingsDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle("Auto-Update Settings") + self.setMinimumWidth(400) + self.setMinimumHeight(300) + + # Set the window icon to match the main app + if parent: + self.setWindowIcon(parent.windowIcon()) + + self.init_ui() + self.load_current_settings() + self.apply_styling() + + def init_ui(self): + layout = QVBoxLayout(self) + + # Title + title_label = QLabel("

🔄 Auto-Update Settings

") + title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(title_label) + + # Description + desc_label = QLabel("Configure automatic updates for yt-dlp to ensure you always have the latest features and bug fixes.") + desc_label.setWordWrap(True) + desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + desc_label.setStyleSheet("color: #cccccc; margin: 10px; font-size: 11px;") + layout.addWidget(desc_label) + + # Enable/Disable auto-update + self.enable_checkbox = QCheckBox("Enable automatic yt-dlp updates") + self.enable_checkbox.setChecked(True) # Default enabled + self.enable_checkbox.toggled.connect(self.on_enable_toggled) + layout.addWidget(self.enable_checkbox) + + # Frequency options + frequency_group = QGroupBox("Update Frequency") + frequency_layout = QVBoxLayout() + + self.frequency_group = QButtonGroup(self) + + self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") + self.daily_radio = QRadioButton("Check daily") + self.weekly_radio = QRadioButton("Check weekly") + + self.daily_radio.setChecked(True) # Default to daily + + self.frequency_group.addButton(self.startup_radio, 0) + self.frequency_group.addButton(self.daily_radio, 1) + self.frequency_group.addButton(self.weekly_radio, 2) + + frequency_layout.addWidget(self.startup_radio) + frequency_layout.addWidget(self.daily_radio) + frequency_layout.addWidget(self.weekly_radio) + frequency_group.setLayout(frequency_layout) + + layout.addWidget(frequency_group) + + # Current status + status_group = QGroupBox("Current Status") + status_layout = QVBoxLayout() + + self.current_version_label = QLabel("Current yt-dlp version: Checking...") + self.last_check_label = QLabel("Last update check: Never") + self.next_check_label = QLabel("Next check: Based on settings") + + status_layout.addWidget(self.current_version_label) + status_layout.addWidget(self.last_check_label) + status_layout.addWidget(self.next_check_label) + status_group.setLayout(status_layout) + + layout.addWidget(status_group) + + # Manual check button + self.manual_check_btn = QPushButton("🔍 Check for Updates Now") + self.manual_check_btn.clicked.connect(self.manual_check) + layout.addWidget(self.manual_check_btn) + + # Buttons + button_layout = QHBoxLayout() + + self.save_btn = QPushButton("Save Settings") + self.save_btn.clicked.connect(self.save_settings) + + self.cancel_btn = QPushButton("Cancel") + self.cancel_btn.clicked.connect(self.reject) + + button_layout.addWidget(self.save_btn) + button_layout.addWidget(self.cancel_btn) + + layout.addLayout(button_layout) + + def apply_styling(self): + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QGroupBox { + color: #ffffff; + border: 2px solid #1b2021; + border-radius: 4px; + margin-top: 10px; + padding-top: 10px; + font-weight: bold; + background-color: #15181b; + } + QGroupBox::title { + subcontrol-origin: margin; + left: 10px; + padding: 0 5px 0 5px; + color: #ffffff; + } + QCheckBox, QRadioButton { + color: #ffffff; + spacing: 5px; + margin: 5px; + } + QCheckBox::indicator, QRadioButton::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked, QRadioButton::indicator:unchecked { + border: 2px solid #666666; + background: #15181b; + } + QCheckBox::indicator:checked, QRadioButton::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + margin: 5px; + min-width: 100px; + min-height: 20px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QPushButton:disabled { + background-color: #666666; + color: #999999; + } + """) + + def load_current_settings(self): + """Load current auto-update settings from config.""" + try: + from ytsage_utils import get_auto_update_settings, get_ytdlp_version + import time + from datetime import datetime + + settings = get_auto_update_settings() + + # Set checkbox + self.enable_checkbox.setChecked(settings['enabled']) + + # Set frequency + frequency = settings['frequency'] + if frequency == 'startup': + self.startup_radio.setChecked(True) + elif frequency == 'weekly': + self.weekly_radio.setChecked(True) + else: # daily + self.daily_radio.setChecked(True) + + # Update status labels + current_version = get_ytdlp_version() + self.current_version_label.setText(f"Current yt-dlp version: {current_version}") + + last_check = settings['last_check'] + if last_check > 0: + last_check_time = datetime.fromtimestamp(last_check).strftime("%Y-%m-%d %H:%M:%S") + self.last_check_label.setText(f"Last update check: {last_check_time}") + else: + self.last_check_label.setText("Last update check: Never") + + # Calculate next check time + self.update_next_check_label() + + # Update UI state + self.on_enable_toggled(settings['enabled']) + + except Exception as e: + print(f"Error loading auto-update settings: {e}") + + def update_next_check_label(self): + """Update the next check label based on current settings.""" + try: + if not self.enable_checkbox.isChecked(): + self.next_check_label.setText("Next check: Disabled") + return + + from ytsage_utils import get_auto_update_settings + import time + from datetime import datetime, timedelta + + settings = get_auto_update_settings() + last_check = settings['last_check'] + frequency = self.get_selected_frequency() + + if last_check == 0: + self.next_check_label.setText("Next check: On next startup") + return + + next_check_time = last_check + if frequency == 'startup': + next_check_time += 3600 # 1 hour + elif frequency == 'daily': + next_check_time += 86400 # 24 hours + elif frequency == 'weekly': + next_check_time += 604800 # 7 days + + current_time = time.time() + if next_check_time <= current_time: + self.next_check_label.setText("Next check: Now (overdue)") + else: + next_check_datetime = datetime.fromtimestamp(next_check_time) + self.next_check_label.setText(f"Next check: {next_check_datetime.strftime('%Y-%m-%d %H:%M:%S')}") + + except Exception as e: + self.next_check_label.setText("Next check: Error calculating") + print(f"Error calculating next check time: {e}") + + def on_enable_toggled(self, enabled): + """Handle enable/disable checkbox toggle.""" + # Enable/disable frequency options + for i in range(self.frequency_group.buttons().__len__()): + self.frequency_group.button(i).setEnabled(enabled) + + self.update_next_check_label() + + def get_selected_frequency(self): + """Get the selected frequency setting.""" + if self.startup_radio.isChecked(): + return 'startup' + elif self.weekly_radio.isChecked(): + return 'weekly' + else: + return 'daily' + + def manual_check(self): + """Perform a manual update check.""" + self.manual_check_btn.setEnabled(False) + self.manual_check_btn.setText("🔄 Checking...") + + # Force an immediate update check + def check_in_thread(): + try: + from ytsage_utils import check_and_update_ytdlp_auto + result = check_and_update_ytdlp_auto() + + # Update UI in main thread + QTimer.singleShot(0, lambda: self.manual_check_finished(result)) + except Exception as e: + print(f"Error during manual check: {e}") + QTimer.singleShot(0, lambda: self.manual_check_finished(False)) + + # Run in separate thread to avoid blocking UI + import threading + threading.Thread(target=check_in_thread, daemon=True).start() + + def _create_styled_message_box(self, icon, title, text): + """Create a styled QMessageBox that matches the app theme.""" + msg_box = QMessageBox(self) + msg_box.setIcon(icon) + msg_box.setWindowTitle(title) + msg_box.setText(text) + msg_box.setWindowIcon(self.windowIcon()) + msg_box.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QMessageBox QLabel { + color: #ffffff; + } + QMessageBox QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QMessageBox QPushButton:hover { + background-color: #a50000; + } + QMessageBox QPushButton:pressed { + background-color: #800000; + } + """) + return msg_box + + def manual_check_finished(self, success): + """Handle completion of manual update check.""" + self.manual_check_btn.setEnabled(True) + self.manual_check_btn.setText("🔍 Check for Updates Now") + + if success: + msg_box = self._create_styled_message_box( + QMessageBox.Information, + "Update Check", + "✅ Update check completed successfully!\nCheck the console for details." + ) + msg_box.exec() + else: + msg_box = self._create_styled_message_box( + QMessageBox.Warning, + "Update Check", + "❌ Update check failed.\nCheck the console for error details." + ) + msg_box.exec() + + # Refresh the current settings display + self.load_current_settings() + + def save_settings(self): + """Save the auto-update settings.""" + try: + from ytsage_utils import update_auto_update_settings + + enabled = self.enable_checkbox.isChecked() + frequency = self.get_selected_frequency() + + if update_auto_update_settings(enabled, frequency): + msg_box = self._create_styled_message_box( + QMessageBox.Information, + "Settings Saved", + "✅ Auto-update settings have been saved successfully!" + ) + msg_box.exec() + self.accept() + else: + msg_box = self._create_styled_message_box( + QMessageBox.Warning, + "Error", + "❌ Failed to save auto-update settings.\nPlease try again." + ) + msg_box.exec() + except Exception as e: + print(f"Error saving auto-update settings: {e}") + msg_box = self._create_styled_message_box( + QMessageBox.Critical, + "Error", + f"❌ Error saving settings: {str(e)}" + ) + msg_box.exec() + +# --- New AutoUpdateThread class --- +class AutoUpdateThread(QThread): + """Thread for performing automatic background updates without UI feedback.""" + update_finished = Signal(bool, str) # success (bool), message (str) + + def run(self): + """Perform automatic yt-dlp update check and update if needed.""" + try: + print("AutoUpdateThread: Performing automatic yt-dlp update check...") + + # Import required modules + import requests + import time + from packaging import version as version_parser + from ytsage_utils import get_ytdlp_version, load_config, save_config + from ytsage_yt_dlp import get_yt_dlp_path + + # Get current version + current_version = get_ytdlp_version() + if "Error" in current_version: + print("AutoUpdateThread: Could not determine current yt-dlp version, skipping auto-update") + self.update_finished.emit(False, "Could not determine current yt-dlp version") + return + + # Get latest version from PyPI + try: + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + response.raise_for_status() + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + print(f"AutoUpdateThread: Current yt-dlp version: {current_version}") + print(f"AutoUpdateThread: Latest yt-dlp version: {latest_version}") + + # Compare versions + if version_parser.parse(latest_version) > version_parser.parse(current_version): + print(f"AutoUpdateThread: Auto-updating yt-dlp from {current_version} to {latest_version}...") + + # Perform the update using the same logic as the manual update + success = self._perform_update() + + if success: + print("AutoUpdateThread: Auto-update completed successfully!") + # Update the last check timestamp + config = load_config() + config['last_update_check'] = time.time() + save_config(config) + self.update_finished.emit(True, f"Successfully updated yt-dlp from {current_version} to {latest_version}") + else: + print("AutoUpdateThread: Auto-update failed") + self.update_finished.emit(False, "Auto-update failed") + else: + print("AutoUpdateThread: yt-dlp is already up to date") + # Still update the timestamp even if no update was needed + config = load_config() + config['last_update_check'] = time.time() + save_config(config) + self.update_finished.emit(True, f"yt-dlp is already up to date (version {current_version})") + + except requests.RequestException as e: + print(f"AutoUpdateThread: Network error during auto-update check: {e}") + self.update_finished.emit(False, f"Network error: {e}") + except Exception as e: + print(f"AutoUpdateThread: Error during auto-update check: {e}") + self.update_finished.emit(False, f"Update check error: {e}") + + except Exception as e: + print(f"AutoUpdateThread: Critical error in auto-update: {e}") + self.update_finished.emit(False, f"Critical error: {e}") + + def _perform_update(self): + """Perform the actual update using similar logic to UpdateThread but without UI feedback.""" + try: + import os + import sys + import requests + import subprocess + from ytsage_yt_dlp import get_yt_dlp_path + + # Get the yt-dlp path + yt_dlp_path = get_yt_dlp_path() + + # Check if we're using an app-managed binary or system installation + app_managed_dirs = [ + os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), + os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), + os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) + ] + + is_app_managed = any(os.path.dirname(yt_dlp_path) == dir_path for dir_path in app_managed_dirs) + + if is_app_managed: + print("AutoUpdateThread: Updating app-managed yt-dlp binary...") + return self._update_binary(yt_dlp_path) + else: + print("AutoUpdateThread: Updating system yt-dlp via pip...") + return self._update_via_pip() + + except Exception as e: + print(f"AutoUpdateThread: Error in _perform_update: {e}") + return False + + def _update_binary(self, yt_dlp_path): + """Update yt-dlp binary directly from GitHub releases (silent version).""" + try: + import os + import sys + import requests + + # Determine the URL based on OS + if sys.platform == 'win32': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" + elif sys.platform == 'darwin': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" + else: + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" + + print("AutoUpdateThread: Downloading latest yt-dlp binary...") + + # Download without progress tracking (silent) + response = requests.get(url, stream=True) + if response.status_code != 200: + print(f"AutoUpdateThread: Download failed: HTTP {response.status_code}") + return False + + temp_file = f"{yt_dlp_path}.new" + + with open(temp_file, 'wb') as f: + for chunk in response.iter_content(chunk_size=8192): + if chunk: + f.write(chunk) + + print("AutoUpdateThread: Installing updated binary...") + + # Make executable on Unix systems + if sys.platform != 'win32': + os.chmod(temp_file, 0o755) + + # Replace the old file with the new one + try: + # On Windows, we need to remove the old file first + if sys.platform == 'win32' and os.path.exists(yt_dlp_path): + os.remove(yt_dlp_path) + + os.rename(temp_file, yt_dlp_path) + print("AutoUpdateThread: Binary successfully updated!") + return True + + except Exception as e: + print(f"AutoUpdateThread: Error installing binary: {e}") + # Clean up temp file if it exists + if os.path.exists(temp_file): + try: + os.remove(temp_file) + except: + pass + return False + + except Exception as e: + print(f"AutoUpdateThread: Binary update failed: {e}") + return False + + def _update_via_pip(self): + """Update yt-dlp via pip (silent version).""" + try: + import subprocess + import sys + import pkg_resources + import requests + from packaging import version + + print("AutoUpdateThread: Checking current pip installation...") + + # Get current version + try: + current_version = pkg_resources.get_distribution("yt-dlp").version + print(f"AutoUpdateThread: Current version: {current_version}") + except pkg_resources.DistributionNotFound: + print("AutoUpdateThread: yt-dlp not found via pip, attempting installation...") + current_version = "0.0.0" + + # Get the latest version from PyPI + print("AutoUpdateThread: Checking for latest version...") + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + + if response.status_code != 200: + print("AutoUpdateThread: Failed to check for updates") + return False + + data = response.json() + latest_version = data["info"]["version"] + print(f"AutoUpdateThread: Latest version: {latest_version}") + + # Compare versions + if version.parse(latest_version) > version.parse(current_version): + print(f"AutoUpdateThread: Updating from {current_version} to {latest_version}...") + + # Create startupinfo to hide console on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + # Run pip update + print("AutoUpdateThread: Running pip install --upgrade...") + update_result = subprocess.run( + [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], + capture_output=True, + text=True, + check=False, + startupinfo=startupinfo + ) + + if update_result.returncode == 0: + print("AutoUpdateThread: Pip update completed successfully!") + return True + else: + print(f"AutoUpdateThread: Pip update failed: {update_result.stderr}") + return False + else: + print("AutoUpdateThread: yt-dlp is already up to date!") + return True + + except Exception as e: + print(f"AutoUpdateThread: Pip update failed: {e}") + return False \ No newline at end of file From 36f9996424a6b5d1021a535235d953d7470ccc88 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:35:16 +0300 Subject: [PATCH 064/568] Refactor Imports, yt-dlp/Pygame Availability, and ffmpeg/yt-dlp Checks --- ytsage_gui_main.py | 511 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 459 insertions(+), 52 deletions(-) diff --git a/ytsage_gui_main.py b/ytsage_gui_main.py index 343983b..29861a3 100644 --- a/ytsage_gui_main.py +++ b/ytsage_gui_main.py @@ -17,11 +17,24 @@ from pathlib import Path from packaging import version import subprocess import re -import yt_dlp +try: + import yt_dlp + YT_DLP_AVAILABLE = True +except ImportError: + YT_DLP_AVAILABLE = False + print("Warning: yt-dlp not available at startup, will be downloaded at runtime") import markdown +try: + import pygame + PYGAME_AVAILABLE = True +except ImportError: + PYGAME_AVAILABLE = False + print("Warning: pygame not available, audio notifications disabled") +import threading from ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes -from ytsage_utils import check_ffmpeg, get_yt_dlp_path, load_saved_path, save_path # Import utility functions +from ytsage_utils import check_ffmpeg, load_saved_path, save_path, get_config_file_path, get_ytdlp_version, get_ffmpeg_version, should_check_for_auto_update, check_and_update_ytdlp_auto # Import utility functions +from ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path, get_yt_dlp_path # Import the new yt-dlp functions from ytsage_gui_dialogs import (LogWindow, CustomCommandDialog, FFmpegCheckDialog, YTDLPUpdateDialog, AboutDialog, SubtitleSelectionDialog, PlaylistSelectionDialog, CookieLoginDialog, @@ -32,13 +45,25 @@ from ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins def __init__(self): super().__init__() + # Check for FFmpeg before proceeding if not check_ffmpeg(): self.show_ffmpeg_dialog() + + # Check for yt-dlp in our app's bin directory or system PATH + ytdlp_path = get_yt_dlp_path() + if ytdlp_path == "yt-dlp": # Not found in app dir or PATH + self.show_ytdlp_setup_dialog() + else: + print(f"Using yt-dlp from: {ytdlp_path}") - self.version = "4.5.7" + self.version = "4.6.0" self.check_for_updates() - self.config_file = Path.home() / '.ytsage_config.json' + + # Check for auto-updates if enabled + self.check_auto_update_ytdlp() + + self.config_file = get_config_file_path() load_saved_path(self) # Load custom icon icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') @@ -247,6 +272,57 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Initialize UI state based on current mode self.handle_mode_change() + + # Initialize pygame for sound notifications + self.init_sound() + + def init_sound(self): + """Initialize pygame mixer for sound notifications""" + try: + if PYGAME_AVAILABLE: + pygame.mixer.init() + self.sound_enabled = True + + # Get the notification sound path + self.notification_sound_path = os.path.join(os.path.dirname(__file__), 'sound', 'notification.mp3') + + # Check if the notification sound file exists + if not os.path.exists(self.notification_sound_path): + print(f"Warning: Notification sound file not found at: {self.notification_sound_path}") + self.sound_enabled = False + else: + print(f"Notification sound loaded from: {self.notification_sound_path}") + else: + self.sound_enabled = False + print("Sound notifications disabled - pygame not available") + + except Exception as e: + print(f"Error initializing sound: {e}") + self.sound_enabled = False + + def play_notification_sound(self): + """Play notification sound in a separate thread to avoid blocking the UI""" + if not self.sound_enabled: + return + + def play_sound(): + try: + if PYGAME_AVAILABLE: + # Load and play the sound + pygame.mixer.music.load(self.notification_sound_path) + pygame.mixer.music.play() + + # Wait for the sound to finish playing + while pygame.mixer.music.get_busy(): + pygame.time.wait(100) + + except Exception as e: + print(f"Error playing notification sound: {e}") + + # Play sound in a separate thread to avoid blocking the UI + sound_thread = threading.Thread(target=play_sound) + sound_thread.daemon = True + sound_thread.start() def load_saved_path(self): # Using function from ytsage_utils now - no longer needed in class pass # Handled in class init now via ytsage_utils.load_saved_path(self) @@ -255,7 +331,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.5.7') + self.setWindowTitle('YTSage v4.6.0') self.setMinimumSize(900, 750) # Main widget and layout @@ -606,6 +682,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m playlist_id = url.split('list=')[1].split('&')[0] url = f'https://www.youtube.com/playlist?list={playlist_id}' + # Check if yt-dlp Python module is available + if not YT_DLP_AVAILABLE: + # Use subprocess to call yt-dlp executable + self._analyze_url_with_subprocess(url) + return + # Initial extraction with basic options - suppress warnings here too ydl_opts = { 'quiet': False, @@ -781,20 +863,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.url_input.setText(clipboard.text()) def update_ytdlp(self): - # Check if we're running in a PyInstaller package - if getattr(sys, 'frozen', False): - # Running from PyInstaller package, show info message - msg_box = QMessageBox(self) - msg_box.setIcon(QMessageBox.Icon.Information) - msg_box.setWindowTitle("Feature Unavailable") - msg_box.setText("This feature is available only on the Python (PyPI) version.") - msg_box.setInformativeText("To update yt-dlp in a packaged version, please download a new version of the application.") - msg_box.setStandardButtons(QMessageBox.StandardButton.Ok) - msg_box.exec() - else: - # Running from source code, show the normal update dialog - dialog = YTDLPUpdateDialog(self) - dialog.exec() + """Show the yt-dlp update dialog with proper progress tracking""" + # Make the dialog non-modal to prevent blocking the main UI + dialog = YTDLPUpdateDialog(self) + dialog.setModal(False) # Make it non-modal + dialog.show() # Use show() instead of exec() to avoid blocking def show_download_settings_dialog(self): # Renamed method dialog = DownloadSettingsDialog( @@ -962,6 +1035,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Default case else: self.status_label.setText("✅ Download completed!") + + # Play notification sound when download completes + self.play_notification_sound() def download_error(self, error_message): self.toggle_download_controls(True) @@ -1010,8 +1086,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def show_update_dialog(self, latest_version, release_url, changelog): # Added changelog parameter msg = QDialog(self) msg.setWindowTitle("Update Available") - msg.setMinimumWidth(500) # Increased width for changelog - msg.setMinimumHeight(400) # Added min height + msg.setMinimumWidth(600) # Increased width for better layout + msg.setMinimumHeight(450) # Increased height for better spacing # Set custom icon directly icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') @@ -1022,19 +1098,47 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m msg.setWindowIcon(self.windowIcon()) layout = QVBoxLayout(msg) - layout.setSpacing(10) # Added spacing + layout.setSpacing(15) # Increased spacing for better layout + layout.setContentsMargins(20, 20, 20, 20) # Added margins - # Update message + # Header with icon and title + header_layout = QHBoxLayout() + + # Add update icon + icon_label = QLabel() + icon_label.setPixmap(self.style().standardIcon(QStyle.StandardPixmap.SP_BrowserReload).pixmap(32, 32)) + header_layout.addWidget(icon_label) + + # Title + title_label = QLabel("

Update Available

") + header_layout.addWidget(title_label) + header_layout.addStretch() + + layout.addLayout(header_layout) + + # Update message with better formatting message_label = QLabel( - f"A new version of YTSage is available!\n\n" - f"Current version: {self.version}\n" - f"Latest version: {latest_version}" + f"
" + f"A new version of YTSage is available!

" + f"Current version: {self.version}
" + f"Latest version: {latest_version}" + f"
" ) message_label.setWordWrap(True) + message_label.setStyleSheet(""" + QLabel { + background-color: #1d1e22; + border: 1px solid #3d3d3d; + border-radius: 6px; + padding: 15px; + margin: 5px 0; + } + """) layout.addWidget(message_label) # Changelog Section - changelog_label = QLabel("Changelog:") + changelog_label = QLabel("Changelog:") + changelog_label.setStyleSheet("padding: 5px 0; margin-top: 10px;") layout.addWidget(changelog_label) changelog_text = QTextEdit() @@ -1049,52 +1153,95 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m changelog_text.setStyleSheet(""" QTextEdit { - background-color: #1e1e1e; - border: 1px solid #3d3d3d; - border-radius: 4px; - color: #cccccc; - padding: 5px; - font-family: Consolas, monospace; - font-size: 11px; /* Slightly smaller font */ + background-color: #1d1e22; + border: 2px solid #3d3d3d; + border-radius: 6px; + color: #ffffff; + padding: 10px; + font-family: 'Segoe UI', Arial, sans-serif; + font-size: 12px; + line-height: 1.4; + } + QScrollBar:vertical { + border: none; + background: #1d1e22; + width: 12px; + border-radius: 6px; + } + QScrollBar::handle:vertical { + background: #404040; + min-height: 20px; + border-radius: 6px; + } + QScrollBar::handle:vertical:hover { + background: #505050; } """) - changelog_text.setMaximumHeight(200) # Limit height + changelog_text.setMaximumHeight(180) # Limit height layout.addWidget(changelog_text) - # Buttons + # Buttons with better styling button_layout = QHBoxLayout() + button_layout.setSpacing(10) download_btn = QPushButton("Download Update") download_btn.clicked.connect(lambda: self.open_release_page(release_url)) + download_btn.setStyleSheet(""" + QPushButton { + padding: 10px 20px; + background-color: #c90000; + border: none; + border-radius: 6px; + color: white; + font-weight: bold; + font-size: 13px; + min-width: 140px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + """) remind_btn = QPushButton("Remind Me Later") remind_btn.clicked.connect(msg.close) + remind_btn.setStyleSheet(""" + QPushButton { + padding: 10px 20px; + background-color: #3d3d3d; + border: 1px solid #555555; + border-radius: 6px; + color: white; + font-weight: bold; + font-size: 13px; + min-width: 140px; + } + QPushButton:hover { + background-color: #4d4d4d; + border-color: #666666; + } + QPushButton:pressed { + background-color: #2d2d2d; + } + """) + button_layout.addStretch() button_layout.addWidget(download_btn) button_layout.addWidget(remind_btn) layout.addLayout(button_layout) - # Style the dialog + # Style the dialog with improved theme matching msg.setStyleSheet(""" QDialog { - background-color: #2b2b2b; + background-color: #15181b; + border: 1px solid #3d3d3d; + border-radius: 8px; } QLabel { color: #ffffff; font-size: 12px; - padding: 5px 0; /* Adjusted padding */ - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - min-width: 120px; /* Adjusted min-width */ - } - QPushButton:hover { - background-color: #cc0000; } """) @@ -1103,6 +1250,75 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m def open_release_page(self, url): webbrowser.open(url) + def check_auto_update_ytdlp(self): + """Check and perform auto-update for yt-dlp if enabled and due.""" + try: + # Check if auto-update should be performed + if should_check_for_auto_update(): + print("Performing auto-update check for yt-dlp...") + # Perform the auto-update in a non-blocking way + # We don't want to block the UI startup for this + from PySide6.QtCore import QTimer + QTimer.singleShot(2000, self._perform_auto_update) # Delay 2 seconds after startup + except Exception as e: + print(f"Error in auto-update check: {e}") + + def _perform_auto_update(self): + """Actually perform the auto-update check and update if needed in a background thread.""" + try: + # Create and start the auto-update thread to avoid blocking the UI + from ytsage_gui_dialogs import AutoUpdateThread + self.auto_update_thread = AutoUpdateThread() + self.auto_update_thread.update_finished.connect(self._on_auto_update_finished) + self.auto_update_thread.start() + except Exception as e: + print(f"Error starting auto-update thread: {e}") + + def _on_auto_update_finished(self, success, message): + """Handle auto-update completion.""" + if success: + print(f"Auto-update completed successfully: {message}") + else: + print(f"Auto-update completed with issues: {message}") + + # Clean up the thread reference and ensure it's properly finished + if hasattr(self, 'auto_update_thread'): + # Disconnect all signals to prevent further callbacks + self.auto_update_thread.update_finished.disconnect() + # Make sure thread is finished + if self.auto_update_thread.isRunning(): + self.auto_update_thread.quit() + self.auto_update_thread.wait(1000) # Wait up to 1 second + # Remove the reference + delattr(self, 'auto_update_thread') + + def closeEvent(self, event): + """Handle application close event to ensure proper cleanup of background threads.""" + try: + # Stop the auto-update thread if it's running + if hasattr(self, 'auto_update_thread') and self.auto_update_thread.isRunning(): + print("Stopping auto-update thread...") + self.auto_update_thread.quit() + if not self.auto_update_thread.wait(3000): # Wait up to 3 seconds for graceful shutdown + print("Force terminating auto-update thread...") + self.auto_update_thread.terminate() + self.auto_update_thread.wait(1000) # Wait for termination + + # Cancel any running downloads + if self.current_download and self.current_download.isRunning(): + print("Canceling running download...") + self.current_download.cancel() + if not self.current_download.wait(3000): # Wait up to 3 seconds for graceful shutdown + print("Force terminating download thread...") + self.current_download.terminate() + self.current_download.wait(1000) # Wait for termination + + print("Application closing...") + event.accept() + except Exception as e: + print(f"Error during application close: {e}") + event.accept() # Accept the close event anyway + def show_custom_options(self): dialog = CustomOptionsDialog(self) if dialog.exec(): @@ -1327,4 +1543,195 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.download_section = None self.force_keyframes = False self.time_range_btn.setStyleSheet("") - self.time_range_btn.setToolTip("") \ No newline at end of file + self.time_range_btn.setToolTip("") + + def show_ytdlp_setup_dialog(self): + """Show the yt-dlp setup dialog to configure yt-dlp""" + yt_dlp_path = setup_ytdlp(self) + if yt_dlp_path != "yt-dlp": + success_dialog = QMessageBox(self) + success_dialog.setIcon(QMessageBox.Information) + success_dialog.setWindowTitle("yt-dlp Setup") + success_dialog.setText(f"yt-dlp has been successfully configured at:\n{yt_dlp_path}") + success_dialog.setWindowIcon(self.windowIcon()) + success_dialog.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + success_dialog.exec() + + def _analyze_url_with_subprocess(self, url): + """Analyze URL using yt-dlp executable when Python module is not available""" + import subprocess + import json + import tempfile + + try: + yt_dlp_path = get_yt_dlp_path() + if not yt_dlp_path: + raise Exception("yt-dlp executable not found. Please install yt-dlp first.") + + self.signals.update_status.emit("Analyzing (30%)... Extracting info with yt-dlp executable") + + # Clean up the URL to handle both playlist and video URLs + if 'list=' in url and 'watch?v=' in url: + playlist_id = url.split('list=')[1].split('&')[0] + url = f'https://www.youtube.com/playlist?list={playlist_id}' + + # Build command for basic info extraction + cmd = [yt_dlp_path, '--dump-json', '--no-warnings', url] + + # Add cookies if available + if self.cookie_file_path: + cmd.extend(['--cookies', self.cookie_file_path]) + + # Execute command with hidden console window on Windows + import sys + if sys.platform == 'win32': + # Hide the console window on Windows + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = subprocess.SW_HIDE + result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, startupinfo=startupinfo) + else: + # For other platforms, use normal subprocess call + result = subprocess.run(cmd, capture_output=True, text=True, timeout=60) + + if result.returncode != 0: + raise Exception(f"yt-dlp failed: {result.stderr}") + + # Parse JSON output - yt-dlp outputs one JSON object per line for playlists + json_lines = [line.strip() for line in result.stdout.strip().split('\n') if line.strip()] + + if not json_lines: + raise Exception("No data returned from yt-dlp") + + # Parse first JSON object to determine if it's a playlist + first_info = json.loads(json_lines[0]) + + self.signals.update_status.emit("Analyzing (60%)... Processing data") + + if first_info.get('_type') == 'playlist' or len(json_lines) > 1: + # Handle playlist + self.is_playlist = True + self.playlist_info = first_info + self.selected_playlist_items = None + self.playlist_entries = [] + + # Parse all entries + for line in json_lines: + try: + entry = json.loads(line) + if entry.get('_type') != 'playlist': # Skip playlist metadata + self.playlist_entries.append(entry) + except json.JSONDecodeError: + continue + + if not self.playlist_entries: + raise Exception("Playlist contains no valid videos.") + + # Use first video for format information + self.video_info = self.playlist_entries[0] + + # Update playlist info label + playlist_text = (f"Playlist: {first_info.get('title', 'Unknown Playlist')} | " + f"{len(self.playlist_entries)} videos") + QMetaObject.invokeMethod( + self.playlist_info_label, "setText", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, playlist_text) + ) + QMetaObject.invokeMethod( + self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, True) + ) + + # Show playlist selection button + QMetaObject.invokeMethod( + self, 'update_playlist_button_text', Qt.ConnectionType.QueuedConnection, + Q_ARG(str, "Select Videos... (All selected)") + ) + QMetaObject.invokeMethod( + self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, True) + ) + else: + # Handle single video + self.is_playlist = False + self.video_info = first_info + self.playlist_entries = [] + self.selected_playlist_items = None + + # Hide playlist UI + QMetaObject.invokeMethod( + self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, False) + ) + QMetaObject.invokeMethod( + self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, False) + ) + + # Verify we have format information + if not self.video_info or 'formats' not in self.video_info: + raise Exception("No format information available") + + self.signals.update_status.emit("Analyzing (75%)... Processing formats") + self.all_formats = self.video_info['formats'] + + # Update UI + self.update_video_info(self.video_info) + + # Update thumbnail + self.signals.update_status.emit("Analyzing (85%)... Loading thumbnail") + thumbnail_url = None + if self.is_playlist: + thumbnail_url = self.playlist_info.get('thumbnail') + + if not thumbnail_url: + thumbnail_url = self.video_info.get('thumbnail') + + self.download_thumbnail(thumbnail_url) + + # Save thumbnail if enabled + if self.save_thumbnail: + self.download_thumbnail_file(self.video_url, self.path_input.text()) + + # Handle subtitles + self.signals.update_status.emit("Analyzing (90%)... Processing subtitles") + self.selected_subtitles = [] + self.available_subtitles = self.video_info.get('subtitles', {}) + self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) + + # Update subtitle UI + QMetaObject.invokeMethod(self.selected_subs_label, "setText", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "0 selected")) + + # Update format table + self.signals.update_status.emit("Analyzing (95%)... Updating format table") + self.video_button.setChecked(True) + self.audio_button.setChecked(False) + self.filter_formats() + + self.signals.update_status.emit("Analysis complete!") + + except subprocess.TimeoutExpired: + raise Exception("Analysis timed out. Please try again.") + except json.JSONDecodeError as e: + raise Exception(f"Failed to parse yt-dlp output: {str(e)}") + except Exception as e: + raise Exception(f"Analysis failed: {str(e)}") From c75c36eea995e5eba39a504fc89333c113acedbb Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:35:39 +0300 Subject: [PATCH 065/568] Ensure yt-dlp Availability in Video Info Module --- ytsage_gui_video_info.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ytsage_gui_video_info.py b/ytsage_gui_video_info.py index c05f591..c903fe4 100644 --- a/ytsage_gui_video_info.py +++ b/ytsage_gui_video_info.py @@ -16,7 +16,12 @@ from pathlib import Path from packaging import version import subprocess import re -import yt_dlp +try: + import yt_dlp + YT_DLP_AVAILABLE = True +except ImportError: + YT_DLP_AVAILABLE = False + print("Warning: yt-dlp not available at startup, will be downloaded at runtime") from ytsage_gui_dialogs import SubtitleSelectionDialog class VideoInfoMixin: From 67d11592bc4a36e2b247f164ae098bb60b03100b Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:36:07 +0300 Subject: [PATCH 066/568] Refactor Button Styles for Consistency --- ytsage_style.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ytsage_style.py b/ytsage_style.py index 6ad7f38..057313b 100644 --- a/ytsage_style.py +++ b/ytsage_style.py @@ -112,6 +112,23 @@ QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; } +QRadioButton { + spacing: 5px; + color: #ffffff; +} +QRadioButton::indicator { + width: 18px; + height: 18px; + border-radius: 9px; +} +QRadioButton::indicator:unchecked { + border: 2px solid #666666; + background: #15181b; +} +QRadioButton::indicator:checked { + border: 2px solid #c90000; + background: #c90000; +} QLabel { color: #ffffff; } From 49c53abe1e2e44dfa98ffa80d48fd1eb56893308 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:36:35 +0300 Subject: [PATCH 067/568] Refactor Utility Functions with Caching and Error Handling for yt-dlp/ffmpeg Paths --- ytsage_utils.py | 603 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 541 insertions(+), 62 deletions(-) diff --git a/ytsage_utils.py b/ytsage_utils.py index 0ec23fe..dacda48 100644 --- a/ytsage_utils.py +++ b/ytsage_utils.py @@ -1,6 +1,7 @@ import sys import os import json +import time from pathlib import Path import subprocess import tempfile @@ -9,6 +10,328 @@ import pkg_resources from packaging import version import requests from ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path +from ytsage_yt_dlp import get_yt_dlp_path # Import the new function to avoid import errors + +# Cache for version information to avoid delays +_version_cache = { + 'ytdlp': {'version': None, 'path': None, 'last_check': 0, 'path_mtime': 0}, + 'ffmpeg': {'version': None, 'path': None, 'last_check': 0, 'path_mtime': 0} +} + +# Cache expiry time in seconds (5 minutes) +CACHE_EXPIRY = 300 + +def get_file_mtime(filepath): + """Get file modification time safely.""" + try: + if filepath and os.path.exists(filepath): + return os.path.getmtime(filepath) + except Exception: + pass + return 0 + +def should_refresh_cache(tool_name, current_path): + """Determine if cache should be refreshed for a tool.""" + cache = _version_cache.get(tool_name, {}) + current_time = time.time() + + # Always refresh if no cached data + if not cache.get('version'): + return True + + # Refresh if path changed + if cache.get('path') != current_path: + return True + + # Refresh if file was modified + current_mtime = get_file_mtime(current_path) + if current_mtime > cache.get('path_mtime', 0): + return True + + # Refresh if cache expired + if current_time - cache.get('last_check', 0) > CACHE_EXPIRY: + return True + + return False + +def update_version_cache(tool_name, version_info, path, force_save=False): + """Update the version cache and optionally save to config.""" + current_time = time.time() + current_mtime = get_file_mtime(path) + + _version_cache[tool_name] = { + 'version': version_info, + 'path': path, + 'last_check': current_time, + 'path_mtime': current_mtime + } + + # Save to persistent config + if force_save: + save_version_cache_to_config() + +def load_version_cache_from_config(): + """Load cached version info from config file.""" + try: + config = load_config() + cached_versions = config.get('cached_versions', {}) + + for tool_name, cache_data in cached_versions.items(): + if tool_name in _version_cache: + _version_cache[tool_name].update(cache_data) + except Exception as e: + print(f"Error loading version cache: {e}") + +def save_version_cache_to_config(): + """Save version cache to config file.""" + try: + config = load_config() + config['cached_versions'] = _version_cache.copy() + save_config(config) + except Exception as e: + print(f"Error saving version cache: {e}") + +def get_ytdlp_version_cached(): + """Get yt-dlp version with caching support.""" + try: + current_path = get_yt_dlp_path() + + # Check if we need to refresh cache + if not should_refresh_cache('ytdlp', current_path): + cached_version = _version_cache['ytdlp'].get('version') + if cached_version: + return cached_version + + # Get fresh version info + version_info = get_ytdlp_version_direct(current_path) + + # Update cache + update_version_cache('ytdlp', version_info, current_path) + + return version_info + except Exception as e: + print(f"Error getting cached yt-dlp version: {e}") + return "Error getting version" + +def get_ffmpeg_version_cached(): + """Get FFmpeg version with caching support.""" + try: + # Try to find ffmpeg path + current_path = "ffmpeg" # Default to system PATH + + # Check if we need to refresh cache + if not should_refresh_cache('ffmpeg', current_path): + cached_version = _version_cache['ffmpeg'].get('version') + if cached_version: + return cached_version + + # Get fresh version info + version_info = get_ffmpeg_version_direct() + + # Update cache + update_version_cache('ffmpeg', version_info, current_path) + + return version_info + except Exception as e: + print(f"Error getting cached FFmpeg version: {e}") + return "Error getting version" + +def refresh_version_cache(force=False): + """Manually refresh version cache for both tools.""" + try: + # Refresh yt-dlp + current_path = get_yt_dlp_path() + version_info = get_ytdlp_version_direct(current_path) + update_version_cache('ytdlp', version_info, current_path, force_save=True) + + # Refresh FFmpeg + version_info = get_ffmpeg_version_direct() + update_version_cache('ffmpeg', version_info, "ffmpeg", force_save=True) + + return True + except Exception as e: + print(f"Error refreshing version cache: {e}") + return False + +def get_ytdlp_version(): + """Get the version of yt-dlp (uses cached version for performance).""" + return get_ytdlp_version_cached() + +def get_ffmpeg_version(): + """Get the version of FFmpeg (uses cached version for performance).""" + return get_ffmpeg_version_cached() + +def get_ytdlp_version_direct(yt_dlp_path=None): + """Get yt-dlp version directly without caching.""" + try: + if yt_dlp_path is None: + yt_dlp_path = get_yt_dlp_path() + + if not yt_dlp_path or yt_dlp_path == "yt-dlp": + return "Not found" + + # Create startupinfo to hide console on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + result = subprocess.run( + [yt_dlp_path, '--version'], + capture_output=True, + text=True, + timeout=10, + startupinfo=startupinfo + ) + + if result.returncode == 0: + return result.stdout.strip() + else: + return "Error getting version" + except Exception as e: + print(f"Error getting yt-dlp version: {e}") + return "Error getting version" + +def get_ffmpeg_version_direct(): + """Get FFmpeg version directly without caching.""" + try: + # Create startupinfo to hide console on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + result = subprocess.run( + ['ffmpeg', '-version'], + capture_output=True, + text=True, + timeout=10, + startupinfo=startupinfo + ) + + if result.returncode == 0: + # Parse the first line to get version info + lines = result.stdout.split('\n') + if lines: + first_line = lines[0] + # Extract version from something like "ffmpeg version 4.4.2 Copyright..." + if 'version' in first_line: + parts = first_line.split() + for i, part in enumerate(parts): + if part == 'version' and i + 1 < len(parts): + return parts[i + 1] + return first_line.strip() + return "Unknown version" + else: + return "Not found" + except FileNotFoundError: + # If ffmpeg is not in PATH, try the installation directory + try: + ffmpeg_path = get_ffmpeg_install_path() + if sys.platform == 'win32': + ffmpeg_exe = os.path.join(ffmpeg_path, 'ffmpeg.exe') + else: + ffmpeg_exe = os.path.join(ffmpeg_path, 'ffmpeg') + + if os.path.exists(ffmpeg_exe): + result = subprocess.run( + [ffmpeg_exe, '-version'], + capture_output=True, + text=True, + timeout=10, + startupinfo=startupinfo + ) + + if result.returncode == 0: + lines = result.stdout.split('\n') + if lines: + first_line = lines[0] + if 'version' in first_line: + parts = first_line.split() + for i, part in enumerate(parts): + if part == 'version' and i + 1 < len(parts): + return parts[i + 1] + return first_line.strip() + return "Unknown version" + return "Not found" + except Exception as e: + print(f"Error getting FFmpeg version from install path: {e}") + return "Not found" + except Exception as e: + print(f"Error getting FFmpeg version: {e}") + return "Error getting version" + +def get_app_data_dir(): + """Get the OS-specific application data directory.""" + if sys.platform == 'win32': + # Windows: %LOCALAPPDATA%\YTSage\data\ + return Path(os.environ.get('LOCALAPPDATA', '')) / 'YTSage' / 'data' + elif sys.platform == 'darwin': + # macOS: ~/Library/Application Support/YTSage/data/ + return Path.home() / 'Library' / 'Application Support' / 'YTSage' / 'data' + else: + # Linux: ~/.local/share/YTSage/data/ + return Path.home() / '.local' / 'share' / 'YTSage' / 'data' + +def get_config_file_path(): + """Get the path to the main configuration file.""" + return get_app_data_dir() / 'ytsage_config.json' + +def ensure_app_data_dir(): + """Ensure the application data directory exists.""" + data_dir = get_app_data_dir() + data_dir.mkdir(parents=True, exist_ok=True) + return data_dir + +def load_config(): + """Load the application configuration from file.""" + config_file = get_config_file_path() + default_config = { + 'download_path': str(Path.home() / 'Downloads'), + 'speed_limit_value': None, + 'speed_limit_unit_index': 0, + 'cookie_file_path': None, + 'last_used_cookie_file': None, + 'auto_update_ytdlp': True, # Enable auto-update by default + 'auto_update_frequency': 'daily', # daily, weekly, or startup + 'last_update_check': 0, # timestamp of last check + 'cached_versions': { + 'ytdlp': {'version': None, 'path': None, 'last_check': 0, 'path_mtime': 0}, + 'ffmpeg': {'version': None, 'path': None, 'last_check': 0, 'path_mtime': 0} + } + } + + try: + if config_file.exists(): + with open(config_file, 'r', encoding='utf-8') as f: + config = json.load(f) + # Merge with defaults to ensure all keys exist + for key, value in default_config.items(): + if key not in config: + config[key] = value + return config + except (json.JSONDecodeError, UnicodeError, Exception) as e: + print(f"Error reading config file: {e}") + # If config file is corrupted, create a new one with defaults + save_config(default_config) + + return default_config + +def save_config(config): + """Save the application configuration to file.""" + config_file = get_config_file_path() + try: + # Ensure the config directory exists + ensure_app_data_dir() + + with open(config_file, 'w', encoding='utf-8') as f: + json.dump(config, f, ensure_ascii=False, indent=2) + return True + except Exception as e: + print(f"Error saving config: {e}") + return False def check_ffmpeg(): """Check if FFmpeg is installed and accessible with enhanced error handling.""" @@ -52,29 +375,9 @@ def check_ffmpeg(): print(f"Error checking FFmpeg: {e}") return False -def get_yt_dlp_path(): - """Get the yt-dlp command or path, prioritizing the system PATH.""" - try: - # Use shutil.which to find yt-dlp in the system's PATH - yt_dlp_executable = shutil.which('yt-dlp') - - if yt_dlp_executable: - print(f"Found yt-dlp executable in PATH: {yt_dlp_executable}") - return yt_dlp_executable - else: - # If not found in PATH, assume 'yt-dlp' is the command name - print("yt-dlp not found in PATH. Will attempt to use 'yt-dlp' as the command.") - return 'yt-dlp' - - except Exception as e: - print(f"Error finding yt-dlp path: {e}") - # Fallback to the command name on any error - print("An error occurred during yt-dlp path detection. Falling back to command 'yt-dlp'.") - return 'yt-dlp' - def load_saved_path(main_window_instance): """Load saved download path with enhanced error handling.""" - config_file = main_window_instance.config_file + config_file = get_config_file_path() try: if config_file.exists(): try: @@ -106,7 +409,7 @@ def load_saved_path(main_window_instance): def save_path(main_window_instance, path): """Save download path with enhanced error handling.""" - config_file = main_window_instance.config_file + config_file = get_config_file_path() try: # Verify the path is valid and writable if not os.path.exists(path): @@ -120,10 +423,8 @@ def save_path(main_window_instance, path): print("Path is not writable") return False - # Create config directory if it doesn't exist - config_dir = config_file.parent - if not config_dir.exists(): - config_dir.mkdir(parents=True, exist_ok=True) + # Ensure the config directory exists + ensure_app_data_dir() # Save the config config = {'download_path': path} @@ -138,44 +439,222 @@ def save_path(main_window_instance, path): def update_yt_dlp(): """Check for yt-dlp updates and update if a newer version is available.""" try: - # Get current version - try: - current_version = pkg_resources.get_distribution("yt-dlp").version - print(f"Current yt-dlp version: {current_version}") - except pkg_resources.DistributionNotFound: - print("yt-dlp not installed via pip, attempting update anyway") - current_version = "0.0.0" # Assume very old version to force update + # Get the yt-dlp path + yt_dlp_path = get_yt_dlp_path() + + # Create startupinfo to hide console on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE - # Get the latest version from PyPI JSON API - try: - response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) - if response.status_code == 200: - data = response.json() - latest_version = data["info"]["version"] - print(f"Latest available yt-dlp version: {latest_version}") - - # Compare versions and update if needed - if version.parse(latest_version) > version.parse(current_version): - print(f"Updating yt-dlp from {current_version} to {latest_version}...") - update_result = subprocess.run( - [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], - capture_output=True, - text=True, - check=False - ) - if update_result.returncode == 0: - print("yt-dlp successfully updated") - return True - else: - print(f"Error updating yt-dlp: {update_result.stderr}") - else: - print("yt-dlp is already up to date") - return True + # For binaries downloaded with our app, use direct binary update approach + if os.path.dirname(yt_dlp_path) in [ + os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), + os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), + os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) + ]: + # We're using a binary installed by our app, update directly + print(f"Updating yt-dlp binary at {yt_dlp_path}") + + # Determine the URL based on OS + if sys.platform == 'win32': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" + elif sys.platform == 'darwin': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" else: - print(f"Failed to get latest version info: HTTP {response.status_code}") - except Exception as e: - print(f"Error checking for yt-dlp updates: {e}") + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" + + # Download the latest version + try: + response = requests.get(url, stream=True) + if response.status_code == 200: + # Create a temporary file + temp_file = f"{yt_dlp_path}.new" + + with open(temp_file, 'wb') as f: + for chunk in response.iter_content(chunk_size=8192): + f.write(chunk) + + # Make executable on Unix systems + if sys.platform != 'win32': + os.chmod(temp_file, 0o755) + + # Replace the old file with the new one + try: + # On Windows, we need to remove the old file first + if sys.platform == 'win32' and os.path.exists(yt_dlp_path): + os.remove(yt_dlp_path) + + os.rename(temp_file, yt_dlp_path) + print("yt-dlp binary successfully updated") + return True + except Exception as e: + print(f"Error replacing yt-dlp binary: {e}") + return False + else: + print(f"Failed to download latest yt-dlp: HTTP {response.status_code}") + return False + except Exception as e: + print(f"Error downloading yt-dlp update: {e}") + return False + else: + # We're using a system-installed yt-dlp, use pip to update + print("Using pip to update yt-dlp") + + # Get current version + try: + current_version = pkg_resources.get_distribution("yt-dlp").version + print(f"Current yt-dlp version: {current_version}") + except pkg_resources.DistributionNotFound: + print("yt-dlp not installed via pip, attempting update anyway") + current_version = "0.0.0" # Assume very old version to force update + + # Get the latest version from PyPI JSON API + try: + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + if response.status_code == 200: + data = response.json() + latest_version = data["info"]["version"] + print(f"Latest available yt-dlp version: {latest_version}") + + # Compare versions and update if needed + if version.parse(latest_version) > version.parse(current_version): + print(f"Updating yt-dlp from {current_version} to {latest_version}...") + update_result = subprocess.run( + [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], + capture_output=True, + text=True, + check=False, + startupinfo=startupinfo + ) + if update_result.returncode == 0: + print("yt-dlp successfully updated") + return True + else: + print(f"Error updating yt-dlp: {update_result.stderr}") + else: + print("yt-dlp is already up to date") + return True + else: + print(f"Failed to get latest version info: HTTP {response.status_code}") + except Exception as e: + print(f"Error checking for yt-dlp updates: {e}") except Exception as e: print(f"Unexpected error during yt-dlp update: {e}") - return False \ No newline at end of file + return False + + +def should_check_for_auto_update(): + """Check if auto-update should be performed based on user settings.""" + try: + config = load_config() + + # Check if auto-update is enabled + if not config.get('auto_update_ytdlp', False): + return False + + frequency = config.get('auto_update_frequency', 'daily') + last_check = config.get('last_update_check', 0) + current_time = time.time() + + # Calculate time since last check + time_diff = current_time - last_check + + if frequency == 'startup': + # Always check on startup if we haven't checked in the last hour + return time_diff > 3600 # 1 hour + elif frequency == 'daily': + return time_diff > 86400 # 24 hours + elif frequency == 'weekly': + return time_diff > 604800 # 7 days + + return False + except Exception as e: + print(f"Error checking auto-update schedule: {e}") + return False + + +def check_and_update_ytdlp_auto(): + """Perform automatic yt-dlp update check and update if needed.""" + try: + print("Performing automatic yt-dlp update check...") + + # Get current version + current_version = get_ytdlp_version() + if "Error" in current_version: + print("Could not determine current yt-dlp version, skipping auto-update") + return False + + # Get latest version from PyPI + try: + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + response.raise_for_status() + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + print(f"Current yt-dlp version: {current_version}") + print(f"Latest yt-dlp version: {latest_version}") + + # Compare versions + from packaging import version as version_parser + if version_parser.parse(latest_version) > version_parser.parse(current_version): + print(f"Auto-updating yt-dlp from {current_version} to {latest_version}...") + + # Perform the update + if update_yt_dlp(): + print("Auto-update completed successfully!") + # Update the last check timestamp + config = load_config() + config['last_update_check'] = time.time() + save_config(config) + return True + else: + print("Auto-update failed") + return False + else: + print("yt-dlp is already up to date") + # Still update the timestamp even if no update was needed + config = load_config() + config['last_update_check'] = time.time() + save_config(config) + return True + + except requests.RequestException as e: + print(f"Network error during auto-update check: {e}") + return False + except Exception as e: + print(f"Error during auto-update check: {e}") + return False + + except Exception as e: + print(f"Critical error in auto-update: {e}") + return False + + +def get_auto_update_settings(): + """Get current auto-update settings from config.""" + config = load_config() + return { + 'enabled': config.get('auto_update_ytdlp', True), + 'frequency': config.get('auto_update_frequency', 'daily'), + 'last_check': config.get('last_update_check', 0) + } + + +def update_auto_update_settings(enabled, frequency): + """Update auto-update settings in config.""" + try: + config = load_config() + config['auto_update_ytdlp'] = enabled + config['auto_update_frequency'] = frequency + save_config(config) + return True + except Exception as e: + print(f"Error updating auto-update settings: {e}") + return False \ No newline at end of file From 99d0750a748daa5f2ae112b5bdbc458b3af5d2d0 Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Fri, 4 Jul 2025 21:37:01 +0300 Subject: [PATCH 068/568] Add yt-dlp Module with Download and Installation Path Logic --- ytsage_yt_dlp.py | 605 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 605 insertions(+) create mode 100644 ytsage_yt_dlp.py diff --git a/ytsage_yt_dlp.py b/ytsage_yt_dlp.py new file mode 100644 index 0000000..34f4622 --- /dev/null +++ b/ytsage_yt_dlp.py @@ -0,0 +1,605 @@ +import os +import sys +import platform +import shutil +import subprocess +import requests +from pathlib import Path +from PySide6.QtWidgets import (QDialog, QVBoxLayout, QLabel, QPushButton, + QProgressBar, QRadioButton, QHBoxLayout, + QMessageBox, QFileDialog) +from PySide6.QtCore import QThread, Signal, Qt +from PySide6.QtGui import QIcon + +# Define binary URLs +YTDLP_URLS = { + "windows": "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe", + "macos": "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos", + "linux": "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" +} + +# Define installation paths +def get_ytdlp_install_dir(): + """Get the OS-specific yt-dlp installation directory""" + if sys.platform == 'win32': + # Windows: %LOCALAPPDATA%\YTSage\bin\ + return os.path.join(os.environ.get('LOCALAPPDATA'), 'YTSage', 'bin') + elif sys.platform == 'darwin': + # macOS: ~/Library/Application Support/YTSage/bin/ + return os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')) + else: + # Linux: ~/.local/share/YTSage/bin/ + return os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) + +def get_ytdlp_executable_path(): + """Get the full path to the yt-dlp executable based on OS""" + install_dir = get_ytdlp_install_dir() + if sys.platform == 'win32': + return os.path.join(install_dir, 'yt-dlp.exe') + else: + return os.path.join(install_dir, 'yt-dlp') + +def get_os_type(): + """Detect the operating system""" + if sys.platform == 'win32': + return "windows" + elif sys.platform == 'darwin': + return "macos" + else: + return "linux" + +def ensure_install_dir_exists(): + """Make sure the installation directory exists""" + install_dir = get_ytdlp_install_dir() + os.makedirs(install_dir, exist_ok=True) + return install_dir + +class DownloadYtdlpThread(QThread): + progress_signal = Signal(int) + finished_signal = Signal(bool, str) + + def __init__(self, os_type): + super().__init__() + self.os_type = os_type + + def run(self): + try: + url = YTDLP_URLS[self.os_type] + install_dir = ensure_install_dir_exists() + + if self.os_type == "windows": + exe_path = os.path.join(install_dir, "yt-dlp.exe") + else: + exe_path = os.path.join(install_dir, "yt-dlp") + + # Download with progress reporting + response = requests.get(url, stream=True) + total_size = int(response.headers.get('content-length', 0)) + block_size = 1024 # 1 Kibibyte + + if total_size == 0: + self.progress_signal.emit(100) + + with open(exe_path, 'wb') as f: + downloaded = 0 + for data in response.iter_content(block_size): + f.write(data) + downloaded += len(data) + if total_size > 0: + progress = int(downloaded / total_size * 100) + self.progress_signal.emit(progress) + + # Make executable on macOS and Linux + if self.os_type != "windows": + os.chmod(exe_path, 0o755) + + self.finished_signal.emit(True, exe_path) + + except Exception as e: + self.finished_signal.emit(False, str(e)) + +class YtdlpSetupDialog(QDialog): + setup_complete = Signal(str) # Signal emitting the path to yt-dlp + + def __init__(self, parent=None): + super().__init__(parent) + self.os_type = get_os_type() + self.setWindowTitle("yt-dlp Setup Required") + self.resize(500, 240) + + # Set the window icon to match the main app + if parent: + self.setWindowIcon(parent.windowIcon()) + else: + # Try to load the icon directly if parent not available + icon_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'Icon', 'icon.png') + if os.path.exists(icon_path): + self.setWindowIcon(QIcon(icon_path)) + + self.init_ui() + + # Apply dark theme styling to match app + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QProgressBar { + border: 2px solid #1b2021; + border-radius: 4px; + text-align: center; + color: white; + } + QProgressBar::chunk { + background-color: #c90000; + border-radius: 2px; + } + QRadioButton { + color: #ffffff; + spacing: 10px; + } + QRadioButton::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QRadioButton::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + } + QRadioButton::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + } + """) + + def init_ui(self): + layout = QVBoxLayout() + + # Information label + if self.os_type == "windows": + os_name = "Windows" + elif self.os_type == "macos": + os_name = "macOS" + else: + os_name = "Linux" + + info_label = QLabel(f"YTSage requires yt-dlp to download videos

" + f"yt-dlp was not found in the app's local directory. " + f"YTSage needs to set up yt-dlp for your {os_name} system.

" + f"Please choose an option below:") + info_label.setAlignment(Qt.AlignCenter) + info_label.setWordWrap(True) + layout.addWidget(info_label) + + # Radio buttons for choices + option_layout = QHBoxLayout() + + self.auto_radio = QRadioButton("Download automatically (Recommended)") + self.auto_radio.setChecked(True) + self.manual_radio = QRadioButton("Select path manually") + + option_layout.addWidget(self.auto_radio) + option_layout.addWidget(self.manual_radio) + layout.addLayout(option_layout) + + # Progress bar (hidden initially) + self.progress_bar = QProgressBar() + self.progress_bar.setVisible(False) + layout.addWidget(self.progress_bar) + + # Status label + self.status_label = QLabel("") + self.status_label.setAlignment(Qt.AlignCenter) + layout.addWidget(self.status_label) + + # Button layout + button_layout = QHBoxLayout() + + self.setup_button = QPushButton("Setup yt-dlp") + self.setup_button.clicked.connect(self.setup_ytdlp) + + self.cancel_button = QPushButton("Cancel") + self.cancel_button.clicked.connect(self.reject) + + button_layout.addWidget(self.setup_button) + button_layout.addWidget(self.cancel_button) + layout.addLayout(button_layout) + + self.setLayout(layout) + + def setup_ytdlp(self): + if self.auto_radio.isChecked(): + self.download_ytdlp() + else: + self.select_ytdlp_path() + + def download_ytdlp(self): + self.progress_bar.setVisible(True) + self.progress_bar.setValue(0) + self.status_label.setText("Downloading yt-dlp...") + self.setup_button.setEnabled(False) + self.cancel_button.setEnabled(False) + + self.download_thread = DownloadYtdlpThread(self.os_type) + self.download_thread.progress_signal.connect(self.update_progress) + self.download_thread.finished_signal.connect(self.download_finished) + self.download_thread.start() + + def update_progress(self, value): + self.progress_bar.setValue(value) + + def download_finished(self, success, result): + self.setup_button.setEnabled(True) + self.cancel_button.setEnabled(True) + + if success: + self.status_label.setText("yt-dlp was successfully installed!") + self.setup_complete.emit(result) + self.accept() + else: + self.status_label.setText(f"Error: {result}") + error_dialog = QMessageBox(self) + error_dialog.setIcon(QMessageBox.Critical) + error_dialog.setWindowTitle("Download Failed") + error_dialog.setText(f"Failed to download yt-dlp: {result}") + # Set the window icon to match the main dialog + error_dialog.setWindowIcon(self.windowIcon()) + error_dialog.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + error_dialog.exec() + + def select_ytdlp_path(self): + if self.os_type == "windows": + file_filter = "Executable Files (*.exe)" + else: + file_filter = "All Files (*)" + + # Apply style to QFileDialog + file_dialog = QFileDialog(self) + file_dialog.setStyleSheet(""" + QFileDialog { + background-color: #15181b; + color: #ffffff; + } + QLabel, QCheckBox, QListView, QTreeView, QComboBox, QLineEdit { + color: #ffffff; + background-color: #1b2021; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + + file_path, _ = file_dialog.getOpenFileName( + self, "Select yt-dlp executable", "", file_filter + ) + + if file_path: + print(f"DEBUG: User selected file: {file_path}") + # Verify the selected file + try: + # Set up startupinfo to hide console window on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + # Try to run yt-dlp --version + print(f"DEBUG: Verifying file with --version command") + result = subprocess.run( + [file_path, "--version"], + capture_output=True, + text=True, + check=False, + startupinfo=startupinfo + ) + print(f"DEBUG: Version check result: {result.returncode}, Output: {result.stdout.strip()}") + + if result.returncode == 0: + # File is valid, copy it to our app's bin directory + try: + # Ensure the bin directory exists + install_dir = ensure_install_dir_exists() + print(f"DEBUG: Install directory: {install_dir}") + + # Determine the target filename based on OS + if self.os_type == "windows": + target_path = os.path.join(install_dir, "yt-dlp.exe") + else: + target_path = os.path.join(install_dir, "yt-dlp") + print(f"DEBUG: Target path: {target_path}") + + # Copy the file + shutil.copy2(file_path, target_path) + print(f"DEBUG: File copied successfully") + + # Set executable permissions on Unix systems + if self.os_type != "windows": + os.chmod(target_path, 0o755) + print(f"DEBUG: Permissions set on Unix system") + + # Return the path of the copied file + self.status_label.setText(f"yt-dlp successfully copied to {target_path}") + print(f"DEBUG: Emitting setup_complete signal with path: {target_path}") + self.setup_complete.emit(target_path) + self.accept() + except Exception as copy_error: + print(f"DEBUG: Error copying file: {str(copy_error)}") + error_dialog = QMessageBox(self) + error_dialog.setIcon(QMessageBox.Critical) + error_dialog.setWindowTitle("Setup Error") + error_dialog.setText(f"Error copying yt-dlp to app directory: {str(copy_error)}") + error_dialog.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + error_dialog.exec() + else: + print(f"DEBUG: File verification failed with return code: {result.returncode}") + error_dialog = QMessageBox(self) + error_dialog.setIcon(QMessageBox.Warning) + error_dialog.setWindowTitle("Invalid Executable") + error_dialog.setText("The selected file does not appear to be a valid yt-dlp executable.") + error_dialog.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + error_dialog.exec() + except Exception as e: + print(f"DEBUG: Exception during verification: {str(e)}") + error_dialog = QMessageBox(self) + error_dialog.setIcon(QMessageBox.Critical) + error_dialog.setWindowTitle("Error") + error_dialog.setText(f"Error verifying yt-dlp executable: {str(e)}") + error_dialog.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + error_dialog.exec() + +def check_ytdlp_binary(): + """ + Check if yt-dlp binary exists in the expected location. + Returns: + str or None: Path to yt-dlp binary if found, None otherwise + """ + exe_path = get_ytdlp_executable_path() + if os.path.exists(exe_path): + # Make sure it's executable on Unix systems + if sys.platform != 'win32' and not os.access(exe_path, os.X_OK): + try: + os.chmod(exe_path, 0o755) + print(f"Fixed permissions on yt-dlp at {exe_path}") + except Exception as e: + print(f"Warning: Could not set executable permissions on {exe_path}: {e}") + return None + return exe_path + + # If not found in app directory, check if yt-dlp is available in PATH + try: + # Use subprocess to check if yt-dlp is available + if sys.platform == 'win32': + # On Windows, use 'where' command and hide console window + startupinfo = None + if hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + result = subprocess.run( + ['where', 'yt-dlp'], + capture_output=True, + text=True, + check=False, + startupinfo=startupinfo + ) + if result.returncode == 0 and result.stdout.strip(): + yt_dlp_path = result.stdout.strip().split('\n')[0] + print(f"Found yt-dlp in PATH: {yt_dlp_path}") + return yt_dlp_path + else: + # On Unix systems, use 'which' command + result = subprocess.run(['which', 'yt-dlp'], capture_output=True, text=True, check=False) + if result.returncode == 0 and result.stdout.strip(): + yt_dlp_path = result.stdout.strip() + print(f"Found yt-dlp in PATH: {yt_dlp_path}") + return yt_dlp_path + except Exception as e: + print(f"Error checking for yt-dlp in PATH: {e}") + + # We're only interested in our app-specific installation or system PATH + return None + +def get_yt_dlp_path(): + """ + Get the yt-dlp path, either from the app's bin directory or system PATH. + This replaces the function in ytsage_utils.py. + Returns: + str: Path to yt-dlp binary + """ + # First check if we have yt-dlp in our app's bin directory or system PATH + ytdlp_path = check_ytdlp_binary() + if ytdlp_path: + print(f"Using yt-dlp from: {ytdlp_path}") + return ytdlp_path + + # If not found anywhere, fall back to the command name as a last resort + print("yt-dlp not found in app directory or PATH, falling back to command name") + return "yt-dlp" + +def setup_ytdlp(parent_widget=None): + """ + Show the yt-dlp setup dialog and handle the result. + Returns: + str: Path to yt-dlp binary + """ + print("DEBUG: Starting yt-dlp setup dialog") + dialog = YtdlpSetupDialog(parent_widget) + + # Store the setup result from the signal + setup_result = {"path": None} + + def on_setup_complete(path): + print(f"DEBUG: Received setup_complete signal with path: {path}") + setup_result["path"] = path + + # Connect to the setup_complete signal + dialog.setup_complete.connect(on_setup_complete) + + # Show the dialog + result = dialog.exec() + print(f"DEBUG: Dialog result: {result} (Accepted={QDialog.Accepted})") + + if result == QDialog.Accepted: + # First check if we received a path from the signal + if setup_result["path"] and os.path.exists(setup_result["path"]): + print(f"DEBUG: Using path from signal: {setup_result['path']}") + return setup_result["path"] + + # Get the expected path for verification as fallback + expected_path = get_ytdlp_executable_path() + print(f"DEBUG: Expected yt-dlp path: {expected_path}") + + # Verify the path exists after dialog is accepted + if os.path.exists(expected_path): + print(f"DEBUG: yt-dlp successfully found at expected path: {expected_path}") + return expected_path + else: + print(f"DEBUG: Expected path does not exist, trying alternate detection") + # Try to use the get_yt_dlp_path function to find yt-dlp elsewhere + yt_dlp_path = get_yt_dlp_path() + print(f"DEBUG: Alternate detection result: {yt_dlp_path}") + if yt_dlp_path != "yt-dlp" and os.path.exists(yt_dlp_path): + print(f"DEBUG: yt-dlp found at alternate location: {yt_dlp_path}") + return yt_dlp_path + + # Something went wrong, show an error message + print(f"DEBUG: Setup failed, showing error dialog") + if parent_widget: + error_dialog = QMessageBox(parent_widget) + error_dialog.setIcon(QMessageBox.Warning) + error_dialog.setWindowTitle("Setup Failed") + error_dialog.setText("Failed to set up yt-dlp. Some features may not work correctly.") + # Set the window icon to match the parent + error_dialog.setWindowIcon(parent_widget.windowIcon()) + error_dialog.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + error_dialog.exec() + print(f"WARNING: yt-dlp setup failed, path does not exist: {expected_path}") + else: + print("DEBUG: User cancelled the setup dialog") + + # User cancelled or setup failed, return the fallback command + print("DEBUG: Returning fallback command 'yt-dlp'") + return "yt-dlp" \ No newline at end of file From 0d384227fa5606c2edefc83657a0561bc1bc3abc Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Sat, 5 Jul 2025 13:17:10 +0300 Subject: [PATCH 069/568] feat: fix README navigation and add themed badges --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f6ca83a..4fa4401 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ YTSage Interface -[![PyPI version](https://badge.fury.io/py/ytsage.svg)](https://badge.fury.io/py/ytsage) -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/) -[![Downloads](https://static.pepy.tech/badge/ytsage)](https://pepy.tech/project/ytsage) -[![Total Downloads](https://static.pepy.tech/badge/ytsage/month)](https://pepy.tech/project/ytsage) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://badge.fury.io/py/ytsage) +[![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Python 3.7+](https://img.shields.io/badge/python-3.7+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![Downloads](https://img.shields.io/pypi/dm/ytsage?color=4b5563&style=for-the-badge&logo=download&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) **A modern YouTube downloader with a clean PySide6 interface.** Download videos in any quality, extract audio, fetch subtitles, and more. @@ -23,6 +23,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more. --- + ## ✨ Features
@@ -38,6 +39,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more.
+ ## 🚀 Installation ### Quick Install (Recommended) @@ -76,9 +78,9 @@ pip install -r requirements.txt python main.py ``` - + ## 📸 Screenshots
@@ -102,6 +104,7 @@ python main.py
Main InterfacePlaylist DownloadMain InterfacePlaylist Download
Main Interface Playlist Download
Audio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor SegmentsAudio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor Segments
Audio Format
+ ## 📖 Usage
@@ -179,6 +182,7 @@ python main.py - **Media Processing:** FFmpeg - **Additional Libraries:** Pillow, requests, packaging, markdown, pygame + ## 👥 Contributing We welcome contributions! Here's how you can help: From 97375ec93be5ebb0bb7d14d7de2b4e611b9e4efe Mon Sep 17 00:00:00 2001 From: Your Name <110548351+oop7@users.noreply.github.com> Date: Sun, 6 Jul 2025 15:20:20 +0300 Subject: [PATCH 070/568] Add .gitignore file for Python project Initial .gitignore includes rules for Python bytecode, local configuration, packaging artifacts, logs, OS/editor files, and yt-dlp temporary files. --- .gitignore | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e74c43c --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# Python bytecode +__pycache__/ +*.py[cod] + +# Local configuration +*.ini +*.key +*.env + +# Packaging artifacts +*.egg-info/ +build/ +dist/ +*.deb + +# Logs and misc +*.log + +# OS and editor-specific +.DS_Store +.vscode/ +.idea/ + +# yt-dlp temporary/partial files +*.part +*.ytdl From 7e586c07f5653edd43e3d7bfc8ae860df7d09618 Mon Sep 17 00:00:00 2001 From: Elvis Date: Wed, 13 Aug 2025 13:57:22 +0300 Subject: [PATCH 071/568] Add setuptools to requirements.txt (#25) Fix error: ModuleNotFoundError: No module named 'pkg_resources' --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index cc8c957..ca19299 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,5 @@ requests pillow packaging markdown -pygame \ No newline at end of file +pygame +setuptools From 227e543ad9a43cb618e215948a1db8f5f4010176 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:03:00 +0300 Subject: [PATCH 072/568] Update .gitignore for venv and test artifacts Added rules to ignore virtual environment directories (venv, .venv) and test artifact files (*.test, *.tmp) to prevent them from being tracked in the repository. --- .gitignore | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index e74c43c..c4a03a3 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,11 @@ dist/ # yt-dlp temporary/partial files *.part *.ytdl + +# Virtual environments +venv/ +.venv/ + +# Test artifacts +*.test +*.tmp From 227c6e7474d340d1a41332af8f00401eea084ac7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:03:13 +0300 Subject: [PATCH 073/568] Add new icon image to assets Added icon.png to the assets/Icon directory for use in the application interface. --- assets/Icon/icon.png | Bin 0 -> 4966 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/Icon/icon.png diff --git a/assets/Icon/icon.png b/assets/Icon/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8b32d056220a44c3c02abd9acc19d26371d5e5b1 GIT binary patch literal 4966 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 NwA6G}E0nFm{{u;wZ5aRn literal 0 HcmV?d00001 From 0cb7437d5fed7d5d4b9d1dab8475f2f885b79b18 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:03:18 +0300 Subject: [PATCH 074/568] Add notification sound asset Introduced notification.mp3 to the assets/sound directory for use in application alerts or notifications. --- assets/sound/notification.mp3 | Bin 0 -> 36864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/sound/notification.mp3 diff --git a/assets/sound/notification.mp3 b/assets/sound/notification.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0430b396b34a894384d8ecfc5394159c496ba6c7 GIT binary patch literal 36864 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 literal 0 HcmV?d00001 From 0299affaad2248894f1f9a106c0c884ee6dc2d98 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:03:21 +0300 Subject: [PATCH 075/568] Delete icon.png --- Icon/icon.png | Bin 4966 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Icon/icon.png diff --git a/Icon/icon.png b/Icon/icon.png deleted file mode 100644 index 8b32d056220a44c3c02abd9acc19d26371d5e5b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4966 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 NwA6G}E0nFm{{u;wZ5aRn From d72685ca286505b52ac4b712b6e484c57436dfc4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:03:31 +0300 Subject: [PATCH 076/568] Refactor imports and add logging to main.py Updated import paths to use src.gui and src.core modules. Integrated logger for improved error and status reporting throughout application startup and error handling. --- main.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index 2aa558c..00cb8dc 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,8 @@ import sys from PySide6.QtWidgets import QApplication, QMessageBox -from ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main -from ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path # Import the new yt-dlp setup functions +from src.gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main +from src.core.ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path # Import the new yt-dlp setup functions +from src.core.ytsage_logging import logger def show_error_dialog(message): error_dialog = QMessageBox() @@ -13,20 +14,24 @@ def show_error_dialog(message): def main(): try: + logger.info("Starting YTSage application") app = QApplication(sys.argv) # Get the expected binary path and check if it exists expected_path = get_ytdlp_executable_path() if not check_ytdlp_binary(): # No app-specific binary found, show setup dialog regardless of Python package + logger.warning("No yt-dlp binary found, starting setup process") yt_dlp_path = setup_ytdlp() if yt_dlp_path == "yt-dlp": # If user canceled or something went wrong - print(f"Warning: yt-dlp not configured properly") + logger.warning("yt-dlp not configured properly") window = YTSageApp() # Instantiate the main application class window.show() + logger.info("Application window shown, entering main loop") sys.exit(app.exec()) except Exception as e: + logger.critical(f"Critical application error: {str(e)}", exc_info=True) show_error_dialog(f"Critical error: {str(e)}") sys.exit(1) From 989a070782084644db942b46b68090c5f8cf5dc7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:03:42 +0300 Subject: [PATCH 077/568] Revamp README with improved structure and details Enhanced the README with a new 'Why YTSage?' section, improved installation instructions, added troubleshooting steps, and expanded feature descriptions. Updated project structure, acknowledgments, and star history sections for better clarity and navigation. Improved formatting and added advanced usage notes for cross-platform support. --- README.md | 284 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 224 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 4fa4401..97e3540 100644 --- a/README.md +++ b/README.md @@ -7,22 +7,35 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) [![Python 3.7+](https://img.shields.io/badge/python-3.7+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) -[![Downloads](https://img.shields.io/pypi/dm/ytsage?color=4b5563&style=for-the-badge&logo=download&logoColor=white)](https://pepy.tech/project/ytsage) +[![Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=downloads&logo=download&logoColor=white)](https://pepy.tech/project/ytsage) [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) **A modern YouTube downloader with a clean PySide6 interface.** Download videos in any quality, extract audio, fetch subtitles, and more. -[Installation](#installation) • -[Features](#features) • -[Usage](#usage) • -[Screenshots](#screenshots) • -[Contributing](#contributing) +

+ Installation • + Features • + Usage • + Screenshots • + Troubleshooting • + Contributing +

--- + +## ❓ Why YTSage? + +YTSage is designed for users who want a **simple yet powerful YouTube downloader**. Unlike other tools, it offers: + +- A clean, modern PySide6 interface +- One-click downloads for video, audio, and subtitles +- Advanced features like SponsorBlock, subtitle merging, and playlist selection +- Cross-platform support and easy installation + ## ✨ Features @@ -35,46 +48,64 @@ Download videos in any quality, extract audio, fetch subtitles, and more. | ✨ Simple UI | 💾 Save Description | 🛠️ FFmpeg/yt-dlp Detection | | 📋 Playlist Support | 🖼️ Save thumbnail | ⚙️ Custom Commands | | 🖼️ Playlist Selector | 🚀 Speed Limiter | 🍪 Login with Cookies | -| | ✂️ Trim Video Sections | | +| 📑 Embed Chapters | ✂️ Trim Video Sections | | ## 🚀 Installation -### Quick Install (Recommended) +### ⚡ Quick Install (Recommended) + +Install YTSage from PyPI: + ```bash pip install ytsage ``` + +Then launch the app: + ```bash -# Run the application ytsage ``` -### 📦 Other Installation Methods +### 📦 Pre-built Executables -### Pre-built Executables -- 🪟 Windows: `YTSage.exe` -- 🪟 Windows: `YTSage-ffmpeg.exe` (Includes FFmpeg) -- 🐧 Linux: `YTSage_{version}_amd64.deb` -- 🐧 Linux: `YTSage-x86_64.AppImage` -- 🍎 macOS: `YTSage-macOS-app.zip` -- 🍎 macOS: `YTSage-{version}.dmg` +- 🪟 **Windows:** YTSage-v<version>.exe / YTSage-v<version>-ffmpeg.exe (with FFmpeg) +- 🐧 **Linux:** YTSage-v<version>-amd64.deb / YTSage-v<version>-x86_64.AppImage +- 🍎 **macOS:** YTSage-v<version>-macOS.zip / YTSage-v<version>.dmg + +> + 👉 Download Latest Release +
🛠️ Manual Installation from Source +### 1. Clone the Repository + ```bash -# Clone repository git clone https://github.com/oop7/YTSage.git - -# Navigate to directory cd YTSage +``` -# Install dependencies +### 2. Install Dependencies + +#### ⚡ With uv + +```bash +uv pip install -r requirements.txt +``` + +#### 📦 Or with standard pip + +```bash pip install -r requirements.txt +``` -# Run application +### 3. Run the Application + +```bash python main.py ``` @@ -122,6 +153,7 @@ python main.py - Save thumbnail - Remove sponsor segments - Save description + - Embed chapters 6. **Select Output Directory** 7. **Click "Download"** @@ -148,6 +180,7 @@ python main.py - **Custom Commands:** Access advanced yt-dlp features - **Save Description:** Save the description of the video - **Save Thumbnail:** Save the thumbnail of the video +- **Embed Chapters:** Embed chapter markers as metadata in the downloaded video file for compatible video players - **Remove Sponsor Segments:** Remove sponsor segments from the video - **Speed Limiter:** Limit the download speed - **Login with Cookies:** Login to YouTube using cookies to access private content @@ -159,29 +192,44 @@ python main.py - **Save Download Path:** Save the download path - **Update yt-dlp:** Update yt-dlp - **FFmpeg/yt-dlp Detection:** Automatically detect FFmpeg/yt-dlp -- **Custom Commands:** Access advanced yt-dlp features - **Trim Video:** Download only specific parts of a video by specifying time ranges (HH:MM:SS format) -
+ +## 🛠️ Troubleshooting +
-🛠️ Troubleshooting +Click to view common issues and solutions -- **Format table not displaying:** Update yt-dlp to the latest version -- **Download fails:** Check your internet connection and ensure the video is available -- **Audio extraction issues:** Verify FFmpeg is properly installed +- **Format table not displaying:** Update yt-dlp to the latest version. +- **Download fails:** Check your internet connection and ensure the video is available. +- **Separate video and audio files after download:** This happens when FFmpeg is missing or not detected. YTSage requires FFmpeg to merge high-quality video and audio streams. + - **Solution:** Ensure FFmpeg is installed and accessible in your system's PATH. For Windows users, the easiest option is to download the `YTSage-v-ffmpeg.exe` file, which comes bundled with FFmpeg. + +--- + +#### 🍎 macOS: "App is damaged and can’t be opened" +If you see this error on macOS Sonoma or newer, you need to remove the quarantine attribute. + +1. **Open Terminal** (you can find it using Spotlight). +2. **Type the following command** but **do not** press Enter yet. Make sure to include the space at the end: + ```bash + xattr -d com.apple.quarantine + ``` +3. **Drag the `YTSage.app` file** from your Finder window and drop it directly into the Terminal window. This will automatically paste the correct file path. +4. **Press Enter** to run the command. +5. **Try opening YTSage.app again.** It should now launch correctly. + +--- + +#### **Configuration Locations (Advanced)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage`
-## 🧩 Requirements - -- **Python:** 3.7 or higher -- **GUI Framework:** PySide6 -- **Download Engine:** yt-dlp -- **Media Processing:** FFmpeg -- **Additional Libraries:** Pillow, requests, packaging, markdown, pygame - ## 👥 Contributing @@ -189,24 +237,82 @@ We welcome contributions! Here's how you can help: 1. 🍴 Fork the repository 2. 🌿 Create your feature branch: - ```bash - git checkout -b feature/AmazingFeature - ``` + ```bash + git checkout -b feature/AmazingFeature + ``` 3. 💾 Commit your changes: - ```bash - git commit -m 'Add some AmazingFeature' - ``` + ```bash + git commit -m 'Add some AmazingFeature' + ``` 4. 📤 Push to the branch: - ```bash - git push origin feature/AmazingFeature - ``` + ```bash + git push origin feature/AmazingFeature + ``` 5. 🔄 Open a Pull Request -## 📊 Star History +
+📂 Project Structure + +## YTSage - Project Structure + +This document describes the organized folder structure of YTSage. + +### 📁 Project Structure + +``` +YTSage-main/ +├── 📁 assets/ # Static assets and resources +│ ├── 📁 Icon/ # Application icons +│ │ └── icon.png +│ └── 📁 sound/ # Audio files +│ └── notification.mp3 +│ +├── 📁 src/ # Source code +│ ├── 📁 core/ # Core business logic +│ │ ├── __init__.py # Core package init +│ │ ├── ytsage_downloader.py # Download functionality +│ │ ├── ytsage_ffmpeg.py # FFmpeg integration +│ │ ├── ytsage_style.py # UI styling +│ │ ├── ytsage_utils.py # Utility functions +│ │ └── ytsage_yt_dlp.py # yt-dlp integration +│ │ +│ ├── 📁 gui/ # User interface components +│ │ ├── 📁 dialogs/ # Dialog classes +│ │ │ ├── __init__.py # Dialogs package init (re-exports all) +│ │ │ ├── ytsage_dialogs_base.py # Basic dialogs (Log, About) +│ │ │ ├── ytsage_dialogs_custom.py # Custom functionality dialogs +│ │ │ ├── ytsage_dialogs_ffmpeg.py # FFmpeg-related dialogs +│ │ │ ├── ytsage_dialogs_selection.py # Selection dialogs +│ │ │ ├── ytsage_dialogs_settings.py # Settings dialogs +│ │ │ └── ytsage_dialogs_update.py # Update dialogs +│ │ │ +│ │ ├── __init__.py # GUI package init +│ │ ├── ytsage_gui_dialogs.py # Dialog aggregator (backward compatibility) +│ │ ├── ytsage_gui_format_table.py # Format table functionality +│ │ ├── ytsage_gui_main.py # Main application window +│ │ └── ytsage_gui_video_info.py # Video information display +│ │ +│ └── __init__.py # Main package init +│ +├── 📄 main.py # Application entry point +├── 📄 requirements.txt # Python dependencies +├── 📄 README.md # Project documentation +├── 📄 LICENSE # License file +└── 📄 .gitignore # Git ignore rules +``` + +
+ +## ⭐️ Star History
- -[![Star History Chart](https://api.star-history.com/svg?repos=oop7/YTSage&type=Date)](https://star-history.com/#oop7/YTSage&Date) + + + + + Star History of oop7/YTSage + +
@@ -216,23 +322,81 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file ## 🙏 Acknowledgments +
+Show Acknowledgments +
-| Technology | Purpose | -|------------|---------| -| [yt-dlp](https://github.com/yt-dlp/yt-dlp) | Download Engine | -| [PySide6](https://wiki.qt.io/Qt_for_Python) | GUI Framework | -| [FFmpeg](https://ffmpeg.org/) | Media Processing | -| [Pillow](https://python-pillow.org/) | Image Processing | -| [requests](https://requests.readthedocs.io/) | HTTP Requests | -| [packaging](https://packaging.python.org/) | Packaging | -| [markdown](https://python-markdown.github.io/) | Markdown Processing | -| [pygame](https://www.pygame.org/) | Audio Playback | -| [New Notification 09 by Universfield](https://pixabay.com/sound-effects/new-notification-09-352705/) | Notification Sound | + +

A heartfelt thank you to everyone who has contributed to this project by opening an issue to suggest an improvement or report a bug.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Core Components
yt-dlpDownload Engine
FFmpegMedia Processing
Libraries & Frameworks
PySide6GUI Framework
PillowImage Processing
requestsHTTP Requests
packagingVersion & Package Handling
markdownMarkdown Rendering
pygameAudio Playback
loguruLogging
Assets & Contributors
New Notification 09 by UniversfieldNotification Sound
viru185Code Contributor
+
+ ## ⚠️ Disclaimer This tool is for personal use only. Please respect YouTube's terms of service and content creators' rights. @@ -243,4 +407,4 @@ This tool is for personal use only. Please respect YouTube's terms of service an Made with ❤️ by [oop7](https://github.com/oop7) - + \ No newline at end of file From 5d417e980ea4fad7e68240048f48d6121dc95e6c Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:03:54 +0300 Subject: [PATCH 078/568] Add loguru to requirements.txt Added the loguru logging library to the project dependencies in requirements.txt. --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index ca19299..e44a81b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +5,5 @@ pillow packaging markdown pygame -setuptools +loguru +setuptools \ No newline at end of file From 42edf075c6e7bda140fd4eae063064fce9ffa38e Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:04:00 +0300 Subject: [PATCH 079/568] Delete notification.mp3 --- sound/notification.mp3 | Bin 36864 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 sound/notification.mp3 diff --git a/sound/notification.mp3 b/sound/notification.mp3 deleted file mode 100644 index 0430b396b34a894384d8ecfc5394159c496ba6c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36864 zcmX7uRajKt-^I@q3@~&f!q5#vr#N&g-Qv)#G=epBcO%HqAzgxibax9%Necpkg@E(= z`@j2c@8?|Xi_f$6I_taeR|~2D*+7_oQ8JfaeS{E=7%Aer3Exa7gf=raN6t(&fF}pw zs!NICt}FwB7?F(Lu(*`xj0Jcf-d>6sZCtDoI+k8bA~ubT2? zVCO#m@BZ`WKLsBB{lyn-liXZt*+M>etBy}v+JMy}y-)KK2RX?j^+Kzteb@A1o!Jh> zq1Dz{X@-S}Dt-JVFeHTgsZ{u540+#P!5g9&4S$X&2bGtnantqTKZV968|6KG4_3XN z{7AJ}_anaG>o>=DPA|jiud`V1)xG4so|rgNr>s6KI9i)nKJR}2XQVDshfG}t9zOKY zL&xkXp4|SOW?dMTSuMyD&ICW0;B9cE^A~m0-N>uZgp$ythqCph_8(CXzgbm~7s}&J zIerO(s)P+qP26;2d~c6M<$0Ok<9hu@h5{bS=z&72C_RyXZmq$S6ys8XFZkB;M5zhE zPd@(pYWmsq_q$W%@@!P=-FYmJ9v{Us%YN|U?@WhUf^ zr~B^B2=XUJY3Iv9q?JlJ!|X?ffeEkM>UXH$u1}G*BHe=jTs?p0Yxdroaz~_o`|-wx zt%J^{cWky;JX+Q1g%=JjLA8FwYj9vo^-to z6Jn7HkH-JwUp`67J>V@cG2AnKGIYQw@{_({=^Rx0H}*pZ3s$20!+Q}Tgb5RoT_}49 zqMC(vnSob6=KE%DAu?N6K9uA4z{aCt)~LUUo*TiLoX7dHRHP%1j%ryw;4;OPuR(Hz z?~}HFudO@i`Wp9E6bkKma|n=KeCT_RQ3kLy$}W)>+2O2ZY@U=+Wh+lVQ{Y3PFQwpR zP=o&o}gZ&xH5?Cr;jWCD7*U`i8)YIT!pk!Jd$+$y>*?9-J z6_Q4c0ZYQmz<*2g8xzX<2|^9zGek6>N)*lLYP4wqVe>tX>{ZqW#9#%n87x~PZ#<0I z7gfB8sD0ZEM?ae=x>m+uPWcAAm<1v$-e%cGKbRK%X&(iuy5rjTp_0cXbuU_-=VOin zw6~|OafJ>6gni z=D2g`a3+zdmXIxBh;)H{VLo9eha=T9aFKGHczNLHk) z`RS|WhvGo_pFbcgjHEDk&l*}SpMxLI4wWa_Vq3Mh)$j54hv>(dwKtb6rMow7Fs~bP zXQ!2`k1D-(>?p+57)tf8Fi2_HJ*(p+Y4j?0)3T0#-P0_Vvxs~tLp?!+KB7|cCMm?k zGAGQQgsf2&1zs=d`uhg%^7-;Mgh#&L#?y%H&ZF_#kJHPP5WmY$=$lG{EDOe0#9P;B zoZr^e&o2s2z!^Q&Q_3|qd)bFR&W~w@sw*Wo5KCyh<_KW}J>@a}{meRq0nW$GNDJ?` zYv8I(shKs?P`<3K?=TTzs~YghQOD^!e7I{qJqQuEJ#S~)3(@@G$4}b$`S-P1x?5#R zq(PNy#gw?R?DeCXLZ>j3J`E2jE3IzlcPaM6Qb@h~`b=W@OJdta5(tZ&J)P}hq=vFoS$`=I z9uwZ?Fwrou<2N_ac5u>^-({jJ^)hTOB@0jKG|T1IjbNNHU_ne{T+jePB12I0>14rY z&hp{YgEt?i>;K;3dc{(p=gMtd_xktEM&S4BXOB%N`X9DEZY_sY)+&KTl|7`;}V>^&_5ltClq95s8k*!IZgL-20Mwi@Xx-BO>{)aTq8 zkMF6ZjCLX1q{qjyk34L|Df!iy;t~i%uYWAE-+$6jDcQL7gV+;77P81L=A?MKAkNbvQYVnG z%TSnI-k_PexTW)Je}Vh~KAO~RCoUt8nMQEnxRY2kJAztrUfk*+<8{ifn74m#JUt)Y z+#E^Q;D5h=+%*~P_jbK}$@iVz+xNv^vOaAX=X$87S_lL`68^!>(YffI!_kl3?=V71 zTAL|uh z5_Zc?NR}3&RoM~B)F~^A%4cV~-yWms7^lvL9h{Pn7yxgQKLIez|MAa*CE$xxHFd*) z-|_HHPGSK11P;mePAr5}(B-W(8syT*NVBGsNtzyxQ>RpBw|gaD;A?F9wW+Gq(AnYj z@%tJmMdMQH6nje(v!!2tvj0Xl?l}#GVsk~&SjC`@Na{;S%66-)>~wH@-d!Pice#Z?t2_=% zp(7GD59&l^daP0704L_rm7pg!SX(Q{h}y*V}6Xp}6lD96U(rEsxmSHN%!fT(iji#>zPv6~miI6Th*{u%2b#!0XB<~D>LV)-YHUwNX zT$zK4_j6TKF#)$9lym&SXE96|FT)+TvBrT)<%lK>F(1y6nA~ip_!a9m(zg&*b3`wW49!%H0FuYit_C64d-PDh zwYLa$o^LQ%vN3fbF&z!Z%z=vW5BKmWF00s z0{{L(<1%M8@IcpZ^TAYYPE!=VrwlkK<64Bm+yTu%49rNE9>OS|pbW z$jwW2;aw;^(IRu)eaop@Tuc6D`R^{BbXA+-m}A?;>HhDf3|saL-JfX)>42|^pZdRj zeY$jZ)fO;(`qsPaQ)&Crm(%vsw!aEjZMJLf+4}`v8+S(|Fgh~VpW=#3}Lbj7xjGLT`B^@I5%yN>bOkWv# zS@puQsmo+2bIS6K^X*e+@8Jj6jb&vuSwZ;Am0{Ll=AiBtQ~cWSvxban$)unNy$d}4 zN9{^~=Slakq+i+F4ikwzf}4QnC3h@54*~%ou$~6EId4qv$}s~mdp4LTrvyqw#0|ra z?TxcME*MGkPMS36HIlZiG!@kv)3jvlz7YESU3pHj3$UALk8GZ=tZ9De6bZ|QYQj*ZQoHkAvUQLpmASJC+GA^ zwEyFu5eutU*ECwS_bFB%Wpckk((&nV-N#J#ePY>8xNdl|wX8gj$wJelCDm|bpK5z0 z50!mJjLK^lQQhICcufO`-C>1`Wjkxjw4OiaM#!MihMaMkLanCbNVl}SWOCUZ^iI^i zfX9<*{Td?|`WqW}myLF&-)15mh`yBKMfbY)@xP11l8^e$YA0X6$ZGi|JY;o_VmQPy zfB2Tk7ihDQbp!{XSeQE#KrL1XQqt3G(gl93qoe^li2-oG92_Q!DHEqv5p9ztfsS(; z!~N*lv17&!<~w9YLw~i_mRcx+-)!@ocv<_rNRR-O;-p=DT2H$2f7M9Osy&sKs^Kb) zSUlD?G5u;$JEK%>YBeEb8zsEmA#rEy5hyRl(K*9?qio$gkXdZ_yuDhizA+QpQ|C2v z$>(caTe2R?X564Nq$vHa2Z8~lR&D&DC`zCZ#{dE4gkV@0%(0iFng$G!VOpUwlG&6H zz*hE7l?gAv5~oD*#N?(v8j=0w%L9b^c#>1VwjluGp6>))_8joT~6 z+wJL=C6Y`v+?AS|Jq}9!3DmstQMUTwT?bPu#Va`o;EeCm9(I=CW$ z?tXrnwavj~8z21-aR9Qhrw#0ZF>)9dzzK}@!k81PBSN5wmU^h=HIO?er_Z?B+_{) zzJG2A)z^jRv_>5*p~;#USAMF=?o3e^J1975M(UGV* zAOz(A46#6Hdbk1Ro?Cz_4Je2Lt>({{Lczn%t(IYbpMYG3v{EfJO)QR%lf1YSx3t+23^TzHvF#Lw9~dIW3O{lk=8g!L^Lv|4;LG*h|L`8SapWW0RDwc%ViWVkkSX5U~VqnoP3_#-nzg#;m4Gv97rXIMDqLjUwH9)DHv&$*qilAnxSy+3)| zfSdMWYNj>;x_0-wUCUVFJ>FgSE-c8j*^XO{6s}yz z*zf<*p&uQrYf%zCSn%P9TCLcNbwyiNSKFv$%$sSLMgcnUQO7=2A>Yz;6YtgdxWseS zVGLc6b++%g=n z0CWbpkJq=WK-4<{Kxv_fcetHslIBW;Qce`xR-#~U-%b#AQ=b#K?=bx;(AY`G&|fKt z!KlQAZeqIT_63#fLyA4}ofUyc(KUDVW9f4S+D9Vb=lSM?aT*g`rsl>PhE@N*`s(Y} z;47Z+xhpPrb+zE7_};?f_~mEHA(eiUbg+xg!J+3Ir?h9@y7!-Ub$xq!=t{|xd(-1i$=MgnZ0?w=H8{sdH5TG5bA@oa6FYyk!o1-ORF zC^H1t&z4i#Wxs<4h2mslz+1+!xDVMLhhxcadAm4Tn6e(c@E>Wek`*qFw)?TJC+{)T zxEF>CG?WW9Qni?OvockqdX-!KZG2la$JbAI^7h@0F$>|W`*$VFoy#Rx#{CQ)uB{SP z-j=NV`>>(Fd-}Y=K4;#%^7r|kLirz^?z*oV%i`05z8xFWL4UjNSoA;dZ$BSQDqj|D zj|i{&4p3krnWInjjKnBFLbKRpfPplWF~wz&ff}n7qEEn}gl(@fC(izle;NShYcOdv zAq_MV9cl-0oSXID;S;eH8vBHEkh~Uc)4($D(rKX$7&bC+%UrX6QhqzVWb98g%0Eu;<~Kz1Rj>R2!@FR)bWj@RyHhTrc$i-JoGBiW z$6jg7^?**8Oeh7tUo<`{ZS!Ppkc8#T^&1M7N=2<6k zv{~f_Ku%$SH!NmDLv$|ylo$!N5c>g^%@!I`?D8r578WbPuFJlP`Q$OIE7_~rV-C^< zDZ#-IA<(;)J@cdHij9uNBkjB(wZOkVYHo~?c7_>Y%s^C;ir8^4sba>P@?>x_6e(df-B~akT0|4L*~>(Y{->)7v{)yr#nCkaM$nQS;kCX^Lnr5dS2)G9M38(7s^JWop^{eiAC@){;4PZIavxY`vQuMHzz{C(Z+qe)OtP;iC#ES zJX0uqsPyAKX|3qKYGPelY)=m-SqdAY9sz|mgBw68(3wHWDp%z`j;3|#dg+mQS z-+s%9KgUsKvS!y=x==y1`b>MA$w^o&NjwaoLU4FxCQzYj5V!w1 zC}Iq;E{uXY{v7hmidaAT%zD0o=T-8+!+^Z`!8r`Fp)05V(G~$l`TlEeAbdzs=d@>P&hKl{W@unOc2m{VY zC?N*%ZFbrG*ck~j1S>`Qn0Y`v5$Heu=>b@k;l$Cj_*u2K1yfMi0$r(=NS$X~Um1G| z=`mNEZjT@c0mh;_DOZ#%amtu@!qMf*&(B6adg^WkePqp_Xiy=u$3*qvrX+AnXU~2mnBU58<ZTBQmUIK3FiYLt0IVJN?XSFVk-}$L$Hd+PosWvP|U2`?Mw^I4Bw=zg6UT`_VE=1?s7n|Nya8w-G= z0X|P}5CtGj0U+R51V1zkmufpA7KY=*R8d5VL#n(`jNpKf#GQ)1fx0TQ`T&p?Z^m%$ z^Gg`l@8IsK`#Nm3+PM<|J^8b(?0};yWLUP5xd-B%6no(<2C*l)wh>1}tXpt# z@Ju~5d&$<{vXFbMCnK9)e%}QL+_I;|MGN{tLI7fnI*b4oGG@Q(txk=5jj3fAx;q9A zxOP_O$BwDe^&_1yXsG*5s=gS#&7g!hW8`M;H_yqABYrTK22{7V4E2*!)%J#xn);L}^7{Mw&wC+euOgz@c1 ztN-!Oi6wY!viQ{8{!2mS<&8JT8BL+Mmar&usCUKwkKrQOV|P;9S`}(Hrw12qQ?Vd6 zom+5DCxgrcxt&MZ5G(@-%RopueIpY|+S`67=<(hZTk7a%i=3N7{2kYi^nAd~(nj~(Hc?c)ZPJtjjW6forY0t)H-_j$Y@A*=bzju^ zA1&9}+*~Ut{Edo=dTRv$w}CsYeVij)f<#f3()ANCM(`A>A^E2F+*Z>Ijs~GdJf6@a z8i>TPmO~b@0>ulhBBc9OsnG+C>o3PMMPATf*+}8Le-^<$!9eq*F|Ep*bh9X?ogF(y zXYYVaocryKsNGCEPtU-SL1+pM0V4-(?C8gjA4GG$7qPR`Dn|p+5k+k5?1Yd&2!yT& zz+fJIp8gdWc=HK?uqet$0|5EoAz!ljNuHPSR4mxIF=Zc#-`0Idv?kC?-zTumLlBZ8 zDQc$WW1wbhF;1C(Qu-j{?$mb)yiH{OK3|HY1 zcLYLr!O8{~CymX!#|!15$#g8yT=wqI>so56FHEi5eZHLDvs`&@eb2gmKO&Y(%Ou0n ziLb?=k@PCf#h6E8FR;{5LlsxSPt|>IWd=zF0CxgtH-5H$8C!-MQ`pU_)q6qh5RLr(>iGD7^ge-)Ahb%m!)|6O0FDJsZ2nvyave} zu}iU4P8M>_q*Jrl{?5IM;?9S1thY;>^K!K-Bx~Hw8|O})>~b>OoF3;{)P3Y~G^KSN zVvf~|lOZgwW=iCAZ4s;Fj!mxesC~nuom-?2z+5e)1wM#1geqlN%OWrjQW-X%pou8z ztr@m7Gvc!;hVbM)$aasnCT0V{BJ_F2sNOE~+jdUyX^hCCzE_p*Hg4T1V7!cRC--jM zbN2v8kB20ztiiwYRbhoxiVfx#EiJJpKc-sDGKx>B*EJK;<9q(&Umk#t>CRm}R``=o zOjP4utzq;{OTM z*${IXWVj4n^YJ5pvMYh{3g>%mk$S>aZF^CZ2Ck`nEB?U2BQ3eRej~y1q!dOR-Fo>o z^zCuZM5wg5%<+m^aWSHxdeZ%A zr1tDRQK>>K;1YU=UTp#b3;<}ETPOrTN0=EBzS(z9LqMRZ53kn+F>sRRjB&GE11TVn zUL1FfK9g6;pPZCGd`cEMxL#XlZ6&*?Z!D4LkuOObTEECkcE$h6T%1|?QP*`nFS{^3 zHupK-+w!Gm3&t@blOf6DYP8dIwUtjHUR)s2#eb+9|5sTvsDNdtP)<_9aMp7ErC&nO zrM0!f>u_Voe?|ig2pop7yiCr!tW0&zrhsLK%Yj2sNMnbmd(U&*Fm39ELrMYr$}wf+ zAa!uao7-++B?(V=*qDgf>hpK8SCl)cdw&>q?bqwrZJ?TnxUM~d3!NwQH7&P}judB+ z$tl%OY3c=%Zd{Iy=vv65~|RLmD2I6=}QCX*D#Y&^~6UB2>r)8)xa z8t0T?0EqkT7t?z)5s&i>!@!xYP6N0KI*!6`#Ru^KibRz8*#Ss$ktoB=oUJ$AgD#PA zX`!&O*DrNkXCN&+qG42SXCa6($J0k?n^p0tq#Ko5%JSDVsqm8OYl6fj3sak6BHZSA%KU6f%WmFJv=ru0tQ|=GH&-sPvsnQG7zY9^#9quclV32F)?VfKpGY?F4;s4;@B|M4dpr$mv*gh!P!%X(f#04SVnU zg_y1P2?h)l>caql4bGTlMjzPZUilyYzQ7>p-s}~#og6Oa&@Jd7(a2RxvN|XV?8Dw`Ju6MFQIXvaSV=x-xw%BSmcy#{1rEMp)f{*AQb)nq1YK1D`Yx*UMDQ)NICjl zz}(w#VHk^+v&oUAc_S$I%tTVVW$<3F5kXST!p3xd%SQsaC*S;i1`m=LA}vh4e9N^S zj=ndnpT86CE!gELwU&2zJbLo_X=$sO+_THU&+`%sj_(u#dgo{?%W6eYf2p}*tfKn!y2dk8cYNLFCGbBnGv`H#_D=c~zPMn2n2ar-ICaAx( z{W+1r7zfp05*;orwMat1d?X&{BR~=VT5M6EfOZEJa=Tcp*yGQvs2t0|!2ac6W#sgjX5KdKHCzbBsO3HNCqjH{G z|GIhY(Djq5;;Sr)Gpi)wr&Slh`N`_0G}WKUIq@f%ubQwBsS0Gk-fm(D41k7f5tE(h zMu+2)dyPFv^^`{XjY)Kgfcie++woGWJ^X~+5VS5a1cYNkKxiM_XN#Z*CsVrl^3xjn z#O@8+mW-$pI;4Dnf6uv44pzIs!F8G0M{wJAB=u$dmAU3)i(Kl2&R0^xd4rm+I3(UVor*43?SG2ELI? zS^T>JzRvvpJW@aF1YQ^GKjdvODMY)zDY4c0-R|k`#D_pg2fDo*C09uVz?#x;Ld{r& z>(4O~%!qq%V%axKg0|e;M9SLE)y(Qd*f}Vn3dN$6ggWUqAxadb3AP8YfZ!z-xFzT& z``f|7?vI!cqsOI1-&9)I0xr~ls*uYZGfw1Yqc@^vEX`0H@S@;{`?m`1sH7rt-LUhH z{rmZnKMW5CSgGsBj~+Z9=Al!*Xiaz}vNqA}f7se7)#BbTe!co+Mfu(aDwpKwmd>*%zz)8VYpZD5z3`}GV}so(GW{pOFbtG)Po>aTI1(U&!3 z%kLy72dQ~91RETqHBg*Y`{^dn^COscYj^3y{eSq|!U2F?`K~q9z8X9p1g6OjXF?E6 z)X-sjF0p-#@%KaUu*0|z1FSMzZOKY~4-X+U*Cw+NHVAC8D+b{*5Lnz~1-nDIkGI1Y zrI4eOLLLhN(^@G@zZT4a5pSkN!qSJn7G>Bzs|C?D$-c0_0>p`D0+q&i znv@U$)Imz^o`qvzx=U=HFh98?`whovWXEsP>^L*TG=Wq(*PhahNvF!b`=_t?u6Rij z1)n7LS5CJIcP>Q+$T>%r9J7g{qADl7Ji)`3Z<_+ocDiB$)FlZ35R$m1pGU`t9D%~& zwnZsWXDQpMj4r&mcB}{svpHHQB8*~?;4Z0e*bEH`2F*(aL2nA6h#{))3=R|0tOUc@ z3-Yad8$K zr~ht1pqr=QNd9YUrx3eAlB~Iqs8>~FyPboRJBcP_*fa2W@o_;*mvd$F+c}?K``j7j zvX8sybNN5^Haoxn>BQ)?@sWf;;ogy3u9n$C`I@-1wGWNAJ35>KfFbu|i3Fh!ARr0? z0T36T6#)}~w4TAyGf;%P#+cJH&|@z{kdzFIm7op`h=w2~B$)_;r9gnTvDKUt2(usy zChPe8{G=6QIv+EEsYs0z_lwVFX|wGKISli#PYf#% zNMidR|33h=G=q_&7k2fXS|e+|6Zhzav^eS%X8W#qKdfog3XgjLpxM8$NU^MA_EYky|k&mjm`Mu;oD! z0e1E52vFfBk$VEy4_4J2KH4~~j~9f-4=gDOx3Cg^hmjLeVOO<+(x&u3*^F%R4r(WF z-$NFgkL$5W)qDNC&ry2(?oGwPa+1Y#ds>#Rq4V=!_er0|eEO81HGlLzeP@x8+klT~8 z)?35sM0QEdD#*2U(?b!I(1HKii&P+l8-b8DIamh}%hQAd4d8bjc8t@0fy|?tG z)~0IZv5V)s7{+)0{9mXeD1D?0;&l`5pLA2+SV_0IKe1dpp>Z-bSyeJFvU%CQ)q2SC zBUqe9mSx@C@Z|jWWm51^!C-`h2&<8LDf{XjJF)iz2)8roIGg6&R94~~n9>%Kg5`7b z-SaMDwKq-Hg&08ZjerMwegX$2+ydmV6^H=|x=;|JM}`zZGeI+=a1TM-6W&WhtZSH~ zFzO*R5c18QoyiS^rnPHtme|&sd-EP^plJ0obZ1$$r=o3(tT2A8hY5Qgq zLSZ}25dCqI(QeX3m252}8B6bTOtBi88<(oYwLwiWNyQ(A^-=|pI93{9o(M3e0X1OA zQF1U}TAUgU7y?Gep(wq@JunR@2)GABlmsyP>q3;+a4``}*$m&*1CCqTG=jIu0_k{@ zKKg6cOe6`8MNYzUu7z_uyGh)~M2SD8me{(@ z59kA+@yv%1;EcwuZs+?>t^jLx168{QP5j*~k9DktFK2fOSfzCVI$71033rN4*Is=q zk-V2-1A!KKEzo%GPBJ-?Q&E;FM})cw$X9!cER4r9y_l@Px#_mFt$bEBNYksS)2sqJ z-d4z3(GE_s%NXY2y)NzBjKqJB1)wPjsgOtS*?KSlfYyBi8UlU~dI(K`dr?e)Ixp1C z2ZeBA0-P|P|4DFIh4U1FIt9S~FA-725!JPLk($((0h?o_9_k<&&If ziItV1IOD}(9%?2>zvoM9<$FHPpHq5aH+HrnKJGC7vuRokA2F9Bf99sc48O3)0=*0U zcZ{h1_VpmyUvq;t?J!Gp1V9fzJERFv%0*ctn!r716d#=W_Sm$-Un3HIvHD~~?@#~~ zH9q(EZW>`pn6wPl?cr|=@Bd1}hG|Yj~8NQR=(T6 zE_8gf-*~-z)#WfZA8g@>3=ll>Sbk?|^T|K{+cSg3FISW;^g<;(-Wqfj5~p@{r0<{aX}H?M%={nrX}Mtvvg2YP5ZAz{RjGpPx#3j%B`>NXIDkh~`z_s_~a z*g*@D0Z1fbR^s=zO=qngrCB*nz5@d~5Ae~#yksKl#X-zJkXe|bV zioiSBtBhDn%sphJ5H3<1=s^yP>Ka~1>Wjmmh1d$>Sgbh`2*D}Vcf9<;`zo%7teRV& zpl6UluYcG;bBp#3J*TQreRj2r07$^l_L-{>tuwrsS}dk{DxFao-m0q`XY4=$& zicvgd<#lzObaaBtWJ_uEk{-vqzSOb58Wlr_o0gF?YoUgS!mZ0*dC`npD!oo%kj{$y4(_hvtwqj3dU6fP=HoQR-d?a+8t+#H%baE#dZArX8=@}K^n z1F%uUp(7h@{SM(LQ9)serY0n`dO=Ps;o(8+d8PcPUL9%iSVXS#Udmvn%-9Y-#Bu*6* z58j$~B#kg6&I5?g%bs&u}!2rInY{ya&^VO{FU;z?!t zjeY+Xrgi09a_9~5&`KX0)G=nK>jx|>4xX-UKfA7?!s;( zeE5VHUoSi@ZI%@4QW9t{k9-9W{gdOnZ*%BjYWKoAs-S%87COA7B#~oAn+PB<(n2q^ zT?uYH-hO}L@cyLpefP6p8OC~HD%nZ=Y64g}E$m1r3cL3%mPleu^VO7$c#Ssl`I z5936pP7()q{K7&2MpGFBF!qcg0L_1&UT&t1i-KGquAx53m@A0Z_K`52wI*j_r7o5c zZQC>#;*}FKFSJbEj?*)gs(d? znGxwQ>RrZ$F25_{+eys%+|Q$!@U;2;5%Uf2{vDS)Uo^T-^>WIW-pxNbqR#x%()4II zv-|o;s(bhA>D-&&;>cdekgWaf=dEpN)M!!z?>`^*|MeS5Td0r(<%Cj`jvipN3>?_< z7DKUtw!vQ7C`CSB#t;^i7|0jY!-i5-n%BWtz@Xkv8T~K#2}t@gISgB8Yjw)Cd!D4+ zn#kvpElG-X94OaKEH;r|A(C^r$Dq2fSEN@!Mu8kq7ZmnTCDqRezaV%XYH5NJR0#Et z{-HT-kIsCTS@C6WM;)i8AJ14@MU)-Xn`M^F}0TPm5>EZHc^Nm=&`eO(KA zTx`=(H5X+Oz(Mb7Qm1C!alJqLqk8{Brt#KpSMj;Z%18u%phqstPZf>X-uyKq#d~$i zs;`TP-K`(Eh;%^W5wc~2(gnKtzvYVid~x7^t&r7(e^#hKw=|dsj8?9UI19-JVf(0b znZqY$;M5340M%nn(s#J(m`uJ0Z2mVn;@2~Uqs4ZJyjQ(H>qqyusji&!lsx%nDCV_2 zsKGU)#utxr#p>T7RAs9TnNN--RTt$2vjDU2VN3_AE`RfG@8K?r8tF;Fw!)3+pwIc6bhtA%9ZxJ{AMPlD#`L;Y)2YX_Q zp#qq@lbxrxy)0es{hLl2pxKGT#w#$)Agn$HbstFXVMPH19Jfp{;>5%%ka|iK7^Hj# zK{Er89xc~z9^btrEQ1&YtLrt9Ht+4oCaL+QdC7;L@3&%pzsw{V!;N}=A2&5|AC7WS zd$!{_)XpPh+Pq4Ka}{&=kN4E_yqHL8<|T&5O0Z@>nybh%6n`}rtok-k#Dyb zD!N1_KQ@HqQ!|WUjK&fmCKt<8I-n*VGl>E!V*bsJLo?|w5nzl%p$e&XB3 zhs(djvo7$xRHC^8#=PZ@_0aieNN743@M6o3i$vE`XOo6ph9-A2HWTH9_E0d;g6gm`AeZ{O`Iv zYvbg#oL;zQ{fr$+iysaXo~|TVWczk}$WS&fDPNou)_`h8%_J&>?j@ak@9iXyvvj1W zr44BFA|wJ;Q1y#DcPuGbIu$)Zna*tI=<_lWcv!Qko%y;1@zEmr7eX|IHSPXpZ4UJI zg3Fo&XO%bs6>(b@6e*}5f)N!J5mhn9@}jH&eSKy)R*9#t$1iv8i*`|p5}OaT{fVQY zSEodK+D-{pFg9i-NsorO9zCF67SztFy59L(n9G2Q&)qi`_`P%pyc>xwrt{JKKa$SE zp~?2|;-kApca70CLQ=`W=olR`*yy38g2+R|fFX&i87-HyJ&&@)1H)lMMXbv`PDA9ylL0{8?199%u0ewqJiCyqKYh!;0^EH?kCTk~qwJ>UmR_ZPrziN&-WKu1lM#1q3v z8{_7tG3Q=sXehUikcXxyEnmnL-K8Wlsa>DVq%;8mQvXdko#cMMA<|7Z`DlA1D|x*M`V>qxKnDKOGI@%6gWaTRG+HbHPnQf=_?p1T#3RFM&6vdWX7 zw1rnlP910`8%Bcl{^S2kG#hQmNL!Q$eEuSzt&steD43j z85SyHYBU5O{`*LA%fQ0OZICbS@M)&5040aE`~fX{(u@co4M?08#!eSX%hU}7s2)`5>DUh;VR9jXMkjTJOEXJ^pH%sdqVt!Zn=QpeU`gD!O&3WL-k2>u`KC=oH5v=)wt-793sXxzqSaYdag0vp8Z0lu zlEnRLC8Cfd#t|n^69Er~OlGD&e-NSx1$Zw4j$Td$;Tfmi%E>LED>+FJd%48vq+EKi9FoTGC?!|;D(&W@dCC)m{0cu7_4}7{J{|Du>dz)!;FTw) z27N=IV9{Wc%ISb3c9bhH1Hjl3<7}9oMSq+ACClFj7*3GKL`RNjw9R6N&fXvuBpK3m zB$Os7)g1RYdm1Sz!z#y!0L6?~y z-NL~po?CO=r_`f<$pR$WkakM@4W%G??~Txi!f!-J17Cp9pB;2mZ^9w)!{OyeD+47| zq|YwAL-Qyx0V9ZA>hR?Yiq0UZLFxfMPW@|^LFGI>!%n1edx94bW+d8(J7SFms6+!z zNSCrly_HM=0BzZ=%N-ygWfYi4t~z?2Zxa`AC`@iutFq49gwrNZFM2EBhGos7ZOf+Dd{ zF%#CM$`!#DWeUT^*X=XMg%z2e+0)azYR`Ss{6-FD=bPl7xCEsyriKdFsm0b8Cy{56 zZ%;g-HCuaVt|CD8bs__x-?pOQ`*PYFxj-4uK}AD*J$te*mrOett;;M0i%EM)n$o3g zNZoCqfxa-fZ8}GF`;G3sgY5%ks_I-+MD;%Q1^H}ilNFlraBH$AUKZ!LGh^rC<9)N4XU89D7^_K#T1C1Rd2yjCHF4t7%$( zzhv@|fEcj^4d*@+mLgFon*6SYS6^H-A^|wh)y$iDoVdT=%z zBGkIyH~^Emhmtf4>HE4#QEor`W)1R(OR`9PtS1*Xv;H6d-=h<*LPpf1AYaARUCCHS5XrGjooJ7D3A#o2(Q<{P|!6tV%^eY2lo)3DyJG;2e zR^!-g`!~Nqo)lm{ir9oSNJ*gr`x**iz=LP)Bimck2pG*py`ta3zOf+R*U0T}Ni)vs z=17f~N)Wr0dWo{<=9#s~5HCAQMEM0JL5-d>tRPrU z8KA4vkGZA0e`1(v%VYic>`SKr(VCM$043EDwoCPL2|=!!I0Wd425iK-6Xgrt$kB47 zHQT3urHLiW7SdB92a#z?rWs0%I_PpxE0h^V zk-uxAXvfy(s*9@Q1P}-)vD|@;_-h}$Ld^$m&M;Z$44pV>VlwxUSS|g+w{skn$Bf+6 z`ga4FSb&2Bs_rQ*p>hSO#Dl;gg5YEQjW_%mslL`_YR_Js zV~w)#4rw2a`t7hPHS4wuIBU@78zhqRfo__6K0 z%(u}uQKe5hI)J*Wn|Hdvfl0I7Q?_444S1~p05Ur<66TZ_Hs6k`_AEGbh`7RX^9S|# zOpLYX2jPGj;#=E9l_ITJD<4U`gz1*qDJ9J_X$g@hio>AV4!qZUzn!eDserqv-*a)_ za|}m|fv_symb6sz>zBa0|KtAzz*-+Vved}qHYn2#^Q(ihyR6X2$}JE#sO{E`)5{gJ zBF{>UzfI-+0yqX}tSAb4zfY4qM2URYKOTGZ%XG!t+`C+5DJj^)aRvK}W%|m9kn=+A z#ZmGjI8ev^5$vNfStf}lwd|7HGnOVO-^}qJ1Au+}*MrXKi-!D|YCCIfy^Z37RkRHE7mj zoWS=cYmE5|EhcilPSiBq(;mlTK(x}Y$&_OZsLDoY2hIG$nR~FLNp9;_Ixt#Bya=X< zPZ0p%Z`R`Vu`z-@5dr~%+&WFg5z%fc`M_w)fAqB}Wm3n9OS|1X0ViL5#g&H5#PtlB zNOzEYz*(50o|VJZ;|a%RO6p9O{cq=kWxjj_WMb5%DX&M(mkzJo&Jz!#s7KNjXPpB& zjg#q(YJcu~I6U~+-*M{L62n;{=U4sdc^>|~>X@Ua(`Jpv9JtFT(g|4iI?hF?zeC{JMB<*D#*+XmLrYGa7q)6~O&Ri}zVsrERjfACA43_u}PC2)=P z8kR#%3;=VHWUg4U(hgGqO1a$JC_QA_{Ri!(_(7lh_SvcW z+(Xs>=Kl#sza@CYct+8^i9X*U5S+}$G)rgJvXC;}TShe^8aOSEe|g`pFt2+1pF_9P zwe1NPwoGArND+bGv(OwP5F0!n`}cLXMkf^9xc#c|>B?teLCv?Du~(4oJcI7p?5@ZK`*OtiJ>K zJSm1Y{`~r`h`g~Yg@J#%N6fJ9$5Alh>sRKC&0o9@|HAi}zMsw1cz&79ALH>Y_7o@k zOP2r+F8=*X{;1Q2iCBrfsyg@0SXMNQRn$*@A7Whu>*%AeUv7WoBDMIZ_sy@bQuM@Us9;^H0_sv=w zhOc~7-_?EiLKauBrT#$SRO0!_sk+YearR=Qj*R>1f;ZoI^^X?UJdnUXa$P9$r8}d* z=6=6-&&kcvUzVcF=VIXiEpx_#NdafE7sYdq%L=dM>uX&&Aj6%H2dgMQ zRAc>q?`WQLROOXh@!B42ZCu;B+E&QtN{dwFJe>MS^HVC!@pst)?SzM zHkN~vgNYL3Nmxx6g1#i{+LEWeGzJ8HppsZ_P|Q~REdK;7*>p!0TH4Jcq;0x#*FBX# z;PS1pQ~cg2{Hs>^^uSTy{g&9@!WIJ#I;j07wQRJ{_azq`nZhs^0p<2T{X@A@9I7*o zQ5+nTnGkw#JO6i=$jw^ish8ABC&xLz;zj;+TpK%beX(_sKpnA(n;`KlL^UUU1=E!N7GXBrqr{QhBsq%b0 z75yF+Vf(#~_<5&dyZs}}8_qm6e@OQ4J|(^!hG`p%2&YAh z;U;^C^(_N}!lWQ4_M3_B$jcpZF82Tcp;o zu4f%Bzg#}3mLLAqzAcSLYj%M0j2ACKzo1-?RX>(wuC zcJ(?@FMtvrq4#&hsPR)=l|P0ojnPHLg6EaUth}+-2HE*-dU5B{wZv%q?AvH>abk=^ zJ(mmBu;Mn%-InQf8Jaqifg4#F^q$a|`~D5j8*%6NDs$f;o0nC#?>3!q#pm}N5>-=b z;Y)>iuT77k>}hb&GZE73F0$QZ#y(_2*zm%OU<9Wko#F46GGZYI!ao^jPLrTb>J;(Q zN)HZnmW9o^889eWL~+!oMpo!CtS7Uww({JU+jQlpLv>i7JAGy#E#bpgXE>J}t)zV1 zd&LO^Cn+1=sUv<>t5+eVTWmv0$zV3K8hD$N-FdQ%K;w;6GZqrOxKqNFa?<$b6v$iN zMpXEQKe&HZS=2dZrVFfLNvlk#*$cPC3tzaO{>T3r=5`Y57&n^e5a?^6!9H-iKP#lt zp%N)eJv)<~U``f%n-A>!BsJ*Y_XX-`pduCoJ|cjQ-ozGOE=ipbC%oaa3Cu01wo{I> z-H^7{13lB~)c06e&{5h=vOF1E*{7&GO__)_Vo@+eDFJrZaL|w9kM~|jbIY>$1`{)Ek`(4 z?+^Z}o4hsC(+bBK{THlMd;@ZoZ$&8V72}xQni>P=vfou2mFhzDMFbyBZxTbS>`p8K zWDkL&i1>B1e)g(sOyJJSt*t=wON)#5$*I1dM6Xdk%dKv&i$++8n~RYw7L804(dy<| z2BKKpkT&wybmeNAq74M0KCdR_$VdaXiC8IhkS?&{g+8~b&|mZ>gjklB+==CP+mvDd zQdai-V%mPg(o003F`D=RO+x9n8tn@YX}ld66oANK{OPLuEyYh>3}UQCN61hB@pdgZ zx4)IbF?L_Bjej1_J}5m&ZBy<=!c*&OJ^8fgb3Yz%llf91?1^4v5c3U4KD!qnVO($| zx%Wm(G!YL3ktYa%gH*?>q@%>(;X1r3pSxt#hSX7u67YC_UI#aUOr5cbT<5FI)%Jl6 zfRBuGkTQ)(Zm+wKpZG6_{4M!TbEBT;vWC~o#yaY1DD#;xG+5Le$J0u!qN;$Ze%d_3IYm65YVSVH z67l6|P_Rf|5WfJV&Ni}>TO06;j)+Gcz*h7|-8LKOD2g^Iv90}Ze64Mu=ckPg&6>Os zJB>f8WK(8CJaGm8@qY}+c@{cs+^DG4Vpa=9gHx=<-!L_Uf{kX>b|%}vjB5o3N@?#) zZkVTBCPrl%Jt5nFq2P=g)Wp@DmME?>q|_Tba>Ju(7Cv;tn|PPE^@Hx7m9%9|NT?&Q zni1qQ|3HlX`}HHqw*eDS$7Td{(?XbEz$Go^XjD(JrF0z}$%tr5W6mb{mT3HXDYfTU z-)}nx`PXsllh0Fy6L!gXfkK6z7pxzb9tB9rDMJ0Do$ z`!U7`o#mo9?!`NDSen|YJD-(Z@Opu^z{tH3W8f0RQvr3p`wSI zzxaN*xbZEh>rf%O3SZb|AoH?fzV}M1KiJ0emBmI*TW-)6b5*Lz1Vyj(1Kwx%P*T3_ zx|?jFW`)^CABOcwE)T-?O>|+EUB?cp%(Ol+l2$B!jH`H?Q)+ySFeKdV0yC4ICDuOS zTo;6dT3LB5hbv%W3YuxDXdFq7?1YhlayqbOWC2Nw@#oI+wwNIYg022#W*w0z3)z|| zHFds@TsD9;9lUk-%gIRY&Z$3=gcd-|GD|+%~9Z*y|+5zG0V1=g!Jr!FR?ekZ{mbuDj zdht72tt!=yIot(tl7k9iYD}`JO8SOC7iJ?+2rnXkcp~rFKQ++ogeM*F!v|f zSd-0h;JcyPY6eu-WE=z9vDptTpT?2yE|tf8tZ<9xXw`nrSRTE9&Y5c=%rPRxIKW@C ziUUp~mk#-(Qz!uRapN+?sD49;hoXrYn8;SM)53^&X1!+lUsb08RnJ_dF#LlDq3hcc ziI&18u}!eDRI5oC_e=Lqt49NGr^72UrgbN&iqZ=W`fohvGE5IPT+PA!Q0+S=)pF=ET%cXnG9cK;^s7wf*u@&xG&J2x# zX*SL0G@RTwSXyG|?8edk?$fMq-!yW(a8E5XIpndU#+y5(WIFO^H|p3ZNVto^f*x*e z)d`05yy=P?gCv0H89I3iHp`)pi3hodfv=|RQMsCV9_$^(%*5ak z(7KBKsFc_?K^z}6_h{d!-v9IFMivBO`RyuPR&oEcmEwf^e8ccugKVp>)Sr0R`RjWk z%kD_cY1K7z(e;2*_xHxC!&$;b&&5%=l>!k=c7(+=)s|o7F?ZECYVj30A!DJ`g7yzt9&ztwaAhMF=Ek(pX5_H3+d@Y z6J>%?4sF{vw1Dccd|~zQcGJR*uyB`JC$lRViZ|J|8}I2_lX76p>60`KlEc1v3Fd)^ zMRSKO9Xw-#nJD_Virbo9RELcpEAV;B=gq(FybM-pMm0)A_!-r)fQAiMv^Mo8M<xYQ<*cK-I*Wg*ztxwzzw^p+vcum$C&6jY z@`rR)-F@G#Ek`=nljoHfa6<3(Se5d68kdU2<}5gg)s-A)_CPea>P|kUB=6L1u+?vIsUl-IYd&eQKX!P4|e3jt>mcDS($yXxEoS*{abhHc5gR zByo*><1!Vu7AESuLr~hRTDok?s|Zu$_kC6tX#rH?|MC9`lk+uXi1}9kbj(dC`}tV0 zF)fkLe3wX>yDdbvi7ZI_IqA3hEHt=?2xu>5Z>8~zDZ|t{c8#jK1JlAOid$F5njaT; z=88|B^{P}Kb2!JSwnWg(ycI#exZ~%;FJ;(BArW_o-kB9@?R#*pbPLcY^z!n)K=PrRP4bL_5699 zXB_$HH6__%tHqnq#6$t@(L|s3$2Pis zzRS5?6-Y6~$81i-WSg)k>TS<{{d8o1vL=7phzi>6U7=$rGLVrL{Nmb=uWj)Jr4F{6 zfZZKf*zaZZ&zyC!QmrHiiQ}rH4J2x+n42WHKLr*4P|G-x9YGb zu5Cs?M*BZdEV4+GFsL2b?|$+5q{B;3u%6Zyu6?3TAtSTE_7G22o#qgz{$aXtK<;ti z7$tH2@appnjmPOOhFx{|u}*!urg;`2#2`(^WXsX21rg2tIHi{5@5fI@H%_cv@RWI- z`jn$UPnfVyvKpIwY>)=^GiFwa50|q*NpiSmOKc}$W+74G$NkiM?u}lY_xO1V&EwVH zGqn*CDuP*xm@m`SCw3Q=r%$pr?b0kkeURF6CbDxVA>Sq zXf21kbHctW<-)>_&3>uAN~rTGcOg}iQX58I4_~-EYT$Bx9Dxfz%2gBu%Lxs$^{=%_ zwK!(;`57N0AIL!dF)k>W=2b}Ae_X_WM>zu!UVUHGl`he7HzifO+06m8XGyB{fGJLi z7+2^+dhTF$FHvp!>3E*>di7bcu$6;llPs}5JbWU1I7EPkSM-M#a&_Wiiw^d;qGs4UC0GP~K?-2K;n;rw2P_wdB zDQz!VSQ*R1m;Y%$8M_JnEP4?(o!^(s|5`L{-QvAW-wEz-0pRP7REI%aZNf7a@eP0UAv7Kp!CTY^Cl?E1Ia!?s2~ zN=n0T;PzhZ`ZK5D@vmJu&kh4;=T~d`AKnLMmSd#w9Qv^>KVcr0Qg(&~y4=E$MGuP+ zmro^}$vtS*MD84~2D?DBtIw%bo>#Nr<g0898DgKU5Y1)8K%KKxhc`p8(I@?C2Jc4cCI-%7$f<#d~B(fxfzI$ ztTm!c1_;iGO3@6$yV6Wxby0FVt3-5fLz7}&;u;ROZB_Aj)XCr#vlDZ+c<-OO2z_Je z!2j+4Jf+K-57TB&^xPrHbc^^;zGN3!A~o}oNO_~SgQ*Z%UsK<6VUb*HxWga5=GB!| z1p}FyPMlC2QinOGK-s|x^?ZhnEp<72YvUZkoA359;zX7HSDZG)l#`s_seuEgVm6(x zGiitHt`EK-8T8nyT${)?2Q%Md|MG%?-JCNn5BUL;RFm*j5d~J-Sfx%z_GBU9?;n@y4#Ni zwU2XQ+6M>M7Wz?Vs})caDGNo6BE9dM$`~$h@z$7Dub}}HT%fa&uDxS8_1$61Goqb8 z))GXCT7pjbZ8#gfd7$E{sIlmUeDNt77@rV3e8L-z78E<#IVxDPILY{W{p!8-FEOaX ztV@YiCwn|!hn)=xcp@+|^y;86RI&14W1@q7n}KiIVIc)OZeAmpm3lXv*XMS3gsCc% zaGH~j`PmIMQwFXvQE?TStNgsoC1hT4)DRx5)9uJoj%Km!0aPI>v%sQIhmJhG1!@Hs zC_t@CB43&k;s~I16=YgbJIDj=PifRETo8+y=EpUWbs2jx(st(PzNF2`%d&Vp6l+t0 zC3w3Ta%<5}WREqbjY9k!YaweB@ZY7|70*onY(1+TPOG&l$Gw3zx0=*hh_lEghDeUl z^#&GtUck{_(ngu%TOd4VYrqRt^V*Ky$;e!IlR!Z^DhFg4iuJ9LPvlz99-gd)#??<5 zM%2vmXbX$3vg-)L3BA}!NC6MpDu`E@5$kTGS_!XUI!%xe%%m69B6`k7aAOgWI20xp z?TIIpLsuSO(Cw~>#P8wdqDY4aOJP?Ey-|GRe8#%*KK}x>V)G19G(Bye?P;nyuRh%*(jrZu2$%Q zxRo928nNhC@bFS^DW+QFI6D=l(nJNNRji=Vg!tUiv+#c!Bqm}%OsAbX#h6l16j>T& z3%_ASm*g@krV$hamiN2GDbJh1I+gK$a_M?{#FqAr>lsj=N}vq^>;%21WY-$O)>|)i z?3Bu3wrS9m#3n>j@=Bd^+0mH4Pu%F_E>n^mI-Fziw=gp#)F#x2YXK%KigKOIcG^^hizNWwW%Ozd90@}^V zR#CA8;$5o~6eUP0zs5~g4v*8r4=uCLXBv9n_UB&*0we_h11EY7@1H3wPU)0;QWq@J zRyvj1X5<|WRI*dJeD2r6v9Tel+3cU@6se((K&HL~PyiQB+-bo{u6DX1U^FWMelbfM z)+Ybf*Yh+IxGMi^Ki8nj#;A=#l>7W{kOPY_RWqSp0;XbC|43!5>R-mr)tr)4{ry-Eyil8U#Y7b>3eJLeOQWmvzfzE;M%B*hDh%gfl!+i6kQA5s{j5eZN zpWTnvi8|)I_kCX$%fug0`_QqE+R2HAfauHv>xhH%W?=qVat_F>G}Hd+_)`HMWb~JC z1*Eu?t~~XqwH{VnAl7QwhPqm-eXYOUNktG^EPv%+xqK%I5#gR+O?7*YuD@HR+&_nF zOIx&QQTtktW+G|H!4Y##;6-=-(?4g}9Pcpg%tDw}yV(TThboA@XM@<_T!i>sT|nd#++0%4 zP_nSAEMXvCP6Ai2msFOLoSm`ov|GR%I^x6~;m=}MDx!sF-HZ9dGxS^uYrq9f6h;?H zEF&@A^@b1E*O`ERrV7a!SzHq3Oy^n?*&}qI===oK3Q>?GKUl**A(!3}WMBuj^W_AP zof8khSC@g#v0qj7?^G*>eC?C*n*77^6ub=)vbs(9UZ|kNx)1O4y+G%N+Mmv8!>?*fWphD58 zPC|SvjOt7AW5w%)T{vibR%S9MFd*7aalSvn8$k-*z5*{z@=n}&_Bv@FW1Sh7s#h^N zQ%7nMm}x}kc2zzzD&~M}Vigr9w$V2XX$Np9R^6nGi6IRSxctQgX zWRyyCt4`Vw8+Hdn#3@AWP@U~VrAG3VS2TqH;}UN**4UN%m9Qw~x}Ge+?~Y6+%ghz$ z?E5Pe=j=LHMv`E-y#!=%C$ju6z-_g3d~?Jcpl;^9kRiu`AqHgOu|ec z%Sy+E?g&*%|Ahpf@u!&#d_EibzlVK2eW4i1Frq4j&X6ycG#d3G!u5c`pc?M1I$-4FP{u zVtQxA)jof>%ho~Ndr8(UbAjD+QR{0rGx!P}W-nq2vLR=+pD1k&@vmB1NiFbSSUK!f z6~iwQ(*X0?+}c+ROjoL(>X9MaZ;>aL`u6G}$%@g9sI%PdpL6@m#gW!UA$1YPw()J? z({)gVs@RMDX;rY=F(H|bSI7($;EOlrYBwr!XUvjoKc-Gz10jlFVq#hHt{gqTHDV+x zXb`GQChaPxI_cs)wVj5Q84`6}3Y_)mN44pCKHk={bwZL{-6SkaBEe}Id>Ix$G<1Kg#uROg(m7q)vy_ck2 zXOlRS-(=O;LLg0R;x+Ob^VpXlcujVCLxtCMr1Ht}yBs7hOEg0mDUxh;=7m4=E8gS-> zbQ4t7{!1I@z(iDoKhr*QN#XB|vq~4uF_90-%n6m3Vi^Yi^M5X|t2DR#a~m^`HRlui zNIhnIxE5mTNA3AOI8>z26nTiVZ0O^z&JFaIfdma$a&dz#*^FcUU+|UwQ}z_qvRbz zY}qPZeI4d^qX`Dnnr$;SK|dDH=wMB;VLx7pV8XMICL1iVRxD%y>>i%xP`sJ;Z=d`X zW3g{id?g`Jtw(-HtnU9!`Ir^_ChhU78R*@oEg@#}rMCQ#Z}9DMm~B?Za&DJ6k2dpt zmg+Uk5lkesM$9qlfxgO=l}F@xL|94q4eLonvr^y})JG>TVWIHu5y+@`^`fT$?qRm0 zgIYLLA10J)=@47BVWk{;R$u6t0LbB7CF9U4J%d@d#_13C5E}WGYJqORlf7Al0-MCjN3o6IE&F%2?A3tN1Yi) z$BPZ`$2UhD73%Q~>;0L^h?MjJ}C!`QJ22J`oM4HMgNS(s8dARnTy`H3wD>cYhSc#8C^Ra24K&tJfusVS6S-LGp zfeEFhhO!Bz3YrW3%umc%OhVMBNy|2!Gd@4|NAeGrp1XcM-dmJU^3lBps*|b}`a=3I z=8`S-FROGm@4hV#2)5Eqt>0X{`Zdynyhl!^ydlN;Skk}RG;M@7RSMYs%mrk=D$Ss-zXivAdLP;5Ci-3LH? z4n1IAy~F6-)}GvbHk>=;q2*8#z{y~lJc)FVwa0`&3`|)-Ze{A2>CQIMvrPNf9B#!< z&AG46s^`Y~e1ARfc{(xvwGwi}+OuS=Ci#-1G54#Dv#W8h415F9ylm6k2}vkY3c-J@ z)ubpxh%9W<1_yg@n|~5^q8<(ik+43uqQ^grU-S<)&TfYy;aF9*1p$mqc?nZl%9rcM zTSu5#V0TebQ7h?vbSa>BwaF;!bCrng#9E&C49m$Bl-S~z5^d1#{3o3ZHkUpYv6z;G zL(3a5lrCixDPf|6G6_9Y>Xq~~fv>zZjbDvdQi`k|Q^wC7xlq30Hnxjh2=Si*d!VHB z(m9HUcvWrQ{StYc>txhC|4)`-ee#N1&IH8JeqAwKN3q^UAk0Y7fJ)3dmw_2kD}g0J zvBD8kvMf+2Xgy&z}hTEt|<5kAk?}=YKaM z74DYaC+#HtIZ%9=gD*C?3?G~Cidz3swpE_K=l{5(Fnp`*TA>OYLmh7E2u097pMPG< zC{?s>&^sbVU%OOdK!4ZE*4-p!R}!UCs-FCmK|n8`Kq^rt{Ar^b%T(qlcw|PqAhw_j z+V@`gkN;0}D;}Xk%wXe|&gKarKPoE@!4-hCysXhmZz-%oWMR!rDobC)Aa=MQsVLft zPe)(nwmt<;tLEHdK4%OFPGr0PvZmD)&*A&v;3qr zEy^luAa%17^Z7Qk4yH&W~ zJQ}rqqH5i<7U<_4nz^r95CL<3H`xuEIYGIMw56`KeKHO}&IroA!1IW!AlPr?EnVo% zJK}8)*>W*Fp8owTuz3%-JldGVyJoaW znp*+m%xe|_ZPhY(FDTe;&O_oYm_9w+cey|#^BEUo{sF6=*2s^MY&}5?@OEURs4Lb+ zPf$Z~?#D;15B6!L&o$g#reolT+CN;2xXJ@3sXUp@ zrPMw>iE^E1(xNO;;INeT>Lu6K@6#DKQ&-l8-kt64=Nk!AE-}_ka+rvJLw^i=@gTD! zqMj$ecYRoDq&jlZ(X1OP=^ZuPMyf_)SB@AvGGn9&x&{tUwqic8aZ+`0u6VIaEQNV6 zFe&aW#0<08y0oDBjDOli`#_89zr+S%5)}b;KrWdr&63y_JF3(!vNSJQGXw7}CB z)T|#`!_f+wZix-65c|y98y+Th?P`!=yfLZN%B%qEm1s}^QC0lM|7W_Dm0SHIYdqf{ zFabbGMX~9x5SwtyQZM%YH~)`yUZqOU@`;U<4if~7X3GysTdVWcq7y{1k_T)HA`ASu$27;1gDpb#qL^}cMqR-7K%>$VEx#Q2nir+-3;-p()gZ4o}0o=AK^Jkoj^Nh zY2T3`(%%Iz@{8ObU5Fnttkf3V6}`_DJtMO;atHF2p8#h3&hYa`mSAqAZB8;lDrPF^ zS$x^C3yroAQ>w{&j`SPJFOx!*l#V}mBHfJ|97twM5o)7)J~K<}DklUeE%V3=Aha=K znr)&g3=?mVffG!@@u~^anIPpxvt1uVaJL%PO2Nf!d-D+XSB>Tt(UYD_I%3vI(H8mh zwB>iWs-jOee1s-)rj|{C0#E#3Z21`Ab+-{hu4w_k4JNkS~W7N*S%4VXWfU; zP1e%;*t_rnN&fA__5QOI1Ry@-|L1>>P3T}Mx$&3Q^n5ntWV3z8`oFXy&xVhBcgWH} za^JcQDfEUzx&5m*M&#rI4->d36VuC)-a5SZO-!Qo?^)G_m`Wml7TxUY)M09iqFlgI zZrw{C=R^bx8tTUqQ2Q4LiGDZak25*XD`QV>t2-zN?2F*P{RaYlOtdQdY~{-<l}hDQ!&+>aj?) z;vsBbK{3bLi$hLVuRX9*yz?s5@osoQS;};meLW52Vb8ce(a$_Y5Px*I+%UjvLuLN) zvJkV6eKUe{T&R0Wr_C_=J6Fs_kGpd1vCwHd?cm)sVCirb_9S^3G!zspARG_QaHD!N zr!a1*pVJTkisrniClX>(YcrWcqg!u1;B)iR2e?^)u8i_1ru_qaW`2N2_NTEuid*z# zG5Z&!$@}qAKmt&fOqdD&{E=hYOs=q2_6r=rY>~au6qG5cY*8y!p31LHHk!l$5h$;) zK$fXZ$(P5gE9=b00e3&79t~w`2e@TrO_7<*Dw3_^8}u(Nakl{}7%`JE3F8HENQ0N4 zFoMaVERl&eyTA-A#KXZwM4{`pGK+#r0f?L(S&I4kq7qjcTA`9&K&@AE#l-+AnLkxP6~0E6guS`V4kvyQd9&YOx@D-{>D*GZww+14mR5b}yxZrQ4) zxI^=)?e1;_-b8ev6Z#=iW%+g1%|eorAqEUaS>C}erhd+lpk3uDk>(D z(e79-cjb!-9jnobQ9a*eE2-y$(_)nVmcs6j^2F|E!-!AS3?CMmBsp>)lzvrNR7z{U z-EknzMTWC4URvP<5WmO39`t_We*EbG3aOEO3(rBe^_tWP_;JL&Ep0)3(n~Y+OQ{jd zD`@hd+25Uss9*c1KBTp6{9S1Mb&-R=rhZHNKgVptFWGm(=@i~aId__&kIZ6{u%MEWtn+8%yLI)9iImuDY*?JSqpaV)&w;5cHE=jUkUtcLMm37pcL z&Ux|qym{cC;BfW(A1~m^&vo-3kg=UPE&N8ew`w@oUAzBExwp1D>qFwttM~B4zNB?n zZ7V$^Bb`37cxv7Dc&Sxz;B{jo0razdHg-6{(goMkPepBnzmrUtV=QUTwQAk-bm}|2 zSx&8fDWbo`I$ugwTurvg@mr&&u&lDW82_y=p!E~&FR*WhUsYfU7xlAGyRWMPleb!&=2)&stYG~@C}Uxaz=~zSnMS-y}AoJRscYXU5gR>1y{h{y+YI(yh{lYB7_0 z5PIe&h)`$L?BW~5rkq&f!#)96O{Lo>--9b#cWgz%?|@^EKZum>nPMl8#8%1!9_7BB z?nqpE#Q(K-o!@LYTsTyf)DN+$W{ucVYLvFrh!G7nlG317tOTv7*8B-ot7goQS{19P z8nw5gYD*A=*RE1+jV{%^-uIl}|L}fz@5g(;-TR#9+;g6L?$Zahl+OFK+9HrlDsVHA zJwIiD(J~ylY&>Oewvi|Z(Y@(pZFy3{&kO`zNsX1P80}6>&>TPjp2jDPio@c~&wK{4}&amsLL5z7_1FVBeDwtQN`*~GBh7Axv%M3B6j7eGzqo}&PsW} znec8E5I=HKYOLX8;gjg-vP&Fkoig~KtV>(II$yI2*BMa_en`6O9lSGWce`li_n8UG z@Yf!kZqTu9%7>|Fs*ut`OIY9VLbpBOJ9a$k3#aa&4gKv zLLL=din1Tyl76IYHHJHB`)TbG8tk;ATxdsheNP-Xmg+5GZjyP=k%g^HDmV9C<`@FA zkYU}Cvo$5`PlZ01&-X$ks2q@=Xe)&;&9bUt`Z8@_4|%HP>eDYp36nNlrRi}z3>!rzRYae z$p!0hA@E`d+VV|_k0=lKnT0H@dUpX!3ms0B?^{FR?a={JX`mmz>stn)Uy{eHpKhEy zcS5cIdcIq24Ei*BdEXd@elD}gtuwZ?;BRAVt`a2sO-dWg-_R&M;ilaCAkpHIcfbba zojpfOF`3{i;#H}71YiLG&K%w5a8}iNIx@q2sTm{}9k(gU6mxmxZ#bd`sG!*=#mmil zX^SRCwVQ(vT7z{{64FjYt2uh+mog}i=F|$E@n^ME!cVd$f83vWk_y)Ys7^eK$(_(|UmFCub-nECVvzfT z#T$F@T7G$7kqu3s%DMfq<>3yCzN6L#$PK@PhCesp-^6TW_dcGW-;H$TGQaZ?G%nlt zM&?BXEhMO%1%@o-wXfIlyG1tlp%wzn6~Bb+Lf!XCwY@Lv-6K7$S~jV3ep8FY=**tH zV2Xc>Iu@>Q(bbG~@m}DOJlcY{Zt@@hLB=xJnC=kQ7e+#)?$-`DmQ{lg*Z(R0krj-x z+LI=YG``kVa#XxfbHCmT4>)BQK`4K&LqE~sBC}p`EeoGwRJ4kJmaAz)YE1$staqg) z8ov%)kqVi*3R0WLR~HuN>Y!C#1VJ0!u3>%t7F2~Y7jlZ(jwwmAQSzR^1x{_3+yU(1 zkGb!0d61W$r~^c*1lm;ZR9Lbge4N{z#oT%F*|ca5x9$z+b(AD%7>XJ}#yl7^6^fA; z4c#Lbx78-)jZcT2q{ESWt>62NTIrzhgzt6LLri3vKfwKBF2;M17--7WwC zx?dO1j;aMfensi4bG37PGz<;0xk!FbQ~XUf5AQIUaWTZiP-(1I@#PrJIqrm{zQpOa zByC1k4+oinve*rd)c!o|+?lY{kxnJt^0^V=;Ut@C=nJVgeVkvFw`uo!nN6p}KkshSmh-psbN+aiZTV`aFFTSMoo)1)-`mMa z`oZ&XjXfvD+?pd|Ta9CRuK%nP>Oehf9D!133@pRULZ;i1U&Jfpjn@1T*=`gbz7 z`wIcF>V=@_>hrX>O?$524;re(0&B$N@>gbK`=zAS${B}njiL1K~GqT(DR_XKar^IA(yaz zzKbwW-0ZyJRA-c~?(W+nqQ(7OR1NjpR1IEh50v$s^KydRi8LXoFcf zZ$fxG+%m8Q%!v$wutNrCcdNv42P>%ZyPjFQ?dizYw5a3R&tbxuD<=w)$38xxhtpvV zu6~-+CYRwfJ;9j8C2n@^S2K9)Kn~M7V36NDV%FdFz(Y|ilgln&oqCVtZ{E_4w)yxU z{6{@I(hTe@_lPJg+Z*iW7(e6-pZ~=~{?m(Y6W0UP51naL)p1A4^JiQYttC%9$wZZ! zbXzG^q|%#I>!eZ+s}hbvgNF^~?(n7{UQPFf^WYIVsn5J!4Rg4o4ZxF~&-JT(xnsJB ztZn`Ex>2PwulG+#^u&}U+OhP+=reeg?#Ydmk#VxH{pVQ5&5?32kbcbO82(*opPEua zE-;SK@@5&~8<)nY_`EiK;g!WJ7dKC>4TI%Ms5f&A1q&9A^5-SL-8{;^Fftd(`B-*` ztV;!&!s7=r^_ASf!%b2l=hbG}DvexLfI%4RccVMR8A`sMNSw7m?9DsR%QP1F6{rsJ z{jP-@%1>!RD=l=w06XX~;c)}rl%rU%a)+cL3~r#rzQ#Mr9eC(q7gG%NT(h%T+9XV{NrOa?hnBMhI=YRsM++ zHTWA784Z-;FEOUF66u2kAXR|#{m|KU;aow;ltfQFhWXOwRfS}BX1BBC)N()^)C0!E zTzHm@}O$IlJOT3iF{Bf ziA3*S4f)QML#*om*5x}C(A3&rNh`Qd+u4-yoGj3FHO%k82MC$id>E}-cp_2aEiq<> z(B@Q6F7;e^32asK9>aC#?7a)Ce3iv5AJ|U4NW6vRM~OL<3ghcvZHFsVfN2Mbm0h+!cSopQC)JD-#1`YV z!a?S}eAwALe|`)UrvwuZ7N?{QJjak=X*6G&f=cqs>6l=2i;@y^)V-u}MrE~T)0*x6PbBoExia!N4S=@} z#$=s*Cr~Zlvh!M12>hivHYHP|@j9aONUorNoaKaK+Vq@^o#>`f7q zme4FVf($>iennl~xkR}tkn(TpsWQpK*B0N zdlpNQ6|a>QbiWZm>JW?hW4+Sd1C4jfNGowplaynu$CuoKuIGm%*2XlD5sYdQk%mWWiFpdM&s>8-;Uy zb4G4ORmb_==ADU+nLO3_T%K}tOa1(;j73_U97`#s2JYj!`gvm>7hT1Ix8i#n$(DAY;t=+8(b{AF&Dr}_a2*Ecs(gQ%*goTBpo@xRuAe*?4cK!*ST From 97a046cbaed00511ba192243b8fb2922d91e17aa Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:04:13 +0300 Subject: [PATCH 080/568] Add package metadata to __init__.py Created src/__init__.py with project docstring, version, and author information for YTSage, a PySide6-based YouTube video downloader. --- src/__init__.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/__init__.py diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..969fd74 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1,8 @@ +""" +YTSage - YouTube Video Downloader + +A modern, user-friendly YouTube video downloader built with PySide6. +""" + +__version__ = "4.7.0" +__author__ = "oop7" From 4fdc815f7067298f6e13fde3c215825dbd74661b Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:04:24 +0300 Subject: [PATCH 081/568] Add package docstring to core __init__.py Introduces a new __init__.py file for the core package with a descriptive docstring outlining its purpose and contents. --- src/core/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/core/__init__.py diff --git a/src/core/__init__.py b/src/core/__init__.py new file mode 100644 index 0000000..66acd43 --- /dev/null +++ b/src/core/__init__.py @@ -0,0 +1,5 @@ +""" +Core functionality modules for YTSage. + +This package contains the core business logic and utility functions. +""" From 8ee436aa146b677c3c1dddf11155f9c86e9e1022 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:05:15 +0300 Subject: [PATCH 082/568] Refactor downloader logging and add new options Replaced print statements with logger calls for improved logging. Added support for sponsorblock categories and chapter embedding. Updated imports to use relative paths and improved command building logic for yt-dlp. --- .../core/ytsage_downloader.py | 109 +++++++++--------- 1 file changed, 57 insertions(+), 52 deletions(-) rename ytsage_downloader.py => src/core/ytsage_downloader.py (88%) diff --git a/ytsage_downloader.py b/src/core/ytsage_downloader.py similarity index 88% rename from ytsage_downloader.py rename to src/core/ytsage_downloader.py index 5cb7c58..a65222c 100644 --- a/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -1,10 +1,11 @@ from PySide6.QtCore import QThread, Signal, QObject, QProcess, QTimer +from .ytsage_logging import logger try: import yt_dlp # Keep yt_dlp import here - only downloader uses it. YT_DLP_AVAILABLE = True except ImportError: YT_DLP_AVAILABLE = False - print("Warning: yt-dlp not available at startup, will be downloaded at runtime") + logger.warning("yt-dlp not available at startup, will be downloaded at runtime") import time import os import re @@ -12,7 +13,7 @@ import subprocess # For direct CLI command execution import shlex # For safely parsing command arguments import sys # Added to get executable path information from pathlib import Path -from ytsage_yt_dlp import get_yt_dlp_path # Import the new yt-dlp path function +from .ytsage_yt_dlp import get_yt_dlp_path # Import the new yt-dlp path function class SignalManager(QObject): update_formats = Signal(list) @@ -27,7 +28,7 @@ class DownloadThread(QThread): file_exists_signal = Signal(str) # New signal for file existence update_details = Signal(str) # New signal for filename, speed, ETA - def __init__(self, url, path, format_id, subtitle_langs=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, resolution='', playlist_items=None, save_description=False, cookie_file=None, rate_limit=None, download_section=None, force_keyframes=False): + def __init__(self, url, path, format_id, subtitle_langs=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, sponsorblock_categories=None, resolution='', playlist_items=None, save_description=False, embed_chapters=False, cookie_file=None, rate_limit=None, download_section=None, force_keyframes=False): super().__init__() self.url = url self.path = path @@ -36,9 +37,11 @@ class DownloadThread(QThread): self.is_playlist = is_playlist self.merge_subs = merge_subs self.enable_sponsorblock = enable_sponsorblock + self.sponsorblock_categories = sponsorblock_categories if sponsorblock_categories else ['sponsor'] self.resolution = resolution self.playlist_items = playlist_items self.save_description = save_description + self.embed_chapters = embed_chapters self.cookie_file = cookie_file self.rate_limit = rate_limit self.download_section = download_section @@ -65,7 +68,7 @@ class DownloadThread(QThread): if os.path.isfile(file_path): os.remove(file_path) except Exception as e: - print(f"Error deleting {filename}: {str(e)}") + logger.error(f"Error deleting {filename}: {str(e)}") except Exception as e: self.error_signal.emit(f"Error cleaning partial files: {str(e)}") @@ -84,11 +87,11 @@ class DownloadThread(QThread): if os.path.isfile(subtitle_file): os.remove(subtitle_file) deleted_count += 1 - print(f"DEBUG: Deleted tracked subtitle file: {os.path.basename(subtitle_file)}") + logger.debug(f"Deleted tracked subtitle file: {os.path.basename(subtitle_file)}") except Exception as e: - print(f"Error deleting subtitle file {subtitle_file}: {str(e)}") + logger.error(f"Error deleting subtitle file {subtitle_file}: {str(e)}") - print(f"DEBUG: Deleted {deleted_count} of {len(self.subtitle_files)} tracked subtitle files") + logger.debug(f"Deleted {deleted_count} of {len(self.subtitle_files)} tracked subtitle files") # Method 2: Find newly created subtitle files by comparing with initial set try: @@ -101,19 +104,17 @@ class DownloadThread(QThread): new_subtitle_files.add(full_path) if new_subtitle_files: - print(f"DEBUG: Found {len(new_subtitle_files)} new subtitle files to delete") + logger.debug(f"Found {len(new_subtitle_files)} new subtitle files to delete") for subtitle_file in new_subtitle_files: try: if os.path.isfile(subtitle_file): os.remove(subtitle_file) deleted_count += 1 - print(f"DEBUG: Deleted new subtitle file: {os.path.basename(subtitle_file)}") + logger.debug(f"Deleted new subtitle file: {os.path.basename(subtitle_file)}") except Exception as e: - print(f"Error deleting new subtitle file {subtitle_file}: {str(e)}") + logger.error(f"Error deleting new subtitle file {subtitle_file}: {str(e)}") except Exception as e: - print(f"Error in finding new subtitle files: {str(e)}") - - # Method 3: As a last resort, use timestamp-based approach for recently created files + logger.error(f"Error in finding new subtitle files: {str(e)}") # Method 3: As a last resort, use timestamp-based approach for recently created files if self.last_file_path and deleted_count == 0: target_dir = os.path.dirname(self.last_file_path) @@ -129,19 +130,19 @@ class DownloadThread(QThread): try: os.remove(file_path) deleted_count += 1 - print(f"DEBUG: Deleted subtitle file by timestamp: {filename}") + logger.debug(f"Deleted subtitle file by timestamp: {filename}") except Exception as e: - print(f"Error deleting subtitle file {filename}: {str(e)}") + logger.error(f"Error deleting subtitle file {filename}: {str(e)}") - print(f"DEBUG: Total subtitle files deleted: {deleted_count}") + logger.debug(f"Total subtitle files deleted: {deleted_count}") except Exception as e: - print(f"Error cleaning subtitle files: {str(e)}") + logger.error(f"Error cleaning subtitle files: {str(e)}") def check_file_exists(self): """Check if the file already exists before downloading""" try: - print("DEBUG: Starting file existence check") + logger.debug("Starting file existence check") # Use yt-dlp to get the filename without downloading, suppressing warnings ydl_opts_check = { 'quiet': True, @@ -160,13 +161,13 @@ class DownloadThread(QThread): # Handle cases where info extraction fails silently if not info: - print("DEBUG: Failed to extract info during file existence check. Skipping check.") + logger.debug("Failed to extract info during file existence check. Skipping check.") return False # Proceed with download attempt # Get the title and sanitize it for filename title = info.get('title', 'video') # Don't remove colons and other special characters yet - print(f"DEBUG: Original video title: {title}") + logger.debug(f"Original video title: {title}") # Get resolution for better matching resolution = "" @@ -175,9 +176,9 @@ class DownloadThread(QThread): resolution = format_info.get('resolution', '') break - print(f"DEBUG: Resolution: {resolution}") + logger.debug(f"Resolution: {resolution}") else: - print("DEBUG: yt-dlp not available, skipping file existence check") + logger.debug("yt-dlp not available, skipping file existence check") return False # Proceed with download attempt # Create the expected filename (more specific) @@ -189,7 +190,7 @@ class DownloadThread(QThread): # Normalize the path to use consistent separators base_path = os.path.normpath(base_path) - print(f"DEBUG: Base path: {base_path}") + logger.debug(f"Base path: {base_path}") # Instead of trying to predict the exact filename, scan the directory # and look for files that contain both the title and resolution @@ -204,16 +205,16 @@ class DownloadThread(QThread): title_match = all(word in filename_lower for word in title_words[:3]) resolution_match = resolution.lower() in filename_lower - print(f"DEBUG: Checking file: {filename}, Title match: {title_match}, Resolution match: {resolution_match}") + logger.debug(f"Checking file: {filename}, Title match: {title_match}, Resolution match: {resolution_match}") if title_match and resolution_match: - print(f"DEBUG: Found matching file: {filename}") + logger.debug(f"Found matching file: {filename}") return filename - print("DEBUG: No matching file found") + logger.debug("No matching file found") return None except Exception as e: - print(f"DEBUG: Error checking file existence: {str(e)}") + logger.debug(f"Error checking file existence: {str(e)}") import traceback traceback.print_exc() return None @@ -223,7 +224,7 @@ class DownloadThread(QThread): # Use the new yt-dlp path function from ytsage_yt_dlp module yt_dlp_path = get_yt_dlp_path() cmd = [yt_dlp_path] - print(f"DEBUG: Using yt-dlp from: {yt_dlp_path}") + logger.debug(f"Using yt-dlp from: {yt_dlp_path}") # Format selection strategy - use format ID if provided or fallback to resolution if self.format_id: @@ -245,24 +246,24 @@ class DownloadThread(QThread): if fmt.get('format_id') == clean_format_id: if fmt.get('vcodec') == 'none' or 'audio only' in fmt.get('format_note', '').lower(): is_audio_format = True - print(f"DEBUG: Detected audio-only format for ID: {clean_format_id}") + logger.debug(f"Detected audio-only format for ID: {clean_format_id}") break except Exception as e: - print(f"DEBUG: Error checking if format is audio-only: {e}") + logger.debug(f"Error checking if format is audio-only: {e}") # For audio-only formats, don't try to merge with video if is_audio_format: cmd.extend(["-f", clean_format_id]) - print(f"DEBUG: Using audio-only format selection: {clean_format_id}") + logger.debug(f"Using audio-only format selection: {clean_format_id}") else: cmd.extend(["-f", f"{clean_format_id}+bestaudio/best"]) - print(f"DEBUG: Using video format selection with audio: {clean_format_id}+bestaudio/best") + logger.debug(f"Using video format selection with audio: {clean_format_id}+bestaudio/best") # Determine output format based on the selected format ID - only for video formats if not is_audio_format: try: format_ext = None - print(f"DEBUG: Getting format information for format ID: {self.format_id} (using: {clean_format_id})") + logger.debug(f"Getting format information for format ID: {self.format_id} (using: {clean_format_id})") if YT_DLP_AVAILABLE: ydl_opts = { 'quiet': True, @@ -284,11 +285,11 @@ class DownloadThread(QThread): break if format_ext: - print(f"DEBUG: Detected format extension: {format_ext}") + logger.debug(f"Detected format extension: {format_ext}") # Ensure output matches the selected format - only for video formats cmd.extend(["--merge-output-format", format_ext]) except Exception as e: - print(f"DEBUG: Error detecting format extension: {e}") + logger.debug(f"Error detecting format extension: {e}") # If we can't determine the format, don't specify merge-output-format pass else: @@ -327,7 +328,7 @@ class DownloadThread(QThread): lang_code = sub_selection.split(' - ')[0] lang_codes.append(lang_code) except Exception as e: - print(f"Warning: Could not parse subtitle selection '{sub_selection}': {e}") + logger.warning(f"Could not parse subtitle selection '{sub_selection}': {e}") if lang_codes: cmd.extend(["--sub-langs", ",".join(lang_codes)]) @@ -338,14 +339,18 @@ class DownloadThread(QThread): cmd.append("--embed-subs") # Add SponsorBlock if enabled - if self.enable_sponsorblock: + if self.enable_sponsorblock and self.sponsorblock_categories: cmd.append("--sponsorblock-remove") - cmd.append("sponsor") + cmd.append(",".join(self.sponsorblock_categories)) # Add description saving if enabled if self.save_description: cmd.append("--write-description") + # Add chapters embedding if enabled + if self.embed_chapters: + cmd.append("--embed-chapters") + # Add cookies if specified if self.cookie_file: cmd.extend(["--cookies", self.cookie_file]) @@ -362,7 +367,7 @@ class DownloadThread(QThread): if self.force_keyframes: cmd.append("--force-keyframes-at-cuts") - print(f"DEBUG: Added download section: {self.download_section}, Force keyframes: {self.force_keyframes}") + logger.debug(f"Added download section: {self.download_section}, Force keyframes: {self.force_keyframes}") # Add the URL as the final argument cmd.append(self.url) @@ -371,16 +376,16 @@ class DownloadThread(QThread): def run(self): try: - print("DEBUG: Starting download thread") + logger.debug("Starting download thread") # First check if file already exists using original method existing_file = self.check_file_exists() if existing_file: - print(f"DEBUG: File exists, emitting signal: {existing_file}") + logger.debug(f"File exists, emitting signal: {existing_file}") self.file_exists_signal.emit(existing_file) return - print("DEBUG: No existing file found, proceeding with download") + logger.debug("No existing file found, proceeding with download") # Get initial list of subtitle files to compare later self.initial_subtitle_files = set() @@ -391,9 +396,9 @@ class DownloadThread(QThread): for file in files: if file.endswith('.vtt') or file.endswith('.srt'): self.initial_subtitle_files.add(os.path.join(root, file)) - print(f"DEBUG: Found {len(self.initial_subtitle_files)} existing subtitle files before download") + logger.debug(f"Found {len(self.initial_subtitle_files)} existing subtitle files before download") except Exception as e: - print(f"Warning: Error scanning for initial subtitle files: {e}") + logger.warning(f"Error scanning for initial subtitle files: {e}") if self.use_direct_command: # Use direct CLI command instead of Python API @@ -413,7 +418,7 @@ class DownloadThread(QThread): try: cmd = self._build_yt_dlp_command() cmd_str = " ".join(shlex.quote(str(arg)) for arg in cmd) - print(f"DEBUG: Executing command: {cmd_str}") + logger.debug(f"Executing command: {cmd_str}") self.status_signal.emit("🚀 Starting download...") self.progress_signal.emit(0) @@ -491,7 +496,7 @@ class DownloadThread(QThread): def _parse_output_line(self, line): """Parse yt-dlp command output to update progress and status.""" line = line.strip() - # print(f"yt-dlp: {line}") # Log all output - OPTIONALLY UNCOMMENT FOR VERBOSE DEBUG + # logger.info(f"yt-dlp: {line}") # Log all output - OPTIONALLY UNCOMMENT FOR VERBOSE DEBUG # Extract filename when the destination line appears # Use a slightly more robust regex looking for the start of the line @@ -501,7 +506,7 @@ class DownloadThread(QThread): filepath = dest_match.group(1).strip() self.current_filename = os.path.basename(filepath) self.last_file_path = filepath # Store the full path for later cleanup - print(f"DEBUG: Extracted filename: {self.current_filename}") # DEBUG + logger.debug(f"Extracted filename: {self.current_filename}") # DEBUG # Check if this is an audio-only download by looking in the previous lines is_audio_download = False @@ -514,7 +519,7 @@ class DownloadThread(QThread): format_match = re.search(r'Downloading format (\d+)', line) if format_match: format_id = format_match.group(1) - print(f"DEBUG: Detected format ID: {format_id}") + logger.debug(f"Detected format ID: {format_id}") # Format IDs for audio typically have different patterns # (like 140, 251 for audio vs 137, 248 for video) # This is just a heuristic since format IDs can vary @@ -538,7 +543,7 @@ class DownloadThread(QThread): else: self.status_signal.emit(f"⏬ Downloading...") except Exception as e: - print(f"Error extracting filename from line '{line}': {e}") + logger.error(f"Error extracting filename from line '{line}': {e}") self.status_signal.emit("⚡ Downloading...") # Fallback status return # Don't process this line further for speed/ETA @@ -564,7 +569,7 @@ class DownloadThread(QThread): # If it's a relative path, make it absolute based on current path subtitle_file = os.path.join(self.path, subtitle_file) self.subtitle_files.append(subtitle_file) - print(f"DEBUG: Tracking subtitle file for later cleanup: {subtitle_file}") + logger.debug(f"Tracking subtitle file for later cleanup: {subtitle_file}") return # Send status updates based on output line content @@ -617,7 +622,7 @@ class DownloadThread(QThread): self.update_details.emit(status) except Exception as e: # If parsing fails, just show basic status (maybe log the error) - print(f"Error parsing download details line: {line} -> {e}") + logger.error(f"Error parsing download details line: {line} -> {e}") pass # Keep basic status emission below if needed, or emit generic details # Check for post-processing @@ -648,7 +653,7 @@ class DownloadThread(QThread): self.file_exists_signal.emit(filename) else: - print(f"Could not extract filename from 'already downloaded' line: {line}") + logger.info(f"Could not extract filename from 'already downloaded' line: {line}") self.status_signal.emit("⚠️ File already exists") # Fallback status elif 'Finished downloading' in line: self.progress_signal.emit(100) From 0cb40f43386db1bfa9e476a29d362194392321d4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:05:27 +0300 Subject: [PATCH 083/568] Refactor and enhance FFmpeg installer module Moved ytsage_ffmpeg.py to src/core and refactored for improved logging and error handling. Added SHA-256 verification for downloads, updated FFmpeg URLs to 7.1.1, and implemented fallback extraction methods. Introduced get_ffmpeg_path utility and replaced print statements with logger calls for better integration. --- ytsage_ffmpeg.py => src/core/ytsage_ffmpeg.py | 174 ++++++++++++++---- 1 file changed, 138 insertions(+), 36 deletions(-) rename ytsage_ffmpeg.py => src/core/ytsage_ffmpeg.py (52%) diff --git a/ytsage_ffmpeg.py b/src/core/ytsage_ffmpeg.py similarity index 52% rename from ytsage_ffmpeg.py rename to src/core/ytsage_ffmpeg.py index 9441cb7..4a423f2 100644 --- a/ytsage_ffmpeg.py +++ b/src/core/ytsage_ffmpeg.py @@ -4,8 +4,10 @@ import subprocess import requests import shutil import tempfile +import hashlib from pathlib import Path from PySide6.QtGui import QIcon +from .ytsage_logging import logger def check_7zip_installed(): """Check if 7-Zip is installed on Windows.""" @@ -38,13 +40,45 @@ def download_file(url, dest_path, progress_callback=None): progress_callback(f"⚡ Downloading FFmpeg components... {progress}%") return True except requests.RequestException as e: - print(f"Download error: {str(e)}") + logger.info(f"Download error: {str(e)}") + return False + +def get_file_sha256(file_path): + """Calculate SHA-256 hash of a file.""" + sha256_hash = hashlib.sha256() + with open(file_path, "rb") as f: + for chunk in iter(lambda: f.read(4096), b""): + sha256_hash.update(chunk) + return sha256_hash.hexdigest() + +def verify_sha256(file_path, expected_hash_url): + """Verify file SHA-256 hash against expected hash from URL.""" + try: + # Download the SHA-256 hash + response = requests.get(expected_hash_url, timeout=10) + response.raise_for_status() + expected_hash = response.text.strip().split()[0] # Get just the hash part + + # Calculate actual hash + actual_hash = get_file_sha256(file_path) + + # Compare hashes + if actual_hash.lower() == expected_hash.lower(): + logger.info("SHA-256 verification successful!") + return True + else: + logger.error(f"SHA-256 verification failed!") + logger.info(f"Expected: {expected_hash}") + logger.info(f"Actual: {actual_hash}") + return False + except Exception as e: + logger.info(f"⚠️ SHA-256 verification error: {str(e)}") return False def get_ffmpeg_install_path(): """Get the FFmpeg installation path.""" if sys.platform == 'win32': - return os.path.join(os.getenv('LOCALAPPDATA'), 'ffmpeg', 'ffmpeg-7.1-full_build', 'bin') + return os.path.join(os.getenv('LOCALAPPDATA'), 'ffmpeg', 'ffmpeg-7.1.1-full_build', 'bin') elif sys.platform == 'darwin': paths = ['/usr/local/bin', '/opt/homebrew/bin', '/usr/bin'] for path in paths: @@ -54,6 +88,54 @@ def get_ffmpeg_install_path(): else: return '/usr/bin' # Standard Linux path +def get_ffmpeg_path(): + """ + Get the FFmpeg executable path, either from PATH or installation directory. + Returns: + str: Path to FFmpeg executable or 'ffmpeg' if found in PATH but path unknown + """ + try: + # First try to find ffmpeg in PATH using 'where' on Windows or 'which' on Unix + if sys.platform == 'win32': + # On Windows, use 'where' command and hide console window + startupinfo = None + if hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + result = subprocess.run( + ['where', 'ffmpeg'], + capture_output=True, + text=True, + check=False, + startupinfo=startupinfo + ) + if result.returncode == 0 and result.stdout.strip(): + ffmpeg_path = result.stdout.strip().split('\n')[0] + return ffmpeg_path + else: + # On Unix systems, use 'which' command + result = subprocess.run(['which', 'ffmpeg'], capture_output=True, text=True, check=False) + if result.returncode == 0 and result.stdout.strip(): + ffmpeg_path = result.stdout.strip() + return ffmpeg_path + except Exception as e: + logger.error(f"Error finding ffmpeg in PATH: {e}") + + # If not found in PATH, check the installation directory + ffmpeg_install_path = get_ffmpeg_install_path() + if sys.platform == 'win32': + ffmpeg_exe = os.path.join(ffmpeg_install_path, 'ffmpeg.exe') + else: + ffmpeg_exe = os.path.join(ffmpeg_install_path, 'ffmpeg') + + if os.path.exists(ffmpeg_exe): + return ffmpeg_exe + + # Return command name as fallback + return "ffmpeg" + def check_ffmpeg_installed(): """Check if FFmpeg is installed and accessible.""" try: @@ -79,55 +161,75 @@ def check_ffmpeg_installed(): return True return False except Exception as e: - print(f"FFmpeg check error: {str(e)}") + logger.info(f"FFmpeg check error: {str(e)}") return False def install_ffmpeg_windows(): - """Install FFmpeg on Windows using either 7z or zip method.""" + """Install FFmpeg on Windows using 7z method primarily, with zip as fallback.""" ffmpeg_path = get_ffmpeg_install_path() # Check if already installed if check_ffmpeg_installed(): - print("✨ FFmpeg is already installed!") + logger.info("FFmpeg is already installed!") return True try: - # Define variables - ffmpeg_url = "https://github.com/GyanD/codexffmpeg/releases/download/7.1/ffmpeg-7.1-full_build.7z" - zip_url = "https://github.com/GyanD/codexffmpeg/releases/download/7.1/ffmpeg-7.1-full_build.zip" + # Define variables - prioritize 7z version + ffmpeg_7z_url = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.7z" + ffmpeg_zip_url = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.zip" + sha256_url = "https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-7.1.1-full_build.7z.sha256" extract_dir = os.path.join(os.getenv('LOCALAPPDATA'), 'ffmpeg') - full_build_dir = os.path.join(extract_dir, 'ffmpeg-7.1-full_build') + full_build_dir = os.path.join(extract_dir, 'ffmpeg-7.1.1-full_build') bin_dir = os.path.join(full_build_dir, 'bin') # Create extraction directory if it doesn't exist os.makedirs(extract_dir, exist_ok=True) - # Choose installation method based on 7-Zip availability + # Try 7z method first (smaller size) use_7zip = check_7zip_installed() - temp_file = tempfile.NamedTemporaryFile(delete=False, - suffix='.7z' if use_7zip else '.zip').name - - # Download with progress callback - if not download_file(ffmpeg_url if use_7zip else zip_url, temp_file, - progress_callback=lambda msg: print(msg)): - raise Exception("Failed to download FFmpeg") - - print("🔧 Extracting FFmpeg components...") - try: - if use_7zip: - # Extract using 7-Zip - subprocess.run(['7z', 'x', temp_file, f'-o{extract_dir}', '-y'], - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0, - timeout=300) # 5-minute timeout + if use_7zip: + logger.info("Using 7-Zip method (smaller download size)...") + temp_file = tempfile.NamedTemporaryFile(delete=False, suffix='.7z').name + + # Download 7z file + if not download_file(ffmpeg_7z_url, temp_file, + progress_callback=lambda msg: logger.debug(msg)): + logger.error("Failed to download 7z file, trying zip fallback...") + use_7zip = False else: - # Extract using built-in Windows tools + # Verify SHA-256 hash for 7z file + if verify_sha256(temp_file, sha256_url): + logger.info("Extracting FFmpeg components from 7z archive...") + try: + subprocess.run(['7z', 'x', temp_file, f'-o{extract_dir}', '-y'], + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0, + timeout=300) # 5-minute timeout + except Exception as e: + logger.error(f"7z extraction failed: {str(e)}, trying zip fallback...") + use_7zip = False + else: + logger.error("SHA-256 verification failed for 7z file, trying zip fallback...") + use_7zip = False + + # Fallback to zip method if 7z failed or not available + if not use_7zip: + logger.info("Using ZIP method as fallback...") + temp_file = tempfile.NamedTemporaryFile(delete=False, suffix='.zip').name + + # Download zip file + if not download_file(ffmpeg_zip_url, temp_file, + progress_callback=lambda msg: logger.debug(msg)): + raise Exception("Failed to download FFmpeg (both 7z and zip methods failed)") + + logger.info("Extracting FFmpeg components from zip archive...") + try: import zipfile with zipfile.ZipFile(temp_file, 'r') as zip_ref: zip_ref.extractall(extract_dir) - except Exception as e: - raise Exception(f"Extraction failed: {str(e)}") + except Exception as e: + raise Exception(f"Extraction failed: {str(e)}") - print("⚙️ Configuring system paths...") + logger.info("Configuring system paths...") # Add to System Path user_path = os.environ.get('PATH', '') if bin_dir not in user_path: @@ -145,11 +247,11 @@ def install_ffmpeg_windows(): if not check_ffmpeg_installed(): raise Exception("FFmpeg installation verification failed") - print("✨ FFmpeg installation completed successfully!") + logger.info("FFmpeg installation completed successfully!") return True except Exception as e: - print(f"❌ Error installing FFmpeg: {str(e)}") + logger.error(f"Error installing FFmpeg: {str(e)}") return False def install_ffmpeg_macos(): @@ -163,12 +265,12 @@ def install_ffmpeg_macos(): check=True, timeout=5) except (subprocess.SubprocessError, FileNotFoundError): - print("Installing Homebrew...") + logger.info("Installing Homebrew...") brew_install_cmd = '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"' subprocess.run(brew_install_cmd, shell=True, check=True, timeout=300) # Install FFmpeg - print("Installing FFmpeg...") + logger.info("Installing FFmpeg...") subprocess.run(['brew', 'install', 'ffmpeg'], check=True, timeout=300) # Verify installation @@ -178,7 +280,7 @@ def install_ffmpeg_macos(): return True except Exception as e: - print(f"Error installing FFmpeg: {str(e)}") + logger.error(f"Error installing FFmpeg: {str(e)}") return False def install_ffmpeg_linux(): @@ -208,7 +310,7 @@ def install_ffmpeg_linux(): return True except Exception as e: - print(f"Error installing FFmpeg: {str(e)}") + logger.error(f"Error installing FFmpeg: {str(e)}") return False def auto_install_ffmpeg(): @@ -220,5 +322,5 @@ def auto_install_ffmpeg(): elif sys.platform.startswith('linux'): return install_ffmpeg_linux() else: - print(f"Unsupported operating system: {sys.platform}") + logger.info(f"Unsupported operating system: {sys.platform}") return False \ No newline at end of file From 1fcde5d6b971adee2417298fa07b212b56ecfa89 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:05:51 +0300 Subject: [PATCH 084/568] Refactor and enhance yt-dlp setup dialog UI Moved ytsage_yt_dlp.py to src/core/ and improved the YtdlpSetupDialog UI with better layout, styling, and accessibility. Replaced print statements with logger calls, added a check_ytdlp_installed() utility, and refined icon path resolution. These changes improve user experience and maintainability. --- ytsage_yt_dlp.py => src/core/ytsage_yt_dlp.py | 191 +++++++++++++----- 1 file changed, 141 insertions(+), 50 deletions(-) rename ytsage_yt_dlp.py => src/core/ytsage_yt_dlp.py (76%) diff --git a/ytsage_yt_dlp.py b/src/core/ytsage_yt_dlp.py similarity index 76% rename from ytsage_yt_dlp.py rename to src/core/ytsage_yt_dlp.py index 34f4622..86ad30d 100644 --- a/ytsage_yt_dlp.py +++ b/src/core/ytsage_yt_dlp.py @@ -7,9 +7,10 @@ import requests from pathlib import Path from PySide6.QtWidgets import (QDialog, QVBoxLayout, QLabel, QPushButton, QProgressBar, QRadioButton, QHBoxLayout, - QMessageBox, QFileDialog) + QMessageBox, QFileDialog, QWidget) from PySide6.QtCore import QThread, Signal, Qt from PySide6.QtGui import QIcon +from .ytsage_logging import logger # Define binary URLs YTDLP_URLS = { @@ -105,14 +106,20 @@ class YtdlpSetupDialog(QDialog): super().__init__(parent) self.os_type = get_os_type() self.setWindowTitle("yt-dlp Setup Required") - self.resize(500, 240) + self.setMinimumWidth(520) + self.setMinimumHeight(350) + self.resize(520, 380) # Set the window icon to match the main app - if parent: + if parent and parent.windowIcon(): self.setWindowIcon(parent.windowIcon()) else: # Try to load the icon directly if parent not available - icon_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'Icon', 'icon.png') + # Navigate from src/core/ to project root, then to assets/Icon/ + current_dir = os.path.dirname(os.path.abspath(__file__)) # core/ + src_dir = os.path.dirname(current_dir) # src/ + project_root = os.path.dirname(src_dir) # project root + icon_path = os.path.join(project_root, 'assets', 'Icon', 'icon.png') if os.path.exists(icon_path): self.setWindowIcon(QIcon(icon_path)) @@ -125,15 +132,19 @@ class YtdlpSetupDialog(QDialog): color: #ffffff; } QLabel { - color: #ffffff; + color: #cccccc; + line-height: 1.4; } QPushButton { - padding: 8px 15px; + padding: 10px 20px; background-color: #c90000; border: none; - border-radius: 4px; + border-radius: 6px; color: white; font-weight: bold; + font-size: 13px; + min-width: 120px; + min-height: 20px; } QPushButton:hover { background-color: #a50000; @@ -141,19 +152,30 @@ class YtdlpSetupDialog(QDialog): QPushButton:pressed { background-color: #800000; } + QPushButton:disabled { + background-color: #666666; + color: #999999; + } QProgressBar { - border: 2px solid #1b2021; - border-radius: 4px; + border: 2px solid #1d1e22; + border-radius: 6px; text-align: center; color: white; + background-color: #1d1e22; + height: 25px; + font-weight: bold; } QProgressBar::chunk { - background-color: #c90000; - border-radius: 2px; + background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, + stop: 0 #e60000, stop: 0.5 #ff3333, stop: 1 #c90000); + border-radius: 4px; + margin: 1px; } QRadioButton { color: #ffffff; spacing: 10px; + padding: 8px; + font-size: 13px; } QRadioButton::indicator { width: 18px; @@ -172,8 +194,16 @@ class YtdlpSetupDialog(QDialog): def init_ui(self): layout = QVBoxLayout() + layout.setSpacing(15) + layout.setContentsMargins(25, 25, 25, 25) - # Information label + # Header title + title_label = QLabel("yt-dlp Setup Required") + title_label.setStyleSheet("font-size: 16px; font-weight: bold; color: #ffffff; padding: 5px 0;") + title_label.setAlignment(Qt.AlignCenter) + layout.addWidget(title_label) + + # Information label with improved styling if self.os_type == "windows": os_name = "Windows" elif self.os_type == "macos": @@ -181,16 +211,20 @@ class YtdlpSetupDialog(QDialog): else: os_name = "Linux" - info_label = QLabel(f"YTSage requires yt-dlp to download videos

" + info_label = QLabel(f"YTSage requires yt-dlp to download videos.

" f"yt-dlp was not found in the app's local directory. " f"YTSage needs to set up yt-dlp for your {os_name} system.

" f"Please choose an option below:") info_label.setAlignment(Qt.AlignCenter) info_label.setWordWrap(True) + info_label.setStyleSheet("font-size: 13px; color: #cccccc; padding: 5px; line-height: 1.4;") layout.addWidget(info_label) - # Radio buttons for choices - option_layout = QHBoxLayout() + # Radio buttons with minimal spacing + option_widget = QWidget() + option_layout = QVBoxLayout(option_widget) + option_layout.setSpacing(8) + option_layout.setContentsMargins(0, 0, 0, 0) self.auto_radio = QRadioButton("Download automatically (Recommended)") self.auto_radio.setChecked(True) @@ -198,20 +232,45 @@ class YtdlpSetupDialog(QDialog): option_layout.addWidget(self.auto_radio) option_layout.addWidget(self.manual_radio) - layout.addLayout(option_layout) + layout.addWidget(option_widget) - # Progress bar (hidden initially) + # Progress bar with proper sizing self.progress_bar = QProgressBar() self.progress_bar.setVisible(False) + self.progress_bar.setFixedHeight(20) # Fixed height for consistency + self.progress_bar.setStyleSheet(""" + QProgressBar { + border: 1px solid #3d3d3d; + border-radius: 8px; + background-color: #1d1e22; + text-align: center; + color: #ffffff; + font-size: 12px; + font-weight: bold; + height: 20px; + } + QProgressBar::chunk { + background-color: #c90000; + border-radius: 6px; + margin: 1px; + } + """) layout.addWidget(self.progress_bar) - # Status label + # Status label with better spacing self.status_label = QLabel("") self.status_label.setAlignment(Qt.AlignCenter) + self.status_label.setStyleSheet("font-size: 12px; color: #cccccc; padding: 8px 0;") + self.status_label.setWordWrap(True) layout.addWidget(self.status_label) - # Button layout + # Add stretch to push buttons to bottom + layout.addStretch() + + # Button layout with improved spacing button_layout = QHBoxLayout() + button_layout.setSpacing(15) + button_layout.setContentsMargins(0, 10, 0, 0) # Add top margin for buttons self.setup_button = QPushButton("Setup yt-dlp") self.setup_button.clicked.connect(self.setup_ytdlp) @@ -319,7 +378,7 @@ class YtdlpSetupDialog(QDialog): ) if file_path: - print(f"DEBUG: User selected file: {file_path}") + logger.debug(f"User selected file: {file_path}") # Verify the selected file try: # Set up startupinfo to hide console window on Windows @@ -330,7 +389,7 @@ class YtdlpSetupDialog(QDialog): startupinfo.wShowWindow = 0 # SW_HIDE # Try to run yt-dlp --version - print(f"DEBUG: Verifying file with --version command") + logger.debug(f"Verifying file with --version command") result = subprocess.run( [file_path, "--version"], capture_output=True, @@ -338,38 +397,38 @@ class YtdlpSetupDialog(QDialog): check=False, startupinfo=startupinfo ) - print(f"DEBUG: Version check result: {result.returncode}, Output: {result.stdout.strip()}") + logger.debug(f"Version check result: {result.returncode}, Output: {result.stdout.strip()}") if result.returncode == 0: # File is valid, copy it to our app's bin directory try: # Ensure the bin directory exists install_dir = ensure_install_dir_exists() - print(f"DEBUG: Install directory: {install_dir}") + logger.debug(f"Install directory: {install_dir}") # Determine the target filename based on OS if self.os_type == "windows": target_path = os.path.join(install_dir, "yt-dlp.exe") else: target_path = os.path.join(install_dir, "yt-dlp") - print(f"DEBUG: Target path: {target_path}") + logger.debug(f"Target path: {target_path}") # Copy the file shutil.copy2(file_path, target_path) - print(f"DEBUG: File copied successfully") + logger.debug(f"File copied successfully") # Set executable permissions on Unix systems if self.os_type != "windows": os.chmod(target_path, 0o755) - print(f"DEBUG: Permissions set on Unix system") + logger.debug(f"Permissions set on Unix system") # Return the path of the copied file self.status_label.setText(f"yt-dlp successfully copied to {target_path}") - print(f"DEBUG: Emitting setup_complete signal with path: {target_path}") + logger.debug(f"Emitting setup_complete signal with path: {target_path}") self.setup_complete.emit(target_path) self.accept() except Exception as copy_error: - print(f"DEBUG: Error copying file: {str(copy_error)}") + logger.debug(f"Error copying file: {str(copy_error)}") error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Critical) error_dialog.setWindowTitle("Setup Error") @@ -396,7 +455,7 @@ class YtdlpSetupDialog(QDialog): """) error_dialog.exec() else: - print(f"DEBUG: File verification failed with return code: {result.returncode}") + logger.debug(f"File verification failed with return code: {result.returncode}") error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Warning) error_dialog.setWindowTitle("Invalid Executable") @@ -423,7 +482,7 @@ class YtdlpSetupDialog(QDialog): """) error_dialog.exec() except Exception as e: - print(f"DEBUG: Exception during verification: {str(e)}") + logger.debug(f"Exception during verification: {str(e)}") error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Critical) error_dialog.setWindowTitle("Error") @@ -462,9 +521,9 @@ def check_ytdlp_binary(): if sys.platform != 'win32' and not os.access(exe_path, os.X_OK): try: os.chmod(exe_path, 0o755) - print(f"Fixed permissions on yt-dlp at {exe_path}") + logger.info(f"Fixed permissions on yt-dlp at {exe_path}") except Exception as e: - print(f"Warning: Could not set executable permissions on {exe_path}: {e}") + logger.warning(f"Could not set executable permissions on {exe_path}: {e}") return None return exe_path @@ -488,21 +547,53 @@ def check_ytdlp_binary(): ) if result.returncode == 0 and result.stdout.strip(): yt_dlp_path = result.stdout.strip().split('\n')[0] - print(f"Found yt-dlp in PATH: {yt_dlp_path}") + logger.info(f"Found yt-dlp in PATH: {yt_dlp_path}") return yt_dlp_path else: # On Unix systems, use 'which' command result = subprocess.run(['which', 'yt-dlp'], capture_output=True, text=True, check=False) if result.returncode == 0 and result.stdout.strip(): yt_dlp_path = result.stdout.strip() - print(f"Found yt-dlp in PATH: {yt_dlp_path}") + logger.info(f"Found yt-dlp in PATH: {yt_dlp_path}") return yt_dlp_path except Exception as e: - print(f"Error checking for yt-dlp in PATH: {e}") + logger.error(f"Error checking for yt-dlp in PATH: {e}") # We're only interested in our app-specific installation or system PATH return None +def check_ytdlp_installed(): + """ + Check if yt-dlp is installed and accessible. + Returns: + bool: True if yt-dlp is found and working, False otherwise + """ + try: + ytdlp_path = check_ytdlp_binary() + if ytdlp_path: + # Try to run yt-dlp --version to verify it's working + try: + # Create startupinfo to hide console on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + result = subprocess.run( + [ytdlp_path, '--version'], + capture_output=True, + text=True, + timeout=5, + startupinfo=startupinfo + ) + return result.returncode == 0 + except Exception: + return False + return False + except Exception: + return False + def get_yt_dlp_path(): """ Get the yt-dlp path, either from the app's bin directory or system PATH. @@ -513,11 +604,11 @@ def get_yt_dlp_path(): # First check if we have yt-dlp in our app's bin directory or system PATH ytdlp_path = check_ytdlp_binary() if ytdlp_path: - print(f"Using yt-dlp from: {ytdlp_path}") + logger.info(f"Using yt-dlp from: {ytdlp_path}") return ytdlp_path # If not found anywhere, fall back to the command name as a last resort - print("yt-dlp not found in app directory or PATH, falling back to command name") + logger.info("yt-dlp not found in app directory or PATH, falling back to command name") return "yt-dlp" def setup_ytdlp(parent_widget=None): @@ -526,14 +617,14 @@ def setup_ytdlp(parent_widget=None): Returns: str: Path to yt-dlp binary """ - print("DEBUG: Starting yt-dlp setup dialog") + logger.debug("Starting yt-dlp setup dialog") dialog = YtdlpSetupDialog(parent_widget) # Store the setup result from the signal setup_result = {"path": None} def on_setup_complete(path): - print(f"DEBUG: Received setup_complete signal with path: {path}") + logger.debug(f"Received setup_complete signal with path: {path}") setup_result["path"] = path # Connect to the setup_complete signal @@ -541,33 +632,33 @@ def setup_ytdlp(parent_widget=None): # Show the dialog result = dialog.exec() - print(f"DEBUG: Dialog result: {result} (Accepted={QDialog.Accepted})") + logger.debug(f"Dialog result: {result} (Accepted={QDialog.Accepted})") if result == QDialog.Accepted: # First check if we received a path from the signal if setup_result["path"] and os.path.exists(setup_result["path"]): - print(f"DEBUG: Using path from signal: {setup_result['path']}") + logger.debug(f"Using path from signal: {setup_result['path']}") return setup_result["path"] # Get the expected path for verification as fallback expected_path = get_ytdlp_executable_path() - print(f"DEBUG: Expected yt-dlp path: {expected_path}") + logger.debug(f"Expected yt-dlp path: {expected_path}") # Verify the path exists after dialog is accepted if os.path.exists(expected_path): - print(f"DEBUG: yt-dlp successfully found at expected path: {expected_path}") + logger.debug(f"yt-dlp successfully found at expected path: {expected_path}") return expected_path else: - print(f"DEBUG: Expected path does not exist, trying alternate detection") + logger.debug(f"Expected path does not exist, trying alternate detection") # Try to use the get_yt_dlp_path function to find yt-dlp elsewhere yt_dlp_path = get_yt_dlp_path() - print(f"DEBUG: Alternate detection result: {yt_dlp_path}") + logger.debug(f"Alternate detection result: {yt_dlp_path}") if yt_dlp_path != "yt-dlp" and os.path.exists(yt_dlp_path): - print(f"DEBUG: yt-dlp found at alternate location: {yt_dlp_path}") + logger.debug(f"yt-dlp found at alternate location: {yt_dlp_path}") return yt_dlp_path # Something went wrong, show an error message - print(f"DEBUG: Setup failed, showing error dialog") + logger.debug(f"Setup failed, showing error dialog") if parent_widget: error_dialog = QMessageBox(parent_widget) error_dialog.setIcon(QMessageBox.Warning) @@ -596,10 +687,10 @@ def setup_ytdlp(parent_widget=None): } """) error_dialog.exec() - print(f"WARNING: yt-dlp setup failed, path does not exist: {expected_path}") + logger.warning(f"yt-dlp setup failed, path does not exist: {expected_path}") else: - print("DEBUG: User cancelled the setup dialog") + logger.debug("User cancelled the setup dialog") # User cancelled or setup failed, return the fallback command - print("DEBUG: Returning fallback command 'yt-dlp'") + logger.debug("Returning fallback command 'yt-dlp'") return "yt-dlp" \ No newline at end of file From b339a322e84a31c0fa1b04675ada7119c3c74a78 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:06:02 +0300 Subject: [PATCH 085/568] Refactor print statements to use logger in ytsage_utils Replaced all print statements with logger calls for improved logging consistency and error handling. Updated imports to use relative paths and added logger import. This change enhances maintainability and integrates better with the application's logging system. --- ytsage_utils.py => src/core/ytsage_utils.py | 99 +++++++++++---------- 1 file changed, 50 insertions(+), 49 deletions(-) rename ytsage_utils.py => src/core/ytsage_utils.py (86%) diff --git a/ytsage_utils.py b/src/core/ytsage_utils.py similarity index 86% rename from ytsage_utils.py rename to src/core/ytsage_utils.py index dacda48..19ab00a 100644 --- a/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -9,8 +9,9 @@ import shutil import pkg_resources from packaging import version import requests -from ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path -from ytsage_yt_dlp import get_yt_dlp_path # Import the new function to avoid import errors +from .ytsage_logging import logger +from .ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path, get_ffmpeg_path +from .ytsage_yt_dlp import get_yt_dlp_path # Import the new function to avoid import errors # Cache for version information to avoid delays _version_cache = { @@ -80,7 +81,7 @@ def load_version_cache_from_config(): if tool_name in _version_cache: _version_cache[tool_name].update(cache_data) except Exception as e: - print(f"Error loading version cache: {e}") + logger.error(f"Error loading version cache: {e}") def save_version_cache_to_config(): """Save version cache to config file.""" @@ -89,7 +90,7 @@ def save_version_cache_to_config(): config['cached_versions'] = _version_cache.copy() save_config(config) except Exception as e: - print(f"Error saving version cache: {e}") + logger.error(f"Error saving version cache: {e}") def get_ytdlp_version_cached(): """Get yt-dlp version with caching support.""" @@ -110,7 +111,7 @@ def get_ytdlp_version_cached(): return version_info except Exception as e: - print(f"Error getting cached yt-dlp version: {e}") + logger.error(f"Error getting cached yt-dlp version: {e}") return "Error getting version" def get_ffmpeg_version_cached(): @@ -133,7 +134,7 @@ def get_ffmpeg_version_cached(): return version_info except Exception as e: - print(f"Error getting cached FFmpeg version: {e}") + logger.error(f"Error getting cached FFmpeg version: {e}") return "Error getting version" def refresh_version_cache(force=False): @@ -150,7 +151,7 @@ def refresh_version_cache(force=False): return True except Exception as e: - print(f"Error refreshing version cache: {e}") + logger.error(f"Error refreshing version cache: {e}") return False def get_ytdlp_version(): @@ -190,7 +191,7 @@ def get_ytdlp_version_direct(yt_dlp_path=None): else: return "Error getting version" except Exception as e: - print(f"Error getting yt-dlp version: {e}") + logger.error(f"Error getting yt-dlp version: {e}") return "Error getting version" def get_ffmpeg_version_direct(): @@ -257,10 +258,10 @@ def get_ffmpeg_version_direct(): return "Unknown version" return "Not found" except Exception as e: - print(f"Error getting FFmpeg version from install path: {e}") + logger.error(f"Error getting FFmpeg version from install path: {e}") return "Not found" except Exception as e: - print(f"Error getting FFmpeg version: {e}") + logger.error(f"Error getting FFmpeg version: {e}") return "Error getting version" def get_app_data_dir(): @@ -313,7 +314,7 @@ def load_config(): config[key] = value return config except (json.JSONDecodeError, UnicodeError, Exception) as e: - print(f"Error reading config file: {e}") + logger.error(f"Error reading config file: {e}") # If config file is corrupted, create a new one with defaults save_config(default_config) @@ -330,7 +331,7 @@ def save_config(config): json.dump(config, f, ensure_ascii=False, indent=2) return True except Exception as e: - print(f"Error saving config: {e}") + logger.error(f"Error saving config: {e}") return False def check_ffmpeg(): @@ -349,7 +350,7 @@ def check_ffmpeg(): os.environ['PATH'] = f"{ffmpeg_path}{os.pathsep}{os.environ.get('PATH', '')}" return True except Exception as e: - print(f"Error updating PATH: {e}") + logger.error(f"Error updating PATH: {e}") return False # For macOS, check common paths @@ -366,13 +367,13 @@ def check_ffmpeg(): os.environ['PATH'] = f"{ffmpeg_dir}{os.pathsep}{os.environ.get('PATH', '')}" return True except Exception as e: - print(f"Error updating PATH: {e}") + logger.error(f"Error updating PATH: {e}") continue return False except Exception as e: - print(f"Error checking FFmpeg: {e}") + logger.error(f"Error checking FFmpeg: {e}") return False def load_saved_path(main_window_instance): @@ -388,7 +389,7 @@ def load_saved_path(main_window_instance): main_window_instance.last_path = saved_path return except (json.JSONDecodeError, UnicodeError) as e: - print(f"Error reading config file: {e}") + logger.error(f"Error reading config file: {e}") # If config file is corrupted, try to remove it try: os.remove(config_file) @@ -404,7 +405,7 @@ def load_saved_path(main_window_instance): main_window_instance.last_path = tempfile.gettempdir() except Exception as e: - print(f"Error loading saved settings: {e}") + logger.error(f"Error loading saved settings: {e}") main_window_instance.last_path = tempfile.gettempdir() def save_path(main_window_instance, path): @@ -416,11 +417,11 @@ def save_path(main_window_instance, path): try: os.makedirs(path, exist_ok=True) except Exception as e: - print(f"Error creating directory: {e}") + logger.error(f"Error creating directory: {e}") return False if not os.access(path, os.W_OK): - print("Path is not writable") + logger.info("Path is not writable") return False # Ensure the config directory exists @@ -433,7 +434,7 @@ def save_path(main_window_instance, path): return True except Exception as e: - print(f"Error saving settings: {e}") + logger.error(f"Error saving settings: {e}") return False def update_yt_dlp(): @@ -456,7 +457,7 @@ def update_yt_dlp(): os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) ]: # We're using a binary installed by our app, update directly - print(f"Updating yt-dlp binary at {yt_dlp_path}") + logger.info(f"Updating yt-dlp binary at {yt_dlp_path}") # Determine the URL based on OS if sys.platform == 'win32': @@ -488,27 +489,27 @@ def update_yt_dlp(): os.remove(yt_dlp_path) os.rename(temp_file, yt_dlp_path) - print("yt-dlp binary successfully updated") + logger.info("yt-dlp binary successfully updated") return True except Exception as e: - print(f"Error replacing yt-dlp binary: {e}") + logger.error(f"Error replacing yt-dlp binary: {e}") return False else: - print(f"Failed to download latest yt-dlp: HTTP {response.status_code}") + logger.info(f"Failed to download latest yt-dlp: HTTP {response.status_code}") return False except Exception as e: - print(f"Error downloading yt-dlp update: {e}") + logger.error(f"Error downloading yt-dlp update: {e}") return False else: # We're using a system-installed yt-dlp, use pip to update - print("Using pip to update yt-dlp") + logger.info("Using pip to update yt-dlp") # Get current version try: current_version = pkg_resources.get_distribution("yt-dlp").version - print(f"Current yt-dlp version: {current_version}") + logger.info(f"Current yt-dlp version: {current_version}") except pkg_resources.DistributionNotFound: - print("yt-dlp not installed via pip, attempting update anyway") + logger.info("yt-dlp not installed via pip, attempting update anyway") current_version = "0.0.0" # Assume very old version to force update # Get the latest version from PyPI JSON API @@ -517,11 +518,11 @@ def update_yt_dlp(): if response.status_code == 200: data = response.json() latest_version = data["info"]["version"] - print(f"Latest available yt-dlp version: {latest_version}") + logger.info(f"Latest available yt-dlp version: {latest_version}") # Compare versions and update if needed if version.parse(latest_version) > version.parse(current_version): - print(f"Updating yt-dlp from {current_version} to {latest_version}...") + logger.info(f"Updating yt-dlp from {current_version} to {latest_version}...") update_result = subprocess.run( [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], capture_output=True, @@ -530,19 +531,19 @@ def update_yt_dlp(): startupinfo=startupinfo ) if update_result.returncode == 0: - print("yt-dlp successfully updated") + logger.info("yt-dlp successfully updated") return True else: - print(f"Error updating yt-dlp: {update_result.stderr}") + logger.error(f"Error updating yt-dlp: {update_result.stderr}") else: - print("yt-dlp is already up to date") + logger.info("yt-dlp is already up to date") return True else: - print(f"Failed to get latest version info: HTTP {response.status_code}") + logger.info(f"Failed to get latest version info: HTTP {response.status_code}") except Exception as e: - print(f"Error checking for yt-dlp updates: {e}") + logger.error(f"Error checking for yt-dlp updates: {e}") except Exception as e: - print(f"Unexpected error during yt-dlp update: {e}") + logger.info(f"Unexpected error during yt-dlp update: {e}") return False @@ -573,19 +574,19 @@ def should_check_for_auto_update(): return False except Exception as e: - print(f"Error checking auto-update schedule: {e}") + logger.error(f"Error checking auto-update schedule: {e}") return False def check_and_update_ytdlp_auto(): """Perform automatic yt-dlp update check and update if needed.""" try: - print("Performing automatic yt-dlp update check...") + logger.info("Performing automatic yt-dlp update check...") # Get current version current_version = get_ytdlp_version() if "Error" in current_version: - print("Could not determine current yt-dlp version, skipping auto-update") + logger.info("Could not determine current yt-dlp version, skipping auto-update") return False # Get latest version from PyPI @@ -598,27 +599,27 @@ def check_and_update_ytdlp_auto(): current_version = current_version.replace('_', '.') latest_version = latest_version.replace('_', '.') - print(f"Current yt-dlp version: {current_version}") - print(f"Latest yt-dlp version: {latest_version}") + logger.info(f"Current yt-dlp version: {current_version}") + logger.info(f"Latest yt-dlp version: {latest_version}") # Compare versions from packaging import version as version_parser if version_parser.parse(latest_version) > version_parser.parse(current_version): - print(f"Auto-updating yt-dlp from {current_version} to {latest_version}...") + logger.info(f"Auto-updating yt-dlp from {current_version} to {latest_version}...") # Perform the update if update_yt_dlp(): - print("Auto-update completed successfully!") + logger.info("Auto-update completed successfully!") # Update the last check timestamp config = load_config() config['last_update_check'] = time.time() save_config(config) return True else: - print("Auto-update failed") + logger.info("Auto-update failed") return False else: - print("yt-dlp is already up to date") + logger.info("yt-dlp is already up to date") # Still update the timestamp even if no update was needed config = load_config() config['last_update_check'] = time.time() @@ -626,14 +627,14 @@ def check_and_update_ytdlp_auto(): return True except requests.RequestException as e: - print(f"Network error during auto-update check: {e}") + logger.info(f"Network error during auto-update check: {e}") return False except Exception as e: - print(f"Error during auto-update check: {e}") + logger.error(f"Error during auto-update check: {e}") return False except Exception as e: - print(f"Critical error in auto-update: {e}") + logger.info(f"Critical error in auto-update: {e}") return False @@ -656,5 +657,5 @@ def update_auto_update_settings(enabled, frequency): save_config(config) return True except Exception as e: - print(f"Error updating auto-update settings: {e}") + logger.error(f"Error updating auto-update settings: {e}") return False \ No newline at end of file From b5d7406a340fb0becf462565e6bcad95dcba8e76 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:06:36 +0300 Subject: [PATCH 086/568] Move and modularize GUI dialog files Refactored dialog-related code by splitting ytsage_gui_dialogs.py into multiple modular files under src/gui/dialogs/. Added new files for base, custom, ffmpeg, selection, and settings dialogs, improving code organization and maintainability. Removed the old monolithic ytsage_gui_dialogs.py. --- src/gui/dialogs/ytsage_dialogs_base.py | 455 +++ src/gui/dialogs/ytsage_dialogs_custom.py | 735 +++++ src/gui/dialogs/ytsage_dialogs_ffmpeg.py | 194 ++ src/gui/dialogs/ytsage_dialogs_selection.py | 651 ++++ src/gui/dialogs/ytsage_dialogs_settings.py | 722 +++++ src/gui/dialogs/ytsage_dialogs_update.py | 705 +++++ src/gui/ytsage_gui_dialogs.py | 37 + ytsage_gui_dialogs.py | 3011 ------------------- 8 files changed, 3499 insertions(+), 3011 deletions(-) create mode 100644 src/gui/dialogs/ytsage_dialogs_base.py create mode 100644 src/gui/dialogs/ytsage_dialogs_custom.py create mode 100644 src/gui/dialogs/ytsage_dialogs_ffmpeg.py create mode 100644 src/gui/dialogs/ytsage_dialogs_selection.py create mode 100644 src/gui/dialogs/ytsage_dialogs_settings.py create mode 100644 src/gui/dialogs/ytsage_dialogs_update.py create mode 100644 src/gui/ytsage_gui_dialogs.py delete mode 100644 ytsage_gui_dialogs.py diff --git a/src/gui/dialogs/ytsage_dialogs_base.py b/src/gui/dialogs/ytsage_dialogs_base.py new file mode 100644 index 0000000..e8cb556 --- /dev/null +++ b/src/gui/dialogs/ytsage_dialogs_base.py @@ -0,0 +1,455 @@ +""" +Base dialogs for YTSage application. +Contains basic utility dialogs like LogWindow and AboutDialog. +""" + +import sys +import os +import webbrowser +from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, + QTextEdit, QWidget, QDialogButtonBox, QSizePolicy, + QPushButton, QMessageBox, QScrollArea) +from PySide6.QtCore import Qt, QThread, Signal, QTimer +from PySide6.QtGui import QIcon + +from ...core.ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_path +from ...core.ytsage_yt_dlp import get_yt_dlp_path, check_ytdlp_installed +from ...core.ytsage_utils import (check_ffmpeg, get_ytdlp_version, get_ffmpeg_version, + refresh_version_cache, _version_cache) + + +class LogWindow(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('yt-dlp Log') + self.setMinimumSize(700, 500) + + layout = QVBoxLayout(self) + + self.log_text = QTextEdit() + self.log_text.setReadOnly(True) + self.log_text.setStyleSheet(""" + QTextEdit { + background-color: #2b2b2b; + color: #ffffff; + font-family: Consolas, monospace; + font-size: 12px; + border: 2px solid #3d3d3d; + border-radius: 4px; + } + """) + + layout.addWidget(self.log_text) + + def append_log(self, message): + self.log_text.append(message) + # Auto-scroll to bottom + scrollbar = self.log_text.verticalScrollBar() + scrollbar.setValue(scrollbar.maximum()) + + +class AboutDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent # Store parent to access version etc. + self.setWindowTitle("About YTSage") + self.setMinimumSize(460, 420) # Slightly increased to accommodate paths + self.resize(460, 440) # Slightly increased initial size + self.setMaximumSize(500, 480) # Reasonable maximum size + + # Set window flags to make dialog independent of parent movement + self.setWindowFlags(Qt.WindowType.Dialog | Qt.WindowType.WindowCloseButtonHint) + + layout = QVBoxLayout(self) + layout.setSpacing(15) # Reduced spacing + layout.setContentsMargins(20, 20, 20, 20) # Reduced margins + layout.setSizeConstraint(QVBoxLayout.SizeConstraint.SetMinAndMaxSize) + + # App Information Section + app_info_widget = self._create_app_info_section() + layout.addWidget(app_info_widget) + + # Separator - subtle and compact + separator = QWidget() + separator.setFixedHeight(1) + separator.setStyleSheet("background-color: #2a2a2a; margin: 8px 20px;") + layout.addWidget(separator) + + # System Information Section + system_info_widget = self._create_system_info_section() + layout.addWidget(system_info_widget) + + # Close Button - compact positioning + layout.addSpacing(10) # Reduced space before button + button_layout = QHBoxLayout() + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok) + button_box.accepted.connect(self.accept) + + # Center the button + button_layout.addStretch() + button_layout.addWidget(button_box) + button_layout.addStretch() + layout.addLayout(button_layout) + + # Apply overall styling - improved consistency + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #cccccc; + } + QPushButton { + padding: 10px 30px; + background-color: #c90000; + border: none; + border-radius: 6px; + color: white; + font-weight: bold; + font-size: 12px; + min-width: 80px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QGroupBox { + font-weight: bold; + border: 1px solid #333333; + border-radius: 8px; + margin-top: 12px; + padding-top: 12px; + background-color: #15181b; + } + QGroupBox::title { + subcontrol-origin: margin; + left: 15px; + padding: 0 10px 0 10px; + color: #ffffff; + font-size: 14px; + } + """) + + def _create_app_info_section(self): + """Create the application information section - compact version""" + widget = QWidget() + layout = QVBoxLayout(widget) + layout.setSpacing(6) # Reduced spacing + + # Title and Version - more compact + title_label = QLabel("YTSage") + title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(title_label) + + version_label = QLabel(f"Version {getattr(self.parent, 'version', '4.7.0')}") + version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(version_label) + + # Description - more compact + description_label = QLabel("A simple GUI frontend for the powerful yt-dlp video downloader.") + description_label.setWordWrap(True) + description_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + description_label.setStyleSheet("color: #ffffff; font-size: 11px; margin: 6px 0;") + layout.addWidget(description_label) + + # Author and Links - compact single line + info_layout = QHBoxLayout() + info_layout.setSpacing(15) + + author_label = QLabel("By: oop7") + author_label.setOpenExternalLinks(True) + info_layout.addWidget(author_label) + + repo_label = QLabel("GitHub: YTSage") + repo_label.setOpenExternalLinks(True) + info_layout.addWidget(repo_label) + + # Center the info layout + info_container = QHBoxLayout() + info_container.addStretch() + info_container.addLayout(info_layout) + info_container.addStretch() + + layout.addLayout(info_container) + + return widget + + def _create_system_info_section(self): + """Create the system information section with compact design""" + # Create main container with compact styling + container = QWidget() + container.setStyleSheet(""" + QWidget { + border: 1px solid #333333; + border-radius: 8px; + background-color: #15181b; + margin-top: 5px; + } + """) + + main_layout = QVBoxLayout(container) + main_layout.setSpacing(8) # Compact spacing + main_layout.setContentsMargins(15, 10, 15, 10) + + # Create header with title and refresh button on same line + header_layout = QHBoxLayout() + header_layout.setContentsMargins(0, 0, 0, 5) + + # System Information title + title_label = QLabel("System Information") + title_label.setStyleSheet(""" + QLabel { + color: #ffffff; + font-size: 14px; + font-weight: bold; + padding: 0px; + margin: 0px; + } + """) + header_layout.addWidget(title_label) + + # Add stretch to push refresh button to the right + header_layout.addStretch() + + # Create refresh button + self.refresh_btn = QPushButton("🔄") + self.refresh_btn.setFixedSize(16, 16) + self.refresh_btn.setStyleSheet(""" + QPushButton { + padding: 0px; + background-color: transparent; + border: none; + color: #cccccc; + font-size: 10px; + font-weight: normal; + margin: 0px; + } + QPushButton:hover { + color: #ffffff; + background-color: rgba(255, 255, 255, 0.1); + border-radius: 8px; + } + QPushButton:pressed { + color: #c90000; + background-color: rgba(201, 0, 0, 0.1); + } + """) + self.refresh_btn.clicked.connect(self.refresh_version_info) + header_layout.addWidget(self.refresh_btn) + + main_layout.addLayout(header_layout) + + # Compact status grid layout + self.status_container = QVBoxLayout() + self.status_container.setSpacing(6) # Tight spacing + self.status_container.setContentsMargins(0, 0, 0, 0) + + main_layout.addLayout(self.status_container) + + # Show loading message initially + self._show_loading_message() + + # Populate system information asynchronously + QTimer.singleShot(100, self.update_system_info) + + return container + + def _show_loading_message(self): + """Show a compact loading message while system information is being gathered.""" + loading_label = QLabel("🔄 Loading system information...") + loading_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + loading_label.setStyleSheet(""" + QLabel { + color: #cccccc; + font-size: 11px; + font-style: italic; + padding: 10px; + } + """) + + self.status_container.addWidget(loading_label) + + def _create_status_item(self, icon, name, status_text, version_text, path_text=None, cache_status=""): + """Create a compact status item widget""" + item_widget = QWidget() + # Adjust height based on whether we have path info + item_height = 50 if path_text else 35 + item_widget.setMaximumHeight(item_height) + item_widget.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) + + # Main layout + item_layout = QVBoxLayout(item_widget) + item_layout.setContentsMargins(8, 4, 8, 4) + item_layout.setSpacing(2) + + # First row: Icon, name, status, version + first_row = QHBoxLayout() + first_row.setSpacing(8) + + # Icon and name - compact + name_label = QLabel(f"{icon} {name}") + name_label.setStyleSheet("font-size: 12px; color: #ffffff; font-weight: bold;") + name_label.setMinimumWidth(80) + first_row.addWidget(name_label) + + # Status - compact + status_label = QLabel(status_text) + status_label.setStyleSheet("font-size: 11px; font-weight: bold;") + status_label.setMinimumWidth(70) + first_row.addWidget(status_label) + + # Version info - improved readability + version_info = version_text + if cache_status: + version_info += cache_status + + version_label = QLabel(version_info) + version_label.setStyleSheet("font-size: 11px; color: #cccccc;") # Increased from 10px + version_label.setWordWrap(False) + first_row.addWidget(version_label) + + # Add stretch to push everything left + first_row.addStretch() + + item_layout.addLayout(first_row) + + # Second row: Path (if provided) + if path_text: + path_label = QLabel(f"📁 {path_text}") + path_label.setStyleSheet("font-size: 10px; color: #aaaaaa; margin-left: 12px;") # Increased from 9px, better color + path_label.setWordWrap(False) + # Truncate very long paths + if len(path_text) > 60: + truncated_path = "..." + path_text[-57:] + path_label.setText(f"📁 {truncated_path}") + item_layout.addWidget(path_label) + + # Subtle background with minimal border + item_widget.setStyleSheet(""" + QWidget { + background-color: rgba(45, 45, 45, 0.3); + border: 1px solid #2a2a2a; + border-radius: 4px; + margin: 1px; + } + QWidget:hover { + background-color: rgba(60, 60, 60, 0.4); + } + """) + + return item_widget + + def update_system_info(self): + """Update the system information display with compact layout.""" + # Clear existing items + for i in reversed(range(self.status_container.count())): + child = self.status_container.itemAt(i).widget() + if child: + child.deleteLater() + + # yt-dlp Status - compact version with path + ytdlp_found = check_ytdlp_installed() + ytdlp_status_text = "✓ Detected" if ytdlp_found else "✗ Missing" + ytdlp_version = get_ytdlp_version() + + # Get yt-dlp path + ytdlp_path = get_yt_dlp_path() if ytdlp_found else None + ytdlp_path_text = ytdlp_path if ytdlp_path and ytdlp_path != "yt-dlp" else None + + # Simplified cache status + ytdlp_cache = _version_cache.get('ytdlp', {}) + last_check = ytdlp_cache.get('last_check', 0) + cache_status = "" + if last_check > 0: + from datetime import datetime + cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") + cache_status = f" ({cache_time})" # Increased from 9px + + ytdlp_item = self._create_status_item( + "🎥", "yt-dlp", ytdlp_status_text, ytdlp_version + cache_status, ytdlp_path_text + ) + self.status_container.addWidget(ytdlp_item) + + # FFmpeg Status - compact version with path + ffmpeg_found = check_ffmpeg() + ffmpeg_status_text = "✓ Detected" if ffmpeg_found else "✗ Missing" + ffmpeg_version = get_ffmpeg_version() if ffmpeg_found else "Not Available" + + # Get FFmpeg path + ffmpeg_path_text = None + if ffmpeg_found: + ffmpeg_path = get_ffmpeg_path() + ffmpeg_path_text = ffmpeg_path if ffmpeg_path else None + + # Simplified cache status for FFmpeg + ffmpeg_cache = _version_cache.get('ffmpeg', {}) + last_check = ffmpeg_cache.get('last_check', 0) + cache_status = "" + if last_check > 0 and ffmpeg_found: + from datetime import datetime + cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") + cache_status = f" ({cache_time})" # Increased from 9px + + ffmpeg_item = self._create_status_item( + "🎬", "FFmpeg", ffmpeg_status_text, ffmpeg_version + cache_status, ffmpeg_path_text + ) + self.status_container.addWidget(ffmpeg_item) + + def refresh_version_info(self): + """Refresh version information manually.""" + self.refresh_btn.setText("🔄 Refreshing...") + self.refresh_btn.setEnabled(False) + + # Perform refresh in a separate thread to avoid blocking UI + from PySide6.QtCore import QThread, Signal + + class RefreshThread(QThread): + finished = Signal(bool) + + def run(self): + success = refresh_version_cache(force=True) + self.finished.emit(success) + + self.refresh_thread = RefreshThread() + self.refresh_thread.finished.connect(self.on_refresh_finished) + self.refresh_thread.start() + + def on_refresh_finished(self, success): + """Handle refresh completion.""" + self.refresh_btn.setText("🔄 Refresh") + self.refresh_btn.setEnabled(True) + + if success: + self.update_system_info() + else: + # Show error message with proper styling + msg_box = QMessageBox(self) + msg_box.setIcon(QMessageBox.Warning) + msg_box.setWindowTitle("Refresh Failed") + msg_box.setText("Failed to refresh version information.") + msg_box.setWindowIcon(self.windowIcon()) + msg_box.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QMessageBox QLabel { + color: #ffffff; + } + QMessageBox QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QMessageBox QPushButton:hover { + background-color: #a50000; + } + """) + msg_box.exec() diff --git a/src/gui/dialogs/ytsage_dialogs_custom.py b/src/gui/dialogs/ytsage_dialogs_custom.py new file mode 100644 index 0000000..68a4ef7 --- /dev/null +++ b/src/gui/dialogs/ytsage_dialogs_custom.py @@ -0,0 +1,735 @@ +""" +Custom functionality dialogs for YTSage application. +Contains dialogs for custom commands, cookies, time ranges, and other special features. +""" + +import os +import sys +import threading +import subprocess +from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, + QLineEdit, QPushButton, QTextEdit, QPlainTextEdit, + QCheckBox, QTabWidget, QWidget, QDialogButtonBox, + QFileDialog, QGroupBox) +from PySide6.QtCore import Qt, QMetaObject, Q_ARG + +from ...core.ytsage_yt_dlp import get_yt_dlp_path + +try: + import yt_dlp + YT_DLP_AVAILABLE = True +except ImportError: + YT_DLP_AVAILABLE = False + + +class CustomCommandDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent + self.setWindowTitle('Custom yt-dlp Command') + self.setMinimumSize(600, 400) + + layout = QVBoxLayout(self) + + # Help text + help_text = QLabel( + "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" + "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" + "Note: Download path and output template will be preserved." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # Command input + self.command_input = QPlainTextEdit() + self.command_input.setPlaceholderText("Enter yt-dlp arguments...") + self.command_input.setStyleSheet(""" + QPlainTextEdit { + background-color: #1d1e22; + color: #ffffff; + border: 2px solid #1d1e22; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + } + """) + layout.addWidget(self.command_input) + + # Add SponsorBlock checkbox + self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") + self.sponsorblock_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + """) + layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) + + # Buttons + button_layout = QHBoxLayout() + + self.run_btn = QPushButton("Run Command") + self.run_btn.clicked.connect(self.run_custom_command) + + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + + button_layout.addWidget(self.run_btn) + button_layout.addWidget(self.close_btn) + layout.addLayout(button_layout) + + # Log output + self.log_output = QTextEdit() + self.log_output.setReadOnly(True) + self.log_output.setStyleSheet(""" + QTextEdit { + background-color: #1d1e22; + color: #ffffff; + border: 2px solid #1d1e22; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + font-size: 12px; + } + """) + layout.addWidget(self.log_output) + + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + + def run_custom_command(self): + url = self.parent.url_input.text().strip() + if not url: + self.log_output.append("Error: No URL provided") + return + + command = self.command_input.toPlainText().strip() + path = self.parent.path_input.text().strip() + + self.log_output.clear() + self.log_output.append(f"Running command with URL: {url}") + self.run_btn.setEnabled(False) + + # Start command in thread + threading.Thread(target=self._run_command_thread, + args=(command, url, path), + daemon=True).start() + + def _run_command_thread(self, command, url, path): + try: + class CommandLogger: + def debug(self, msg): + self.dialog.log_output.append(msg) + def warning(self, msg): + self.dialog.log_output.append(f"Warning: {msg}") + def error(self, msg): + self.dialog.log_output.append(f"Error: {msg}") + def __init__(self, dialog): + self.dialog = dialog + + # Split command into arguments + args = command.split() + + # Base options + ydl_opts = { + 'logger': CommandLogger(self), + 'paths': {'home': path}, + 'debug_printout': True, + 'postprocessors': [] + } + + # Add SponsorBlock options if enabled + if self.sponsorblock_checkbox.isChecked(): + ydl_opts['postprocessors'].extend([{ + 'key': 'SponsorBlock', + 'categories': ['sponsor', 'selfpromo', 'interaction'], + 'api': 'https://sponsor.ajay.app' + }, { + 'key': 'ModifyChapters', + 'remove_sponsor_segments': ['sponsor', 'selfpromo', 'interaction'], + 'sponsorblock_chapter_title': '[SponsorBlock]: %(category_names)l', + 'force_keyframes': True + }]) + + # Add custom arguments + for i in range(0, len(args), 2): + if i + 1 < len(args): + key = args[i].lstrip('-').replace('-', '_') + value = args[i + 1] + try: + # Try to convert to appropriate type + if value.lower() in ('true', 'false'): + value = value.lower() == 'true' + elif value.isdigit(): + value = int(value) + ydl_opts[key] = value + except: + ydl_opts[key] = value + + with yt_dlp.YoutubeDL(ydl_opts) as ydl: + ydl.download([url]) + + self.log_output.append("Command completed successfully") + + except Exception as e: + self.log_output.append(f"Error: {str(e)}") + finally: + self.run_btn.setEnabled(True) + + +class CookieLoginDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('Login with Cookies') + self.setMinimumSize(400, 150) + + layout = QVBoxLayout(self) + + help_text = QLabel( + "Select the Netscape-format cookies file for logging in.\n" + "This allows downloading of private videos and premium quality audio." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # File path input and browse button + path_layout = QHBoxLayout() + self.cookie_path_input = QLineEdit() + self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") + path_layout.addWidget(self.cookie_path_input) + + self.browse_button = QPushButton("Browse") + self.browse_button.clicked.connect(self.browse_cookie_file) + path_layout.addWidget(self.browse_button) + + layout.addLayout(path_layout) + + # Dialog buttons + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + def browse_cookie_file(self): + # Open file dialog to select cookie file + file_dialog = QFileDialog(self) + file_dialog.setFileMode(QFileDialog.ExistingFile) + file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Common cookie file extensions + if file_dialog.exec(): + selected_files = file_dialog.selectedFiles() + if selected_files: + self.cookie_path_input.setText(selected_files[0]) + + def get_cookie_file_path(self): + # Return the selected cookie file path + return self.cookie_path_input.text() + + +class CustomOptionsDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent + self.setWindowTitle('Custom Options') + self.setMinimumSize(600, 500) + + layout = QVBoxLayout(self) + + # Create tab widget to organize content + self.tab_widget = QTabWidget() + layout.addWidget(self.tab_widget) + + # === Cookies Tab === + cookies_tab = QWidget() + cookies_layout = QVBoxLayout(cookies_tab) + + # Help text + help_text = QLabel( + "Select the Netscape-format cookies file for logging in.\n" + "This allows downloading of private videos and premium quality audio." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + cookies_layout.addWidget(help_text) + + # File path input and browse button + path_layout = QHBoxLayout() + self.cookie_path_input = QLineEdit() + self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") + if hasattr(parent, 'cookie_file_path') and parent.cookie_file_path: + self.cookie_path_input.setText(parent.cookie_file_path) + path_layout.addWidget(self.cookie_path_input) + + self.browse_button = QPushButton("Browse") + self.browse_button.clicked.connect(self.browse_cookie_file) + path_layout.addWidget(self.browse_button) + cookies_layout.addLayout(path_layout) # Add the horizontal layout to cookies layout + + # Status indicator for cookies + self.cookie_status = QLabel("") + self.cookie_status.setStyleSheet("color: #999999; font-style: italic;") + cookies_layout.addWidget(self.cookie_status) + + cookies_layout.addStretch() + + # === Custom Command Tab === + command_tab = QWidget() + command_layout = QVBoxLayout(command_tab) + + # Help text + cmd_help_text = QLabel( + "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" + "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" + "Note: Download path and output template will be preserved." + ) + cmd_help_text.setWordWrap(True) + cmd_help_text.setStyleSheet("color: #999999; padding: 10px;") + command_layout.addWidget(cmd_help_text) + + # Add SponsorBlock checkbox + self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") + self.sponsorblock_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 0px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + """) + command_layout.addWidget(self.sponsorblock_checkbox) + + # Command input + self.command_input = QPlainTextEdit() + self.command_input.setPlaceholderText("Enter yt-dlp arguments...") + self.command_input.setStyleSheet(""" + QPlainTextEdit { + background-color: #1d1e22; + color: #ffffff; + border: 2px solid #1d1e22; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + } + """) + command_layout.addWidget(self.command_input) + + # Run command button + self.run_btn = QPushButton("Run Command") + self.run_btn.clicked.connect(self.run_custom_command) + command_layout.addWidget(self.run_btn) + + # Log output + self.log_output = QTextEdit() + self.log_output.setReadOnly(True) + self.log_output.setStyleSheet(""" + QTextEdit { + background-color: #1d1e22; + color: #ffffff; + border: 2px solid #1d1e22; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + font-size: 12px; + } + """) + command_layout.addWidget(self.log_output) + + # Add tabs to the tab widget + self.tab_widget.addTab(cookies_tab, "Login with Cookies") + self.tab_widget.addTab(command_tab, "Custom Command") + + # Dialog buttons + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + # Apply global styles + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + } + QTabWidget::pane { + border: 1px solid #3d3d3d; + background-color: #15181b; + } + QTabBar::tab { + background-color: #1d1e22; + color: #ffffff; + padding: 8px 12px; + border: 1px solid #3d3d3d; + border-bottom: none; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } + QTabBar::tab:selected { + background-color: #c90000; + } + QTabBar::tab:hover:!selected { + background-color: #2a2d36; + } + QLabel { + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + + def browse_cookie_file(self): + # Open file dialog to select cookie file + file_dialog = QFileDialog(self) + file_dialog.setFileMode(QFileDialog.ExistingFile) + file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Common cookie file extensions + if file_dialog.exec(): + selected_files = file_dialog.selectedFiles() + if selected_files: + self.cookie_path_input.setText(selected_files[0]) + self.cookie_status.setText("Cookie file selected - Click OK to apply") + self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") + + def get_cookie_file_path(self): + # Return the selected cookie file path if it's not empty + path = self.cookie_path_input.text().strip() + if path and os.path.exists(path): + return path + return None + + def run_custom_command(self): + url = self.parent.url_input.text().strip() + if not url: + self.log_output.append("Error: No URL provided") + return + + command = self.command_input.toPlainText().strip() + + # Get download path from parent + path = self.parent.last_path + + self.log_output.clear() + self.log_output.append(f"Running command with URL: {url}") + self.run_btn.setEnabled(False) + + # Start command in thread + threading.Thread(target=self._run_command_thread, + args=(command, url, path), + daemon=True).start() + + def _run_command_thread(self, command, url, path): + try: + class CommandLogger: + def debug(self, msg): + QMetaObject.invokeMethod( + self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, msg) + ) + def warning(self, msg): + QMetaObject.invokeMethod( + self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Warning: {msg}") + ) + def error(self, msg): + QMetaObject.invokeMethod( + self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Error: {msg}") + ) + def __init__(self, dialog): + self.dialog = dialog + + # Split command into arguments + args = command.split() + + # Add SponsorBlock if selected + yt_dlp_path = get_yt_dlp_path() + base_cmd = [yt_dlp_path] + args + [url] + + if self.sponsorblock_checkbox.isChecked(): + base_cmd.extend(['--sponsorblock-remove', 'sponsor,selfpromo,interaction']) + + # Show the full command + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Full command: {' '.join(base_cmd)}") + ) + + # Run the command + proc = subprocess.Popen( + base_cmd, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True, + encoding='utf-8', + errors='replace' + ) + + # Stream output + for line in proc.stdout: + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, line.rstrip()) + ) + + ret = proc.wait() + if ret != 0: + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Command exited with code {ret}") + ) + else: + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, "Command completed successfully") + ) + except Exception as e: + QMetaObject.invokeMethod( + self.log_output, "append", Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Error: {str(e)}") + ) + finally: + # Re-enable the run button + QMetaObject.invokeMethod( + self.run_btn, "setEnabled", Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, True) + ) + + +class TimeRangeDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.parent = parent + self.setWindowTitle('Download Video Section') + self.setMinimumWidth(400) + + layout = QVBoxLayout(self) + + # Help text explaining the feature + help_text = QLabel( + "Download only specific parts of a video by specifying time ranges.\n" + "Use HH:MM:SS format or seconds. Leave start or end empty to download from beginning or to end." + ) + help_text.setWordWrap(True) + help_text.setStyleSheet("color: #999999; padding: 10px;") + layout.addWidget(help_text) + + # Time range section + time_group = QGroupBox("Time Range") + time_layout = QVBoxLayout() + + # Start time row + start_layout = QHBoxLayout() + start_layout.addWidget(QLabel("Start Time:")) + self.start_time_input = QLineEdit() + self.start_time_input.setPlaceholderText("00:00:00 (or leave empty for start)") + start_layout.addWidget(self.start_time_input) + time_layout.addLayout(start_layout) + + # End time row + end_layout = QHBoxLayout() + end_layout.addWidget(QLabel("End Time:")) + self.end_time_input = QLineEdit() + self.end_time_input.setPlaceholderText("00:10:00 (or leave empty for end)") + end_layout.addWidget(self.end_time_input) + time_layout.addLayout(end_layout) + + time_group.setLayout(time_layout) + layout.addWidget(time_group) + + # Force keyframes option + self.force_keyframes = QCheckBox("Force keyframes at cuts (better accuracy, slower)") + self.force_keyframes.setChecked(True) + self.force_keyframes.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 4px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 4px; + } + """) + layout.addWidget(self.force_keyframes) + + # Format preview + preview_group = QGroupBox("Command Preview") + preview_layout = QVBoxLayout() + self.preview_label = QLabel("--download-sections \"*-\"") + self.preview_label.setStyleSheet(""" + QLabel { + background-color: #1d1e22; + color: #ffffff; + border: 1px solid #3d3d3d; + border-radius: 4px; + padding: 8px; + font-family: Consolas, monospace; + } + """) + preview_layout.addWidget(self.preview_label) + preview_group.setLayout(preview_layout) + layout.addWidget(preview_group) + + # Connect signals for live preview updates + self.start_time_input.textChanged.connect(self.update_preview) + self.end_time_input.textChanged.connect(self.update_preview) + self.force_keyframes.stateChanged.connect(self.update_preview) + + # Buttons + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + # Apply styling + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + } + QGroupBox { + border: 1px solid #3d3d3d; + border-radius: 4px; + margin-top: 1.5ex; + color: #ffffff; + padding: 10px; + } + QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + padding: 0 5px; + } + QLabel { + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """) + + # Initialize preview + self.update_preview() + + def update_preview(self): + start = self.start_time_input.text().strip() + end = self.end_time_input.text().strip() + + if start and end: + time_range = f"*{start}-{end}" + elif start: + time_range = f"*{start}-" + elif end: + time_range = f"*-{end}" + else: + time_range = "*-" # Full video + + preview = f"--download-sections \"{time_range}\"" + if self.force_keyframes.isChecked(): + preview += " --force-keyframes-at-cuts" + + self.preview_label.setText(preview) + + def get_download_sections(self): + """Returns the download sections command arguments or None if no selection made""" + start = self.start_time_input.text().strip() + end = self.end_time_input.text().strip() + + if not start and not end: + return None # No selection made + + if start and end: + time_range = f"*{start}-{end}" + elif start: + time_range = f"*{start}-" + elif end: + time_range = f"*-{end}" + else: + return None # Shouldn't happen but just in case + + return time_range + + def get_force_keyframes(self): + """Returns whether to force keyframes at cuts""" + return self.force_keyframes.isChecked() diff --git a/src/gui/dialogs/ytsage_dialogs_ffmpeg.py b/src/gui/dialogs/ytsage_dialogs_ffmpeg.py new file mode 100644 index 0000000..a6f9314 --- /dev/null +++ b/src/gui/dialogs/ytsage_dialogs_ffmpeg.py @@ -0,0 +1,194 @@ +""" +FFmpeg installation dialogs for YTSage application. +Contains dialogs and threads for checking and installing FFmpeg. +""" + +import sys +import os +import webbrowser +import contextlib +from io import StringIO +from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, + QPushButton, QStyle, QSizePolicy, QDialogButtonBox) +from PySide6.QtCore import QThread, Signal, Qt +from PySide6.QtGui import QIcon + +from ...core.ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed + + +class FFmpegInstallThread(QThread): + finished = Signal(bool) + progress = Signal(str) + + def run(self): + # Redirect stdout to capture progress messages + output = StringIO() + with contextlib.redirect_stdout(output): + success = auto_install_ffmpeg() + + # Process captured output and emit progress signals + for line in output.getvalue().splitlines(): + self.progress.emit(line) + + self.finished.emit(success) + + +class FFmpegCheckDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle('FFmpeg Installation') + self.setMinimumWidth(450) + self.setMinimumHeight(200) + self.resize(450, 220) + + # Set the window icon to match the main app + if parent and parent.windowIcon(): + self.setWindowIcon(parent.windowIcon()) + else: + # Try to load the icon directly if parent not available + # Navigate from src/gui/dialogs/ to project root, then to assets/Icon/ + current_dir = os.path.dirname(os.path.abspath(__file__)) # dialogs/ + gui_dir = os.path.dirname(current_dir) # gui/ + src_dir = os.path.dirname(gui_dir) # src/ + project_root = os.path.dirname(src_dir) # project root + icon_path = os.path.join(project_root, 'assets', 'Icon', 'icon.png') + if os.path.exists(icon_path): + self.setWindowIcon(QIcon(icon_path)) + + layout = QVBoxLayout(self) + layout.setSpacing(15) + layout.setContentsMargins(20, 20, 20, 20) + + # Header with title and improved spacing + header_text = QLabel("FFmpeg Installation") + header_text.setStyleSheet("font-size: 16px; font-weight: bold; color: #ffffff; padding: 5px 0;") + header_text.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(header_text) + + # Message + self.message_label = QLabel( + "YTSage needs FFmpeg to process videos.\n\n" + "Choose an installation option below:" + ) + self.message_label.setWordWrap(True) + self.message_label.setStyleSheet("font-size: 13px; color: #cccccc; padding: 10px 0; line-height: 1.4;") + self.message_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(self.message_label) + + # Progress label with improved styling and compact height + self.progress_label = QLabel("") + self.progress_label.setWordWrap(True) + self.progress_label.setMinimumHeight(60) # Smaller but visible area + self.progress_label.setMaximumHeight(80) # Limit maximum height + self.progress_label.setStyleSheet(""" + QLabel { + background-color: #1d1e22; + color: #cccccc; + border: 1px solid #3d3d3d; + border-radius: 6px; + padding: 8px; + font-family: 'Consolas', 'Courier New', monospace; + font-size: 11px; + line-height: 1.2; + } + """) + self.progress_label.hide() + layout.addWidget(self.progress_label) + + # Add minimal stretch - just enough to push buttons down slightly + layout.addSpacing(10) + + # Buttons container - simple approach that should work + button_layout = QHBoxLayout() + button_layout.setSpacing(15) # Simple spacing + + # Install button + self.install_btn = QPushButton("Install FFmpeg") + self.install_btn.clicked.connect(self.start_installation) + button_layout.addWidget(self.install_btn) + + # Manual install button + self.manual_btn = QPushButton("Manual Guide") + self.manual_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/ffmpeg-install-guide')) + button_layout.addWidget(self.manual_btn) + + # Close button + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + button_layout.addWidget(self.close_btn) + + layout.addLayout(button_layout) + + # Style the dialog to match app theme + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #cccccc; + } + QPushButton { + padding: 10px 20px; + background-color: #c90000; + border: none; + border-radius: 6px; + color: white; + font-weight: bold; + font-size: 13px; + min-height: 20px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QPushButton:disabled { + background-color: #666666; + color: #999999; + } + """) + + # Initialize installation thread + self.install_thread = None + + def start_installation(self): + self.install_btn.setEnabled(False) + self.manual_btn.setEnabled(False) + self.close_btn.setEnabled(False) + + # Check if FFmpeg is already installed + if check_ffmpeg_installed(): + self.message_label.setText("FFmpeg is already installed!") + self.progress_label.setText("Installation complete. You can close this dialog and continue using YTSage.") + self.progress_label.show() + self.install_btn.hide() + self.manual_btn.hide() + self.close_btn.setEnabled(True) + return + + self.message_label.setText("Installing FFmpeg... Please wait") + self.progress_label.show() + + self.install_thread = FFmpegInstallThread() + self.install_thread.finished.connect(self.installation_finished) + self.install_thread.progress.connect(self.update_progress) + self.install_thread.start() + + def update_progress(self, message): + self.progress_label.setText(message) + + def installation_finished(self, success): + if success: + self.message_label.setText("FFmpeg has been installed successfully!") + self.progress_label.setText("Installation complete. You can now close this dialog and continue using YTSage.") + self.install_btn.hide() + self.manual_btn.hide() + else: + self.message_label.setText("FFmpeg installation encountered an issue.") + self.progress_label.setText("Please try using the manual installation guide instead.") + self.install_btn.setEnabled(True) + self.manual_btn.setEnabled(True) + + self.close_btn.setEnabled(True) diff --git a/src/gui/dialogs/ytsage_dialogs_selection.py b/src/gui/dialogs/ytsage_dialogs_selection.py new file mode 100644 index 0000000..e6bb07a --- /dev/null +++ b/src/gui/dialogs/ytsage_dialogs_selection.py @@ -0,0 +1,651 @@ +""" +Selection dialogs for YTSage application. +Contains dialogs for selecting subtitles, playlist videos, and SponsorBlock categories. +""" + +from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, + QLineEdit, QPushButton, QScrollArea, QWidget, + QCheckBox, QDialogButtonBox, QGroupBox) +from PySide6.QtCore import Qt + + +class SubtitleSelectionDialog(QDialog): + def __init__(self, available_manual, available_auto, previously_selected, parent=None): + super().__init__(parent) + self.setWindowTitle("Select Subtitles") + self.setMinimumWidth(400) + self.setMinimumHeight(300) + + self.available_manual = available_manual + self.available_auto = available_auto + self.previously_selected = set(previously_selected) # Use a set for quick lookups + self.selected_subtitles = list(previously_selected) # Initialize with previous selection + + layout = QVBoxLayout(self) + layout.setSpacing(10) + + # Filter input + self.filter_input = QLineEdit() + self.filter_input.setPlaceholderText("Filter languages (e.g., en, es)...") + self.filter_input.textChanged.connect(self.filter_list) + self.filter_input.setStyleSheet(""" + QLineEdit { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + color: white; + } + QLineEdit:focus { + border-color: #ff0000; + } + """) + layout.addWidget(self.filter_input) + + # Scroll Area for the list + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area + layout.addWidget(scroll_area) + + # Container widget for list items (needed for scroll area) + self.list_container = QWidget() + self.list_layout = QVBoxLayout(self.list_container) + self.list_layout.setContentsMargins(0, 0, 0, 0) + self.list_layout.setSpacing(2) # Compact spacing + self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top + scroll_area.setWidget(self.list_container) + + # Populate the list initially + self.populate_list() + + # OK and Cancel buttons + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + # Style the buttons + for button in button_box.buttons(): + button.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; /* Adjust padding */ + min-height: 30px; /* Ensure consistent height */ + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + # Style the OK button specifically if needed + if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: + button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") + + layout.addWidget(button_box) + + def populate_list(self, filter_text=""): + # Clear existing checkboxes from layout + while self.list_layout.count(): + item = self.list_layout.takeAt(0) + widget = item.widget() + if widget is not None: + widget.deleteLater() + + filter_text = filter_text.lower() + combined_subs = {} + + # Add manual subs + for lang_code, sub_info in self.available_manual.items(): + if not filter_text or filter_text in lang_code.lower(): + combined_subs[lang_code] = f"{lang_code} - Manual" + + # Add auto subs (only if no manual exists and matches filter) + for lang_code, sub_info in self.available_auto.items(): + if lang_code not in combined_subs: # Don't overwrite manual + if not filter_text or filter_text in lang_code.lower(): + combined_subs[lang_code] = f"{lang_code} - Auto-generated" + + if not combined_subs: + no_subs_label = QLabel("No subtitles available" + (f" matching '{filter_text}'" if filter_text else "")) + no_subs_label.setStyleSheet("color: #aaaaaa; padding: 10px;") + self.list_layout.addWidget(no_subs_label) + return + + # Sort by language code + sorted_lang_codes = sorted(combined_subs.keys()) + + for lang_code in sorted_lang_codes: + item_text = combined_subs[lang_code] + checkbox = QCheckBox(item_text) + checkbox.setProperty("subtitle_id", item_text) # Store the identifier + checkbox.setChecked(item_text in self.previously_selected) # Check if previously selected + checkbox.stateChanged.connect(self.update_selection) + checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; /* Square checkboxes */ + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + """) + self.list_layout.addWidget(checkbox) + + self.list_layout.addStretch() # Pushes items up if list is short + + def filter_list(self): + self.populate_list(self.filter_input.text()) + + def update_selection(self, state): + sender = self.sender() + subtitle_id = sender.property("subtitle_id") + if state == Qt.CheckState.Checked.value: + if subtitle_id not in self.previously_selected: + self.previously_selected.add(subtitle_id) + else: + if subtitle_id in self.previously_selected: + self.previously_selected.remove(subtitle_id) + + def get_selected_subtitles(self): + # Return the final set as a list + return list(self.previously_selected) + + def accept(self): + # Update the final list before closing + self.selected_subtitles = self.get_selected_subtitles() + super().accept() + + +class PlaylistSelectionDialog(QDialog): + def __init__(self, playlist_entries, previously_selected_string, parent=None): + super().__init__(parent) + self.setWindowTitle("Select Playlist Videos") + self.setMinimumWidth(500) + self.setMinimumHeight(400) # Allow more vertical space + + self.playlist_entries = playlist_entries + self.checkboxes = [] + + # Main layout + main_layout = QVBoxLayout(self) + + # Top buttons (Select/Deselect All) + button_layout = QHBoxLayout() + select_all_btn = QPushButton("Select All") + deselect_all_btn = QPushButton("Deselect All") + select_all_btn.clicked.connect(self._select_all) + deselect_all_btn.clicked.connect(self._deselect_all) + # Style the buttons to match the subtitle dialog + select_all_btn.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; + min-height: 30px; + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + deselect_all_btn.setStyleSheet(select_all_btn.styleSheet()) + button_layout.addWidget(select_all_btn) + button_layout.addWidget(deselect_all_btn) + button_layout.addStretch() + main_layout.addLayout(button_layout) + + # Scrollable area for checkboxes + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area + scroll_widget = QWidget() + self.list_layout = QVBoxLayout(scroll_widget) # Layout for checkboxes + self.list_layout.setContentsMargins(0, 0, 0, 0) + self.list_layout.setSpacing(2) # Compact spacing + self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top + scroll_area.setWidget(scroll_widget) + main_layout.addWidget(scroll_area) + + # Populate checkboxes + self._populate_list(previously_selected_string) + + # Dialog buttons (OK/Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + # Style the buttons to match subtitle dialog + for button in button_box.buttons(): + button.setStyleSheet(""" + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; + min-height: 30px; + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """) + # Style the OK button specifically if needed + if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: + button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") + + main_layout.addWidget(button_box) + + # Apply styling to match subtitle dialog + self.setStyleSheet(""" + QDialog { background-color: #15181b; } + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + QWidget { background-color: #15181b; } + """) + + def _parse_selection_string(self, selection_string): + """Parses a yt-dlp playlist selection string (e.g., '1-3,5,7-9') into a set of 1-based indices.""" + selected_indices = set() + if not selection_string: + # If no previous selection, assume all are selected initially + return set(range(1, len(self.playlist_entries) + 1)) + + parts = selection_string.split(',') + for part in parts: + part = part.strip() + if '-' in part: + try: + start, end = map(int, part.split('-')) + if start <= end: + selected_indices.update(range(start, end + 1)) + except ValueError: + pass # Ignore invalid ranges + else: + try: + selected_indices.add(int(part)) + except ValueError: + pass # Ignore invalid numbers + return selected_indices + + def _populate_list(self, previously_selected_string): + """Populates the scroll area with checkboxes for each video.""" + selected_indices = self._parse_selection_string(previously_selected_string) + + # Clear existing checkboxes if any (e.g., if repopulating) + while self.list_layout.count(): + child = self.list_layout.takeAt(0) + if child.widget(): + child.widget().deleteLater() + self.checkboxes.clear() + + for index, entry in enumerate(self.playlist_entries): + if not entry: + continue # Skip None entries if yt-dlp returns them + + video_index = index + 1 # yt-dlp uses 1-based indexing + title = entry.get('title', f'Video {video_index}') + # Shorten title if too long + display_title = (title[:70] + '...') if len(title) > 73 else title + + checkbox = QCheckBox(f"{video_index}. {display_title}") + checkbox.setChecked(video_index in selected_indices) + checkbox.setProperty("video_index", video_index) # Store index + checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + """) + self.list_layout.addWidget(checkbox) + self.checkboxes.append(checkbox) + self.list_layout.addStretch() # Push checkboxes to the top + + def _select_all(self): + for checkbox in self.checkboxes: + checkbox.setChecked(True) + + def _deselect_all(self): + for checkbox in self.checkboxes: + checkbox.setChecked(False) + + def _condense_indices(self, indices): + """Condenses a list of 1-based indices into a yt-dlp selection string.""" + if not indices: + return "" + indices = sorted(list(set(indices))) + if not indices: # Check again after sorting/set conversion + return "" + + ranges = [] + start = indices[0] + end = indices[0] + for i in range(1, len(indices)): + if indices[i] == end + 1: + end = indices[i] + else: + if start == end: + ranges.append(str(start)) + else: + ranges.append(f"{start}-{end}") + start = indices[i] + end = indices[i] + # Add the last range + if start == end: + ranges.append(str(start)) + else: + ranges.append(f"{start}-{end}") + return ",".join(ranges) + + def get_selected_items_string(self): + """Returns the selection string based on checked boxes.""" + selected_indices = [ + cb.property("video_index") for cb in self.checkboxes if cb.isChecked() + ] + + # Check if all items are selected + if len(selected_indices) == len(self.playlist_entries): + return None # yt-dlp default is all items, so return None or empty string + + return self._condense_indices(selected_indices) + + +class SponsorBlockCategoryDialog(QDialog): + """Dialog for selecting SponsorBlock categories to remove from videos.""" + + # Default SponsorBlock categories with descriptions + SPONSORBLOCK_CATEGORIES = { + 'sponsor': { + 'name': 'Sponsor', + 'description': 'Paid promotion, paid referrals and direct advertisements', + 'default': True + }, + 'selfpromo': { + 'name': 'Unpaid/Self Promotion', + 'description': 'Unpaid promotion of creators\' own content', + 'default': True + }, + 'interaction': { + 'name': 'Interaction Reminder', + 'description': 'Asking viewers to like, subscribe, or follow social media', + 'default': True + }, + 'intro': { + 'name': 'Intro', + 'description': 'Video introduction that can be skipped', + 'default': False + }, + 'outro': { + 'name': 'Outro/End Cards', + 'description': 'Credits or when the video ends', + 'default': False + }, + 'preview': { + 'name': 'Preview/Recap', + 'description': 'Quick recap of previous videos or preview of what\'s coming up', + 'default': False + }, + 'music_offtopic': { + 'name': 'Non-Music Section', + 'description': 'Only for music videos. Marks non-music sections', + 'default': False + }, + 'filler': { + 'name': 'Filler Tangent', + 'description': 'Tangential scenes added only for filler or humor', + 'default': False + } + } + + def __init__(self, previously_selected=None, parent=None): + super().__init__(parent) + self.setWindowTitle("SponsorBlock Categories") + self.setMinimumWidth(500) + self.setMinimumHeight(400) + + # Set the window icon to match the main app + if parent: + self.setWindowIcon(parent.windowIcon()) + + self.previously_selected = set(previously_selected) if previously_selected else set() + self.checkboxes = {} + + self.init_ui() + self.apply_styling() + + def init_ui(self): + layout = QVBoxLayout(self) + + # Title and description + title_label = QLabel("SponsorBlock Categories") + title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + title_label.setStyleSheet("font-size: 16px; font-weight: bold; color: #ffffff; margin: 10px;") + layout.addWidget(title_label) + + desc_label = QLabel( + "Select which types of video segments to automatically remove during download.\n" + "SponsorBlock uses community-submitted data to identify these segments." + ) + desc_label.setWordWrap(True) + desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + desc_label.setStyleSheet("color: #cccccc; margin: 10px; font-size: 11px;") + layout.addWidget(desc_label) + + # Scroll area for categories + scroll_area = QScrollArea() + scroll_area.setWidgetResizable(True) + scroll_area.setStyleSheet("QScrollArea { border: none; }") + + scroll_widget = QWidget() + scroll_layout = QVBoxLayout(scroll_widget) + scroll_layout.setContentsMargins(10, 0, 10, 0) + scroll_layout.setSpacing(8) + + # Add category checkboxes + for category_id, category_info in self.SPONSORBLOCK_CATEGORIES.items(): + # Create a container widget for each category + category_widget = QWidget() + category_layout = QVBoxLayout(category_widget) + category_layout.setContentsMargins(0, 0, 0, 0) + category_layout.setSpacing(2) + + # Create checkbox with just the name + checkbox = QCheckBox(category_info['name']) + checkbox.setProperty("category_id", category_id) + + # Determine if this category should be checked + if self.previously_selected: + # Use previously selected categories + is_checked = category_id in self.previously_selected + else: + # Use default values for first time + is_checked = category_info['default'] + + checkbox.setChecked(is_checked) + + checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 4px; + spacing: 10px; + font-weight: bold; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 4px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #2b2b2b; + } + QCheckBox::indicator:checked { + border: 2px solid #ff0000; + background: #ff0000; + } + """) + + # Create description label + desc_label = QLabel(category_info['description']) + desc_label.setStyleSheet("color: #aaaaaa; font-size: 11px; margin-left: 28px; margin-bottom: 8px;") + desc_label.setWordWrap(True) + + category_layout.addWidget(checkbox) + category_layout.addWidget(desc_label) + + self.checkboxes[category_id] = checkbox + scroll_layout.addWidget(category_widget) + + scroll_layout.addStretch() + scroll_area.setWidget(scroll_widget) + layout.addWidget(scroll_area) + + # Quick selection buttons + button_layout = QHBoxLayout() + + select_defaults_btn = QPushButton("Select Defaults") + select_defaults_btn.clicked.connect(self.select_defaults) + select_defaults_btn.setStyleSheet(self._get_button_style()) + + select_all_btn = QPushButton("Select All") + select_all_btn.clicked.connect(self.select_all) + select_all_btn.setStyleSheet(self._get_button_style()) + + deselect_all_btn = QPushButton("Deselect All") + deselect_all_btn.clicked.connect(self.deselect_all) + deselect_all_btn.setStyleSheet(self._get_button_style()) + + button_layout.addWidget(select_defaults_btn) + button_layout.addWidget(select_all_btn) + button_layout.addWidget(deselect_all_btn) + button_layout.addStretch() + + layout.addLayout(button_layout) + + # Dialog buttons + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + + # Style the dialog buttons + for button in button_box.buttons(): + button.setStyleSheet(self._get_button_style()) + if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: + button.setStyleSheet(button.styleSheet() + + "QPushButton { background-color: #ff0000; border-color: #cc0000; } " + + "QPushButton:hover { background-color: #cc0000; }") + + layout.addWidget(button_box) + + def _get_button_style(self): + """Returns the standard button style for this dialog.""" + return """ + QPushButton { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px 15px; + min-height: 30px; + color: white; + } + QPushButton:hover { + background-color: #444444; + } + QPushButton:pressed { + background-color: #555555; + } + """ + + def apply_styling(self): + """Apply the dialog styling to match the rest of the application.""" + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QWidget { + background-color: #15181b; + } + """) + + def select_defaults(self): + """Select only the default categories.""" + for category_id, checkbox in self.checkboxes.items(): + default_value = self.SPONSORBLOCK_CATEGORIES[category_id]['default'] + checkbox.setChecked(default_value) + + def select_all(self): + """Select all categories.""" + for checkbox in self.checkboxes.values(): + checkbox.setChecked(True) + + def deselect_all(self): + """Deselect all categories.""" + for checkbox in self.checkboxes.values(): + checkbox.setChecked(False) + + def get_selected_categories(self): + """Returns a list of selected category IDs.""" + selected = [] + for category_id, checkbox in self.checkboxes.items(): + if checkbox.isChecked(): + selected.append(category_id) + return selected + + def get_selected_categories_string(self): + """Returns a comma-separated string of selected categories for yt-dlp.""" + selected = self.get_selected_categories() + return ','.join(selected) if selected else '' diff --git a/src/gui/dialogs/ytsage_dialogs_settings.py b/src/gui/dialogs/ytsage_dialogs_settings.py new file mode 100644 index 0000000..dfe9e90 --- /dev/null +++ b/src/gui/dialogs/ytsage_dialogs_settings.py @@ -0,0 +1,722 @@ +""" +Settings-related dialogs for YTSage application. +Contains dialogs for configuring download settings and auto-update preferences. +""" + +import os +import requests +from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, + QLineEdit, QPushButton, QGroupBox, QCheckBox, + QRadioButton, QComboBox, QDialogButtonBox, + QButtonGroup, QMessageBox, QFileDialog) +from PySide6.QtCore import Qt, QThread, Signal +from PySide6.QtGui import QIcon +from ...core.ytsage_logging import logger + +from ...core.ytsage_utils import (get_auto_update_settings, update_auto_update_settings, + check_and_update_ytdlp_auto, get_ytdlp_version) + + +class DownloadSettingsDialog(QDialog): + def __init__(self, current_path, current_limit, current_unit_index, parent=None): + super().__init__(parent) + self.setWindowTitle("Download Settings") + self.setMinimumWidth(450) + self.setMinimumHeight(400) + self.current_path = current_path + self.current_limit = current_limit if current_limit is not None else "" + self.current_unit_index = current_unit_index + + # Apply main app styling + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + color: #ffffff; + } + QWidget { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QGroupBox { + color: #ffffff; + border: 2px solid #1b2021; + border-radius: 4px; + margin-top: 10px; + padding-top: 10px; + font-weight: bold; + background-color: #15181b; + } + QGroupBox::title { + subcontrol-origin: margin; + left: 10px; + padding: 0 5px 0 5px; + color: #ffffff; + } + QLineEdit { + padding: 8px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + selection-background-color: #c90000; + selection-color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-height: 20px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QPushButton:disabled { + background-color: #666666; + color: #999999; + } + QCheckBox { + spacing: 5px; + color: #ffffff; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #15181b; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + } + QRadioButton { + spacing: 5px; + color: #ffffff; + } + QRadioButton::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QRadioButton::indicator:unchecked { + border: 2px solid #666666; + background: #15181b; + } + QRadioButton::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + } + QComboBox { + padding: 5px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + min-height: 20px; + } + QComboBox::drop-down { + border: none; + width: 20px; + } + QComboBox QAbstractItemView { + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #15181b; + color: #ffffff; + selection-background-color: #c90000; + selection-color: #ffffff; + } + """) + + layout = QVBoxLayout(self) + + # --- Download Path Section --- + path_group_box = QGroupBox("Download Path") + path_layout = QVBoxLayout() + + self.path_display = QLabel(self.current_path) + self.path_display.setWordWrap(True) + self.path_display.setStyleSheet("QLabel { color: #ffffff; padding: 5px; border: 1px solid #1b2021; border-radius: 4px; background-color: #1b2021; }") + path_layout.addWidget(self.path_display) + + browse_button = QPushButton("Browse...") + browse_button.clicked.connect(self.browse_new_path) + path_layout.addWidget(browse_button) + + path_group_box.setLayout(path_layout) + layout.addWidget(path_group_box) + + # --- Speed Limit Section --- + speed_group_box = QGroupBox("Speed Limit") + speed_layout = QHBoxLayout() + + self.speed_limit_input = QLineEdit(str(self.current_limit)) + self.speed_limit_input.setPlaceholderText("None") + speed_layout.addWidget(self.speed_limit_input) + + self.speed_limit_unit = QComboBox() + self.speed_limit_unit.addItems(["KB/s", "MB/s"]) + self.speed_limit_unit.setCurrentIndex(self.current_unit_index) + speed_layout.addWidget(self.speed_limit_unit) + + speed_group_box.setLayout(speed_layout) + layout.addWidget(speed_group_box) + + # --- Auto-Update yt-dlp Section --- + auto_update_group_box = QGroupBox("Auto-Update yt-dlp") + auto_update_layout = QVBoxLayout() + + # Load current auto-update settings + auto_settings = get_auto_update_settings() + + # Enable/Disable auto-update checkbox + self.auto_update_enabled = QCheckBox("Enable automatic yt-dlp updates") + self.auto_update_enabled.setChecked(auto_settings['enabled']) + auto_update_layout.addWidget(self.auto_update_enabled) + + # Frequency options + frequency_label = QLabel("Update frequency:") + frequency_label.setStyleSheet("color: #ffffff; margin-top: 10px;") + auto_update_layout.addWidget(frequency_label) + + self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") + self.daily_radio = QRadioButton("Check daily") + self.weekly_radio = QRadioButton("Check weekly") + + # Set current selection based on saved settings + current_frequency = auto_settings['frequency'] + if current_frequency == 'startup': + self.startup_radio.setChecked(True) + elif current_frequency == 'daily': + self.daily_radio.setChecked(True) + else: # weekly + self.weekly_radio.setChecked(True) + + auto_update_layout.addWidget(self.startup_radio) + auto_update_layout.addWidget(self.daily_radio) + auto_update_layout.addWidget(self.weekly_radio) + + # Test update button + test_update_layout = QHBoxLayout() + test_update_button = QPushButton("Check for Updates Now") + test_update_button.clicked.connect(self.test_update_check) + test_update_layout.addWidget(test_update_button) + test_update_layout.addStretch() + auto_update_layout.addLayout(test_update_layout) + + auto_update_group_box.setLayout(auto_update_layout) + layout.addWidget(auto_update_group_box) + + # Dialog buttons (OK/Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box.accepted.connect(self.accept) + button_box.rejected.connect(self.reject) + layout.addWidget(button_box) + + def browse_new_path(self): + new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.current_path) + if new_path: + self.current_path = new_path + self.path_display.setText(self.current_path) + + def get_selected_path(self): + """Returns the confirmed path after the dialog is accepted.""" + return self.current_path + + def get_selected_speed_limit(self): + """Returns the entered speed limit value (as string or None).""" + limit_str = self.speed_limit_input.text().strip() + if not limit_str: + return None + try: + float(limit_str) # Check if convertible to float + return limit_str + except ValueError: + logger.info("Invalid speed limit input in dialog") + return None + + def get_selected_unit_index(self): + """Returns the index of the selected speed limit unit.""" + return self.speed_limit_unit.currentIndex() + + def _create_styled_message_box(self, icon, title, text): + """Create a styled QMessageBox that matches the app theme.""" + msg_box = QMessageBox(self) + msg_box.setIcon(icon) + msg_box.setWindowTitle(title) + msg_box.setText(text) + msg_box.setWindowIcon(self.windowIcon()) + msg_box.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QMessageBox QLabel { + color: #ffffff; + } + QMessageBox QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QMessageBox QPushButton:hover { + background-color: #a50000; + } + QMessageBox QPushButton:pressed { + background-color: #800000; + } + """) + return msg_box + + def test_update_check(self): + """Test the update check functionality.""" + try: + # Get current version + current_version = get_ytdlp_version() + if "Error" in current_version: + msg_box = self._create_styled_message_box( + QMessageBox.Warning, + "Update Check", + "Could not determine current yt-dlp version." + ) + msg_box.exec() + return + + # Get latest version from PyPI + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + response.raise_for_status() + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + from packaging import version as version_parser + if version_parser.parse(latest_version) > version_parser.parse(current_version): + msg_box = self._create_styled_message_box( + QMessageBox.Information, + "Update Check", + f"Update available!\n\nCurrent: {current_version}\nLatest: {latest_version}\n\nUse the 'Update yt-dlp' button in the main window to update." + ) + msg_box.exec() + else: + msg_box = self._create_styled_message_box( + QMessageBox.Information, + "Update Check", + f"yt-dlp is up to date!\n\nCurrent version: {current_version}" + ) + msg_box.exec() + except Exception as e: + msg_box = self._create_styled_message_box( + QMessageBox.Warning, + "Update Check", + f"Error checking for updates: {str(e)}" + ) + msg_box.exec() + + def get_auto_update_settings(self): + """Returns the auto-update settings from the dialog.""" + enabled = self.auto_update_enabled.isChecked() + + if self.startup_radio.isChecked(): + frequency = 'startup' + elif self.daily_radio.isChecked(): + frequency = 'daily' + else: # weekly_radio is checked + frequency = 'weekly' + + return enabled, frequency + + def accept(self): + """Override accept to save auto-update settings.""" + try: + # Save auto-update settings + enabled, frequency = self.get_auto_update_settings() + + if update_auto_update_settings(enabled, frequency): + QMessageBox.information(self, "Settings Saved", + "Auto-update settings have been saved successfully!") + else: + QMessageBox.warning(self, "Error", + "Failed to save auto-update settings.") + except Exception as e: + QMessageBox.critical(self, "Error", + f"Error saving auto-update settings: {str(e)}") + + # Call the parent accept method to close the dialog + super().accept() + + +class AutoUpdateSettingsDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle("Auto-Update Settings") + self.setMinimumWidth(400) + self.setMinimumHeight(300) + + # Set the window icon to match the main app + if parent: + self.setWindowIcon(parent.windowIcon()) + + self.init_ui() + self.load_current_settings() + self.apply_styling() + + def init_ui(self): + layout = QVBoxLayout(self) + + # Title + title_label = QLabel("

🔄 Auto-Update Settings

") + title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + layout.addWidget(title_label) + + # Description + desc_label = QLabel("Configure automatic updates for yt-dlp to ensure you always have the latest features and bug fixes.") + desc_label.setWordWrap(True) + desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + desc_label.setStyleSheet("color: #cccccc; margin: 10px; font-size: 11px;") + layout.addWidget(desc_label) + + # Enable/Disable auto-update + self.enable_checkbox = QCheckBox("Enable automatic yt-dlp updates") + self.enable_checkbox.setChecked(True) # Default enabled + self.enable_checkbox.toggled.connect(self.on_enable_toggled) + layout.addWidget(self.enable_checkbox) + + # Frequency options + frequency_group = QGroupBox("Update Frequency") + frequency_layout = QVBoxLayout() + + self.frequency_group = QButtonGroup(self) + + self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") + self.daily_radio = QRadioButton("Check daily") + self.weekly_radio = QRadioButton("Check weekly") + + self.daily_radio.setChecked(True) # Default to daily + + self.frequency_group.addButton(self.startup_radio, 0) + self.frequency_group.addButton(self.daily_radio, 1) + self.frequency_group.addButton(self.weekly_radio, 2) + + frequency_layout.addWidget(self.startup_radio) + frequency_layout.addWidget(self.daily_radio) + frequency_layout.addWidget(self.weekly_radio) + frequency_group.setLayout(frequency_layout) + + layout.addWidget(frequency_group) + + # Current status + status_group = QGroupBox("Current Status") + status_layout = QVBoxLayout() + + self.current_version_label = QLabel("Current yt-dlp version: Checking...") + self.last_check_label = QLabel("Last update check: Never") + self.next_check_label = QLabel("Next check: Based on settings") + + status_layout.addWidget(self.current_version_label) + status_layout.addWidget(self.last_check_label) + status_layout.addWidget(self.next_check_label) + status_group.setLayout(status_layout) + + layout.addWidget(status_group) + + # Manual check button + self.manual_check_btn = QPushButton("🔍 Check for Updates Now") + self.manual_check_btn.clicked.connect(self.manual_check) + layout.addWidget(self.manual_check_btn) + + # Buttons + button_layout = QHBoxLayout() + + self.save_btn = QPushButton("Save Settings") + self.save_btn.clicked.connect(self.save_settings) + + self.cancel_btn = QPushButton("Cancel") + self.cancel_btn.clicked.connect(self.reject) + + button_layout.addWidget(self.save_btn) + button_layout.addWidget(self.cancel_btn) + + layout.addLayout(button_layout) + + def apply_styling(self): + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QGroupBox { + color: #ffffff; + border: 2px solid #1b2021; + border-radius: 4px; + margin-top: 10px; + padding-top: 10px; + font-weight: bold; + background-color: #15181b; + } + QGroupBox::title { + subcontrol-origin: margin; + left: 10px; + padding: 0 5px 0 5px; + color: #ffffff; + } + QCheckBox, QRadioButton { + color: #ffffff; + spacing: 5px; + margin: 5px; + } + QCheckBox::indicator, QRadioButton::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked, QRadioButton::indicator:unchecked { + border: 2px solid #666666; + background: #15181b; + } + QCheckBox::indicator:checked, QRadioButton::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + margin: 5px; + min-width: 100px; + min-height: 20px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QPushButton:disabled { + background-color: #666666; + color: #999999; + } + """) + + def load_current_settings(self): + """Load current auto-update settings from config.""" + try: + import time + from datetime import datetime + + settings = get_auto_update_settings() + + # Set checkbox + self.enable_checkbox.setChecked(settings['enabled']) + + # Set frequency + frequency = settings['frequency'] + if frequency == 'startup': + self.startup_radio.setChecked(True) + elif frequency == 'weekly': + self.weekly_radio.setChecked(True) + else: # daily + self.daily_radio.setChecked(True) + + # Update status labels + current_version = get_ytdlp_version() + self.current_version_label.setText(f"Current yt-dlp version: {current_version}") + + last_check = settings['last_check'] + if last_check > 0: + last_check_time = datetime.fromtimestamp(last_check).strftime("%Y-%m-%d %H:%M:%S") + self.last_check_label.setText(f"Last update check: {last_check_time}") + else: + self.last_check_label.setText("Last update check: Never") + + # Calculate next check time + self.update_next_check_label() + + # Update UI state + self.on_enable_toggled(settings['enabled']) + + except Exception as e: + logger.error(f"Error loading auto-update settings: {e}") + + def update_next_check_label(self): + """Update the next check label based on current settings.""" + try: + if not self.enable_checkbox.isChecked(): + self.next_check_label.setText("Next check: Disabled") + return + + import time + from datetime import datetime, timedelta + + settings = get_auto_update_settings() + last_check = settings['last_check'] + frequency = self.get_selected_frequency() + + if last_check == 0: + self.next_check_label.setText("Next check: On next startup") + return + + next_check_time = last_check + if frequency == 'startup': + next_check_time += 3600 # 1 hour + elif frequency == 'daily': + next_check_time += 86400 # 24 hours + elif frequency == 'weekly': + next_check_time += 604800 # 7 days + + current_time = time.time() + if next_check_time <= current_time: + self.next_check_label.setText("Next check: Now (overdue)") + else: + next_check_datetime = datetime.fromtimestamp(next_check_time) + self.next_check_label.setText(f"Next check: {next_check_datetime.strftime('%Y-%m-%d %H:%M:%S')}") + + except Exception as e: + self.next_check_label.setText("Next check: Error calculating") + logger.error(f"Error calculating next check time: {e}") + + def on_enable_toggled(self, enabled): + """Handle enable/disable checkbox toggle.""" + # Enable/disable frequency options + for i in range(self.frequency_group.buttons().__len__()): + self.frequency_group.button(i).setEnabled(enabled) + + self.update_next_check_label() + + def get_selected_frequency(self): + """Get the selected frequency setting.""" + if self.startup_radio.isChecked(): + return 'startup' + elif self.weekly_radio.isChecked(): + return 'weekly' + else: + return 'daily' + + def manual_check(self): + """Perform a manual update check.""" + self.manual_check_btn.setEnabled(False) + self.manual_check_btn.setText("🔄 Checking...") + + # Force an immediate update check + def check_in_thread(): + try: + result = check_and_update_ytdlp_auto() + + # Update UI in main thread + from PySide6.QtCore import QTimer + QTimer.singleShot(0, lambda: self.manual_check_finished(result)) + except Exception as e: + logger.error(f"Error during manual check: {e}") + QTimer.singleShot(0, lambda: self.manual_check_finished(False)) + + # Run in separate thread to avoid blocking UI + import threading + threading.Thread(target=check_in_thread, daemon=True).start() + + def _create_styled_message_box(self, icon, title, text): + """Create a styled QMessageBox that matches the app theme.""" + msg_box = QMessageBox(self) + msg_box.setIcon(icon) + msg_box.setWindowTitle(title) + msg_box.setText(text) + msg_box.setWindowIcon(self.windowIcon()) + msg_box.setStyleSheet(""" + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QMessageBox QLabel { + color: #ffffff; + } + QMessageBox QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QMessageBox QPushButton:hover { + background-color: #a50000; + } + QMessageBox QPushButton:pressed { + background-color: #800000; + } + """) + return msg_box + + def manual_check_finished(self, success): + """Handle completion of manual update check.""" + self.manual_check_btn.setEnabled(True) + self.manual_check_btn.setText("🔍 Check for Updates Now") + + if success: + msg_box = self._create_styled_message_box( + QMessageBox.Information, + "Update Check", + "✅ Update check completed successfully!\nCheck the console for details." + ) + msg_box.exec() + else: + msg_box = self._create_styled_message_box( + QMessageBox.Warning, + "Update Check", + "❌ Update check failed.\nCheck the console for error details." + ) + msg_box.exec() + + # Refresh the current settings display + self.load_current_settings() + + def save_settings(self): + """Save the auto-update settings.""" + try: + enabled = self.enable_checkbox.isChecked() + frequency = self.get_selected_frequency() + + if update_auto_update_settings(enabled, frequency): + msg_box = self._create_styled_message_box( + QMessageBox.Information, + "Settings Saved", + "✅ Auto-update settings have been saved successfully!" + ) + msg_box.exec() + self.accept() + else: + msg_box = self._create_styled_message_box( + QMessageBox.Warning, + "Error", + "❌ Failed to save auto-update settings.\nPlease try again." + ) + msg_box.exec() + except Exception as e: + logger.error(f"Error saving auto-update settings: {e}") + msg_box = self._create_styled_message_box( + QMessageBox.Critical, + "Error", + f"❌ Error saving settings: {str(e)}" + ) + msg_box.exec() diff --git a/src/gui/dialogs/ytsage_dialogs_update.py b/src/gui/dialogs/ytsage_dialogs_update.py new file mode 100644 index 0000000..d02da0c --- /dev/null +++ b/src/gui/dialogs/ytsage_dialogs_update.py @@ -0,0 +1,705 @@ +""" +Update-related dialogs and threads for YTSage application. +Contains dialogs and background threads for checking and performing yt-dlp updates. +""" + +import sys +import os +import requests +import subprocess +import time +from packaging import version +from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, + QPushButton, QProgressBar, QMessageBox) +from PySide6.QtCore import Qt, QThread, QTimer, Signal + +from ...core.ytsage_yt_dlp import get_yt_dlp_path +from ...core.ytsage_utils import get_ytdlp_version, load_config, save_config +from ...core.ytsage_logging import logger + +try: + import yt_dlp + YT_DLP_AVAILABLE = True +except ImportError: + YT_DLP_AVAILABLE = False + + +class VersionCheckThread(QThread): + finished = Signal(str, str, str) # current_version, latest_version, error_message + + def run(self): + current_version = "" + latest_version = "" + error_message = "" + + try: + # Get the yt-dlp executable path + yt_dlp_path = get_yt_dlp_path() + + # Get current version with timeout + try: + result = subprocess.run([yt_dlp_path, '--version'], + capture_output=True, + text=True, + timeout=30, # 30 second timeout + startupinfo=None if sys.platform != 'win32' else subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW, wShowWindow=subprocess.SW_HIDE), + creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) + if result.returncode == 0: + current_version = result.stdout.strip() + else: # Try fallback if command failed + if YT_DLP_AVAILABLE: + current_version = yt_dlp.version.__version__ + else: + error_message = "yt-dlp not available." + self.finished.emit(current_version, latest_version, error_message) + return + except subprocess.TimeoutExpired: + # Try fallback if timeout + if YT_DLP_AVAILABLE: + current_version = yt_dlp.version.__version__ + else: + error_message = "yt-dlp version check timed out and package not found." + self.finished.emit(current_version, latest_version, error_message) + return + except Exception: + # Fallback to importing yt_dlp package directly if subprocess fails + if YT_DLP_AVAILABLE: + current_version = yt_dlp.version.__version__ + else: + error_message = "yt-dlp not found or accessible." + self.finished.emit(current_version, latest_version, error_message) + return + + # Get latest version from PyPI + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + response.raise_for_status() + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + except requests.RequestException as e: + error_message = f"Network error checking PyPI: {e}" + except Exception as e: + error_message = f"Error checking version: {e}" + + self.finished.emit(current_version, latest_version, error_message) + + +class UpdateThread(QThread): + update_status = Signal(str) # For status messages + update_progress = Signal(int) # For progress percentage (0-100) + update_finished = Signal(bool, str) # success (bool), message/error (str) + + def run(self): + error_message = "" + success = False + try: + self.update_status.emit("🔍 Checking current installation...") + self.update_progress.emit(10) + + # Get the yt-dlp path + try: + yt_dlp_path = get_yt_dlp_path() + self.update_status.emit(f"📍 Found yt-dlp at: {os.path.basename(yt_dlp_path)}") + except Exception as e: + self.update_status.emit(f"❌ Error getting yt-dlp path: {e}") + self.update_finished.emit(False, f"❌ Error getting yt-dlp path: {e}") + return + + # Create startupinfo to hide console on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + self.update_progress.emit(20) + + # Check if we're using an app-managed binary or system installation + app_managed_dirs = [ + os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), + os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), + os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) + ] + + is_app_managed = any(os.path.dirname(yt_dlp_path) == dir_path for dir_path in app_managed_dirs) + + if is_app_managed: + self.update_status.emit("📦 Updating app-managed yt-dlp binary...") + success = self._update_binary(yt_dlp_path) + else: + self.update_status.emit("🐍 Updating system yt-dlp via pip...") + success = self._update_via_pip(startupinfo) + + if success: + self.update_progress.emit(100) + error_message = "✅ yt-dlp has been successfully updated!" + else: + error_message = "❌ Failed to update yt-dlp. Please try again or check your internet connection." + + except requests.RequestException as e: + error_message = f"❌ Network error during update: {str(e)}" + self.update_status.emit(error_message) + success = False + except Exception as e: + error_message = f"❌ Update failed: {str(e)}" + self.update_status.emit(error_message) + success = False + + self.update_finished.emit(success, error_message) + + def _update_binary(self, yt_dlp_path): + """Update yt-dlp binary directly from GitHub releases.""" + try: + self.update_status.emit("🌐 Determining download URL...") + self.update_progress.emit(30) + + # Determine the URL based on OS + if sys.platform == 'win32': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" + elif sys.platform == 'darwin': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" + else: + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" + + self.update_status.emit("⬇️ Downloading latest yt-dlp binary...") + self.update_progress.emit(40) + + # Download with progress tracking and timeout + response = requests.get(url, stream=True, timeout=30) + if response.status_code != 200: + self.update_status.emit(f"❌ Download failed: HTTP {response.status_code}") + return False + + total_size = int(response.headers.get('content-length', 0)) + temp_file = f"{yt_dlp_path}.new" + downloaded = 0 + + self.update_status.emit("💾 Downloading and saving binary...") + + with open(temp_file, 'wb') as f: + for chunk in response.iter_content(chunk_size=8192): + if chunk: + f.write(chunk) + downloaded += len(chunk) + + # Update progress (40-80% for download) + if total_size > 0: + progress = 40 + int((downloaded / total_size) * 40) + self.update_progress.emit(progress) + + self.update_status.emit("🔧 Installing updated binary...") + self.update_progress.emit(85) + + # Make executable on Unix systems + if sys.platform != 'win32': + os.chmod(temp_file, 0o755) + + # Replace the old file with the new one + try: + # On Windows, we need to remove the old file first + if sys.platform == 'win32' and os.path.exists(yt_dlp_path): + os.remove(yt_dlp_path) + + os.rename(temp_file, yt_dlp_path) + self.update_status.emit("✅ Binary successfully updated!") + self.update_progress.emit(95) + return True + + except Exception as e: + self.update_status.emit(f"❌ Error installing binary: {e}") + # Clean up temp file if it exists + if os.path.exists(temp_file): + try: + os.remove(temp_file) + except: + pass + return False + + except requests.RequestException as e: + self.update_status.emit(f"❌ Network error: {e}") + return False + except Exception as e: + self.update_status.emit(f"❌ Binary update failed: {e}") + return False + + def _update_via_pip(self, startupinfo): + """Update yt-dlp via pip.""" + try: + import pkg_resources + + self.update_status.emit("🔍 Checking current pip installation...") + self.update_progress.emit(30) + + # Get current version + try: + current_version = pkg_resources.get_distribution("yt-dlp").version + self.update_status.emit(f"📋 Current version: {current_version}") + except pkg_resources.DistributionNotFound: + self.update_status.emit("⚠️ yt-dlp not found via pip, attempting installation...") + current_version = "0.0.0" + + self.update_progress.emit(40) + + # Get the latest version from PyPI + self.update_status.emit("🌐 Checking for latest version...") + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + + if response.status_code != 200: + self.update_status.emit("❌ Failed to check for updates") + return False + + data = response.json() + latest_version = data["info"]["version"] + self.update_status.emit(f"🆕 Latest version: {latest_version}") + self.update_progress.emit(50) + + # Compare versions + if version.parse(latest_version) > version.parse(current_version): + self.update_status.emit(f"⬆️ Updating from {current_version} to {latest_version}...") + self.update_progress.emit(60) + + try: + # Run pip update with timeout + self.update_status.emit("📦 Running pip install --upgrade...") + update_result = subprocess.run( + [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], + capture_output=True, + text=True, + check=False, + timeout=300, # 5 minute timeout for pip install + startupinfo=startupinfo + ) + + self.update_progress.emit(85) + + if update_result.returncode == 0: + self.update_status.emit("✅ Pip update completed successfully!") + self.update_progress.emit(95) + return True + else: + self.update_status.emit(f"❌ Pip update failed: {update_result.stderr}") + return False + + except subprocess.TimeoutExpired: + self.update_status.emit("❌ Pip update timed out after 5 minutes") + return False + except Exception as e: + self.update_status.emit(f"❌ Error during pip update: {e}") + return False + else: + self.update_status.emit("✅ yt-dlp is already up to date!") + self.update_progress.emit(95) + return True + + except Exception as e: + self.update_status.emit(f"❌ Pip update failed: {e}") + return False + + +class YTDLPUpdateDialog(QDialog): + def __init__(self, parent=None): + super().__init__(parent) + self.setWindowTitle("Update yt-dlp") + self.setMinimumWidth(450) + self.setMinimumHeight(200) + self._closing = False # Flag to track if dialog is closing + + layout = QVBoxLayout(self) + + # Status label + self.status_label = QLabel("Checking for updates...") + self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + self.status_label.setWordWrap(True) + self.status_label.setMinimumHeight(60) + layout.addWidget(self.status_label) + + # Progress bar + self.progress_bar = QProgressBar() + self.progress_bar.hide() # Hide initially + layout.addWidget(self.progress_bar) + + # Buttons + button_layout = QHBoxLayout() + self.update_btn = QPushButton("Update") + self.update_btn.clicked.connect(self.perform_update) + self.update_btn.setEnabled(False) + + self.close_btn = QPushButton("Close") + self.close_btn.clicked.connect(self.close) + + button_layout.addWidget(self.update_btn) + button_layout.addWidget(self.close_btn) + layout.addLayout(button_layout) + + # Style + self.setStyleSheet(""" + QDialog { + background-color: #15181b; + } + QLabel { + color: #ffffff; + font-size: 12px; + padding: 10px; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 100px; + } + QPushButton:disabled { + background-color: #666666; + } + QPushButton:hover { + background-color: #a50000; + } + QProgressBar { + border: 2px solid #1d1e22; + border-radius: 6px; + text-align: center; + color: white; + background-color: #1d1e22; + height: 30px; + font-weight: bold; + font-size: 12px; + } + QProgressBar::chunk { + background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, + stop: 0 #e60000, stop: 0.5 #ff3333, stop: 1 #c90000); + border-radius: 4px; + margin: 1px; + } + """) + + # Start version check in background + self.check_version() + + def check_version(self): + self.status_label.setText("Checking for updates...") + self.update_btn.setEnabled(False) + self.version_check_thread = VersionCheckThread() + self.version_check_thread.finished.connect(self.on_version_check_finished) + self.version_check_thread.start() + + def on_version_check_finished(self, current_version, latest_version, error_message): + # Check if dialog is closing to avoid unnecessary updates + if hasattr(self, '_closing') and self._closing: + return + + if error_message: + self.status_label.setText(error_message) + self.update_btn.setEnabled(False) + return + + if not current_version or not latest_version: + self.status_label.setText("Could not determine versions.") + self.update_btn.setEnabled(False) + return + + try: + # Compare versions + current_ver = version.parse(current_version) + latest_ver = version.parse(latest_version) + + if current_ver < latest_ver: + self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + except version.InvalidVersion: + # If version parsing fails, do a simple string comparison + if current_version != latest_version: + self.status_label.setText(f"Update available! (Comparison failed)\nCurrent: {current_version}\nLatest: {latest_version}") + self.update_btn.setEnabled(True) + else: + self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.update_btn.setEnabled(False) + except Exception as e: + self.status_label.setText(f"Error comparing versions: {e}") + self.update_btn.setEnabled(False) + + def perform_update(self): + # Immediate visual feedback + self.update_btn.setEnabled(False) + self.close_btn.setEnabled(False) + self.update_btn.setText("Updating...") + self.status_label.setText("🚀 Initializing update process...") + + # Show progress bar immediately + self.progress_bar.setRange(0, 100) + self.progress_bar.setValue(0) + self.progress_bar.show() + + # Start the update thread + self._start_update_thread() + + def _start_update_thread(self): + """Start the actual update thread.""" + # Create and start the update thread + self.update_thread = UpdateThread() + self.update_thread.update_status.connect(self.on_update_status) + self.update_thread.update_progress.connect(self.on_update_progress) + self.update_thread.update_finished.connect(self.on_update_finished) + self.update_thread.start() + + def on_update_status(self, message): + """Slot to receive status messages from UpdateThread.""" + if not (hasattr(self, '_closing') and self._closing): + self.status_label.setText(message) + + def on_update_progress(self, progress): + """Slot to receive progress updates from UpdateThread.""" + if not (hasattr(self, '_closing') and self._closing): + self.progress_bar.setValue(progress) + + def on_update_finished(self, success, message): + """Slot called when the UpdateThread finishes.""" + # Check if dialog is closing to avoid unnecessary updates + if hasattr(self, '_closing') and self._closing: + return + + self.progress_bar.setValue(100) + self.status_label.setText(message) + self.close_btn.setEnabled(True) + self.update_btn.setText("Update") # Reset button text + + if success: + # Show success briefly then auto-check version + QTimer.singleShot(2000, self.check_version) # Wait 2 seconds then refresh + else: + # Re-enable update button on failure after a short delay + QTimer.singleShot(3000, lambda: self.update_btn.setEnabled(True) if not (hasattr(self, '_closing') and self._closing) else None) + + def closeEvent(self, event): + """Ensure threads are terminated if the dialog is closed prematurely.""" + # Set a flag to indicate dialog is closing + self._closing = True + + if hasattr(self, 'version_check_thread') and self.version_check_thread.isRunning(): + self.version_check_thread.quit() + if not self.version_check_thread.wait(3000): # Wait up to 3 seconds + self.version_check_thread.terminate() + + if hasattr(self, 'update_thread') and self.update_thread.isRunning(): + self.update_thread.quit() + if not self.update_thread.wait(5000): # Wait up to 5 seconds for update to finish + self.update_thread.terminate() + + super().closeEvent(event) + + +class AutoUpdateThread(QThread): + """Thread for performing automatic background updates without UI feedback.""" + update_finished = Signal(bool, str) # success (bool), message (str) + + def run(self): + """Perform automatic yt-dlp update check and update if needed.""" + try: + logger.info("AutoUpdateThread: Performing automatic yt-dlp update check...") + + # Get current version + current_version = get_ytdlp_version() + if "Error" in current_version: + logger.warning("AutoUpdateThread: Could not determine current yt-dlp version, skipping auto-update") + self.update_finished.emit(False, "Could not determine current yt-dlp version") + return + + # Get latest version from PyPI + try: + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + response.raise_for_status() + latest_version = response.json()["info"]["version"] + + # Clean up version strings + current_version = current_version.replace('_', '.') + latest_version = latest_version.replace('_', '.') + + logger.info(f"AutoUpdateThread: Current yt-dlp version: {current_version}") + logger.info(f"AutoUpdateThread: Latest yt-dlp version: {latest_version}") + + # Compare versions + if version.parse(latest_version) > version.parse(current_version): + logger.info(f"AutoUpdateThread: Auto-updating yt-dlp from {current_version} to {latest_version}...") + + # Perform the update + success = self._perform_update() + + if success: + logger.info("AutoUpdateThread: Auto-update completed successfully!") + # Update the last check timestamp + config = load_config() + config['last_update_check'] = time.time() + save_config(config) + self.update_finished.emit(True, f"Successfully updated yt-dlp from {current_version} to {latest_version}") + else: + logger.warning("AutoUpdateThread: Auto-update failed") + self.update_finished.emit(False, "Auto-update failed") + else: + logger.info("AutoUpdateThread: yt-dlp is already up to date") + # Still update the timestamp even if no update was needed + config = load_config() + config['last_update_check'] = time.time() + save_config(config) + self.update_finished.emit(True, f"yt-dlp is already up to date (version {current_version})") + + except requests.RequestException as e: + logger.warning(f"AutoUpdateThread: Network error during auto-update check: {e}") + self.update_finished.emit(False, f"Network error: {e}") + except Exception as e: + logger.error(f"AutoUpdateThread: Error during auto-update check: {e}", exc_info=True) + self.update_finished.emit(False, f"Update check error: {e}") + + except Exception as e: + logger.critical(f"AutoUpdateThread: Critical error in auto-update: {e}", exc_info=True) + self.update_finished.emit(False, f"Critical error: {e}") + + def _perform_update(self): + """Perform the actual update using similar logic to UpdateThread but without UI feedback.""" + try: + # Get the yt-dlp path + yt_dlp_path = get_yt_dlp_path() + + # Check if we're using an app-managed binary or system installation + app_managed_dirs = [ + os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), + os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), + os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) + ] + + is_app_managed = any(os.path.dirname(yt_dlp_path) == dir_path for dir_path in app_managed_dirs) + + if is_app_managed: + logger.info("AutoUpdateThread: Updating app-managed yt-dlp binary...") + return self._update_binary(yt_dlp_path) + else: + logger.info("AutoUpdateThread: Updating system yt-dlp via pip...") + return self._update_via_pip() + + except Exception as e: + logger.error(f"AutoUpdateThread: Error in _perform_update: {e}", exc_info=True) + return False + + def _update_binary(self, yt_dlp_path): + """Update yt-dlp binary directly from GitHub releases (silent version).""" + try: + # Determine the URL based on OS + if sys.platform == 'win32': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" + elif sys.platform == 'darwin': + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" + else: + url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" + + logger.info("AutoUpdateThread: Downloading latest yt-dlp binary...") + + # Download without progress tracking (silent) + response = requests.get(url, stream=True) + if response.status_code != 200: + logger.error(f"AutoUpdateThread: Download failed: HTTP {response.status_code}") + return False + + temp_file = f"{yt_dlp_path}.new" + + with open(temp_file, 'wb') as f: + for chunk in response.iter_content(chunk_size=8192): + if chunk: + f.write(chunk) + + logger.info("AutoUpdateThread: Installing updated binary...") + + # Make executable on Unix systems + if sys.platform != 'win32': + os.chmod(temp_file, 0o755) + + # Replace the old file with the new one + try: + # On Windows, we need to remove the old file first + if sys.platform == 'win32' and os.path.exists(yt_dlp_path): + os.remove(yt_dlp_path) + + os.rename(temp_file, yt_dlp_path) + logger.info("AutoUpdateThread: Binary successfully updated!") + return True + + except Exception as e: + logger.error(f"AutoUpdateThread: Error installing binary: {e}") + # Clean up temp file if it exists + if os.path.exists(temp_file): + try: + os.remove(temp_file) + except: + pass + return False + + except Exception as e: + logger.error(f"AutoUpdateThread: Binary update failed: {e}", exc_info=True) + return False + + def _update_via_pip(self): + """Update yt-dlp via pip (silent version).""" + try: + import pkg_resources + + logger.info("AutoUpdateThread: Checking current pip installation...") + + # Get current version + try: + current_version = pkg_resources.get_distribution("yt-dlp").version + logger.info(f"AutoUpdateThread: Current version: {current_version}") + except pkg_resources.DistributionNotFound: + logger.warning("AutoUpdateThread: yt-dlp not found via pip, attempting installation...") + current_version = "0.0.0" + + # Get the latest version from PyPI + logger.info("AutoUpdateThread: Checking for latest version...") + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) + + if response.status_code != 200: + logger.error("AutoUpdateThread: Failed to check for updates") + return False + + data = response.json() + latest_version = data["info"]["version"] + logger.info(f"AutoUpdateThread: Latest version: {latest_version}") + + # Compare versions + if version.parse(latest_version) > version.parse(current_version): + logger.info(f"AutoUpdateThread: Updating from {current_version} to {latest_version}...") + + # Create startupinfo to hide console on Windows + startupinfo = None + if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + startupinfo.wShowWindow = 0 # SW_HIDE + + # Run pip update + logger.info("AutoUpdateThread: Running pip install --upgrade...") + update_result = subprocess.run( + [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], + capture_output=True, + text=True, + check=False, + startupinfo=startupinfo + ) + + if update_result.returncode == 0: + logger.info("AutoUpdateThread: Pip update completed successfully!") + return True + else: + logger.error(f"AutoUpdateThread: Pip update failed: {update_result.stderr}") + return False + else: + logger.info("AutoUpdateThread: yt-dlp is already up to date!") + return True + + except Exception as e: + logger.error(f"AutoUpdateThread: Pip update failed: {e}", exc_info=True) + return False diff --git a/src/gui/ytsage_gui_dialogs.py b/src/gui/ytsage_gui_dialogs.py new file mode 100644 index 0000000..a925021 --- /dev/null +++ b/src/gui/ytsage_gui_dialogs.py @@ -0,0 +1,37 @@ +""" +YTSage GUI Dialogs Module + +This module serves as a centralized import point for all dialog classes in YTSage. +The dialogs have been split into logical modules for better maintainability: + +- dialogs.ytsage_dialogs_base: Base utility dialogs (LogWindow, AboutDialog) +- dialogs.ytsage_dialogs_settings: Settings configuration dialogs +- dialogs.ytsage_dialogs_update: Update-related dialogs and threads +- dialogs.ytsage_dialogs_ffmpeg: FFmpeg installation dialogs +- dialogs.ytsage_dialogs_selection: Subtitle and playlist selection dialogs +- dialogs.ytsage_dialogs_custom: Custom functionality dialogs +""" + +# Import all dialog classes from the dialogs package +from .dialogs import * + +# For backward compatibility, re-export all dialog classes +__all__ = [ + # Base dialogs + 'LogWindow', 'AboutDialog', + + # Settings dialogs + 'DownloadSettingsDialog', 'AutoUpdateSettingsDialog', + + # Update dialogs and threads + 'VersionCheckThread', 'UpdateThread', 'YTDLPUpdateDialog', 'AutoUpdateThread', + + # FFmpeg dialogs + 'FFmpegInstallThread', 'FFmpegCheckDialog', + + # Selection dialogs + 'SubtitleSelectionDialog', 'PlaylistSelectionDialog', 'SponsorBlockCategoryDialog', + + # Custom functionality dialogs + 'CustomCommandDialog', 'CookieLoginDialog', 'CustomOptionsDialog', 'TimeRangeDialog' +] diff --git a/ytsage_gui_dialogs.py b/ytsage_gui_dialogs.py deleted file mode 100644 index 7507a61..0000000 --- a/ytsage_gui_dialogs.py +++ /dev/null @@ -1,3011 +0,0 @@ -import sys -import os -import webbrowser -from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, - QHBoxLayout, QLineEdit, QPushButton, QTableWidget, - QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QListWidget, - QListWidgetItem, QDialogButtonBox, QScrollArea, QGroupBox, QTabWidget, QRadioButton, QMessageBox) -from PySide6.QtCore import Qt, Signal, QObject, QThread, QProcess, QTimer -from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap -import requests -from io import BytesIO -from PIL import Image -from datetime import datetime -import json -from pathlib import Path -from packaging import version -import subprocess -import re -try: - import yt_dlp - YT_DLP_AVAILABLE = True -except ImportError: - YT_DLP_AVAILABLE = False - print("Warning: yt-dlp not available at startup, will be downloaded at runtime") -import time # Add time import for cache timestamps -from ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed -from ytsage_yt_dlp import get_yt_dlp_path - -from ytsage_utils import check_ffmpeg, load_saved_path, save_path, get_ytdlp_version, get_ffmpeg_version, refresh_version_cache, _version_cache # Import utility functions - - -class LogWindow(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('yt-dlp Log') - self.setMinimumSize(700, 500) - - layout = QVBoxLayout(self) - - self.log_text = QTextEdit() - self.log_text.setReadOnly(True) - self.log_text.setStyleSheet(""" - QTextEdit { - background-color: #2b2b2b; - color: #ffffff; - font-family: Consolas, monospace; - font-size: 12px; - border: 2px solid #3d3d3d; - border-radius: 4px; - } - """) - - layout.addWidget(self.log_text) - - def append_log(self, message): - self.log_text.append(message) - # Auto-scroll to bottom - scrollbar = self.log_text.verticalScrollBar() - scrollbar.setValue(scrollbar.maximum()) - -class CustomCommandDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.parent = parent - self.setWindowTitle('Custom yt-dlp Command') - self.setMinimumSize(600, 400) - - layout = QVBoxLayout(self) - - # Help text - help_text = QLabel( - "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" - "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" - "Note: Download path and output template will be preserved." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - layout.addWidget(help_text) - - # Command input - self.command_input = QPlainTextEdit() - self.command_input.setPlaceholderText("Enter yt-dlp arguments...") - self.command_input.setStyleSheet(""" - QPlainTextEdit { - background-color: #1d1e22; - color: #ffffff; - border: 2px solid #1d1e22; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - } - """) - layout.addWidget(self.command_input) - - # Add SponsorBlock checkbox - self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #1d1e22; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 9px; - } - """) - layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) - - # Buttons - button_layout = QHBoxLayout() - - self.run_btn = QPushButton("Run Command") - self.run_btn.clicked.connect(self.run_custom_command) - - self.close_btn = QPushButton("Close") - self.close_btn.clicked.connect(self.close) - - button_layout.addWidget(self.run_btn) - button_layout.addWidget(self.close_btn) - layout.addLayout(button_layout) - - # Log output - self.log_output = QTextEdit() - self.log_output.setReadOnly(True) - self.log_output.setStyleSheet(""" - QTextEdit { - background-color: #1d1e22; - color: #ffffff; - border: 2px solid #1d1e22; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - font-size: 12px; - } - """) - layout.addWidget(self.log_output) - - self.setStyleSheet(""" - QDialog { - background-color: #15181b; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #a50000; - } - """) - - def run_custom_command(self): - url = self.parent.url_input.text().strip() - if not url: - self.log_output.append("Error: No URL provided") - return - - command = self.command_input.toPlainText().strip() - path = self.parent.path_input.text().strip() - - self.log_output.clear() - self.log_output.append(f"Running command with URL: {url}") - self.run_btn.setEnabled(False) - - # Start command in thread - import threading - threading.Thread(target=self._run_command_thread, - args=(command, url, path), - daemon=True).start() - - def _run_command_thread(self, command, url, path): - try: - class CommandLogger: - def debug(self, msg): - self.dialog.log_output.append(msg) - def warning(self, msg): - self.dialog.log_output.append(f"Warning: {msg}") - def error(self, msg): - self.dialog.log_output.append(f"Error: {msg}") - def __init__(self, dialog): - self.dialog = dialog - - # Split command into arguments - args = command.split() - - # Base options - ydl_opts = { - 'logger': CommandLogger(self), - 'paths': {'home': path}, - 'debug_printout': True, - 'postprocessors': [] - } - - # Add SponsorBlock options if enabled - if self.sponsorblock_checkbox.isChecked(): - ydl_opts['postprocessors'].extend([{ - 'key': 'SponsorBlock', - 'categories': ['sponsor', 'selfpromo', 'interaction'], - 'api': 'https://sponsor.ajay.app' - }, { - 'key': 'ModifyChapters', - 'remove_sponsor_segments': ['sponsor', 'selfpromo', 'interaction'], - 'sponsorblock_chapter_title': '[SponsorBlock]: %(category_names)l', - 'force_keyframes': True - }]) - - # Add custom arguments - for i in range(0, len(args), 2): - if i + 1 < len(args): - key = args[i].lstrip('-').replace('-', '_') - value = args[i + 1] - try: - # Try to convert to appropriate type - if value.lower() in ('true', 'false'): - value = value.lower() == 'true' - elif value.isdigit(): - value = int(value) - ydl_opts[key] = value - except: - ydl_opts[key] = value - - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([url]) - - self.log_output.append("Command completed successfully") - - except Exception as e: - self.log_output.append(f"Error: {str(e)}") - finally: - self.run_btn.setEnabled(True) - -class FFmpegInstallThread(QThread): - finished = Signal(bool) - progress = Signal(str) - - def run(self): - # Redirect stdout to capture progress messages - import sys - from io import StringIO - import contextlib - - output = StringIO() - with contextlib.redirect_stdout(output): - success = auto_install_ffmpeg() - - # Process captured output and emit progress signals - for line in output.getvalue().splitlines(): - self.progress.emit(line) - - self.finished.emit(success) - -class FFmpegCheckDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('Installing FFmpeg') - self.setMinimumWidth(450) - self.setMinimumHeight(250) - - # Set the window icon to match the main app - self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) - - layout = QVBoxLayout(self) - layout.setSpacing(15) - - # Header with icon - header_layout = QHBoxLayout() - icon_label = QLabel() - icon_label.setPixmap(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown).pixmap(32, 32)) - header_layout.addWidget(icon_label) - - header_text = QLabel("FFmpeg Installation") - header_text.setStyleSheet("font-size: 16px; font-weight: bold;") - header_layout.addWidget(header_text) - header_layout.addStretch() - layout.addLayout(header_layout) - - # Message - self.message_label = QLabel( - "🎥 YTSage needs FFmpeg to process videos.\n" - "Let's set it up for you automatically!" - ) - self.message_label.setWordWrap(True) - self.message_label.setStyleSheet("font-size: 13px;") - layout.addWidget(self.message_label) - - # Progress label with cool emojis - self.progress_label = QLabel("") - self.progress_label.setWordWrap(True) - self.progress_label.setStyleSheet(""" - QLabel { - background-color: #1e1e1e; - border-radius: 5px; - padding: 10px; - font-family: 'Consolas', monospace; - font-size: 12px; - } - """) - self.progress_label.hide() - layout.addWidget(self.progress_label) - - # Buttons container - button_layout = QHBoxLayout() - - # Install button - self.install_btn = QPushButton("Install FFmpeg") - self.install_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) - self.install_btn.clicked.connect(self.start_installation) - button_layout.addWidget(self.install_btn) - - # Manual install button - self.manual_btn = QPushButton("Manual Guide") - self.manual_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogHelpButton)) - self.manual_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/ffmpeg-install-guide')) - button_layout.addWidget(self.manual_btn) - - # Close button - self.close_btn = QPushButton("Close") - self.close_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton)) - self.close_btn.clicked.connect(self.close) - button_layout.addWidget(self.close_btn) - - layout.addLayout(button_layout) - - # Style the dialog - self.setStyleSheet(""" - QDialog { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #3d3d3d; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - margin: 5px; - min-width: 100px; - } - QPushButton:hover { - background-color: #4d4d4d; - } - QPushButton:disabled { - background-color: #2d2d2d; - color: #666666; - } - """) - - # Initialize installation thread - self.install_thread = None - - def start_installation(self): - self.install_btn.setEnabled(False) - self.manual_btn.setEnabled(False) - self.close_btn.setEnabled(False) - - # Check if FFmpeg is already installed - if check_ffmpeg_installed(): - self.message_label.setText("🎉 FFmpeg is already installed!") - self.progress_label.setText("✅ You can close this dialog and continue using YTSage.") - self.install_btn.hide() - self.manual_btn.hide() - self.close_btn.setEnabled(True) - return - - self.message_label.setText("🚀 Installing FFmpeg... Hold tight!") - self.progress_label.show() - - self.install_thread = FFmpegInstallThread() - self.install_thread.finished.connect(self.installation_finished) - self.install_thread.progress.connect(self.update_progress) - self.install_thread.start() - - def update_progress(self, message): - self.progress_label.setText(message) - - def installation_finished(self, success): - if success: - self.message_label.setText("🎉 FFmpeg has been installed successfully!") - self.progress_label.setText("✅ You're all set! You can now close this dialog and continue using YTSage.") - self.install_btn.hide() - self.manual_btn.hide() - else: - self.message_label.setText("❌ Oops! FFmpeg installation encountered an issue.") - self.progress_label.setText("💡 Try using the manual installation guide instead.") - self.install_btn.setEnabled(True) - self.manual_btn.setEnabled(True) - - self.close_btn.setEnabled(True) - -class VersionCheckThread(QThread): - finished = Signal(str, str, str) # current_version, latest_version, error_message - - def run(self): - current_version = "" - latest_version = "" - error_message = "" - - try: - # Get the yt-dlp executable path using the new module - yt_dlp_path = get_yt_dlp_path() - - # Get current version with timeout - try: - result = subprocess.run([yt_dlp_path, '--version'], - capture_output=True, - text=True, - timeout=30, # 30 second timeout - startupinfo=None if sys.platform != 'win32' else subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW, wShowWindow=subprocess.SW_HIDE), # Hide console window on Windows - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) # Hide console window on Windows - if result.returncode == 0: - current_version = result.stdout.strip() - else: # Try fallback if command failed - if YT_DLP_AVAILABLE: - current_version = yt_dlp.version.__version__ - else: - error_message = "yt-dlp not available." - self.finished.emit(current_version, latest_version, error_message) - return - except subprocess.TimeoutExpired: - # Try fallback if timeout - if YT_DLP_AVAILABLE: - current_version = yt_dlp.version.__version__ - else: - error_message = "yt-dlp version check timed out and package not found." - self.finished.emit(current_version, latest_version, error_message) - return - except Exception: - # Fallback to importing yt_dlp package directly if subprocess fails - if YT_DLP_AVAILABLE: - current_version = yt_dlp.version.__version__ - else: - error_message = "yt-dlp not found or accessible." - self.finished.emit(current_version, latest_version, error_message) - return - - - # Get latest version from PyPI - response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) # Add timeout - response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx) - latest_version = response.json()["info"]["version"] - - # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - - except requests.RequestException as e: - error_message = f"Network error checking PyPI: {e}" - except Exception as e: - error_message = f"Error checking version: {e}" - - self.finished.emit(current_version, latest_version, error_message) - - -class UpdateThread(QThread): - update_status = Signal(str) # For status messages - update_progress = Signal(int) # For progress percentage (0-100) - update_finished = Signal(bool, str) # success (bool), message/error (str) - - def run(self): - error_message = "" - success = False - try: - import requests - import subprocess - import pkg_resources - from packaging import version - import os - import sys - import shutil - from ytsage_yt_dlp import get_yt_dlp_path - - self.update_status.emit("🔍 Checking current installation...") - self.update_progress.emit(10) - - # Get the yt-dlp path - try: - yt_dlp_path = get_yt_dlp_path() - self.update_status.emit(f"📍 Found yt-dlp at: {os.path.basename(yt_dlp_path)}") - except Exception as e: - self.update_status.emit(f"❌ Error getting yt-dlp path: {e}") - self.update_finished.emit(False, f"❌ Error getting yt-dlp path: {e}") - return - - # Create startupinfo to hide console on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - - self.update_progress.emit(20) - - # Check if we're using an app-managed binary or system installation - app_managed_dirs = [ - os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), - os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), - os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) - ] - - is_app_managed = any(os.path.dirname(yt_dlp_path) == dir_path for dir_path in app_managed_dirs) - - if is_app_managed: - self.update_status.emit("📦 Updating app-managed yt-dlp binary...") - success = self._update_binary(yt_dlp_path) - else: - self.update_status.emit("🐍 Updating system yt-dlp via pip...") - success = self._update_via_pip(startupinfo) - - if success: - self.update_progress.emit(100) - error_message = "✅ yt-dlp has been successfully updated!" - else: - error_message = "❌ Failed to update yt-dlp. Please try again or check your internet connection." - - except requests.RequestException as e: - error_message = f"❌ Network error during update: {str(e)}" - self.update_status.emit(error_message) - success = False - except Exception as e: - error_message = f"❌ Update failed: {str(e)}" - self.update_status.emit(error_message) - success = False - - self.update_finished.emit(success, error_message) - - def _update_binary(self, yt_dlp_path): - """Update yt-dlp binary directly from GitHub releases.""" - try: - self.update_status.emit("🌐 Determining download URL...") - self.update_progress.emit(30) - - # Determine the URL based on OS - if sys.platform == 'win32': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" - elif sys.platform == 'darwin': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" - else: - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" - - self.update_status.emit("⬇️ Downloading latest yt-dlp binary...") - self.update_progress.emit(40) - - # Download with progress tracking and timeout - response = requests.get(url, stream=True, timeout=30) - if response.status_code != 200: - self.update_status.emit(f"❌ Download failed: HTTP {response.status_code}") - return False - - total_size = int(response.headers.get('content-length', 0)) - temp_file = f"{yt_dlp_path}.new" - downloaded = 0 - - self.update_status.emit("💾 Downloading and saving binary...") - - with open(temp_file, 'wb') as f: - for chunk in response.iter_content(chunk_size=8192): - if chunk: - f.write(chunk) - downloaded += len(chunk) - - # Update progress (40-80% for download) - if total_size > 0: - progress = 40 + int((downloaded / total_size) * 40) - self.update_progress.emit(progress) - - self.update_status.emit("🔧 Installing updated binary...") - self.update_progress.emit(85) - - # Make executable on Unix systems - if sys.platform != 'win32': - os.chmod(temp_file, 0o755) - - # Replace the old file with the new one - try: - # On Windows, we need to remove the old file first - if sys.platform == 'win32' and os.path.exists(yt_dlp_path): - os.remove(yt_dlp_path) - - os.rename(temp_file, yt_dlp_path) - self.update_status.emit("✅ Binary successfully updated!") - self.update_progress.emit(95) - return True - - except Exception as e: - self.update_status.emit(f"❌ Error installing binary: {e}") - # Clean up temp file if it exists - if os.path.exists(temp_file): - try: - os.remove(temp_file) - except: - pass - return False - - except requests.RequestException as e: - self.update_status.emit(f"❌ Network error: {e}") - return False - except Exception as e: - self.update_status.emit(f"❌ Binary update failed: {e}") - return False - - def _update_via_pip(self, startupinfo): - """Update yt-dlp via pip.""" - try: - import pkg_resources - - self.update_status.emit("🔍 Checking current pip installation...") - self.update_progress.emit(30) - - # Get current version - try: - current_version = pkg_resources.get_distribution("yt-dlp").version - self.update_status.emit(f"📋 Current version: {current_version}") - except pkg_resources.DistributionNotFound: - self.update_status.emit("⚠️ yt-dlp not found via pip, attempting installation...") - current_version = "0.0.0" - - self.update_progress.emit(40) - - # Get the latest version from PyPI - self.update_status.emit("🌐 Checking for latest version...") - response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) - - if response.status_code != 200: - self.update_status.emit("❌ Failed to check for updates") - return False - - data = response.json() - latest_version = data["info"]["version"] - self.update_status.emit(f"🆕 Latest version: {latest_version}") - self.update_progress.emit(50) - - # Compare versions - from packaging import version - if version.parse(latest_version) > version.parse(current_version): - self.update_status.emit(f"⬆️ Updating from {current_version} to {latest_version}...") - self.update_progress.emit(60) - - try: - # Run pip update with timeout - self.update_status.emit("📦 Running pip install --upgrade...") - update_result = subprocess.run( - [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], - capture_output=True, - text=True, - check=False, - timeout=300, # 5 minute timeout for pip install - startupinfo=startupinfo - ) - - self.update_progress.emit(85) - - if update_result.returncode == 0: - self.update_status.emit("✅ Pip update completed successfully!") - self.update_progress.emit(95) - return True - else: - self.update_status.emit(f"❌ Pip update failed: {update_result.stderr}") - return False - - except subprocess.TimeoutExpired: - self.update_status.emit("❌ Pip update timed out after 5 minutes") - return False - except Exception as e: - self.update_status.emit(f"❌ Error during pip update: {e}") - return False - else: - self.update_status.emit("✅ yt-dlp is already up to date!") - self.update_progress.emit(95) - return True - - except Exception as e: - self.update_status.emit(f"❌ Pip update failed: {e}") - return False - - -class YTDLPUpdateDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle("Update yt-dlp") - self.setMinimumWidth(450) - self.setMinimumHeight(200) - self._closing = False # Flag to track if dialog is closing - - layout = QVBoxLayout(self) - - # Status label - self.status_label = QLabel("Checking for updates...") - self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.status_label.setWordWrap(True) - self.status_label.setMinimumHeight(60) - layout.addWidget(self.status_label) - - # Progress bar - self.progress_bar = QProgressBar() - self.progress_bar.hide() # Hide initially - layout.addWidget(self.progress_bar) - - # Buttons - button_layout = QHBoxLayout() - self.update_btn = QPushButton("Update") - self.update_btn.clicked.connect(self.perform_update) - self.update_btn.setEnabled(False) - - self.close_btn = QPushButton("Close") - self.close_btn.clicked.connect(self.close) - - button_layout.addWidget(self.update_btn) - button_layout.addWidget(self.close_btn) - layout.addLayout(button_layout) - - # Style - self.setStyleSheet(""" - QDialog { - background-color: #15181b; - } - QLabel { - color: #ffffff; - font-size: 12px; - padding: 10px; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - min-width: 100px; - } - QPushButton:disabled { - background-color: #666666; - } - QPushButton:hover { - background-color: #a50000; - } - QProgressBar { - border: 2px solid #1d1e22; - border-radius: 6px; - text-align: center; - color: white; - background-color: #1d1e22; - height: 30px; - font-weight: bold; - font-size: 12px; - } - QProgressBar::chunk { - background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, - stop: 0 #e60000, stop: 0.5 #ff3333, stop: 1 #c90000); - border-radius: 4px; - margin: 1px; - } - """) - - # Start version check in background - self.check_version() - - def check_version(self): - self.status_label.setText("Checking for updates...") - self.update_btn.setEnabled(False) - self.version_check_thread = VersionCheckThread() - self.version_check_thread.finished.connect(self.on_version_check_finished) - self.version_check_thread.start() - - def on_version_check_finished(self, current_version, latest_version, error_message): - # Check if dialog is closing to avoid unnecessary updates - if hasattr(self, '_closing') and self._closing: - return - - if error_message: - self.status_label.setText(error_message) - self.update_btn.setEnabled(False) - return - - if not current_version or not latest_version: - self.status_label.setText("Could not determine versions.") - self.update_btn.setEnabled(False) - return - - try: - # Compare versions - current_ver = version.parse(current_version) - latest_ver = version.parse(latest_version) - - if current_ver < latest_ver: - self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") - self.update_btn.setEnabled(True) - else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") - self.update_btn.setEnabled(False) - except version.InvalidVersion: - # If version parsing fails, do a simple string comparison - if current_version != latest_version: - self.status_label.setText(f"Update available! (Comparison failed)\nCurrent: {current_version}\nLatest: {latest_version}") - self.update_btn.setEnabled(True) - else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") - self.update_btn.setEnabled(False) - except Exception as e: # Catch any other unexpected errors during comparison - self.status_label.setText(f"Error comparing versions: {e}") - self.update_btn.setEnabled(False) - - def perform_update(self): - # Immediate visual feedback - self.update_btn.setEnabled(False) - self.close_btn.setEnabled(False) - self.update_btn.setText("Updating...") - self.status_label.setText("🚀 Initializing update process...") - - # Show progress bar immediately - self.progress_bar.setRange(0, 100) - self.progress_bar.setValue(0) - self.progress_bar.show() - - # Start the update thread immediately without processEvents() - # The QTimer delay was unnecessary and could cause issues - self._start_update_thread() - - def _start_update_thread(self): - """Start the actual update thread after giving immediate feedback.""" - # Create and start the update thread - self.update_thread = UpdateThread() - self.update_thread.update_status.connect(self.on_update_status) - self.update_thread.update_progress.connect(self.on_update_progress) - self.update_thread.update_finished.connect(self.on_update_finished) - self.update_thread.start() - - def on_update_status(self, message): - """Slot to receive status messages from UpdateThread.""" - if not (hasattr(self, '_closing') and self._closing): - self.status_label.setText(message) - - def on_update_progress(self, progress): - """Slot to receive progress updates from UpdateThread.""" - if not (hasattr(self, '_closing') and self._closing): - self.progress_bar.setValue(progress) - - def on_update_finished(self, success, message): - """Slot called when the UpdateThread finishes.""" - # Check if dialog is closing to avoid unnecessary updates - if hasattr(self, '_closing') and self._closing: - return - - self.progress_bar.setValue(100) - self.status_label.setText(message) - self.close_btn.setEnabled(True) - self.update_btn.setText("Update") # Reset button text - - if success: - # Show success briefly then auto-check version - QTimer.singleShot(2000, self.check_version) # Wait 2 seconds then refresh - else: - # Re-enable update button on failure after a short delay - QTimer.singleShot(3000, lambda: self.update_btn.setEnabled(True) if not (hasattr(self, '_closing') and self._closing) else None) - - def closeEvent(self, event): - """Ensure threads are terminated if the dialog is closed prematurely.""" - # Set a flag to indicate dialog is closing - self._closing = True - - if hasattr(self, 'version_check_thread') and self.version_check_thread.isRunning(): - self.version_check_thread.quit() - if not self.version_check_thread.wait(3000): # Wait up to 3 seconds - self.version_check_thread.terminate() - - if hasattr(self, 'update_thread') and self.update_thread.isRunning(): - self.update_thread.quit() - if not self.update_thread.wait(5000): # Wait up to 5 seconds for update to finish - self.update_thread.terminate() - - super().closeEvent(event) - -class AboutDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.parent = parent # Store parent to access version etc. - self.setWindowTitle("About YTSage") - self.setMinimumWidth(450) - - layout = QVBoxLayout(self) - layout.setSpacing(15) - layout.setContentsMargins(20, 20, 20, 20) - - # Title and Version - title_label = QLabel("

YTSage

") - title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - layout.addWidget(title_label) - - version_label = QLabel(f"Version: {getattr(self.parent, 'version', 'N/A')}") - version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - version_label.setStyleSheet("color: #cccccc;") - layout.addWidget(version_label) - - # Description - description_label = QLabel("A simple GUI frontend for the powerful yt-dlp video downloader.") - description_label.setWordWrap(True) - description_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - description_label.setStyleSheet("color: #ffffff; padding-top: 10px;") - layout.addWidget(description_label) - - # Separator - separator = QWidget() - separator.setFixedHeight(1) - separator.setStyleSheet("background-color: #1d1e22;") - layout.addWidget(separator) - - # Information Section - info_layout = QVBoxLayout() - info_layout.setSpacing(8) - - # Author - author_label = QLabel("Created by: oop7") - author_label.setOpenExternalLinks(True) - info_layout.addWidget(author_label) - - # GitHub Repo - repo_label = QLabel("GitHub: github.com/oop7/YTSage") - repo_label.setOpenExternalLinks(True) - info_layout.addWidget(repo_label) - - # Create version info container with refresh button - version_container = QVBoxLayout() - - # Header with refresh button - header_layout = QHBoxLayout() - header_label = QLabel("System Information") - header_label.setStyleSheet("color: #ffffff; font-size: 14px;") - header_layout.addWidget(header_label) - - header_layout.addStretch() - - self.refresh_btn = QPushButton("Refresh") - self.refresh_btn.setStyleSheet(""" - QPushButton { - padding: 4px 12px; - background-color: #3d3d3d; - border: 1px solid #555555; - border-radius: 4px; - color: white; - font-size: 11px; - } - QPushButton:hover { - background-color: #4d4d4d; - } - QPushButton:pressed { - background-color: #2d2d2d; - } - """) - self.refresh_btn.clicked.connect(self.refresh_version_info) - header_layout.addWidget(self.refresh_btn) - - version_container.addLayout(header_layout) - - # Version information labels (stored as instance variables for updating) - self.version_info_layout = QVBoxLayout() - version_container.addLayout(self.version_info_layout) - - # Populate version information - self.update_version_info() - - info_layout.addLayout(version_container) - layout.addLayout(info_layout) - - # Close Button - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok) - button_box.accepted.connect(self.accept) - # Center the button box - button_layout = QHBoxLayout() - button_layout.addStretch() - button_layout.addWidget(button_box) - button_layout.addStretch() - layout.addLayout(button_layout) - - # Apply overall styling - self.setStyleSheet(""" - QDialog { background-color: #15181b; color: #ffffff; } - QLabel { color: #cccccc; } - QPushButton { - padding: 8px 25px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { background-color: #a50000; } - """) - - def update_version_info(self): - """Update the version information display.""" - # Clear existing labels - for i in reversed(range(self.version_info_layout.count())): - child = self.version_info_layout.itemAt(i).widget() - if child: - child.deleteLater() - - # yt-dlp path and version - yt_dlp_path = get_yt_dlp_path() - yt_dlp_path_text = yt_dlp_path if yt_dlp_path else 'yt-dlp not found in PATH' - yt_dlp_version = get_ytdlp_version() - - yt_dlp_label = QLabel(f"yt-dlp Path: {yt_dlp_path_text}") - yt_dlp_label.setWordWrap(True) - self.version_info_layout.addWidget(yt_dlp_label) - - # Add cache status for yt-dlp - ytdlp_cache = _version_cache.get('ytdlp', {}) - last_check = ytdlp_cache.get('last_check', 0) - cache_status = "" - if last_check > 0: - import time - from datetime import datetime - cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M:%S") - cache_status = f" (checked at {cache_time})" - - yt_dlp_version_label = QLabel(f"yt-dlp Version: {yt_dlp_version}{cache_status}") - yt_dlp_version_label.setWordWrap(True) - self.version_info_layout.addWidget(yt_dlp_version_label) - - # FFmpeg Status and Version - ffmpeg_found = check_ffmpeg() - ffmpeg_status_text = "Detected" if ffmpeg_found else "Not Detected" - ffmpeg_version = get_ffmpeg_version() if ffmpeg_found else "Not Available" - - ffmpeg_label = QLabel(f"FFmpeg Status: {ffmpeg_status_text}") - self.version_info_layout.addWidget(ffmpeg_label) - - # Add cache status for FFmpeg - ffmpeg_cache = _version_cache.get('ffmpeg', {}) - last_check = ffmpeg_cache.get('last_check', 0) - cache_status = "" - if last_check > 0 and ffmpeg_found: - import time - from datetime import datetime - cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M:%S") - cache_status = f" (checked at {cache_time})" - - ffmpeg_version_label = QLabel(f"FFmpeg Version: {ffmpeg_version}{cache_status}") - ffmpeg_version_label.setWordWrap(True) - self.version_info_layout.addWidget(ffmpeg_version_label) - - def refresh_version_info(self): - """Refresh version information manually.""" - self.refresh_btn.setText("Refreshing...") - self.refresh_btn.setEnabled(False) - - # Perform refresh in a separate thread to avoid blocking UI - from PySide6.QtCore import QThread, Signal - - class RefreshThread(QThread): - finished = Signal(bool) - - def run(self): - success = refresh_version_cache(force=True) - self.finished.emit(success) - - self.refresh_thread = RefreshThread() - self.refresh_thread.finished.connect(self.on_refresh_finished) - self.refresh_thread.start() - - def on_refresh_finished(self, success): - """Handle refresh completion.""" - self.refresh_btn.setText("Refresh") - self.refresh_btn.setEnabled(True) - - if success: - self.update_version_info() - else: - # Show error message with proper styling - msg_box = QMessageBox(self) - msg_box.setIcon(QMessageBox.Warning) - msg_box.setWindowTitle("Refresh Failed") - msg_box.setText("Failed to refresh version information.") - msg_box.setWindowIcon(self.windowIcon()) - msg_box.setStyleSheet(""" - QMessageBox { - background-color: #15181b; - color: #ffffff; - } - QMessageBox QLabel { - color: #ffffff; - } - QMessageBox QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - min-width: 80px; - } - QMessageBox QPushButton:hover { - background-color: #a50000; - } - """) - msg_box.exec() - -# --- New Subtitle Selection Dialog --- -class SubtitleSelectionDialog(QDialog): - def __init__(self, available_manual, available_auto, previously_selected, parent=None): - super().__init__(parent) - self.setWindowTitle("Select Subtitles") - self.setMinimumWidth(400) - self.setMinimumHeight(300) - - self.available_manual = available_manual - self.available_auto = available_auto - self.previously_selected = set(previously_selected) # Use a set for quick lookups - self.selected_subtitles = list(previously_selected) # Initialize with previous selection - - layout = QVBoxLayout(self) - layout.setSpacing(10) - - # Filter input - self.filter_input = QLineEdit() - self.filter_input.setPlaceholderText("Filter languages (e.g., en, es)...") - self.filter_input.textChanged.connect(self.filter_list) - self.filter_input.setStyleSheet(""" - QLineEdit { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px; - min-height: 30px; - color: white; - } - QLineEdit:focus { - border-color: #ff0000; - } - """) - layout.addWidget(self.filter_input) - - # Scroll Area for the list - scroll_area = QScrollArea() - scroll_area.setWidgetResizable(True) - scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area - layout.addWidget(scroll_area) - - # Container widget for list items (needed for scroll area) - self.list_container = QWidget() - self.list_layout = QVBoxLayout(self.list_container) - self.list_layout.setContentsMargins(0, 0, 0, 0) - self.list_layout.setSpacing(2) # Compact spacing - self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top - scroll_area.setWidget(self.list_container) - - # Populate the list initially - self.populate_list() - - # OK and Cancel buttons - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - - # Style the buttons - for button in button_box.buttons(): - button.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 15px; /* Adjust padding */ - min-height: 30px; /* Ensure consistent height */ - color: white; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:pressed { - background-color: #555555; - } - """) - # Style the OK button specifically if needed - if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: - button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") - - - layout.addWidget(button_box) - - def populate_list(self, filter_text=""): - # Clear existing checkboxes from layout - while self.list_layout.count(): - item = self.list_layout.takeAt(0) - widget = item.widget() - if widget is not None: - widget.deleteLater() - - filter_text = filter_text.lower() - combined_subs = {} - - # Add manual subs - for lang_code, sub_info in self.available_manual.items(): - if not filter_text or filter_text in lang_code.lower(): - combined_subs[lang_code] = f"{lang_code} - Manual" - - # Add auto subs (only if no manual exists and matches filter) - for lang_code, sub_info in self.available_auto.items(): - if lang_code not in combined_subs: # Don't overwrite manual - if not filter_text or filter_text in lang_code.lower(): - combined_subs[lang_code] = f"{lang_code} - Auto-generated" - - if not combined_subs: - no_subs_label = QLabel("No subtitles available" + (f" matching '{filter_text}'" if filter_text else "")) - no_subs_label.setStyleSheet("color: #aaaaaa; padding: 10px;") - self.list_layout.addWidget(no_subs_label) - return - - # Sort by language code - sorted_lang_codes = sorted(combined_subs.keys()) - - for lang_code in sorted_lang_codes: - item_text = combined_subs[lang_code] - checkbox = QCheckBox(item_text) - checkbox.setProperty("subtitle_id", item_text) # Store the identifier - checkbox.setChecked(item_text in self.previously_selected) # Check if previously selected - checkbox.stateChanged.connect(self.update_selection) - checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 4px; /* Square checkboxes */ - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - } - """) - self.list_layout.addWidget(checkbox) - - self.list_layout.addStretch() # Pushes items up if list is short - - def filter_list(self): - self.populate_list(self.filter_input.text()) - - def update_selection(self, state): - sender = self.sender() - subtitle_id = sender.property("subtitle_id") - if state == Qt.CheckState.Checked.value: - if subtitle_id not in self.previously_selected: - self.previously_selected.add(subtitle_id) - else: - if subtitle_id in self.previously_selected: - self.previously_selected.remove(subtitle_id) - - def get_selected_subtitles(self): - # Return the final set as a list - return list(self.previously_selected) - - def accept(self): - # Update the final list before closing - self.selected_subtitles = self.get_selected_subtitles() - super().accept() - -# --- End Subtitle Selection Dialog --- - - -# --- Playlist Video Selection Dialog --- - -class PlaylistSelectionDialog(QDialog): - def __init__(self, playlist_entries, previously_selected_string, parent=None): - super().__init__(parent) - self.setWindowTitle("Select Playlist Videos") - self.setMinimumWidth(500) - self.setMinimumHeight(400) # Allow more vertical space - - self.playlist_entries = playlist_entries - self.checkboxes = [] - - # Main layout - main_layout = QVBoxLayout(self) - - # Top buttons (Select/Deselect All) - button_layout = QHBoxLayout() - select_all_btn = QPushButton("Select All") - deselect_all_btn = QPushButton("Deselect All") - select_all_btn.clicked.connect(self._select_all) - deselect_all_btn.clicked.connect(self._deselect_all) - # Style the buttons to match the subtitle dialog - select_all_btn.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 15px; - min-height: 30px; - color: white; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:pressed { - background-color: #555555; - } - """) - deselect_all_btn.setStyleSheet(select_all_btn.styleSheet()) - button_layout.addWidget(select_all_btn) - button_layout.addWidget(deselect_all_btn) - button_layout.addStretch() - main_layout.addLayout(button_layout) - - # Scrollable area for checkboxes - scroll_area = QScrollArea() - scroll_area.setWidgetResizable(True) - scroll_area.setStyleSheet("QScrollArea { border: none; }") # Remove border around scroll area - scroll_widget = QWidget() - self.list_layout = QVBoxLayout(scroll_widget) # Layout for checkboxes - self.list_layout.setContentsMargins(0, 0, 0, 0) - self.list_layout.setSpacing(2) # Compact spacing - self.list_layout.setAlignment(Qt.AlignmentFlag.AlignTop) # Align items to top - scroll_area.setWidget(scroll_widget) - main_layout.addWidget(scroll_area) - - # Populate checkboxes - self._populate_list(previously_selected_string) - - # Dialog buttons (OK/Cancel) - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - - # Style the buttons to match subtitle dialog - for button in button_box.buttons(): - button.setStyleSheet(""" - QPushButton { - background-color: #363636; - border: 2px solid #3d3d3d; - border-radius: 4px; - padding: 5px 15px; - min-height: 30px; - color: white; - } - QPushButton:hover { - background-color: #444444; - } - QPushButton:pressed { - background-color: #555555; - } - """) - # Style the OK button specifically if needed - if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: - button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") - - main_layout.addWidget(button_box) - - # Apply styling to match subtitle dialog - self.setStyleSheet(""" - QDialog { background-color: #15181b; } - QCheckBox { - color: #ffffff; - padding: 5px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 4px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - } - QWidget { background-color: #15181b; } - """) - - def _parse_selection_string(self, selection_string): - """Parses a yt-dlp playlist selection string (e.g., '1-3,5,7-9') into a set of 1-based indices.""" - selected_indices = set() - if not selection_string: - # If no previous selection, assume all are selected initially - return set(range(1, len(self.playlist_entries) + 1)) - - parts = selection_string.split(',') - for part in parts: - part = part.strip() - if '-' in part: - try: - start, end = map(int, part.split('-')) - if start <= end: - selected_indices.update(range(start, end + 1)) - except ValueError: - pass # Ignore invalid ranges - else: - try: - selected_indices.add(int(part)) - except ValueError: - pass # Ignore invalid numbers - return selected_indices - - def _populate_list(self, previously_selected_string): - """Populates the scroll area with checkboxes for each video.""" - selected_indices = self._parse_selection_string(previously_selected_string) - - # Clear existing checkboxes if any (e.g., if repopulating) - while self.list_layout.count(): - child = self.list_layout.takeAt(0) - if child.widget(): - child.widget().deleteLater() - self.checkboxes.clear() - - for index, entry in enumerate(self.playlist_entries): - if not entry: continue # Skip None entries if yt-dlp returns them - - video_index = index + 1 # yt-dlp uses 1-based indexing - title = entry.get('title', f'Video {video_index}') - # Shorten title if too long - display_title = (title[:70] + '...') if len(title) > 73 else title - - checkbox = QCheckBox(f"{video_index}. {display_title}") - checkbox.setChecked(video_index in selected_indices) - checkbox.setProperty("video_index", video_index) # Store index - checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 4px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #2b2b2b; - } - QCheckBox::indicator:checked { - border: 2px solid #ff0000; - background: #ff0000; - } - """) - self.list_layout.addWidget(checkbox) - self.checkboxes.append(checkbox) - self.list_layout.addStretch() # Push checkboxes to the top - - def _select_all(self): - for checkbox in self.checkboxes: - checkbox.setChecked(True) - - def _deselect_all(self): - for checkbox in self.checkboxes: - checkbox.setChecked(False) - - def _condense_indices(self, indices): - """Condenses a list of 1-based indices into a yt-dlp selection string.""" - if not indices: - return "" - indices = sorted(list(set(indices))) - if not indices: # Check again after sorting/set conversion - return "" - - ranges = [] - start = indices[0] - end = indices[0] - for i in range(1, len(indices)): - if indices[i] == end + 1: - end = indices[i] - else: - if start == end: - ranges.append(str(start)) - else: - ranges.append(f"{start}-{end}") - start = indices[i] - end = indices[i] - # Add the last range - if start == end: - ranges.append(str(start)) - else: - ranges.append(f"{start}-{end}") - return ",".join(ranges) - - def get_selected_items_string(self): - """Returns the selection string based on checked boxes.""" - selected_indices = [ - cb.property("video_index") for cb in self.checkboxes if cb.isChecked() - ] - - # Check if all items are selected - if len(selected_indices) == len(self.playlist_entries): - return None # yt-dlp default is all items, so return None or empty string - - return self._condense_indices(selected_indices) - - # Optional: Override accept to ensure the string is generated, although not strictly necessary - # def accept(self): - # self._selected_string = self.get_selected_items_string() - # super().accept() - -# --- End Playlist Video Selection Dialog --- - -class CookieLoginDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle('Login with Cookies') - self.setMinimumSize(400, 150) - - layout = QVBoxLayout(self) - - help_text = QLabel( - "Select the Netscape-format cookies file for logging in.\n" - "This allows downloading of private videos and premium quality audio." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - layout.addWidget(help_text) - - # File path input and browse button - path_layout = QHBoxLayout() - self.cookie_path_input = QLineEdit() - self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") - path_layout.addWidget(self.cookie_path_input) - - self.browse_button = QPushButton("Browse") - self.browse_button.clicked.connect(self.browse_cookie_file) - path_layout.addWidget(self.browse_button) - - layout.addLayout(path_layout) - - # Dialog buttons - button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - layout.addWidget(button_box) - - def browse_cookie_file(self): - # Open file dialog to select cookie file - file_dialog = QFileDialog(self) - file_dialog.setFileMode(QFileDialog.ExistingFile) - file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Assuming common cookie file extensions - if file_dialog.exec(): - selected_files = file_dialog.selectedFiles() - if selected_files: - self.cookie_path_input.setText(selected_files[0]) - - def get_cookie_file_path(self): - # Return the selected cookie file path - return self.cookie_path_input.text() - -# === Renamed Dialog: Download Settings === -class DownloadSettingsDialog(QDialog): # Renamed class - def __init__(self, current_path, current_limit, current_unit_index, parent=None): # Added limit params - super().__init__(parent) - self.setWindowTitle("Download Settings") # Renamed window - self.setMinimumWidth(450) - self.setMinimumHeight(400) - self.current_path = current_path - self.current_limit = current_limit if current_limit is not None else "" # Handle None - self.current_unit_index = current_unit_index - - # Apply main app styling - self.setStyleSheet(""" - QDialog { - background-color: #15181b; - color: #ffffff; - } - QWidget { - background-color: #15181b; - color: #ffffff; - } - QLabel { - color: #ffffff; - } - QGroupBox { - color: #ffffff; - border: 2px solid #1b2021; - border-radius: 4px; - margin-top: 10px; - padding-top: 10px; - font-weight: bold; - background-color: #15181b; - } - QGroupBox::title { - subcontrol-origin: margin; - left: 10px; - padding: 0 5px 0 5px; - color: #ffffff; - } - QLineEdit { - padding: 8px; - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #1b2021; - color: #ffffff; - selection-background-color: #c90000; - selection-color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - min-height: 20px; - } - QPushButton:hover { - background-color: #a50000; - } - QPushButton:pressed { - background-color: #800000; - } - QPushButton:disabled { - background-color: #666666; - color: #999999; - } - QCheckBox { - spacing: 5px; - color: #ffffff; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #15181b; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - } - QRadioButton { - spacing: 5px; - color: #ffffff; - } - QRadioButton::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QRadioButton::indicator:unchecked { - border: 2px solid #666666; - background: #15181b; - } - QRadioButton::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - } - QComboBox { - padding: 5px; - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #1b2021; - color: #ffffff; - min-height: 20px; - } - QComboBox::drop-down { - border: none; - width: 20px; - } - QComboBox QAbstractItemView { - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #15181b; - color: #ffffff; - selection-background-color: #c90000; - selection-color: #ffffff; - } - """) - - layout = QVBoxLayout(self) - - # --- Download Path Section --- - path_group_box = QGroupBox("Download Path") - path_layout = QVBoxLayout() - - self.path_display = QLabel(self.current_path) - self.path_display.setWordWrap(True) - self.path_display.setStyleSheet("QLabel { color: #ffffff; padding: 5px; border: 1px solid #1b2021; border-radius: 4px; background-color: #1b2021; }") - path_layout.addWidget(self.path_display) - - browse_button = QPushButton("Browse...") - browse_button.clicked.connect(self.browse_new_path) - path_layout.addWidget(browse_button) - - path_group_box.setLayout(path_layout) - layout.addWidget(path_group_box) - # --- End Path Section --- - - # --- Speed Limit Section --- - speed_group_box = QGroupBox("Speed Limit") - speed_layout = QHBoxLayout() - - self.speed_limit_input = QLineEdit(str(self.current_limit)) # Set initial value - self.speed_limit_input.setPlaceholderText("None") - speed_layout.addWidget(self.speed_limit_input) - - self.speed_limit_unit = QComboBox() - self.speed_limit_unit.addItems(["KB/s", "MB/s"]) - self.speed_limit_unit.setCurrentIndex(self.current_unit_index) # Set initial unit - speed_layout.addWidget(self.speed_limit_unit) - - speed_group_box.setLayout(speed_layout) - layout.addWidget(speed_group_box) - # --- End Speed Limit Section --- - - # --- Auto-Update yt-dlp Section --- - auto_update_group_box = QGroupBox("Auto-Update yt-dlp") - auto_update_layout = QVBoxLayout() - - # Load current auto-update settings - from ytsage_utils import get_auto_update_settings - auto_settings = get_auto_update_settings() - - # Enable/Disable auto-update checkbox - self.auto_update_enabled = QCheckBox("Enable automatic yt-dlp updates") - self.auto_update_enabled.setChecked(auto_settings['enabled']) - auto_update_layout.addWidget(self.auto_update_enabled) - - # Frequency options - frequency_label = QLabel("Update frequency:") - frequency_label.setStyleSheet("color: #ffffff; margin-top: 10px;") - auto_update_layout.addWidget(frequency_label) - - self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") - self.daily_radio = QRadioButton("Check daily") - self.weekly_radio = QRadioButton("Check weekly") - - # Set current selection based on saved settings - current_frequency = auto_settings['frequency'] - if current_frequency == 'startup': - self.startup_radio.setChecked(True) - elif current_frequency == 'daily': - self.daily_radio.setChecked(True) - else: # weekly - self.weekly_radio.setChecked(True) - - auto_update_layout.addWidget(self.startup_radio) - auto_update_layout.addWidget(self.daily_radio) - auto_update_layout.addWidget(self.weekly_radio) - - # Test update button - test_update_layout = QHBoxLayout() - test_update_button = QPushButton("Check for Updates Now") - test_update_button.clicked.connect(self.test_update_check) - test_update_layout.addWidget(test_update_button) - test_update_layout.addStretch() - auto_update_layout.addLayout(test_update_layout) - - auto_update_group_box.setLayout(auto_update_layout) - layout.addWidget(auto_update_group_box) - # --- End Auto-Update Section --- - - # Dialog buttons (OK/Cancel) - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - layout.addWidget(button_box) - - def browse_new_path(self): - new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.current_path) - if new_path: - self.current_path = new_path - self.path_display.setText(self.current_path) - - def get_selected_path(self): - """Returns the confirmed path after the dialog is accepted.""" - return self.current_path - - def get_selected_speed_limit(self): - """Returns the entered speed limit value (as string or None).""" - limit_str = self.speed_limit_input.text().strip() - if not limit_str: - return None - # Optional: Add validation to ensure it's a number - try: - float(limit_str) # Check if convertible to float - return limit_str - except ValueError: - # Handle error? Or just return None? Returning None for simplicity. - print("Invalid speed limit input in dialog") - return None # Or raise an error / show message - - def get_selected_unit_index(self): - """Returns the index of the selected speed limit unit.""" - return self.speed_limit_unit.currentIndex() - - def _create_styled_message_box(self, icon, title, text): - """Create a styled QMessageBox that matches the app theme.""" - msg_box = QMessageBox(self) - msg_box.setIcon(icon) - msg_box.setWindowTitle(title) - msg_box.setText(text) - msg_box.setWindowIcon(self.windowIcon()) - msg_box.setStyleSheet(""" - QMessageBox { - background-color: #15181b; - color: #ffffff; - } - QMessageBox QLabel { - color: #ffffff; - } - QMessageBox QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - min-width: 80px; - } - QMessageBox QPushButton:hover { - background-color: #a50000; - } - QMessageBox QPushButton:pressed { - background-color: #800000; - } - """) - return msg_box - - def test_update_check(self): - """Test the update check functionality.""" - try: - from ytsage_utils import get_ytdlp_version - import requests - - # Get current version - current_version = get_ytdlp_version() - if "Error" in current_version: - msg_box = self._create_styled_message_box( - QMessageBox.Warning, - "Update Check", - "Could not determine current yt-dlp version." - ) - msg_box.exec() - return - - # Get latest version from PyPI - response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) - response.raise_for_status() - latest_version = response.json()["info"]["version"] - - # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - - from packaging import version as version_parser - if version_parser.parse(latest_version) > version_parser.parse(current_version): - msg_box = self._create_styled_message_box( - QMessageBox.Information, - "Update Check", - f"Update available!\n\nCurrent: {current_version}\nLatest: {latest_version}\n\nUse the 'Update yt-dlp' button in the main window to update." - ) - msg_box.exec() - else: - msg_box = self._create_styled_message_box( - QMessageBox.Information, - "Update Check", - f"yt-dlp is up to date!\n\nCurrent version: {current_version}" - ) - msg_box.exec() - except Exception as e: - msg_box = self._create_styled_message_box( - QMessageBox.Warning, - "Update Check", - f"Error checking for updates: {str(e)}" - ) - msg_box.exec() - - def get_auto_update_settings(self): - """Returns the auto-update settings from the dialog.""" - enabled = self.auto_update_enabled.isChecked() - - if self.startup_radio.isChecked(): - frequency = 'startup' - elif self.daily_radio.isChecked(): - frequency = 'daily' - else: # weekly_radio is checked - frequency = 'weekly' - - return enabled, frequency - - def accept(self): - """Override accept to save auto-update settings.""" - try: - # Save auto-update settings - enabled, frequency = self.get_auto_update_settings() - from ytsage_utils import update_auto_update_settings - - if update_auto_update_settings(enabled, frequency): - QMessageBox.information(self, "Settings Saved", - "Auto-update settings have been saved successfully!") - else: - QMessageBox.warning(self, "Error", - "Failed to save auto-update settings.") - except Exception as e: - QMessageBox.critical(self, "Error", - f"Error saving auto-update settings: {str(e)}") - - # Call the parent accept method to close the dialog - super().accept() - -# === New CustomOptions Dialog combining Cookies and Custom Commands === -class CustomOptionsDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.parent = parent - self.setWindowTitle('Custom Options') - self.setMinimumSize(600, 500) - - layout = QVBoxLayout(self) - - # Create tab widget to organize content - self.tab_widget = QTabWidget() - layout.addWidget(self.tab_widget) - - # === Cookies Tab === - cookies_tab = QWidget() - cookies_layout = QVBoxLayout(cookies_tab) - - # Help text - help_text = QLabel( - "Select the Netscape-format cookies file for logging in.\n" - "This allows downloading of private videos and premium quality audio." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - cookies_layout.addWidget(help_text) - - # File path input and browse button - path_layout = QHBoxLayout() - self.cookie_path_input = QLineEdit() - self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") - if hasattr(parent, 'cookie_file_path') and parent.cookie_file_path: - self.cookie_path_input.setText(parent.cookie_file_path) - path_layout.addWidget(self.cookie_path_input) - - self.browse_button = QPushButton("Browse") - self.browse_button.clicked.connect(self.browse_cookie_file) - path_layout.addWidget(self.browse_button) - cookies_layout.addLayout(path_layout) # Add the horizontal layout to cookies layout - - # Status indicator for cookies - self.cookie_status = QLabel("") - self.cookie_status.setStyleSheet("color: #999999; font-style: italic;") - cookies_layout.addWidget(self.cookie_status) - - cookies_layout.addStretch() - - # === Custom Command Tab === - command_tab = QWidget() - command_layout = QVBoxLayout(command_tab) - - # Help text - cmd_help_text = QLabel( - "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" - "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" - "Note: Download path and output template will be preserved." - ) - cmd_help_text.setWordWrap(True) - cmd_help_text.setStyleSheet("color: #999999; padding: 10px;") - command_layout.addWidget(cmd_help_text) - - # Add SponsorBlock checkbox - self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 0px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #1d1e22; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 9px; - } - """) - command_layout.addWidget(self.sponsorblock_checkbox) - - # Command input - self.command_input = QPlainTextEdit() - self.command_input.setPlaceholderText("Enter yt-dlp arguments...") - self.command_input.setStyleSheet(""" - QPlainTextEdit { - background-color: #1d1e22; - color: #ffffff; - border: 2px solid #1d1e22; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - } - """) - command_layout.addWidget(self.command_input) - - # Run command button - self.run_btn = QPushButton("Run Command") - self.run_btn.clicked.connect(self.run_custom_command) - command_layout.addWidget(self.run_btn) - - # Log output - self.log_output = QTextEdit() - self.log_output.setReadOnly(True) - self.log_output.setStyleSheet(""" - QTextEdit { - background-color: #1d1e22; - color: #ffffff; - border: 2px solid #1d1e22; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - font-size: 12px; - } - """) - command_layout.addWidget(self.log_output) - - # Add tabs to the tab widget - self.tab_widget.addTab(cookies_tab, "Login with Cookies") - self.tab_widget.addTab(command_tab, "Custom Command") - - # Dialog buttons - button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - layout.addWidget(button_box) - - # Apply global styles - self.setStyleSheet(""" - QDialog { - background-color: #15181b; - } - QTabWidget::pane { - border: 1px solid #3d3d3d; - background-color: #15181b; - } - QTabBar::tab { - background-color: #1d1e22; - color: #ffffff; - padding: 8px 12px; - border: 1px solid #3d3d3d; - border-bottom: none; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - } - QTabBar::tab:selected { - background-color: #c90000; - } - QTabBar::tab:hover:!selected { - background-color: #2a2d36; - } - QLabel { - color: #ffffff; - } - QLineEdit { - padding: 8px; - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #1b2021; - color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #a50000; - } - """) - - def browse_cookie_file(self): - # Open file dialog to select cookie file - file_dialog = QFileDialog(self) - file_dialog.setFileMode(QFileDialog.ExistingFile) - file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Assuming common cookie file extensions - if file_dialog.exec(): - selected_files = file_dialog.selectedFiles() - if selected_files: - self.cookie_path_input.setText(selected_files[0]) - self.cookie_status.setText("Cookie file selected - Click OK to apply") - self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") - - def get_cookie_file_path(self): - # Return the selected cookie file path if it's not empty - path = self.cookie_path_input.text().strip() - if path and os.path.exists(path): - return path - return None - - def run_custom_command(self): - url = self.parent.url_input.text().strip() - if not url: - self.log_output.append("Error: No URL provided") - return - - command = self.command_input.toPlainText().strip() - - # Get download path from parent - path = self.parent.last_path - - self.log_output.clear() - self.log_output.append(f"Running command with URL: {url}") - self.run_btn.setEnabled(False) - - # Start command in thread - import threading - threading.Thread(target=self._run_command_thread, - args=(command, url, path), - daemon=True).start() - - def _run_command_thread(self, command, url, path): - try: - class CommandLogger: - def debug(self, msg): - from PySide6.QtCore import QMetaObject, Qt, Q_ARG - QMetaObject.invokeMethod( - self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, msg) - ) - def warning(self, msg): - from PySide6.QtCore import QMetaObject, Qt, Q_ARG - QMetaObject.invokeMethod( - self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Warning: {msg}") - ) - def error(self, msg): - from PySide6.QtCore import QMetaObject, Qt, Q_ARG - QMetaObject.invokeMethod( - self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Error: {msg}") - ) - def __init__(self, dialog): - self.dialog = dialog - - # Split command into arguments - args = command.split() - - # Base options - ydl_opts = { - 'logger': CommandLogger(self), - 'paths': {'home': path}, - 'debug_printout': True, - 'postprocessors': [] - } - - # Add SponsorBlock if selected - if self.sponsorblock_checkbox.isChecked(): - ydl_opts['postprocessors'].append({ - 'key': 'SponsorBlock', - 'categories': ['sponsor', 'intro', 'outro', 'selfpromo', 'preview', 'filler'] - }) - - # Parse additional options - yt_dlp_path = get_yt_dlp_path() - base_cmd = [yt_dlp_path] + args + [url] - - # Show the full command - from PySide6.QtCore import QMetaObject, Qt, Q_ARG - QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Full command: {' '.join(base_cmd)}") - ) - - # Run the command - proc = subprocess.Popen( - base_cmd, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - text=True, - encoding='utf-8', - errors='replace' - ) - - # Stream output - for line in proc.stdout: - QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, line.rstrip()) - ) - - ret = proc.wait() - if ret != 0: - QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Command exited with code {ret}") - ) - else: - QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, "Command completed successfully") - ) - except Exception as e: - from PySide6.QtCore import QMetaObject, Qt, Q_ARG - QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Error: {str(e)}") - ) - finally: - # Re-enable the run button - QMetaObject.invokeMethod( - self.run_btn, "setEnabled", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True) - ) - -# === Time Range Selection Dialog === -class TimeRangeDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.parent = parent - self.setWindowTitle('Download Video Section') - self.setMinimumWidth(400) - - layout = QVBoxLayout(self) - - # Help text explaining the feature - help_text = QLabel( - "Download only specific parts of a video by specifying time ranges.\n" - "Use HH:MM:SS format or seconds. Leave start or end empty to download from beginning or to end." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - layout.addWidget(help_text) - - # Time range section - time_group = QGroupBox("Time Range") - time_layout = QVBoxLayout() - - # Start time row - start_layout = QHBoxLayout() - start_layout.addWidget(QLabel("Start Time:")) - self.start_time_input = QLineEdit() - self.start_time_input.setPlaceholderText("00:00:00 (or leave empty for start)") - start_layout.addWidget(self.start_time_input) - time_layout.addLayout(start_layout) - - # End time row - end_layout = QHBoxLayout() - end_layout.addWidget(QLabel("End Time:")) - self.end_time_input = QLineEdit() - self.end_time_input.setPlaceholderText("00:10:00 (or leave empty for end)") - end_layout.addWidget(self.end_time_input) - time_layout.addLayout(end_layout) - - time_group.setLayout(time_layout) - layout.addWidget(time_group) - - # Force keyframes option - self.force_keyframes = QCheckBox("Force keyframes at cuts (better accuracy, slower)") - self.force_keyframes.setChecked(True) - self.force_keyframes.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 4px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #1d1e22; - border-radius: 4px; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 4px; - } - """) - layout.addWidget(self.force_keyframes) - - # Format preview - preview_group = QGroupBox("Command Preview") - preview_layout = QVBoxLayout() - self.preview_label = QLabel("--download-sections \"*-\"") - self.preview_label.setStyleSheet(""" - QLabel { - background-color: #1d1e22; - color: #ffffff; - border: 1px solid #3d3d3d; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - } - """) - preview_layout.addWidget(self.preview_label) - preview_group.setLayout(preview_layout) - layout.addWidget(preview_group) - - # Connect signals for live preview updates - self.start_time_input.textChanged.connect(self.update_preview) - self.end_time_input.textChanged.connect(self.update_preview) - self.force_keyframes.stateChanged.connect(self.update_preview) - - # Buttons - button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - layout.addWidget(button_box) - - # Apply styling - self.setStyleSheet(""" - QDialog { - background-color: #15181b; - } - QGroupBox { - border: 1px solid #3d3d3d; - border-radius: 4px; - margin-top: 1.5ex; - color: #ffffff; - padding: 10px; - } - QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - padding: 0 5px; - } - QLabel { - color: #ffffff; - } - QLineEdit { - padding: 8px; - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #1b2021; - color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #a50000; - } - """) - - # Initialize preview - self.update_preview() - - def update_preview(self): - start = self.start_time_input.text().strip() - end = self.end_time_input.text().strip() - - if start and end: - time_range = f"*{start}-{end}" - elif start: - time_range = f"*{start}-" - elif end: - time_range = f"*-{end}" - else: - time_range = "*-" # Full video - - preview = f"--download-sections \"{time_range}\"" - if self.force_keyframes.isChecked(): - preview += " --force-keyframes-at-cuts" - - self.preview_label.setText(preview) - - def get_download_sections(self): - """Returns the download sections command arguments or None if no selection made""" - start = self.start_time_input.text().strip() - end = self.end_time_input.text().strip() - - if not start and not end: - return None # No selection made - - if start and end: - time_range = f"*{start}-{end}" - elif start: - time_range = f"*{start}-" - elif end: - time_range = f"*-{end}" - else: - return None # Shouldn't happen but just in case - - return time_range - - def get_force_keyframes(self): - """Returns whether to force keyframes at cuts""" - return self.force_keyframes.isChecked() - -# === Auto-Update Settings Dialog === - -class AutoUpdateSettingsDialog(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - self.setWindowTitle("Auto-Update Settings") - self.setMinimumWidth(400) - self.setMinimumHeight(300) - - # Set the window icon to match the main app - if parent: - self.setWindowIcon(parent.windowIcon()) - - self.init_ui() - self.load_current_settings() - self.apply_styling() - - def init_ui(self): - layout = QVBoxLayout(self) - - # Title - title_label = QLabel("

🔄 Auto-Update Settings

") - title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - layout.addWidget(title_label) - - # Description - desc_label = QLabel("Configure automatic updates for yt-dlp to ensure you always have the latest features and bug fixes.") - desc_label.setWordWrap(True) - desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - desc_label.setStyleSheet("color: #cccccc; margin: 10px; font-size: 11px;") - layout.addWidget(desc_label) - - # Enable/Disable auto-update - self.enable_checkbox = QCheckBox("Enable automatic yt-dlp updates") - self.enable_checkbox.setChecked(True) # Default enabled - self.enable_checkbox.toggled.connect(self.on_enable_toggled) - layout.addWidget(self.enable_checkbox) - - # Frequency options - frequency_group = QGroupBox("Update Frequency") - frequency_layout = QVBoxLayout() - - self.frequency_group = QButtonGroup(self) - - self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") - self.daily_radio = QRadioButton("Check daily") - self.weekly_radio = QRadioButton("Check weekly") - - self.daily_radio.setChecked(True) # Default to daily - - self.frequency_group.addButton(self.startup_radio, 0) - self.frequency_group.addButton(self.daily_radio, 1) - self.frequency_group.addButton(self.weekly_radio, 2) - - frequency_layout.addWidget(self.startup_radio) - frequency_layout.addWidget(self.daily_radio) - frequency_layout.addWidget(self.weekly_radio) - frequency_group.setLayout(frequency_layout) - - layout.addWidget(frequency_group) - - # Current status - status_group = QGroupBox("Current Status") - status_layout = QVBoxLayout() - - self.current_version_label = QLabel("Current yt-dlp version: Checking...") - self.last_check_label = QLabel("Last update check: Never") - self.next_check_label = QLabel("Next check: Based on settings") - - status_layout.addWidget(self.current_version_label) - status_layout.addWidget(self.last_check_label) - status_layout.addWidget(self.next_check_label) - status_group.setLayout(status_layout) - - layout.addWidget(status_group) - - # Manual check button - self.manual_check_btn = QPushButton("🔍 Check for Updates Now") - self.manual_check_btn.clicked.connect(self.manual_check) - layout.addWidget(self.manual_check_btn) - - # Buttons - button_layout = QHBoxLayout() - - self.save_btn = QPushButton("Save Settings") - self.save_btn.clicked.connect(self.save_settings) - - self.cancel_btn = QPushButton("Cancel") - self.cancel_btn.clicked.connect(self.reject) - - button_layout.addWidget(self.save_btn) - button_layout.addWidget(self.cancel_btn) - - layout.addLayout(button_layout) - - def apply_styling(self): - self.setStyleSheet(""" - QDialog { - background-color: #15181b; - color: #ffffff; - } - QLabel { - color: #ffffff; - } - QGroupBox { - color: #ffffff; - border: 2px solid #1b2021; - border-radius: 4px; - margin-top: 10px; - padding-top: 10px; - font-weight: bold; - background-color: #15181b; - } - QGroupBox::title { - subcontrol-origin: margin; - left: 10px; - padding: 0 5px 0 5px; - color: #ffffff; - } - QCheckBox, QRadioButton { - color: #ffffff; - spacing: 5px; - margin: 5px; - } - QCheckBox::indicator, QRadioButton::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked, QRadioButton::indicator:unchecked { - border: 2px solid #666666; - background: #15181b; - } - QCheckBox::indicator:checked, QRadioButton::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - margin: 5px; - min-width: 100px; - min-height: 20px; - } - QPushButton:hover { - background-color: #a50000; - } - QPushButton:pressed { - background-color: #800000; - } - QPushButton:disabled { - background-color: #666666; - color: #999999; - } - """) - - def load_current_settings(self): - """Load current auto-update settings from config.""" - try: - from ytsage_utils import get_auto_update_settings, get_ytdlp_version - import time - from datetime import datetime - - settings = get_auto_update_settings() - - # Set checkbox - self.enable_checkbox.setChecked(settings['enabled']) - - # Set frequency - frequency = settings['frequency'] - if frequency == 'startup': - self.startup_radio.setChecked(True) - elif frequency == 'weekly': - self.weekly_radio.setChecked(True) - else: # daily - self.daily_radio.setChecked(True) - - # Update status labels - current_version = get_ytdlp_version() - self.current_version_label.setText(f"Current yt-dlp version: {current_version}") - - last_check = settings['last_check'] - if last_check > 0: - last_check_time = datetime.fromtimestamp(last_check).strftime("%Y-%m-%d %H:%M:%S") - self.last_check_label.setText(f"Last update check: {last_check_time}") - else: - self.last_check_label.setText("Last update check: Never") - - # Calculate next check time - self.update_next_check_label() - - # Update UI state - self.on_enable_toggled(settings['enabled']) - - except Exception as e: - print(f"Error loading auto-update settings: {e}") - - def update_next_check_label(self): - """Update the next check label based on current settings.""" - try: - if not self.enable_checkbox.isChecked(): - self.next_check_label.setText("Next check: Disabled") - return - - from ytsage_utils import get_auto_update_settings - import time - from datetime import datetime, timedelta - - settings = get_auto_update_settings() - last_check = settings['last_check'] - frequency = self.get_selected_frequency() - - if last_check == 0: - self.next_check_label.setText("Next check: On next startup") - return - - next_check_time = last_check - if frequency == 'startup': - next_check_time += 3600 # 1 hour - elif frequency == 'daily': - next_check_time += 86400 # 24 hours - elif frequency == 'weekly': - next_check_time += 604800 # 7 days - - current_time = time.time() - if next_check_time <= current_time: - self.next_check_label.setText("Next check: Now (overdue)") - else: - next_check_datetime = datetime.fromtimestamp(next_check_time) - self.next_check_label.setText(f"Next check: {next_check_datetime.strftime('%Y-%m-%d %H:%M:%S')}") - - except Exception as e: - self.next_check_label.setText("Next check: Error calculating") - print(f"Error calculating next check time: {e}") - - def on_enable_toggled(self, enabled): - """Handle enable/disable checkbox toggle.""" - # Enable/disable frequency options - for i in range(self.frequency_group.buttons().__len__()): - self.frequency_group.button(i).setEnabled(enabled) - - self.update_next_check_label() - - def get_selected_frequency(self): - """Get the selected frequency setting.""" - if self.startup_radio.isChecked(): - return 'startup' - elif self.weekly_radio.isChecked(): - return 'weekly' - else: - return 'daily' - - def manual_check(self): - """Perform a manual update check.""" - self.manual_check_btn.setEnabled(False) - self.manual_check_btn.setText("🔄 Checking...") - - # Force an immediate update check - def check_in_thread(): - try: - from ytsage_utils import check_and_update_ytdlp_auto - result = check_and_update_ytdlp_auto() - - # Update UI in main thread - QTimer.singleShot(0, lambda: self.manual_check_finished(result)) - except Exception as e: - print(f"Error during manual check: {e}") - QTimer.singleShot(0, lambda: self.manual_check_finished(False)) - - # Run in separate thread to avoid blocking UI - import threading - threading.Thread(target=check_in_thread, daemon=True).start() - - def _create_styled_message_box(self, icon, title, text): - """Create a styled QMessageBox that matches the app theme.""" - msg_box = QMessageBox(self) - msg_box.setIcon(icon) - msg_box.setWindowTitle(title) - msg_box.setText(text) - msg_box.setWindowIcon(self.windowIcon()) - msg_box.setStyleSheet(""" - QMessageBox { - background-color: #15181b; - color: #ffffff; - } - QMessageBox QLabel { - color: #ffffff; - } - QMessageBox QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - min-width: 80px; - } - QMessageBox QPushButton:hover { - background-color: #a50000; - } - QMessageBox QPushButton:pressed { - background-color: #800000; - } - """) - return msg_box - - def manual_check_finished(self, success): - """Handle completion of manual update check.""" - self.manual_check_btn.setEnabled(True) - self.manual_check_btn.setText("🔍 Check for Updates Now") - - if success: - msg_box = self._create_styled_message_box( - QMessageBox.Information, - "Update Check", - "✅ Update check completed successfully!\nCheck the console for details." - ) - msg_box.exec() - else: - msg_box = self._create_styled_message_box( - QMessageBox.Warning, - "Update Check", - "❌ Update check failed.\nCheck the console for error details." - ) - msg_box.exec() - - # Refresh the current settings display - self.load_current_settings() - - def save_settings(self): - """Save the auto-update settings.""" - try: - from ytsage_utils import update_auto_update_settings - - enabled = self.enable_checkbox.isChecked() - frequency = self.get_selected_frequency() - - if update_auto_update_settings(enabled, frequency): - msg_box = self._create_styled_message_box( - QMessageBox.Information, - "Settings Saved", - "✅ Auto-update settings have been saved successfully!" - ) - msg_box.exec() - self.accept() - else: - msg_box = self._create_styled_message_box( - QMessageBox.Warning, - "Error", - "❌ Failed to save auto-update settings.\nPlease try again." - ) - msg_box.exec() - except Exception as e: - print(f"Error saving auto-update settings: {e}") - msg_box = self._create_styled_message_box( - QMessageBox.Critical, - "Error", - f"❌ Error saving settings: {str(e)}" - ) - msg_box.exec() - -# --- New AutoUpdateThread class --- -class AutoUpdateThread(QThread): - """Thread for performing automatic background updates without UI feedback.""" - update_finished = Signal(bool, str) # success (bool), message (str) - - def run(self): - """Perform automatic yt-dlp update check and update if needed.""" - try: - print("AutoUpdateThread: Performing automatic yt-dlp update check...") - - # Import required modules - import requests - import time - from packaging import version as version_parser - from ytsage_utils import get_ytdlp_version, load_config, save_config - from ytsage_yt_dlp import get_yt_dlp_path - - # Get current version - current_version = get_ytdlp_version() - if "Error" in current_version: - print("AutoUpdateThread: Could not determine current yt-dlp version, skipping auto-update") - self.update_finished.emit(False, "Could not determine current yt-dlp version") - return - - # Get latest version from PyPI - try: - response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) - response.raise_for_status() - latest_version = response.json()["info"]["version"] - - # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - - print(f"AutoUpdateThread: Current yt-dlp version: {current_version}") - print(f"AutoUpdateThread: Latest yt-dlp version: {latest_version}") - - # Compare versions - if version_parser.parse(latest_version) > version_parser.parse(current_version): - print(f"AutoUpdateThread: Auto-updating yt-dlp from {current_version} to {latest_version}...") - - # Perform the update using the same logic as the manual update - success = self._perform_update() - - if success: - print("AutoUpdateThread: Auto-update completed successfully!") - # Update the last check timestamp - config = load_config() - config['last_update_check'] = time.time() - save_config(config) - self.update_finished.emit(True, f"Successfully updated yt-dlp from {current_version} to {latest_version}") - else: - print("AutoUpdateThread: Auto-update failed") - self.update_finished.emit(False, "Auto-update failed") - else: - print("AutoUpdateThread: yt-dlp is already up to date") - # Still update the timestamp even if no update was needed - config = load_config() - config['last_update_check'] = time.time() - save_config(config) - self.update_finished.emit(True, f"yt-dlp is already up to date (version {current_version})") - - except requests.RequestException as e: - print(f"AutoUpdateThread: Network error during auto-update check: {e}") - self.update_finished.emit(False, f"Network error: {e}") - except Exception as e: - print(f"AutoUpdateThread: Error during auto-update check: {e}") - self.update_finished.emit(False, f"Update check error: {e}") - - except Exception as e: - print(f"AutoUpdateThread: Critical error in auto-update: {e}") - self.update_finished.emit(False, f"Critical error: {e}") - - def _perform_update(self): - """Perform the actual update using similar logic to UpdateThread but without UI feedback.""" - try: - import os - import sys - import requests - import subprocess - from ytsage_yt_dlp import get_yt_dlp_path - - # Get the yt-dlp path - yt_dlp_path = get_yt_dlp_path() - - # Check if we're using an app-managed binary or system installation - app_managed_dirs = [ - os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), - os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), - os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) - ] - - is_app_managed = any(os.path.dirname(yt_dlp_path) == dir_path for dir_path in app_managed_dirs) - - if is_app_managed: - print("AutoUpdateThread: Updating app-managed yt-dlp binary...") - return self._update_binary(yt_dlp_path) - else: - print("AutoUpdateThread: Updating system yt-dlp via pip...") - return self._update_via_pip() - - except Exception as e: - print(f"AutoUpdateThread: Error in _perform_update: {e}") - return False - - def _update_binary(self, yt_dlp_path): - """Update yt-dlp binary directly from GitHub releases (silent version).""" - try: - import os - import sys - import requests - - # Determine the URL based on OS - if sys.platform == 'win32': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" - elif sys.platform == 'darwin': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" - else: - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" - - print("AutoUpdateThread: Downloading latest yt-dlp binary...") - - # Download without progress tracking (silent) - response = requests.get(url, stream=True) - if response.status_code != 200: - print(f"AutoUpdateThread: Download failed: HTTP {response.status_code}") - return False - - temp_file = f"{yt_dlp_path}.new" - - with open(temp_file, 'wb') as f: - for chunk in response.iter_content(chunk_size=8192): - if chunk: - f.write(chunk) - - print("AutoUpdateThread: Installing updated binary...") - - # Make executable on Unix systems - if sys.platform != 'win32': - os.chmod(temp_file, 0o755) - - # Replace the old file with the new one - try: - # On Windows, we need to remove the old file first - if sys.platform == 'win32' and os.path.exists(yt_dlp_path): - os.remove(yt_dlp_path) - - os.rename(temp_file, yt_dlp_path) - print("AutoUpdateThread: Binary successfully updated!") - return True - - except Exception as e: - print(f"AutoUpdateThread: Error installing binary: {e}") - # Clean up temp file if it exists - if os.path.exists(temp_file): - try: - os.remove(temp_file) - except: - pass - return False - - except Exception as e: - print(f"AutoUpdateThread: Binary update failed: {e}") - return False - - def _update_via_pip(self): - """Update yt-dlp via pip (silent version).""" - try: - import subprocess - import sys - import pkg_resources - import requests - from packaging import version - - print("AutoUpdateThread: Checking current pip installation...") - - # Get current version - try: - current_version = pkg_resources.get_distribution("yt-dlp").version - print(f"AutoUpdateThread: Current version: {current_version}") - except pkg_resources.DistributionNotFound: - print("AutoUpdateThread: yt-dlp not found via pip, attempting installation...") - current_version = "0.0.0" - - # Get the latest version from PyPI - print("AutoUpdateThread: Checking for latest version...") - response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) - - if response.status_code != 200: - print("AutoUpdateThread: Failed to check for updates") - return False - - data = response.json() - latest_version = data["info"]["version"] - print(f"AutoUpdateThread: Latest version: {latest_version}") - - # Compare versions - if version.parse(latest_version) > version.parse(current_version): - print(f"AutoUpdateThread: Updating from {current_version} to {latest_version}...") - - # Create startupinfo to hide console on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - - # Run pip update - print("AutoUpdateThread: Running pip install --upgrade...") - update_result = subprocess.run( - [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], - capture_output=True, - text=True, - check=False, - startupinfo=startupinfo - ) - - if update_result.returncode == 0: - print("AutoUpdateThread: Pip update completed successfully!") - return True - else: - print(f"AutoUpdateThread: Pip update failed: {update_result.stderr}") - return False - else: - print("AutoUpdateThread: yt-dlp is already up to date!") - return True - - except Exception as e: - print(f"AutoUpdateThread: Pip update failed: {e}") - return False \ No newline at end of file From ba03a02aa1cb2e9f6fa2645153825aa6f27784e9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:06:51 +0300 Subject: [PATCH 087/568] Refactor GUI main file and add embed chapters option Moved ytsage_gui_main.py to src/gui/ and updated imports for new module structure. Replaced print statements with structured logging using the logger. Added 'Embed Chapters' checkbox and related state handling. SponsorBlock selection is now managed via a dialog and category list instead of a simple checkbox. Updated version to 4.7.0 and improved resource path handling for icons and sounds. --- .../gui/ytsage_gui_main.py | 200 ++++++++++-------- 1 file changed, 112 insertions(+), 88 deletions(-) rename ytsage_gui_main.py => src/gui/ytsage_gui_main.py (90%) diff --git a/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py similarity index 90% rename from ytsage_gui_main.py rename to src/gui/ytsage_gui_main.py index 29861a3..740892f 100644 --- a/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -22,30 +22,40 @@ try: YT_DLP_AVAILABLE = True except ImportError: YT_DLP_AVAILABLE = False - print("Warning: yt-dlp not available at startup, will be downloaded at runtime") import markdown try: import pygame PYGAME_AVAILABLE = True except ImportError: PYGAME_AVAILABLE = False - print("Warning: pygame not available, audio notifications disabled") import threading -from ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes -from ytsage_utils import check_ffmpeg, load_saved_path, save_path, get_config_file_path, get_ytdlp_version, get_ffmpeg_version, should_check_for_auto_update, check_and_update_ytdlp_auto # Import utility functions -from ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path, get_yt_dlp_path # Import the new yt-dlp functions -from ytsage_gui_dialogs import (LogWindow, CustomCommandDialog, FFmpegCheckDialog, +from ..core.ytsage_logging import logger + +from ..core.ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes +from ..core.ytsage_utils import check_ffmpeg, load_saved_path, save_path, get_config_file_path, get_ytdlp_version, get_ffmpeg_version, should_check_for_auto_update, check_and_update_ytdlp_auto # Import utility functions +from ..core.ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path, get_yt_dlp_path # Import the new yt-dlp functions +from .ytsage_gui_dialogs import (LogWindow, CustomCommandDialog, FFmpegCheckDialog, YTDLPUpdateDialog, AboutDialog, SubtitleSelectionDialog, PlaylistSelectionDialog, CookieLoginDialog, - DownloadSettingsDialog, CustomOptionsDialog, TimeRangeDialog) # Added TimeRangeDialog -from ytsage_gui_format_table import FormatTableMixin # Import FormatTableMixin -from ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin + DownloadSettingsDialog, CustomOptionsDialog, TimeRangeDialog, + SponsorBlockCategoryDialog) # Added SponsorBlockCategoryDialog +from .ytsage_gui_format_table import FormatTableMixin # Import FormatTableMixin +from .ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins def __init__(self): super().__init__() + # Initialize logger for this class + self.logger = logger.bind(module="YTSageApp") + + # Log startup warnings for missing dependencies + if not YT_DLP_AVAILABLE: + self.logger.warning("yt-dlp not available at startup, will be downloaded at runtime") + if not PYGAME_AVAILABLE: + self.logger.warning("pygame not available, audio notifications disabled") + # Check for FFmpeg before proceeding if not check_ffmpeg(): self.show_ffmpeg_dialog() @@ -55,9 +65,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if ytdlp_path == "yt-dlp": # Not found in app dir or PATH self.show_ytdlp_setup_dialog() else: - print(f"Using yt-dlp from: {ytdlp_path}") + self.logger.info(f"Using yt-dlp from: {ytdlp_path}") - self.version = "4.6.0" + self.version = "4.7.0" self.check_for_updates() # Check for auto-updates if enabled @@ -66,11 +76,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.config_file = get_config_file_path() load_saved_path(self) # Load custom icon - icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') + # Navigate from src/gui/ to project root, then to assets/Icon/ + project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) + icon_path = os.path.join(project_root, 'assets', 'Icon', 'icon.png') if os.path.exists(icon_path): self.setWindowIcon(QIcon(icon_path)) else: - print(f"Warning: Icon file not found at {icon_path}. Using default icon.") + self.logger.warning(f"Icon file not found at {icon_path}. Using default icon.") self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) # Fallback self.signals = SignalManager() self.download_paused = False @@ -87,6 +99,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.playlist_entries = [] # Initialize playlist entries self.selected_playlist_items = None # Initialize selection string self.save_description = False # Initialize description state + self.embed_chapters = False # Initialize chapters state self.subtitle_filter = "" self.thumbnail_image = None self.video_url = "" @@ -284,20 +297,22 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.sound_enabled = True # Get the notification sound path - self.notification_sound_path = os.path.join(os.path.dirname(__file__), 'sound', 'notification.mp3') + # Navigate from src/gui/ to project root, then to assets/sound/ + project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) + self.notification_sound_path = os.path.join(project_root, 'assets', 'sound', 'notification.mp3') # Check if the notification sound file exists if not os.path.exists(self.notification_sound_path): - print(f"Warning: Notification sound file not found at: {self.notification_sound_path}") + self.logger.warning(f"Notification sound file not found at: {self.notification_sound_path}") self.sound_enabled = False else: - print(f"Notification sound loaded from: {self.notification_sound_path}") + self.logger.info(f"Notification sound loaded from: {self.notification_sound_path}") else: self.sound_enabled = False - print("Sound notifications disabled - pygame not available") + self.logger.info("Sound notifications disabled - pygame not available") except Exception as e: - print(f"Error initializing sound: {e}") + self.logger.error(f"Error initializing sound: {e}") self.sound_enabled = False def play_notification_sound(self): @@ -317,7 +332,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m pygame.time.wait(100) except Exception as e: - print(f"Error playing notification sound: {e}") + self.logger.error(f"Error playing notification sound: {e}") # Play sound in a separate thread to avoid blocking the UI sound_thread = threading.Thread(target=play_sound) @@ -331,7 +346,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m save_path(self, path) # Call the utility function def init_ui(self): - self.setWindowTitle('YTSage v4.6.0') + self.setWindowTitle(f'YTSage v{self.version}') self.setMinimumSize(900, 750) # Main widget and layout @@ -497,32 +512,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.merge_subs_checkbox.setEnabled(False) self.format_layout.addWidget(self.merge_subs_checkbox) - # Add SponsorBlock checkbox - self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet(""" - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; /* Consistent margin */ - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #1d1e22; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 9px; - } - """) - self.format_layout.addWidget(self.sponsorblock_checkbox) - # Add Save Thumbnail Checkbox (Moved here) self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") self.save_thumbnail_checkbox.setChecked(False) @@ -559,6 +548,24 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m """) self.format_layout.addWidget(self.save_description_checkbox) + # Add Embed Chapters Checkbox + self.embed_chapters_checkbox = QCheckBox("Embed Chapters") + self.embed_chapters_checkbox.setChecked(False) + self.embed_chapters_checkbox.stateChanged.connect(self.toggle_embed_chapters) + self.embed_chapters_checkbox.setStyleSheet(""" + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } + QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } + QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } + """) + self.format_layout.addWidget(self.embed_chapters_checkbox) + self.format_layout.addStretch() layout.addLayout(self.format_layout) @@ -709,7 +716,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if not basic_info: raise Exception("Could not extract basic video information") except Exception as e: - print(f"First extraction failed: {str(e)}") + self.logger.error(f"First extraction failed: {str(e)}") raise Exception("Could not extract video information, please check your link") self.signals.update_status.emit("Analyzing (30%)... Extracting detailed info") @@ -799,7 +806,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Verify we have format information if not self.video_info or 'formats' not in self.video_info: - print(f"Debug - video_info keys: {self.video_info.keys() if self.video_info else 'None'}") + self.logger.debug(f"video_info keys: {self.video_info.keys() if self.video_info else 'None'}") raise Exception("No format information available") self.signals.update_status.emit("Analyzing (60%)... Processing formats") @@ -847,12 +854,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.signals.update_status.emit("Analysis complete!") except Exception as e: - print(f"Detailed extraction failed: {str(e)}") + self.logger.error(f"Detailed extraction failed: {str(e)}", exc_info=True) raise Exception(f"Failed to extract video details: {str(e)}") except Exception as e: error_message = str(e) - print(f"Error in analysis: {error_message}") + self.logger.error(f"Error in analysis: {error_message}", exc_info=True) self.signals.update_status.emit(f"Error: {error_message}") # Ensure playlist UI is hidden on error too QMetaObject.invokeMethod(self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) @@ -884,7 +891,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.last_path = new_path self.save_path(self.last_path) # Save the updated path path_changed = True - print(f"Download path updated to: {self.last_path}") + self.logger.info(f"Download path updated to: {self.last_path}") # Update Speed Limit new_limit_value = dialog.get_selected_speed_limit() @@ -894,7 +901,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.speed_limit_value = new_limit_value self.speed_limit_unit_index = new_unit_index limit_changed = True - print(f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}") + self.logger.info(f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}") # Update Tooltip if anything changed if path_changed or limit_changed: @@ -968,7 +975,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m try: self.download_thumbnail_file(url, path) except Exception as e: - print(f"Warning: Thumbnail download failed: {e}") + self.logger.warning(f"Thumbnail download failed: {e}") # Optionally inform the user, but don't stop the main download @@ -980,10 +987,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m subtitle_langs=selected_subs, # Pass the list of selected subs is_playlist=self.is_playlist, # Use the flag directly merge_subs=self.merge_subs_checkbox.isChecked(), - enable_sponsorblock=self.sponsorblock_checkbox.isChecked(), + enable_sponsorblock=len(self.selected_sponsorblock_categories) > 0, + sponsorblock_categories=self.selected_sponsorblock_categories, resolution=resolution, playlist_items=playlist_items_to_download, # Pass the selection string save_description=self.save_description, # Pass the new flag here + embed_chapters=self.embed_chapters, # Pass the embed chapters flag cookie_file=self.cookie_file_path, # Pass the cookie file path rate_limit=rate_limit, # Pass the calculated rate limit download_section=self.download_section, # Pass the download section @@ -1052,7 +1061,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m int_value = int(value) self.progress_bar.setValue(int_value) except Exception as e: - print(f"Progress bar update error: {str(e)}") + self.logger.error(f"Progress bar update error: {str(e)}") def toggle_pause(self): if self.current_download: @@ -1081,7 +1090,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m changelog = latest_release.get("body", "No changelog available.") # Get changelog body self.show_update_dialog(latest_version, latest_release["html_url"], changelog) # Pass changelog except Exception as e: - print(f"Failed to check for updates: {str(e)}") + self.logger.error(f"Failed to check for updates: {str(e)}", exc_info=True) def show_update_dialog(self, latest_version, release_url, changelog): # Added changelog parameter msg = QDialog(self) @@ -1090,12 +1099,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m msg.setMinimumHeight(450) # Increased height for better spacing # Set custom icon directly - icon_path = os.path.join(os.path.dirname(__file__), 'Icon', 'icon.png') - if os.path.exists(icon_path): - msg.setWindowIcon(QIcon(icon_path)) - else: - # Fallback to main window icon if file not found - msg.setWindowIcon(self.windowIcon()) + try: + if self.windowIcon() and not self.windowIcon().isNull(): + msg.setWindowIcon(self.windowIcon()) + else: + # Fallback to icon file + icon_path = os.path.join(os.path.dirname(__file__), '..', '..', 'assets', 'Icon', 'icon.png') + if os.path.exists(icon_path): + msg.setWindowIcon(QIcon(icon_path)) + except Exception: + pass layout = QVBoxLayout(msg) layout.setSpacing(15) # Increased spacing for better layout @@ -1148,7 +1161,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m html_changelog = markdown.markdown(changelog, extensions=['markdown.extensions.tables', 'markdown.extensions.fenced_code']) changelog_text.setHtml(html_changelog) except Exception as e: - print(f"Error converting changelog markdown to HTML: {e}") + self.logger.warning(f"Error converting changelog markdown to HTML: {e}") changelog_text.setPlainText(changelog) # Fallback to plain text changelog_text.setStyleSheet(""" @@ -1255,31 +1268,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m try: # Check if auto-update should be performed if should_check_for_auto_update(): - print("Performing auto-update check for yt-dlp...") + self.logger.info("Performing auto-update check for yt-dlp...") # Perform the auto-update in a non-blocking way # We don't want to block the UI startup for this from PySide6.QtCore import QTimer QTimer.singleShot(2000, self._perform_auto_update) # Delay 2 seconds after startup except Exception as e: - print(f"Error in auto-update check: {e}") + self.logger.error(f"Error in auto-update check: {e}", exc_info=True) def _perform_auto_update(self): """Actually perform the auto-update check and update if needed in a background thread.""" try: # Create and start the auto-update thread to avoid blocking the UI - from ytsage_gui_dialogs import AutoUpdateThread + from .ytsage_gui_dialogs import AutoUpdateThread self.auto_update_thread = AutoUpdateThread() self.auto_update_thread.update_finished.connect(self._on_auto_update_finished) self.auto_update_thread.start() except Exception as e: - print(f"Error starting auto-update thread: {e}") + self.logger.error(f"Error starting auto-update thread: {e}", exc_info=True) def _on_auto_update_finished(self, success, message): """Handle auto-update completion.""" if success: - print(f"Auto-update completed successfully: {message}") + self.logger.info(f"Auto-update completed successfully: {message}") else: - print(f"Auto-update completed with issues: {message}") + self.logger.warning(f"Auto-update completed with issues: {message}") # Clean up the thread reference and ensure it's properly finished if hasattr(self, 'auto_update_thread'): @@ -1297,26 +1310,26 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m try: # Stop the auto-update thread if it's running if hasattr(self, 'auto_update_thread') and self.auto_update_thread.isRunning(): - print("Stopping auto-update thread...") + self.logger.info("Stopping auto-update thread...") self.auto_update_thread.quit() if not self.auto_update_thread.wait(3000): # Wait up to 3 seconds for graceful shutdown - print("Force terminating auto-update thread...") + self.logger.warning("Force terminating auto-update thread...") self.auto_update_thread.terminate() self.auto_update_thread.wait(1000) # Wait for termination # Cancel any running downloads if self.current_download and self.current_download.isRunning(): - print("Canceling running download...") + self.logger.info("Canceling running download...") self.current_download.cancel() if not self.current_download.wait(3000): # Wait up to 3 seconds for graceful shutdown - print("Force terminating download thread...") + self.logger.warning("Force terminating download thread...") self.current_download.terminate() self.current_download.wait(1000) # Wait for termination - print("Application closing...") + self.logger.info("Application closing...") event.accept() except Exception as e: - print(f"Error during application close: {e}") + self.logger.error(f"Error during application close: {e}", exc_info=True) event.accept() # Accept the close event anyway def show_custom_options(self): @@ -1326,7 +1339,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m cookie_path = dialog.get_cookie_file_path() if cookie_path: self.cookie_file_path = cookie_path - print(f"Selected cookie file: {self.cookie_file_path}") + self.logger.info(f"Selected cookie file: {self.cookie_file_path}") QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") else: # Don't clear the cookie path if nothing was selected @@ -1396,26 +1409,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # --- Add Toggle Methods Here --- def toggle_save_thumbnail(self, state): - print(f"Raw thumbnail state received: {state}") # Debug: Print raw state + self.logger.debug(f"Raw thumbnail state received: {state}") # Debug: Print raw state self.save_thumbnail = bool(state == 2) # Compare state directly with 2 (Checked state) - print(f"Save thumbnail toggled: {self.save_thumbnail}") + self.logger.debug(f"Save thumbnail toggled: {self.save_thumbnail}") def toggle_save_description(self, state): - print(f"Raw description state received: {state}") # Debug: Print raw state + self.logger.debug(f"Raw description state received: {state}") # Debug: Print raw state self.save_description = bool(state == 2) # Compare state directly with 2 (Checked state) - print(f"Save description toggled: {self.save_description}") + self.logger.debug(f"Save description toggled: {self.save_description}") + + def toggle_embed_chapters(self, state): + self.logger.debug(f"Raw chapters state received: {state}") # Debug: Print raw state + self.embed_chapters = bool(state == 2) # Compare state directly with 2 (Checked state) + self.logger.debug(f"Embed chapters toggled: {self.embed_chapters}") # --- End Toggle Methods --- def open_playlist_selection_dialog(self): if not self.is_playlist or not self.playlist_entries: - print("No playlist data available to select from.") + self.logger.info("No playlist data available to select from.") return dialog = PlaylistSelectionDialog(self.playlist_entries, self.selected_playlist_items, self) if dialog.exec(): self.selected_playlist_items = dialog.get_selected_items_string() - print(f"Playlist items selected: {self.selected_playlist_items}") + self.logger.info(f"Playlist items selected: {self.selected_playlist_items}") # Update button text (this call is safe as it happens in the main thread after dialog closes) if self.selected_playlist_items is None: @@ -1445,7 +1463,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.subtitle_combo.setEnabled(enabled) self.video_button.setEnabled(enabled) self.audio_button.setEnabled(enabled) - self.sponsorblock_checkbox.setEnabled(enabled) + if hasattr(self, 'sponsorblock_select_btn'): + self.sponsorblock_select_btn.setEnabled(enabled) self.merge_subs_checkbox.setEnabled(enabled) # Enable/disable merge subs checkbox self.custom_options_btn.setEnabled(enabled) # Enable/disable custom options button self.update_ytdlp_btn.setEnabled(enabled) # Enable/disable update button @@ -1466,8 +1485,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m """Enable or disable features based on video/audio mode""" if self.audio_button.isChecked(): # In Audio Only mode, disable video-specific features - self.sponsorblock_checkbox.setEnabled(False) - self.sponsorblock_checkbox.setChecked(False) # Uncheck when disabled + if hasattr(self, 'sponsorblock_select_btn'): + self.sponsorblock_select_btn.setEnabled(False) + if hasattr(self, 'selected_sponsorblock_categories'): + self.selected_sponsorblock_categories = [] # Clear selection when disabled + if hasattr(self, '_update_sponsorblock_display'): + self._update_sponsorblock_display() self.merge_subs_checkbox.setEnabled(False) self.merge_subs_checkbox.setChecked(False) # Uncheck when disabled @@ -1476,8 +1499,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.subtitle_select_btn.setEnabled(True) else: # In Video mode, enable video-specific features - self.sponsorblock_checkbox.setEnabled(True) - # Don't auto-check - leave it to user preference + if hasattr(self, 'sponsorblock_select_btn'): + self.sponsorblock_select_btn.setEnabled(True) + # Don't automatically restore categories - let user choose when they open the dialog # Enable merge_subs only if subtitles are selected has_subs_selected = len(getattr(self, 'selected_subtitles', [])) > 0 @@ -1499,7 +1523,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if dialog.exec(): self.cookie_file_path = dialog.get_cookie_file_path() if self.cookie_file_path: - print(f"Selected cookie file: {self.cookie_file_path}") + self.logger.info(f"Selected cookie file: {self.cookie_file_path}") QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") else: self.cookie_file_path = None # Clear path if dialog accepted but no file selected From b1a452ab8e0ad2075b902629a85bc21afc502664 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:06:57 +0300 Subject: [PATCH 088/568] Add initial docstring for gui package Created src/gui/__init__.py with a package-level docstring describing the purpose of the GUI modules for YTSage. --- src/gui/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/gui/__init__.py diff --git a/src/gui/__init__.py b/src/gui/__init__.py new file mode 100644 index 0000000..0f5f1ba --- /dev/null +++ b/src/gui/__init__.py @@ -0,0 +1,5 @@ +""" +GUI modules for YTSage. + +This package contains all user interface components and related functionality. +""" From 1484259692030797e9d9af8f5fd2a94708142979 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:07:02 +0300 Subject: [PATCH 089/568] Add __init__.py for GUI dialogs package Introduces src/gui/dialogs/__init__.py to organize and re-export dialog classes for the YTSage GUI. This file provides a structured overview of available dialogs and maintains backward compatibility by re-exporting all relevant classes. --- src/gui/dialogs/__init__.py | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/gui/dialogs/__init__.py diff --git a/src/gui/dialogs/__init__.py b/src/gui/dialogs/__init__.py new file mode 100644 index 0000000..a3a14b7 --- /dev/null +++ b/src/gui/dialogs/__init__.py @@ -0,0 +1,41 @@ +""" +Dialog modules for YTSage GUI. + +This package contains all dialog classes organized by functionality: +- Base dialogs (LogWindow, AboutDialog) +- Settings dialogs (DownloadSettingsDialog, AutoUpdateSettingsDialog) +- Update dialogs (YTDLPUpdateDialog, update threads) +- FFmpeg dialogs (FFmpegCheckDialog, installation) +- Selection dialogs (SubtitleSelectionDialog, PlaylistSelectionDialog) +- Custom dialogs (CustomCommandDialog, CookieLoginDialog, etc.) +""" + +# Re-export all dialog classes for backward compatibility +from .ytsage_dialogs_base import LogWindow, AboutDialog +from .ytsage_dialogs_settings import DownloadSettingsDialog, AutoUpdateSettingsDialog +from .ytsage_dialogs_update import (VersionCheckThread, UpdateThread, YTDLPUpdateDialog, + AutoUpdateThread) +from .ytsage_dialogs_ffmpeg import FFmpegInstallThread, FFmpegCheckDialog +from .ytsage_dialogs_selection import SubtitleSelectionDialog, PlaylistSelectionDialog, SponsorBlockCategoryDialog +from .ytsage_dialogs_custom import (CustomCommandDialog, CookieLoginDialog, + CustomOptionsDialog, TimeRangeDialog) + +__all__ = [ + # Base dialogs + 'LogWindow', 'AboutDialog', + + # Settings dialogs + 'DownloadSettingsDialog', 'AutoUpdateSettingsDialog', + + # Update dialogs and threads + 'VersionCheckThread', 'UpdateThread', 'YTDLPUpdateDialog', 'AutoUpdateThread', + + # FFmpeg dialogs + 'FFmpegInstallThread', 'FFmpegCheckDialog', + + # Selection dialogs + 'SubtitleSelectionDialog', 'PlaylistSelectionDialog', 'SponsorBlockCategoryDialog', + + # Custom functionality dialogs + 'CustomCommandDialog', 'CookieLoginDialog', 'CustomOptionsDialog', 'TimeRangeDialog' +] From 1e95e643c2b614a7240e63c7e4321a18958b4f55 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:07:09 +0300 Subject: [PATCH 090/568] Move ytsage_style.py to src/core directory Renamed and relocated ytsage_style.py to src/core/ytsage_style.py for improved project structure and organization. --- ytsage_style.py => src/core/ytsage_style.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ytsage_style.py => src/core/ytsage_style.py (100%) diff --git a/ytsage_style.py b/src/core/ytsage_style.py similarity index 100% rename from ytsage_style.py rename to src/core/ytsage_style.py From a352371c4550f22ca29eaa8fbbd2f217d927c1f6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:07:16 +0300 Subject: [PATCH 091/568] Move ytsage_gui_format_table.py to src/gui Renamed and relocated ytsage_gui_format_table.py to src/gui/ytsage_gui_format_table.py for improved project structure and organization. --- ytsage_gui_format_table.py => src/gui/ytsage_gui_format_table.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ytsage_gui_format_table.py => src/gui/ytsage_gui_format_table.py (100%) diff --git a/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py similarity index 100% rename from ytsage_gui_format_table.py rename to src/gui/ytsage_gui_format_table.py From 73e662148c9a5dc5b4f3f0bdc154f4010eb691b2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:07:26 +0300 Subject: [PATCH 092/568] Add SponsorBlock category selection to video info UI Introduces a SponsorBlock section to the video info UI, allowing users to select categories via a dialog. Refactors print statements to use the logger for consistency. Updates imports and improves UI feedback for subtitle and SponsorBlock selections. --- .../gui/ytsage_gui_video_info.py | 106 ++++++++++++++++-- 1 file changed, 96 insertions(+), 10 deletions(-) rename ytsage_gui_video_info.py => src/gui/ytsage_gui_video_info.py (74%) diff --git a/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py similarity index 74% rename from ytsage_gui_video_info.py rename to src/gui/ytsage_gui_video_info.py index c903fe4..50ab915 100644 --- a/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -16,13 +16,14 @@ from pathlib import Path from packaging import version import subprocess import re +from ..core.ytsage_logging import logger try: import yt_dlp YT_DLP_AVAILABLE = True except ImportError: YT_DLP_AVAILABLE = False - print("Warning: yt-dlp not available at startup, will be downloaded at runtime") -from ytsage_gui_dialogs import SubtitleSelectionDialog + logger.warning("yt-dlp not available at startup, will be downloaded at runtime") +from .ytsage_gui_dialogs import SubtitleSelectionDialog, SponsorBlockCategoryDialog class VideoInfoMixin: def setup_video_info_section(self): @@ -124,6 +125,53 @@ class VideoInfoMixin: video_info_layout.addLayout(subtitle_layout) # --- End Subtitle Section --- + # Add small spacing between subtitle and sponsorblock sections + video_info_layout.addSpacing(4) + + # --- SponsorBlock Section --- + sponsorblock_layout = QHBoxLayout() + + self.sponsorblock_select_btn = QPushButton("SponsorBlock Categories...") + self.sponsorblock_select_btn.setFixedHeight(30) + self.sponsorblock_select_btn.clicked.connect(self.open_sponsorblock_dialog) + self.sponsorblock_select_btn.setStyleSheet(""" + QPushButton { + background-color: #1d1e22; + border: 2px solid #1d1e22; + border-radius: 4px; + padding: 5px 10px; + } + QPushButton:hover { + background-color: #2a2d36; + } + QPushButton[sponsorBlockSelected="true"] { + border-color: #c90000; + } + QPushButton:disabled { + background-color: #3d3d3d; + color: #888888; + border-color: #3d3d3d; + } + """) + self.sponsorblock_select_btn.setProperty("sponsorBlockSelected", False) + self.sponsorblock_select_btn.setProperty("sponsorBlockSelected", False) + sponsorblock_layout.addWidget(self.sponsorblock_select_btn) + + # Label to show selection count + self.selected_sponsorblock_label = QLabel("0 selected") + self.selected_sponsorblock_label.setStyleSheet("color: #cccccc; padding-left: 5px;") + sponsorblock_layout.addWidget(self.selected_sponsorblock_label) + + sponsorblock_layout.addStretch() + + # Add the sponsorblock layout to the main video info layout + video_info_layout.addLayout(sponsorblock_layout) + # --- End SponsorBlock Section --- + + # Initialize SponsorBlock categories as empty initially (will be set to defaults when user opens dialog) + self.selected_sponsorblock_categories = [] + self._update_sponsorblock_display() + # Add stretch at the bottom video_info_layout.addStretch() @@ -208,7 +256,7 @@ class VideoInfoMixin: def open_subtitle_dialog(self): if not hasattr(self, 'available_subtitles') or not hasattr(self, 'available_automatic_subtitles'): - print("Subtitle info not loaded yet.") + logger.warning("Subtitle info not loaded yet.") return if not hasattr(self, 'selected_subtitles'): @@ -227,7 +275,7 @@ class VideoInfoMixin: if not isinstance(main_window, QMainWindow): # If the structure is different, this might need adjustment # Maybe self.parentWidget() or similar depending on how Mixin is used - print("Warning: Cannot find main window to access merge checkbox.") + logger.warning("Cannot find main window to access merge checkbox.") merge_checkbox = None else: merge_checkbox = getattr(main_window, 'merge_subs_checkbox', None) @@ -235,7 +283,7 @@ class VideoInfoMixin: if dialog.exec(): # If user clicks OK self.selected_subtitles = dialog.get_selected_subtitles() - print(f"Selected subtitles: {self.selected_subtitles}") + logger.info(f"Selected subtitles: {self.selected_subtitles}") # Update UI to reflect selection count = len(self.selected_subtitles) self.selected_subs_label.setText(f"{count} selected") @@ -249,13 +297,51 @@ class VideoInfoMixin: should_enable = count > 0 and not is_audio_only merge_checkbox.setEnabled(should_enable) else: - print("Warning: merge_subs_checkbox not found on parent window.") + logger.warning("merge_subs_checkbox not found on parent window.") # Re-apply stylesheet to update button border if property changed self.subtitle_select_btn.style().unpolish(self.subtitle_select_btn) self.subtitle_select_btn.style().polish(self.subtitle_select_btn) # No else needed for cancel, state remains unchanged + def open_sponsorblock_dialog(self): + """Open the SponsorBlock category selection dialog.""" + # Initialize selected categories if not exists or empty (first time opening) + if not hasattr(self, 'selected_sponsorblock_categories') or not self.selected_sponsorblock_categories: + # Use None to let the dialog set its own defaults + dialog_categories = None + else: + dialog_categories = self.selected_sponsorblock_categories + + dialog = SponsorBlockCategoryDialog(dialog_categories, self) + + if dialog.exec(): + self.selected_sponsorblock_categories = dialog.get_selected_categories() + logger.info(f"SponsorBlock categories selected: {self.selected_sponsorblock_categories}") + self._update_sponsorblock_display() + + def _update_sponsorblock_display(self): + """Update the SponsorBlock button and label to reflect current selection.""" + if not hasattr(self, 'selected_sponsorblock_categories'): + self.selected_sponsorblock_categories = [] + + count = len(self.selected_sponsorblock_categories) + + # Update label text + if count == 0: + self.selected_sponsorblock_label.setText("0 selected") + elif count == 1: + self.selected_sponsorblock_label.setText("1 category selected") + else: + self.selected_sponsorblock_label.setText(f"{count} categories selected") + + # Update button property for styling + self.sponsorblock_select_btn.setProperty("sponsorBlockSelected", count > 0) + + # Force style refresh + self.sponsorblock_select_btn.style().unpolish(self.sponsorblock_select_btn) + self.sponsorblock_select_btn.style().polish(self.sponsorblock_select_btn) + def download_thumbnail(self, url): try: # Store both thumbnail URL and video URL @@ -274,7 +360,7 @@ class VideoInfoMixin: pixmap.loadFromData(img_byte_arr.getvalue()) self.thumbnail_label.setPixmap(pixmap) except Exception as e: - print(f"Error loading thumbnail: {str(e)}") + logger.error(f"Error loading thumbnail: {str(e)}") def download_thumbnail_file(self, video_url, path): if not self.save_thumbnail: @@ -284,7 +370,7 @@ class VideoInfoMixin: from yt_dlp import YoutubeDL import requests # Use requests instead of urlopen - print(f"Attempting to save thumbnail for URL: {video_url}") + logger.debug(f"Attempting to save thumbnail for URL: {video_url}") ydl_opts = { 'quiet': True, @@ -323,13 +409,13 @@ class VideoInfoMixin: with open(thumbnail_path, 'wb') as f: f.write(response.content) - print(f"Thumbnail saved to: {thumbnail_path}") + logger.info(f"Thumbnail saved to: {thumbnail_path}") self.signals.update_status.emit(f"✅ Thumbnail saved: {filename}") return True except Exception as e: error_msg = f"❌ Thumbnail error: {str(e)}" - print(f"Thumbnail Save Error: {str(e)}") + logger.error(f"Thumbnail Save Error: {str(e)}") self.signals.update_status.emit(error_msg) return False From 9c0897e787f9f897307a50c9e11ea2eaaff1c579 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:07:31 +0300 Subject: [PATCH 093/568] Add centralized logging configuration with loguru Introduces src/core/ytsage_logging.py to provide structured logging for the YTSage application using loguru. Includes multiple output handlers for console and file logging, robust fallbacks for environments without loguru, and safe initialization to replace print statements with consistent logging. --- src/core/ytsage_logging.py | 224 +++++++++++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 src/core/ytsage_logging.py diff --git a/src/core/ytsage_logging.py b/src/core/ytsage_logging.py new file mode 100644 index 0000000..6e050ae --- /dev/null +++ b/src/core/ytsage_logging.py @@ -0,0 +1,224 @@ +""" +YTSage logging configuration using loguru. + +This module provides centralized logging configuration for the entire YTSage application. +It replaces the inefficient print statements with structured logging using loguru. +""" + +import os +import sys +from pathlib import Path + +# Try to import loguru, but handle case where it might not be available +try: + from loguru import logger + LOGURU_AVAILABLE = True +except ImportError: + LOGURU_AVAILABLE = False + # Create a dummy logger class that does nothing + class DummyLogger: + def info(self, *args, **kwargs): pass + def debug(self, *args, **kwargs): pass + def warning(self, *args, **kwargs): pass + def error(self, *args, **kwargs): pass + def critical(self, *args, **kwargs): pass + def remove(self, *args, **kwargs): pass + def add(self, *args, **kwargs): pass + def bind(self, *args, **kwargs): return self + @property + def _core(self): + class Core: + handlers = [] + return Core() + + logger = DummyLogger() + + +def setup_logging(): + """ + Configure loguru logging for YTSage application. + + Sets up multiple log levels and outputs: + - Console output for INFO and above + - File output for DEBUG and above + - Separate error log file for ERROR and above + """ + + if not LOGURU_AVAILABLE: + return logger + + # Remove default logger to avoid duplicate output + try: + logger.remove() + except Exception: + pass + + # Get the application data directory with fallbacks + try: + if sys.platform == 'win32': + localappdata = os.environ.get('LOCALAPPDATA') + if localappdata: + log_dir = Path(localappdata) / 'YTSage' / 'logs' + else: + # Fallback for PyInstaller or when LOCALAPPDATA is not set + log_dir = Path.home() / 'AppData' / 'Local' / 'YTSage' / 'logs' + elif sys.platform == 'darwin': + log_dir = Path.home() / 'Library' / 'Application Support' / 'YTSage' / 'logs' + else: + log_dir = Path.home() / '.local' / 'share' / 'YTSage' / 'logs' + except Exception: + # Ultimate fallback - use current directory + log_dir = Path.cwd() / 'logs' + + # Create log directory if it doesn't exist + try: + log_dir.mkdir(parents=True, exist_ok=True) + except Exception: + # If we can't create the log directory, fall back to current directory + log_dir = Path.cwd() + try: + log_dir.mkdir(exist_ok=True) + except Exception: + pass # If we still can't create it, we'll just log to console + + # Console handler - INFO and above, with colors + # Check if stdout is available (it might be None in PyInstaller windowed apps) + stdout_available = sys.stdout is not None + + if stdout_available: + try: + logger.add( + sys.stdout, + level="INFO", + format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", + colorize=True, + catch=True + ) + except Exception: + # Fallback to basic console logging without colors + try: + logger.add( + sys.stdout, + level="INFO", + format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", + catch=True + ) + except Exception: + stdout_available = False + + # If stdout is not available, try stderr or skip console logging entirely + if not stdout_available: + try: + if sys.stderr is not None: + logger.add( + sys.stderr, + level="WARNING", # Only warnings and errors to stderr + format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", + catch=True + ) + except Exception: + # If even stderr fails, we'll rely only on file logging + pass + + # Only add file handlers if we successfully created a log directory + if log_dir and log_dir.exists(): + try: + # Main log file - DEBUG and above, with rotation + logger.add( + log_dir / "ytsage.log", + level="DEBUG", + format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", + rotation="10 MB", # Rotate when file reaches 10MB + retention="7 days", # Keep logs for 7 days + compression="zip", # Compress old logs + catch=True + ) + + # Error log file - ERROR and above only + logger.add( + log_dir / "ytsage_errors.log", + level="ERROR", + format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", + rotation="5 MB", + retention="30 days", # Keep error logs longer + compression="zip", + catch=True + ) + except Exception as e: + # If file logging fails, just log to console + logger.warning(f"Could not set up file logging: {e}") + + # Log startup message if we have any handlers + if logger._core.handlers: + logger.info("YTSage logging system initialized") + if log_dir and log_dir.exists(): + logger.debug(f"Log directory: {log_dir}") + else: + logger.warning("File logging disabled - could not create log directory") + + # If no handlers were successfully added, add a null handler to prevent errors + if not logger._core.handlers: + # Add a minimal handler that just discards messages + # This prevents loguru from complaining about no handlers + import tempfile + try: + # Try to add a temporary file handler as last resort + temp_log = Path(tempfile.gettempdir()) / "ytsage_temp.log" + logger.add(temp_log, level="ERROR", catch=True) + except Exception: + # If even that fails, we're in a very restricted environment + # loguru should handle this gracefully with its internal fallbacks + pass + + return logger + + +def get_logger(name: str = None): + """ + Get a logger instance for a specific module. + + Args: + name: Name of the module/component requesting the logger + + Returns: + Configured logger instance + """ + if name: + return logger.bind(name=name) + return logger + + +# Initialize logging when module is imported - with maximum safety +_setup_complete = False + +def safe_setup(): + """Safely initialize logging with multiple fallback strategies.""" + global _setup_complete + if _setup_complete: + return logger + + try: + setup_logging() + _setup_complete = True + except Exception: + # If all else fails, create an even simpler logger that just prints + if LOGURU_AVAILABLE: + try: + logger.remove() + except Exception: + pass + + # At this point, just ensure we have something that won't crash + _setup_complete = True + + return logger + +# Try to set up logging, but don't let it crash the module import +try: + safe_setup() +except Exception: + # Ultimate fallback - the module will still import successfully + pass + +# Export the main logger for convenience +__all__ = ['logger', 'get_logger', 'setup_logging'] From 609583821c44af1f5f1b25f000b3841c2b9aa886 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:22:04 +0300 Subject: [PATCH 094/568] Remove inline styles from README links Cleaned up README.md by removing unnecessary inline CSS styles from navigation and download links for improved readability and markdown compatibility. --- README.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 97e3540..a958516 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,12 @@ Download videos in any quality, extract audio, fetch subtitles, and more.

- Installation • - Features • - Usage • - Screenshots • - Troubleshooting • - Contributing + Installation • + Features • + Usage • + Screenshots • + Troubleshooting • + Contributing

@@ -75,9 +75,7 @@ ytsage - 🐧 **Linux:** YTSage-v<version>-amd64.deb / YTSage-v<version>-x86_64.AppImage - 🍎 **macOS:** YTSage-v<version>-macOS.zip / YTSage-v<version>.dmg -> - 👉 Download Latest Release - +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
🛠️ Manual Installation from Source From 248fe30346953c3605a06d7f53f39a82cd6adf33 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 16 Aug 2025 15:32:48 +0300 Subject: [PATCH 095/568] Remove unused HTML style block from README Deleted a -

A heartfelt thank you to everyone who has contributed to this project by opening an issue to suggest an improvement or report a bug.

From 6652d7f00f3de43d0a2daa965ee3a02fd9853a8a Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Tue, 19 Aug 2025 20:30:54 +0300 Subject: [PATCH 096/568] docs: add antivirus false positive warning to troubleshooting --- README.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ecb1102..a2dcf0c 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,24 @@ python main.py --- +#### 🛡️ Windows Defender / Antivirus Warning + +Some antivirus software may flag the `.exe` files as false positives. This is a **known limitation** of PyInstaller-packaged applications. + +**Why this happens:** +- PyInstaller bundles Python runtime and libraries together +- Antivirus heuristics can misidentify packed executables as suspicious +- This affects many legitimate Python applications built with PyInstaller + +**Safe alternatives:** +- ✅ **Use pip installation:** `pip install ytsage` (recommended) +- ✅ **Build from source** +- ✅ **Whitelist the application** in your antivirus software + +> 📋 **Related Issues:** [#33](https://github.com/oop7/YTSage/issues/33) - This is a known PyInstaller limitation, not a security issue with YTSage itself. + +--- + #### 🍎 macOS: "App is damaged and can’t be opened" If you see this error on macOS Sonoma or newer, you need to remove the quarantine attribute. @@ -391,4 +409,4 @@ This tool is for personal use only. Please respect YouTube's terms of service an Made with ❤️ by [oop7](https://github.com/oop7) - \ No newline at end of file + From 9c13b4b61ccc7df20db39c1d0cead06a233dcaad Mon Sep 17 00:00:00 2001 From: Viren Hirpara <62017836+viru185@users.noreply.github.com> Date: Tue, 26 Aug 2025 18:57:12 +0530 Subject: [PATCH 097/568] Refactor/code cleanup (#37) * fix imports remove unused imports use full import path sort import (1. Standard Library, 2. Third-Party, 3. Local) in alphabetic. * - remove: Method 3 from src.core.ytsage_downlader:cleanup_subtitle_file - it could delete the subtitle file of other movies if it present in same directory as it scane recursively. - refactor: migrate from os.path to pathlib.Path for path handling - Replaced os.path methods with pathlib.Path to improve readability, - avoid repeatation. - cross-platform compatibility, and maintain cleaner code. - improve: enhance code readability - Standardized string literals to use double quotes for consistency - Removed unnecessary spaces to maintain cleaner formatting - Applied code formatting for better readability and maintainability * - add: ytsage_constants.py file for one place to store all constants. - imporve: return type hint for function. - remove: src/gui/ytsage_gui_dialogs.py file to avoid repetation - src/gui/dialogs is renamed to src/gui/ytsage_gui_dialogs for same naming convection. (future import will remains same) - use of src/gui/ytsage_gui_dialogs/__init__.py to import the dilogs modules. - change: variable self.parent to self._parent so it does not overwrite the parent() - add type hint checking. * - refactor: QMetaObject.invokeMethod to Signal - I encounter error with incokeMethod. Could not solve it. - So, Changed it to Signal to match app code language. - implement: the ytsage_constants.py to code - remove: unnecessary logic - remove: repetitive code logic. - update: yt-dlp logic for src\gui\ytsage_gui_dialogs\ytsage_dialogs_update:_update_binary - yt-dlp update logic will use `yt-dlp -U` * refactor: remove unused imports and streamline code formatting across multiple files --- main.py | 27 +- src/core/ytsage_downloader.py | 546 +++++----- src/core/ytsage_ffmpeg.py | 277 ++--- src/core/ytsage_logging.py | 112 +- src/core/ytsage_style.py | 2 +- src/core/ytsage_utils.py | 486 +++++---- src/core/ytsage_yt_dlp.py | 423 ++++---- src/gui/dialogs/__init__.py | 41 - src/gui/ytsage_gui_dialogs.py | 37 - src/gui/ytsage_gui_dialogs/__init__.py | 60 ++ .../ytsage_dialogs_base.py | 240 +++-- .../ytsage_dialogs_custom.py | 381 ++++--- .../ytsage_dialogs_ffmpeg.py | 74 +- .../ytsage_dialogs_selection.py | 354 ++++--- .../ytsage_dialogs_settings.py | 331 +++--- .../ytsage_dialogs_update.py | 512 +++++----- src/gui/ytsage_gui_format_table.py | 248 +++-- src/gui/ytsage_gui_main.py | 954 +++++++++--------- src/gui/ytsage_gui_video_info.py | 226 +++-- src/utils/__init__.py | 0 src/utils/ytsage_constants.py | 102 ++ 21 files changed, 2805 insertions(+), 2628 deletions(-) delete mode 100644 src/gui/dialogs/__init__.py delete mode 100644 src/gui/ytsage_gui_dialogs.py create mode 100644 src/gui/ytsage_gui_dialogs/__init__.py rename src/gui/{dialogs => ytsage_gui_dialogs}/ytsage_dialogs_base.py (80%) rename src/gui/{dialogs => ytsage_gui_dialogs}/ytsage_dialogs_custom.py (73%) rename src/gui/{dialogs => ytsage_gui_dialogs}/ytsage_dialogs_ffmpeg.py (79%) rename src/gui/{dialogs => ytsage_gui_dialogs}/ytsage_dialogs_selection.py (77%) rename src/gui/{dialogs => ytsage_gui_dialogs}/ytsage_dialogs_settings.py (82%) rename src/gui/{dialogs => ytsage_gui_dialogs}/ytsage_dialogs_update.py (62%) create mode 100644 src/utils/__init__.py create mode 100644 src/utils/ytsage_constants.py diff --git a/main.py b/main.py index 00cb8dc..cfbb542 100644 --- a/main.py +++ b/main.py @@ -1,8 +1,14 @@ import sys + from PySide6.QtWidgets import QApplication, QMessageBox -from src.gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main -from src.core.ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path # Import the new yt-dlp setup functions + from src.core.ytsage_logging import logger +from src.core.ytsage_yt_dlp import ( # Import the new yt-dlp setup functions + check_ytdlp_binary, + setup_ytdlp, +) +from src.gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main + def show_error_dialog(message): error_dialog = QMessageBox() @@ -12,28 +18,29 @@ def show_error_dialog(message): error_dialog.setWindowTitle("Error") error_dialog.exec() + def main(): try: logger.info("Starting YTSage application") app = QApplication(sys.argv) - + # Get the expected binary path and check if it exists - expected_path = get_ytdlp_executable_path() if not check_ytdlp_binary(): # No app-specific binary found, show setup dialog regardless of Python package logger.warning("No yt-dlp binary found, starting setup process") yt_dlp_path = setup_ytdlp() if yt_dlp_path == "yt-dlp": # If user canceled or something went wrong logger.warning("yt-dlp not configured properly") - - window = YTSageApp() # Instantiate the main application class + + window = YTSageApp() # Instantiate the main application class window.show() logger.info("Application window shown, entering main loop") sys.exit(app.exec()) except Exception as e: - logger.critical(f"Critical application error: {str(e)}", exc_info=True) - show_error_dialog(f"Critical error: {str(e)}") + logger.critical(f"Critical application error: {e}", exc_info=True) + show_error_dialog(f"Critical error: {e}") sys.exit(1) -if __name__ == '__main__': - main() \ No newline at end of file + +if __name__ == "__main__": + main() diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index a65222c..e923dff 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -1,24 +1,34 @@ -from PySide6.QtCore import QThread, Signal, QObject, QProcess, QTimer -from .ytsage_logging import logger +import re +import shlex # For safely parsing command arguments +import subprocess # For direct CLI command execution +import time +from pathlib import Path + +from PySide6.QtCore import QObject, QThread, Signal + +from src.core.ytsage_logging import logger +from src.core.ytsage_yt_dlp import get_yt_dlp_path +from src.utils.ytsage_constants import SUBPROCESS_CREATIONFLAGS + try: - import yt_dlp # Keep yt_dlp import here - only downloader uses it. + import yt_dlp # Keep yt_dlp import here - only downloader uses it. + YT_DLP_AVAILABLE = True except ImportError: YT_DLP_AVAILABLE = False logger.warning("yt-dlp not available at startup, will be downloaded at runtime") -import time -import os -import re -import subprocess # For direct CLI command execution -import shlex # For safely parsing command arguments -import sys # Added to get executable path information -from pathlib import Path -from .ytsage_yt_dlp import get_yt_dlp_path # Import the new yt-dlp path function + class SignalManager(QObject): update_formats = Signal(list) update_status = Signal(str) update_progress = Signal(float) + playlist_info_label_visible = Signal(bool) + playlist_info_label_text = Signal(str) + selected_subs_label_text = Signal(str) + playlist_select_btn_visible = Signal(bool) + playlist_select_btn_text = Signal(str) + class DownloadThread(QThread): progress_signal = Signal(float) @@ -26,18 +36,36 @@ class DownloadThread(QThread): finished_signal = Signal() error_signal = Signal(str) file_exists_signal = Signal(str) # New signal for file existence - update_details = Signal(str) # New signal for filename, speed, ETA + update_details = Signal(str) # New signal for filename, speed, ETA - def __init__(self, url, path, format_id, subtitle_langs=None, is_playlist=False, merge_subs=False, enable_sponsorblock=False, sponsorblock_categories=None, resolution='', playlist_items=None, save_description=False, embed_chapters=False, cookie_file=None, rate_limit=None, download_section=None, force_keyframes=False): + def __init__( + self, + url, + path, + format_id, + subtitle_langs=None, + is_playlist=False, + merge_subs=False, + enable_sponsorblock=False, + sponsorblock_categories=None, + resolution="", + playlist_items=None, + save_description=False, + embed_chapters=False, + cookie_file=None, + rate_limit=None, + download_section=None, + force_keyframes=False, + ) -> None: super().__init__() self.url = url - self.path = path + self.path = Path(path) self.format_id = format_id self.subtitle_langs = subtitle_langs if subtitle_langs else [] self.is_playlist = is_playlist self.merge_subs = merge_subs self.enable_sponsorblock = enable_sponsorblock - self.sponsorblock_categories = sponsorblock_categories if sponsorblock_categories else ['sponsor'] + self.sponsorblock_categories = sponsorblock_categories if sponsorblock_categories else ["sponsor"] self.resolution = resolution self.playlist_items = playlist_items self.save_description = save_description @@ -52,205 +80,136 @@ class DownloadThread(QThread): self.use_direct_command = True # Flag to use direct CLI command instead of Python API self.last_output_time = time.time() self.timeout_timer = None - self.current_filename = None # Initialize filename storage - self.last_file_path = None # Initialize full file path storage - self.subtitle_files = [] # Track subtitle files that are created - self.initial_subtitle_files = set() # Track initial subtitle files before download + self.current_filename = None # Initialize filename storage + self.last_file_path = None # Initialize full file path storage + self.subtitle_files = [] # Track subtitle files that are created + self.initial_subtitle_files = set() # Track initial subtitle files before download - def cleanup_partial_files(self): + def cleanup_partial_files(self) -> None: """Delete any partial files including .part and unmerged format-specific files""" try: - pattern = re.compile(r'\.f\d+\.') # Pattern to match format codes like .f243. - for filename in os.listdir(self.path): - file_path = os.path.join(self.path, filename) - if filename.endswith('.part') or pattern.search(filename): + pattern = re.compile(r"\.f\d+\.") # Pattern to match format codes like .f243. + for file_path in self.path.iterdir(): + if file_path.suffix == ".part" or pattern.search(file_path.name): try: - if os.path.isfile(file_path): - os.remove(file_path) + file_path.unlink(missing_ok=True) except Exception as e: - logger.error(f"Error deleting {filename}: {str(e)}") + logger.error(f"Error deleting {file_path.name}: {str(e)}") except Exception as e: self.error_signal.emit(f"Error cleaning partial files: {str(e)}") - def cleanup_subtitle_files(self): + def cleanup_subtitle_files(self) -> None: """Delete subtitle files after they have been merged into the video file""" - if not self.merge_subs: - return # Only cleanup if merge_subs is enabled - - try: - deleted_count = 0 - - # Method 1: Delete tracked subtitle files from output messages - if self.subtitle_files: - for subtitle_file in self.subtitle_files: - try: - if os.path.isfile(subtitle_file): - os.remove(subtitle_file) - deleted_count += 1 - logger.debug(f"Deleted tracked subtitle file: {os.path.basename(subtitle_file)}") - except Exception as e: - logger.error(f"Error deleting subtitle file {subtitle_file}: {str(e)}") - - logger.debug(f"Deleted {deleted_count} of {len(self.subtitle_files)} tracked subtitle files") - - # Method 2: Find newly created subtitle files by comparing with initial set + deleted_count = [0, 0] + + def safe_delete(path: Path) -> bool: try: - new_subtitle_files = set() - for root, dirs, files in os.walk(self.path): - for file in files: - if file.endswith('.vtt') or file.endswith('.srt'): - full_path = os.path.join(root, file) - if full_path not in self.initial_subtitle_files: - new_subtitle_files.add(full_path) - - if new_subtitle_files: - logger.debug(f"Found {len(new_subtitle_files)} new subtitle files to delete") - for subtitle_file in new_subtitle_files: - try: - if os.path.isfile(subtitle_file): - os.remove(subtitle_file) - deleted_count += 1 - logger.debug(f"Deleted new subtitle file: {os.path.basename(subtitle_file)}") - except Exception as e: - logger.error(f"Error deleting new subtitle file {subtitle_file}: {str(e)}") + path.unlink(missing_ok=True) + logger.debug(f"Deleted subtitle file: {path.name}") + return True except Exception as e: - logger.error(f"Error in finding new subtitle files: {str(e)}") # Method 3: As a last resort, use timestamp-based approach for recently created files - if self.last_file_path and deleted_count == 0: - target_dir = os.path.dirname(self.last_file_path) - - # Look for subtitle files created in last 5 minutes - now = time.time() - for filename in os.listdir(target_dir): - if filename.endswith('.vtt') or filename.endswith('.srt'): - file_path = os.path.join(target_dir, filename) - - # Check if it was created in the last 5 minutes - file_time = os.path.getctime(file_path) - if now - file_time < 300: # 5 minutes - try: - os.remove(file_path) - deleted_count += 1 - logger.debug(f"Deleted subtitle file by timestamp: {filename}") - except Exception as e: - logger.error(f"Error deleting subtitle file {filename}: {str(e)}") - - logger.debug(f"Total subtitle files deleted: {deleted_count}") - + logger.error(f"Error deleting subtitle file {path}: {e}") + return False + + try: + # --- Method 1: Delete tracked subtitle files --- + for f in self.subtitle_files or []: + deleted_count[0] += safe_delete(path=Path(f)) + else: + logger.debug(f"Deleted {deleted_count[0]} of {len(self.subtitle_files)} tracked subtitle files") + + # --- Method 2: Delete new subtitle files not in initial set --- + new_subtitle_files = { + f for f in Path(self.path).rglob("*") if f.suffix in [".vtt", ".srt"] and f not in self.initial_subtitle_files + } + for subtitle_file in new_subtitle_files: + deleted_count[1] += safe_delete(path=subtitle_file) + else: + logger.debug(f"Deleted {deleted_count[1]} of {len(new_subtitle_files)} new subtitle files") except Exception as e: logger.error(f"Error cleaning subtitle files: {str(e)}") - def check_file_exists(self): + def check_file_exists(self) -> bool | None: """Check if the file already exists before downloading""" try: logger.debug("Starting file existence check") # Use yt-dlp to get the filename without downloading, suppressing warnings ydl_opts_check = { - 'quiet': True, - 'skip_download': True, - 'no_warnings': True, # <-- Suppress warnings during check - 'ignoreerrors': True, # Also ignore other potential errors during this check - 'outtmpl': {'default': os.path.join(self.path, '%(title)s.%(ext)s')}, - 'format': self.format_id if self.format_id else 'best' # Use selected format or best + "quiet": True, + "skip_download": True, + "no_warnings": True, # <-- Suppress warnings during check + "ignoreerrors": True, # Also ignore other potential errors during this check + "outtmpl": {"default": Path.joinpath(self.path, "%(title)s.%(ext)s")}, + "format": (self.format_id if self.format_id else "best"), # Use selected format or best } if self.cookie_file: - ydl_opts_check['cookiefile'] = self.cookie_file + ydl_opts_check["cookiefile"] = self.cookie_file if YT_DLP_AVAILABLE: with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: info = ydl.extract_info(self.url, download=False) - + # Handle cases where info extraction fails silently if not info: logger.debug("Failed to extract info during file existence check. Skipping check.") - return False # Proceed with download attempt + return False # Proceed with download attempt # Get the title and sanitize it for filename - title = info.get('title', 'video') + title = info.get("title", "video") # Don't remove colons and other special characters yet logger.debug(f"Original video title: {title}") - + # Get resolution for better matching resolution = "" - for format_info in info.get('formats', []): - if format_info.get('format_id') == self.format_id: - resolution = format_info.get('resolution', '') + for format_info in info.get("formats", []): + if format_info.get("format_id") == self.format_id: + resolution = format_info.get("resolution", "") break - + logger.debug(f"Resolution: {resolution}") else: logger.debug("yt-dlp not available, skipping file existence check") return False # Proceed with download attempt - - # Create the expected filename (more specific) - if self.is_playlist and info.get('playlist_title'): - playlist_title = re.sub(r'[\\/*?"<>|]', "", info.get('playlist_title', '')).strip() - base_path = os.path.join(self.path, playlist_title) - else: - base_path = self.path - - # Normalize the path to use consistent separators - base_path = os.path.normpath(base_path) - logger.debug(f"Base path: {base_path}") - - # Instead of trying to predict the exact filename, scan the directory - # and look for files that contain both the title and resolution - if os.path.exists(base_path): - for filename in os.listdir(base_path): - if filename.endswith('.mp4'): - # Check if both title parts and resolution are in the filename - title_words = title.lower().split() - filename_lower = filename.lower() - - # Check if most title words are in the filename - title_match = all(word in filename_lower for word in title_words[:3]) - resolution_match = resolution.lower() in filename_lower - - logger.debug(f"Checking file: {filename}, Title match: {title_match}, Resolution match: {resolution_match}") - - if title_match and resolution_match: - logger.debug(f"Found matching file: {filename}") - return filename - - logger.debug("No matching file found") - return None + except Exception as e: logger.debug(f"Error checking file existence: {str(e)}") import traceback + traceback.print_exc() return None - def _build_yt_dlp_command(self): + def _build_yt_dlp_command(self) -> list: """Build the yt-dlp command line with all options for direct execution.""" # Use the new yt-dlp path function from ytsage_yt_dlp module yt_dlp_path = get_yt_dlp_path() - cmd = [yt_dlp_path] + cmd: list = [yt_dlp_path] logger.debug(f"Using yt-dlp from: {yt_dlp_path}") - + # Format selection strategy - use format ID if provided or fallback to resolution if self.format_id: # Strip the -drc suffix if present to fix issues with certain audio formats - clean_format_id = self.format_id.split('-drc')[0] if '-drc' in self.format_id else self.format_id - + clean_format_id = self.format_id.split("-drc")[0] if "-drc" in self.format_id else self.format_id + # Check if this is an audio-only format is_audio_format = False try: if YT_DLP_AVAILABLE: ydl_opts = { - 'quiet': True, - 'no_warnings': True, - 'skip_download': True, + "quiet": True, + "no_warnings": True, + "skip_download": True, } with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(self.url, download=False) - for fmt in info.get('formats', []): - if fmt.get('format_id') == clean_format_id: - if fmt.get('vcodec') == 'none' or 'audio only' in fmt.get('format_note', '').lower(): + info = ydl.extract_info(self.url, download=False) or {} + for fmt in info.get("formats", []): + if fmt.get("format_id") == clean_format_id: + if fmt.get("vcodec") == "none" or "audio only" in fmt.get("format_note", "").lower(): is_audio_format = True logger.debug(f"Detected audio-only format for ID: {clean_format_id}") break except Exception as e: logger.debug(f"Error checking if format is audio-only: {e}") - + # For audio-only formats, don't try to merge with video if is_audio_format: cmd.extend(["-f", clean_format_id]) @@ -258,7 +217,7 @@ class DownloadThread(QThread): else: cmd.extend(["-f", f"{clean_format_id}+bestaudio/best"]) logger.debug(f"Using video format selection with audio: {clean_format_id}+bestaudio/best") - + # Determine output format based on the selected format ID - only for video formats if not is_audio_format: try: @@ -266,24 +225,24 @@ class DownloadThread(QThread): logger.debug(f"Getting format information for format ID: {self.format_id} (using: {clean_format_id})") if YT_DLP_AVAILABLE: ydl_opts = { - 'quiet': True, - 'no_warnings': True, - 'skip_download': True, + "quiet": True, + "no_warnings": True, + "skip_download": True, } with yt_dlp.YoutubeDL(ydl_opts) as ydl: - info = ydl.extract_info(self.url, download=False) + info = ydl.extract_info(self.url, download=False) or {} # Look for the clean format ID first - for fmt in info.get('formats', []): - if fmt.get('format_id') == clean_format_id: - format_ext = fmt.get('ext') + for fmt in info.get("formats", []): + if fmt.get("format_id") == clean_format_id: + format_ext = fmt.get("ext") break # If not found, try the original ID as fallback if not format_ext: - for fmt in info.get('formats', []): - if fmt.get('format_id') == self.format_id: - format_ext = fmt.get('ext') + for fmt in info.get("formats", []): + if fmt.get("format_id") == self.format_id: + format_ext = fmt.get("ext") break - + if format_ext: logger.debug(f"Detected format extension: {format_ext}") # Ensure output matches the selected format - only for video formats @@ -296,139 +255,136 @@ class DownloadThread(QThread): # If no specific format ID, use resolution-based sorting (-S) res_value = self.resolution if self.resolution else "720" # Default to 720p if no resolution specified cmd.extend(["-S", f"res:{res_value}"]) - + # Output template with resolution in filename - output_template = os.path.join(self.path, '%(title)s_%(resolution)s.%(ext)s') - + output_template = Path.joinpath(self.path, "%(title)s_%(resolution)s.%(ext)s") + # Handle playlist directory creation if needed if self.is_playlist: # Create output template with playlist subfolder - output_template = os.path.join(self.path, '%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s') - - cmd.extend(["-o", output_template]) - + output_template = self.path.joinpath("%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s") + + cmd.extend(["-o", output_template.as_posix()]) + # Add common options cmd.append("--force-overwrites") - + # Add playlist items if specified if self.is_playlist and self.playlist_items: cmd.extend(["--playlist-items", self.playlist_items]) - + # Add subtitle options if subtitles are selected if self.subtitle_langs: # Subtitles work with both audio-only and video formats # For audio-only formats, subtitles will be downloaded as separate files cmd.append("--write-subs") - + # Get language codes from subtitle selections lang_codes = [] for sub_selection in self.subtitle_langs: try: # Extract just the language code (e.g., 'en' from 'en - Manual') - lang_code = sub_selection.split(' - ')[0] + lang_code = sub_selection.split(" - ")[0] lang_codes.append(lang_code) except Exception as e: logger.warning(f"Could not parse subtitle selection '{sub_selection}': {e}") - + if lang_codes: cmd.extend(["--sub-langs", ",".join(lang_codes)]) cmd.append("--write-auto-subs") # Include auto-generated subtitles - + # Only embed subtitles if merge is enabled if self.merge_subs: cmd.append("--embed-subs") - + # Add SponsorBlock if enabled if self.enable_sponsorblock and self.sponsorblock_categories: cmd.append("--sponsorblock-remove") cmd.append(",".join(self.sponsorblock_categories)) - + # Add description saving if enabled if self.save_description: cmd.append("--write-description") - + # Add chapters embedding if enabled if self.embed_chapters: cmd.append("--embed-chapters") - + # Add cookies if specified if self.cookie_file: cmd.extend(["--cookies", self.cookie_file]) - + # Add rate limit if specified if self.rate_limit: cmd.extend(["-r", self.rate_limit]) - + # Add download section if specified if self.download_section: cmd.extend(["--download-sections", self.download_section]) - + # Add force keyframes option if enabled if self.force_keyframes: cmd.append("--force-keyframes-at-cuts") - + logger.debug(f"Added download section: {self.download_section}, Force keyframes: {self.force_keyframes}") - + # Add the URL as the final argument cmd.append(self.url) - + return cmd - - def run(self): + + def run(self) -> None: try: logger.debug("Starting download thread") - + # First check if file already exists using original method existing_file = self.check_file_exists() if existing_file: logger.debug(f"File exists, emitting signal: {existing_file}") self.file_exists_signal.emit(existing_file) return - + logger.debug("No existing file found, proceeding with download") - + # Get initial list of subtitle files to compare later self.initial_subtitle_files = set() if self.merge_subs: try: # Scan for existing subtitle files in the directory - for root, dirs, files in os.walk(self.path): - for file in files: - if file.endswith('.vtt') or file.endswith('.srt'): - self.initial_subtitle_files.add(os.path.join(root, file)) + for file in self.path.rglob("*"): + if file.suffix in {".vtt", ".srt"}: + self.initial_subtitle_files.add(file) logger.debug(f"Found {len(self.initial_subtitle_files)} existing subtitle files before download") except Exception as e: logger.warning(f"Error scanning for initial subtitle files: {e}") - + if self.use_direct_command: # Use direct CLI command instead of Python API self._run_direct_command() else: # Original method using Python API - code left for reference self._run_python_api() - + except Exception as e: # Catch errors during setup self.error_signal.emit(f"Critical error in download thread: {str(e)}") import traceback + traceback.print_exc() - - def _run_direct_command(self): + + def _run_direct_command(self) -> None: """Run yt-dlp as a direct command line process instead of using Python API.""" try: cmd = self._build_yt_dlp_command() cmd_str = " ".join(shlex.quote(str(arg)) for arg in cmd) logger.debug(f"Executing command: {cmd_str}") - + self.status_signal.emit("🚀 Starting download...") self.progress_signal.emit(0) - + # Start the process - # Add creationflags=subprocess.CREATE_NO_WINDOW to hide console on Windows - creation_flags = 0 - if os.name == 'nt': # Only use flag on Windows - creation_flags = subprocess.CREATE_NO_WINDOW - + # Extra logic moved to src\utils\ytsage_constants.py + self.process = subprocess.Popen( cmd, stdout=subprocess.PIPE, @@ -436,37 +392,39 @@ class DownloadThread(QThread): text=True, bufsize=1, # Line buffered universal_newlines=True, - creationflags=creation_flags # Add this flag + creationflags=SUBPROCESS_CREATIONFLAGS, ) - + # Process output line by line to update progress - for line in iter(self.process.stdout.readline, ''): + for line in iter(self.process.stdout.readline, ""): # type: ignore if self.cancelled: self.process.terminate() self.cleanup_partial_files() self.status_signal.emit("Download cancelled") return - + # Wait if paused while self.paused and not self.cancelled: time.sleep(0.1) - + # Parse the line for download progress and status updates self._parse_output_line(line) - + # Wait for process to complete return_code = self.process.wait() - + # Special handling for specific errors # return code 127 typically means command not found if return_code == 127: - self.error_signal.emit("Error: yt-dlp executable not found. This could be due to improper installation or a PATH issue.") + self.error_signal.emit( + "Error: yt-dlp executable not found. This could be due to improper installation or a PATH issue." + ) return - + if return_code == 0: self.progress_signal.emit(100) self.status_signal.emit("✅ Download completed!") - + # Clean up subtitle files if they were merged, with a small delay # to ensure the embedding process has completed if self.merge_subs: @@ -475,7 +433,7 @@ class DownloadThread(QThread): self.status_signal.emit("✅ Download completed! Cleaning up...") time.sleep(3) # Increased delay to 3 seconds self.cleanup_subtitle_files() - + self.finished_signal.emit() else: # Check if it was cancelled @@ -484,217 +442,223 @@ class DownloadThread(QThread): else: # Provide more descriptive error message for possible yt-dlp conflicts if return_code == 1: - self.error_signal.emit(f"Download failed with return code {return_code}. This may be due to a conflict with multiple yt-dlp installations. Try uninstalling any system-installed yt-dlp (e.g. through snap or apt) and restart the application.") + self.error_signal.emit( + f"Download failed with return code {return_code}. This may be due to a conflict with multiple yt-dlp installations. Try uninstalling any system-installed yt-dlp (e.g. through snap or apt) and restart the application." + ) else: self.error_signal.emit(f"Download failed with return code {return_code}") self.cleanup_partial_files() - + except Exception as e: self.error_signal.emit(f"Error in direct command: {str(e)}") self.cleanup_partial_files() - - def _parse_output_line(self, line): + + def _parse_output_line(self, line) -> None: """Parse yt-dlp command output to update progress and status.""" line = line.strip() # logger.info(f"yt-dlp: {line}") # Log all output - OPTIONALLY UNCOMMENT FOR VERBOSE DEBUG - + # Extract filename when the destination line appears # Use a slightly more robust regex looking for the start of the line - dest_match = re.search(r'^\[download\] Destination:\s*(.*)', line) + dest_match = re.search(r"^\[download\] Destination:\s*(.*)", line) if dest_match: try: filepath = dest_match.group(1).strip() - self.current_filename = os.path.basename(filepath) + self.current_filename = Path(filepath).name self.last_file_path = filepath # Store the full path for later cleanup - logger.debug(f"Extracted filename: {self.current_filename}") # DEBUG - + logger.debug(f"Extracted filename: {self.current_filename}") # DEBUG + # Check if this is an audio-only download by looking in the previous lines is_audio_download = False - + # Look for audio format indicators in the current line or preceding output # yt-dlp typically mentions format like "Downloading format 251 - audio only" - if ' - audio only' in line: + if " - audio only" in line: is_audio_download = True # Check if the format ID is mentioned earlier in the line - format_match = re.search(r'Downloading format (\d+)', line) + format_match = re.search(r"Downloading format (\d+)", line) if format_match: format_id = format_match.group(1) logger.debug(f"Detected format ID: {format_id}") - # Format IDs for audio typically have different patterns + # Format IDs for audio typically have different patterns # (like 140, 251 for audio vs 137, 248 for video) # This is just a heuristic since format IDs can vary - + # Determine file type based on extension and context - ext = os.path.splitext(self.current_filename)[1].lower() - + ext = Path(self.current_filename).suffix.lower() + # Check if this is explicitly an audio stream download - if is_audio_download or 'Downloading audio' in line: + if is_audio_download or "Downloading audio" in line: self.status_signal.emit(f"⏬ Downloading audio...") # Video file extensions with likely video content - elif ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + elif ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: self.status_signal.emit(f"⏬ Downloading video...") # Audio file extensions - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: self.status_signal.emit(f"⏬ Downloading audio...") # Subtitle file extensions - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + elif ext in [".vtt", ".srt", ".ass", ".ssa"]: self.status_signal.emit(f"⏬ Downloading subtitle...") # Default case else: self.status_signal.emit(f"⏬ Downloading...") except Exception as e: logger.error(f"Error extracting filename from line '{line}': {e}") - self.status_signal.emit("⚡ Downloading...") # Fallback status - return # Don't process this line further for speed/ETA - + self.status_signal.emit("⚡ Downloading...") # Fallback status + return # Don't process this line further for speed/ETA + # Check for specific download types in the output if "Downloading video" in line: self.status_signal.emit(f"⏬ Downloading video...") return - + elif "Downloading audio" in line: self.status_signal.emit(f"⏬ Downloading audio...") return - + # Detect subtitle file creation # Look for lines like "[info] Writing video subtitles to: filename.xx.vtt" - subtitle_match = re.search(r'(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.*\.(?:vtt|srt))', line, re.IGNORECASE) + subtitle_match = re.search( + r"(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.*\.(?:vtt|srt))", + line, + re.IGNORECASE, + ) if subtitle_match: subtitle_file = subtitle_match.group(1).strip() # Show subtitle download message self.status_signal.emit(f"⏬ Downloading subtitle...") # Store the subtitle file path for later deletion if merging is enabled if self.merge_subs: - if not os.path.isabs(subtitle_file): + if not Path(subtitle_file).is_absolute(): # If it's a relative path, make it absolute based on current path - subtitle_file = os.path.join(self.path, subtitle_file) + subtitle_file = Path.joinpath(self.path, subtitle_file) self.subtitle_files.append(subtitle_file) logger.debug(f"Tracking subtitle file for later cleanup: {subtitle_file}") return - + # Send status updates based on output line content - if 'Downloading webpage' in line or 'Extracting URL' in line: + if "Downloading webpage" in line or "Extracting URL" in line: self.status_signal.emit("🔍 Fetching video information...") self.progress_signal.emit(0) - elif 'Downloading API JSON' in line: + elif "Downloading API JSON" in line: self.status_signal.emit("📋 Processing playlist data...") self.progress_signal.emit(0) - elif 'Downloading m3u8 information' in line: + elif "Downloading m3u8 information" in line: self.status_signal.emit("🎯 Preparing video streams...") self.progress_signal.emit(0) - elif '[download] Downloading video ' in line: + elif "[download] Downloading video " in line: self.status_signal.emit("⏬ Downloading video...") - elif '[download] Downloading audio ' in line: + elif "[download] Downloading audio " in line: self.status_signal.emit("⏬ Downloading audio...") - elif 'Downloading format' in line: + elif "Downloading format" in line: # Try to detect if it's audio or video format - if ' - audio only' in line: + if " - audio only" in line: self.status_signal.emit("⏬ Downloading audio...") - elif ' - video only' in line: + elif " - video only" in line: self.status_signal.emit("⏬ Downloading video...") else: # Don't emit generic message - format is unclear pass - + # Look for download percentage - percent_match = re.search(r'(\d+\.\d+)%', line) + percent_match = re.search(r"(\d+\.\d+)%", line) if percent_match: try: percent = float(percent_match.group(1)) self.progress_signal.emit(percent) except (ValueError, IndexError): pass - + # Check for download speed and ETA - if '[download]' in line and '%' in line: + if "[download]" in line and "%" in line: # Try to extract more detailed status info try: # Look for speed - speed_match = re.search(r'at\s+(\d+\.\d+[KMG]iB/s)', line) + speed_match = re.search(r"at\s+(\d+\.\d+[KMG]iB/s)", line) speed_str = speed_match.group(1) if speed_match else "N/A" - + # Look for ETA - eta_match = re.search(r'ETA\s+(\d+:\d+)', line) + eta_match = re.search(r"ETA\s+(\d+:\d+)", line) eta_str = eta_match.group(1) if eta_match else "N/A" - + # Simplify status message to only show the speed and ETA status = f"Speed: {speed_str} | ETA: {eta_str}" self.update_details.emit(status) except Exception as e: # If parsing fails, just show basic status (maybe log the error) logger.error(f"Error parsing download details line: {line} -> {e}") - pass # Keep basic status emission below if needed, or emit generic details - + pass # Keep basic status emission below if needed, or emit generic details + # Check for post-processing - if '[Merger]' in line or 'Merging formats' in line: + if "[Merger]" in line or "Merging formats" in line: self.status_signal.emit("✨ Post-processing: Merging formats...") self.progress_signal.emit(95) - elif 'SponsorBlock' in line: + elif "SponsorBlock" in line: self.status_signal.emit("✨ Post-processing: Removing sponsor segments...") self.progress_signal.emit(97) - elif 'Deleting original file' in line: + elif "Deleting original file" in line: self.progress_signal.emit(98) - elif 'has already been downloaded' in line: + elif "has already been downloaded" in line: # File already exists - extract filename - match = re.search(r'(.*?) has already been downloaded', line) + match = re.search(r"(.*?) has already been downloaded", line) if match: - filename = os.path.basename(match.group(1)) + filename = Path(match.group(1)).name # Determine file type based on extension for existing file message - ext = os.path.splitext(filename)[1].lower() - - if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + ext = Path(filename).suffix.lower() + + if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: self.status_signal.emit(f"⚠️ Video file already exists") - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: self.status_signal.emit(f"⚠️ Audio file already exists") - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + elif ext in [".vtt", ".srt", ".ass", ".ssa"]: self.status_signal.emit(f"⚠️ Subtitle file already exists") else: self.status_signal.emit(f"⚠️ File already exists") - + self.file_exists_signal.emit(filename) else: logger.info(f"Could not extract filename from 'already downloaded' line: {line}") - self.status_signal.emit("⚠️ File already exists") # Fallback status - elif 'Finished downloading' in line: + self.status_signal.emit("⚠️ File already exists") # Fallback status + elif "Finished downloading" in line: self.progress_signal.emit(100) - + # Show completion message based on file type if self.current_filename: - ext = os.path.splitext(self.current_filename)[1].lower() - + ext = Path(self.current_filename).suffix.lower() + # Video file extensions - if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: self.status_signal.emit(f"✅ Video download completed!") # Audio file extensions - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: self.status_signal.emit(f"✅ Audio download completed!") # Subtitle file extensions - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + elif ext in [".vtt", ".srt", ".ass", ".ssa"]: self.status_signal.emit(f"✅ Subtitle download completed!") # Default case else: self.status_signal.emit("✅ Download completed!") else: self.status_signal.emit("✅ Download completed!") - - self.update_details.emit("") # Clear details label on completion - - def _run_python_api(self): + + self.update_details.emit("") # Clear details label on completion + + def _run_python_api(self) -> None: """Original download method using Python API - kept for reference.""" # The existing run method code using yt_dlp.YoutubeDL starts here # This method is no longer used by default - def pause(self): + def pause(self) -> None: self.paused = True - def resume(self): + def resume(self) -> None: self.paused = False - def cancel(self): + def cancel(self) -> None: self.cancelled = True # Terminate the subprocess if it's running if self.process: try: self.process.terminate() except Exception: - pass \ No newline at end of file + pass diff --git a/src/core/ytsage_ffmpeg.py b/src/core/ytsage_ffmpeg.py index 4a423f2..c932d10 100644 --- a/src/core/ytsage_ffmpeg.py +++ b/src/core/ytsage_ffmpeg.py @@ -1,33 +1,39 @@ -import os -import sys -import subprocess -import requests -import shutil -import tempfile import hashlib +import os +import shutil +import subprocess +import tempfile from pathlib import Path -from PySide6.QtGui import QIcon -from .ytsage_logging import logger -def check_7zip_installed(): +import requests + +from src.core.ytsage_logging import logger +from src.utils.ytsage_constants import ( + FFMPEG_7Z_DOWNLOAD_URL, + FFMPEG_7Z_SHA256_URL, + FFMPEG_ZIP_DOWNLOAD_URL, + OS_NAME, + SUBPROCESS_CREATIONFLAGS, +) + + +def check_7zip_installed() -> bool: """Check if 7-Zip is installed on Windows.""" try: - subprocess.run(['7z', '--help'], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) + subprocess.run(["7z", "--help"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, creationflags=SUBPROCESS_CREATIONFLAGS) return True except (subprocess.SubprocessError, FileNotFoundError): return False -def download_file(url, dest_path, progress_callback=None): + +def download_file(url, dest_path, progress_callback=None) -> bool: """Download a file from URL to destination path with progress indication.""" try: response = requests.get(url, stream=True, timeout=30) # Added timeout response.raise_for_status() # Check for HTTP errors - total_size = int(response.headers.get('content-length', 0)) - - with open(dest_path, 'wb') as f: + total_size = int(response.headers.get("content-length", 0)) + + with open(dest_path, "wb") as f: if total_size == 0: f.write(response.content) else: @@ -43,7 +49,8 @@ def download_file(url, dest_path, progress_callback=None): logger.info(f"Download error: {str(e)}") return False -def get_file_sha256(file_path): + +def get_file_sha256(file_path) -> str: """Calculate SHA-256 hash of a file.""" sha256_hash = hashlib.sha256() with open(file_path, "rb") as f: @@ -51,17 +58,18 @@ def get_file_sha256(file_path): sha256_hash.update(chunk) return sha256_hash.hexdigest() -def verify_sha256(file_path, expected_hash_url): + +def verify_sha256(file_path, expected_hash_url) -> bool: """Verify file SHA-256 hash against expected hash from URL.""" try: # Download the SHA-256 hash response = requests.get(expected_hash_url, timeout=10) response.raise_for_status() expected_hash = response.text.strip().split()[0] # Get just the hash part - + # Calculate actual hash actual_hash = get_file_sha256(file_path) - + # Compare hashes if actual_hash.lower() == expected_hash.lower(): logger.info("SHA-256 verification successful!") @@ -75,20 +83,23 @@ def verify_sha256(file_path, expected_hash_url): logger.info(f"⚠️ SHA-256 verification error: {str(e)}") return False -def get_ffmpeg_install_path(): - """Get the FFmpeg installation path.""" - if sys.platform == 'win32': - return os.path.join(os.getenv('LOCALAPPDATA'), 'ffmpeg', 'ffmpeg-7.1.1-full_build', 'bin') - elif sys.platform == 'darwin': - paths = ['/usr/local/bin', '/opt/homebrew/bin', '/usr/bin'] - for path in paths: - if os.path.exists(os.path.join(path, 'ffmpeg')): - return path - return '/usr/local/bin' # Default Homebrew path - else: - return '/usr/bin' # Standard Linux path -def get_ffmpeg_path(): +def get_ffmpeg_install_path() -> Path: + """Get the FFmpeg installation path.""" + if OS_NAME == "Windows": + return Path(os.getenv("LOCALAPPDATA")) / "ffmpeg" / "ffmpeg-7.1.1-full_build" / "bin" # type: ignore + + elif OS_NAME == "Darwin": + paths = ["/usr/local/bin", "/opt/homebrew/bin", "/usr/bin"] + for path in paths: + if Path(path).joinpath("ffmpeg").exists(): + return Path(path) + return Path("/usr/local/bin") # Default Homebrew path + else: + return Path("/usr/bin") # Standard Linux path + + +def get_ffmpeg_path() -> str | Path: """ Get the FFmpeg executable path, either from PATH or installation directory. Returns: @@ -96,150 +107,159 @@ def get_ffmpeg_path(): """ try: # First try to find ffmpeg in PATH using 'where' on Windows or 'which' on Unix - if sys.platform == 'win32': + if OS_NAME == "Windows": # On Windows, use 'where' command and hide console window - startupinfo = None - if hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + # Extra logic moved to src\utils\ytsage_constants.py + result = subprocess.run( - ['where', 'ffmpeg'], - capture_output=True, - text=True, + ["where", "ffmpeg"], + capture_output=True, + text=True, check=False, - startupinfo=startupinfo + creationflags=SUBPROCESS_CREATIONFLAGS, ) if result.returncode == 0 and result.stdout.strip(): - ffmpeg_path = result.stdout.strip().split('\n')[0] + ffmpeg_path = result.stdout.strip().split("\n")[0] return ffmpeg_path else: # On Unix systems, use 'which' command - result = subprocess.run(['which', 'ffmpeg'], capture_output=True, text=True, check=False) + result = subprocess.run(["which", "ffmpeg"], capture_output=True, text=True, check=False) if result.returncode == 0 and result.stdout.strip(): ffmpeg_path = result.stdout.strip() return ffmpeg_path except Exception as e: logger.error(f"Error finding ffmpeg in PATH: {e}") - + # If not found in PATH, check the installation directory ffmpeg_install_path = get_ffmpeg_install_path() - if sys.platform == 'win32': - ffmpeg_exe = os.path.join(ffmpeg_install_path, 'ffmpeg.exe') + if OS_NAME == "Windows": + ffmpeg_exe = Path(ffmpeg_install_path).joinpath("ffmpeg.exe") else: - ffmpeg_exe = os.path.join(ffmpeg_install_path, 'ffmpeg') - - if os.path.exists(ffmpeg_exe): + ffmpeg_exe = Path(ffmpeg_install_path).joinpath("ffmpeg") + + if ffmpeg_exe.exists(): return ffmpeg_exe - + # Return command name as fallback return "ffmpeg" -def check_ffmpeg_installed(): + +def check_ffmpeg_installed() -> bool: """Check if FFmpeg is installed and accessible.""" try: # First try the PATH - result = subprocess.run(['ffmpeg', '-version'], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - check=True, - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0, - timeout=5) # Added timeout + result = subprocess.run( + ["ffmpeg", "-version"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=True, + creationflags=SUBPROCESS_CREATIONFLAGS, + timeout=5, + ) # Added timeout return True except (subprocess.SubprocessError, FileNotFoundError): # If not in PATH, check the installation directory ffmpeg_path = get_ffmpeg_install_path() - if sys.platform == 'win32': - ffmpeg_exe = os.path.join(ffmpeg_path, 'ffmpeg.exe') + if OS_NAME == "Windows": + ffmpeg_exe = Path(ffmpeg_path).joinpath("ffmpeg.exe") else: - ffmpeg_exe = os.path.join(ffmpeg_path, 'ffmpeg') - - if os.path.exists(ffmpeg_exe): + ffmpeg_exe = Path(ffmpeg_path).joinpath("ffmpeg") + + if ffmpeg_exe.exists(): # Add to PATH if found - os.environ['PATH'] = f"{ffmpeg_path}{os.pathsep}{os.environ.get('PATH', '')}" + os.environ["PATH"] = f"{ffmpeg_path}{os.pathsep}{os.environ.get('PATH', '')}" return True return False except Exception as e: logger.info(f"FFmpeg check error: {str(e)}") return False -def install_ffmpeg_windows(): + +def install_ffmpeg_windows() -> bool: """Install FFmpeg on Windows using 7z method primarily, with zip as fallback.""" ffmpeg_path = get_ffmpeg_install_path() - + # Check if already installed if check_ffmpeg_installed(): logger.info("FFmpeg is already installed!") return True - + try: # Define variables - prioritize 7z version - ffmpeg_7z_url = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.7z" - ffmpeg_zip_url = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.zip" - sha256_url = "https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-7.1.1-full_build.7z.sha256" - extract_dir = os.path.join(os.getenv('LOCALAPPDATA'), 'ffmpeg') - full_build_dir = os.path.join(extract_dir, 'ffmpeg-7.1.1-full_build') - bin_dir = os.path.join(full_build_dir, 'bin') + # ffmpeg variables moved to src\utils\ytsage_constants.py + extract_dir = Path(os.getenv("LOCALAPPDATA")) / "ffmpeg" # type: ignore + full_build_dir = extract_dir / "ffmpeg-7.1.1-full_build" + bin_dir = full_build_dir / "bin" # Create extraction directory if it doesn't exist - os.makedirs(extract_dir, exist_ok=True) + extract_dir.mkdir(exist_ok=True) # Try 7z method first (smaller size) use_7zip = check_7zip_installed() if use_7zip: logger.info("Using 7-Zip method (smaller download size)...") - temp_file = tempfile.NamedTemporaryFile(delete=False, suffix='.7z').name - + temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".7z").name + # Download 7z file - if not download_file(ffmpeg_7z_url, temp_file, - progress_callback=lambda msg: logger.debug(msg)): + if not download_file( + FFMPEG_7Z_DOWNLOAD_URL, + temp_file, + progress_callback=lambda msg: logger.debug(msg), + ): logger.error("Failed to download 7z file, trying zip fallback...") use_7zip = False else: # Verify SHA-256 hash for 7z file - if verify_sha256(temp_file, sha256_url): + if verify_sha256(temp_file, FFMPEG_7Z_SHA256_URL): logger.info("Extracting FFmpeg components from 7z archive...") try: - subprocess.run(['7z', 'x', temp_file, f'-o{extract_dir}', '-y'], - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0, - timeout=300) # 5-minute timeout + subprocess.run( + ["7z", "x", temp_file, f"-o{extract_dir}", "-y"], + creationflags=SUBPROCESS_CREATIONFLAGS, + timeout=300, + ) # 5-minute timeout except Exception as e: logger.error(f"7z extraction failed: {str(e)}, trying zip fallback...") use_7zip = False else: logger.error("SHA-256 verification failed for 7z file, trying zip fallback...") use_7zip = False - + # Fallback to zip method if 7z failed or not available if not use_7zip: logger.info("Using ZIP method as fallback...") - temp_file = tempfile.NamedTemporaryFile(delete=False, suffix='.zip').name - + temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".zip").name + # Download zip file - if not download_file(ffmpeg_zip_url, temp_file, - progress_callback=lambda msg: logger.debug(msg)): + if not download_file( + FFMPEG_ZIP_DOWNLOAD_URL, + temp_file, + progress_callback=lambda msg: logger.debug(msg), + ): raise Exception("Failed to download FFmpeg (both 7z and zip methods failed)") logger.info("Extracting FFmpeg components from zip archive...") try: import zipfile - with zipfile.ZipFile(temp_file, 'r') as zip_ref: + + with zipfile.ZipFile(temp_file, "r") as zip_ref: zip_ref.extractall(extract_dir) except Exception as e: raise Exception(f"Extraction failed: {str(e)}") logger.info("Configuring system paths...") # Add to System Path - user_path = os.environ.get('PATH', '') - if bin_dir not in user_path: - subprocess.run(['setx', 'PATH', f"{user_path};{bin_dir}"], - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) - os.environ['PATH'] = f"{user_path};{bin_dir}" + user_path = os.environ.get("PATH", "") + if str(bin_dir) not in user_path.split(os.pathsep): + subprocess.run( + ["setx", "PATH", f"{user_path};{bin_dir}"], + creationflags=SUBPROCESS_CREATIONFLAGS, + ) + os.environ["PATH"] = f"{user_path};{bin_dir}" # Clean up try: - os.unlink(temp_file) + Path(temp_file).unlink(missing_ok=True) except Exception: pass # Ignore cleanup errors @@ -254,16 +274,19 @@ def install_ffmpeg_windows(): logger.error(f"Error installing FFmpeg: {str(e)}") return False -def install_ffmpeg_macos(): + +def install_ffmpeg_macos() -> bool: """Install FFmpeg on macOS using Homebrew.""" try: # Check if Homebrew is installed try: - subprocess.run(['brew', '--version'], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - check=True, - timeout=5) + subprocess.run( + ["brew", "--version"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + check=True, + timeout=5, + ) except (subprocess.SubprocessError, FileNotFoundError): logger.info("Installing Homebrew...") brew_install_cmd = '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"' @@ -271,56 +294,62 @@ def install_ffmpeg_macos(): # Install FFmpeg logger.info("Installing FFmpeg...") - subprocess.run(['brew', 'install', 'ffmpeg'], check=True, timeout=300) - + subprocess.run(["brew", "install", "ffmpeg"], check=True, timeout=300) + # Verify installation if not check_ffmpeg_installed(): raise Exception("FFmpeg installation verification failed") - + return True except Exception as e: logger.error(f"Error installing FFmpeg: {str(e)}") return False -def install_ffmpeg_linux(): + +def install_ffmpeg_linux() -> bool: """Install FFmpeg on Linux using appropriate package manager.""" try: # Detect the package manager - if shutil.which('apt'): + if shutil.which("apt"): # Debian/Ubuntu - subprocess.run(['sudo', 'apt', 'update'], check=True, timeout=60) - subprocess.run(['sudo', 'apt', 'install', '-y', 'ffmpeg'], check=True, timeout=300) - elif shutil.which('dnf'): + subprocess.run(["sudo", "apt", "update"], check=True, timeout=60) + subprocess.run(["sudo", "apt", "install", "-y", "ffmpeg"], check=True, timeout=300) + elif shutil.which("dnf"): # Fedora - subprocess.run(['sudo', 'dnf', 'install', '-y', 'ffmpeg'], check=True, timeout=300) - elif shutil.which('pacman'): + subprocess.run(["sudo", "dnf", "install", "-y", "ffmpeg"], check=True, timeout=300) + elif shutil.which("pacman"): # Arch Linux - subprocess.run(['sudo', 'pacman', '-S', '--noconfirm', 'ffmpeg'], check=True, timeout=300) - elif shutil.which('snap'): + subprocess.run( + ["sudo", "pacman", "-S", "--noconfirm", "ffmpeg"], + check=True, + timeout=300, + ) + elif shutil.which("snap"): # Universal snap package - subprocess.run(['sudo', 'snap', 'install', 'ffmpeg'], check=True, timeout=300) + subprocess.run(["sudo", "snap", "install", "ffmpeg"], check=True, timeout=300) else: raise Exception("No supported package manager found") - + # Verify installation if not check_ffmpeg_installed(): raise Exception("FFmpeg installation verification failed") - + return True except Exception as e: logger.error(f"Error installing FFmpeg: {str(e)}") return False -def auto_install_ffmpeg(): + +def auto_install_ffmpeg() -> bool: """Automatically install FFmpeg based on the operating system.""" - if sys.platform == 'win32': + if OS_NAME == "Windows": return install_ffmpeg_windows() - elif sys.platform == 'darwin': + elif OS_NAME == "Darwin": return install_ffmpeg_macos() - elif sys.platform.startswith('linux'): + elif OS_NAME == "Linux": return install_ffmpeg_linux() else: - logger.info(f"Unsupported operating system: {sys.platform}") - return False \ No newline at end of file + logger.info(f"Unsupported operating system: {OS_NAME}") + return False diff --git a/src/core/ytsage_logging.py b/src/core/ytsage_logging.py index 6e050ae..7a17589 100644 --- a/src/core/ytsage_logging.py +++ b/src/core/ytsage_logging.py @@ -5,71 +5,82 @@ This module provides centralized logging configuration for the entire YTSage app It replaces the inefficient print statements with structured logging using loguru. """ -import os import sys from pathlib import Path +from src.utils.ytsage_constants import APP_LOG_DIR + # Try to import loguru, but handle case where it might not be available try: from loguru import logger + LOGURU_AVAILABLE = True except ImportError: LOGURU_AVAILABLE = False + # Create a dummy logger class that does nothing class DummyLogger: - def info(self, *args, **kwargs): pass - def debug(self, *args, **kwargs): pass - def warning(self, *args, **kwargs): pass - def error(self, *args, **kwargs): pass - def critical(self, *args, **kwargs): pass - def remove(self, *args, **kwargs): pass - def add(self, *args, **kwargs): pass - def bind(self, *args, **kwargs): return self + def info(self, *args, **kwargs): + pass + + def debug(self, *args, **kwargs): + pass + + def warning(self, *args, **kwargs): + pass + + def error(self, *args, **kwargs): + pass + + def critical(self, *args, **kwargs): + pass + + def remove(self, *args, **kwargs): + pass + + def add(self, *args, **kwargs): + pass + + def bind(self, *args, **kwargs): + return self + @property def _core(self): class Core: handlers = [] + return Core() - + logger = DummyLogger() def setup_logging(): """ Configure loguru logging for YTSage application. - + Sets up multiple log levels and outputs: - Console output for INFO and above - - File output for DEBUG and above + - File output for DEBUG and above - Separate error log file for ERROR and above """ - + if not LOGURU_AVAILABLE: return logger - + # Remove default logger to avoid duplicate output try: logger.remove() except Exception: pass - + # Get the application data directory with fallbacks try: - if sys.platform == 'win32': - localappdata = os.environ.get('LOCALAPPDATA') - if localappdata: - log_dir = Path(localappdata) / 'YTSage' / 'logs' - else: - # Fallback for PyInstaller or when LOCALAPPDATA is not set - log_dir = Path.home() / 'AppData' / 'Local' / 'YTSage' / 'logs' - elif sys.platform == 'darwin': - log_dir = Path.home() / 'Library' / 'Application Support' / 'YTSage' / 'logs' - else: - log_dir = Path.home() / '.local' / 'share' / 'YTSage' / 'logs' + # logic moved to src\utils\ytsage_constants.py + log_dir = APP_LOG_DIR except Exception: # Ultimate fallback - use current directory - log_dir = Path.cwd() / 'logs' - + log_dir = Path.cwd() / "logs" + # Create log directory if it doesn't exist try: log_dir.mkdir(parents=True, exist_ok=True) @@ -80,11 +91,11 @@ def setup_logging(): log_dir.mkdir(exist_ok=True) except Exception: pass # If we still can't create it, we'll just log to console - + # Console handler - INFO and above, with colors # Check if stdout is available (it might be None in PyInstaller windowed apps) stdout_available = sys.stdout is not None - + if stdout_available: try: logger.add( @@ -92,7 +103,7 @@ def setup_logging(): level="INFO", format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", colorize=True, - catch=True + catch=True, ) except Exception: # Fallback to basic console logging without colors @@ -101,11 +112,11 @@ def setup_logging(): sys.stdout, level="INFO", format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", - catch=True + catch=True, ) except Exception: stdout_available = False - + # If stdout is not available, try stderr or skip console logging entirely if not stdout_available: try: @@ -114,26 +125,26 @@ def setup_logging(): sys.stderr, level="WARNING", # Only warnings and errors to stderr format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", - catch=True + catch=True, ) except Exception: # If even stderr fails, we'll rely only on file logging pass - + # Only add file handlers if we successfully created a log directory if log_dir and log_dir.exists(): try: # Main log file - DEBUG and above, with rotation logger.add( log_dir / "ytsage.log", - level="DEBUG", + level="DEBUG", format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", rotation="10 MB", # Rotate when file reaches 10MB retention="7 days", # Keep logs for 7 days compression="zip", # Compress old logs - catch=True + catch=True, ) - + # Error log file - ERROR and above only logger.add( log_dir / "ytsage_errors.log", @@ -142,12 +153,12 @@ def setup_logging(): rotation="5 MB", retention="30 days", # Keep error logs longer compression="zip", - catch=True + catch=True, ) except Exception as e: # If file logging fails, just log to console logger.warning(f"Could not set up file logging: {e}") - + # Log startup message if we have any handlers if logger._core.handlers: logger.info("YTSage logging system initialized") @@ -155,12 +166,13 @@ def setup_logging(): logger.debug(f"Log directory: {log_dir}") else: logger.warning("File logging disabled - could not create log directory") - + # If no handlers were successfully added, add a null handler to prevent errors if not logger._core.handlers: # Add a minimal handler that just discards messages # This prevents loguru from complaining about no handlers import tempfile + try: # Try to add a temporary file handler as last resort temp_log = Path(tempfile.gettempdir()) / "ytsage_temp.log" @@ -169,17 +181,17 @@ def setup_logging(): # If even that fails, we're in a very restricted environment # loguru should handle this gracefully with its internal fallbacks pass - + return logger -def get_logger(name: str = None): +def get_logger(name: str | None = None): """ Get a logger instance for a specific module. - + Args: name: Name of the module/component requesting the logger - + Returns: Configured logger instance """ @@ -191,12 +203,13 @@ def get_logger(name: str = None): # Initialize logging when module is imported - with maximum safety _setup_complete = False + def safe_setup(): """Safely initialize logging with multiple fallback strategies.""" global _setup_complete if _setup_complete: return logger - + try: setup_logging() _setup_complete = True @@ -207,12 +220,13 @@ def safe_setup(): logger.remove() except Exception: pass - + # At this point, just ensure we have something that won't crash _setup_complete = True - + return logger + # Try to set up logging, but don't let it crash the module import try: safe_setup() @@ -221,4 +235,4 @@ except Exception: pass # Export the main logger for convenience -__all__ = ['logger', 'get_logger', 'setup_logging'] +__all__ = ["logger", "get_logger", "setup_logging"] diff --git a/src/core/ytsage_style.py b/src/core/ytsage_style.py index 057313b..8c2c028 100644 --- a/src/core/ytsage_style.py +++ b/src/core/ytsage_style.py @@ -149,4 +149,4 @@ QMessageBox QLabel { QMessageBox QPushButton { min-width: 80px; } -""" \ No newline at end of file +""" diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index 19ab00a..829ae5a 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -1,191 +1,201 @@ -import sys -import os import json +import os +import subprocess +import sys +import tempfile import time from pathlib import Path -import subprocess -import tempfile -import shutil + import pkg_resources -from packaging import version import requests -from .ytsage_logging import logger -from .ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path, get_ffmpeg_path -from .ytsage_yt_dlp import get_yt_dlp_path # Import the new function to avoid import errors +from packaging import version + +from src.core.ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path +from src.core.ytsage_logging import logger +from src.core.ytsage_yt_dlp import get_yt_dlp_path +from src.utils.ytsage_constants import ( + APP_CONFIG_FILE, + OS_NAME, + SUBPROCESS_CREATIONFLAGS, + USER_HOME_DIR, + YTDLP_APP_BIN_PATH, + YTDLP_DOWNLOAD_URL, +) # Cache for version information to avoid delays _version_cache = { - 'ytdlp': {'version': None, 'path': None, 'last_check': 0, 'path_mtime': 0}, - 'ffmpeg': {'version': None, 'path': None, 'last_check': 0, 'path_mtime': 0} + "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, + "ffmpeg": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, } # Cache expiry time in seconds (5 minutes) CACHE_EXPIRY = 300 -def get_file_mtime(filepath): + +def get_file_mtime(filepath) -> float: """Get file modification time safely.""" try: - if filepath and os.path.exists(filepath): - return os.path.getmtime(filepath) + if filepath and Path(filepath).exists(): + return Path(filepath).stat().st_mtime except Exception: pass return 0 -def should_refresh_cache(tool_name, current_path): + +def should_refresh_cache(tool_name, current_path) -> bool: """Determine if cache should be refreshed for a tool.""" cache = _version_cache.get(tool_name, {}) current_time = time.time() - + # Always refresh if no cached data - if not cache.get('version'): + if not cache.get("version"): return True - + # Refresh if path changed - if cache.get('path') != current_path: + if cache.get("path") != current_path: return True - + # Refresh if file was modified current_mtime = get_file_mtime(current_path) - if current_mtime > cache.get('path_mtime', 0): + if current_mtime > cache.get("path_mtime", 0): return True - + # Refresh if cache expired - if current_time - cache.get('last_check', 0) > CACHE_EXPIRY: + if current_time - cache.get("last_check", 0) > CACHE_EXPIRY: return True - + return False -def update_version_cache(tool_name, version_info, path, force_save=False): + +def update_version_cache(tool_name, version_info, path, force_save=False) -> None: """Update the version cache and optionally save to config.""" current_time = time.time() current_mtime = get_file_mtime(path) - + _version_cache[tool_name] = { - 'version': version_info, - 'path': path, - 'last_check': current_time, - 'path_mtime': current_mtime + "version": version_info, + "path": path, + "last_check": current_time, + "path_mtime": current_mtime, } - + # Save to persistent config if force_save: save_version_cache_to_config() -def load_version_cache_from_config(): + +def load_version_cache_from_config() -> None: """Load cached version info from config file.""" try: config = load_config() - cached_versions = config.get('cached_versions', {}) - + cached_versions = config.get("cached_versions", {}) + for tool_name, cache_data in cached_versions.items(): if tool_name in _version_cache: _version_cache[tool_name].update(cache_data) except Exception as e: logger.error(f"Error loading version cache: {e}") -def save_version_cache_to_config(): + +def save_version_cache_to_config() -> None: """Save version cache to config file.""" try: config = load_config() - config['cached_versions'] = _version_cache.copy() + config["cached_versions"] = _version_cache.copy() save_config(config) except Exception as e: logger.error(f"Error saving version cache: {e}") -def get_ytdlp_version_cached(): + +def get_ytdlp_version_cached() -> str: """Get yt-dlp version with caching support.""" try: current_path = get_yt_dlp_path() - + # Check if we need to refresh cache - if not should_refresh_cache('ytdlp', current_path): - cached_version = _version_cache['ytdlp'].get('version') + if not should_refresh_cache("ytdlp", current_path): + cached_version = _version_cache["ytdlp"].get("version") if cached_version: return cached_version - + # Get fresh version info version_info = get_ytdlp_version_direct(current_path) - + # Update cache - update_version_cache('ytdlp', version_info, current_path) - + update_version_cache("ytdlp", version_info, current_path) + return version_info except Exception as e: logger.error(f"Error getting cached yt-dlp version: {e}") return "Error getting version" -def get_ffmpeg_version_cached(): + +def get_ffmpeg_version_cached() -> str: """Get FFmpeg version with caching support.""" try: # Try to find ffmpeg path current_path = "ffmpeg" # Default to system PATH - + # Check if we need to refresh cache - if not should_refresh_cache('ffmpeg', current_path): - cached_version = _version_cache['ffmpeg'].get('version') + if not should_refresh_cache("ffmpeg", current_path): + cached_version = _version_cache["ffmpeg"].get("version") if cached_version: return cached_version - + # Get fresh version info version_info = get_ffmpeg_version_direct() - + # Update cache - update_version_cache('ffmpeg', version_info, current_path) - + update_version_cache("ffmpeg", version_info, current_path) + return version_info except Exception as e: logger.error(f"Error getting cached FFmpeg version: {e}") return "Error getting version" -def refresh_version_cache(force=False): + +def refresh_version_cache(force=False) -> bool: """Manually refresh version cache for both tools.""" try: # Refresh yt-dlp current_path = get_yt_dlp_path() version_info = get_ytdlp_version_direct(current_path) - update_version_cache('ytdlp', version_info, current_path, force_save=True) - + update_version_cache("ytdlp", version_info, current_path, force_save=True) + # Refresh FFmpeg version_info = get_ffmpeg_version_direct() - update_version_cache('ffmpeg', version_info, "ffmpeg", force_save=True) - + update_version_cache("ffmpeg", version_info, "ffmpeg", force_save=True) + return True except Exception as e: logger.error(f"Error refreshing version cache: {e}") return False -def get_ytdlp_version(): + +def get_ytdlp_version() -> str: """Get the version of yt-dlp (uses cached version for performance).""" return get_ytdlp_version_cached() -def get_ffmpeg_version(): + +def get_ffmpeg_version() -> str: """Get the version of FFmpeg (uses cached version for performance).""" return get_ffmpeg_version_cached() -def get_ytdlp_version_direct(yt_dlp_path=None): + +def get_ytdlp_version_direct(yt_dlp_path=None) -> str: """Get yt-dlp version directly without caching.""" try: if yt_dlp_path is None: yt_dlp_path = get_yt_dlp_path() - + if not yt_dlp_path or yt_dlp_path == "yt-dlp": return "Not found" - - # Create startupinfo to hide console on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + + # Extra logic moved to src\utils\ytsage_constants.py result = subprocess.run( - [yt_dlp_path, '--version'], - capture_output=True, - text=True, - timeout=10, - startupinfo=startupinfo + [yt_dlp_path, "--version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS ) - + if result.returncode == 0: return result.stdout.strip() else: @@ -194,34 +204,25 @@ def get_ytdlp_version_direct(yt_dlp_path=None): logger.error(f"Error getting yt-dlp version: {e}") return "Error getting version" -def get_ffmpeg_version_direct(): + +def get_ffmpeg_version_direct() -> str: """Get FFmpeg version directly without caching.""" try: - # Create startupinfo to hide console on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + # Extra logic moved to src\utils\ytsage_constants.py result = subprocess.run( - ['ffmpeg', '-version'], - capture_output=True, - text=True, - timeout=10, - startupinfo=startupinfo + ["ffmpeg", "-version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS ) - + if result.returncode == 0: # Parse the first line to get version info - lines = result.stdout.split('\n') + lines = result.stdout.split("\n") if lines: first_line = lines[0] # Extract version from something like "ffmpeg version 4.4.2 Copyright..." - if 'version' in first_line: + if "version" in first_line: parts = first_line.split() for i, part in enumerate(parts): - if part == 'version' and i + 1 < len(parts): + if part == "version" and i + 1 < len(parts): return parts[i + 1] return first_line.strip() return "Unknown version" @@ -231,28 +232,24 @@ def get_ffmpeg_version_direct(): # If ffmpeg is not in PATH, try the installation directory try: ffmpeg_path = get_ffmpeg_install_path() - if sys.platform == 'win32': - ffmpeg_exe = os.path.join(ffmpeg_path, 'ffmpeg.exe') + if OS_NAME == "Windows": + ffmpeg_exe = Path(ffmpeg_path).joinpath("ffmpeg.exe") else: - ffmpeg_exe = os.path.join(ffmpeg_path, 'ffmpeg') - - if os.path.exists(ffmpeg_exe): + ffmpeg_exe = Path(ffmpeg_path).joinpath("ffmpeg") + + if ffmpeg_exe.exists(): result = subprocess.run( - [ffmpeg_exe, '-version'], - capture_output=True, - text=True, - timeout=10, - startupinfo=startupinfo + [ffmpeg_exe, "-version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS ) - + if result.returncode == 0: - lines = result.stdout.split('\n') + lines = result.stdout.split("\n") if lines: first_line = lines[0] - if 'version' in first_line: + if "version" in first_line: parts = first_line.split() for i, part in enumerate(parts): - if part == 'version' and i + 1 < len(parts): + if part == "version" and i + 1 < len(parts): return parts[i + 1] return first_line.strip() return "Unknown version" @@ -264,49 +261,32 @@ def get_ffmpeg_version_direct(): logger.error(f"Error getting FFmpeg version: {e}") return "Error getting version" -def get_app_data_dir(): - """Get the OS-specific application data directory.""" - if sys.platform == 'win32': - # Windows: %LOCALAPPDATA%\YTSage\data\ - return Path(os.environ.get('LOCALAPPDATA', '')) / 'YTSage' / 'data' - elif sys.platform == 'darwin': - # macOS: ~/Library/Application Support/YTSage/data/ - return Path.home() / 'Library' / 'Application Support' / 'YTSage' / 'data' - else: - # Linux: ~/.local/share/YTSage/data/ - return Path.home() / '.local' / 'share' / 'YTSage' / 'data' -def get_config_file_path(): - """Get the path to the main configuration file.""" - return get_app_data_dir() / 'ytsage_config.json' +# get_app_data_dir() moved to src\utils\ytsage_constants.py +# get_config_file_path() moved to src\utils\ytsage_constants.py +# ensure_app_data_dir() moved to src\utils\ytsage_constants.py -def ensure_app_data_dir(): - """Ensure the application data directory exists.""" - data_dir = get_app_data_dir() - data_dir.mkdir(parents=True, exist_ok=True) - return data_dir -def load_config(): +def load_config() -> dict: """Load the application configuration from file.""" - config_file = get_config_file_path() default_config = { - 'download_path': str(Path.home() / 'Downloads'), - 'speed_limit_value': None, - 'speed_limit_unit_index': 0, - 'cookie_file_path': None, - 'last_used_cookie_file': None, - 'auto_update_ytdlp': True, # Enable auto-update by default - 'auto_update_frequency': 'daily', # daily, weekly, or startup - 'last_update_check': 0, # timestamp of last check - 'cached_versions': { - 'ytdlp': {'version': None, 'path': None, 'last_check': 0, 'path_mtime': 0}, - 'ffmpeg': {'version': None, 'path': None, 'last_check': 0, 'path_mtime': 0} - } + "download_path": str(USER_HOME_DIR / "Downloads"), + "speed_limit_value": None, + "speed_limit_unit_index": 0, + "cookie_file_path": None, + "last_used_cookie_file": None, + "auto_update_ytdlp": True, # Enable auto-update by default + "auto_update_frequency": "daily", # daily, weekly, or startup + "last_update_check": 0, # timestamp of last check + "cached_versions": { + "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, + "ffmpeg": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, + }, } - + try: - if config_file.exists(): - with open(config_file, 'r', encoding='utf-8') as f: + if APP_CONFIG_FILE.exists(): + with open(APP_CONFIG_FILE, "r", encoding="utf-8") as f: config = json.load(f) # Merge with defaults to ensure all keys exist for key, value in default_config.items(): @@ -317,178 +297,160 @@ def load_config(): logger.error(f"Error reading config file: {e}") # If config file is corrupted, create a new one with defaults save_config(default_config) - + return default_config -def save_config(config): + +def save_config(config) -> bool: """Save the application configuration to file.""" - config_file = get_config_file_path() try: - # Ensure the config directory exists - ensure_app_data_dir() - - with open(config_file, 'w', encoding='utf-8') as f: + with open(APP_CONFIG_FILE, "w", encoding="utf-8") as f: json.dump(config, f, ensure_ascii=False, indent=2) return True except Exception as e: logger.error(f"Error saving config: {e}") return False -def check_ffmpeg(): + +def check_ffmpeg() -> bool: """Check if FFmpeg is installed and accessible with enhanced error handling.""" try: # Use the enhanced FFmpeg check from ytsage_ffmpeg if check_ffmpeg_installed(): return True - + # For Windows, try to add the FFmpeg path to environment - if sys.platform == 'win32': + if OS_NAME == "Windows": ffmpeg_path = get_ffmpeg_install_path() - if os.path.exists(os.path.join(ffmpeg_path, 'ffmpeg.exe')): + if ffmpeg_path.joinpath("ffmpeg.exe").exists(): try: # Add to current session PATH - os.environ['PATH'] = f"{ffmpeg_path}{os.pathsep}{os.environ.get('PATH', '')}" + os.environ["PATH"] = f"{ffmpeg_path}{os.pathsep}{os.environ.get('PATH', '')}" return True except Exception as e: logger.error(f"Error updating PATH: {e}") return False - + # For macOS, check common paths - elif sys.platform == 'darwin': + elif OS_NAME == "Darwin": common_paths = [ - '/usr/local/bin/ffmpeg', - '/opt/homebrew/bin/ffmpeg', - '/usr/bin/ffmpeg' + "/usr/local/bin/ffmpeg", + "/opt/homebrew/bin/ffmpeg", + "/usr/bin/ffmpeg", ] for path in common_paths: - if os.path.exists(path): + if Path(path).exists(): try: - ffmpeg_dir = os.path.dirname(path) - os.environ['PATH'] = f"{ffmpeg_dir}{os.pathsep}{os.environ.get('PATH', '')}" + ffmpeg_dir = Path(path).parent + os.environ["PATH"] = f"{ffmpeg_dir}{os.pathsep}{os.environ.get('PATH', '')}" return True except Exception as e: logger.error(f"Error updating PATH: {e}") continue - + return False - + except Exception as e: logger.error(f"Error checking FFmpeg: {e}") return False -def load_saved_path(main_window_instance): + +def load_saved_path(main_window_instance) -> None: """Load saved download path with enhanced error handling.""" - config_file = get_config_file_path() try: - if config_file.exists(): + if APP_CONFIG_FILE.exists(): try: - with open(config_file, 'r', encoding='utf-8') as f: + with open(APP_CONFIG_FILE, "r", encoding="utf-8") as f: config = json.load(f) - saved_path = config.get('download_path', '') - if os.path.exists(saved_path) and os.access(saved_path, os.W_OK): + saved_path = config.get("download_path", "") + if Path(saved_path).exists() and os.access(saved_path, os.W_OK): main_window_instance.last_path = saved_path return except (json.JSONDecodeError, UnicodeError) as e: logger.error(f"Error reading config file: {e}") # If config file is corrupted, try to remove it try: - os.remove(config_file) + APP_CONFIG_FILE.unlink(missing_ok=True) except Exception: pass - + # Fallback to Downloads folder - downloads_path = str(Path.home() / 'Downloads') - if os.path.exists(downloads_path) and os.access(downloads_path, os.W_OK): + downloads_path = USER_HOME_DIR / "Downloads" + if downloads_path.exists() and os.access(downloads_path, os.W_OK): main_window_instance.last_path = downloads_path else: # Final fallback to temp directory if Downloads is not accessible main_window_instance.last_path = tempfile.gettempdir() - + except Exception as e: logger.error(f"Error loading saved settings: {e}") main_window_instance.last_path = tempfile.gettempdir() -def save_path(main_window_instance, path): + +def save_path(main_window_instance, path) -> bool: """Save download path with enhanced error handling.""" - config_file = get_config_file_path() try: # Verify the path is valid and writable - if not os.path.exists(path): + if not Path(path).exists(): try: - os.makedirs(path, exist_ok=True) + Path(path).mkdir(exist_ok=True) except Exception as e: logger.error(f"Error creating directory: {e}") return False - + if not os.access(path, os.W_OK): logger.info("Path is not writable") return False - - # Ensure the config directory exists - ensure_app_data_dir() - + # Save the config - config = {'download_path': path} - with open(config_file, 'w', encoding='utf-8') as f: + config = {"download_path": path} + with open(APP_CONFIG_FILE, "w", encoding="utf-8") as f: json.dump(config, f, ensure_ascii=False) return True - + except Exception as e: logger.error(f"Error saving settings: {e}") return False -def update_yt_dlp(): + +def update_yt_dlp() -> bool: """Check for yt-dlp updates and update if a newer version is available.""" try: # Get the yt-dlp path yt_dlp_path = get_yt_dlp_path() - - # Create startupinfo to hide console on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + + # Extra logic moved to src\utils\ytsage_constants.py + # For binaries downloaded with our app, use direct binary update approach - if os.path.dirname(yt_dlp_path) in [ - os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), - os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), - os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) - ]: + if yt_dlp_path.samefile(YTDLP_APP_BIN_PATH): # We're using a binary installed by our app, update directly logger.info(f"Updating yt-dlp binary at {yt_dlp_path}") - + # Determine the URL based on OS - if sys.platform == 'win32': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" - elif sys.platform == 'darwin': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" - else: - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" - + # Extra logic moved to src\utils\ytsage_constants.py + # Download the latest version try: - response = requests.get(url, stream=True) + response = requests.get(YTDLP_DOWNLOAD_URL, stream=True) if response.status_code == 200: # Create a temporary file temp_file = f"{yt_dlp_path}.new" - - with open(temp_file, 'wb') as f: + + with open(temp_file, "wb") as f: for chunk in response.iter_content(chunk_size=8192): f.write(chunk) - + # Make executable on Unix systems - if sys.platform != 'win32': + if OS_NAME != "Windows": os.chmod(temp_file, 0o755) - + # Replace the old file with the new one try: # On Windows, we need to remove the old file first - if sys.platform == 'win32' and os.path.exists(yt_dlp_path): - os.remove(yt_dlp_path) - - os.rename(temp_file, yt_dlp_path) + if OS_NAME == "Windows" and yt_dlp_path.exists(): + yt_dlp_path.unlink(missing_ok=True) + + Path(temp_file).rename(yt_dlp_path) logger.info("yt-dlp binary successfully updated") return True except Exception as e: @@ -503,7 +465,7 @@ def update_yt_dlp(): else: # We're using a system-installed yt-dlp, use pip to update logger.info("Using pip to update yt-dlp") - + # Get current version try: current_version = pkg_resources.get_distribution("yt-dlp").version @@ -511,7 +473,7 @@ def update_yt_dlp(): except pkg_resources.DistributionNotFound: logger.info("yt-dlp not installed via pip, attempting update anyway") current_version = "0.0.0" # Assume very old version to force update - + # Get the latest version from PyPI JSON API try: response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) @@ -519,16 +481,23 @@ def update_yt_dlp(): data = response.json() latest_version = data["info"]["version"] logger.info(f"Latest available yt-dlp version: {latest_version}") - + # Compare versions and update if needed if version.parse(latest_version) > version.parse(current_version): logger.info(f"Updating yt-dlp from {current_version} to {latest_version}...") update_result = subprocess.run( - [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], + [ + sys.executable, + "-m", + "pip", + "install", + "--upgrade", + "yt-dlp", + ], capture_output=True, text=True, check=False, - startupinfo=startupinfo + creationflags=SUBPROCESS_CREATIONFLAGS, ) if update_result.returncode == 0: logger.info("yt-dlp successfully updated") @@ -544,75 +513,76 @@ def update_yt_dlp(): logger.error(f"Error checking for yt-dlp updates: {e}") except Exception as e: logger.info(f"Unexpected error during yt-dlp update: {e}") - + return False -def should_check_for_auto_update(): +def should_check_for_auto_update() -> bool: """Check if auto-update should be performed based on user settings.""" try: config = load_config() - + # Check if auto-update is enabled - if not config.get('auto_update_ytdlp', False): + if not config.get("auto_update_ytdlp", False): return False - - frequency = config.get('auto_update_frequency', 'daily') - last_check = config.get('last_update_check', 0) + + frequency = config.get("auto_update_frequency", "daily") + last_check = config.get("last_update_check", 0) current_time = time.time() - + # Calculate time since last check time_diff = current_time - last_check - - if frequency == 'startup': + + if frequency == "startup": # Always check on startup if we haven't checked in the last hour return time_diff > 3600 # 1 hour - elif frequency == 'daily': + elif frequency == "daily": return time_diff > 86400 # 24 hours - elif frequency == 'weekly': + elif frequency == "weekly": return time_diff > 604800 # 7 days - + return False except Exception as e: logger.error(f"Error checking auto-update schedule: {e}") return False -def check_and_update_ytdlp_auto(): +def check_and_update_ytdlp_auto() -> bool: """Perform automatic yt-dlp update check and update if needed.""" try: logger.info("Performing automatic yt-dlp update check...") - + # Get current version current_version = get_ytdlp_version() if "Error" in current_version: logger.info("Could not determine current yt-dlp version, skipping auto-update") return False - + # Get latest version from PyPI try: response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) response.raise_for_status() latest_version = response.json()["info"]["version"] - + # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - + current_version = current_version.replace("_", ".") + latest_version = latest_version.replace("_", ".") + logger.info(f"Current yt-dlp version: {current_version}") logger.info(f"Latest yt-dlp version: {latest_version}") - + # Compare versions from packaging import version as version_parser + if version_parser.parse(latest_version) > version_parser.parse(current_version): logger.info(f"Auto-updating yt-dlp from {current_version} to {latest_version}...") - + # Perform the update if update_yt_dlp(): logger.info("Auto-update completed successfully!") # Update the last check timestamp config = load_config() - config['last_update_check'] = time.time() + config["last_update_check"] = time.time() save_config(config) return True else: @@ -622,40 +592,40 @@ def check_and_update_ytdlp_auto(): logger.info("yt-dlp is already up to date") # Still update the timestamp even if no update was needed config = load_config() - config['last_update_check'] = time.time() + config["last_update_check"] = time.time() save_config(config) return True - + except requests.RequestException as e: logger.info(f"Network error during auto-update check: {e}") return False except Exception as e: logger.error(f"Error during auto-update check: {e}") return False - + except Exception as e: logger.info(f"Critical error in auto-update: {e}") return False -def get_auto_update_settings(): +def get_auto_update_settings() -> dict: """Get current auto-update settings from config.""" config = load_config() return { - 'enabled': config.get('auto_update_ytdlp', True), - 'frequency': config.get('auto_update_frequency', 'daily'), - 'last_check': config.get('last_update_check', 0) + "enabled": config.get("auto_update_ytdlp", True), + "frequency": config.get("auto_update_frequency", "daily"), + "last_check": config.get("last_update_check", 0), } -def update_auto_update_settings(enabled, frequency): +def update_auto_update_settings(enabled, frequency) -> bool: """Update auto-update settings in config.""" try: config = load_config() - config['auto_update_ytdlp'] = enabled - config['auto_update_frequency'] = frequency + config["auto_update_ytdlp"] = enabled + config["auto_update_frequency"] = frequency save_config(config) return True except Exception as e: logger.error(f"Error updating auto-update settings: {e}") - return False \ No newline at end of file + return False diff --git a/src/core/ytsage_yt_dlp.py b/src/core/ytsage_yt_dlp.py index 86ad30d..b0b2a30 100644 --- a/src/core/ytsage_yt_dlp.py +++ b/src/core/ytsage_yt_dlp.py @@ -1,87 +1,64 @@ import os -import sys -import platform import shutil import subprocess -import requests from pathlib import Path -from PySide6.QtWidgets import (QDialog, QVBoxLayout, QLabel, QPushButton, - QProgressBar, QRadioButton, QHBoxLayout, - QMessageBox, QFileDialog, QWidget) -from PySide6.QtCore import QThread, Signal, Qt +from typing import Optional + +import requests +from PySide6.QtCore import Qt, QThread, Signal from PySide6.QtGui import QIcon -from .ytsage_logging import logger +from PySide6.QtWidgets import ( + QDialog, + QFileDialog, + QHBoxLayout, + QLabel, + QMessageBox, + QProgressBar, + QPushButton, + QRadioButton, + QVBoxLayout, + QWidget, +) -# Define binary URLs -YTDLP_URLS = { - "windows": "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe", - "macos": "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos", - "linux": "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" -} +from src.core.ytsage_logging import logger +from src.utils.ytsage_constants import ( + APP_BIN_DIR, + ICON_PATH, + OS_FULL_NAME, + OS_NAME, + SUBPROCESS_CREATIONFLAGS, + YTDLP_APP_BIN_PATH, + YTDLP_DOWNLOAD_URL, +) -# Define installation paths -def get_ytdlp_install_dir(): - """Get the OS-specific yt-dlp installation directory""" - if sys.platform == 'win32': - # Windows: %LOCALAPPDATA%\YTSage\bin\ - return os.path.join(os.environ.get('LOCALAPPDATA'), 'YTSage', 'bin') - elif sys.platform == 'darwin': - # macOS: ~/Library/Application Support/YTSage/bin/ - return os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')) - else: - # Linux: ~/.local/share/YTSage/bin/ - return os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) +# YTDLP_URLS moved to src\utils\ytsage_constants.py +# get_ytdlp_install_dir() moved to src\utils\ytsage_constants.py +# get_ytdlp_executable_path() moved to src\utils\ytsage_constants.py +# get_os_type() moved to src\utils\ytsage_constants.py +# ensure_install_dir_exists() moved to src\utils\ytsage_constants.py -def get_ytdlp_executable_path(): - """Get the full path to the yt-dlp executable based on OS""" - install_dir = get_ytdlp_install_dir() - if sys.platform == 'win32': - return os.path.join(install_dir, 'yt-dlp.exe') - else: - return os.path.join(install_dir, 'yt-dlp') - -def get_os_type(): - """Detect the operating system""" - if sys.platform == 'win32': - return "windows" - elif sys.platform == 'darwin': - return "macos" - else: - return "linux" - -def ensure_install_dir_exists(): - """Make sure the installation directory exists""" - install_dir = get_ytdlp_install_dir() - os.makedirs(install_dir, exist_ok=True) - return install_dir class DownloadYtdlpThread(QThread): progress_signal = Signal(int) finished_signal = Signal(bool, str) - - def __init__(self, os_type): + + def __init__(self): super().__init__() - self.os_type = os_type - - def run(self): + + def run(self) -> None: try: - url = YTDLP_URLS[self.os_type] - install_dir = ensure_install_dir_exists() - - if self.os_type == "windows": - exe_path = os.path.join(install_dir, "yt-dlp.exe") - else: - exe_path = os.path.join(install_dir, "yt-dlp") - + # Extra logic moved to src\utils\ytsage_constants.py + exe_path = YTDLP_APP_BIN_PATH + # Download with progress reporting - response = requests.get(url, stream=True) - total_size = int(response.headers.get('content-length', 0)) + response = requests.get(YTDLP_DOWNLOAD_URL, stream=True) + total_size = int(response.headers.get("content-length", 0)) block_size = 1024 # 1 Kibibyte - + if total_size == 0: self.progress_signal.emit(100) - - with open(exe_path, 'wb') as f: + + with open(exe_path, "wb") as f: downloaded = 0 for data in response.iter_content(block_size): f.write(data) @@ -89,44 +66,41 @@ class DownloadYtdlpThread(QThread): if total_size > 0: progress = int(downloaded / total_size * 100) self.progress_signal.emit(progress) - + # Make executable on macOS and Linux - if self.os_type != "windows": + if OS_NAME != "Windows": os.chmod(exe_path, 0o755) - + self.finished_signal.emit(True, exe_path) - + except Exception as e: self.finished_signal.emit(False, str(e)) + class YtdlpSetupDialog(QDialog): setup_complete = Signal(str) # Signal emitting the path to yt-dlp - + def __init__(self, parent=None): super().__init__(parent) - self.os_type = get_os_type() self.setWindowTitle("yt-dlp Setup Required") self.setMinimumWidth(520) self.setMinimumHeight(350) self.resize(520, 380) - + # Set the window icon to match the main app if parent and parent.windowIcon(): self.setWindowIcon(parent.windowIcon()) else: - # Try to load the icon directly if parent not available - # Navigate from src/core/ to project root, then to assets/Icon/ - current_dir = os.path.dirname(os.path.abspath(__file__)) # core/ - src_dir = os.path.dirname(current_dir) # src/ - project_root = os.path.dirname(src_dir) # project root - icon_path = os.path.join(project_root, 'assets', 'Icon', 'icon.png') - if os.path.exists(icon_path): - self.setWindowIcon(QIcon(icon_path)) - + # icon_path logic moved to src\utils\ytsage_constants.py + icon_path = ICON_PATH + if Path.exists(icon_path): + self.setWindowIcon(QIcon(icon_path.as_posix())) + self.init_ui() - + # Apply dark theme styling to match app - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; color: #ffffff; @@ -190,55 +164,54 @@ class YtdlpSetupDialog(QDialog): border: 2px solid #c90000; background: #c90000; } - """) - - def init_ui(self): + """ + ) + + def init_ui(self) -> None: layout = QVBoxLayout() layout.setSpacing(15) layout.setContentsMargins(25, 25, 25, 25) - + # Header title title_label = QLabel("yt-dlp Setup Required") title_label.setStyleSheet("font-size: 16px; font-weight: bold; color: #ffffff; padding: 5px 0;") - title_label.setAlignment(Qt.AlignCenter) + title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(title_label) - + # Information label with improved styling - if self.os_type == "windows": - os_name = "Windows" - elif self.os_type == "macos": - os_name = "macOS" - else: - os_name = "Linux" - - info_label = QLabel(f"YTSage requires yt-dlp to download videos.

" - f"yt-dlp was not found in the app's local directory. " - f"YTSage needs to set up yt-dlp for your {os_name} system.

" - f"Please choose an option below:") - info_label.setAlignment(Qt.AlignCenter) + # os_name logic moved to src\utils\ytsage_constants.py + + info_label = QLabel( + f"YTSage requires yt-dlp to download videos.

" + f"yt-dlp was not found in the app's local directory. " + f"YTSage needs to set up yt-dlp for your {OS_FULL_NAME} system.

" + f"Please choose an option below:" + ) + info_label.setAlignment(Qt.AlignmentFlag.AlignCenter) info_label.setWordWrap(True) info_label.setStyleSheet("font-size: 13px; color: #cccccc; padding: 5px; line-height: 1.4;") layout.addWidget(info_label) - + # Radio buttons with minimal spacing option_widget = QWidget() option_layout = QVBoxLayout(option_widget) option_layout.setSpacing(8) option_layout.setContentsMargins(0, 0, 0, 0) - + self.auto_radio = QRadioButton("Download automatically (Recommended)") self.auto_radio.setChecked(True) self.manual_radio = QRadioButton("Select path manually") - + option_layout.addWidget(self.auto_radio) option_layout.addWidget(self.manual_radio) layout.addWidget(option_widget) - + # Progress bar with proper sizing self.progress_bar = QProgressBar() self.progress_bar.setVisible(False) self.progress_bar.setFixedHeight(20) # Fixed height for consistency - self.progress_bar.setStyleSheet(""" + self.progress_bar.setStyleSheet( + """ QProgressBar { border: 1px solid #3d3d3d; border-radius: 8px; @@ -254,61 +227,62 @@ class YtdlpSetupDialog(QDialog): border-radius: 6px; margin: 1px; } - """) + """ + ) layout.addWidget(self.progress_bar) - + # Status label with better spacing self.status_label = QLabel("") - self.status_label.setAlignment(Qt.AlignCenter) + self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) self.status_label.setStyleSheet("font-size: 12px; color: #cccccc; padding: 8px 0;") self.status_label.setWordWrap(True) layout.addWidget(self.status_label) - + # Add stretch to push buttons to bottom layout.addStretch() - + # Button layout with improved spacing button_layout = QHBoxLayout() button_layout.setSpacing(15) button_layout.setContentsMargins(0, 10, 0, 0) # Add top margin for buttons - + self.setup_button = QPushButton("Setup yt-dlp") self.setup_button.clicked.connect(self.setup_ytdlp) - + self.cancel_button = QPushButton("Cancel") self.cancel_button.clicked.connect(self.reject) - + button_layout.addWidget(self.setup_button) button_layout.addWidget(self.cancel_button) layout.addLayout(button_layout) - + self.setLayout(layout) - - def setup_ytdlp(self): + + def setup_ytdlp(self) -> None: if self.auto_radio.isChecked(): self.download_ytdlp() else: self.select_ytdlp_path() - - def download_ytdlp(self): + + def download_ytdlp(self) -> None: self.progress_bar.setVisible(True) self.progress_bar.setValue(0) self.status_label.setText("Downloading yt-dlp...") self.setup_button.setEnabled(False) self.cancel_button.setEnabled(False) - - self.download_thread = DownloadYtdlpThread(self.os_type) + + self.download_thread = DownloadYtdlpThread() self.download_thread.progress_signal.connect(self.update_progress) self.download_thread.finished_signal.connect(self.download_finished) self.download_thread.start() - - def update_progress(self, value): + + def update_progress(self, value) -> None: self.progress_bar.setValue(value) - - def download_finished(self, success, result): + + def download_finished(self, success, result) -> None: self.setup_button.setEnabled(True) self.cancel_button.setEnabled(True) - + if success: self.status_label.setText("yt-dlp was successfully installed!") self.setup_complete.emit(result) @@ -316,12 +290,13 @@ class YtdlpSetupDialog(QDialog): else: self.status_label.setText(f"Error: {result}") error_dialog = QMessageBox(self) - error_dialog.setIcon(QMessageBox.Critical) + error_dialog.setIcon(QMessageBox.Icon.Critical) error_dialog.setWindowTitle("Download Failed") error_dialog.setText(f"Failed to download yt-dlp: {result}") # Set the window icon to match the main dialog error_dialog.setWindowIcon(self.windowIcon()) - error_dialog.setStyleSheet(""" + error_dialog.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -340,18 +315,20 @@ class YtdlpSetupDialog(QDialog): QPushButton:hover { background-color: #a50000; } - """) + """ + ) error_dialog.exec() - - def select_ytdlp_path(self): - if self.os_type == "windows": + + def select_ytdlp_path(self) -> None: + if OS_NAME == "Windows": file_filter = "Executable Files (*.exe)" else: file_filter = "All Files (*)" - + # Apply style to QFileDialog file_dialog = QFileDialog(self) - file_dialog.setStyleSheet(""" + file_dialog.setStyleSheet( + """ QFileDialog { background-color: #15181b; color: #ffffff; @@ -371,57 +348,42 @@ class YtdlpSetupDialog(QDialog): QPushButton:hover { background-color: #a50000; } - """) - - file_path, _ = file_dialog.getOpenFileName( - self, "Select yt-dlp executable", "", file_filter + """ ) - + + file_path, _ = file_dialog.getOpenFileName(self, "Select yt-dlp executable", "", file_filter) + if file_path: logger.debug(f"User selected file: {file_path}") # Verify the selected file try: - # Set up startupinfo to hide console window on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + # Extra logic moved to src\utils\ytsage_constants.py # Try to run yt-dlp --version logger.debug(f"Verifying file with --version command") result = subprocess.run( - [file_path, "--version"], - capture_output=True, - text=True, - check=False, - startupinfo=startupinfo + [file_path, "--version"], capture_output=True, text=True, check=False, creationflags=SUBPROCESS_CREATIONFLAGS ) logger.debug(f"Version check result: {result.returncode}, Output: {result.stdout.strip()}") - + if result.returncode == 0: # File is valid, copy it to our app's bin directory try: # Ensure the bin directory exists - install_dir = ensure_install_dir_exists() - logger.debug(f"Install directory: {install_dir}") - + logger.debug(f"Install directory: {APP_BIN_DIR}") + # Determine the target filename based on OS - if self.os_type == "windows": - target_path = os.path.join(install_dir, "yt-dlp.exe") - else: - target_path = os.path.join(install_dir, "yt-dlp") + target_path = YTDLP_APP_BIN_PATH logger.debug(f"Target path: {target_path}") - + # Copy the file shutil.copy2(file_path, target_path) logger.debug(f"File copied successfully") - + # Set executable permissions on Unix systems - if self.os_type != "windows": + if OS_NAME != "Windows": os.chmod(target_path, 0o755) logger.debug(f"Permissions set on Unix system") - + # Return the path of the copied file self.status_label.setText(f"yt-dlp successfully copied to {target_path}") logger.debug(f"Emitting setup_complete signal with path: {target_path}") @@ -430,10 +392,11 @@ class YtdlpSetupDialog(QDialog): except Exception as copy_error: logger.debug(f"Error copying file: {str(copy_error)}") error_dialog = QMessageBox(self) - error_dialog.setIcon(QMessageBox.Critical) + error_dialog.setIcon(QMessageBox.Icon.Critical) error_dialog.setWindowTitle("Setup Error") error_dialog.setText(f"Error copying yt-dlp to app directory: {str(copy_error)}") - error_dialog.setStyleSheet(""" + error_dialog.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -452,15 +415,17 @@ class YtdlpSetupDialog(QDialog): QPushButton:hover { background-color: #a50000; } - """) + """ + ) error_dialog.exec() else: logger.debug(f"File verification failed with return code: {result.returncode}") error_dialog = QMessageBox(self) - error_dialog.setIcon(QMessageBox.Warning) + error_dialog.setIcon(QMessageBox.Icon.Warning) error_dialog.setWindowTitle("Invalid Executable") error_dialog.setText("The selected file does not appear to be a valid yt-dlp executable.") - error_dialog.setStyleSheet(""" + error_dialog.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -479,15 +444,17 @@ class YtdlpSetupDialog(QDialog): QPushButton:hover { background-color: #a50000; } - """) + """ + ) error_dialog.exec() except Exception as e: logger.debug(f"Exception during verification: {str(e)}") error_dialog = QMessageBox(self) - error_dialog.setIcon(QMessageBox.Critical) + error_dialog.setIcon(QMessageBox.Icon.Critical) error_dialog.setWindowTitle("Error") error_dialog.setText(f"Error verifying yt-dlp executable: {str(e)}") - error_dialog.setStyleSheet(""" + error_dialog.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -506,63 +473,57 @@ class YtdlpSetupDialog(QDialog): QPushButton:hover { background-color: #a50000; } - """) + """ + ) error_dialog.exec() -def check_ytdlp_binary(): + +def check_ytdlp_binary() -> Optional[Path]: """ Check if yt-dlp binary exists in the expected location. Returns: - str or None: Path to yt-dlp binary if found, None otherwise + Path or None: Path to yt-dlp binary if found, None otherwise """ - exe_path = get_ytdlp_executable_path() - if os.path.exists(exe_path): + exe_path = YTDLP_APP_BIN_PATH + if exe_path.exists(): # Make sure it's executable on Unix systems - if sys.platform != 'win32' and not os.access(exe_path, os.X_OK): + if OS_NAME != "Windows" and not os.access(exe_path, os.X_OK): try: os.chmod(exe_path, 0o755) logger.info(f"Fixed permissions on yt-dlp at {exe_path}") except Exception as e: logger.warning(f"Could not set executable permissions on {exe_path}: {e}") - return None return exe_path - + # If not found in app directory, check if yt-dlp is available in PATH try: # Use subprocess to check if yt-dlp is available - if sys.platform == 'win32': + if OS_NAME == "Windows": # On Windows, use 'where' command and hide console window - startupinfo = None - if hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + # Extra logic moved to src\utils\ytsage_constants.py + result = subprocess.run( - ['where', 'yt-dlp'], - capture_output=True, - text=True, - check=False, - startupinfo=startupinfo + ["where", "yt-dlp"], capture_output=True, text=True, check=False, creationflags=SUBPROCESS_CREATIONFLAGS ) if result.returncode == 0 and result.stdout.strip(): - yt_dlp_path = result.stdout.strip().split('\n')[0] + yt_dlp_path = result.stdout.strip().split("\n")[0] logger.info(f"Found yt-dlp in PATH: {yt_dlp_path}") - return yt_dlp_path + return Path(yt_dlp_path) else: # On Unix systems, use 'which' command - result = subprocess.run(['which', 'yt-dlp'], capture_output=True, text=True, check=False) + result = subprocess.run(["which", "yt-dlp"], capture_output=True, text=True, check=False) if result.returncode == 0 and result.stdout.strip(): yt_dlp_path = result.stdout.strip() logger.info(f"Found yt-dlp in PATH: {yt_dlp_path}") - return yt_dlp_path + return Path(yt_dlp_path) except Exception as e: logger.error(f"Error checking for yt-dlp in PATH: {e}") - - # We're only interested in our app-specific installation or system PATH + # We're only interested in our app-specific installation or system PATH + return None -def check_ytdlp_installed(): + +def check_ytdlp_installed() -> bool: """ Check if yt-dlp is installed and accessible. Returns: @@ -573,19 +534,9 @@ def check_ytdlp_installed(): if ytdlp_path: # Try to run yt-dlp --version to verify it's working try: - # Create startupinfo to hide console on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + # Extra logic moved to src\utils\ytsage_constants.py result = subprocess.run( - [ytdlp_path, '--version'], - capture_output=True, - text=True, - timeout=5, - startupinfo=startupinfo + [ytdlp_path, "--version"], capture_output=True, text=True, timeout=5, creationflags=SUBPROCESS_CREATIONFLAGS ) return result.returncode == 0 except Exception: @@ -594,7 +545,8 @@ def check_ytdlp_installed(): except Exception: return False -def get_yt_dlp_path(): + +def get_yt_dlp_path() -> Path: """ Get the yt-dlp path, either from the app's bin directory or system PATH. This replaces the function in ytsage_utils.py. @@ -606,10 +558,11 @@ def get_yt_dlp_path(): if ytdlp_path: logger.info(f"Using yt-dlp from: {ytdlp_path}") return ytdlp_path - + # If not found anywhere, fall back to the command name as a last resort logger.info("yt-dlp not found in app directory or PATH, falling back to command name") - return "yt-dlp" + return "yt-dlp" # type: ignore[return-value] + def setup_ytdlp(parent_widget=None): """ @@ -619,33 +572,33 @@ def setup_ytdlp(parent_widget=None): """ logger.debug("Starting yt-dlp setup dialog") dialog = YtdlpSetupDialog(parent_widget) - + # Store the setup result from the signal setup_result = {"path": None} - - def on_setup_complete(path): + + def on_setup_complete(path) -> None: logger.debug(f"Received setup_complete signal with path: {path}") setup_result["path"] = path - + # Connect to the setup_complete signal dialog.setup_complete.connect(on_setup_complete) - + # Show the dialog result = dialog.exec() - logger.debug(f"Dialog result: {result} (Accepted={QDialog.Accepted})") - - if result == QDialog.Accepted: + logger.debug(f"Dialog result: {result} (Accepted={QDialog.DialogCode.Accepted})") + + if result == QDialog.DialogCode.Accepted: # First check if we received a path from the signal - if setup_result["path"] and os.path.exists(setup_result["path"]): + if setup_result["path"] and Path.exists(setup_result["path"]): logger.debug(f"Using path from signal: {setup_result['path']}") return setup_result["path"] - + # Get the expected path for verification as fallback - expected_path = get_ytdlp_executable_path() + expected_path = YTDLP_APP_BIN_PATH logger.debug(f"Expected yt-dlp path: {expected_path}") - + # Verify the path exists after dialog is accepted - if os.path.exists(expected_path): + if Path.exists(expected_path): logger.debug(f"yt-dlp successfully found at expected path: {expected_path}") return expected_path else: @@ -653,20 +606,21 @@ def setup_ytdlp(parent_widget=None): # Try to use the get_yt_dlp_path function to find yt-dlp elsewhere yt_dlp_path = get_yt_dlp_path() logger.debug(f"Alternate detection result: {yt_dlp_path}") - if yt_dlp_path != "yt-dlp" and os.path.exists(yt_dlp_path): + if yt_dlp_path != "yt-dlp" and Path.exists(yt_dlp_path): logger.debug(f"yt-dlp found at alternate location: {yt_dlp_path}") return yt_dlp_path - + # Something went wrong, show an error message logger.debug(f"Setup failed, showing error dialog") if parent_widget: error_dialog = QMessageBox(parent_widget) - error_dialog.setIcon(QMessageBox.Warning) + error_dialog.setIcon(QMessageBox.Icon.Warning) error_dialog.setWindowTitle("Setup Failed") error_dialog.setText("Failed to set up yt-dlp. Some features may not work correctly.") # Set the window icon to match the parent error_dialog.setWindowIcon(parent_widget.windowIcon()) - error_dialog.setStyleSheet(""" + error_dialog.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -685,12 +639,13 @@ def setup_ytdlp(parent_widget=None): QPushButton:hover { background-color: #a50000; } - """) + """ + ) error_dialog.exec() logger.warning(f"yt-dlp setup failed, path does not exist: {expected_path}") else: logger.debug("User cancelled the setup dialog") - + # User cancelled or setup failed, return the fallback command logger.debug("Returning fallback command 'yt-dlp'") - return "yt-dlp" \ No newline at end of file + return "yt-dlp" diff --git a/src/gui/dialogs/__init__.py b/src/gui/dialogs/__init__.py deleted file mode 100644 index a3a14b7..0000000 --- a/src/gui/dialogs/__init__.py +++ /dev/null @@ -1,41 +0,0 @@ -""" -Dialog modules for YTSage GUI. - -This package contains all dialog classes organized by functionality: -- Base dialogs (LogWindow, AboutDialog) -- Settings dialogs (DownloadSettingsDialog, AutoUpdateSettingsDialog) -- Update dialogs (YTDLPUpdateDialog, update threads) -- FFmpeg dialogs (FFmpegCheckDialog, installation) -- Selection dialogs (SubtitleSelectionDialog, PlaylistSelectionDialog) -- Custom dialogs (CustomCommandDialog, CookieLoginDialog, etc.) -""" - -# Re-export all dialog classes for backward compatibility -from .ytsage_dialogs_base import LogWindow, AboutDialog -from .ytsage_dialogs_settings import DownloadSettingsDialog, AutoUpdateSettingsDialog -from .ytsage_dialogs_update import (VersionCheckThread, UpdateThread, YTDLPUpdateDialog, - AutoUpdateThread) -from .ytsage_dialogs_ffmpeg import FFmpegInstallThread, FFmpegCheckDialog -from .ytsage_dialogs_selection import SubtitleSelectionDialog, PlaylistSelectionDialog, SponsorBlockCategoryDialog -from .ytsage_dialogs_custom import (CustomCommandDialog, CookieLoginDialog, - CustomOptionsDialog, TimeRangeDialog) - -__all__ = [ - # Base dialogs - 'LogWindow', 'AboutDialog', - - # Settings dialogs - 'DownloadSettingsDialog', 'AutoUpdateSettingsDialog', - - # Update dialogs and threads - 'VersionCheckThread', 'UpdateThread', 'YTDLPUpdateDialog', 'AutoUpdateThread', - - # FFmpeg dialogs - 'FFmpegInstallThread', 'FFmpegCheckDialog', - - # Selection dialogs - 'SubtitleSelectionDialog', 'PlaylistSelectionDialog', 'SponsorBlockCategoryDialog', - - # Custom functionality dialogs - 'CustomCommandDialog', 'CookieLoginDialog', 'CustomOptionsDialog', 'TimeRangeDialog' -] diff --git a/src/gui/ytsage_gui_dialogs.py b/src/gui/ytsage_gui_dialogs.py deleted file mode 100644 index a925021..0000000 --- a/src/gui/ytsage_gui_dialogs.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -YTSage GUI Dialogs Module - -This module serves as a centralized import point for all dialog classes in YTSage. -The dialogs have been split into logical modules for better maintainability: - -- dialogs.ytsage_dialogs_base: Base utility dialogs (LogWindow, AboutDialog) -- dialogs.ytsage_dialogs_settings: Settings configuration dialogs -- dialogs.ytsage_dialogs_update: Update-related dialogs and threads -- dialogs.ytsage_dialogs_ffmpeg: FFmpeg installation dialogs -- dialogs.ytsage_dialogs_selection: Subtitle and playlist selection dialogs -- dialogs.ytsage_dialogs_custom: Custom functionality dialogs -""" - -# Import all dialog classes from the dialogs package -from .dialogs import * - -# For backward compatibility, re-export all dialog classes -__all__ = [ - # Base dialogs - 'LogWindow', 'AboutDialog', - - # Settings dialogs - 'DownloadSettingsDialog', 'AutoUpdateSettingsDialog', - - # Update dialogs and threads - 'VersionCheckThread', 'UpdateThread', 'YTDLPUpdateDialog', 'AutoUpdateThread', - - # FFmpeg dialogs - 'FFmpegInstallThread', 'FFmpegCheckDialog', - - # Selection dialogs - 'SubtitleSelectionDialog', 'PlaylistSelectionDialog', 'SponsorBlockCategoryDialog', - - # Custom functionality dialogs - 'CustomCommandDialog', 'CookieLoginDialog', 'CustomOptionsDialog', 'TimeRangeDialog' -] diff --git a/src/gui/ytsage_gui_dialogs/__init__.py b/src/gui/ytsage_gui_dialogs/__init__.py new file mode 100644 index 0000000..013d97b --- /dev/null +++ b/src/gui/ytsage_gui_dialogs/__init__.py @@ -0,0 +1,60 @@ +""" +Dialog modules for YTSage GUI. + +This package contains all dialog classes organized by functionality: + + - ytsage_dialogs_base: Base utility dialogs + - ytsage_dialogs_settings: Settings configuration dialogs + - ytsage_dialogs_update: Update-related dialogs and threads + - ytsage_dialogs_ffmpeg: FFmpeg installation dialogs + - ytsage_dialogs_selection: Subtitle and playlist selection dialogs + - ytsage_dialogs_custom: Custom functionality dialogs +""" + +# Re-export all dialog classes for backward compatibility +from src.gui.ytsage_gui_dialogs.ytsage_dialogs_base import AboutDialog, LogWindow +from src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom import ( + CookieLoginDialog, + CustomCommandDialog, + CustomOptionsDialog, + TimeRangeDialog, +) +from src.gui.ytsage_gui_dialogs.ytsage_dialogs_ffmpeg import FFmpegCheckDialog, FFmpegInstallThread +from src.gui.ytsage_gui_dialogs.ytsage_dialogs_selection import ( + PlaylistSelectionDialog, + SponsorBlockCategoryDialog, + SubtitleSelectionDialog, +) +from src.gui.ytsage_gui_dialogs.ytsage_dialogs_settings import AutoUpdateSettingsDialog, DownloadSettingsDialog +from src.gui.ytsage_gui_dialogs.ytsage_dialogs_update import AutoUpdateThread, UpdateThread, VersionCheckThread, YTDLPUpdateDialog + +__all__ = [ + # Base dialogs + "LogWindow", + "AboutDialog", + + # Settings dialogs + "DownloadSettingsDialog", + "AutoUpdateSettingsDialog", + + # Update dialogs and threads + "VersionCheckThread", + "UpdateThread", + "YTDLPUpdateDialog", + "AutoUpdateThread", + + # FFmpeg dialogs + "FFmpegInstallThread", + "FFmpegCheckDialog", + + # Selection dialogs + "SubtitleSelectionDialog", + "PlaylistSelectionDialog", + "SponsorBlockCategoryDialog", + + # Custom functionality dialogs + "CustomCommandDialog", + "CookieLoginDialog", + "CustomOptionsDialog", + "TimeRangeDialog", +] diff --git a/src/gui/dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py similarity index 80% rename from src/gui/dialogs/ytsage_dialogs_base.py rename to src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index e8cb556..5f67b27 100644 --- a/src/gui/dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -3,32 +3,37 @@ Base dialogs for YTSage application. Contains basic utility dialogs like LogWindow and AboutDialog. """ -import sys -import os -import webbrowser -from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, - QTextEdit, QWidget, QDialogButtonBox, QSizePolicy, - QPushButton, QMessageBox, QScrollArea) -from PySide6.QtCore import Qt, QThread, Signal, QTimer -from PySide6.QtGui import QIcon +from PySide6.QtCore import Qt, QThread, QTimer, Signal +from PySide6.QtWidgets import ( + QDialog, + QDialogButtonBox, + QHBoxLayout, + QLabel, + QMessageBox, + QPushButton, + QSizePolicy, + QTextEdit, + QVBoxLayout, + QWidget, +) -from ...core.ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_path -from ...core.ytsage_yt_dlp import get_yt_dlp_path, check_ytdlp_installed -from ...core.ytsage_utils import (check_ffmpeg, get_ytdlp_version, get_ffmpeg_version, - refresh_version_cache, _version_cache) +from src.core.ytsage_ffmpeg import get_ffmpeg_path +from src.core.ytsage_utils import _version_cache, check_ffmpeg, get_ffmpeg_version, get_ytdlp_version, refresh_version_cache +from src.core.ytsage_yt_dlp import check_ytdlp_installed, get_yt_dlp_path class LogWindow(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle('yt-dlp Log') + self.setWindowTitle("yt-dlp Log") self.setMinimumSize(700, 500) layout = QVBoxLayout(self) self.log_text = QTextEdit() self.log_text.setReadOnly(True) - self.log_text.setStyleSheet(""" + self.log_text.setStyleSheet( + """ QTextEdit { background-color: #2b2b2b; color: #ffffff; @@ -37,11 +42,12 @@ class LogWindow(QDialog): border: 2px solid #3d3d3d; border-radius: 4px; } - """) + """ + ) layout.addWidget(self.log_text) - def append_log(self, message): + def append_log(self, message) -> None: self.log_text.append(message) # Auto-scroll to bottom scrollbar = self.log_text.verticalScrollBar() @@ -49,17 +55,17 @@ class LogWindow(QDialog): class AboutDialog(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) - self.parent = parent # Store parent to access version etc. + self._parent = parent # Store parent to access version etc. self.setWindowTitle("About YTSage") self.setMinimumSize(460, 420) # Slightly increased to accommodate paths self.resize(460, 440) # Slightly increased initial size self.setMaximumSize(500, 480) # Reasonable maximum size - + # Set window flags to make dialog independent of parent movement self.setWindowFlags(Qt.WindowType.Dialog | Qt.WindowType.WindowCloseButtonHint) - + layout = QVBoxLayout(self) layout.setSpacing(15) # Reduced spacing layout.setContentsMargins(20, 20, 20, 20) # Reduced margins @@ -84,7 +90,7 @@ class AboutDialog(QDialog): button_layout = QHBoxLayout() button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok) button_box.accepted.connect(self.accept) - + # Center the button button_layout.addStretch() button_layout.addWidget(button_box) @@ -92,7 +98,8 @@ class AboutDialog(QDialog): layout.addLayout(button_layout) # Apply overall styling - improved consistency - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; color: #ffffff; @@ -131,20 +138,25 @@ class AboutDialog(QDialog): color: #ffffff; font-size: 14px; } - """) + """ + ) - def _create_app_info_section(self): + def _create_app_info_section(self) -> QWidget: """Create the application information section - compact version""" widget = QWidget() layout = QVBoxLayout(widget) layout.setSpacing(6) # Reduced spacing - + # Title and Version - more compact - title_label = QLabel("YTSage") + title_label = QLabel( + "YTSage" + ) title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(title_label) - version_label = QLabel(f"Version {getattr(self.parent, 'version', '4.7.0')}") + version_label = QLabel( + f"Version {getattr(self._parent, 'version', '4.7.0')}" + ) version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(version_label) @@ -158,49 +170,56 @@ class AboutDialog(QDialog): # Author and Links - compact single line info_layout = QHBoxLayout() info_layout.setSpacing(15) - - author_label = QLabel("By: oop7") + + author_label = QLabel( + "By: oop7" + ) author_label.setOpenExternalLinks(True) info_layout.addWidget(author_label) - repo_label = QLabel("GitHub: YTSage") + repo_label = QLabel( + "GitHub: YTSage" + ) repo_label.setOpenExternalLinks(True) info_layout.addWidget(repo_label) - + # Center the info layout info_container = QHBoxLayout() info_container.addStretch() info_container.addLayout(info_layout) info_container.addStretch() - + layout.addLayout(info_container) - + return widget - def _create_system_info_section(self): + def _create_system_info_section(self) -> QWidget: """Create the system information section with compact design""" # Create main container with compact styling container = QWidget() - container.setStyleSheet(""" + container.setStyleSheet( + """ QWidget { border: 1px solid #333333; border-radius: 8px; background-color: #15181b; margin-top: 5px; } - """) - + """ + ) + main_layout = QVBoxLayout(container) main_layout.setSpacing(8) # Compact spacing main_layout.setContentsMargins(15, 10, 15, 10) - + # Create header with title and refresh button on same line header_layout = QHBoxLayout() header_layout.setContentsMargins(0, 0, 0, 5) - + # System Information title title_label = QLabel("System Information") - title_label.setStyleSheet(""" + title_label.setStyleSheet( + """ QLabel { color: #ffffff; font-size: 14px; @@ -208,16 +227,18 @@ class AboutDialog(QDialog): padding: 0px; margin: 0px; } - """) + """ + ) header_layout.addWidget(title_label) - + # Add stretch to push refresh button to the right header_layout.addStretch() - + # Create refresh button self.refresh_btn = QPushButton("🔄") self.refresh_btn.setFixedSize(16, 16) - self.refresh_btn.setStyleSheet(""" + self.refresh_btn.setStyleSheet( + """ QPushButton { padding: 0px; background-color: transparent; @@ -236,99 +257,103 @@ class AboutDialog(QDialog): color: #c90000; background-color: rgba(201, 0, 0, 0.1); } - """) + """ + ) self.refresh_btn.clicked.connect(self.refresh_version_info) header_layout.addWidget(self.refresh_btn) - + main_layout.addLayout(header_layout) - + # Compact status grid layout self.status_container = QVBoxLayout() self.status_container.setSpacing(6) # Tight spacing self.status_container.setContentsMargins(0, 0, 0, 0) - + main_layout.addLayout(self.status_container) - + # Show loading message initially self._show_loading_message() - + # Populate system information asynchronously QTimer.singleShot(100, self.update_system_info) - + return container - def _show_loading_message(self): + def _show_loading_message(self) -> None: """Show a compact loading message while system information is being gathered.""" loading_label = QLabel("🔄 Loading system information...") loading_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - loading_label.setStyleSheet(""" + loading_label.setStyleSheet( + """ QLabel { color: #cccccc; font-size: 11px; font-style: italic; padding: 10px; } - """) - + """ + ) + self.status_container.addWidget(loading_label) - def _create_status_item(self, icon, name, status_text, version_text, path_text=None, cache_status=""): + def _create_status_item(self, icon, name, status_text, version_text, path_text=None, cache_status="") -> QWidget: """Create a compact status item widget""" item_widget = QWidget() # Adjust height based on whether we have path info item_height = 50 if path_text else 35 item_widget.setMaximumHeight(item_height) item_widget.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed) - + # Main layout item_layout = QVBoxLayout(item_widget) item_layout.setContentsMargins(8, 4, 8, 4) item_layout.setSpacing(2) - + # First row: Icon, name, status, version first_row = QHBoxLayout() first_row.setSpacing(8) - + # Icon and name - compact name_label = QLabel(f"{icon} {name}") name_label.setStyleSheet("font-size: 12px; color: #ffffff; font-weight: bold;") name_label.setMinimumWidth(80) first_row.addWidget(name_label) - + # Status - compact status_label = QLabel(status_text) status_label.setStyleSheet("font-size: 11px; font-weight: bold;") status_label.setMinimumWidth(70) first_row.addWidget(status_label) - + # Version info - improved readability version_info = version_text if cache_status: version_info += cache_status - + version_label = QLabel(version_info) version_label.setStyleSheet("font-size: 11px; color: #cccccc;") # Increased from 10px version_label.setWordWrap(False) first_row.addWidget(version_label) - + # Add stretch to push everything left first_row.addStretch() - + item_layout.addLayout(first_row) - + # Second row: Path (if provided) if path_text: path_label = QLabel(f"📁 {path_text}") path_label.setStyleSheet("font-size: 10px; color: #aaaaaa; margin-left: 12px;") # Increased from 9px, better color path_label.setWordWrap(False) # Truncate very long paths - if len(path_text) > 60: - truncated_path = "..." + path_text[-57:] + if len(str(path_text)) > 60: + truncated_path = "..." + str(path_text)[-57:] path_label.setText(f"📁 {truncated_path}") item_layout.addWidget(path_label) - + # Subtle background with minimal border - item_widget.setStyleSheet(""" + item_widget.setStyleSheet( + """ QWidget { background-color: rgba(45, 45, 45, 0.3); border: 1px solid #2a2a2a; @@ -338,11 +363,12 @@ class AboutDialog(QDialog): QWidget:hover { background-color: rgba(60, 60, 60, 0.4); } - """) - + """ + ) + return item_widget - def update_system_info(self): + def update_system_info(self) -> None: """Update the system information display with compact layout.""" # Clear existing items for i in reversed(range(self.status_container.count())): @@ -352,86 +378,101 @@ class AboutDialog(QDialog): # yt-dlp Status - compact version with path ytdlp_found = check_ytdlp_installed() - ytdlp_status_text = "✓ Detected" if ytdlp_found else "✗ Missing" + ytdlp_status_text = ( + "✓ Detected" if ytdlp_found else "✗ Missing" + ) ytdlp_version = get_ytdlp_version() - + # Get yt-dlp path ytdlp_path = get_yt_dlp_path() if ytdlp_found else None ytdlp_path_text = ytdlp_path if ytdlp_path and ytdlp_path != "yt-dlp" else None - + # Simplified cache status - ytdlp_cache = _version_cache.get('ytdlp', {}) - last_check = ytdlp_cache.get('last_check', 0) + ytdlp_cache = _version_cache.get("ytdlp", {}) + last_check = ytdlp_cache.get("last_check", 0) cache_status = "" if last_check > 0: from datetime import datetime + cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") cache_status = f" ({cache_time})" # Increased from 9px - + ytdlp_item = self._create_status_item( - "🎥", "yt-dlp", ytdlp_status_text, ytdlp_version + cache_status, ytdlp_path_text + "🎥", + "yt-dlp", + ytdlp_status_text, + ytdlp_version + cache_status, + ytdlp_path_text, ) self.status_container.addWidget(ytdlp_item) # FFmpeg Status - compact version with path ffmpeg_found = check_ffmpeg() - ffmpeg_status_text = "✓ Detected" if ffmpeg_found else "✗ Missing" + ffmpeg_status_text = ( + "✓ Detected" + if ffmpeg_found + else "✗ Missing" + ) ffmpeg_version = get_ffmpeg_version() if ffmpeg_found else "Not Available" - + # Get FFmpeg path ffmpeg_path_text = None if ffmpeg_found: ffmpeg_path = get_ffmpeg_path() ffmpeg_path_text = ffmpeg_path if ffmpeg_path else None - + # Simplified cache status for FFmpeg - ffmpeg_cache = _version_cache.get('ffmpeg', {}) - last_check = ffmpeg_cache.get('last_check', 0) + ffmpeg_cache = _version_cache.get("ffmpeg", {}) + last_check = ffmpeg_cache.get("last_check", 0) cache_status = "" if last_check > 0 and ffmpeg_found: from datetime import datetime + cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") cache_status = f" ({cache_time})" # Increased from 9px - + ffmpeg_item = self._create_status_item( - "🎬", "FFmpeg", ffmpeg_status_text, ffmpeg_version + cache_status, ffmpeg_path_text + "🎬", + "FFmpeg", + ffmpeg_status_text, + ffmpeg_version + cache_status, + ffmpeg_path_text, ) self.status_container.addWidget(ffmpeg_item) - def refresh_version_info(self): + def refresh_version_info(self) -> None: """Refresh version information manually.""" self.refresh_btn.setText("🔄 Refreshing...") self.refresh_btn.setEnabled(False) - + # Perform refresh in a separate thread to avoid blocking UI - from PySide6.QtCore import QThread, Signal - class RefreshThread(QThread): finished = Signal(bool) - + def run(self): success = refresh_version_cache(force=True) self.finished.emit(success) - + self.refresh_thread = RefreshThread() self.refresh_thread.finished.connect(self.on_refresh_finished) self.refresh_thread.start() - - def on_refresh_finished(self, success): + + def on_refresh_finished(self, success) -> None: """Handle refresh completion.""" self.refresh_btn.setText("🔄 Refresh") self.refresh_btn.setEnabled(True) - + if success: self.update_system_info() else: # Show error message with proper styling msg_box = QMessageBox(self) - msg_box.setIcon(QMessageBox.Warning) + msg_box.setIcon(QMessageBox.Icon.Warning) msg_box.setWindowTitle("Refresh Failed") msg_box.setText("Failed to refresh version information.") msg_box.setWindowIcon(self.windowIcon()) - msg_box.setStyleSheet(""" + msg_box.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -451,5 +492,6 @@ class AboutDialog(QDialog): QMessageBox QPushButton:hover { background-color: #a50000; } - """) + """ + ) msg_box.exec() diff --git a/src/gui/dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py similarity index 73% rename from src/gui/dialogs/ytsage_dialogs_custom.py rename to src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 68a4ef7..23103f2 100644 --- a/src/gui/dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -3,30 +3,47 @@ Custom functionality dialogs for YTSage application. Contains dialogs for custom commands, cookies, time ranges, and other special features. """ -import os -import sys -import threading import subprocess -from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, - QLineEdit, QPushButton, QTextEdit, QPlainTextEdit, - QCheckBox, QTabWidget, QWidget, QDialogButtonBox, - QFileDialog, QGroupBox) -from PySide6.QtCore import Qt, QMetaObject, Q_ARG +import threading +from pathlib import Path +from typing import TYPE_CHECKING, cast -from ...core.ytsage_yt_dlp import get_yt_dlp_path +from PySide6.QtCore import Q_ARG, QMetaObject, Qt +from PySide6.QtWidgets import ( + QCheckBox, + QDialog, + QDialogButtonBox, + QFileDialog, + QGroupBox, + QHBoxLayout, + QLabel, + QLineEdit, + QPlainTextEdit, + QPushButton, + QTabWidget, + QTextEdit, + QVBoxLayout, + QWidget, +) + +from src.core.ytsage_yt_dlp import get_yt_dlp_path try: import yt_dlp + YT_DLP_AVAILABLE = True except ImportError: YT_DLP_AVAILABLE = False +if TYPE_CHECKING: + from src.gui.ytsage_gui_main import YTSageApp # only for type hints (no runtime import) + class CustomCommandDialog(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) - self.parent = parent - self.setWindowTitle('Custom yt-dlp Command') + self._parent = self.parent() + self.setWindowTitle("Custom yt-dlp Command") self.setMinimumSize(600, 400) layout = QVBoxLayout(self) @@ -44,7 +61,8 @@ class CustomCommandDialog(QDialog): # Command input self.command_input = QPlainTextEdit() self.command_input.setPlaceholderText("Enter yt-dlp arguments...") - self.command_input.setStyleSheet(""" + self.command_input.setStyleSheet( + """ QPlainTextEdit { background-color: #1d1e22; color: #ffffff; @@ -53,12 +71,14 @@ class CustomCommandDialog(QDialog): padding: 8px; font-family: Consolas, monospace; } - """) + """ + ) layout.addWidget(self.command_input) # Add SponsorBlock checkbox self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet(""" + self.sponsorblock_checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -79,7 +99,8 @@ class CustomCommandDialog(QDialog): background: #c90000; border-radius: 9px; } - """) + """ + ) layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) # Buttons @@ -98,7 +119,8 @@ class CustomCommandDialog(QDialog): # Log output self.log_output = QTextEdit() self.log_output.setReadOnly(True) - self.log_output.setStyleSheet(""" + self.log_output.setStyleSheet( + """ QTextEdit { background-color: #1d1e22; color: #ffffff; @@ -108,10 +130,12 @@ class CustomCommandDialog(QDialog): font-family: Consolas, monospace; font-size: 12px; } - """) + """ + ) layout.addWidget(self.log_output) - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; } @@ -126,35 +150,38 @@ class CustomCommandDialog(QDialog): QPushButton:hover { background-color: #a50000; } - """) + """ + ) - def run_custom_command(self): - url = self.parent.url_input.text().strip() + def run_custom_command(self) -> None: + url = self._parent.url_input.text().strip() # type: ignore[reportAttributeAccessIssue] if not url: self.log_output.append("Error: No URL provided") return command = self.command_input.toPlainText().strip() - path = self.parent.path_input.text().strip() + path = self._parent.path_input.text().strip() # type: ignore[reportAttributeAccessIssue] self.log_output.clear() self.log_output.append(f"Running command with URL: {url}") self.run_btn.setEnabled(False) # Start command in thread - threading.Thread(target=self._run_command_thread, - args=(command, url, path), - daemon=True).start() + threading.Thread(target=self._run_command_thread, args=(command, url, path), daemon=True).start() - def _run_command_thread(self, command, url, path): + def _run_command_thread(self, command, url, path) -> None: try: + class CommandLogger: def debug(self, msg): self.dialog.log_output.append(msg) + def warning(self, msg): self.dialog.log_output.append(f"Warning: {msg}") + def error(self, msg): self.dialog.log_output.append(f"Error: {msg}") + def __init__(self, dialog): self.dialog = dialog @@ -163,34 +190,43 @@ class CustomCommandDialog(QDialog): # Base options ydl_opts = { - 'logger': CommandLogger(self), - 'paths': {'home': path}, - 'debug_printout': True, - 'postprocessors': [] + "logger": CommandLogger(self), + "paths": {"home": path}, + "debug_printout": True, + "postprocessors": [], } # Add SponsorBlock options if enabled if self.sponsorblock_checkbox.isChecked(): - ydl_opts['postprocessors'].extend([{ - 'key': 'SponsorBlock', - 'categories': ['sponsor', 'selfpromo', 'interaction'], - 'api': 'https://sponsor.ajay.app' - }, { - 'key': 'ModifyChapters', - 'remove_sponsor_segments': ['sponsor', 'selfpromo', 'interaction'], - 'sponsorblock_chapter_title': '[SponsorBlock]: %(category_names)l', - 'force_keyframes': True - }]) + ydl_opts["postprocessors"].extend( + [ + { + "key": "SponsorBlock", + "categories": ["sponsor", "selfpromo", "interaction"], + "api": "https://sponsor.ajay.app", + }, + { + "key": "ModifyChapters", + "remove_sponsor_segments": [ + "sponsor", + "selfpromo", + "interaction", + ], + "sponsorblock_chapter_title": "[SponsorBlock]: %(category_names)l", + "force_keyframes": True, + }, + ] + ) # Add custom arguments for i in range(0, len(args), 2): if i + 1 < len(args): - key = args[i].lstrip('-').replace('-', '_') + key = args[i].lstrip("-").replace("-", "_") value = args[i + 1] try: # Try to convert to appropriate type - if value.lower() in ('true', 'false'): - value = value.lower() == 'true' + if value.lower() in ("true", "false"): + value = value.lower() == "true" elif value.isdigit(): value = int(value) ydl_opts[key] = value @@ -209,9 +245,9 @@ class CustomCommandDialog(QDialog): class CookieLoginDialog(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle('Login with Cookies') + self.setWindowTitle("Login with Cookies") self.setMinimumSize(400, 150) layout = QVBoxLayout(self) @@ -237,43 +273,38 @@ class CookieLoginDialog(QDialog): layout.addLayout(path_layout) # Dialog buttons - button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) layout.addWidget(button_box) - def browse_cookie_file(self): + def browse_cookie_file(self) -> None: # Open file dialog to select cookie file - file_dialog = QFileDialog(self) - file_dialog.setFileMode(QFileDialog.ExistingFile) - file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Common cookie file extensions - if file_dialog.exec(): - selected_files = file_dialog.selectedFiles() - if selected_files: - self.cookie_path_input.setText(selected_files[0]) + selected_files, _ = QFileDialog.getOpenFileName(self, "Select Cookie File", "", "Cookies files (*.txt *.lwp)") + if selected_files: + self.cookie_path_input.setText(selected_files[0]) - def get_cookie_file_path(self): + def get_cookie_file_path(self) -> str: # Return the selected cookie file path return self.cookie_path_input.text() class CustomOptionsDialog(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) - self.parent = parent - self.setWindowTitle('Custom Options') + self._parent: YTSageApp = cast("YTSageApp", self.parent()) # cast will help with auto complete and type hint checking. + self.setWindowTitle("Custom Options") self.setMinimumSize(600, 500) - layout = QVBoxLayout(self) - + # Create tab widget to organize content self.tab_widget = QTabWidget() layout.addWidget(self.tab_widget) - + # === Cookies Tab === cookies_tab = QWidget() cookies_layout = QVBoxLayout(cookies_tab) - + # Help text help_text = QLabel( "Select the Netscape-format cookies file for logging in.\n" @@ -287,26 +318,26 @@ class CustomOptionsDialog(QDialog): path_layout = QHBoxLayout() self.cookie_path_input = QLineEdit() self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") - if hasattr(parent, 'cookie_file_path') and parent.cookie_file_path: - self.cookie_path_input.setText(parent.cookie_file_path) + if hasattr(self._parent, "cookie_file_path") and self._parent.cookie_file_path: + self.cookie_path_input.setText(self._parent.cookie_file_path.as_posix()) path_layout.addWidget(self.cookie_path_input) self.browse_button = QPushButton("Browse") self.browse_button.clicked.connect(self.browse_cookie_file) path_layout.addWidget(self.browse_button) cookies_layout.addLayout(path_layout) # Add the horizontal layout to cookies layout - + # Status indicator for cookies self.cookie_status = QLabel("") self.cookie_status.setStyleSheet("color: #999999; font-style: italic;") cookies_layout.addWidget(self.cookie_status) - + cookies_layout.addStretch() - + # === Custom Command Tab === command_tab = QWidget() command_layout = QVBoxLayout(command_tab) - + # Help text cmd_help_text = QLabel( "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" @@ -319,7 +350,8 @@ class CustomOptionsDialog(QDialog): # Add SponsorBlock checkbox self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet(""" + self.sponsorblock_checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -340,13 +372,15 @@ class CustomOptionsDialog(QDialog): background: #c90000; border-radius: 9px; } - """) + """ + ) command_layout.addWidget(self.sponsorblock_checkbox) # Command input self.command_input = QPlainTextEdit() self.command_input.setPlaceholderText("Enter yt-dlp arguments...") - self.command_input.setStyleSheet(""" + self.command_input.setStyleSheet( + """ QPlainTextEdit { background-color: #1d1e22; color: #ffffff; @@ -355,7 +389,8 @@ class CustomOptionsDialog(QDialog): padding: 8px; font-family: Consolas, monospace; } - """) + """ + ) command_layout.addWidget(self.command_input) # Run command button @@ -366,7 +401,8 @@ class CustomOptionsDialog(QDialog): # Log output self.log_output = QTextEdit() self.log_output.setReadOnly(True) - self.log_output.setStyleSheet(""" + self.log_output.setStyleSheet( + """ QTextEdit { background-color: #1d1e22; color: #ffffff; @@ -376,21 +412,23 @@ class CustomOptionsDialog(QDialog): font-family: Consolas, monospace; font-size: 12px; } - """) + """ + ) command_layout.addWidget(self.log_output) - + # Add tabs to the tab widget self.tab_widget.addTab(cookies_tab, "Login with Cookies") self.tab_widget.addTab(command_tab, "Custom Command") - + # Dialog buttons - button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) layout.addWidget(button_box) - + # Apply global styles - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; } @@ -434,65 +472,71 @@ class CustomOptionsDialog(QDialog): QPushButton:hover { background-color: #a50000; } - """) + """ + ) - def browse_cookie_file(self): + def browse_cookie_file(self) -> None: # Open file dialog to select cookie file - file_dialog = QFileDialog(self) - file_dialog.setFileMode(QFileDialog.ExistingFile) - file_dialog.setNameFilter("Cookies files (*.txt *.lwp)") # Common cookie file extensions - if file_dialog.exec(): - selected_files = file_dialog.selectedFiles() - if selected_files: - self.cookie_path_input.setText(selected_files[0]) - self.cookie_status.setText("Cookie file selected - Click OK to apply") - self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") + selected_files, _ = QFileDialog.getOpenFileName(self, "Select Cookie File", "", "Cookies files (*.txt *.lwp)") - def get_cookie_file_path(self): + if selected_files: + self.cookie_path_input.setText(selected_files[0]) + self.cookie_status.setText("Cookie file selected - Click OK to apply") + self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") + + def get_cookie_file_path(self) -> Path | None: # Return the selected cookie file path if it's not empty - path = self.cookie_path_input.text().strip() - if path and os.path.exists(path): + path = Path(self.cookie_path_input.text().strip()) + if path and path.exists(): return path return None - def run_custom_command(self): - url = self.parent.url_input.text().strip() + def run_custom_command(self) -> None: + url = self._parent.url_input.text().strip() if not url: self.log_output.append("Error: No URL provided") return command = self.command_input.toPlainText().strip() - + # Get download path from parent - path = self.parent.last_path + path = self._parent.last_path self.log_output.clear() self.log_output.append(f"Running command with URL: {url}") self.run_btn.setEnabled(False) # Start command in thread - threading.Thread(target=self._run_command_thread, - args=(command, url, path), - daemon=True).start() + threading.Thread(target=self._run_command_thread, args=(command, url, path), daemon=True).start() - def _run_command_thread(self, command, url, path): + def _run_command_thread(self, command, url, path) -> None: try: + class CommandLogger: def debug(self, msg): QMetaObject.invokeMethod( - self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, msg) + self.dialog.log_output, + b"append", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, msg), ) + def warning(self, msg): QMetaObject.invokeMethod( - self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Warning: {msg}") + self.dialog.log_output, + b"append", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Warning: {msg}"), ) + def error(self, msg): QMetaObject.invokeMethod( - self.dialog.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Error: {msg}") + self.dialog.log_output, + b"append", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Error: {msg}"), ) + def __init__(self, dialog): self.dialog = dialog @@ -504,12 +548,14 @@ class CustomOptionsDialog(QDialog): base_cmd = [yt_dlp_path] + args + [url] if self.sponsorblock_checkbox.isChecked(): - base_cmd.extend(['--sponsorblock-remove', 'sponsor,selfpromo,interaction']) + base_cmd.extend(["--sponsorblock-remove", "sponsor,selfpromo,interaction"]) # Show the full command QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Full command: {' '.join(base_cmd)}") + self.log_output, + b"append", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Full command: {' '.join(base_cmd)}"), ) # Run the command @@ -518,50 +564,59 @@ class CustomOptionsDialog(QDialog): stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, - encoding='utf-8', - errors='replace' + encoding="utf-8", + errors="replace", ) # Stream output - for line in proc.stdout: + for line in proc.stdout: # type: ignore[reportOptionalIterable] QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, line.rstrip()) + self.log_output, + b"append", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, line.rstrip()), ) ret = proc.wait() if ret != 0: QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Command exited with code {ret}") + self.log_output, + b"append", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Command exited with code {ret}"), ) else: QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, "Command completed successfully") + self.log_output, + b"append", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, "Command completed successfully"), ) except Exception as e: QMetaObject.invokeMethod( - self.log_output, "append", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Error: {str(e)}") + self.log_output, + b"append", + Qt.ConnectionType.QueuedConnection, + Q_ARG(str, f"Error: {str(e)}"), ) finally: # Re-enable the run button QMetaObject.invokeMethod( - self.run_btn, "setEnabled", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True) + self.run_btn, + b"setEnabled", + Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, True), ) class TimeRangeDialog(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) - self.parent = parent - self.setWindowTitle('Download Video Section') + self.setWindowTitle("Download Video Section") self.setMinimumWidth(400) - + layout = QVBoxLayout(self) - + # Help text explaining the feature help_text = QLabel( "Download only specific parts of a video by specifying time ranges.\n" @@ -570,11 +625,11 @@ class TimeRangeDialog(QDialog): help_text.setWordWrap(True) help_text.setStyleSheet("color: #999999; padding: 10px;") layout.addWidget(help_text) - + # Time range section time_group = QGroupBox("Time Range") time_layout = QVBoxLayout() - + # Start time row start_layout = QHBoxLayout() start_layout.addWidget(QLabel("Start Time:")) @@ -582,7 +637,7 @@ class TimeRangeDialog(QDialog): self.start_time_input.setPlaceholderText("00:00:00 (or leave empty for start)") start_layout.addWidget(self.start_time_input) time_layout.addLayout(start_layout) - + # End time row end_layout = QHBoxLayout() end_layout.addWidget(QLabel("End Time:")) @@ -590,14 +645,15 @@ class TimeRangeDialog(QDialog): self.end_time_input.setPlaceholderText("00:10:00 (or leave empty for end)") end_layout.addWidget(self.end_time_input) time_layout.addLayout(end_layout) - + time_group.setLayout(time_layout) layout.addWidget(time_group) - + # Force keyframes option self.force_keyframes = QCheckBox("Force keyframes at cuts (better accuracy, slower)") self.force_keyframes.setChecked(True) - self.force_keyframes.setStyleSheet(""" + self.force_keyframes.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -617,14 +673,16 @@ class TimeRangeDialog(QDialog): background: #c90000; border-radius: 4px; } - """) + """ + ) layout.addWidget(self.force_keyframes) - + # Format preview preview_group = QGroupBox("Command Preview") preview_layout = QVBoxLayout() - self.preview_label = QLabel("--download-sections \"*-\"") - self.preview_label.setStyleSheet(""" + self.preview_label = QLabel('--download-sections "*-"') + self.preview_label.setStyleSheet( + """ QLabel { background-color: #1d1e22; color: #ffffff; @@ -633,24 +691,26 @@ class TimeRangeDialog(QDialog): padding: 8px; font-family: Consolas, monospace; } - """) + """ + ) preview_layout.addWidget(self.preview_label) preview_group.setLayout(preview_layout) layout.addWidget(preview_group) - + # Connect signals for live preview updates self.start_time_input.textChanged.connect(self.update_preview) self.end_time_input.textChanged.connect(self.update_preview) self.force_keyframes.stateChanged.connect(self.update_preview) - + # Buttons - button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) layout.addWidget(button_box) - + # Apply styling - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; } @@ -687,15 +747,16 @@ class TimeRangeDialog(QDialog): QPushButton:hover { background-color: #a50000; } - """) - + """ + ) + # Initialize preview self.update_preview() - - def update_preview(self): + + def update_preview(self) -> None: start = self.start_time_input.text().strip() end = self.end_time_input.text().strip() - + if start and end: time_range = f"*{start}-{end}" elif start: @@ -704,21 +765,21 @@ class TimeRangeDialog(QDialog): time_range = f"*-{end}" else: time_range = "*-" # Full video - - preview = f"--download-sections \"{time_range}\"" + + preview = f'--download-sections "{time_range}"' if self.force_keyframes.isChecked(): preview += " --force-keyframes-at-cuts" - + self.preview_label.setText(preview) - - def get_download_sections(self): + + def get_download_sections(self) -> str | None: """Returns the download sections command arguments or None if no selection made""" start = self.start_time_input.text().strip() end = self.end_time_input.text().strip() - + if not start and not end: return None # No selection made - + if start and end: time_range = f"*{start}-{end}" elif start: @@ -727,9 +788,9 @@ class TimeRangeDialog(QDialog): time_range = f"*-{end}" else: return None # Shouldn't happen but just in case - + return time_range - - def get_force_keyframes(self): + + def get_force_keyframes(self) -> bool: """Returns whether to force keyframes at cuts""" return self.force_keyframes.isChecked() diff --git a/src/gui/dialogs/ytsage_dialogs_ffmpeg.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py similarity index 79% rename from src/gui/dialogs/ytsage_dialogs_ffmpeg.py rename to src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py index a6f9314..0265e9b 100644 --- a/src/gui/dialogs/ytsage_dialogs_ffmpeg.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py @@ -3,57 +3,52 @@ FFmpeg installation dialogs for YTSage application. Contains dialogs and threads for checking and installing FFmpeg. """ -import sys -import os -import webbrowser import contextlib +import webbrowser from io import StringIO -from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, - QPushButton, QStyle, QSizePolicy, QDialogButtonBox) -from PySide6.QtCore import QThread, Signal, Qt -from PySide6.QtGui import QIcon -from ...core.ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed +from PySide6.QtCore import Qt, QThread, Signal +from PySide6.QtGui import QIcon +from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QPushButton, QVBoxLayout + +from src.core.ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed +from src.utils.ytsage_constants import ICON_PATH class FFmpegInstallThread(QThread): finished = Signal(bool) progress = Signal(str) - def run(self): + def run(self) -> None: # Redirect stdout to capture progress messages output = StringIO() with contextlib.redirect_stdout(output): success = auto_install_ffmpeg() - + # Process captured output and emit progress signals for line in output.getvalue().splitlines(): self.progress.emit(line) - + self.finished.emit(success) class FFmpegCheckDialog(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle('FFmpeg Installation') + self.setWindowTitle("FFmpeg Installation") self.setMinimumWidth(450) self.setMinimumHeight(200) self.resize(450, 220) - + # Set the window icon to match the main app if parent and parent.windowIcon(): self.setWindowIcon(parent.windowIcon()) else: # Try to load the icon directly if parent not available - # Navigate from src/gui/dialogs/ to project root, then to assets/Icon/ - current_dir = os.path.dirname(os.path.abspath(__file__)) # dialogs/ - gui_dir = os.path.dirname(current_dir) # gui/ - src_dir = os.path.dirname(gui_dir) # src/ - project_root = os.path.dirname(src_dir) # project root - icon_path = os.path.join(project_root, 'assets', 'Icon', 'icon.png') - if os.path.exists(icon_path): - self.setWindowIcon(QIcon(icon_path)) + # icon_path logic moved to src\utils\ytsage_constants.py + + if ICON_PATH.exists(): + self.setWindowIcon(QIcon(ICON_PATH.as_posix())) layout = QVBoxLayout(self) layout.setSpacing(15) @@ -66,10 +61,7 @@ class FFmpegCheckDialog(QDialog): layout.addWidget(header_text) # Message - self.message_label = QLabel( - "YTSage needs FFmpeg to process videos.\n\n" - "Choose an installation option below:" - ) + self.message_label = QLabel("YTSage needs FFmpeg to process videos.\n\n" "Choose an installation option below:") self.message_label.setWordWrap(True) self.message_label.setStyleSheet("font-size: 13px; color: #cccccc; padding: 10px 0; line-height: 1.4;") self.message_label.setAlignment(Qt.AlignmentFlag.AlignCenter) @@ -80,7 +72,8 @@ class FFmpegCheckDialog(QDialog): self.progress_label.setWordWrap(True) self.progress_label.setMinimumHeight(60) # Smaller but visible area self.progress_label.setMaximumHeight(80) # Limit maximum height - self.progress_label.setStyleSheet(""" + self.progress_label.setStyleSheet( + """ QLabel { background-color: #1d1e22; color: #cccccc; @@ -91,17 +84,18 @@ class FFmpegCheckDialog(QDialog): font-size: 11px; line-height: 1.2; } - """) + """ + ) self.progress_label.hide() layout.addWidget(self.progress_label) - + # Add minimal stretch - just enough to push buttons down slightly layout.addSpacing(10) # Buttons container - simple approach that should work button_layout = QHBoxLayout() button_layout.setSpacing(15) # Simple spacing - + # Install button self.install_btn = QPushButton("Install FFmpeg") self.install_btn.clicked.connect(self.start_installation) @@ -109,7 +103,7 @@ class FFmpegCheckDialog(QDialog): # Manual install button self.manual_btn = QPushButton("Manual Guide") - self.manual_btn.clicked.connect(lambda: webbrowser.open('https://github.com/oop7/ffmpeg-install-guide')) + self.manual_btn.clicked.connect(lambda: webbrowser.open("https://github.com/oop7/ffmpeg-install-guide")) button_layout.addWidget(self.manual_btn) # Close button @@ -120,7 +114,8 @@ class FFmpegCheckDialog(QDialog): layout.addLayout(button_layout) # Style the dialog to match app theme - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; color: #ffffff; @@ -148,16 +143,17 @@ class FFmpegCheckDialog(QDialog): background-color: #666666; color: #999999; } - """) + """ + ) # Initialize installation thread self.install_thread = None - def start_installation(self): + def start_installation(self) -> None: self.install_btn.setEnabled(False) self.manual_btn.setEnabled(False) self.close_btn.setEnabled(False) - + # Check if FFmpeg is already installed if check_ffmpeg_installed(): self.message_label.setText("FFmpeg is already installed!") @@ -167,7 +163,7 @@ class FFmpegCheckDialog(QDialog): self.manual_btn.hide() self.close_btn.setEnabled(True) return - + self.message_label.setText("Installing FFmpeg... Please wait") self.progress_label.show() @@ -176,10 +172,10 @@ class FFmpegCheckDialog(QDialog): self.install_thread.progress.connect(self.update_progress) self.install_thread.start() - def update_progress(self, message): + def update_progress(self, message) -> None: self.progress_label.setText(message) - def installation_finished(self, success): + def installation_finished(self, success) -> None: if success: self.message_label.setText("FFmpeg has been installed successfully!") self.progress_label.setText("Installation complete. You can now close this dialog and continue using YTSage.") @@ -190,5 +186,5 @@ class FFmpegCheckDialog(QDialog): self.progress_label.setText("Please try using the manual installation guide instead.") self.install_btn.setEnabled(True) self.manual_btn.setEnabled(True) - + self.close_btn.setEnabled(True) diff --git a/src/gui/dialogs/ytsage_dialogs_selection.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py similarity index 77% rename from src/gui/dialogs/ytsage_dialogs_selection.py rename to src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py index e6bb07a..876c606 100644 --- a/src/gui/dialogs/ytsage_dialogs_selection.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py @@ -3,14 +3,23 @@ Selection dialogs for YTSage application. Contains dialogs for selecting subtitles, playlist videos, and SponsorBlock categories. """ -from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, - QLineEdit, QPushButton, QScrollArea, QWidget, - QCheckBox, QDialogButtonBox, QGroupBox) from PySide6.QtCore import Qt +from PySide6.QtWidgets import ( + QCheckBox, + QDialog, + QDialogButtonBox, + QHBoxLayout, + QLabel, + QLineEdit, + QPushButton, + QScrollArea, + QVBoxLayout, + QWidget, +) class SubtitleSelectionDialog(QDialog): - def __init__(self, available_manual, available_auto, previously_selected, parent=None): + def __init__(self, available_manual, available_auto, previously_selected, parent=None) -> None: super().__init__(parent) self.setWindowTitle("Select Subtitles") self.setMinimumWidth(400) @@ -28,7 +37,8 @@ class SubtitleSelectionDialog(QDialog): self.filter_input = QLineEdit() self.filter_input.setPlaceholderText("Filter languages (e.g., en, es)...") self.filter_input.textChanged.connect(self.filter_list) - self.filter_input.setStyleSheet(""" + self.filter_input.setStyleSheet( + """ QLineEdit { background-color: #363636; border: 2px solid #3d3d3d; @@ -40,7 +50,8 @@ class SubtitleSelectionDialog(QDialog): QLineEdit:focus { border-color: #ff0000; } - """) + """ + ) layout.addWidget(self.filter_input) # Scroll Area for the list @@ -67,7 +78,8 @@ class SubtitleSelectionDialog(QDialog): # Style the buttons for button in button_box.buttons(): - button.setStyleSheet(""" + button.setStyleSheet( + """ QPushButton { background-color: #363636; border: 2px solid #3d3d3d; @@ -82,14 +94,18 @@ class SubtitleSelectionDialog(QDialog): QPushButton:pressed { background-color: #555555; } - """) - # Style the OK button specifically if needed - if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: - button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") + """ + ) + # Style the OK button specifically if needed + if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: + button.setStyleSheet( + button.styleSheet() + + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }" + ) layout.addWidget(button_box) - def populate_list(self, filter_text=""): + def populate_list(self, filter_text="") -> None: # Clear existing checkboxes from layout while self.list_layout.count(): item = self.list_layout.takeAt(0) @@ -102,14 +118,14 @@ class SubtitleSelectionDialog(QDialog): # Add manual subs for lang_code, sub_info in self.available_manual.items(): - if not filter_text or filter_text in lang_code.lower(): - combined_subs[lang_code] = f"{lang_code} - Manual" + if not filter_text or filter_text in lang_code.lower(): + combined_subs[lang_code] = f"{lang_code} - Manual" # Add auto subs (only if no manual exists and matches filter) for lang_code, sub_info in self.available_auto.items(): if lang_code not in combined_subs: # Don't overwrite manual - if not filter_text or filter_text in lang_code.lower(): - combined_subs[lang_code] = f"{lang_code} - Auto-generated" + if not filter_text or filter_text in lang_code.lower(): + combined_subs[lang_code] = f"{lang_code} - Auto-generated" if not combined_subs: no_subs_label = QLabel("No subtitles available" + (f" matching '{filter_text}'" if filter_text else "")) @@ -126,7 +142,8 @@ class SubtitleSelectionDialog(QDialog): checkbox.setProperty("subtitle_id", item_text) # Store the identifier checkbox.setChecked(item_text in self.previously_selected) # Check if previously selected checkbox.stateChanged.connect(self.update_selection) - checkbox.setStyleSheet(""" + checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -144,15 +161,16 @@ class SubtitleSelectionDialog(QDialog): border: 2px solid #ff0000; background: #ff0000; } - """) + """ + ) self.list_layout.addWidget(checkbox) self.list_layout.addStretch() # Pushes items up if list is short - def filter_list(self): + def filter_list(self) -> None: self.populate_list(self.filter_input.text()) - def update_selection(self, state): + def update_selection(self, state) -> None: sender = self.sender() subtitle_id = sender.property("subtitle_id") if state == Qt.CheckState.Checked.value: @@ -162,18 +180,18 @@ class SubtitleSelectionDialog(QDialog): if subtitle_id in self.previously_selected: self.previously_selected.remove(subtitle_id) - def get_selected_subtitles(self): + def get_selected_subtitles(self) -> list: # Return the final set as a list return list(self.previously_selected) - def accept(self): + def accept(self) -> None: # Update the final list before closing self.selected_subtitles = self.get_selected_subtitles() super().accept() class PlaylistSelectionDialog(QDialog): - def __init__(self, playlist_entries, previously_selected_string, parent=None): + def __init__(self, playlist_entries, previously_selected_string, parent=None) -> None: super().__init__(parent) self.setWindowTitle("Select Playlist Videos") self.setMinimumWidth(500) @@ -192,7 +210,8 @@ class PlaylistSelectionDialog(QDialog): select_all_btn.clicked.connect(self._select_all) deselect_all_btn.clicked.connect(self._deselect_all) # Style the buttons to match the subtitle dialog - select_all_btn.setStyleSheet(""" + select_all_btn.setStyleSheet( + """ QPushButton { background-color: #363636; border: 2px solid #3d3d3d; @@ -207,7 +226,8 @@ class PlaylistSelectionDialog(QDialog): QPushButton:pressed { background-color: #555555; } - """) + """ + ) deselect_all_btn.setStyleSheet(select_all_btn.styleSheet()) button_layout.addWidget(select_all_btn) button_layout.addWidget(deselect_all_btn) @@ -233,10 +253,11 @@ class PlaylistSelectionDialog(QDialog): button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) - + # Style the buttons to match subtitle dialog for button in button_box.buttons(): - button.setStyleSheet(""" + button.setStyleSheet( + """ QPushButton { background-color: #363636; border: 2px solid #3d3d3d; @@ -251,15 +272,20 @@ class PlaylistSelectionDialog(QDialog): QPushButton:pressed { background-color: #555555; } - """) + """ + ) # Style the OK button specifically if needed if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: - button.setStyleSheet(button.styleSheet() + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }") - + button.setStyleSheet( + button.styleSheet() + + "QPushButton { background-color: #ff0000; border-color: #cc0000; } QPushButton:hover { background-color: #cc0000; }" + ) + main_layout.addWidget(button_box) # Apply styling to match subtitle dialog - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; } QCheckBox { color: #ffffff; @@ -279,21 +305,22 @@ class PlaylistSelectionDialog(QDialog): background: #ff0000; } QWidget { background-color: #15181b; } - """) + """ + ) - def _parse_selection_string(self, selection_string): + def _parse_selection_string(self, selection_string) -> set: """Parses a yt-dlp playlist selection string (e.g., '1-3,5,7-9') into a set of 1-based indices.""" selected_indices = set() if not selection_string: # If no previous selection, assume all are selected initially return set(range(1, len(self.playlist_entries) + 1)) - - parts = selection_string.split(',') + + parts = selection_string.split(",") for part in parts: part = part.strip() - if '-' in part: + if "-" in part: try: - start, end = map(int, part.split('-')) + start, end = map(int, part.split("-")) if start <= end: selected_indices.update(range(start, end + 1)) except ValueError: @@ -305,10 +332,10 @@ class PlaylistSelectionDialog(QDialog): pass # Ignore invalid numbers return selected_indices - def _populate_list(self, previously_selected_string): + def _populate_list(self, previously_selected_string) -> None: """Populates the scroll area with checkboxes for each video.""" selected_indices = self._parse_selection_string(previously_selected_string) - + # Clear existing checkboxes if any (e.g., if repopulating) while self.list_layout.count(): child = self.list_layout.takeAt(0) @@ -317,18 +344,19 @@ class PlaylistSelectionDialog(QDialog): self.checkboxes.clear() for index, entry in enumerate(self.playlist_entries): - if not entry: + if not entry: continue # Skip None entries if yt-dlp returns them video_index = index + 1 # yt-dlp uses 1-based indexing - title = entry.get('title', f'Video {video_index}') + title = entry.get("title", f"Video {video_index}") # Shorten title if too long - display_title = (title[:70] + '...') if len(title) > 73 else title - + display_title = (title[:70] + "...") if len(title) > 73 else title + checkbox = QCheckBox(f"{video_index}. {display_title}") checkbox.setChecked(video_index in selected_indices) checkbox.setProperty("video_index", video_index) # Store index - checkbox.setStyleSheet(""" + checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -346,132 +374,126 @@ class PlaylistSelectionDialog(QDialog): border: 2px solid #ff0000; background: #ff0000; } - """) + """ + ) self.list_layout.addWidget(checkbox) self.checkboxes.append(checkbox) self.list_layout.addStretch() # Push checkboxes to the top - def _select_all(self): + def _select_all(self) -> None: for checkbox in self.checkboxes: checkbox.setChecked(True) - def _deselect_all(self): + def _deselect_all(self) -> None: for checkbox in self.checkboxes: checkbox.setChecked(False) - def _condense_indices(self, indices): + def _condense_indices(self, indices: list[int]) -> str: """Condenses a list of 1-based indices into a yt-dlp selection string.""" if not indices: return "" - indices = sorted(list(set(indices))) - if not indices: # Check again after sorting/set conversion - return "" - + + # Remove duplicates and sort in one step + indices = sorted(set(indices)) + ranges = [] - start = indices[0] - end = indices[0] - for i in range(1, len(indices)): - if indices[i] == end + 1: - end = indices[i] + start = end = indices[0] + + for num in indices[1:]: + if num == end + 1: + end = num else: - if start == end: - ranges.append(str(start)) - else: - ranges.append(f"{start}-{end}") - start = indices[i] - end = indices[i] - # Add the last range - if start == end: - ranges.append(str(start)) - else: - ranges.append(f"{start}-{end}") + ranges.append(f"{start}-{end}" if start != end else str(start)) + start = end = num + + # Append the last range + ranges.append(f"{start}-{end}" if start != end else str(start)) + return ",".join(ranges) - def get_selected_items_string(self): + def get_selected_items_string(self) -> str | None: """Returns the selection string based on checked boxes.""" - selected_indices = [ - cb.property("video_index") for cb in self.checkboxes if cb.isChecked() - ] - + selected_indices = [cb.property("video_index") for cb in self.checkboxes if cb.isChecked()] + # Check if all items are selected if len(selected_indices) == len(self.playlist_entries): - return None # yt-dlp default is all items, so return None or empty string + return None # yt-dlp default is all items, so return None or empty string return self._condense_indices(selected_indices) class SponsorBlockCategoryDialog(QDialog): """Dialog for selecting SponsorBlock categories to remove from videos.""" - + # Default SponsorBlock categories with descriptions SPONSORBLOCK_CATEGORIES = { - 'sponsor': { - 'name': 'Sponsor', - 'description': 'Paid promotion, paid referrals and direct advertisements', - 'default': True + "sponsor": { + "name": "Sponsor", + "description": "Paid promotion, paid referrals and direct advertisements", + "default": True, }, - 'selfpromo': { - 'name': 'Unpaid/Self Promotion', - 'description': 'Unpaid promotion of creators\' own content', - 'default': True + "selfpromo": { + "name": "Unpaid/Self Promotion", + "description": "Unpaid promotion of creators' own content", + "default": True, }, - 'interaction': { - 'name': 'Interaction Reminder', - 'description': 'Asking viewers to like, subscribe, or follow social media', - 'default': True + "interaction": { + "name": "Interaction Reminder", + "description": "Asking viewers to like, subscribe, or follow social media", + "default": True, }, - 'intro': { - 'name': 'Intro', - 'description': 'Video introduction that can be skipped', - 'default': False + "intro": { + "name": "Intro", + "description": "Video introduction that can be skipped", + "default": False, }, - 'outro': { - 'name': 'Outro/End Cards', - 'description': 'Credits or when the video ends', - 'default': False + "outro": { + "name": "Outro/End Cards", + "description": "Credits or when the video ends", + "default": False, }, - 'preview': { - 'name': 'Preview/Recap', - 'description': 'Quick recap of previous videos or preview of what\'s coming up', - 'default': False + "preview": { + "name": "Preview/Recap", + "description": "Quick recap of previous videos or preview of what's coming up", + "default": False, }, - 'music_offtopic': { - 'name': 'Non-Music Section', - 'description': 'Only for music videos. Marks non-music sections', - 'default': False + "music_offtopic": { + "name": "Non-Music Section", + "description": "Only for music videos. Marks non-music sections", + "default": False, + }, + "filler": { + "name": "Filler Tangent", + "description": "Tangential scenes added only for filler or humor", + "default": False, }, - 'filler': { - 'name': 'Filler Tangent', - 'description': 'Tangential scenes added only for filler or humor', - 'default': False - } } - - def __init__(self, previously_selected=None, parent=None): + + def __init__(self, previously_selected=None, parent=None) -> None: super().__init__(parent) self.setWindowTitle("SponsorBlock Categories") self.setMinimumWidth(500) self.setMinimumHeight(400) - + # Set the window icon to match the main app if parent: self.setWindowIcon(parent.windowIcon()) - + self.previously_selected = set(previously_selected) if previously_selected else set() self.checkboxes = {} - + self.init_ui() self.apply_styling() - - def init_ui(self): + + def init_ui(self) -> None: layout = QVBoxLayout(self) - + # Title and description title_label = QLabel("SponsorBlock Categories") title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) title_label.setStyleSheet("font-size: 16px; font-weight: bold; color: #ffffff; margin: 10px;") layout.addWidget(title_label) - + desc_label = QLabel( "Select which types of video segments to automatically remove during download.\n" "SponsorBlock uses community-submitted data to identify these segments." @@ -480,17 +502,17 @@ class SponsorBlockCategoryDialog(QDialog): desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) desc_label.setStyleSheet("color: #cccccc; margin: 10px; font-size: 11px;") layout.addWidget(desc_label) - + # Scroll area for categories scroll_area = QScrollArea() scroll_area.setWidgetResizable(True) scroll_area.setStyleSheet("QScrollArea { border: none; }") - + scroll_widget = QWidget() scroll_layout = QVBoxLayout(scroll_widget) scroll_layout.setContentsMargins(10, 0, 10, 0) scroll_layout.setSpacing(8) - + # Add category checkboxes for category_id, category_info in self.SPONSORBLOCK_CATEGORIES.items(): # Create a container widget for each category @@ -498,22 +520,23 @@ class SponsorBlockCategoryDialog(QDialog): category_layout = QVBoxLayout(category_widget) category_layout.setContentsMargins(0, 0, 0, 0) category_layout.setSpacing(2) - + # Create checkbox with just the name - checkbox = QCheckBox(category_info['name']) + checkbox = QCheckBox(category_info["name"]) checkbox.setProperty("category_id", category_id) - + # Determine if this category should be checked if self.previously_selected: # Use previously selected categories is_checked = category_id in self.previously_selected else: # Use default values for first time - is_checked = category_info['default'] - + is_checked = category_info["default"] + checkbox.setChecked(is_checked) - - checkbox.setStyleSheet(""" + + checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 4px; @@ -533,61 +556,64 @@ class SponsorBlockCategoryDialog(QDialog): border: 2px solid #ff0000; background: #ff0000; } - """) - + """ + ) + # Create description label - desc_label = QLabel(category_info['description']) + desc_label = QLabel(category_info["description"]) desc_label.setStyleSheet("color: #aaaaaa; font-size: 11px; margin-left: 28px; margin-bottom: 8px;") desc_label.setWordWrap(True) - + category_layout.addWidget(checkbox) category_layout.addWidget(desc_label) - + self.checkboxes[category_id] = checkbox scroll_layout.addWidget(category_widget) - + scroll_layout.addStretch() scroll_area.setWidget(scroll_widget) layout.addWidget(scroll_area) - + # Quick selection buttons button_layout = QHBoxLayout() - + select_defaults_btn = QPushButton("Select Defaults") select_defaults_btn.clicked.connect(self.select_defaults) select_defaults_btn.setStyleSheet(self._get_button_style()) - + select_all_btn = QPushButton("Select All") select_all_btn.clicked.connect(self.select_all) select_all_btn.setStyleSheet(self._get_button_style()) - + deselect_all_btn = QPushButton("Deselect All") deselect_all_btn.clicked.connect(self.deselect_all) deselect_all_btn.setStyleSheet(self._get_button_style()) - + button_layout.addWidget(select_defaults_btn) button_layout.addWidget(select_all_btn) button_layout.addWidget(deselect_all_btn) button_layout.addStretch() - + layout.addLayout(button_layout) - + # Dialog buttons button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) - + # Style the dialog buttons for button in button_box.buttons(): button.setStyleSheet(self._get_button_style()) if button_box.buttonRole(button) == QDialogButtonBox.ButtonRole.AcceptRole: - button.setStyleSheet(button.styleSheet() + - "QPushButton { background-color: #ff0000; border-color: #cc0000; } " + - "QPushButton:hover { background-color: #cc0000; }") - + button.setStyleSheet( + button.styleSheet() + + "QPushButton { background-color: #ff0000; border-color: #cc0000; } " + + "QPushButton:hover { background-color: #cc0000; }" + ) + layout.addWidget(button_box) - - def _get_button_style(self): + + def _get_button_style(self) -> str: """Returns the standard button style for this dialog.""" return """ QPushButton { @@ -605,10 +631,11 @@ class SponsorBlockCategoryDialog(QDialog): background-color: #555555; } """ - - def apply_styling(self): + + def apply_styling(self) -> None: """Apply the dialog styling to match the rest of the application.""" - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; color: #ffffff; @@ -619,33 +646,34 @@ class SponsorBlockCategoryDialog(QDialog): QWidget { background-color: #15181b; } - """) - - def select_defaults(self): + """ + ) + + def select_defaults(self) -> None: """Select only the default categories.""" for category_id, checkbox in self.checkboxes.items(): - default_value = self.SPONSORBLOCK_CATEGORIES[category_id]['default'] + default_value = self.SPONSORBLOCK_CATEGORIES[category_id]["default"] checkbox.setChecked(default_value) - - def select_all(self): + + def select_all(self) -> None: """Select all categories.""" for checkbox in self.checkboxes.values(): checkbox.setChecked(True) - - def deselect_all(self): + + def deselect_all(self) -> None: """Deselect all categories.""" for checkbox in self.checkboxes.values(): checkbox.setChecked(False) - - def get_selected_categories(self): + + def get_selected_categories(self) -> list: """Returns a list of selected category IDs.""" selected = [] for category_id, checkbox in self.checkboxes.items(): if checkbox.isChecked(): selected.append(category_id) return selected - - def get_selected_categories_string(self): + + def get_selected_categories_string(self) -> str: """Returns a comma-separated string of selected categories for yt-dlp.""" selected = self.get_selected_categories() - return ','.join(selected) if selected else '' + return ",".join(selected) if selected else "" diff --git a/src/gui/dialogs/ytsage_dialogs_settings.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py similarity index 82% rename from src/gui/dialogs/ytsage_dialogs_settings.py rename to src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index dfe9e90..0fc0ef1 100644 --- a/src/gui/dialogs/ytsage_dialogs_settings.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -3,22 +3,39 @@ Settings-related dialogs for YTSage application. Contains dialogs for configuring download settings and auto-update preferences. """ -import os -import requests -from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, - QLineEdit, QPushButton, QGroupBox, QCheckBox, - QRadioButton, QComboBox, QDialogButtonBox, - QButtonGroup, QMessageBox, QFileDialog) -from PySide6.QtCore import Qt, QThread, Signal -from PySide6.QtGui import QIcon -from ...core.ytsage_logging import logger +import time +from datetime import datetime -from ...core.ytsage_utils import (get_auto_update_settings, update_auto_update_settings, - check_and_update_ytdlp_auto, get_ytdlp_version) +import requests +from PySide6.QtCore import Qt +from PySide6.QtWidgets import ( + QButtonGroup, + QCheckBox, + QComboBox, + QDialog, + QDialogButtonBox, + QFileDialog, + QGroupBox, + QHBoxLayout, + QLabel, + QLineEdit, + QMessageBox, + QPushButton, + QRadioButton, + QVBoxLayout, +) + +from src.core.ytsage_logging import logger +from src.core.ytsage_utils import ( + check_and_update_ytdlp_auto, + get_auto_update_settings, + get_ytdlp_version, + update_auto_update_settings, +) class DownloadSettingsDialog(QDialog): - def __init__(self, current_path, current_limit, current_unit_index, parent=None): + def __init__(self, current_path, current_limit, current_unit_index, parent=None) -> None: super().__init__(parent) self.setWindowTitle("Download Settings") self.setMinimumWidth(450) @@ -28,7 +45,8 @@ class DownloadSettingsDialog(QDialog): self.current_unit_index = current_unit_index # Apply main app styling - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; color: #ffffff; @@ -137,7 +155,8 @@ class DownloadSettingsDialog(QDialog): selection-background-color: #c90000; selection-color: #ffffff; } - """) + """ + ) layout = QVBoxLayout(self) @@ -147,7 +166,9 @@ class DownloadSettingsDialog(QDialog): self.path_display = QLabel(self.current_path) self.path_display.setWordWrap(True) - self.path_display.setStyleSheet("QLabel { color: #ffffff; padding: 5px; border: 1px solid #1b2021; border-radius: 4px; background-color: #1b2021; }") + self.path_display.setStyleSheet( + "QLabel { color: #ffffff; padding: 5px; border: 1px solid #1b2021; border-radius: 4px; background-color: #1b2021; }" + ) path_layout.addWidget(self.path_display) browse_button = QPushButton("Browse...") @@ -182,7 +203,7 @@ class DownloadSettingsDialog(QDialog): # Enable/Disable auto-update checkbox self.auto_update_enabled = QCheckBox("Enable automatic yt-dlp updates") - self.auto_update_enabled.setChecked(auto_settings['enabled']) + self.auto_update_enabled.setChecked(auto_settings["enabled"]) auto_update_layout.addWidget(self.auto_update_enabled) # Frequency options @@ -195,10 +216,10 @@ class DownloadSettingsDialog(QDialog): self.weekly_radio = QRadioButton("Check weekly") # Set current selection based on saved settings - current_frequency = auto_settings['frequency'] - if current_frequency == 'startup': + current_frequency = auto_settings["frequency"] + if current_frequency == "startup": self.startup_radio.setChecked(True) - elif current_frequency == 'daily': + elif current_frequency == "daily": self.daily_radio.setChecked(True) else: # weekly self.weekly_radio.setChecked(True) @@ -224,17 +245,17 @@ class DownloadSettingsDialog(QDialog): button_box.rejected.connect(self.reject) layout.addWidget(button_box) - def browse_new_path(self): + def browse_new_path(self) -> None: new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.current_path) if new_path: self.current_path = new_path self.path_display.setText(self.current_path) - def get_selected_path(self): + def get_selected_path(self) -> str: """Returns the confirmed path after the dialog is accepted.""" return self.current_path - def get_selected_speed_limit(self): + def get_selected_speed_limit(self) -> str | None: """Returns the entered speed limit value (as string or None).""" limit_str = self.speed_limit_input.text().strip() if not limit_str: @@ -246,18 +267,19 @@ class DownloadSettingsDialog(QDialog): logger.info("Invalid speed limit input in dialog") return None - def get_selected_unit_index(self): + def get_selected_unit_index(self) -> int: """Returns the index of the selected speed limit unit.""" return self.speed_limit_unit.currentIndex() - def _create_styled_message_box(self, icon, title, text): + def _create_styled_message_box(self, icon, title, text) -> QMessageBox: """Create a styled QMessageBox that matches the app theme.""" msg_box = QMessageBox(self) msg_box.setIcon(icon) msg_box.setWindowTitle(title) msg_box.setText(text) msg_box.setWindowIcon(self.windowIcon()) - msg_box.setStyleSheet(""" + msg_box.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -280,183 +302,187 @@ class DownloadSettingsDialog(QDialog): QMessageBox QPushButton:pressed { background-color: #800000; } - """) + """ + ) return msg_box - def test_update_check(self): + def test_update_check(self) -> None: """Test the update check functionality.""" try: # Get current version current_version = get_ytdlp_version() if "Error" in current_version: msg_box = self._create_styled_message_box( - QMessageBox.Warning, + QMessageBox.Icon.Warning, "Update Check", - "Could not determine current yt-dlp version." + "Could not determine current yt-dlp version.", ) msg_box.exec() return - + # Get latest version from PyPI response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) response.raise_for_status() latest_version = response.json()["info"]["version"] - + # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - + current_version = current_version.replace("_", ".") + latest_version = latest_version.replace("_", ".") + from packaging import version as version_parser + if version_parser.parse(latest_version) > version_parser.parse(current_version): msg_box = self._create_styled_message_box( - QMessageBox.Information, + QMessageBox.Icon.Information, "Update Check", - f"Update available!\n\nCurrent: {current_version}\nLatest: {latest_version}\n\nUse the 'Update yt-dlp' button in the main window to update." + f"Update available!\n\nCurrent: {current_version}\nLatest: {latest_version}\n\nUse the 'Update yt-dlp' button in the main window to update.", ) msg_box.exec() else: msg_box = self._create_styled_message_box( - QMessageBox.Information, + QMessageBox.Icon.Information, "Update Check", - f"yt-dlp is up to date!\n\nCurrent version: {current_version}" + f"yt-dlp is up to date!\n\nCurrent version: {current_version}", ) msg_box.exec() except Exception as e: msg_box = self._create_styled_message_box( - QMessageBox.Warning, + QMessageBox.Icon.Warning, "Update Check", - f"Error checking for updates: {str(e)}" + f"Error checking for updates: {str(e)}", ) msg_box.exec() - def get_auto_update_settings(self): + def get_auto_update_settings(self) -> tuple[bool, str]: """Returns the auto-update settings from the dialog.""" enabled = self.auto_update_enabled.isChecked() - + if self.startup_radio.isChecked(): - frequency = 'startup' + frequency = "startup" elif self.daily_radio.isChecked(): - frequency = 'daily' + frequency = "daily" else: # weekly_radio is checked - frequency = 'weekly' - + frequency = "weekly" + return enabled, frequency - def accept(self): + def accept(self) -> None: """Override accept to save auto-update settings.""" try: # Save auto-update settings enabled, frequency = self.get_auto_update_settings() - + if update_auto_update_settings(enabled, frequency): - QMessageBox.information(self, "Settings Saved", - "Auto-update settings have been saved successfully!") + QMessageBox.information( + self, + "Settings Saved", + "Auto-update settings have been saved successfully!", + ) else: - QMessageBox.warning(self, "Error", - "Failed to save auto-update settings.") + QMessageBox.warning(self, "Error", "Failed to save auto-update settings.") except Exception as e: - QMessageBox.critical(self, "Error", - f"Error saving auto-update settings: {str(e)}") - + QMessageBox.critical(self, "Error", f"Error saving auto-update settings: {str(e)}") + # Call the parent accept method to close the dialog super().accept() class AutoUpdateSettingsDialog(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) self.setWindowTitle("Auto-Update Settings") self.setMinimumWidth(400) self.setMinimumHeight(300) - + # Set the window icon to match the main app if parent: self.setWindowIcon(parent.windowIcon()) - + self.init_ui() self.load_current_settings() self.apply_styling() - - def init_ui(self): + + def init_ui(self) -> None: layout = QVBoxLayout(self) - + # Title title_label = QLabel("

🔄 Auto-Update Settings

") title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(title_label) - + # Description desc_label = QLabel("Configure automatic updates for yt-dlp to ensure you always have the latest features and bug fixes.") desc_label.setWordWrap(True) desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) desc_label.setStyleSheet("color: #cccccc; margin: 10px; font-size: 11px;") layout.addWidget(desc_label) - + # Enable/Disable auto-update self.enable_checkbox = QCheckBox("Enable automatic yt-dlp updates") self.enable_checkbox.setChecked(True) # Default enabled self.enable_checkbox.toggled.connect(self.on_enable_toggled) layout.addWidget(self.enable_checkbox) - + # Frequency options frequency_group = QGroupBox("Update Frequency") frequency_layout = QVBoxLayout() - + self.frequency_group = QButtonGroup(self) - + self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") self.daily_radio = QRadioButton("Check daily") self.weekly_radio = QRadioButton("Check weekly") - + self.daily_radio.setChecked(True) # Default to daily - + self.frequency_group.addButton(self.startup_radio, 0) self.frequency_group.addButton(self.daily_radio, 1) self.frequency_group.addButton(self.weekly_radio, 2) - + frequency_layout.addWidget(self.startup_radio) frequency_layout.addWidget(self.daily_radio) frequency_layout.addWidget(self.weekly_radio) frequency_group.setLayout(frequency_layout) - + layout.addWidget(frequency_group) - + # Current status status_group = QGroupBox("Current Status") status_layout = QVBoxLayout() - + self.current_version_label = QLabel("Current yt-dlp version: Checking...") self.last_check_label = QLabel("Last update check: Never") self.next_check_label = QLabel("Next check: Based on settings") - + status_layout.addWidget(self.current_version_label) status_layout.addWidget(self.last_check_label) status_layout.addWidget(self.next_check_label) status_group.setLayout(status_layout) - + layout.addWidget(status_group) - + # Manual check button self.manual_check_btn = QPushButton("🔍 Check for Updates Now") self.manual_check_btn.clicked.connect(self.manual_check) layout.addWidget(self.manual_check_btn) - + # Buttons button_layout = QHBoxLayout() - + self.save_btn = QPushButton("Save Settings") self.save_btn.clicked.connect(self.save_settings) - + self.cancel_btn = QPushButton("Cancel") self.cancel_btn.clicked.connect(self.reject) - + button_layout.addWidget(self.save_btn) button_layout.addWidget(self.cancel_btn) - + layout.addLayout(button_layout) - - def apply_styling(self): - self.setStyleSheet(""" + + def apply_styling(self) -> None: + self.setStyleSheet( + """ QDialog { background-color: #15181b; color: #ffffff; @@ -518,24 +544,22 @@ class AutoUpdateSettingsDialog(QDialog): background-color: #666666; color: #999999; } - """) - - def load_current_settings(self): + """ + ) + + def load_current_settings(self) -> None: """Load current auto-update settings from config.""" try: - import time - from datetime import datetime - settings = get_auto_update_settings() - + # Set checkbox - self.enable_checkbox.setChecked(settings['enabled']) - + self.enable_checkbox.setChecked(settings["enabled"]) + # Set frequency - frequency = settings['frequency'] - if frequency == 'startup': + frequency = settings["frequency"] + if frequency == "startup": self.startup_radio.setChecked(True) - elif frequency == 'weekly': + elif frequency == "weekly": self.weekly_radio.setChecked(True) else: # daily self.daily_radio.setChecked(True) @@ -543,106 +567,106 @@ class AutoUpdateSettingsDialog(QDialog): # Update status labels current_version = get_ytdlp_version() self.current_version_label.setText(f"Current yt-dlp version: {current_version}") - - last_check = settings['last_check'] + + last_check = settings["last_check"] if last_check > 0: last_check_time = datetime.fromtimestamp(last_check).strftime("%Y-%m-%d %H:%M:%S") self.last_check_label.setText(f"Last update check: {last_check_time}") else: self.last_check_label.setText("Last update check: Never") - + # Calculate next check time self.update_next_check_label() - + # Update UI state - self.on_enable_toggled(settings['enabled']) - + self.on_enable_toggled(settings["enabled"]) + except Exception as e: logger.error(f"Error loading auto-update settings: {e}") - - def update_next_check_label(self): + + def update_next_check_label(self) -> None: """Update the next check label based on current settings.""" try: if not self.enable_checkbox.isChecked(): self.next_check_label.setText("Next check: Disabled") return - - import time - from datetime import datetime, timedelta - + settings = get_auto_update_settings() - last_check = settings['last_check'] + last_check = settings["last_check"] frequency = self.get_selected_frequency() - + if last_check == 0: self.next_check_label.setText("Next check: On next startup") return - + next_check_time = last_check - if frequency == 'startup': + if frequency == "startup": next_check_time += 3600 # 1 hour - elif frequency == 'daily': - next_check_time += 86400 # 24 hours - elif frequency == 'weekly': + elif frequency == "daily": + next_check_time += 86400 # 24 hours + elif frequency == "weekly": next_check_time += 604800 # 7 days - + current_time = time.time() if next_check_time <= current_time: self.next_check_label.setText("Next check: Now (overdue)") else: next_check_datetime = datetime.fromtimestamp(next_check_time) self.next_check_label.setText(f"Next check: {next_check_datetime.strftime('%Y-%m-%d %H:%M:%S')}") - + except Exception as e: self.next_check_label.setText("Next check: Error calculating") logger.error(f"Error calculating next check time: {e}") - - def on_enable_toggled(self, enabled): + + def on_enable_toggled(self, enabled) -> None: """Handle enable/disable checkbox toggle.""" # Enable/disable frequency options for i in range(self.frequency_group.buttons().__len__()): self.frequency_group.button(i).setEnabled(enabled) - + self.update_next_check_label() - - def get_selected_frequency(self): + + def get_selected_frequency(self) -> str: """Get the selected frequency setting.""" if self.startup_radio.isChecked(): - return 'startup' + return "startup" elif self.weekly_radio.isChecked(): - return 'weekly' + return "weekly" else: - return 'daily' - - def manual_check(self): + return "daily" + + def manual_check(self) -> None: """Perform a manual update check.""" self.manual_check_btn.setEnabled(False) self.manual_check_btn.setText("🔄 Checking...") - + # Force an immediate update check - def check_in_thread(): + def check_in_thread() -> None: try: result = check_and_update_ytdlp_auto() - + # Update UI in main thread from PySide6.QtCore import QTimer + QTimer.singleShot(0, lambda: self.manual_check_finished(result)) except Exception as e: logger.error(f"Error during manual check: {e}") QTimer.singleShot(0, lambda: self.manual_check_finished(False)) - + # Run in separate thread to avoid blocking UI import threading + threading.Thread(target=check_in_thread, daemon=True).start() - - def _create_styled_message_box(self, icon, title, text): + + def _create_styled_message_box(self, icon, title, text) -> QMessageBox: """Create a styled QMessageBox that matches the app theme.""" msg_box = QMessageBox(self) msg_box.setIcon(icon) msg_box.setWindowTitle(title) msg_box.setText(text) msg_box.setWindowIcon(self.windowIcon()) - msg_box.setStyleSheet(""" + msg_box.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -665,58 +689,55 @@ class AutoUpdateSettingsDialog(QDialog): QMessageBox QPushButton:pressed { background-color: #800000; } - """) + """ + ) return msg_box - - def manual_check_finished(self, success): + + def manual_check_finished(self, success) -> None: """Handle completion of manual update check.""" self.manual_check_btn.setEnabled(True) self.manual_check_btn.setText("🔍 Check for Updates Now") - + if success: msg_box = self._create_styled_message_box( - QMessageBox.Information, + QMessageBox.Icon.Information, "Update Check", - "✅ Update check completed successfully!\nCheck the console for details." + "✅ Update check completed successfully!\nCheck the console for details.", ) msg_box.exec() else: msg_box = self._create_styled_message_box( - QMessageBox.Warning, - "Update Check", - "❌ Update check failed.\nCheck the console for error details." + QMessageBox.Icon.Warning, + "Update Check", + "❌ Update check failed.\nCheck the console for error details.", ) msg_box.exec() - + # Refresh the current settings display self.load_current_settings() - - def save_settings(self): + + def save_settings(self) -> None: """Save the auto-update settings.""" try: enabled = self.enable_checkbox.isChecked() frequency = self.get_selected_frequency() - + if update_auto_update_settings(enabled, frequency): msg_box = self._create_styled_message_box( - QMessageBox.Information, + QMessageBox.Icon.Information, "Settings Saved", - "✅ Auto-update settings have been saved successfully!" + "✅ Auto-update settings have been saved successfully!", ) msg_box.exec() self.accept() else: msg_box = self._create_styled_message_box( - QMessageBox.Warning, + QMessageBox.Icon.Warning, "Error", - "❌ Failed to save auto-update settings.\nPlease try again." + "❌ Failed to save auto-update settings.\nPlease try again.", ) msg_box.exec() except Exception as e: logger.error(f"Error saving auto-update settings: {e}") - msg_box = self._create_styled_message_box( - QMessageBox.Critical, - "Error", - f"❌ Error saving settings: {str(e)}" - ) + msg_box = self._create_styled_message_box(QMessageBox.Icon.Critical, "Error", f"❌ Error saving settings: {str(e)}") msg_box.exec() diff --git a/src/gui/dialogs/ytsage_dialogs_update.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py similarity index 62% rename from src/gui/dialogs/ytsage_dialogs_update.py rename to src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py index d02da0c..3036da0 100644 --- a/src/gui/dialogs/ytsage_dialogs_update.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py @@ -3,22 +3,25 @@ Update-related dialogs and threads for YTSage application. Contains dialogs and background threads for checking and performing yt-dlp updates. """ -import sys import os -import requests import subprocess +import sys import time -from packaging import version -from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, - QPushButton, QProgressBar, QMessageBox) -from PySide6.QtCore import Qt, QThread, QTimer, Signal +from pathlib import Path -from ...core.ytsage_yt_dlp import get_yt_dlp_path -from ...core.ytsage_utils import get_ytdlp_version, load_config, save_config -from ...core.ytsage_logging import logger +import requests +from packaging import version +from PySide6.QtCore import Qt, QThread, QTimer, Signal +from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QProgressBar, QPushButton, QVBoxLayout + +from src.core.ytsage_logging import logger +from src.core.ytsage_utils import get_ytdlp_version, load_config, save_config +from src.core.ytsage_yt_dlp import get_yt_dlp_path +from src.utils.ytsage_constants import OS_NAME, SUBPROCESS_CREATIONFLAGS, YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL try: import yt_dlp + YT_DLP_AVAILABLE = True except ImportError: YT_DLP_AVAILABLE = False @@ -26,29 +29,30 @@ except ImportError: class VersionCheckThread(QThread): finished = Signal(str, str, str) # current_version, latest_version, error_message - - def run(self): + + def run(self) -> None: current_version = "" latest_version = "" error_message = "" - + try: # Get the yt-dlp executable path yt_dlp_path = get_yt_dlp_path() - + # Get current version with timeout try: - result = subprocess.run([yt_dlp_path, '--version'], - capture_output=True, - text=True, - timeout=30, # 30 second timeout - startupinfo=None if sys.platform != 'win32' else subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW, wShowWindow=subprocess.SW_HIDE), - creationflags=subprocess.CREATE_NO_WINDOW if sys.platform == 'win32' else 0) + result = subprocess.run( + [yt_dlp_path, "--version"], + capture_output=True, + text=True, + timeout=30, # 30 second timeout + creationflags=SUBPROCESS_CREATIONFLAGS, + ) if result.returncode == 0: current_version = result.stdout.strip() else: # Try fallback if command failed if YT_DLP_AVAILABLE: - current_version = yt_dlp.version.__version__ + current_version = yt_dlp.version.__version__ # type: ignore[reportAttributeAccessIssue] else: error_message = "yt-dlp not available." self.finished.emit(current_version, latest_version, error_message) @@ -56,34 +60,34 @@ class VersionCheckThread(QThread): except subprocess.TimeoutExpired: # Try fallback if timeout if YT_DLP_AVAILABLE: - current_version = yt_dlp.version.__version__ + current_version = yt_dlp.version.__version__ # type: ignore[reportAttributeAccessIssue] else: error_message = "yt-dlp version check timed out and package not found." self.finished.emit(current_version, latest_version, error_message) return except Exception: - # Fallback to importing yt_dlp package directly if subprocess fails + # Fallback to importing yt_dlp package directly if subprocess fails if YT_DLP_AVAILABLE: - current_version = yt_dlp.version.__version__ + current_version = yt_dlp.version.__version__ # type: ignore[reportAttributeAccessIssue] else: - error_message = "yt-dlp not found or accessible." - self.finished.emit(current_version, latest_version, error_message) - return + error_message = "yt-dlp not found or accessible." + self.finished.emit(current_version, latest_version, error_message) + return # Get latest version from PyPI response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) response.raise_for_status() latest_version = response.json()["info"]["version"] - + # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') + current_version = current_version.replace("_", ".") + latest_version = latest_version.replace("_", ".") except requests.RequestException as e: error_message = f"Network error checking PyPI: {e}" except Exception as e: error_message = f"Error checking version: {e}" - + self.finished.emit(current_version, latest_version, error_message) @@ -91,54 +95,43 @@ class UpdateThread(QThread): update_status = Signal(str) # For status messages update_progress = Signal(int) # For progress percentage (0-100) update_finished = Signal(bool, str) # success (bool), message/error (str) - - def run(self): + + def run(self) -> None: error_message = "" success = False try: self.update_status.emit("🔍 Checking current installation...") self.update_progress.emit(10) - + # Get the yt-dlp path try: yt_dlp_path = get_yt_dlp_path() - self.update_status.emit(f"📍 Found yt-dlp at: {os.path.basename(yt_dlp_path)}") + self.update_status.emit(f"📍 Found yt-dlp at: {yt_dlp_path}") except Exception as e: self.update_status.emit(f"❌ Error getting yt-dlp path: {e}") self.update_finished.emit(False, f"❌ Error getting yt-dlp path: {e}") return - - # Create startupinfo to hide console on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + + # Extra logic moved to src\utils\ytsage_constants.py + self.update_progress.emit(20) - - # Check if we're using an app-managed binary or system installation - app_managed_dirs = [ - os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), - os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), - os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) - ] - - is_app_managed = any(os.path.dirname(yt_dlp_path) == dir_path for dir_path in app_managed_dirs) - + + # Extra logic moved to src\utils\ytsage_constants.py + is_app_managed = yt_dlp_path.samefile(YTDLP_APP_BIN_PATH) + if is_app_managed: self.update_status.emit("📦 Updating app-managed yt-dlp binary...") success = self._update_binary(yt_dlp_path) else: self.update_status.emit("🐍 Updating system yt-dlp via pip...") - success = self._update_via_pip(startupinfo) - + success = self._update_via_pip() + if success: self.update_progress.emit(100) error_message = "✅ yt-dlp has been successfully updated!" else: error_message = "❌ Failed to update yt-dlp. Please try again or check your internet connection." - + except requests.RequestException as e: error_message = f"❌ Network error during update: {str(e)}" self.update_status.emit(error_message) @@ -147,92 +140,56 @@ class UpdateThread(QThread): error_message = f"❌ Update failed: {str(e)}" self.update_status.emit(error_message) success = False - + self.update_finished.emit(success, error_message) - - def _update_binary(self, yt_dlp_path): - """Update yt-dlp binary directly from GitHub releases.""" + + def _update_binary(self, yt_dlp_path: Path) -> bool: + """Update yt-dlp binary using its built-in updater (same logic as AutoUpdateThread).""" try: - self.update_status.emit("🌐 Determining download URL...") - self.update_progress.emit(30) - - # Determine the URL based on OS - if sys.platform == 'win32': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" - elif sys.platform == 'darwin': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" - else: - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" - - self.update_status.emit("⬇️ Downloading latest yt-dlp binary...") - self.update_progress.emit(40) - - # Download with progress tracking and timeout - response = requests.get(url, stream=True, timeout=30) - if response.status_code != 200: - self.update_status.emit(f"❌ Download failed: HTTP {response.status_code}") - return False - - total_size = int(response.headers.get('content-length', 0)) - temp_file = f"{yt_dlp_path}.new" - downloaded = 0 - - self.update_status.emit("💾 Downloading and saving binary...") - - with open(temp_file, 'wb') as f: - for chunk in response.iter_content(chunk_size=8192): - if chunk: - f.write(chunk) - downloaded += len(chunk) - - # Update progress (40-80% for download) - if total_size > 0: - progress = 40 + int((downloaded / total_size) * 40) - self.update_progress.emit(progress) - - self.update_status.emit("🔧 Installing updated binary...") - self.update_progress.emit(85) - - # Make executable on Unix systems - if sys.platform != 'win32': - os.chmod(temp_file, 0o755) - - # Replace the old file with the new one - try: - # On Windows, we need to remove the old file first - if sys.platform == 'win32' and os.path.exists(yt_dlp_path): - os.remove(yt_dlp_path) - - os.rename(temp_file, yt_dlp_path) + logger.info("UpdateThread: Checking for yt-dlp updates...") + + result = subprocess.run( + [yt_dlp_path, "-U"], + capture_output=True, + text=True, + timeout=60, + creationflags=SUBPROCESS_CREATIONFLAGS, + ) + + if result.returncode == 0: + # Make executable on Unix systems + if OS_NAME != "Windows": + os.chmod(yt_dlp_path, 0o755) + + logger.info("UpdateThread: yt-dlp update completed successfully.") + if result.stdout: + logger.debug(f"yt-dlp output: {result.stdout.strip()}") self.update_status.emit("✅ Binary successfully updated!") self.update_progress.emit(95) return True - - except Exception as e: - self.update_status.emit(f"❌ Error installing binary: {e}") - # Clean up temp file if it exists - if os.path.exists(temp_file): - try: - os.remove(temp_file) - except: - pass + else: + logger.error(f"UpdateThread: yt-dlp update failed. {result.stderr.strip()}") + self.update_status.emit(f"❌ yt-dlp update failed: {result.stderr.strip()}") return False - - except requests.RequestException as e: - self.update_status.emit(f"❌ Network error: {e}") + + except subprocess.TimeoutExpired: + logger.error("UpdateThread: yt-dlp update timed out.") + self.update_status.emit("❌ yt-dlp update timed out.") return False + except Exception as e: - self.update_status.emit(f"❌ Binary update failed: {e}") + logger.error(f"UpdateThread: Unexpected error during update: {e}", exc_info=True) + self.update_status.emit(f"❌ Unexpected error during update: {e}") return False - - def _update_via_pip(self, startupinfo): + + def _update_via_pip(self) -> bool: """Update yt-dlp via pip.""" try: import pkg_resources - + self.update_status.emit("🔍 Checking current pip installation...") self.update_progress.emit(30) - + # Get current version try: current_version = pkg_resources.get_distribution("yt-dlp").version @@ -240,27 +197,27 @@ class UpdateThread(QThread): except pkg_resources.DistributionNotFound: self.update_status.emit("⚠️ yt-dlp not found via pip, attempting installation...") current_version = "0.0.0" - + self.update_progress.emit(40) - + # Get the latest version from PyPI self.update_status.emit("🌐 Checking for latest version...") response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) - + if response.status_code != 200: self.update_status.emit("❌ Failed to check for updates") return False - + data = response.json() latest_version = data["info"]["version"] self.update_status.emit(f"🆕 Latest version: {latest_version}") self.update_progress.emit(50) - + # Compare versions if version.parse(latest_version) > version.parse(current_version): self.update_status.emit(f"⬆️ Updating from {current_version} to {latest_version}...") self.update_progress.emit(60) - + try: # Run pip update with timeout self.update_status.emit("📦 Running pip install --upgrade...") @@ -270,11 +227,11 @@ class UpdateThread(QThread): text=True, check=False, timeout=300, # 5 minute timeout for pip install - startupinfo=startupinfo + creationflags=SUBPROCESS_CREATIONFLAGS, ) - + self.update_progress.emit(85) - + if update_result.returncode == 0: self.update_status.emit("✅ Pip update completed successfully!") self.update_progress.emit(95) @@ -282,7 +239,7 @@ class UpdateThread(QThread): else: self.update_status.emit(f"❌ Pip update failed: {update_result.stderr}") return False - + except subprocess.TimeoutExpired: self.update_status.emit("❌ Pip update timed out after 5 minutes") return False @@ -293,49 +250,50 @@ class UpdateThread(QThread): self.update_status.emit("✅ yt-dlp is already up to date!") self.update_progress.emit(95) return True - + except Exception as e: self.update_status.emit(f"❌ Pip update failed: {e}") return False class YTDLPUpdateDialog(QDialog): - def __init__(self, parent=None): + def __init__(self, parent=None) -> None: super().__init__(parent) self.setWindowTitle("Update yt-dlp") self.setMinimumWidth(450) self.setMinimumHeight(200) self._closing = False # Flag to track if dialog is closing - + layout = QVBoxLayout(self) - + # Status label self.status_label = QLabel("Checking for updates...") self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) self.status_label.setWordWrap(True) self.status_label.setMinimumHeight(60) layout.addWidget(self.status_label) - + # Progress bar self.progress_bar = QProgressBar() self.progress_bar.hide() # Hide initially layout.addWidget(self.progress_bar) - + # Buttons button_layout = QHBoxLayout() self.update_btn = QPushButton("Update") self.update_btn.clicked.connect(self.perform_update) self.update_btn.setEnabled(False) - + self.close_btn = QPushButton("Close") self.close_btn.clicked.connect(self.close) - + button_layout.addWidget(self.update_btn) button_layout.addWidget(self.close_btn) layout.addLayout(button_layout) - + # Style - self.setStyleSheet(""" + self.setStyleSheet( + """ QDialog { background-color: #15181b; } @@ -375,40 +333,43 @@ class YTDLPUpdateDialog(QDialog): border-radius: 4px; margin: 1px; } - """) - + """ + ) + # Start version check in background self.check_version() - - def check_version(self): + + def check_version(self) -> None: self.status_label.setText("Checking for updates...") self.update_btn.setEnabled(False) self.version_check_thread = VersionCheckThread() self.version_check_thread.finished.connect(self.on_version_check_finished) self.version_check_thread.start() - def on_version_check_finished(self, current_version, latest_version, error_message): + def on_version_check_finished(self, current_version, latest_version, error_message) -> None: # Check if dialog is closing to avoid unnecessary updates - if hasattr(self, '_closing') and self._closing: + if hasattr(self, "_closing") and self._closing: return - + if error_message: self.status_label.setText(error_message) self.update_btn.setEnabled(False) return if not current_version or not latest_version: - self.status_label.setText("Could not determine versions.") - self.update_btn.setEnabled(False) - return + self.status_label.setText("Could not determine versions.") + self.update_btn.setEnabled(False) + return try: # Compare versions current_ver = version.parse(current_version) latest_ver = version.parse(latest_version) - + if current_ver < latest_ver: - self.status_label.setText(f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}") + self.status_label.setText( + f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}" + ) self.update_btn.setEnabled(True) else: self.status_label.setText(f"yt-dlp is up to date (version {current_version})") @@ -416,31 +377,33 @@ class YTDLPUpdateDialog(QDialog): except version.InvalidVersion: # If version parsing fails, do a simple string comparison if current_version != latest_version: - self.status_label.setText(f"Update available! (Comparison failed)\nCurrent: {current_version}\nLatest: {latest_version}") + self.status_label.setText( + f"Update available! (Comparison failed)\nCurrent: {current_version}\nLatest: {latest_version}" + ) self.update_btn.setEnabled(True) else: self.status_label.setText(f"yt-dlp is up to date (version {current_version})") self.update_btn.setEnabled(False) except Exception as e: - self.status_label.setText(f"Error comparing versions: {e}") - self.update_btn.setEnabled(False) + self.status_label.setText(f"Error comparing versions: {e}") + self.update_btn.setEnabled(False) - def perform_update(self): + def perform_update(self) -> None: # Immediate visual feedback self.update_btn.setEnabled(False) self.close_btn.setEnabled(False) self.update_btn.setText("Updating...") self.status_label.setText("🚀 Initializing update process...") - + # Show progress bar immediately self.progress_bar.setRange(0, 100) self.progress_bar.setValue(0) self.progress_bar.show() - + # Start the update thread self._start_update_thread() - - def _start_update_thread(self): + + def _start_update_thread(self) -> None: """Start the actual update thread.""" # Create and start the update thread self.update_thread = UpdateThread() @@ -449,95 +412,102 @@ class YTDLPUpdateDialog(QDialog): self.update_thread.update_finished.connect(self.on_update_finished) self.update_thread.start() - def on_update_status(self, message): + def on_update_status(self, message) -> None: """Slot to receive status messages from UpdateThread.""" - if not (hasattr(self, '_closing') and self._closing): + if not (hasattr(self, "_closing") and self._closing): self.status_label.setText(message) - def on_update_progress(self, progress): + def on_update_progress(self, progress) -> None: """Slot to receive progress updates from UpdateThread.""" - if not (hasattr(self, '_closing') and self._closing): + if not (hasattr(self, "_closing") and self._closing): self.progress_bar.setValue(progress) - def on_update_finished(self, success, message): + def on_update_finished(self, success, message) -> None: """Slot called when the UpdateThread finishes.""" # Check if dialog is closing to avoid unnecessary updates - if hasattr(self, '_closing') and self._closing: + if hasattr(self, "_closing") and self._closing: return - + self.progress_bar.setValue(100) self.status_label.setText(message) self.close_btn.setEnabled(True) self.update_btn.setText("Update") # Reset button text - + if success: # Show success briefly then auto-check version QTimer.singleShot(2000, self.check_version) # Wait 2 seconds then refresh else: # Re-enable update button on failure after a short delay - QTimer.singleShot(3000, lambda: self.update_btn.setEnabled(True) if not (hasattr(self, '_closing') and self._closing) else None) + QTimer.singleShot( + 3000, + lambda: (self.update_btn.setEnabled(True) if not (hasattr(self, "_closing") and self._closing) else None), + ) - def closeEvent(self, event): + def closeEvent(self, event) -> None: """Ensure threads are terminated if the dialog is closed prematurely.""" # Set a flag to indicate dialog is closing self._closing = True - - if hasattr(self, 'version_check_thread') and self.version_check_thread.isRunning(): + + if hasattr(self, "version_check_thread") and self.version_check_thread.isRunning(): self.version_check_thread.quit() if not self.version_check_thread.wait(3000): # Wait up to 3 seconds self.version_check_thread.terminate() - - if hasattr(self, 'update_thread') and self.update_thread.isRunning(): + + if hasattr(self, "update_thread") and self.update_thread.isRunning(): self.update_thread.quit() if not self.update_thread.wait(5000): # Wait up to 5 seconds for update to finish self.update_thread.terminate() - + super().closeEvent(event) class AutoUpdateThread(QThread): """Thread for performing automatic background updates without UI feedback.""" + update_finished = Signal(bool, str) # success (bool), message (str) - - def run(self): + + def run(self) -> None: """Perform automatic yt-dlp update check and update if needed.""" try: logger.info("AutoUpdateThread: Performing automatic yt-dlp update check...") - + # Get current version current_version = get_ytdlp_version() if "Error" in current_version: logger.warning("AutoUpdateThread: Could not determine current yt-dlp version, skipping auto-update") self.update_finished.emit(False, "Could not determine current yt-dlp version") return - + # Get latest version from PyPI try: response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) response.raise_for_status() latest_version = response.json()["info"]["version"] - + # Clean up version strings - current_version = current_version.replace('_', '.') - latest_version = latest_version.replace('_', '.') - + current_version = current_version.replace("_", ".") + latest_version = latest_version.replace("_", ".") + logger.info(f"AutoUpdateThread: Current yt-dlp version: {current_version}") logger.info(f"AutoUpdateThread: Latest yt-dlp version: {latest_version}") - + # Compare versions if version.parse(latest_version) > version.parse(current_version): logger.info(f"AutoUpdateThread: Auto-updating yt-dlp from {current_version} to {latest_version}...") - + # Perform the update success = self._perform_update() - + if success: logger.info("AutoUpdateThread: Auto-update completed successfully!") # Update the last check timestamp config = load_config() - config['last_update_check'] = time.time() + config["last_update_check"] = time.time() save_config(config) - self.update_finished.emit(True, f"Successfully updated yt-dlp from {current_version} to {latest_version}") + self.update_finished.emit( + True, + f"Successfully updated yt-dlp from {current_version} to {latest_version}", + ) else: logger.warning("AutoUpdateThread: Auto-update failed") self.update_finished.emit(False, "Auto-update failed") @@ -545,110 +515,89 @@ class AutoUpdateThread(QThread): logger.info("AutoUpdateThread: yt-dlp is already up to date") # Still update the timestamp even if no update was needed config = load_config() - config['last_update_check'] = time.time() + config["last_update_check"] = time.time() save_config(config) - self.update_finished.emit(True, f"yt-dlp is already up to date (version {current_version})") - + self.update_finished.emit( + True, + f"yt-dlp is already up to date (version {current_version})", + ) + except requests.RequestException as e: logger.warning(f"AutoUpdateThread: Network error during auto-update check: {e}") self.update_finished.emit(False, f"Network error: {e}") except Exception as e: - logger.error(f"AutoUpdateThread: Error during auto-update check: {e}", exc_info=True) + logger.error( + f"AutoUpdateThread: Error during auto-update check: {e}", + exc_info=True, + ) self.update_finished.emit(False, f"Update check error: {e}") - + except Exception as e: logger.critical(f"AutoUpdateThread: Critical error in auto-update: {e}", exc_info=True) self.update_finished.emit(False, f"Critical error: {e}") - - def _perform_update(self): + + def _perform_update(self) -> bool: """Perform the actual update using similar logic to UpdateThread but without UI feedback.""" try: # Get the yt-dlp path yt_dlp_path = get_yt_dlp_path() - - # Check if we're using an app-managed binary or system installation - app_managed_dirs = [ - os.path.join(os.environ.get('LOCALAPPDATA', ''), 'YTSage', 'bin'), - os.path.expanduser(os.path.join('~', 'Library', 'Application Support', 'YTSage', 'bin')), - os.path.expanduser(os.path.join('~', '.local', 'share', 'YTSage', 'bin')) - ] - - is_app_managed = any(os.path.dirname(yt_dlp_path) == dir_path for dir_path in app_managed_dirs) - + + # Extra logic moved to src\utils\ytsage_constants.py + + is_app_managed = yt_dlp_path.samefile(YTDLP_APP_BIN_PATH) + if is_app_managed: logger.info("AutoUpdateThread: Updating app-managed yt-dlp binary...") return self._update_binary(yt_dlp_path) else: logger.info("AutoUpdateThread: Updating system yt-dlp via pip...") return self._update_via_pip() - + except Exception as e: logger.error(f"AutoUpdateThread: Error in _perform_update: {e}", exc_info=True) return False - - def _update_binary(self, yt_dlp_path): - """Update yt-dlp binary directly from GitHub releases (silent version).""" + + def _update_binary(self, yt_dlp_path: Path) -> bool: + """Update yt-dlp binary using its built-in updater.""" try: - # Determine the URL based on OS - if sys.platform == 'win32': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" - elif sys.platform == 'darwin': - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" - else: - url = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" - - logger.info("AutoUpdateThread: Downloading latest yt-dlp binary...") - - # Download without progress tracking (silent) - response = requests.get(url, stream=True) - if response.status_code != 200: - logger.error(f"AutoUpdateThread: Download failed: HTTP {response.status_code}") - return False - - temp_file = f"{yt_dlp_path}.new" - - with open(temp_file, 'wb') as f: - for chunk in response.iter_content(chunk_size=8192): - if chunk: - f.write(chunk) - - logger.info("AutoUpdateThread: Installing updated binary...") - - # Make executable on Unix systems - if sys.platform != 'win32': - os.chmod(temp_file, 0o755) - - # Replace the old file with the new one - try: - # On Windows, we need to remove the old file first - if sys.platform == 'win32' and os.path.exists(yt_dlp_path): - os.remove(yt_dlp_path) - - os.rename(temp_file, yt_dlp_path) - logger.info("AutoUpdateThread: Binary successfully updated!") + logger.info("AutoUpdateThread: Checking for yt-dlp updates...") + + result = subprocess.run( + [yt_dlp_path, "-U"], + capture_output=True, + text=True, + timeout=60, + creationflags=SUBPROCESS_CREATIONFLAGS, + ) + + if result.returncode == 0: + # Make executable on Unix systems + if OS_NAME != "Windows": + os.chmod(yt_dlp_path, 0o755) + + logger.info("AutoUpdateThread: yt-dlp update completed successfully.") + if result.stdout: + logger.debug(f"yt-dlp output: {result.stdout.strip()}") return True - - except Exception as e: - logger.error(f"AutoUpdateThread: Error installing binary: {e}") - # Clean up temp file if it exists - if os.path.exists(temp_file): - try: - os.remove(temp_file) - except: - pass + else: + logger.error(f"AutoUpdateThread: yt-dlp update failed. {result.stderr.strip()}") return False - - except Exception as e: - logger.error(f"AutoUpdateThread: Binary update failed: {e}", exc_info=True) + + except subprocess.TimeoutExpired: + logger.error("AutoUpdateThread: yt-dlp update timed out.") return False - - def _update_via_pip(self): + + except Exception as e: + logger.error(f"AutoUpdateThread: Unexpected error during update: {e}", exc_info=True) + return False + + def _update_via_pip(self) -> bool: """Update yt-dlp via pip (silent version).""" try: import pkg_resources - + logger.info("AutoUpdateThread: Checking current pip installation...") - + # Get current version try: current_version = pkg_resources.get_distribution("yt-dlp").version @@ -656,30 +605,25 @@ class AutoUpdateThread(QThread): except pkg_resources.DistributionNotFound: logger.warning("AutoUpdateThread: yt-dlp not found via pip, attempting installation...") current_version = "0.0.0" - + # Get the latest version from PyPI logger.info("AutoUpdateThread: Checking for latest version...") response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) - + if response.status_code != 200: logger.error("AutoUpdateThread: Failed to check for updates") return False - + data = response.json() latest_version = data["info"]["version"] logger.info(f"AutoUpdateThread: Latest version: {latest_version}") - + # Compare versions if version.parse(latest_version) > version.parse(current_version): logger.info(f"AutoUpdateThread: Updating from {current_version} to {latest_version}...") - - # Create startupinfo to hide console on Windows - startupinfo = None - if sys.platform == 'win32' and hasattr(subprocess, 'STARTUPINFO'): - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = 0 # SW_HIDE - + + # Extra logic moved to src\utils\ytsage_constants.py + # Run pip update logger.info("AutoUpdateThread: Running pip install --upgrade...") update_result = subprocess.run( @@ -687,9 +631,9 @@ class AutoUpdateThread(QThread): capture_output=True, text=True, check=False, - startupinfo=startupinfo + creationflags=SUBPROCESS_CREATIONFLAGS, ) - + if update_result.returncode == 0: logger.info("AutoUpdateThread: Pip update completed successfully!") return True @@ -699,7 +643,7 @@ class AutoUpdateThread(QThread): else: logger.info("AutoUpdateThread: yt-dlp is already up to date!") return True - + except Exception as e: logger.error(f"AutoUpdateThread: Pip update failed: {e}", exc_info=True) return False diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index d151cc3..828cf3c 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -1,58 +1,67 @@ -from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, - QHBoxLayout, QLineEdit, QPushButton, QTableWidget, - QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, - QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QScrollArea, - QSizePolicy) -from PySide6.QtCore import Qt, Signal, QObject, QThread -from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap +from PySide6.QtCore import QObject, Qt, Signal +from PySide6.QtGui import QColor +from PySide6.QtWidgets import QCheckBox, QHBoxLayout, QHeaderView, QSizePolicy, QTableWidget, QTableWidgetItem, QWidget + class FormatSignals(QObject): format_update = Signal(list) + class FormatTableMixin: - def setup_format_table(self): + def setup_format_table(self) -> QTableWidget: self.format_signals = FormatSignals() - + # Format table with improved styling self.format_table = QTableWidget() self.format_table.setColumnCount(8) - self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) - + self.format_table.setHorizontalHeaderLabels( + [ + "Select", + "Quality", + "Extension", + "Resolution", + "File Size", + "Codec", + "Audio", + "Notes", + ] + ) + # Enable alternating row colors self.format_table.setAlternatingRowColors(True) - + # Set specific column widths and resize modes self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) # Select self.format_table.setColumnWidth(0, 50) # Select column width - + self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) # Quality self.format_table.setColumnWidth(1, 100) # Quality width - + self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) # Extension self.format_table.setColumnWidth(2, 80) # Extension width - + self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) # Resolution self.format_table.setColumnWidth(3, 100) # Resolution width - + self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) # File Size self.format_table.setColumnWidth(4, 100) # File Size width - + self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) # Codec self.format_table.setColumnWidth(5, 150) # Codec width - + self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) # Audio self.format_table.setColumnWidth(6, 120) # Audio width - + self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) # Notes (will stretch) - + # Set vertical header (row numbers) visible to false self.format_table.verticalHeader().setVisible(False) - + # Set selection mode to no selection (since we're using checkboxes) self.format_table.setSelectionMode(QTableWidget.SelectionMode.NoSelection) - - self.format_table.setStyleSheet(""" + + self.format_table.setStyleSheet( + """ QTableWidget { background-color: #1b2021; border: 2px solid #1b2021; @@ -96,27 +105,28 @@ class FormatTableMixin: QWidget { background-color: transparent; } - """) - + """ + ) + # Store format checkboxes and formats self.format_checkboxes = [] self.all_formats = [] - + # Set table size policies self.format_table.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) - + # Set minimum and maximum heights self.format_table.setMinimumHeight(200) - + # Connect the signal self.format_signals.format_update.connect(self._update_format_table) - + return self.format_table - def filter_formats(self): - if not hasattr(self, 'all_formats'): + def filter_formats(self) -> None: + if not hasattr(self, "all_formats"): return - + # Clear current table self.format_table.setRowCount(0) self.format_checkboxes.clear() @@ -124,44 +134,46 @@ class FormatTableMixin: # Determine which formats to show filtered_formats = [] - if hasattr(self, 'video_button') and self.video_button.isChecked(): - filtered_formats.extend([f for f in self.all_formats - if f.get('vcodec') != 'none' - and f.get('filesize') is not None]) + if hasattr(self, "video_button") and self.video_button.isChecked(): # type: ignore[reportAttributeAccessIssue] + filtered_formats.extend([f for f in self.all_formats if f.get("vcodec") != "none" and f.get("filesize") is not None]) - if hasattr(self, 'audio_button') and self.audio_button.isChecked(): - filtered_formats.extend([f for f in self.all_formats - if (f.get('vcodec') == 'none' - or 'audio only' in f.get('format_note', '').lower()) - and f.get('acodec') != 'none' - and f.get('filesize') is not None]) + if hasattr(self, "audio_button") and self.audio_button.isChecked(): # type: ignore[reportAttributeAccessIssue] + filtered_formats.extend( + [ + f + for f in self.all_formats + if (f.get("vcodec") == "none" or "audio only" in f.get("format_note", "").lower()) + and f.get("acodec") != "none" + and f.get("filesize") is not None + ] + ) # Sort formats by quality def get_quality(f): - if f.get('vcodec') != 'none': - res = f.get('resolution', '0x0').split('x')[-1] + if f.get("vcodec") != "none": + res = f.get("resolution", "0x0").split("x")[-1] try: return int(res) except ValueError: return 0 else: - return f.get('abr', 0) + return f.get("abr", 0) filtered_formats.sort(key=get_quality, reverse=True) # Update table with filtered formats self.format_signals.format_update.emit(filtered_formats) - def _update_format_table(self, formats): + def _update_format_table(self, formats) -> None: self.format_table.setRowCount(0) self.format_checkboxes.clear() - is_playlist_mode = hasattr(self, 'is_playlist') and self.is_playlist + is_playlist_mode = hasattr(self, "is_playlist") and self.is_playlist # type: ignore[reportAttributeAccessIssue] # Configure columns based on mode if is_playlist_mode: self.format_table.setColumnCount(5) - self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Resolution', 'Notes', 'Audio']) + self.format_table.setHorizontalHeaderLabels(["Select", "Quality", "Resolution", "Notes", "Audio"]) # Configure column visibility and resizing for playlist mode self.format_table.setColumnHidden(5, True) @@ -175,14 +187,25 @@ class FormatTableMixin: self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Stretch) self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Stretch) - + else: self.format_table.setColumnCount(8) - self.format_table.setHorizontalHeaderLabels(['Select', 'Quality', 'Extension', 'Resolution', 'File Size', 'Codec', 'Audio', 'Notes']) + self.format_table.setHorizontalHeaderLabels( + [ + "Select", + "Quality", + "Extension", + "Resolution", + "File Size", + "Codec", + "Audio", + "Notes", + ] + ) # Ensure all columns are visible for i in range(2, 8): - self.format_table.setColumnHidden(i, False) - + self.format_table.setColumnHidden(i, False) + # Reapply resize modes for non-playlist mode if needed (optional, might be okay without) self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) self.format_table.setColumnWidth(0, 50) @@ -199,20 +222,22 @@ class FormatTableMixin: self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) self.format_table.setColumnWidth(6, 120) self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) - # Find best quality format for recommendations (only needed for non-playlist mode notes) best_video_size = 0 if not is_playlist_mode: - best_video_size = max((f.get('filesize', 0) for f in formats if f.get('vcodec') != 'none'), default=0) - + best_video_size = max( + (f.get("filesize", 0) for f in formats if f.get("vcodec") != "none"), + default=0, + ) + for f in formats: row = self.format_table.rowCount() self.format_table.insertRow(row) - + # Column 0: Select Checkbox (Always shown) checkbox = QCheckBox() - checkbox.format_id = str(f.get('format_id', '')) + checkbox.format_id = str(f.get("format_id", "")) # type: ignore[reportAttributeAccessIssue] checkbox.clicked.connect(lambda checked, cb=checkbox: self.handle_checkbox_click(cb)) self.format_checkboxes.append(checkbox) checkbox_widget = QWidget() @@ -229,84 +254,83 @@ class FormatTableMixin: quality_item = QTableWidgetItem(quality_text) # Set color based on quality if "Best" in quality_text: - quality_item.setForeground(QColor('#00ff00')) # Green for best quality + quality_item.setForeground(QColor("#00ff00")) # Green for best quality elif "High" in quality_text: - quality_item.setForeground(QColor('#00cc00')) # Light green for high quality + quality_item.setForeground(QColor("#00cc00")) # Light green for high quality elif "Medium" in quality_text: - quality_item.setForeground(QColor('#ffaa00')) # Orange for medium quality + quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality elif "Low" in quality_text: - quality_item.setForeground(QColor('#ff5555')) # Red for low quality + quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) # --- Populate columns common to both modes (Moved outside the 'if not is_playlist_mode' block) --- - + # Column 2: Resolution (Always shown) - resolution = f.get('resolution', 'N/A') - if f.get('vcodec') == 'none': - resolution = 'Audio only' + resolution = f.get("resolution", "N/A") + if f.get("vcodec") == "none": + resolution = "Audio only" self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) - + # Column 3: Notes for playlist mode, Extension for normal mode if is_playlist_mode: # Get notes for playlist mode notes = self._get_format_notes(f) notes_item = QTableWidgetItem(notes) if "✨ Recommended" in notes: - notes_item.setForeground(QColor('#00ff00')) # Green for recommended + notes_item.setForeground(QColor("#00ff00")) # Green for recommended elif "💾 Storage friendly" in notes: - notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly + notes_item.setForeground(QColor("#00ccff")) # Blue for storage friendly elif "📱 Mobile friendly" in notes: - notes_item.setForeground(QColor('#ff9900')) # Orange for mobile + notes_item.setForeground(QColor("#ff9900")) # Orange for mobile self.format_table.setItem(row, 3, notes_item) else: # Extension for normal mode (column 2) - self.format_table.setItem(row, 2, QTableWidgetItem(f.get('ext', '').upper())) - + self.format_table.setItem(row, 2, QTableWidgetItem(f.get("ext", "").upper())) + # Column 4 in playlist mode, Column 6 in normal mode: Audio Status - needs_audio = f.get('acodec') == 'none' and f.get('vcodec') != 'none' # Only mark video-only as needing merge - audio_status = "Will merge audio" if needs_audio else ("✓ Has Audio" if f.get('vcodec') != 'none' else "Audio Only") + needs_audio = f.get("acodec") == "none" and f.get("vcodec") != "none" # Only mark video-only as needing merge + audio_status = "Will merge audio" if needs_audio else ("✓ Has Audio" if f.get("vcodec") != "none" else "Audio Only") audio_item = QTableWidgetItem(audio_status) if needs_audio: - audio_item.setForeground(QColor('#ffa500')) + audio_item.setForeground(QColor("#ffa500")) elif audio_status == "Audio Only": - audio_item.setForeground(QColor('#cccccc')) # Neutral color for audio only - else: # Has Audio (Video+Audio) - audio_item.setForeground(QColor('#00cc00')) # Green for included audio + audio_item.setForeground(QColor("#cccccc")) # Neutral color for audio only + else: # Has Audio (Video+Audio) + audio_item.setForeground(QColor("#00cc00")) # Green for included audio # Set item for correct column based on mode audio_column_index = 4 if is_playlist_mode else 6 self.format_table.setItem(row, audio_column_index, audio_item) - # --- Populate columns only shown in non-playlist mode --- if not is_playlist_mode: # Column 3: Resolution self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) - + # Column 4: File Size filesize = f"{f.get('filesize', 0) / 1024 / 1024:.2f} MB" self.format_table.setItem(row, 4, QTableWidgetItem(filesize)) - + # Column 5: Codec - if f.get('vcodec') == 'none': - codec = f.get('acodec', 'N/A') + if f.get("vcodec") == "none": + codec = f.get("acodec", "N/A") else: codec = f"{f.get('vcodec', 'N/A')}" - if f.get('acodec') != 'none': + if f.get("acodec") != "none": codec += f" / {f.get('acodec', 'N/A')}" self.format_table.setItem(row, 5, QTableWidgetItem(codec)) - + # Column 7: Notes notes = self._get_format_notes(f) notes_item = QTableWidgetItem(notes) if "✨ Recommended" in notes: - notes_item.setForeground(QColor('#00ff00')) # Green for recommended + notes_item.setForeground(QColor("#00ff00")) # Green for recommended elif "💾 Storage friendly" in notes: - notes_item.setForeground(QColor('#00ccff')) # Blue for storage friendly + notes_item.setForeground(QColor("#00ccff")) # Blue for storage friendly elif "📱 Mobile friendly" in notes: - notes_item.setForeground(QColor('#ff9900')) # Orange for mobile + notes_item.setForeground(QColor("#ff9900")) # Orange for mobile self.format_table.setItem(row, 7, notes_item) - def handle_checkbox_click(self, clicked_checkbox): + def handle_checkbox_click(self, clicked_checkbox) -> None: for checkbox in self.format_checkboxes: if checkbox != clicked_checkbox: checkbox.setChecked(False) @@ -317,15 +341,15 @@ class FormatTableMixin: return checkbox.format_id return None - def update_format_table(self, formats): + def update_format_table(self, formats) -> None: self.all_formats = formats self.format_signals.format_update.emit(formats) - def get_quality_label(self, format_info): + def get_quality_label(self, format_info) -> str: """Determine quality label based on format information""" - if format_info.get('vcodec') == 'none': + if format_info.get("vcodec") == "none": # Audio quality - abr = format_info.get('abr', 0) + abr = format_info.get("abr", 0) if abr >= 256: return "Best Audio" elif abr >= 192: @@ -337,13 +361,13 @@ class FormatTableMixin: else: # Video quality height = 0 - resolution = format_info.get('resolution', '') + resolution = format_info.get("resolution", "") if resolution: try: - height = int(resolution.split('x')[1]) + height = int(resolution.split("x")[1]) except: pass - + if height >= 2160: return "Best (4K)" elif height >= 1440: @@ -357,20 +381,20 @@ class FormatTableMixin: else: return "Low Quality" - def _get_format_notes(self, format_info): + def _get_format_notes(self, format_info) -> str: """Generate helpful format notes based on format info.""" notes = [] - + # Add storage indicator with more granular categories - file_size = format_info.get('filesize') or format_info.get('filesize_approx', 0) - resolution = format_info.get('resolution', '') + file_size = format_info.get("filesize") or format_info.get("filesize_approx", 0) + resolution = format_info.get("resolution", "") height = 0 if resolution: try: - height = int(resolution.split('x')[1]) + height = int(resolution.split("x")[1]) except: pass - + # Better file size categories if file_size > 50 * 1024 * 1024: # Over 50MB notes.append("Large size") @@ -380,20 +404,20 @@ class FormatTableMixin: notes.append("Standard size") else: # Under 5MB notes.append("Small size") - + # Add codec quality indicator - vcodec = format_info.get('vcodec', '') - if vcodec != 'none': - if 'avc1' in vcodec: # H.264 + vcodec = format_info.get("vcodec", "") + if vcodec != "none": + if "avc1" in vcodec: # H.264 notes.append("Compatible") - elif 'av01' in vcodec: # AV1 + elif "av01" in vcodec: # AV1 notes.append("Efficient") - elif 'vp9' in vcodec: # VP9 + elif "vp9" in vcodec: # VP9 notes.append("High quality") - + # Add quick mobile compatibility check - if 'avc1' in vcodec and file_size < 8 * 1024 * 1024: + if "avc1" in vcodec and file_size < 8 * 1024 * 1024: notes.append("Mobile") - + # Return simple string - return " • ".join(notes) \ No newline at end of file + return " • ".join(notes) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 740892f..e8e902f 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -1,65 +1,83 @@ -import sys -import os -import webbrowser -from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, - QHBoxLayout, QLineEdit, QPushButton, QTableWidget, - QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup, QMessageBox, QListWidget, - QListWidgetItem, QDialogButtonBox, QScrollArea) -from PySide6.QtCore import Qt, Signal, QObject, QThread, QMetaObject, Q_ARG, QProcess, Slot -from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap -import requests -from io import BytesIO -from PIL import Image -from datetime import datetime import json -from pathlib import Path -from packaging import version import subprocess -import re +import threading +import webbrowser +from pathlib import Path + +import markdown +import requests +from packaging import version +from PySide6.QtCore import Q_ARG, QMetaObject, Qt +from PySide6.QtGui import QIcon +from PySide6.QtWidgets import ( + QApplication, + QButtonGroup, + QCheckBox, + QDialog, + QHBoxLayout, + QLabel, + QLineEdit, + QMainWindow, + QMessageBox, + QProgressBar, + QPushButton, + QStyle, + QTextEdit, + QVBoxLayout, + QWidget, +) + +from src.core.ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes +from src.core.ytsage_logging import logger +from src.core.ytsage_utils import check_ffmpeg # Import utility functions +from src.core.ytsage_utils import load_saved_path, save_path, should_check_for_auto_update +from src.core.ytsage_yt_dlp import get_yt_dlp_path, setup_ytdlp # Import the new yt-dlp functions +from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py + AboutDialog, + AutoUpdateThread, + CustomOptionsDialog, + DownloadSettingsDialog, + FFmpegCheckDialog, + PlaylistSelectionDialog, + TimeRangeDialog, + YTDLPUpdateDialog, +) +from src.gui.ytsage_gui_format_table import FormatTableMixin +from src.gui.ytsage_gui_video_info import VideoInfoMixin +from src.utils.ytsage_constants import ICON_PATH, SOUND_PATH, SUBPROCESS_CREATIONFLAGS + try: import yt_dlp + YT_DLP_AVAILABLE = True except ImportError: YT_DLP_AVAILABLE = False -import markdown + try: import pygame + PYGAME_AVAILABLE = True except ImportError: PYGAME_AVAILABLE = False -import threading -from ..core.ytsage_logging import logger -from ..core.ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes -from ..core.ytsage_utils import check_ffmpeg, load_saved_path, save_path, get_config_file_path, get_ytdlp_version, get_ffmpeg_version, should_check_for_auto_update, check_and_update_ytdlp_auto # Import utility functions -from ..core.ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp, get_ytdlp_executable_path, get_yt_dlp_path # Import the new yt-dlp functions -from .ytsage_gui_dialogs import (LogWindow, CustomCommandDialog, FFmpegCheckDialog, - YTDLPUpdateDialog, AboutDialog, SubtitleSelectionDialog, - PlaylistSelectionDialog, CookieLoginDialog, - DownloadSettingsDialog, CustomOptionsDialog, TimeRangeDialog, - SponsorBlockCategoryDialog) # Added SponsorBlockCategoryDialog -from .ytsage_gui_format_table import FormatTableMixin # Import FormatTableMixin -from .ytsage_gui_video_info import VideoInfoMixin # Import VideoInfoMixin - -class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins - def __init__(self): +class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins + def __init__(self) -> None: super().__init__() - + # Initialize logger for this class self.logger = logger.bind(module="YTSageApp") - + # Log startup warnings for missing dependencies if not YT_DLP_AVAILABLE: self.logger.warning("yt-dlp not available at startup, will be downloaded at runtime") if not PYGAME_AVAILABLE: self.logger.warning("pygame not available, audio notifications disabled") - + # Check for FFmpeg before proceeding if not check_ffmpeg(): self.show_ffmpeg_dialog() - + # Check for yt-dlp in our app's bin directory or system PATH ytdlp_path = get_yt_dlp_path() if ytdlp_path == "yt-dlp": # Not found in app dir or PATH @@ -69,49 +87,46 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.version = "4.7.0" self.check_for_updates() - + # Check for auto-updates if enabled self.check_auto_update_ytdlp() - - self.config_file = get_config_file_path() + load_saved_path(self) # Load custom icon - # Navigate from src/gui/ to project root, then to assets/Icon/ - project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) - icon_path = os.path.join(project_root, 'assets', 'Icon', 'icon.png') - if os.path.exists(icon_path): - self.setWindowIcon(QIcon(icon_path)) + if ICON_PATH.exists(): + self.setWindowIcon(QIcon(ICON_PATH.as_posix())) else: - self.logger.warning(f"Icon file not found at {icon_path}. Using default icon.") - self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) # Fallback + self.logger.warning(f"Icon file not found at {ICON_PATH}. Using default icon.") + self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) # Fallback self.signals = SignalManager() self.download_paused = False self.current_download = None self.download_cancelled = False self.save_thumbnail = False # Initialize thumbnail state - self.thumbnail_url = None # Add this to store thumbnail URL - self.all_formats = [] # Initialize all_formats + self.thumbnail_url = None # Add this to store thumbnail URL + self.all_formats = [] # Initialize all_formats self.available_subtitles = {} self.available_automatic_subtitles = {} self.is_playlist = False self.playlist_info = None self.video_info = None - self.playlist_entries = [] # Initialize playlist entries - self.selected_playlist_items = None # Initialize selection string - self.save_description = False # Initialize description state - self.embed_chapters = False # Initialize chapters state + self.playlist_entries = [] # Initialize playlist entries + self.selected_playlist_items = None # Initialize selection string + self.save_description = False # Initialize description state + self.embed_chapters = False # Initialize chapters state self.subtitle_filter = "" self.thumbnail_image = None self.video_url = "" - self.selected_subtitles = [] # Initialize selected subtitles list - self.cookie_file_path = None # Initialize cookie file path - self.speed_limit_value = None # Store speed limit value - self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) + self.selected_subtitles = [] # Initialize selected subtitles list + self.cookie_file_path = None # Initialize cookie file path + self.speed_limit_value = None # Store speed limit value + self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.download_section = None self.force_keyframes = False self.init_ui() - self.setStyleSheet(""" + self.setStyleSheet( + """ QMainWindow { background-color: #15181b; } @@ -272,37 +287,36 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { background: none; } - """) + """ + ) self.signals.update_progress.connect(self.update_progress_bar) # After adding format buttons self.video_button.clicked.connect(self.filter_formats) # Connect video button self.audio_button.clicked.connect(self.filter_formats) # Connect audio button - + # Add connections to handle video/audio mode-specific controls self.video_button.clicked.connect(self.handle_mode_change) self.audio_button.clicked.connect(self.handle_mode_change) - + # Initialize UI state based on current mode self.handle_mode_change() - + # Initialize pygame for sound notifications self.init_sound() - def init_sound(self): + def init_sound(self) -> None: """Initialize pygame mixer for sound notifications""" try: if PYGAME_AVAILABLE: pygame.mixer.init() self.sound_enabled = True - - # Get the notification sound path - # Navigate from src/gui/ to project root, then to assets/sound/ - project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) - self.notification_sound_path = os.path.join(project_root, 'assets', 'sound', 'notification.mp3') - + + # sound_path logic moved to src\utils\ytsage_constants.py + self.notification_sound_path = SOUND_PATH + # Check if the notification sound file exists - if not os.path.exists(self.notification_sound_path): + if not self.notification_sound_path.exists(): self.logger.warning(f"Notification sound file not found at: {self.notification_sound_path}") self.sound_enabled = False else: @@ -310,43 +324,39 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m else: self.sound_enabled = False self.logger.info("Sound notifications disabled - pygame not available") - + except Exception as e: self.logger.error(f"Error initializing sound: {e}") self.sound_enabled = False - def play_notification_sound(self): + def play_notification_sound(self) -> None: """Play notification sound in a separate thread to avoid blocking the UI""" if not self.sound_enabled: return - - def play_sound(): + + def play_sound() -> None: try: if PYGAME_AVAILABLE: # Load and play the sound pygame.mixer.music.load(self.notification_sound_path) pygame.mixer.music.play() - + # Wait for the sound to finish playing while pygame.mixer.music.get_busy(): pygame.time.wait(100) - + except Exception as e: self.logger.error(f"Error playing notification sound: {e}") - + # Play sound in a separate thread to avoid blocking the UI sound_thread = threading.Thread(target=play_sound) sound_thread.daemon = True sound_thread.start() - def load_saved_path(self): # Using function from ytsage_utils now - no longer needed in class - pass # Handled in class init now via ytsage_utils.load_saved_path(self) + # Removed load_saved_path and save_path methods since their functionality is now handled directly by ytsage_utils - def save_path(self, path): # Using function from ytsage_utils now - no longer needed in class - save_path(self, path) # Call the utility function - - def init_ui(self): - self.setWindowTitle(f'YTSage v{self.version}') + def init_ui(self) -> None: + self.setWindowTitle(f"YTSage v{self.version}") self.setMinimumSize(900, 750) # Main widget and layout @@ -360,7 +370,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m url_layout = QHBoxLayout() self.url_input = QLineEdit() self.url_input.setPlaceholderText("Enter YouTube video or playlist URL") - self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key + self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key self.analyze_button = QPushButton("Analyze") self.analyze_button.clicked.connect(self.analyze_url) @@ -387,7 +397,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Add video info container to main layout layout.addWidget(video_info_container) - # --- Add Playlist Info Section Directly to Main Layout --- + # --- Add Playlist Info Section Directly to Main Layout --- # Add playlist info label (initially hidden) self.playlist_info_label = self.setup_playlist_info_section() layout.addWidget(self.playlist_info_label) @@ -396,7 +406,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.playlist_select_btn = QPushButton("Select Videos...") self.playlist_select_btn.clicked.connect(self.open_playlist_selection_dialog) self.playlist_select_btn.setVisible(False) - self.playlist_select_btn.setStyleSheet(""" + self.playlist_select_btn.setStyleSheet( + """ QPushButton { padding: 6px 12px; background-color: #1d1e22; @@ -411,7 +422,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m background-color: #2a2d36; border-color: #a50000; } - """) + """ + ) layout.addWidget(self.playlist_select_btn) # --- End Playlist Info Section --- @@ -434,7 +446,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.video_button = QPushButton("Video") self.video_button.setCheckable(True) self.video_button.setChecked(True) # Set video as default - self.video_button.setStyleSheet(""" + self.video_button.setStyleSheet( + """ QPushButton { padding: 8px 15px; background-color: #1d1e22; @@ -452,14 +465,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QPushButton:checked:hover { background-color: #a50000; } - """) + """ + ) self.format_buttons.addButton(self.video_button) self.format_layout.addWidget(self.video_button) # Audio button self.audio_button = QPushButton("Audio Only") self.audio_button.setCheckable(True) - self.audio_button.setStyleSheet(""" + self.audio_button.setStyleSheet( + """ QPushButton { padding: 8px 15px; background-color: #1d1e22; @@ -477,13 +492,15 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QPushButton:checked:hover { background-color: #a50000; } - """) + """ + ) self.format_buttons.addButton(self.audio_button) self.format_layout.addWidget(self.audio_button) # Add Merge Subtitles checkbox (Moved here) self.merge_subs_checkbox = QCheckBox("Merge Subtitles") - self.merge_subs_checkbox.setStyleSheet(""" + self.merge_subs_checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -507,7 +524,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m /* Add disabled state styling if needed */ QCheckBox:disabled { color: #888888; } QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """) + """ + ) # Initially disable it, will be enabled if subtitles are selected later self.merge_subs_checkbox.setEnabled(False) self.format_layout.addWidget(self.merge_subs_checkbox) @@ -516,7 +534,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") self.save_thumbnail_checkbox.setChecked(False) self.save_thumbnail_checkbox.stateChanged.connect(self.toggle_save_thumbnail) - self.save_thumbnail_checkbox.setStyleSheet(""" + self.save_thumbnail_checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -527,14 +546,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } QCheckBox:disabled { color: #888888; } QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """) + """ + ) self.format_layout.addWidget(self.save_thumbnail_checkbox) # Add Save Description Checkbox (Moved here) self.save_description_checkbox = QCheckBox("Save Description") self.save_description_checkbox.setChecked(False) self.save_description_checkbox.stateChanged.connect(self.toggle_save_description) - self.save_description_checkbox.setStyleSheet(""" + self.save_description_checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -545,14 +566,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } QCheckBox:disabled { color: #888888; } QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """) + """ + ) self.format_layout.addWidget(self.save_description_checkbox) # Add Embed Chapters Checkbox self.embed_chapters_checkbox = QCheckBox("Embed Chapters") self.embed_chapters_checkbox.setChecked(False) self.embed_chapters_checkbox.stateChanged.connect(self.toggle_embed_chapters) - self.embed_chapters_checkbox.setStyleSheet(""" + self.embed_chapters_checkbox.setStyleSheet( + """ QCheckBox { color: #ffffff; padding: 5px; @@ -563,7 +586,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } QCheckBox:disabled { color: #888888; } QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """) + """ + ) self.format_layout.addWidget(self.embed_chapters_checkbox) self.format_layout.addStretch() @@ -578,34 +602,34 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m download_layout = QHBoxLayout() # Replace the two separate buttons with a single Custom Options button - self.custom_options_btn = QPushButton('Custom Options') + self.custom_options_btn = QPushButton("Custom Options") self.custom_options_btn.clicked.connect(self.show_custom_options) - self.about_btn = QPushButton('About') + self.about_btn = QPushButton("About") self.about_btn.clicked.connect(self.show_about_dialog) # Add new Time Range button - self.time_range_btn = QPushButton('Trim Video') + self.time_range_btn = QPushButton("Trim Video") self.time_range_btn.clicked.connect(self.show_time_range_dialog) - - self.update_ytdlp_btn = QPushButton('Update yt-dlp') + + self.update_ytdlp_btn = QPushButton("Update yt-dlp") self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) # --- Rename Path Button to Settings Button --- - self.settings_button = QPushButton("Download Settings") # Renamed button - self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method - self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: None") # Update initial tooltip + self.settings_button = QPushButton("Download Settings") # Renamed button + self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method + self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: None") # Update initial tooltip # --- End Settings Button --- - self.download_btn = QPushButton('Download') + self.download_btn = QPushButton("Download") self.download_btn.clicked.connect(self.start_download) # Add pause and cancel buttons - self.pause_btn = QPushButton('Pause') + self.pause_btn = QPushButton("Pause") self.pause_btn.clicked.connect(self.toggle_pause) self.pause_btn.setVisible(False) # Hidden initially - self.cancel_btn = QPushButton('Cancel') + self.cancel_btn = QPushButton("Cancel") self.cancel_btn.clicked.connect(self.cancel_download) self.cancel_btn.setVisible(False) # Hidden initially @@ -624,7 +648,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Progress section with improved styling progress_layout = QVBoxLayout() self.progress_bar = QProgressBar() - self.progress_bar.setStyleSheet(""" + self.progress_bar.setStyleSheet( + """ QProgressBar { border: 2px solid #3d3d3d; border-radius: 4px; @@ -637,30 +662,35 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m background-color: #ff0000; border-radius: 2px; } - """) + """ + ) progress_layout.addWidget(self.progress_bar) # Add download details label with improved styling self.download_details_label = QLabel() self.download_details_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.download_details_label.setStyleSheet(""" + self.download_details_label.setStyleSheet( + """ QLabel { color: #cccccc; font-size: 12px; padding: 5px; } - """) + """ + ) progress_layout.addWidget(self.download_details_label) - self.status_label = QLabel('Ready') + self.status_label = QLabel("Ready") self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.status_label.setStyleSheet(""" + self.status_label.setStyleSheet( + """ QLabel { color: #cccccc; font-size: 12px; padding: 5px; } - """) + """ + ) progress_layout.addWidget(self.status_label) layout.addLayout(progress_layout) @@ -670,24 +700,30 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.signals.update_status.connect(self.status_label.setText) self.signals.update_progress.connect(self.update_progress_bar) - def analyze_url(self): + # Connect new signals + self.signals.playlist_info_label_visible.connect(self.playlist_info_label.setVisible) + self.signals.playlist_info_label_text.connect(self.playlist_info_label.setText) + self.signals.selected_subs_label_text.connect(self.selected_subs_label.setText) + self.signals.playlist_select_btn_visible.connect(self.playlist_select_btn.setVisible) + self.signals.playlist_select_btn_text.connect(self.playlist_select_btn.setText) + + def analyze_url(self) -> None: url = self.url_input.text().strip() if not url: self.signals.update_status.emit("Invalid URL or please enter a URL.") return self.signals.update_status.emit("Analyzing (0%)... Preparing request") - import threading # Import threading here as it is only used in GUI and downloader threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() - def _analyze_url_thread(self, url): + def _analyze_url_thread(self, url) -> None: try: self.signals.update_status.emit("Analyzing (15%)... Extracting basic info") # Clean up the URL to handle both playlist and video URLs - if 'list=' in url and 'watch?v=' in url: - playlist_id = url.split('list=')[1].split('&')[0] - url = f'https://www.youtube.com/playlist?list={playlist_id}' + if "list=" in url and "watch?v=" in url: + playlist_id = url.split("list=")[1].split("&")[0] + url = f"https://www.youtube.com/playlist?list={playlist_id}" # Check if yt-dlp Python module is available if not YT_DLP_AVAILABLE: @@ -697,18 +733,19 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Initial extraction with basic options - suppress warnings here too ydl_opts = { - 'quiet': False, - 'no_warnings': True, # <-- Suppress warnings for initial check - 'extract_flat': True, - 'force_generic_extractor': False, - 'ignoreerrors': True, - 'no_color': True, - 'verbose': True + "quiet": False, + "no_warnings": True, # <-- Suppress warnings for initial check + "extract_flat": True, + "force_generic_extractor": False, + "ignoreerrors": True, + "no_color": True, + "verbose": True, + "cookiefile": None, } # Add cookies argument if cookie file path is set if self.cookie_file_path: - ydl_opts['cookiefile'] = self.cookie_file_path + ydl_opts["cookiefile"] = self.cookie_file_path with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: @@ -723,31 +760,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Configure options for detailed extraction (keep other options) # Add no_warnings here as well, as this is where detailed info is fetched ydl_opts_detail = { - 'extract_flat': False, - 'format': None, - 'writesubtitles': True, - 'allsubtitles': True, - 'writeautomaticsub': True, - 'playliststart': 1, - 'playlistend': 1, - 'youtube_include_dash_manifest': True, - 'youtube_include_hls_manifest': True, - 'no_warnings': True # <-- Add flag here for detailed extraction + "extract_flat": False, + "format": None, + "writesubtitles": True, + "allsubtitles": True, + "writeautomaticsub": True, + "playliststart": 1, + "playlistend": 1, + "youtube_include_dash_manifest": True, + "youtube_include_hls_manifest": True, + "no_warnings": True, # <-- Add flag here for detailed extraction } # Add cookies argument if cookie file path is set if self.cookie_file_path: - ydl_opts_detail['cookiefile'] = self.cookie_file_path + ydl_opts_detail["cookiefile"] = self.cookie_file_path # Use a separate options dict for the detailed extraction with yt_dlp.YoutubeDL(ydl_opts_detail) as ydl_detail: try: self.signals.update_status.emit("Analyzing (45%)... Processing video data") - if basic_info.get('_type') == 'playlist': + if basic_info.get("_type") == "playlist": self.is_playlist = True self.playlist_info = basic_info - self.selected_playlist_items = None # Reset selection for new playlist - self.playlist_entries = [entry for entry in basic_info.get('entries', []) if entry] # Store entries + self.selected_playlist_items = None # Reset selection for new playlist + self.playlist_entries = [entry for entry in basic_info.get("entries", []) if entry] # Store entries # Ensure there are entries before proceeding if not self.playlist_entries: @@ -755,95 +792,91 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Extract detailed info for the FIRST video in the playlist # This provides formats/subs for the UI, assuming consistency - first_video_url = self.playlist_entries[0].get('url') + first_video_url = self.playlist_entries[0].get("url") if not first_video_url: raise Exception("Could not get URL for the first playlist video.") try: # Use the ydl_detail instance with no_warnings self.video_info = ydl_detail.extract_info(first_video_url, download=False) except Exception as first_video_error: - raise Exception(f"Failed to extract info for the first playlist video: {first_video_error}") + raise Exception(f"Failed to extract info for the first playlist video: {first_video_error}") # Update playlist info label text (remains the same) - playlist_text = (f"Playlist: {basic_info.get('title', 'Unknown Playlist')} | " - f"{len(self.playlist_entries)} videos") # Simplified label - QMetaObject.invokeMethod( - self.playlist_info_label, "setText", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, playlist_text) - ) - QMetaObject.invokeMethod( - self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True) - ) + playlist_text = ( + f"Playlist: {basic_info.get('title', 'Unknown Playlist')} | " f"{len(self.playlist_entries)} videos" + ) # Simplified label + + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_info_label_text.emit(playlist_text) + self.signals.playlist_info_label_visible.emit(True) # Show playlist selection BUTTON - QMetaObject.invokeMethod( - self, # Target object is the YTSageApp instance - 'update_playlist_button_text', # Name of the slot - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, "Select Videos... (All selected)") # Argument for the slot - ) - QMetaObject.invokeMethod( - self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True) - ) - else: # Single video + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_select_btn_text.emit("Select Videos... (All selected)") + self.signals.playlist_select_btn_visible.emit(True) + + else: # Single video self.is_playlist = False # Use ydl_detail instance here too for consistency self.video_info = ydl_detail.extract_info(url, download=False) - self.playlist_entries = [] # Clear entries - self.selected_playlist_items = None # Clear selection - + self.playlist_entries = [] # Clear entries + self.selected_playlist_items = None # Clear selection + # Hide playlist info label and button - QMetaObject.invokeMethod( - self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, False) - ) - QMetaObject.invokeMethod( - self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, False) - ) + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) # Verify we have format information - if not self.video_info or 'formats' not in self.video_info: + if not self.video_info or "formats" not in self.video_info: self.logger.debug(f"video_info keys: {self.video_info.keys() if self.video_info else 'None'}") raise Exception("No format information available") self.signals.update_status.emit("Analyzing (60%)... Processing formats") - self.all_formats = self.video_info['formats'] + self.all_formats = self.video_info["formats"] # Update UI self.update_video_info(self.video_info) # Update thumbnail self.signals.update_status.emit("Analyzing (75%)... Loading thumbnail") - thumbnail_url = None - if self.is_playlist: - # Try to get thumbnail from playlist info first - thumbnail_url = self.playlist_info.get('thumbnail') - + # Try to get thumbnail from playlist info first # Fallback to video thumbnail if playlist thumbnail not found or not a playlist - if not thumbnail_url: - thumbnail_url = self.video_info.get('thumbnail') - + thumbnail_url = (self.playlist_info or {}).get("thumbnail") or (self.video_info or {}).get("thumbnail") + self.download_thumbnail(thumbnail_url) # Save thumbnail if enabled - use the stored VIDEO URL if self.save_thumbnail: - self.download_thumbnail_file(self.video_url, self.path_input.text()) + self.download_thumbnail_file( + self.video_url, self.path_input.text() # type: ignore[reportAttributeAccessIssue] + ) # --- Subtitle Handling --- self.signals.update_status.emit("Analyzing (85%)... Processing subtitles") # Clear previous selections when analyzing a new video self.selected_subtitles = [] - self.available_subtitles = self.video_info.get('subtitles', {}) - self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) + self.available_subtitles = self.video_info.get("subtitles", {}) + self.available_automatic_subtitles = self.video_info.get("automatic_captions", {}) # Update the UI elements related to subtitle selection state - QMetaObject.invokeMethod(self.selected_subs_label, "setText", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "0 selected")) - # QMetaObject.invokeMethod(self.subtitle_select_btn, "setProperty", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "subtitlesSelected"), Q_ARG(bool, False)) # <-- COMMENT OUT THIS LINE - # REMOVE the merge_subs_checkbox update call from here - # QMetaObject.invokeMethod(self.merge_subs_checkbox, "setEnabled", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) + # update signal method from QMetaObject.invokeMethod to signals + self.signals.selected_subs_label_text.emit("0 selected") + # QMetaObject.invokeMethod( + # self.subtitle_select_btn, + # b"setProperty", + # Qt.ConnectionType.QueuedConnection, + # Q_ARG(str, b"subtitlesSelected"), + # Q_ARG(bool, False), + # ) # <-- COMMENT OUT THIS LINE + + # REMOVE the merge_subs_checkbox update call from here + # QMetaObject.invokeMethod( + # self.merge_subs_checkbox, + # b"setEnabled", + # Qt.ConnectionType.QueuedConnection, + # Q_ARG(bool, False), + # ) # Update format table self.signals.update_status.emit("Analyzing (95%)... Updating format table") @@ -854,42 +887,37 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.signals.update_status.emit("Analysis complete!") except Exception as e: - self.logger.error(f"Detailed extraction failed: {str(e)}", exc_info=True) + logger.error(f"Detailed extraction failed: {e}", exc_info=True) raise Exception(f"Failed to extract video details: {str(e)}") except Exception as e: - error_message = str(e) - self.logger.error(f"Error in analysis: {error_message}", exc_info=True) - self.signals.update_status.emit(f"Error: {error_message}") + self.logger.error(f"Error in analysis: {e}", exc_info=True) + self.signals.update_status.emit(f"Error: {e}") # Ensure playlist UI is hidden on error too - QMetaObject.invokeMethod(self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) - QMetaObject.invokeMethod(self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, Q_ARG(bool, False)) + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) - def paste_url(self): + def paste_url(self) -> None: clipboard = QApplication.clipboard() self.url_input.setText(clipboard.text()) - def update_ytdlp(self): + def update_ytdlp(self) -> None: """Show the yt-dlp update dialog with proper progress tracking""" # Make the dialog non-modal to prevent blocking the main UI dialog = YTDLPUpdateDialog(self) dialog.setModal(False) # Make it non-modal dialog.show() # Use show() instead of exec() to avoid blocking - def show_download_settings_dialog(self): # Renamed method - dialog = DownloadSettingsDialog( - self.last_path, - self.speed_limit_value, - self.speed_limit_unit_index, - self - ) + def show_download_settings_dialog(self) -> None: # Renamed method + dialog = DownloadSettingsDialog(self.last_path, self.speed_limit_value, self.speed_limit_unit_index, self) if dialog.exec(): # Update Path new_path = dialog.get_selected_path() path_changed = False if new_path != self.last_path: self.last_path = new_path - self.save_path(self.last_path) # Save the updated path + save_path(self, self.last_path) # Save the updated path path_changed = True self.logger.info(f"Download path updated to: {self.last_path}") @@ -901,28 +929,30 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.speed_limit_value = new_limit_value self.speed_limit_unit_index = new_unit_index limit_changed = True - self.logger.info(f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}") + self.logger.info( + f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}" + ) # Update Tooltip if anything changed if path_changed or limit_changed: limit_text = "None" if self.speed_limit_value: - limit_text = f"{self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index]}" + limit_text = f"{self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index]}" self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: {limit_text}") - def start_download(self): + def start_download(self) -> None: url = self.url_input.text().strip() # --- Use self.last_path instead of reading from QLineEdit --- - path = self.last_path + path = self.last_path if not url or not path: # More specific error message if path is missing if not path: - self.status_label.setText("Please set a download path using 'Change Path'") + self.status_label.setText("Please set a download path using 'Change Path'") elif not url: - self.status_label.setText("Please enter a URL") + self.status_label.setText("Please enter a URL") else: - self.status_label.setText("Please enter URL and set download path") + self.status_label.setText("Please enter URL and set download path") return # --- End Path Change --- @@ -937,34 +967,34 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.progress_bar.setValue(0) # Get resolution for filename - resolution = 'default' + resolution = "default" for checkbox in self.format_checkboxes: if checkbox.isChecked(): - parts = checkbox.text().split('•') + parts = checkbox.text().split("•") if len(parts) >= 1: resolution = parts[0].strip().lower() break # Get subtitle selection if available - Now get the list - selected_subs = self.selected_subtitles if hasattr(self, 'selected_subtitles') else [] + selected_subs = self.selected_subtitles if hasattr(self, "selected_subtitles") else [] # Get playlist selection IF in playlist mode - USE STORED VALUE playlist_items_to_download = None if self.is_playlist: - playlist_items_to_download = self.selected_playlist_items # Use the stored selection string + playlist_items_to_download = self.selected_playlist_items # Use the stored selection string # --- Use stored speed limit values --- rate_limit = None if self.speed_limit_value: try: limit_value = float(self.speed_limit_value) - if self.speed_limit_unit_index == 0: # KB/s + if self.speed_limit_unit_index == 0: # KB/s rate_limit = f"{int(limit_value * 1024)}" - elif self.speed_limit_unit_index == 1: # MB/s + elif self.speed_limit_unit_index == 1: # MB/s rate_limit = f"{int(limit_value * 1024 * 1024)}" except ValueError: # Use a signal to show error in status bar, similar to URL/Path errors - self.signals.update_status.emit("❌ Error: Invalid speed limit value set in settings.") + self.signals.update_status.emit("❌ Error: Invalid speed limit value set in settings.") return # --- End speed limit update --- @@ -978,25 +1008,24 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.logger.warning(f"Thumbnail download failed: {e}") # Optionally inform the user, but don't stop the main download - # Create download thread with resolution in output template self.download_thread = DownloadThread( url=url, path=path, format_id=format_id, - subtitle_langs=selected_subs, # Pass the list of selected subs - is_playlist=self.is_playlist, # Use the flag directly + subtitle_langs=selected_subs, # Pass the list of selected subs + is_playlist=self.is_playlist, # Use the flag directly merge_subs=self.merge_subs_checkbox.isChecked(), enable_sponsorblock=len(self.selected_sponsorblock_categories) > 0, sponsorblock_categories=self.selected_sponsorblock_categories, resolution=resolution, - playlist_items=playlist_items_to_download, # Pass the selection string - save_description=self.save_description, # Pass the new flag here - embed_chapters=self.embed_chapters, # Pass the embed chapters flag - cookie_file=self.cookie_file_path, # Pass the cookie file path - rate_limit=rate_limit, # Pass the calculated rate limit - download_section=self.download_section, # Pass the download section - force_keyframes=self.force_keyframes # Pass the force keyframes setting + playlist_items=playlist_items_to_download, # Pass the selection string + save_description=self.save_description, # Pass the new flag here + embed_chapters=self.embed_chapters, # Pass the embed chapters flag + cookie_file=self.cookie_file_path, # Pass the cookie file path + rate_limit=rate_limit, # Pass the calculated rate limit + download_section=self.download_section, # Pass the download section + force_keyframes=self.force_keyframes, # Pass the force keyframes setting ) # Connect signals @@ -1012,7 +1041,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.download_cancelled = False # Show pause/cancel buttons - self.pause_btn.setText('Pause') + self.pause_btn.setText("Pause") self.pause_btn.setVisible(True) self.cancel_btn.setVisible(True) @@ -1021,41 +1050,41 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.download_thread.start() self.toggle_download_controls(False) - def download_finished(self): + def download_finished(self) -> None: self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.progress_bar.setValue(100) - + # Set completion message based on the file type of last downloaded file if self.download_thread and self.download_thread.current_filename: - filename = self.download_thread.current_filename - ext = os.path.splitext(filename)[1].lower() - + filename = Path(self.download_thread.current_filename) + ext = filename.suffix.lower() + # Video file extensions - if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: self.status_label.setText(f"✅ Video download completed!") # Audio file extensions - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: self.status_label.setText(f"✅ Audio download completed!") # Subtitle file extensions - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + elif ext in [".vtt", ".srt", ".ass", ".ssa"]: self.status_label.setText(f"✅ Subtitle download completed!") # Default case else: self.status_label.setText("✅ Download completed!") - + # Play notification sound when download completes self.play_notification_sound() - def download_error(self, error_message): + def download_error(self, error_message) -> None: self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.status_label.setText(f"Error: {error_message}") - self.download_details_label.setText("") # Clear details label on error + self.download_details_label.setText("") # Clear details label on error - def update_progress_bar(self, value): + def update_progress_bar(self, value) -> None: try: # Ensure the value is an integer int_value = int(value) @@ -1063,70 +1092,70 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m except Exception as e: self.logger.error(f"Progress bar update error: {str(e)}") - def toggle_pause(self): + def toggle_pause(self) -> None: if self.current_download: self.current_download.paused = not self.current_download.paused if self.current_download.paused: - self.pause_btn.setText('Resume') + self.pause_btn.setText("Resume") self.signals.update_status.emit("Download paused") else: - self.pause_btn.setText('Pause') + self.pause_btn.setText("Pause") self.signals.update_status.emit("Download resumed") - def check_for_updates(self): + def check_for_updates(self) -> None: try: # Get the latest release info from GitHub response = requests.get( "https://api.github.com/repos/oop7/YTSage/releases/latest", - headers={"Accept": "application/vnd.github.v3+json"} + headers={"Accept": "application/vnd.github.v3+json"}, ) response.raise_for_status() latest_release = response.json() - latest_version = latest_release["tag_name"].lstrip('v') + latest_version = latest_release["tag_name"].lstrip("v") # Compare versions if version.parse(latest_version) > version.parse(self.version): - changelog = latest_release.get("body", "No changelog available.") # Get changelog body - self.show_update_dialog(latest_version, latest_release["html_url"], changelog) # Pass changelog + changelog = latest_release.get("body", "No changelog available.") # Get changelog body + self.show_update_dialog(latest_version, latest_release["html_url"], changelog) # Pass changelog except Exception as e: self.logger.error(f"Failed to check for updates: {str(e)}", exc_info=True) - def show_update_dialog(self, latest_version, release_url, changelog): # Added changelog parameter + def show_update_dialog(self, latest_version, release_url, changelog) -> None: # Added changelog parameter msg = QDialog(self) msg.setWindowTitle("Update Available") - msg.setMinimumWidth(600) # Increased width for better layout - msg.setMinimumHeight(450) # Increased height for better spacing - + msg.setMinimumWidth(600) # Increased width for better layout + msg.setMinimumHeight(450) # Increased height for better spacing + # Set custom icon directly try: if self.windowIcon() and not self.windowIcon().isNull(): msg.setWindowIcon(self.windowIcon()) else: # Fallback to icon file - icon_path = os.path.join(os.path.dirname(__file__), '..', '..', 'assets', 'Icon', 'icon.png') - if os.path.exists(icon_path): - msg.setWindowIcon(QIcon(icon_path)) + # icon_path logic moved to src\utils\ytsage_constants.py + if ICON_PATH.exists(): + msg.setWindowIcon(QIcon(ICON_PATH.as_posix())) except Exception: pass layout = QVBoxLayout(msg) - layout.setSpacing(15) # Increased spacing for better layout - layout.setContentsMargins(20, 20, 20, 20) # Added margins + layout.setSpacing(15) # Increased spacing for better layout + layout.setContentsMargins(20, 20, 20, 20) # Added margins # Header with icon and title header_layout = QHBoxLayout() - + # Add update icon icon_label = QLabel() icon_label.setPixmap(self.style().standardIcon(QStyle.StandardPixmap.SP_BrowserReload).pixmap(32, 32)) header_layout.addWidget(icon_label) - + # Title title_label = QLabel("

Update Available

") header_layout.addWidget(title_label) header_layout.addStretch() - + layout.addLayout(header_layout) # Update message with better formatting @@ -1138,7 +1167,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m f"" ) message_label.setWordWrap(True) - message_label.setStyleSheet(""" + message_label.setStyleSheet( + """ QLabel { background-color: #1d1e22; border: 1px solid #3d3d3d; @@ -1146,7 +1176,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m padding: 15px; margin: 5px 0; } - """) + """ + ) layout.addWidget(message_label) # Changelog Section @@ -1158,13 +1189,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m changelog_text.setReadOnly(True) # Convert Markdown to HTML and set it try: - html_changelog = markdown.markdown(changelog, extensions=['markdown.extensions.tables', 'markdown.extensions.fenced_code']) + html_changelog = markdown.markdown( + changelog, + extensions=[ + "markdown.extensions.tables", + "markdown.extensions.fenced_code", + ], + ) changelog_text.setHtml(html_changelog) except Exception as e: self.logger.warning(f"Error converting changelog markdown to HTML: {e}") - changelog_text.setPlainText(changelog) # Fallback to plain text + changelog_text.setPlainText(changelog) # Fallback to plain text - changelog_text.setStyleSheet(""" + changelog_text.setStyleSheet( + """ QTextEdit { background-color: #1d1e22; border: 2px solid #3d3d3d; @@ -1189,8 +1227,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QScrollBar::handle:vertical:hover { background: #505050; } - """) - changelog_text.setMaximumHeight(180) # Limit height + """ + ) + changelog_text.setMaximumHeight(180) # Limit height layout.addWidget(changelog_text) # Buttons with better styling @@ -1199,7 +1238,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m download_btn = QPushButton("Download Update") download_btn.clicked.connect(lambda: self.open_release_page(release_url)) - download_btn.setStyleSheet(""" + download_btn.setStyleSheet( + """ QPushButton { padding: 10px 20px; background-color: #c90000; @@ -1216,11 +1256,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QPushButton:pressed { background-color: #800000; } - """) + """ + ) remind_btn = QPushButton("Remind Me Later") remind_btn.clicked.connect(msg.close) - remind_btn.setStyleSheet(""" + remind_btn.setStyleSheet( + """ QPushButton { padding: 10px 20px; background-color: #3d3d3d; @@ -1238,7 +1280,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QPushButton:pressed { background-color: #2d2d2d; } - """) + """ + ) button_layout.addStretch() button_layout.addWidget(download_btn) @@ -1246,7 +1289,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m layout.addLayout(button_layout) # Style the dialog with improved theme matching - msg.setStyleSheet(""" + msg.setStyleSheet( + """ QDialog { background-color: #15181b; border: 1px solid #3d3d3d; @@ -1256,14 +1300,15 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m color: #ffffff; font-size: 12px; } - """) + """ + ) msg.show() def open_release_page(self, url): webbrowser.open(url) - def check_auto_update_ytdlp(self): + def check_auto_update_ytdlp(self) -> None: """Check and perform auto-update for yt-dlp if enabled and due.""" try: # Check if auto-update should be performed @@ -1272,30 +1317,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m # Perform the auto-update in a non-blocking way # We don't want to block the UI startup for this from PySide6.QtCore import QTimer + QTimer.singleShot(2000, self._perform_auto_update) # Delay 2 seconds after startup except Exception as e: self.logger.error(f"Error in auto-update check: {e}", exc_info=True) - def _perform_auto_update(self): + def _perform_auto_update(self) -> None: """Actually perform the auto-update check and update if needed in a background thread.""" try: # Create and start the auto-update thread to avoid blocking the UI - from .ytsage_gui_dialogs import AutoUpdateThread + self.auto_update_thread = AutoUpdateThread() self.auto_update_thread.update_finished.connect(self._on_auto_update_finished) self.auto_update_thread.start() except Exception as e: self.logger.error(f"Error starting auto-update thread: {e}", exc_info=True) - def _on_auto_update_finished(self, success, message): + def _on_auto_update_finished(self, success, message) -> None: """Handle auto-update completion.""" if success: self.logger.info(f"Auto-update completed successfully: {message}") else: self.logger.warning(f"Auto-update completed with issues: {message}") - + # Clean up the thread reference and ensure it's properly finished - if hasattr(self, 'auto_update_thread'): + if hasattr(self, "auto_update_thread"): # Disconnect all signals to prevent further callbacks self.auto_update_thread.update_finished.disconnect() # Make sure thread is finished @@ -1303,20 +1349,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.auto_update_thread.quit() self.auto_update_thread.wait(1000) # Wait up to 1 second # Remove the reference - delattr(self, 'auto_update_thread') + delattr(self, "auto_update_thread") - def closeEvent(self, event): + def closeEvent(self, event) -> None: """Handle application close event to ensure proper cleanup of background threads.""" try: # Stop the auto-update thread if it's running - if hasattr(self, 'auto_update_thread') and self.auto_update_thread.isRunning(): + if hasattr(self, "auto_update_thread") and self.auto_update_thread.isRunning(): self.logger.info("Stopping auto-update thread...") self.auto_update_thread.quit() if not self.auto_update_thread.wait(3000): # Wait up to 3 seconds for graceful shutdown self.logger.warning("Force terminating auto-update thread...") self.auto_update_thread.terminate() self.auto_update_thread.wait(1000) # Wait for termination - + # Cancel any running downloads if self.current_download and self.current_download.isRunning(): self.logger.info("Canceling running download...") @@ -1325,14 +1371,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.logger.warning("Force terminating download thread...") self.current_download.terminate() self.current_download.wait(1000) # Wait for termination - + self.logger.info("Application closing...") event.accept() except Exception as e: self.logger.error(f"Error during application close: {e}", exc_info=True) event.accept() # Accept the close event anyway - def show_custom_options(self): + def show_custom_options(self) -> None: dialog = CustomOptionsDialog(self) if dialog.exec(): # Handle cookies if set @@ -1340,38 +1386,42 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m if cookie_path: self.cookie_file_path = cookie_path self.logger.info(f"Selected cookie file: {self.cookie_file_path}") - QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") + QMessageBox.information( + self, + "Cookie File Selected", + f"Cookie file selected: {self.cookie_file_path}", + ) else: # Don't clear the cookie path if nothing was selected pass - def show_about_dialog(self): # ADDED METHOD HERE + def show_about_dialog(self) -> None: # ADDED METHOD HERE dialog = AboutDialog(self) dialog.exec() - def file_already_exists(self, filename): + def file_already_exists(self, filename) -> None: """Handle case when file already exists - simplified version""" self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) self.progress_bar.setValue(100) - + # Determine file type based on extension - ext = os.path.splitext(filename)[1].lower() - + ext = Path(filename).suffix.lower() + # Video file extensions - if ext in ['.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv']: + if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: self.status_label.setText(f"⚠️ Video file already exists") # Audio file extensions - elif ext in ['.mp3', '.m4a', '.aac', '.wav', '.ogg', '.opus', '.flac']: + elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: self.status_label.setText(f"⚠️ Audio file already exists") # Subtitle file extensions - elif ext in ['.vtt', '.srt', '.ass', '.ssa']: + elif ext in [".vtt", ".srt", ".ass", ".ssa"]: self.status_label.setText(f"⚠️ Subtitle file already exists") # Default case else: self.status_label.setText("⚠️ File already exists") - + # Show a simple message dialog msg_box = QMessageBox() msg_box.setIcon(QMessageBox.Icon.Information) @@ -1379,12 +1429,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m msg_box.setText(f"The file already exists:\n{filename}") msg_box.setInformativeText("This video has already been downloaded.") msg_box.setStandardButtons(QMessageBox.StandardButton.Ok) - + # Set the window icon to match the main application msg_box.setWindowIcon(self.windowIcon()) - + # Style the dialog - msg_box.setStyleSheet(""" + msg_box.setStyleSheet( + """ QMessageBox { background-color: #2b2b2b; } @@ -1403,151 +1454,155 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QPushButton:hover { background-color: #cc0000; } - """) - + """ + ) + msg_box.exec() # --- Add Toggle Methods Here --- - def toggle_save_thumbnail(self, state): - self.logger.debug(f"Raw thumbnail state received: {state}") # Debug: Print raw state - self.save_thumbnail = bool(state == 2) # Compare state directly with 2 (Checked state) + def toggle_save_thumbnail(self, state) -> None: + self.logger.debug(f"Raw thumbnail state received: {state}") # Debug: Print raw state + self.save_thumbnail = bool(state == 2) # Compare state directly with 2 (Checked state) self.logger.debug(f"Save thumbnail toggled: {self.save_thumbnail}") - def toggle_save_description(self, state): - self.logger.debug(f"Raw description state received: {state}") # Debug: Print raw state - self.save_description = bool(state == 2) # Compare state directly with 2 (Checked state) + def toggle_save_description(self, state) -> None: + self.logger.debug(f"Raw description state received: {state}") # Debug: Print raw state + self.save_description = bool(state == 2) # Compare state directly with 2 (Checked state) self.logger.debug(f"Save description toggled: {self.save_description}") - - def toggle_embed_chapters(self, state): - self.logger.debug(f"Raw chapters state received: {state}") # Debug: Print raw state - self.embed_chapters = bool(state == 2) # Compare state directly with 2 (Checked state) + + def toggle_embed_chapters(self, state) -> None: + self.logger.debug(f"Raw chapters state received: {state}") # Debug: Print raw state + self.embed_chapters = bool(state == 2) # Compare state directly with 2 (Checked state) self.logger.debug(f"Embed chapters toggled: {self.embed_chapters}") + # --- End Toggle Methods --- - def open_playlist_selection_dialog(self): + def open_playlist_selection_dialog(self) -> None: if not self.is_playlist or not self.playlist_entries: self.logger.info("No playlist data available to select from.") return dialog = PlaylistSelectionDialog(self.playlist_entries, self.selected_playlist_items, self) - + if dialog.exec(): self.selected_playlist_items = dialog.get_selected_items_string() self.logger.info(f"Playlist items selected: {self.selected_playlist_items}") # Update button text (this call is safe as it happens in the main thread after dialog closes) if self.selected_playlist_items is None: - button_text = "Select Videos... (All selected)" + button_text = "Select Videos... (All selected)" else: selected_indices = dialog._parse_selection_string(self.selected_playlist_items) count = len(selected_indices) - display_text = self.selected_playlist_items if len(self.selected_playlist_items) < 30 else f"{count} videos selected" + display_text = ( + self.selected_playlist_items if len(self.selected_playlist_items) < 30 else f"{count} videos selected" + ) button_text = f"Select Videos... ({display_text})" - self.playlist_select_btn.setText(button_text) # Direct call is fine here - - # --- New Slot for Updating Playlist Button Text --- - @Slot(str) - def update_playlist_button_text(self, text): - """Safely updates the playlist selection button's text from any thread.""" - if hasattr(self, 'playlist_select_btn'): - self.playlist_select_btn.setText(text) - # --- End New Slot --- + self.playlist_select_btn.setText(button_text) # Direct call is fine here - def toggle_download_controls(self, enabled=True): + # --- New Slot for Updating Playlist Button Text --- + # moved to SignalManager as Signal and added to init_ui() method. + + def toggle_download_controls(self, enabled=True) -> None: """Enable or disable download-related controls""" self.url_input.setEnabled(enabled) self.analyze_button.setEnabled(enabled) self.format_table.setEnabled(enabled) # Changed from format_scroll_area to format_table self.download_btn.setEnabled(enabled) - if hasattr(self, 'subtitle_combo'): - self.subtitle_combo.setEnabled(enabled) + if hasattr(self, "subtitle_combo"): + self.subtitle_combo.setEnabled(enabled) # type: ignore[reportAttributeAccessIssue] self.video_button.setEnabled(enabled) self.audio_button.setEnabled(enabled) - if hasattr(self, 'sponsorblock_select_btn'): + if hasattr(self, "sponsorblock_select_btn"): self.sponsorblock_select_btn.setEnabled(enabled) - self.merge_subs_checkbox.setEnabled(enabled) # Enable/disable merge subs checkbox - self.custom_options_btn.setEnabled(enabled) # Enable/disable custom options button - self.update_ytdlp_btn.setEnabled(enabled) # Enable/disable update button - self.time_range_btn.setEnabled(enabled) # Enable/disable time range button - self.settings_button.setEnabled(enabled) # Enable/disable settings button + self.merge_subs_checkbox.setEnabled(enabled) # Enable/disable merge subs checkbox + self.custom_options_btn.setEnabled(enabled) # Enable/disable custom options button + self.update_ytdlp_btn.setEnabled(enabled) # Enable/disable update button + self.time_range_btn.setEnabled(enabled) # Enable/disable time range button + self.settings_button.setEnabled(enabled) # Enable/disable settings button # Clear progress/status when controls are re-enabled if enabled: self.progress_bar.setValue(0) self.status_label.setText("Ready") - self.download_details_label.setText("") # Clear details label + self.download_details_label.setText("") # Clear details label - def handle_format_selection(self, button): + def handle_format_selection(self, button) -> None: # Update formats self.filter_formats() - def handle_mode_change(self): + def handle_mode_change(self) -> None: """Enable or disable features based on video/audio mode""" if self.audio_button.isChecked(): # In Audio Only mode, disable video-specific features - if hasattr(self, 'sponsorblock_select_btn'): + if hasattr(self, "sponsorblock_select_btn"): self.sponsorblock_select_btn.setEnabled(False) - if hasattr(self, 'selected_sponsorblock_categories'): + if hasattr(self, "selected_sponsorblock_categories"): self.selected_sponsorblock_categories = [] # Clear selection when disabled - if hasattr(self, '_update_sponsorblock_display'): + if hasattr(self, "_update_sponsorblock_display"): self._update_sponsorblock_display() self.merge_subs_checkbox.setEnabled(False) self.merge_subs_checkbox.setChecked(False) # Uncheck when disabled - + # Allow subtitle selection in Audio Only mode too - if hasattr(self, 'subtitle_select_btn'): + if hasattr(self, "subtitle_select_btn"): self.subtitle_select_btn.setEnabled(True) else: # In Video mode, enable video-specific features - if hasattr(self, 'sponsorblock_select_btn'): + if hasattr(self, "sponsorblock_select_btn"): self.sponsorblock_select_btn.setEnabled(True) # Don't automatically restore categories - let user choose when they open the dialog - + # Enable merge_subs only if subtitles are selected - has_subs_selected = len(getattr(self, 'selected_subtitles', [])) > 0 + has_subs_selected = len(getattr(self, "selected_subtitles", [])) > 0 self.merge_subs_checkbox.setEnabled(has_subs_selected) - + # Re-enable subtitle selection button in Video mode - if hasattr(self, 'subtitle_select_btn'): + if hasattr(self, "subtitle_select_btn"): self.subtitle_select_btn.setEnabled(True) # Keep these methods for backwards compatibility - they just call the new dialog now - def show_custom_command(self): + def show_custom_command(self) -> None: dialog = CustomOptionsDialog(self) dialog.tab_widget.setCurrentIndex(1) # Select the Custom Command tab dialog.exec() - - def show_cookie_login_dialog(self): + + def show_cookie_login_dialog(self) -> None: dialog = CustomOptionsDialog(self) dialog.tab_widget.setCurrentIndex(0) # Select the Cookie Login tab if dialog.exec(): self.cookie_file_path = dialog.get_cookie_file_path() if self.cookie_file_path: self.logger.info(f"Selected cookie file: {self.cookie_file_path}") - QMessageBox.information(self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}") + QMessageBox.information( + self, + "Cookie File Selected", + f"Cookie file selected: {self.cookie_file_path}", + ) else: - self.cookie_file_path = None # Clear path if dialog accepted but no file selected + self.cookie_file_path = None # Clear path if dialog accepted but no file selected - def cancel_download(self): + def cancel_download(self) -> None: if self.current_download: self.current_download.cancelled = True - self.status_label.setText("Cancelling download...") # Set status directly - self.download_details_label.setText("") # Clear details label on cancellation + self.status_label.setText("Cancelling download...") # Set status directly + self.download_details_label.setText("") # Clear details label on cancellation - def show_ffmpeg_dialog(self): + def show_ffmpeg_dialog(self) -> None: dialog = FFmpegCheckDialog(self) dialog.exec() # Add method for showing time range dialog - def show_time_range_dialog(self): + def show_time_range_dialog(self) -> None: dialog = TimeRangeDialog(self) if dialog.exec(): # Store the time range settings self.download_section = dialog.get_download_sections() self.force_keyframes = dialog.get_force_keyframes() - + if self.download_section: - self.time_range_btn.setStyleSheet(""" + self.time_range_btn.setStyleSheet( + """ QPushButton { padding: 8px 15px; background-color: #c90000; @@ -1560,7 +1615,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QPushButton:hover { background-color: #a50000; } - """) + """ + ) self.time_range_btn.setToolTip(f"Section set: {self.download_section}") else: # Reset to default style if no section is selected @@ -1569,16 +1625,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m self.time_range_btn.setStyleSheet("") self.time_range_btn.setToolTip("") - def show_ytdlp_setup_dialog(self): + def show_ytdlp_setup_dialog(self) -> None: """Show the yt-dlp setup dialog to configure yt-dlp""" yt_dlp_path = setup_ytdlp(self) if yt_dlp_path != "yt-dlp": success_dialog = QMessageBox(self) - success_dialog.setIcon(QMessageBox.Information) + success_dialog.setIcon(QMessageBox.Icon.Information) success_dialog.setWindowTitle("yt-dlp Setup") success_dialog.setText(f"yt-dlp has been successfully configured at:\n{yt_dlp_path}") success_dialog.setWindowIcon(self.windowIcon()) - success_dialog.setStyleSheet(""" + success_dialog.setStyleSheet( + """ QMessageBox { background-color: #15181b; color: #ffffff; @@ -1597,162 +1654,141 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from m QPushButton:hover { background-color: #a50000; } - """) + """ + ) success_dialog.exec() - def _analyze_url_with_subprocess(self, url): + def _analyze_url_with_subprocess(self, url) -> None: """Analyze URL using yt-dlp executable when Python module is not available""" - import subprocess - import json - import tempfile - + try: yt_dlp_path = get_yt_dlp_path() if not yt_dlp_path: raise Exception("yt-dlp executable not found. Please install yt-dlp first.") - + self.signals.update_status.emit("Analyzing (30%)... Extracting info with yt-dlp executable") - + # Clean up the URL to handle both playlist and video URLs - if 'list=' in url and 'watch?v=' in url: - playlist_id = url.split('list=')[1].split('&')[0] - url = f'https://www.youtube.com/playlist?list={playlist_id}' + if "list=" in url and "watch?v=" in url: + playlist_id = url.split("list=")[1].split("&")[0] + url = f"https://www.youtube.com/playlist?list={playlist_id}" # Build command for basic info extraction - cmd = [yt_dlp_path, '--dump-json', '--no-warnings', url] - + cmd = [yt_dlp_path, "--dump-json", "--no-warnings", url] + # Add cookies if available if self.cookie_file_path: - cmd.extend(['--cookies', self.cookie_file_path]) - + cmd.extend(["--cookies", self.cookie_file_path]) + # Execute command with hidden console window on Windows - import sys - if sys.platform == 'win32': - # Hide the console window on Windows - startupinfo = subprocess.STARTUPINFO() - startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW - startupinfo.wShowWindow = subprocess.SW_HIDE - result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, startupinfo=startupinfo) - else: - # For other platforms, use normal subprocess call - result = subprocess.run(cmd, capture_output=True, text=True, timeout=60) - + # Extra logic moved to src\utils\ytsage_constants.py + result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) + if result.returncode != 0: raise Exception(f"yt-dlp failed: {result.stderr}") - + # Parse JSON output - yt-dlp outputs one JSON object per line for playlists - json_lines = [line.strip() for line in result.stdout.strip().split('\n') if line.strip()] - + json_lines = [line.strip() for line in result.stdout.strip().split("\n") if line.strip()] + if not json_lines: raise Exception("No data returned from yt-dlp") - + # Parse first JSON object to determine if it's a playlist first_info = json.loads(json_lines[0]) - + self.signals.update_status.emit("Analyzing (60%)... Processing data") - - if first_info.get('_type') == 'playlist' or len(json_lines) > 1: + + if first_info.get("_type") == "playlist" or len(json_lines) > 1: # Handle playlist self.is_playlist = True self.playlist_info = first_info self.selected_playlist_items = None self.playlist_entries = [] - + # Parse all entries for line in json_lines: try: entry = json.loads(line) - if entry.get('_type') != 'playlist': # Skip playlist metadata + if entry.get("_type") != "playlist": # Skip playlist metadata self.playlist_entries.append(entry) except json.JSONDecodeError: continue - + if not self.playlist_entries: raise Exception("Playlist contains no valid videos.") - + # Use first video for format information self.video_info = self.playlist_entries[0] - + # Update playlist info label - playlist_text = (f"Playlist: {first_info.get('title', 'Unknown Playlist')} | " - f"{len(self.playlist_entries)} videos") - QMetaObject.invokeMethod( - self.playlist_info_label, "setText", Qt.ConnectionType.QueuedConnection, - Q_ARG(str, playlist_text) + playlist_text = ( + f"Playlist: {first_info.get('title', 'Unknown Playlist')} | " f"{len(self.playlist_entries)} videos" ) - QMetaObject.invokeMethod( - self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True) - ) - + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_info_label_text.emit(playlist_text) + self.signals.playlist_info_label_visible.emit(True) + # Show playlist selection button - QMetaObject.invokeMethod( - self, 'update_playlist_button_text', Qt.ConnectionType.QueuedConnection, - Q_ARG(str, "Select Videos... (All selected)") - ) - QMetaObject.invokeMethod( - self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True) - ) + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_select_btn_text.emit("Select Videos... (All selected)") + + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_select_btn_visible.emit(True) + else: # Handle single video self.is_playlist = False self.video_info = first_info self.playlist_entries = [] self.selected_playlist_items = None - + # Hide playlist UI - QMetaObject.invokeMethod( - self.playlist_info_label, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, False) - ) - QMetaObject.invokeMethod( - self.playlist_select_btn, "setVisible", Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, False) - ) - + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_info_label_visible.emit(False) + + # update signal method from QMetaObject.invokeMethod to signals + self.signals.playlist_select_btn_visible.emit(False) + # Verify we have format information - if not self.video_info or 'formats' not in self.video_info: + if not self.video_info or "formats" not in self.video_info: raise Exception("No format information available") - + self.signals.update_status.emit("Analyzing (75%)... Processing formats") - self.all_formats = self.video_info['formats'] - + self.all_formats = self.video_info["formats"] + # Update UI self.update_video_info(self.video_info) - + # Update thumbnail self.signals.update_status.emit("Analyzing (85%)... Loading thumbnail") - thumbnail_url = None - if self.is_playlist: - thumbnail_url = self.playlist_info.get('thumbnail') - - if not thumbnail_url: - thumbnail_url = self.video_info.get('thumbnail') - + # Try to get thumbnail from playlist info first + # Fallback to video thumbnail if playlist thumbnail not found or not a playlist + thumbnail_url = (self.playlist_info or {}).get("thumbnail") or (self.video_info or {}).get("thumbnail") + self.download_thumbnail(thumbnail_url) - + # Save thumbnail if enabled if self.save_thumbnail: - self.download_thumbnail_file(self.video_url, self.path_input.text()) - + self.download_thumbnail_file(self.video_url, self.path_input.text()) # type: ignore[reportAttributeAccessIssue] + # Handle subtitles self.signals.update_status.emit("Analyzing (90%)... Processing subtitles") self.selected_subtitles = [] - self.available_subtitles = self.video_info.get('subtitles', {}) - self.available_automatic_subtitles = self.video_info.get('automatic_captions', {}) - + self.available_subtitles = self.video_info.get("subtitles", {}) + self.available_automatic_subtitles = self.video_info.get("automatic_captions", {}) + # Update subtitle UI - QMetaObject.invokeMethod(self.selected_subs_label, "setText", Qt.ConnectionType.QueuedConnection, Q_ARG(str, "0 selected")) - + # update signal method from QMetaObject.invokeMethod to signals + self.signals.selected_subs_label_text.emit("0 selected") + # Update format table self.signals.update_status.emit("Analyzing (95%)... Updating format table") self.video_button.setChecked(True) self.audio_button.setChecked(False) self.filter_formats() - + self.signals.update_status.emit("Analysis complete!") - + except subprocess.TimeoutExpired: raise Exception("Analysis timed out. Please try again.") except json.JSONDecodeError as e: diff --git a/src/gui/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py index 50ab915..354e9d9 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -1,32 +1,24 @@ -import sys -import os -import webbrowser -from PySide6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, - QHBoxLayout, QLineEdit, QPushButton, QTableWidget, - QTableWidgetItem, QProgressBar, QLabel, QFileDialog, - QHeaderView, QStyle, QStyleFactory, QComboBox, QTextEdit, QDialog, QPlainTextEdit, QCheckBox, QButtonGroup) -from PySide6.QtCore import Qt, Signal, QObject, QThread -from PySide6.QtGui import QIcon, QPalette, QColor, QPixmap -import requests -from io import BytesIO -from PIL import Image -from datetime import datetime -import json -from pathlib import Path -from packaging import version -import subprocess import re -from ..core.ytsage_logging import logger -try: - import yt_dlp - YT_DLP_AVAILABLE = True -except ImportError: - YT_DLP_AVAILABLE = False - logger.warning("yt-dlp not available at startup, will be downloaded at runtime") -from .ytsage_gui_dialogs import SubtitleSelectionDialog, SponsorBlockCategoryDialog +from datetime import datetime +from io import BytesIO +from pathlib import Path + +import requests +from PIL import Image +from PySide6.QtCore import Qt +from PySide6.QtGui import QPixmap +from PySide6.QtWidgets import QHBoxLayout, QLabel, QMainWindow, QPushButton, QVBoxLayout, QWidget +from yt_dlp import YoutubeDL + +from src.core.ytsage_logging import logger +from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py + SponsorBlockCategoryDialog, + SubtitleSelectionDialog, +) + class VideoInfoMixin: - def setup_video_info_section(self): + def setup_video_info_section(self) -> QHBoxLayout: # Create a horizontal layout for thumbnail and video info media_info_layout = QHBoxLayout() media_info_layout.setSpacing(15) @@ -36,7 +28,7 @@ class VideoInfoMixin: thumbnail_container.setFixedWidth(320) thumbnail_layout = QVBoxLayout(thumbnail_container) thumbnail_layout.setContentsMargins(0, 0, 0, 0) - + # Thumbnail on the left self.thumbnail_label = QLabel() self.thumbnail_label.setFixedSize(320, 180) @@ -44,14 +36,14 @@ class VideoInfoMixin: self.thumbnail_label.setAlignment(Qt.AlignmentFlag.AlignCenter) thumbnail_layout.addWidget(self.thumbnail_label) thumbnail_layout.addStretch() - + media_info_layout.addWidget(thumbnail_container) # Video information on the right video_info_layout = QVBoxLayout() video_info_layout.setSpacing(2) # Reduce spacing between elements video_info_layout.setAlignment(Qt.AlignmentFlag.AlignTop) - + # Title and info labels self.title_label = QLabel() self.title_label.setWordWrap(True) @@ -65,14 +57,22 @@ class VideoInfoMixin: self.like_count_label = QLabel() # Style the info labels - for label in [self.channel_label, self.views_label, self.date_label, self.duration_label, self.like_count_label]: - label.setStyleSheet(""" + for label in [ + self.channel_label, + self.views_label, + self.date_label, + self.duration_label, + self.like_count_label, + ]: + label.setStyleSheet( + """ QLabel { color: #cccccc; font-size: 12px; padding: 1px 0; } - """) + """ + ) # Add labels to video info layout video_info_layout.addWidget(self.title_label) @@ -90,11 +90,12 @@ class VideoInfoMixin: subtitle_layout.setSpacing(10) # Subtitle selection button - self.subtitle_select_btn = QPushButton("Select Subtitles...") # Renamed & changed text + self.subtitle_select_btn = QPushButton("Select Subtitles...") # Renamed & changed text self.subtitle_select_btn.setFixedHeight(30) # self.subtitle_select_btn.setFixedWidth(150) # Let it size naturally or adjust as needed self.subtitle_select_btn.clicked.connect(self.open_subtitle_dialog) - self.subtitle_select_btn.setStyleSheet(""" + self.subtitle_select_btn.setStyleSheet( + """ QPushButton { background-color: #1d1e22; border: 2px solid #1d1e22; @@ -112,8 +113,9 @@ class VideoInfoMixin: color: #888888; border-color: #3d3d3d; } - """) - self.subtitle_select_btn.setProperty("subtitlesSelected", False) # Custom property for styling + """ + ) + self.subtitle_select_btn.setProperty("subtitlesSelected", False) # Custom property for styling subtitle_layout.addWidget(self.subtitle_select_btn) # Label to show number of selected subtitles @@ -130,11 +132,12 @@ class VideoInfoMixin: # --- SponsorBlock Section --- sponsorblock_layout = QHBoxLayout() - + self.sponsorblock_select_btn = QPushButton("SponsorBlock Categories...") self.sponsorblock_select_btn.setFixedHeight(30) self.sponsorblock_select_btn.clicked.connect(self.open_sponsorblock_dialog) - self.sponsorblock_select_btn.setStyleSheet(""" + self.sponsorblock_select_btn.setStyleSheet( + """ QPushButton { background-color: #1d1e22; border: 2px solid #1d1e22; @@ -152,18 +155,19 @@ class VideoInfoMixin: color: #888888; border-color: #3d3d3d; } - """) + """ + ) self.sponsorblock_select_btn.setProperty("sponsorBlockSelected", False) self.sponsorblock_select_btn.setProperty("sponsorBlockSelected", False) sponsorblock_layout.addWidget(self.sponsorblock_select_btn) - + # Label to show selection count self.selected_sponsorblock_label = QLabel("0 selected") self.selected_sponsorblock_label.setStyleSheet("color: #cccccc; padding-left: 5px;") sponsorblock_layout.addWidget(self.selected_sponsorblock_label) - + sponsorblock_layout.addStretch() - + # Add the sponsorblock layout to the main video info layout video_info_layout.addLayout(sponsorblock_layout) # --- End SponsorBlock Section --- @@ -180,10 +184,11 @@ class VideoInfoMixin: return media_info_layout - def setup_playlist_info_section(self): + def setup_playlist_info_section(self) -> QLabel: self.playlist_info_label = QLabel() self.playlist_info_label.setVisible(False) - self.playlist_info_label.setStyleSheet(""" + self.playlist_info_label.setStyleSheet( + """ QLabel { font-size: 12px; color: #ffffff; @@ -195,18 +200,19 @@ class VideoInfoMixin: min-height: 30px; max-height: 30px; } - """) + """ + ) self.playlist_info_label.setAlignment(Qt.AlignmentFlag.AlignLeft | Qt.AlignmentFlag.AlignVCenter) return self.playlist_info_label - def update_video_info(self, info): - if hasattr(self, 'is_playlist') and self.is_playlist: + def update_video_info(self, info) -> None: + if hasattr(self, "is_playlist") and self.is_playlist: # Playlist Mode: Show playlist title and video count - self.title_label.setText(self.playlist_info.get('title', 'Unknown Playlist')) - - num_videos = len(getattr(self, 'playlist_entries', [])) + self.title_label.setText(self.playlist_info.get("title", "Unknown Playlist")) + + num_videos = len(getattr(self, "playlist_entries", [])) self.duration_label.setText(f"Total Videos: {num_videos}") - + # Hide video-specific info self.channel_label.setText("") self.views_label.setText("") @@ -225,63 +231,62 @@ class VideoInfoMixin: self.like_count_label.setVisible(True) # Format view count with commas - views = info.get('view_count') - formatted_views = f"{views:,}" if views is not None else 'N/A' + views = info.get("view_count") + formatted_views = f"{views:,}" if views is not None else "N/A" # Format like count with commas - likes = info.get('like_count') - formatted_likes = f"{likes:,}" if likes is not None else 'N/A' - + likes = info.get("like_count") + formatted_likes = f"{likes:,}" if likes is not None else "N/A" + # Format upload date - upload_date = info.get('upload_date', '') + upload_date = info.get("upload_date", "") if upload_date: - date_obj = datetime.strptime(upload_date, '%Y%m%d') - formatted_date = date_obj.strftime('%B %d, %Y') + date_obj = datetime.strptime(upload_date, "%Y%m%d") + formatted_date = date_obj.strftime("%B %d, %Y") else: - formatted_date = 'Unknown date' - + formatted_date = "Unknown date" + # Format duration - duration = info.get('duration', 0) + duration = info.get("duration", 0) minutes = duration // 60 seconds = duration % 60 duration_str = f"{minutes}:{seconds:02d}" - + # Update labels - self.title_label.setText(info.get('title', 'Unknown title')) + self.title_label.setText(info.get("title", "Unknown title")) self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") self.views_label.setText(f"Views: {formatted_views}") self.like_count_label.setText(f"Likes: {formatted_likes}") self.date_label.setText(f"Upload date: {formatted_date}") self.duration_label.setText(f"Duration: {duration_str}") - def open_subtitle_dialog(self): - if not hasattr(self, 'available_subtitles') or not hasattr(self, 'available_automatic_subtitles'): - logger.warning("Subtitle info not loaded yet.") - return + def open_subtitle_dialog(self) -> None: + if not hasattr(self, "available_subtitles") or not hasattr(self, "available_automatic_subtitles"): + logger.warning("Subtitle info not loaded yet.") + return - if not hasattr(self, 'selected_subtitles'): + if not hasattr(self, "selected_subtitles"): self.selected_subtitles = [] dialog = SubtitleSelectionDialog( - self.available_subtitles, - self.available_automatic_subtitles, + self.available_subtitles, # type: ignore[reportAttributeAccessIssue] + self.available_automatic_subtitles, # type: ignore[reportAttributeAccessIssue] self.selected_subtitles, - self # Parent for the dialog + self, # Parent for the dialog ) # Access the main application window (parent of the mixin's widget) # to find the merge checkbox - main_window = self # In this context, self should be the YTSageApp instance + main_window = self # In this context, self should be the YTSageApp instance if not isinstance(main_window, QMainWindow): - # If the structure is different, this might need adjustment - # Maybe self.parentWidget() or similar depending on how Mixin is used - logger.warning("Cannot find main window to access merge checkbox.") - merge_checkbox = None + # If the structure is different, this might need adjustment + # Maybe self.parentWidget() or similar depending on how Mixin is used + logger.warning("Cannot find main window to access merge checkbox.") + merge_checkbox = None else: - merge_checkbox = getattr(main_window, 'merge_subs_checkbox', None) + merge_checkbox = getattr(main_window, "merge_subs_checkbox", None) - - if dialog.exec(): # If user clicks OK + if dialog.exec(): # If user clicks OK self.selected_subtitles = dialog.get_selected_subtitles() logger.info(f"Selected subtitles: {self.selected_subtitles}") # Update UI to reflect selection @@ -292,7 +297,7 @@ class VideoInfoMixin: # Enable/disable the merge checkbox in the parent window if merge_checkbox: # Only enable merge checkbox if we're not in Audio Only mode - is_audio_only = hasattr(main_window, 'audio_button') and main_window.audio_button.isChecked() + is_audio_only = hasattr(main_window, "audio_button") and main_window.audio_button.isChecked() # In audio-only mode, we still allow subtitle selection but not merging should_enable = count > 0 and not is_audio_only merge_checkbox.setEnabled(should_enable) @@ -304,29 +309,29 @@ class VideoInfoMixin: self.subtitle_select_btn.style().polish(self.subtitle_select_btn) # No else needed for cancel, state remains unchanged - def open_sponsorblock_dialog(self): + def open_sponsorblock_dialog(self) -> None: """Open the SponsorBlock category selection dialog.""" # Initialize selected categories if not exists or empty (first time opening) - if not hasattr(self, 'selected_sponsorblock_categories') or not self.selected_sponsorblock_categories: + if not hasattr(self, "selected_sponsorblock_categories") or not self.selected_sponsorblock_categories: # Use None to let the dialog set its own defaults dialog_categories = None else: dialog_categories = self.selected_sponsorblock_categories - + dialog = SponsorBlockCategoryDialog(dialog_categories, self) - + if dialog.exec(): self.selected_sponsorblock_categories = dialog.get_selected_categories() logger.info(f"SponsorBlock categories selected: {self.selected_sponsorblock_categories}") self._update_sponsorblock_display() - - def _update_sponsorblock_display(self): + + def _update_sponsorblock_display(self) -> None: """Update the SponsorBlock button and label to reflect current selection.""" - if not hasattr(self, 'selected_sponsorblock_categories'): + if not hasattr(self, "selected_sponsorblock_categories"): self.selected_sponsorblock_categories = [] - + count = len(self.selected_sponsorblock_categories) - + # Update label text if count == 0: self.selected_sponsorblock_label.setText("0 selected") @@ -334,15 +339,15 @@ class VideoInfoMixin: self.selected_sponsorblock_label.setText("1 category selected") else: self.selected_sponsorblock_label.setText(f"{count} categories selected") - + # Update button property for styling self.sponsorblock_select_btn.setProperty("sponsorBlockSelected", count > 0) - + # Force style refresh self.sponsorblock_select_btn.style().unpolish(self.sponsorblock_select_btn) self.sponsorblock_select_btn.style().polish(self.sponsorblock_select_btn) - def download_thumbnail(self, url): + def download_thumbnail(self, url) -> None: try: # Store both thumbnail URL and video URL self.thumbnail_url = url @@ -355,42 +360,39 @@ class VideoInfoMixin: # Display thumbnail image = self.thumbnail_image.resize((320, 180), Image.Resampling.LANCZOS) img_byte_arr = BytesIO() - image.save(img_byte_arr, format='PNG') + image.save(img_byte_arr, format="PNG") pixmap = QPixmap() pixmap.loadFromData(img_byte_arr.getvalue()) self.thumbnail_label.setPixmap(pixmap) except Exception as e: logger.error(f"Error loading thumbnail: {str(e)}") - def download_thumbnail_file(self, video_url, path): + def download_thumbnail_file(self, video_url, path) -> bool: if not self.save_thumbnail: return False try: - from yt_dlp import YoutubeDL - import requests # Use requests instead of urlopen - logger.debug(f"Attempting to save thumbnail for URL: {video_url}") ydl_opts = { - 'quiet': True, - 'skip_download': True, - 'force_generic_extractor': False, - 'no_warnings': True, - 'extract_flat': False + "quiet": True, + "skip_download": True, + "force_generic_extractor": False, + "no_warnings": True, + "extract_flat": False, } with YoutubeDL(ydl_opts) as ydl: info = ydl.extract_info(video_url, download=False) - thumbnails = info.get('thumbnails', []) + thumbnails = info.get("thumbnails", []) if not thumbnails: raise ValueError("No thumbnails available") thumbnail_url = max( thumbnails, - key=lambda t: (t.get('height', 0) or 0) * (t.get('width', 0) or 0) - ).get('url') + key=lambda t: (t.get("height", 0) or 0) * (t.get("width", 0) or 0), + ).get("url") if not thumbnail_url: raise ValueError("Failed to extract thumbnail URL") @@ -400,13 +402,13 @@ class VideoInfoMixin: response.raise_for_status() # Save the thumbnail - thumb_dir = os.path.join(path, 'Thumbnails') - os.makedirs(thumb_dir, exist_ok=True) + thumb_dir = Path(path).joinpath("Thumbnails") + thumb_dir.mkdir(exist_ok=True) filename = f"{self.sanitize_filename(info['title'])}.jpg" - thumbnail_path = os.path.join(thumb_dir, filename) + thumbnail_path = thumb_dir.joinpath(filename) - with open(thumbnail_path, 'wb') as f: + with open(thumbnail_path, "wb") as f: f.write(response.content) logger.info(f"Thumbnail saved to: {thumbnail_path}") @@ -419,6 +421,6 @@ class VideoInfoMixin: self.signals.update_status.emit(error_msg) return False - def sanitize_filename(self, name): + def sanitize_filename(self, name) -> str: """Clean filename for filesystem safety""" - return re.sub(r'[\\/*?:"<>|]', "", name).strip()[:75] \ No newline at end of file + return re.sub(r'[\\/*?:"<>|]', "", name).strip()[:75] diff --git a/src/utils/__init__.py b/src/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/utils/ytsage_constants.py b/src/utils/ytsage_constants.py new file mode 100644 index 0000000..314d0c6 --- /dev/null +++ b/src/utils/ytsage_constants.py @@ -0,0 +1,102 @@ +""" +This module defines centralized constants used across the YTSage application. +By storing shared values in one place, it improves consistency, readability, +and maintainability of the codebase. + +Constants include: +- Asset paths for icons and notification sounds. +- OS detection and platform-specific directory paths for application data, binaries, logs, and configuration. +- Download URLs for yt-dlp and ffmpeg binaries. +- SUBPROCESS_CREATIONFLAGS: Used to specify subprocess creation flags (e.g., subprocess.CREATE_NO_WINDOW on Windows to hide the console window). +Directories are automatically created when the module is imported, ensuring the required structure exists for the application. +YTSage application constants. + +""" + +import os +import platform +import subprocess +from pathlib import Path + +# Assets Constants +ICON_PATH: Path = Path("assets/Icon/icon.png") +SOUND_PATH: Path = Path("assets/sound/notification.mp3") + +OS_NAME: str = platform.system() # Windows ; Darwin ; Linux + +USER_HOME_DIR: Path = Path.home() + +# OS Specific Constants +if OS_NAME == "Windows": + OS_FULL_NAME: str = f"{OS_NAME} {platform.release()}" + + # APP_PATH will be from system environment path or fallback to Path.home() + APP_DIR: Path = Path(os.environ.get("LOCALAPPDATA", USER_HOME_DIR / "AppData" / "Local")) / "YTSage" + APP_BIN_DIR: Path = APP_DIR / "bin" + APP_DATA_DIR: Path = APP_DIR / "data" + APP_LOG_DIR: Path = APP_DIR / "logs" + APP_CONFIG_FILE: Path = APP_DATA_DIR / "ytsage_config.json" + + YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" + YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp.exe" + + SUBPROCESS_CREATIONFLAGS: int = subprocess.CREATE_NO_WINDOW + +elif OS_NAME == "Darwin": # macOS + _mac_version = platform.mac_ver()[0] + OS_FULL_NAME: str = f"macOS {_mac_version}" if _mac_version else "macOS" + + APP_DIR: Path = USER_HOME_DIR / "Library" / "Application Support" / "YTSage" + APP_BIN_DIR: Path = APP_DIR / "bin" + APP_DATA_DIR: Path = APP_DIR / "data" + APP_LOG_DIR: Path = APP_DIR / "logs" + APP_CONFIG_FILE: Path = APP_DATA_DIR / "ytsage_config.json" + + YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" + YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp" + + SUBPROCESS_CREATIONFLAGS: int = 0 + + +else: # Linux and other UNIX-like + OS_FULL_NAME: str = f"{OS_NAME} {platform.release()}" + + APP_DIR: Path = USER_HOME_DIR / ".local" / "share" / "YTSage" + APP_BIN_DIR: Path = APP_DIR / "bin" + APP_DATA_DIR: Path = APP_DIR / "data" + APP_LOG_DIR: Path = APP_DIR / "logs" + APP_CONFIG_FILE: Path = APP_DATA_DIR / "ytsage_config.json" + + YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" + YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp" + + SUBPROCESS_CREATIONFLAGS: int = 0 + + +# ffmpeg download links +FFMPEG_7Z_DOWNLOAD_URL = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.7z" +FFMPEG_7Z_SHA256_URL = "https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-7.1.1-full_build.7z.sha256" +FFMPEG_ZIP_DOWNLOAD_URL = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.zip" + +if __name__ == "__main__": + # If this file is run directly, print directory information; if imported, create the necessary directories for the application. + info = { + "OS_NAME": OS_NAME, + "OS_FULL_NAME": OS_FULL_NAME, + "USER_HOME_DIR": str(USER_HOME_DIR), + "APP_DIR": str(APP_DIR), + "APP_BIN_DIR": str(APP_BIN_DIR), + "APP_DATA_DIR": str(APP_DATA_DIR), + "APP_LOG_DIR": str(APP_LOG_DIR), + "APP_CONFIG_FILE": str(APP_CONFIG_FILE), + "YTDLP_DOWNLOAD_URL": YTDLP_DOWNLOAD_URL, + "YTDLP_APP_BIN_PATH": YTDLP_APP_BIN_PATH, + "SUBPROCESS_CREATIONFLAGS": SUBPROCESS_CREATIONFLAGS, + } + for key, value in info.items(): + print(f"{key}: {value}") +else: + APP_DIR.mkdir(parents=True, exist_ok=True) + APP_BIN_DIR.mkdir(parents=True, exist_ok=True) + APP_DATA_DIR.mkdir(parents=True, exist_ok=True) + APP_LOG_DIR.mkdir(parents=True, exist_ok=True) From 709375363624962458c2506e2a14e4c29fa35dc2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:26:21 +0300 Subject: [PATCH 098/568] Add YT-DLP documentation URL constant Introduces YTDLP_DOCS_URL for Windows, macOS, and Linux platforms, providing a direct link to yt-dlp usage and options documentation. Also updates the __main__ info output to include this new constant. --- src/utils/ytsage_constants.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/utils/ytsage_constants.py b/src/utils/ytsage_constants.py index 314d0c6..474b7ea 100644 --- a/src/utils/ytsage_constants.py +++ b/src/utils/ytsage_constants.py @@ -39,6 +39,9 @@ if OS_NAME == "Windows": YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp.exe" + + # Documentation URLs + YTDLP_DOCS_URL: str = "https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#usage-and-options" SUBPROCESS_CREATIONFLAGS: int = subprocess.CREATE_NO_WINDOW @@ -54,6 +57,9 @@ elif OS_NAME == "Darwin": # macOS YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp" + + # Documentation URLs + YTDLP_DOCS_URL: str = "https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#usage-and-options" SUBPROCESS_CREATIONFLAGS: int = 0 @@ -69,6 +75,9 @@ else: # Linux and other UNIX-like YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp" + + # Documentation URLs + YTDLP_DOCS_URL: str = "https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#usage-and-options" SUBPROCESS_CREATIONFLAGS: int = 0 @@ -91,6 +100,7 @@ if __name__ == "__main__": "APP_CONFIG_FILE": str(APP_CONFIG_FILE), "YTDLP_DOWNLOAD_URL": YTDLP_DOWNLOAD_URL, "YTDLP_APP_BIN_PATH": YTDLP_APP_BIN_PATH, + "YTDLP_DOCS_URL": YTDLP_DOCS_URL, "SUBPROCESS_CREATIONFLAGS": SUBPROCESS_CREATIONFLAGS, } for key, value in info.items(): From 44621a59f0e7a1986eda66456a6d48271fc13e1e Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:26:49 +0300 Subject: [PATCH 099/568] Add browser cookies support and improve error handling Introduces support for extracting cookies from browsers in addition to cookie files, updating relevant logic and UI handling. Error handling for yt-dlp extraction is improved with user-friendly messages using a new error parser. Also updates version to 4.8.0b and refines cookie management throughout the app. --- src/gui/ytsage_gui_main.py | 94 +++++++++++++++++++++++++++++++------- 1 file changed, 77 insertions(+), 17 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index e8e902f..b0fe2da 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -30,7 +30,7 @@ from PySide6.QtWidgets import ( from src.core.ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes from src.core.ytsage_logging import logger from src.core.ytsage_utils import check_ffmpeg # Import utility functions -from src.core.ytsage_utils import load_saved_path, save_path, should_check_for_auto_update +from src.core.ytsage_utils import load_saved_path, save_path, should_check_for_auto_update, parse_yt_dlp_error from src.core.ytsage_yt_dlp import get_yt_dlp_path, setup_ytdlp # Import the new yt-dlp functions from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py AboutDialog, @@ -48,6 +48,7 @@ from src.utils.ytsage_constants import ICON_PATH, SOUND_PATH, SUBPROCESS_CREATIO try: import yt_dlp + from yt_dlp.utils import ExtractorError, DownloadError YT_DLP_AVAILABLE = True except ImportError: @@ -85,7 +86,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from else: self.logger.info(f"Using yt-dlp from: {ytdlp_path}") - self.version = "4.7.0" + self.version = "4.8.0b" self.check_for_updates() # Check for auto-updates if enabled @@ -118,7 +119,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.thumbnail_image = None self.video_url = "" self.selected_subtitles = [] # Initialize selected subtitles list - self.cookie_file_path = None # Initialize cookie file path + # Initialize cookie settings - ensure they start clean + self.cookie_file_path = None + self.browser_cookies_option = None self.speed_limit_value = None # Store speed limit value self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.download_section = None @@ -737,7 +740,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from "no_warnings": True, # <-- Suppress warnings for initial check "extract_flat": True, "force_generic_extractor": False, - "ignoreerrors": True, + "ignoreerrors": False, # Set to False to catch errors properly "no_color": True, "verbose": True, "cookiefile": None, @@ -745,16 +748,27 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Add cookies argument if cookie file path is set if self.cookie_file_path: - ydl_opts["cookiefile"] = self.cookie_file_path + ydl_opts["cookiefile"] = str(self.cookie_file_path) + elif self.browser_cookies_option: + ydl_opts["cookiesfrombrowser"] = (self.browser_cookies_option.split(':')[0], + self.browser_cookies_option.split(':')[1] if ':' in self.browser_cookies_option else None) with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: basic_info = ydl.extract_info(url, download=False) if not basic_info: - raise Exception("Could not extract basic video information") + # This case usually means the URL is invalid or not found + raise Exception("Invalid URL or video not found. Please check the link and try again.") + except (ExtractorError, DownloadError) as e: + # This is a yt-dlp specific error, use the original message + user_friendly_error = parse_yt_dlp_error(str(e)) + raise Exception(user_friendly_error) except Exception as e: + # This is our own exception or other unexpected error self.logger.error(f"First extraction failed: {str(e)}") - raise Exception("Could not extract video information, please check your link") + self.logger.error(f"Exception type: {type(e)}") + user_friendly_error = parse_yt_dlp_error(str(e)) + raise Exception(user_friendly_error) self.signals.update_status.emit("Analyzing (30%)... Extracting detailed info") # Configure options for detailed extraction (keep other options) @@ -774,7 +788,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Add cookies argument if cookie file path is set if self.cookie_file_path: - ydl_opts_detail["cookiefile"] = self.cookie_file_path + ydl_opts_detail["cookiefile"] = str(self.cookie_file_path) + elif self.browser_cookies_option: + ydl_opts_detail["cookiesfrombrowser"] = (self.browser_cookies_option.split(':')[0], + self.browser_cookies_option.split(':')[1] if ':' in self.browser_cookies_option else None) # Use a separate options dict for the detailed extraction with yt_dlp.YoutubeDL(ydl_opts_detail) as ydl_detail: @@ -798,8 +815,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from try: # Use the ydl_detail instance with no_warnings self.video_info = ydl_detail.extract_info(first_video_url, download=False) + except (ExtractorError, DownloadError) as first_video_error: + # Use error parser for yt-dlp specific playlist video errors + user_friendly_error = parse_yt_dlp_error(str(first_video_error)) + raise Exception(f"Failed to extract info for the first playlist video: {user_friendly_error}") except Exception as first_video_error: - raise Exception(f"Failed to extract info for the first playlist video: {first_video_error}") + # Use error parser for other playlist video errors too + user_friendly_error = parse_yt_dlp_error(str(first_video_error)) + raise Exception(f"Failed to extract info for the first playlist video: {user_friendly_error}") # Update playlist info label text (remains the same) playlist_text = ( @@ -886,9 +909,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.update_status.emit("Analysis complete!") + except (ExtractorError, DownloadError) as e: + logger.error(f"yt-dlp detailed extraction failed: {e}", exc_info=True) + # Use the error parser for yt-dlp specific errors + user_friendly_error = parse_yt_dlp_error(str(e)) + raise Exception(user_friendly_error) except Exception as e: logger.error(f"Detailed extraction failed: {e}", exc_info=True) - raise Exception(f"Failed to extract video details: {str(e)}") + # Use the error parser for other extraction errors too + user_friendly_error = parse_yt_dlp_error(str(e)) + raise Exception(user_friendly_error) except Exception as e: self.logger.error(f"Error in analysis: {e}", exc_info=True) @@ -1023,6 +1053,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from save_description=self.save_description, # Pass the new flag here embed_chapters=self.embed_chapters, # Pass the embed chapters flag cookie_file=self.cookie_file_path, # Pass the cookie file path + browser_cookies=self.browser_cookies_option, # Pass the browser cookies option rate_limit=rate_limit, # Pass the calculated rate limit download_section=self.download_section, # Pass the download section force_keyframes=self.force_keyframes, # Pass the force keyframes setting @@ -1381,8 +1412,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def show_custom_options(self) -> None: dialog = CustomOptionsDialog(self) if dialog.exec(): - # Handle cookies if set + # Handle cookies cookie_path = dialog.get_cookie_file_path() + browser_cookies = dialog.get_browser_cookies_option() + + # Clear both first to avoid conflicts + self.cookie_file_path = None + self.browser_cookies_option = None + if cookie_path: self.cookie_file_path = cookie_path self.logger.info(f"Selected cookie file: {self.cookie_file_path}") @@ -1391,9 +1428,15 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}", ) - else: - # Don't clear the cookie path if nothing was selected - pass + elif browser_cookies: + self.browser_cookies_option = browser_cookies + self.logger.info(f"Selected browser cookies: {self.browser_cookies_option}") + QMessageBox.information( + self, + "Browser Cookies Selected", + f"Browser cookies will be extracted from: {browser_cookies}", + ) + # If neither is selected, both remain None (cleared above) def show_about_dialog(self) -> None: # ADDED METHOD HERE dialog = AboutDialog(self) @@ -1571,16 +1614,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from dialog = CustomOptionsDialog(self) dialog.tab_widget.setCurrentIndex(0) # Select the Cookie Login tab if dialog.exec(): - self.cookie_file_path = dialog.get_cookie_file_path() - if self.cookie_file_path: + # Handle cookies + cookie_path = dialog.get_cookie_file_path() + browser_cookies = dialog.get_browser_cookies_option() + + if cookie_path: + self.cookie_file_path = cookie_path + self.browser_cookies_option = None # Clear browser cookies if file is used self.logger.info(f"Selected cookie file: {self.cookie_file_path}") QMessageBox.information( self, "Cookie File Selected", f"Cookie file selected: {self.cookie_file_path}", ) + elif browser_cookies: + self.browser_cookies_option = browser_cookies + self.cookie_file_path = None # Clear file cookies if browser is used + self.logger.info(f"Selected browser cookies: {self.browser_cookies_option}") + QMessageBox.information( + self, + "Browser Cookies Selected", + f"Browser cookies will be extracted from: {browser_cookies}", + ) else: self.cookie_file_path = None # Clear path if dialog accepted but no file selected + self.browser_cookies_option = None # Clear browser cookies too def cancel_download(self) -> None: if self.current_download: @@ -1678,7 +1736,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Add cookies if available if self.cookie_file_path: - cmd.extend(["--cookies", self.cookie_file_path]) + cmd.extend(["--cookies", str(self.cookie_file_path)]) + elif self.browser_cookies_option: + cmd.extend(["--cookies-from-browser", self.browser_cookies_option]) # Execute command with hidden console window on Windows # Extra logic moved to src\utils\ytsage_constants.py From 99a55f66e2e14e0f5507ca34c7043f48b64e4f0a Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:27:00 +0300 Subject: [PATCH 100/568] Bump version to 4.8.0b Updated the __version__ string in src/__init__.py to 4.8.0b to reflect the new release. --- src/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__init__.py b/src/__init__.py index 969fd74..d9e962d 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.7.0" +__version__ = "4.8.0b" __author__ = "oop7" From cb342eb499d15f4bec35096d35e4d02024c1c019 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:27:14 +0300 Subject: [PATCH 101/568] Add browser cookies support to DownloadThread Introduces a browser_cookies parameter to DownloadThread, allowing cookies to be loaded from a browser for downloads. Updates command and options construction to handle both cookie files and browser cookies, improving flexibility for authentication. --- src/core/ytsage_downloader.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index e923dff..bc95abe 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -53,6 +53,7 @@ class DownloadThread(QThread): save_description=False, embed_chapters=False, cookie_file=None, + browser_cookies=None, rate_limit=None, download_section=None, force_keyframes=False, @@ -71,6 +72,7 @@ class DownloadThread(QThread): self.save_description = save_description self.embed_chapters = embed_chapters self.cookie_file = cookie_file + self.browser_cookies = browser_cookies self.rate_limit = rate_limit self.download_section = download_section self.force_keyframes = force_keyframes @@ -143,7 +145,10 @@ class DownloadThread(QThread): "format": (self.format_id if self.format_id else "best"), # Use selected format or best } if self.cookie_file: - ydl_opts_check["cookiefile"] = self.cookie_file + ydl_opts_check["cookiefile"] = str(self.cookie_file) + elif self.browser_cookies: + ydl_opts_check["cookiesfrombrowser"] = (self.browser_cookies.split(':')[0], + self.browser_cookies.split(':')[1] if ':' in self.browser_cookies else None) if YT_DLP_AVAILABLE: with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: @@ -312,7 +317,9 @@ class DownloadThread(QThread): # Add cookies if specified if self.cookie_file: - cmd.extend(["--cookies", self.cookie_file]) + cmd.extend(["--cookies", str(self.cookie_file)]) + elif self.browser_cookies: + cmd.extend(["--cookies-from-browser", self.browser_cookies]) # Add rate limit if specified if self.rate_limit: From ca7287ee60c3f6d639eb1818bca29df89d8f0434 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:27:21 +0300 Subject: [PATCH 102/568] Enhance QComboBox and QGroupBox styling Improved QComboBox appearance with updated padding, border, drop-down, and arrow styles, including hover and focus effects. Added custom styling for QComboBox item views and introduced new styles for QGroupBox and its title for better UI consistency. --- src/core/ytsage_style.py | 62 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 57 insertions(+), 5 deletions(-) diff --git a/src/core/ytsage_style.py b/src/core/ytsage_style.py index 8c2c028..2981218 100644 --- a/src/core/ytsage_style.py +++ b/src/core/ytsage_style.py @@ -79,21 +79,59 @@ QProgressBar::chunk { border-radius: 2px; } QComboBox { - padding: 5px; + padding: 8px; border: 2px solid #1b2021; border-radius: 4px; background-color: #1b2021; color: #ffffff; min-height: 20px; } +QComboBox:hover { + border: 2px solid #c90000; +} +QComboBox:focus { + border: 2px solid #c90000; +} QComboBox::drop-down { border: none; - width: 20px; + width: 30px; + background-color: #1b2021; + border-radius: 0 4px 4px 0; +} +QComboBox::drop-down:hover { + background-color: #c90000; } QComboBox::down-arrow { - image: url(down_arrow.png); - width: 12px; - height: 12px; + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-top: 8px solid #ffffff; + margin: auto; +} +QComboBox QAbstractItemView { + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + selection-background-color: #c90000; + selection-color: #ffffff; + outline: none; +} +QComboBox QAbstractItemView::item { + height: 30px; + padding: 5px; + border: none; + background-color: #1b2021; + color: #ffffff; +} +QComboBox QAbstractItemView::item:hover { + background-color: #c90000; + color: #ffffff; +} +QComboBox QAbstractItemView::item:selected { + background-color: #c90000; + color: #ffffff; } QCheckBox { spacing: 5px; @@ -132,6 +170,20 @@ QRadioButton::indicator:checked { QLabel { color: #ffffff; } +QGroupBox { + color: #ffffff; + border: 2px solid #1b2021; + border-radius: 4px; + margin-top: 1ex; + padding-top: 10px; +} +QGroupBox::title { + subcontrol-origin: margin; + left: 10px; + padding: 0 5px 0 5px; + color: #c90000; + font-weight: bold; +} QTextEdit, QPlainTextEdit { background-color: #1b2021; color: #ffffff; From 0db890dd81b675e46d4676af0fdff58882d90795 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:27:28 +0300 Subject: [PATCH 103/568] Remove unused dialog imports and exports Deleted CookieLoginDialog and CustomCommandDialog from imports and __all__ exports in ytsage_gui_dialogs/__init__.py, likely because these dialogs are no longer needed or have been removed from the codebase. --- src/gui/ytsage_gui_dialogs/__init__.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/__init__.py b/src/gui/ytsage_gui_dialogs/__init__.py index 013d97b..5d60dd3 100644 --- a/src/gui/ytsage_gui_dialogs/__init__.py +++ b/src/gui/ytsage_gui_dialogs/__init__.py @@ -14,8 +14,6 @@ This package contains all dialog classes organized by functionality: # Re-export all dialog classes for backward compatibility from src.gui.ytsage_gui_dialogs.ytsage_dialogs_base import AboutDialog, LogWindow from src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom import ( - CookieLoginDialog, - CustomCommandDialog, CustomOptionsDialog, TimeRangeDialog, ) @@ -53,8 +51,6 @@ __all__ = [ "SponsorBlockCategoryDialog", # Custom functionality dialogs - "CustomCommandDialog", - "CookieLoginDialog", "CustomOptionsDialog", "TimeRangeDialog", ] From eaf1786d21d4afa33a314670b4da085046bd6017 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:27:39 +0300 Subject: [PATCH 104/568] Refactor and enhance custom dialogs UI and logic Refactored custom command execution to use a worker class with signals for better threading and output handling. Improved the CustomOptionsDialog with cookie source selection (file or browser), browser selection UI, and more robust cookie path handling. Enhanced UI styling, help texts, and input validation. Removed command preview from TimeRangeDialog and streamlined dialog layouts for clarity and usability. --- .../ytsage_dialogs_custom.py | 809 ++++++++---------- 1 file changed, 376 insertions(+), 433 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 23103f2..778fbc9 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -8,9 +8,10 @@ import threading from pathlib import Path from typing import TYPE_CHECKING, cast -from PySide6.QtCore import Q_ARG, QMetaObject, Qt +from PySide6.QtCore import Q_ARG, QMetaObject, Qt, Signal, QObject from PySide6.QtWidgets import ( QCheckBox, + QComboBox, QDialog, QDialogButtonBox, QFileDialog, @@ -20,6 +21,7 @@ from PySide6.QtWidgets import ( QLineEdit, QPlainTextEdit, QPushButton, + QRadioButton, QTabWidget, QTextEdit, QVBoxLayout, @@ -27,6 +29,7 @@ from PySide6.QtWidgets import ( ) from src.core.ytsage_yt_dlp import get_yt_dlp_path +from src.utils.ytsage_constants import YTDLP_DOCS_URL try: import yt_dlp @@ -39,254 +42,69 @@ if TYPE_CHECKING: from src.gui.ytsage_gui_main import YTSageApp # only for type hints (no runtime import) -class CustomCommandDialog(QDialog): - def __init__(self, parent=None) -> None: - super().__init__(parent) - self._parent = self.parent() - self.setWindowTitle("Custom yt-dlp Command") - self.setMinimumSize(600, 400) - - layout = QVBoxLayout(self) - - # Help text - help_text = QLabel( - "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" - "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" - "Note: Download path and output template will be preserved." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - layout.addWidget(help_text) - - # Command input - self.command_input = QPlainTextEdit() - self.command_input.setPlaceholderText("Enter yt-dlp arguments...") - self.command_input.setStyleSheet( - """ - QPlainTextEdit { - background-color: #1d1e22; - color: #ffffff; - border: 2px solid #1d1e22; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - } - """ - ) - layout.addWidget(self.command_input) - - # Add SponsorBlock checkbox - self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet( - """ - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #1d1e22; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 9px; - } - """ - ) - layout.insertWidget(layout.indexOf(self.command_input), self.sponsorblock_checkbox) - - # Buttons - button_layout = QHBoxLayout() - - self.run_btn = QPushButton("Run Command") - self.run_btn.clicked.connect(self.run_custom_command) - - self.close_btn = QPushButton("Close") - self.close_btn.clicked.connect(self.close) - - button_layout.addWidget(self.run_btn) - button_layout.addWidget(self.close_btn) - layout.addLayout(button_layout) - - # Log output - self.log_output = QTextEdit() - self.log_output.setReadOnly(True) - self.log_output.setStyleSheet( - """ - QTextEdit { - background-color: #1d1e22; - color: #ffffff; - border: 2px solid #1d1e22; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - font-size: 12px; - } - """ - ) - layout.addWidget(self.log_output) - - self.setStyleSheet( - """ - QDialog { - background-color: #15181b; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #a50000; - } - """ - ) - - def run_custom_command(self) -> None: - url = self._parent.url_input.text().strip() # type: ignore[reportAttributeAccessIssue] - if not url: - self.log_output.append("Error: No URL provided") - return - - command = self.command_input.toPlainText().strip() - path = self._parent.path_input.text().strip() # type: ignore[reportAttributeAccessIssue] - - self.log_output.clear() - self.log_output.append(f"Running command with URL: {url}") - self.run_btn.setEnabled(False) - - # Start command in thread - threading.Thread(target=self._run_command_thread, args=(command, url, path), daemon=True).start() - - def _run_command_thread(self, command, url, path) -> None: +class CommandWorker(QObject): + """Worker class for running yt-dlp commands in a separate thread""" + + # Signals for communicating with the main thread + output_received = Signal(str) # For command output lines + command_finished = Signal(bool, int) # For completion (success, exit_code) + error_occurred = Signal(str) # For errors + + def __init__(self, command, url, path): + super().__init__() + self.command = command + self.url = url + self.path = path + + def run_command(self): + """Run the yt-dlp command and emit signals for output""" try: - - class CommandLogger: - def debug(self, msg): - self.dialog.log_output.append(msg) - - def warning(self, msg): - self.dialog.log_output.append(f"Warning: {msg}") - - def error(self, msg): - self.dialog.log_output.append(f"Error: {msg}") - - def __init__(self, dialog): - self.dialog = dialog - # Split command into arguments - args = command.split() + args = self.command.split() - # Base options - ydl_opts = { - "logger": CommandLogger(self), - "paths": {"home": path}, - "debug_printout": True, - "postprocessors": [], - } + # Build the full command + yt_dlp_path = get_yt_dlp_path() + base_cmd = [yt_dlp_path] + args + + # Add download path if specified + if self.path: + base_cmd.extend(["-P", self.path]) + + # Add URL at the end + base_cmd.append(self.url) - # Add SponsorBlock options if enabled - if self.sponsorblock_checkbox.isChecked(): - ydl_opts["postprocessors"].extend( - [ - { - "key": "SponsorBlock", - "categories": ["sponsor", "selfpromo", "interaction"], - "api": "https://sponsor.ajay.app", - }, - { - "key": "ModifyChapters", - "remove_sponsor_segments": [ - "sponsor", - "selfpromo", - "interaction", - ], - "sponsorblock_chapter_title": "[SponsorBlock]: %(category_names)l", - "force_keyframes": True, - }, - ] - ) + # Emit the full command + self.output_received.emit(f"🔧 Full command: {' '.join(str(cmd) for cmd in base_cmd)}") + self.output_received.emit("=" * 50) - # Add custom arguments - for i in range(0, len(args), 2): - if i + 1 < len(args): - key = args[i].lstrip("-").replace("-", "_") - value = args[i + 1] - try: - # Try to convert to appropriate type - if value.lower() in ("true", "false"): - value = value.lower() == "true" - elif value.isdigit(): - value = int(value) - ydl_opts[key] = value - except: - ydl_opts[key] = value + # Run the command + proc = subprocess.Popen( + base_cmd, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True, + encoding="utf-8", + errors="replace", + ) - with yt_dlp.YoutubeDL(ydl_opts) as ydl: - ydl.download([url]) - - self.log_output.append("Command completed successfully") + # Stream output + for line in proc.stdout: # type: ignore[reportOptionalIterable] + if line.strip(): # Only show non-empty lines + self.output_received.emit(line.rstrip()) + ret = proc.wait() + self.output_received.emit("=" * 50) + + if ret != 0: + self.output_received.emit(f"❌ Command failed with exit code {ret}") + self.command_finished.emit(False, ret) + else: + self.output_received.emit("✅ Command completed successfully!") + self.command_finished.emit(True, ret) + except Exception as e: - self.log_output.append(f"Error: {str(e)}") - finally: - self.run_btn.setEnabled(True) - - -class CookieLoginDialog(QDialog): - def __init__(self, parent=None) -> None: - super().__init__(parent) - self.setWindowTitle("Login with Cookies") - self.setMinimumSize(400, 150) - - layout = QVBoxLayout(self) - - help_text = QLabel( - "Select the Netscape-format cookies file for logging in.\n" - "This allows downloading of private videos and premium quality audio." - ) - help_text.setWordWrap(True) - help_text.setStyleSheet("color: #999999; padding: 10px;") - layout.addWidget(help_text) - - # File path input and browse button - path_layout = QHBoxLayout() - self.cookie_path_input = QLineEdit() - self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") - path_layout.addWidget(self.cookie_path_input) - - self.browse_button = QPushButton("Browse") - self.browse_button.clicked.connect(self.browse_cookie_file) - path_layout.addWidget(self.browse_button) - - layout.addLayout(path_layout) - - # Dialog buttons - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) - button_box.accepted.connect(self.accept) - button_box.rejected.connect(self.reject) - layout.addWidget(button_box) - - def browse_cookie_file(self) -> None: - # Open file dialog to select cookie file - selected_files, _ = QFileDialog.getOpenFileName(self, "Select Cookie File", "", "Cookies files (*.txt *.lwp)") - if selected_files: - self.cookie_path_input.setText(selected_files[0]) - - def get_cookie_file_path(self) -> str: - # Return the selected cookie file path - return self.cookie_path_input.text() + self.output_received.emit("=" * 50) + self.error_occurred.emit(f"❌ Error executing command: {str(e)}") class CustomOptionsDialog(QDialog): @@ -294,7 +112,7 @@ class CustomOptionsDialog(QDialog): super().__init__(parent) self._parent: YTSageApp = cast("YTSageApp", self.parent()) # cast will help with auto complete and type hint checking. self.setWindowTitle("Custom Options") - self.setMinimumSize(600, 500) + self.setMinimumSize(550, 400) # Made even shorter layout = QVBoxLayout(self) # Create tab widget to organize content @@ -307,25 +125,92 @@ class CustomOptionsDialog(QDialog): # Help text help_text = QLabel( - "Select the Netscape-format cookies file for logging in.\n" + "Choose how to provide cookies for logging in.\n" "This allows downloading of private videos and premium quality audio." ) help_text.setWordWrap(True) help_text.setStyleSheet("color: #999999; padding: 10px;") cookies_layout.addWidget(help_text) + # Cookie source selection + cookie_source_group = QGroupBox("Cookie Source") + cookie_source_layout = QVBoxLayout(cookie_source_group) + + # Radio buttons for cookie source + self.cookie_file_radio = QRadioButton("Use cookie file (Netscape format)") + self.cookie_file_radio.setChecked(True) + self.cookie_file_radio.toggled.connect(self.on_cookie_source_changed) + cookie_source_layout.addWidget(self.cookie_file_radio) + + self.cookie_browser_radio = QRadioButton("Extract cookies from browser") + self.cookie_browser_radio.toggled.connect(self.on_cookie_source_changed) + cookie_source_layout.addWidget(self.cookie_browser_radio) + + cookies_layout.addWidget(cookie_source_group) + + # Cookie file section + self.cookie_file_group = QGroupBox("Cookie File") + file_layout = QVBoxLayout(self.cookie_file_group) + # File path input and browse button path_layout = QHBoxLayout() self.cookie_path_input = QLineEdit() self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") if hasattr(self._parent, "cookie_file_path") and self._parent.cookie_file_path: - self.cookie_path_input.setText(self._parent.cookie_file_path.as_posix()) + # Convert Path to string properly and validate + cookie_path_str = str(self._parent.cookie_file_path) + # Only set if it looks like a valid path (more than just a drive letter) + if len(cookie_path_str) > 3 and not cookie_path_str.endswith(':'): + self.cookie_path_input.setText(cookie_path_str) path_layout.addWidget(self.cookie_path_input) self.browse_button = QPushButton("Browse") self.browse_button.clicked.connect(self.browse_cookie_file) path_layout.addWidget(self.browse_button) - cookies_layout.addLayout(path_layout) # Add the horizontal layout to cookies layout + file_layout.addLayout(path_layout) + + cookies_layout.addWidget(self.cookie_file_group) + + # Browser selection section + self.cookie_browser_group = QGroupBox("Browser Selection") + browser_layout = QVBoxLayout(self.cookie_browser_group) + + browser_help = QLabel( + "Select the browser to extract cookies from. Make sure the browser is closed before extraction." + ) + browser_help.setWordWrap(True) + browser_help.setStyleSheet("color: #999999; font-size: 11px;") + browser_layout.addWidget(browser_help) + + browser_select_layout = QHBoxLayout() + browser_select_layout.addWidget(QLabel("Browser:")) + + self.browser_combo = QComboBox() + self.browser_combo.addItems([ + "chrome", + "firefox", + "safari", + "edge", + "opera", + "brave", + "chromium", + "vivaldi" + ]) + browser_select_layout.addWidget(self.browser_combo) + browser_layout.addLayout(browser_select_layout) + + # Optional profile field + profile_layout = QHBoxLayout() + profile_layout.addWidget(QLabel("Profile (optional):")) + self.profile_input = QLineEdit() + self.profile_input.setPlaceholderText("Profile name or path (leave empty for default)") + profile_layout.addWidget(self.profile_input) + browser_layout.addLayout(profile_layout) + + cookies_layout.addWidget(self.cookie_browser_group) + + # Initially hide browser group + self.cookie_browser_group.setVisible(False) # Status indicator for cookies self.cookie_status = QLabel("") @@ -338,80 +223,126 @@ class CustomOptionsDialog(QDialog): command_tab = QWidget() command_layout = QVBoxLayout(command_tab) - # Help text + # Improved help text cmd_help_text = QLabel( - "Enter custom yt-dlp commands below. The URL will be automatically appended.\n" - "Example: --extract-audio --audio-format mp3 --audio-quality 0\n" - "Note: Download path and output template will be preserved." + "Enter your custom yt-dlp command below. The current URL will be automatically appended.

" + "For complete list of options and usage examples, " + f'click here to view the official yt-dlp documentation.

' + "Note: Download path and output filename template will be automatically handled." ) cmd_help_text.setWordWrap(True) - cmd_help_text.setStyleSheet("color: #999999; padding: 10px;") - command_layout.addWidget(cmd_help_text) - - # Add SponsorBlock checkbox - self.sponsorblock_checkbox = QCheckBox("Remove Sponsor Segments") - self.sponsorblock_checkbox.setStyleSheet( + cmd_help_text.setOpenExternalLinks(True) # Enable clicking links + cmd_help_text.setTextFormat(Qt.TextFormat.RichText) # Enable HTML rendering + cmd_help_text.setStyleSheet( """ - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 0px; + QLabel { + color: #cccccc; + font-size: 12px; + padding: 10px; + background-color: #1a1d20; + border-radius: 6px; + line-height: 1.4; } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; + QLabel a { + color: #4da6ff; + text-decoration: underline; } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #1d1e22; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 9px; + QLabel a:hover { + color: #66b3ff; } """ ) - command_layout.addWidget(self.sponsorblock_checkbox) + command_layout.addWidget(cmd_help_text) + + # Command input label + input_label = QLabel("yt-dlp Arguments:") + input_label.setStyleSheet("font-size: 14px; font-weight: bold; color: #ffffff; margin-top: 10px;") + command_layout.addWidget(input_label) # Command input self.command_input = QPlainTextEdit() - self.command_input.setPlaceholderText("Enter yt-dlp arguments...") + self.command_input.setPlaceholderText( + "Enter yt-dlp arguments here...\n\n" + "e.g. --extract-audio --audio-format mp3" + ) + self.command_input.setMinimumHeight(80) # Reduced further from 100 self.command_input.setStyleSheet( """ QPlainTextEdit { background-color: #1d1e22; color: #ffffff; - border: 2px solid #1d1e22; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; + border: 2px solid #2a2d36; + border-radius: 6px; + padding: 12px; + font-family: 'Consolas', 'Monaco', 'Courier New', monospace; + font-size: 13px; + line-height: 1.4; + } + QPlainTextEdit:focus { + border-color: #c90000; } """ ) command_layout.addWidget(self.command_input) + # Button layout + button_layout = QHBoxLayout() + button_layout.setSpacing(10) + + clear_btn = QPushButton("Clear") + clear_btn.clicked.connect(lambda: self.command_input.clear()) + clear_btn.setStyleSheet( + """ + QPushButton { + padding: 8px 15px; + background-color: #444444; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QPushButton:hover { + background-color: #555555; + } + """ + ) + button_layout.addWidget(clear_btn) + + button_layout.addStretch() # Push run button to the right + # Run command button self.run_btn = QPushButton("Run Command") self.run_btn.clicked.connect(self.run_custom_command) - command_layout.addWidget(self.run_btn) + self.run_btn.setDefault(True) + button_layout.addWidget(self.run_btn) + + command_layout.addLayout(button_layout) + + # Output label + output_label = QLabel("Command Output:") + output_label.setStyleSheet("font-size: 14px; font-weight: bold; color: #ffffff; margin-top: 15px;") + command_layout.addWidget(output_label) # Log output self.log_output = QTextEdit() self.log_output.setReadOnly(True) + self.log_output.setPlaceholderText("Command output will appear here...") + self.log_output.setMinimumHeight(100) # Reduced further from 120 self.log_output.setStyleSheet( """ QTextEdit { background-color: #1d1e22; color: #ffffff; - border: 2px solid #1d1e22; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; + border: 2px solid #2a2d36; + border-radius: 6px; + padding: 12px; + font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: 12px; } + QTextEdit:focus { + border-color: #c90000; + } """ ) command_layout.addWidget(self.log_output) @@ -454,6 +385,61 @@ class CustomOptionsDialog(QDialog): QLabel { color: #ffffff; } + QGroupBox { + border: 1px solid #3d3d3d; + border-radius: 4px; + margin-top: 1.5ex; + color: #ffffff; + padding: 10px; + } + QGroupBox::title { + subcontrol-origin: margin; + subcontrol-position: top left; + padding: 0 5px; + } + QRadioButton { + color: #ffffff; + padding: 5px; + } + QRadioButton::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QRadioButton::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QRadioButton::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + QComboBox { + padding: 8px; + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + color: #ffffff; + min-width: 150px; + } + QComboBox::drop-down { + border: none; + width: 20px; + } + QComboBox::down-arrow { + border: none; + width: 12px; + height: 12px; + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMgNEw2IDdMOSA0IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=); + } + QComboBox QAbstractItemView { + background-color: #1d1e22; + color: #ffffff; + border: 1px solid #3d3d3d; + selection-background-color: #c90000; + } QLineEdit { padding: 8px; border: 2px solid #1b2021; @@ -475,138 +461,139 @@ class CustomOptionsDialog(QDialog): """ ) + # Initialize dialog with current settings (after all widgets and styles are set) + self._initialize_cookie_settings() + + def _initialize_cookie_settings(self) -> None: + """Initialize the dialog with current cookie settings from parent""" + if hasattr(self._parent, "browser_cookies_option") and self._parent.browser_cookies_option: + # Browser cookies are active + self.cookie_browser_radio.setChecked(True) + browser_parts = self._parent.browser_cookies_option.split(':') + browser = browser_parts[0] + profile = browser_parts[1] if len(browser_parts) > 1 else "" + + # Set browser selection + index = self.browser_combo.findText(browser) + if index >= 0: + self.browser_combo.setCurrentIndex(index) + + # Set profile if any + self.profile_input.setText(profile) + + self.cookie_status.setText(f"Browser cookies active: {self._parent.browser_cookies_option}") + self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") + elif hasattr(self._parent, "cookie_file_path") and self._parent.cookie_file_path: + # File cookies are active - ensure file radio is selected and update status + self.cookie_file_radio.setChecked(True) + self.cookie_status.setText(f"Cookie file active: {self._parent.cookie_file_path.name}") + self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") + else: + # No cookies configured - ensure file radio is selected by default + self.cookie_file_radio.setChecked(True) + + def on_cookie_source_changed(self) -> None: + """Handle cookie source radio button changes""" + if self.cookie_file_radio.isChecked(): + self.cookie_file_group.setVisible(True) + self.cookie_browser_group.setVisible(False) + self.cookie_status.setText("") + else: + self.cookie_file_group.setVisible(False) + self.cookie_browser_group.setVisible(True) + self.cookie_status.setText("Browser cookies will be extracted when applied") + self.cookie_status.setStyleSheet("color: #ffaa00; font-style: italic;") + def browse_cookie_file(self) -> None: # Open file dialog to select cookie file selected_files, _ = QFileDialog.getOpenFileName(self, "Select Cookie File", "", "Cookies files (*.txt *.lwp)") if selected_files: - self.cookie_path_input.setText(selected_files[0]) + # Ensure we have a valid full path + cookie_path = Path(selected_files).resolve() + self.cookie_path_input.setText(str(cookie_path)) self.cookie_status.setText("Cookie file selected - Click OK to apply") self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") def get_cookie_file_path(self) -> Path | None: - # Return the selected cookie file path if it's not empty - path = Path(self.cookie_path_input.text().strip()) - if path and path.exists(): - return path + # Return the selected cookie file path if it's not empty and using file mode + if self.cookie_file_radio.isChecked(): + path_text = self.cookie_path_input.text().strip() + if path_text: + path = Path(path_text) + if path.exists() and path.is_file(): + return path + else: + # File doesn't exist or is not a file - still return path for user feedback + return path if len(path_text) > 3 else None # Avoid single letters like 'C' return None + def get_browser_cookies_option(self) -> str | None: + """Returns the --cookies-from-browser option string if browser mode is selected""" + if self.cookie_browser_radio.isChecked(): + browser = self.browser_combo.currentText() + profile = self.profile_input.text().strip() + + if profile: + return f"{browser}:{profile}" + else: + return browser + return None + + def is_using_browser_cookies(self) -> bool: + """Returns True if browser cookies mode is selected""" + return self.cookie_browser_radio.isChecked() + def run_custom_command(self) -> None: url = self._parent.url_input.text().strip() if not url: - self.log_output.append("Error: No URL provided") + self.log_output.append("❌ Error: No URL provided. Please enter a URL in the main window.") return command = self.command_input.toPlainText().strip() + if not command: + self.log_output.append("❌ Error: No command provided. Please enter yt-dlp arguments.") + return # Get download path from parent path = self._parent.last_path self.log_output.clear() - self.log_output.append(f"Running command with URL: {url}") + self.log_output.append("🚀 Executing custom yt-dlp command") + self.log_output.append(f"📍 URL: {url}") + self.log_output.append(f"⚙️ Arguments: {command}") + if path: + self.log_output.append(f"📁 Download path: {path}") + self.log_output.append("=" * 50) self.run_btn.setEnabled(False) + self.run_btn.setText("Running...") - # Start command in thread - threading.Thread(target=self._run_command_thread, args=(command, url, path), daemon=True).start() + # Create worker and thread + self.worker = CommandWorker(command, url, path) + self.worker_thread = threading.Thread(target=self.worker.run_command, daemon=True) + + # Connect worker signals to our slots + self.worker.output_received.connect(self.on_output_received) + self.worker.command_finished.connect(self.on_command_finished) + self.worker.error_occurred.connect(self.on_error_occurred) + + # Start the thread + self.worker_thread.start() - def _run_command_thread(self, command, url, path) -> None: - try: + def on_output_received(self, text: str): + """Slot for receiving output from the worker""" + self.log_output.append(text) - class CommandLogger: - def debug(self, msg): - QMetaObject.invokeMethod( - self.dialog.log_output, - b"append", - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, msg), - ) + def on_command_finished(self, success: bool, exit_code: int): + """Slot for when command finishes""" + self.run_btn.setEnabled(True) + self.run_btn.setText("Run Command") - def warning(self, msg): - QMetaObject.invokeMethod( - self.dialog.log_output, - b"append", - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Warning: {msg}"), - ) - - def error(self, msg): - QMetaObject.invokeMethod( - self.dialog.log_output, - b"append", - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Error: {msg}"), - ) - - def __init__(self, dialog): - self.dialog = dialog - - # Split command into arguments - args = command.split() - - # Add SponsorBlock if selected - yt_dlp_path = get_yt_dlp_path() - base_cmd = [yt_dlp_path] + args + [url] - - if self.sponsorblock_checkbox.isChecked(): - base_cmd.extend(["--sponsorblock-remove", "sponsor,selfpromo,interaction"]) - - # Show the full command - QMetaObject.invokeMethod( - self.log_output, - b"append", - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Full command: {' '.join(base_cmd)}"), - ) - - # Run the command - proc = subprocess.Popen( - base_cmd, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - text=True, - encoding="utf-8", - errors="replace", - ) - - # Stream output - for line in proc.stdout: # type: ignore[reportOptionalIterable] - QMetaObject.invokeMethod( - self.log_output, - b"append", - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, line.rstrip()), - ) - - ret = proc.wait() - if ret != 0: - QMetaObject.invokeMethod( - self.log_output, - b"append", - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Command exited with code {ret}"), - ) - else: - QMetaObject.invokeMethod( - self.log_output, - b"append", - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, "Command completed successfully"), - ) - except Exception as e: - QMetaObject.invokeMethod( - self.log_output, - b"append", - Qt.ConnectionType.QueuedConnection, - Q_ARG(str, f"Error: {str(e)}"), - ) - finally: - # Re-enable the run button - QMetaObject.invokeMethod( - self.run_btn, - b"setEnabled", - Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True), - ) + def on_error_occurred(self, error_msg: str): + """Slot for handling errors""" + self.log_output.append(error_msg) + self.run_btn.setEnabled(True) + self.run_btn.setText("Run Command") class TimeRangeDialog(QDialog): @@ -677,31 +664,6 @@ class TimeRangeDialog(QDialog): ) layout.addWidget(self.force_keyframes) - # Format preview - preview_group = QGroupBox("Command Preview") - preview_layout = QVBoxLayout() - self.preview_label = QLabel('--download-sections "*-"') - self.preview_label.setStyleSheet( - """ - QLabel { - background-color: #1d1e22; - color: #ffffff; - border: 1px solid #3d3d3d; - border-radius: 4px; - padding: 8px; - font-family: Consolas, monospace; - } - """ - ) - preview_layout.addWidget(self.preview_label) - preview_group.setLayout(preview_layout) - layout.addWidget(preview_group) - - # Connect signals for live preview updates - self.start_time_input.textChanged.connect(self.update_preview) - self.end_time_input.textChanged.connect(self.update_preview) - self.force_keyframes.stateChanged.connect(self.update_preview) - # Buttons button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) button_box.accepted.connect(self.accept) @@ -751,26 +713,7 @@ class TimeRangeDialog(QDialog): ) # Initialize preview - self.update_preview() - - def update_preview(self) -> None: - start = self.start_time_input.text().strip() - end = self.end_time_input.text().strip() - - if start and end: - time_range = f"*{start}-{end}" - elif start: - time_range = f"*{start}-" - elif end: - time_range = f"*-{end}" - else: - time_range = "*-" # Full video - - preview = f'--download-sections "{time_range}"' - if self.force_keyframes.isChecked(): - preview += " --force-keyframes-at-cuts" - - self.preview_label.setText(preview) + # self.update_preview() # Removed preview functionality def get_download_sections(self) -> str | None: """Returns the download sections command arguments or None if no selection made""" From 47609c7017c99518df940fa676fd37f6ff1e2b37 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:27:51 +0300 Subject: [PATCH 105/568] Update default version in AboutDialog Changed the default version displayed in the AboutDialog from '4.7.0' to '4.8.0b' to reflect the latest release. --- src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index 5f67b27..97994db 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -155,7 +155,7 @@ class AboutDialog(QDialog): layout.addWidget(title_label) version_label = QLabel( - f"Version {getattr(self._parent, 'version', '4.7.0')}" + f"Version {getattr(self._parent, 'version', '4.8.0b')}" ) version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(version_label) From 6ff72f296a78ca2e93f56ce853b2c9182597c28c Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 19:27:59 +0300 Subject: [PATCH 106/568] Add yt-dlp error parser for user-friendly messages Introduces the parse_yt_dlp_error function to convert raw yt-dlp error messages into actionable, user-friendly feedback. This improves error handling and provides clearer guidance to users encountering common download issues. --- src/core/ytsage_utils.py | 72 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index 829ae5a..e3a9677 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -629,3 +629,75 @@ def update_auto_update_settings(enabled, frequency) -> bool: except Exception as e: logger.error(f"Error updating auto-update settings: {e}") return False + + +def parse_yt_dlp_error(error_message: str) -> str: + """ + Parse yt-dlp error messages and return user-friendly error messages. + + Args: + error_message: The raw error message from yt-dlp + + Returns: + str: A user-friendly error message with actionable advice + """ + error_str = str(error_message).lower() + + # Private video errors + if any(keyword in error_str for keyword in ['private video', 'login_required', 'sign in if you']): + return ("This is a private video. You can download it by logging into your account using cookies.\n" + "Go to 'Custom Options' → 'Login with Cookies' → 'Extract cookies from browser' to authenticate.") + + # Age-restricted content + if any(keyword in error_str for keyword in ['age restricted', 'age-restricted', 'confirm your age']): + return ("This video is age-restricted. You need to be logged in to access it.\n" + "Use 'Custom Options' → 'Login with Cookies' to authenticate with your account.") + + # Geo-blocked content + if any(keyword in error_str for keyword in ['not available in your country', 'geo-blocked', 'video is not available', 'not made this video available in your country']): + return ("This video is not available in your region (geo-blocked).\n" + "You may need to use a VPN or the video might be restricted in your country.") + + # Removed/deleted videos + if any(keyword in error_str for keyword in ['video unavailable', 'this video has been removed', 'video does not exist']): + return ("This video has been removed or is no longer available.\n" + "The video may have been deleted by the uploader or removed due to policy violations.") + + # Live stream errors + if any(keyword in error_str for keyword in ['live stream', 'livestream', 'is live']): + return ("This is a live stream that cannot be downloaded while active.\n" + "Wait for the stream to end, then try downloading the archived version.") + + # Playlist errors + if any(keyword in error_str for keyword in ['playlist', 'no entries']): + return ("Unable to access this playlist. It may be private, deleted, or empty.\n" + "Check if the playlist exists and is publicly accessible.") + + # Network/connection errors + if any(keyword in error_str for keyword in ['network error', 'connection', 'timeout', 'unable to download']): + return ("Network connection error. Please check your internet connection and try again.\n" + "If the problem persists, the video server might be temporarily unavailable.") + + # Invalid URL + if any(keyword in error_str for keyword in ['invalid url', 'unsupported url', 'no video found']): + return ("Invalid or unsupported URL. Please check the link and try again.\n" + "Make sure you're using a valid YouTube, Vimeo, or other supported platform URL.") + + # YouTube premium content + if any(keyword in error_str for keyword in ['youtube premium', 'premium', 'members only']): + return ("This content requires YouTube Premium or channel membership.\n" + "You need to be logged in with an account that has access to this content.") + + # Copyright/DMCA + if any(keyword in error_str for keyword in ['copyright', 'dmca', 'blocked']): + return ("This video is blocked due to copyright claims.\n" + "The content owner has restricted access to this video.") + + # Extraction errors (could be temporary) + if any(keyword in error_str for keyword in ['unable to extract', 'extraction failed']): + return ("Failed to extract video information. This might be a temporary issue.\n" + "Please try again in a few minutes, or check if the video link is correct.") + + # Generic fallback with the original error for debugging + return (f"Could not extract video information. Please check your link.\n" + f"Technical details: {error_message}") From fa983d75a58396cc842903bb11eefbf3c56ad4a1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 23:57:56 +0300 Subject: [PATCH 107/568] Replace pygame with playsound3 for audio notifications Switched from pygame to playsound3 for playing notification sounds in the GUI. Updated requirements.txt and refactored related code to use playsound3, improving compatibility and simplifying sound playback. --- requirements.txt | 2 +- src/gui/ytsage_gui_main.py | 31 ++++++++++++------------------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/requirements.txt b/requirements.txt index e44a81b..4823a6d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,6 @@ requests pillow packaging markdown -pygame +playsound3 loguru setuptools \ No newline at end of file diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index b0fe2da..edc174d 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -55,11 +55,10 @@ except ImportError: YT_DLP_AVAILABLE = False try: - import pygame - - PYGAME_AVAILABLE = True + from playsound3 import playsound + PLAYSOUND_AVAILABLE = True except ImportError: - PYGAME_AVAILABLE = False + PLAYSOUND_AVAILABLE = False class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins @@ -72,8 +71,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Log startup warnings for missing dependencies if not YT_DLP_AVAILABLE: self.logger.warning("yt-dlp not available at startup, will be downloaded at runtime") - if not PYGAME_AVAILABLE: - self.logger.warning("pygame not available, audio notifications disabled") + if not PLAYSOUND_AVAILABLE: + self.logger.warning("playsound3 not available, audio notifications disabled") # Check for FFmpeg before proceeding if not check_ffmpeg(): @@ -305,14 +304,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Initialize UI state based on current mode self.handle_mode_change() - # Initialize pygame for sound notifications + # Initialize playsound3 for sound notifications self.init_sound() def init_sound(self) -> None: - """Initialize pygame mixer for sound notifications""" + """Initialize playsound3 for sound notifications""" try: - if PYGAME_AVAILABLE: - pygame.mixer.init() + if PLAYSOUND_AVAILABLE: self.sound_enabled = True # sound_path logic moved to src\utils\ytsage_constants.py @@ -326,7 +324,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.logger.info(f"Notification sound loaded from: {self.notification_sound_path}") else: self.sound_enabled = False - self.logger.info("Sound notifications disabled - pygame not available") + self.logger.info("Sound notifications disabled - playsound3 not available") except Exception as e: self.logger.error(f"Error initializing sound: {e}") @@ -339,14 +337,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def play_sound() -> None: try: - if PYGAME_AVAILABLE: - # Load and play the sound - pygame.mixer.music.load(self.notification_sound_path) - pygame.mixer.music.play() - - # Wait for the sound to finish playing - while pygame.mixer.music.get_busy(): - pygame.time.wait(100) + if PLAYSOUND_AVAILABLE: + # Play the sound using playsound3 + playsound(str(self.notification_sound_path)) except Exception as e: self.logger.error(f"Error playing notification sound: {e}") From 09b538c0bd7956cbc21e490f1aa0b664670b8341 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 00:09:07 +0300 Subject: [PATCH 108/568] Move yt_dlp import inside method in VideoInfoMixin The import of yt_dlp is now performed locally within the method to prevent import errors when yt-dlp is not installed. This change improves robustness for environments where yt-dlp may be missing. --- src/gui/ytsage_gui_video_info.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py index 354e9d9..362524d 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -8,7 +8,6 @@ from PIL import Image from PySide6.QtCore import Qt from PySide6.QtGui import QPixmap from PySide6.QtWidgets import QHBoxLayout, QLabel, QMainWindow, QPushButton, QVBoxLayout, QWidget -from yt_dlp import YoutubeDL from src.core.ytsage_logging import logger from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py @@ -372,6 +371,9 @@ class VideoInfoMixin: return False try: + # Import yt_dlp locally to avoid import errors when yt-dlp is not installed + from yt_dlp import YoutubeDL + logger.debug(f"Attempting to save thumbnail for URL: {video_url}") ydl_opts = { From 82fb4e72401ba5f3b1b61b368825346121a82813 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 00:56:45 +0300 Subject: [PATCH 109/568] Add branding icon assets Added YTSage.ico, icon.icns, and icon.png to the assets/branding/icons directory for application branding across platforms. --- assets/branding/icons/YTSage.ico | Bin 0 -> 222786 bytes assets/branding/icons/icon.icns | Bin 0 -> 153835 bytes assets/branding/icons/icon.png | Bin 0 -> 61120 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/branding/icons/YTSage.ico create mode 100644 assets/branding/icons/icon.icns create mode 100644 assets/branding/icons/icon.png diff --git a/assets/branding/icons/YTSage.ico b/assets/branding/icons/YTSage.ico new file mode 100644 index 0000000000000000000000000000000000000000..88729316d25eac95cd20041d4547aa03c6e1ee04 GIT binary patch literal 222786 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 z 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

c{^#Hew<(5@Yju2qfJ1B7qWQ6( zf_&rkm>U{Hj#M9v!oW}hst=<%xdC$1c1+*$1w8fLd(d8JVN*?DI3X)N?V%{_%p8K& zip&~eweP;4^*R&AHh6$q>>opBa;FE2X~5_j*6M4L{2Vu z$Atw17*!$Ah$GY@iM9ZSWRBSb2Ot>AH61(i@}(4Yij(qswOSn*v!ZNnm{)Z>tL3Qygb2OqImA;lXb_=7glZ&EjfG+WkqQenTQU6u zHKcb+4oGUCE3=HjGG-2=8ZD4#A^`(!!ISD1zi?{54LC9Ysb}k&j0wi`Fk7iY+;9U% z-hLAf)rKHtj8v*K3IIkf1-dyP$0s4Kz82NhYaq95$BsL{j=94x;H*qww3Z-^fJh2; zqONI^9tL9RfHZC2JA*)a!{RdOdS3;nAA27J$D4=DgLH71rdyvG?Us13PBb~CrKhxK zA^I*cZBk!y{4i1c!0W9lnL%RhMb#6wbel# zgoY5PlS=bdF?+L_K!rMun~U^;n`(~e2pD3RKp(}G{T9Nr-wP7L-pBe~T4`b7J?a*` zk!%ilWDrN{^GKjIG=}jvUIVNeL)1~hO+!(FdNl?jpqB%!p2S>RV!kVo)h|F})oO@y zx8dYBzl6?rAHe3h7S_}hGjzw4nNBIB-zhs%dkX-v`yxEO#arC2Lj|nE8(9DR7r#Kc#2?mM(^|DK)bFr%`J%tK}6 zB{6_*uY(O6*5i^blh}LY@cD5Rzb^(QFp*A$fef)biCR+CA>mv~ET_^hj{yYdvI~G0 z7EtSTP=!Q|2z3F}1&{(DDU?6kJZsc#Er6`*tGNK{zW8Sq6%=-Fz&ux1z$B!{(EQI; zg$@`cM>n&5U$;#PfqY~fBb&CMU8!J*fO?u>vYw)ns$74Pfp!MWb|g-rD@r?wzSpsb02z{f5gM&E~#l$T%k`SQMf#A&kGD zjjExUj8XlSG;>T!skEZnK&8adcA045T`+J?Zo;S|Ho2vm!}TQ(qm*E>=DnV(1N z?LUMawN=+pqQOh7Dnvlh#822bknZ=LR zr~YpS+4=!7oup>YZCrpaza8+`AD0leNwk z$fc5s`tVMn6LPq$L&bNxz!>su$WVRpH>gnmrB!~H)56`~zX8bHZ_h>o6{MPxe9S_{ z&l4fCskwE(L?N-NClQGmF#)w$V7#7U%}4{|!!^_@F=U#cyKx<&cfJj^fA-Tje*IhU zbkfAWg$&bOMoSWU0CK2}MNTpor98mWi(J%9f|wi~tybml_zREzcJUS-Z6MIUE6|ON zyWB>i;xn$jzP6^Ntq!j?w!KZ+KtN2&T^vJaNEaNiu&})=EI~*s>7*esgkYQC)I?`` zsu?RrHB*(CZvECU+TlNCw)LF3Lh#f zebHa0qW*25bvkNVB z<0j&(Eg_(VOurA9nT2tpCl38%f-U0=D05Dt#gBOM0XA89ynQ`!^ zhY=ZpV*TdMt!mP48VPRZQ0Rdw@mXrRNv0sEOc0O&NZ8Xh%-M$CyB5ozv@{WvkdQe8 zF(HX#bUIxx^_pkG_}&u<5^;24948m7+c0s2SmMRKFRr*5r^NvN#lQRw-1haa;%~nG zEnIs3g%>4ha)BM75H=19Gb2u72qAQm#M7YLBAP%kORJH9=7gOvYpYS|>?nj9f#sdn0qvt;a=Y;frn|dex_t~p!j6vf=!D=dq2E(u#@h|628Ly5!UzBn12Gis z?R!tpych5c7Ty<&h_UV}w*Lzwfz=Pku z1Fze(8e2DRN~&pcVw=)Bw`m5ZH;SM_=JvWD` zdd#Iy5cw*yH|V4eIUTJhSTokdR)dna^kdKc;T=RNV|JlbNKl*XJc;4lBqLX6p zY=*gx+Nv#!Ae{!s{6r;T+?S{1vwy+u-|kB#M%IKdX~4}Qbfy#Rb0#ONNdsm~Fx3uc zp7=+M`$<<^1~h`7cu9Z|={A_%gX}HLmx5VY>X4diS)PMPVB_Kutp(*2)Nct%4~8lQpnJJcv(vv%zy@lLf6j>BF8TU>|S{ z0>NT2Kgvkge0z`lBSrNS-@PYgI-La z^S2}2v<}fl7h~pIx8vzMzKyAwW7u4aFqE=RYXXo-%wZ}t;3b)#MahN2#wq_Ndq0W? znU?+Tv^2G!g1vV+v^RXZd@Ret)Cmr7HP(ii7iY4V7E0-B0bT9M@cZfdry>J$M3K07 zczEc%-~OHdeB|eT?x*m`qfe};?vsnkd*5$S(IxQ zCyV*p-#NJaW-66mX{8)$rcST63s^}S;o~x%v?-f31?|N{YSm$zy1hCanzHa>ZC^f_5PYb7!21lSEQ@lb*^ZJ;t2V{W01b~i^pItFp&TuhMQh&{1z#DtV`L`;B)0uPHJN4d2Yo>Dx>q#J;gXwq>1jTGV$VHC}P zF)QZyv2(<+5(Tmra49kv#F-Of<}F#CBh_ZI%stPEH^1yQEfvAJib%Zu4cA=#K%-u7 zA3t^sfBYAJi=Y4a@&bfcYy!kljE(EopeeF6jpG|4(0DPWeb6bb;Xwd#5+ReaG}G@& zQU0<*%zCS)4x7|+#KI|t5wMZ0fJr?iAym?DhEB*!>MCRbFTmEJ;P!F=I91I<&1IOT zn}fW4VLd?tUchD9VTQ>T>^UbL4bVT${U(;3#v&k*M8I$@#_G`;CdY=*tk)1l0+|rt z4Qo()*V{1k)1Sb}*WZ9AP{F=duHptVMy_@t6~H#fv_o@&jd2BY0+9O`#!vWWVrX@l zd&v9Vscu0SH2{}VtuS`R3*n=|wykb)n^yV9);o;pB~RO6%s5x|sB;8@yi@^Y4N4@L zQxQe)m|VST!}v%YZ+^?0aPs8x6Nj#t0W2)cV|5M4dfmxb(DedHmYQ@qONclE2*{*d zHosh{jb#?Mk*MU`$o8GE>BiM@e(GeH96%51908p@T3rl#C~1&XlfA?l-gy9Kdgm;W zv$S?)UvP{BO!5ss*@a|jKgl73I}8j#oGX2?96t-0l|N}b7^67-1Oo{e^+aH_kz!)F zj^SF0G*Y{|v(Xx&H(Z9HpZqAg@BR>Wj;zIjHZa>GbaNHgu9%s>C|M;Z<*=tYNl41W zq#}{;~AZwy0z}=Qf9$ulw}heSy|*SdahZ*M4!?Rj?H>z$xtU});v&xCCffhdi$MLf8?6mTQ&!x0BG1{b6VsqA_5c))T z??`8*JQLI*5zwA_-3tG_a?hi{-tW@Way+viK3g*aMcKQstF-@gINxRs5CcaSLtFDc z=oHt|_scsEMxSey!0*Gr7Dp3__OgJ?!u+Z*6atd+IxfmH4L2uo9 z9Qx{)v9RYktjRNsRv6V-AYz6)`AEH5pYRvDz6|l$`@lCPOWlBay!<|uNFDzqv0$EY zKkM@*oNbPab?{Vv5BO6aBfnYw^M2W-Z@9?i4HPOqpjd}r8#5px8cNg3o6g>P)|aZl|sWGs-cTZ8oNZ$tH` zej4*PybZf*6WF~VaiT5J>M}BI7UaIywreG44_J8ivFSw`V zlD0j*iJ_;F^1FJjMPo_?V!O|TTkhoztNmLYgQ>D)xpZftHb5|*Ooo&k#Yub(0UNHr z`mN~oy31bAE7Aa_rlzo}0#vKjN|IJC0f`hI0w35?dOAxm;z&S{K$gpZJDa;gBlh$- zDQmxJu#n7RHg>fSSCf&*-hrPbl0`{zp9}a4&o_JumbkC783?(cllyg>No6wG_%^YN z7KGkjodbDhp0pYOxyoD{J#an9FcUa07==dxsBFmwAgm-YrsEh>vn|YZCAuR`q}N=9 zWaD~tF1#3fzxj0>-T4$Yi5!zjgleJ=6idUny8dvF6gPyU+W2FBuTPmbaeFWU-*q* z*|}}oHopBk58};lyn4yHm(2kF=&$|}Yu2vEt@k~KX0tgF$MGdZ5KdzE_nJsatF)?8 ze&y@}U&@K(sX3lj;eS6ET@DA$gwa?&Z5Onb;o2?d^5GU1j$fY{u-jzJaG6ycg@|PGSQHLnKgv3Z@ZJ;97B7 z9(yZi5jC3oei?K_|HnZ%cgcMg+_TRZ(@P@-Cc7QEh0X)s74!|u1h)(CA*lTUX%a(_ zSQ=trKtK#vE7i--KktHXZP~mrf99#>xdWHY0Hl9$3&pe4sF1UDm9Er_g%lca> zHD9oyzrh&yiO7B-S-9WB_uy>x0g>3&HrL1e87^*KU{Q7NT@e1GUO!~;V#n@eUwx`c z<&%Rv&R`LJ7!}aR5S*4_lM5LHff$lAwLjhPe+_aefS=2nmz?zA)Os5CZJgn zsKiyI6@kiJj8ijhv^yE{;U<#TUxm>%YcX^7xp?u8TQI%*8EnZitgb|;B>*C+&Rz6d z!#*m~Cwg7`0^V9+w1Zo2?>D9+ds<%q-5v%}#><77jLxJSH1YaQM_;N0s*CDjE={^T zfnG0jfk=hAJPkC71ikLW$)im{=S@#9Gb(V|4B+tL!+6VE-hx#J$3?wXyC4=~)F)86 z@1GFI5h4+xtItQbs+hOGJLs728u$LTrwcK>z4~VFy1vJ#{N`DcOcy%IwbUv$5g>(Y zgXw`}8}JdTo#l(l$QIiV^!FnKnidNxauWcB3FKO-e3G0?aIOvuQB9@3>doW9gby6` zezVJz=kPgo-Ug!*0~3t|)igpij&X9fjrmR&841wYn^2z|N3?w_roZ_OJbnM2Xt$@a zUPNfdDx}tD*i<^9`~M7D=XI!v6G}LSGT<)A{vlF7rI!_n*vpbsoZ%rz>>8@|H1^^H zPQx59NSb7odnrvLWW6px#XTr8csaAAB#F1JS+jch`0Q(A(CA7u_?nGSF=dVp5*y?`7)E@Plo zQsg%S2G##KB0@8b5swPgt1(W^w=p%}#e646HyK6cnro15*novio3QJvpNE_}g3S@o zATFE{y_k@cVdH%o`dg#zExtD4r#ORE{E9U2Umpr#gTuHO1M*BTqZJJzRA^$Y4Ab(@ zyO7!pSg^{+AW^I4cNB@WL}K&jKKI#uH{5XJvg%tl12}T<7``GOMBEdTg2aWe+s_FF z#mwssBaRbfnQxJMeJLSQ(Lx9uWOniO13CRJMCbam$u`KS%nnTzLEYYll7jwRjyw5a zUpOg?kbr7eX_r;a1z6a4G^~4-6_QP0bp*M|qU`x1?F28WC%`d_{qZ#4K?|~9L014_ z5~ZkCVpOVKoS5xldOkxhW>mLt$C_1>I3@)4{QYMz)R{wtB;ptlIwLU`W=?nl(4d7w z0YL-!iT(NDwX{TE4`-0eCL9DV**y&gdm_uEsjOX=G8p)6xL&yMU0Cv5qLRcQQU{2T z#!%dz8~3ovupNyyo6RlPTyyPrhK7c?Y!gwjEQ1J#LTiSbyOWA}?UfC~K$&>!DgKHPFbhE~nB3er=b>F!f z4Ap4>W8iSnm-Mw5|8Gx3;_xkIAG_*+&S0!Ig4h}0$-6!#Gl0+bnKJ%wee$)>yl@jY zB^BYBHmj&aF)B%pnO2T&FNava8f)J3c07ImT{!i^6By4_5)&5gd7Zu!eI5Z{$_Dn0 zx6h&&A>(Nk1xnlRL&MHa46sQf&c3M9cN%{x5u|n+FUC#+>E$se@<3lMJ+&w-SuRmc zl^NacW?m4dKd|IiUyUMh!NS5q{QAo;>MaL=Tvi-_loDGuZ^k)ipDp4jxgrwLczC#n z=8`_qlu7~y>9ocn!O9bUXqBtrc5%K~{m;wpW4`kj9FZGn>2rWW`_xFdlW2ov75WOp zcMIvi`chx{zGy?2@N;t_6&Eifb&SRWk4dltEd3B-JJrg}QS+!?SH-E;KlMEAgAqu+ z@Uy}bI)`3e5GHFeHjY-Xex!zGB}OiC)HZKKb?a6v2tw}nfnA(}jg%}NJ1!$YMo{V4 z^d$wPj3CYD(z^-?KWt(Z^wY=n&j*7I(}iO?1$r!9T+BkBt1!Gx-J`FvwZKy0R%x1e z^T`7>Ib?#YQiWYiM2+A0x4(n`_D7#uvbD=%0IgOFLql~eEX>rRD7s7#rG{LAWmO=M zJqEdeiaS1Cybv<9!0=|64F?pwqm;ZL&3H`6q+RcpfO?RnS^RF|u{8PO%yv;fC!lw9 zwV5D*6CS2@?ENg}tTT0&(Lm>`^Eb`-AfO8hDKOx&sYu~fAhSo?G77ry{cX%eL)z~3 z&?hgAq=d;Kf$`x8Nh*-kYG|%n1t}sOf$1+i*!~&@YMB9i8tCK6{Y*ZZrYd`1m<1>} zTD;INF9_J{H#s_bS&C%9$Wcz@5_*;3v3=v>o2XPW4~)k#m+BlrE7Ux5%^Fd5`7sgE zd6i1K{?=Q+itXFCE!o;-nE>0jZ^wxfr!Y1?I+i5Sg^J?k)bJ-}9J>>LOyiwRZw(0d zlMrku@ej)IDQaxkU23v017EDoIDxX$?T?v}-OFg9DQG50g9e%iTB_DlAhY zZB}0@m<*%>f9eTiq8TA?F{+YKixN~LbtE>M!#Rwp<*D7lfg|i2HpSDW4f}U0$v~6M zg!1L#<^2;;c5S!@BwLneX_Fq=?(4)4-+dxw89 z^>v1W2KfBW8{A-Z7Y?{E8D|1v!!}~k=jJ{aSAUV&9u$0M(p8y+73NF@s{-g5>KG>t z@QxI@QlaMov+du(p!!JVkCOsc>j^L-1;lI{$;=FfNF^^->yaI~SdS^mFeuBOzFcgc z1BwC$5P}zBe~Lmyx6`mfwG~|2_t;&bn!aW;l7smM7X`d|ZSp|Nz?~e#eGDi>$a4uw z1>#7cllOGgtp{ux!DL{HSTxc!z2Jfi&cAJZY+Np7wk*j26bH=ljk_Pj=*Z|+5Jrnl zE~_Mtl=>yTh3{N711!=-8q4qySnqc4z=Y5RV{B(TGaTWhIp5wmcD(dZw!R?2NckcN z>?h0WotaWLQ^Iump50wwhAMP9)O0wAJQN;^HYjOo*{Uc3&-|)GF=xN_`|5Htx)55o zsY=l~&n0Ta=p8$VWZxc)B8Sk@-;AOA$^Fft@~u;SEi+@eEEU}|owQbGOe&K%QF4(?by^qZFWrk@9gM@Ji*N;ukk zYMpYeX}>OcebC%AKotCJEMyIvyedDy@^c@KY}D-PbqQ|MWs15 zJM5N{NM*DP9c9H^o zdmyN$r-y%g6f84OQ1Vva#Bq8?pw8=Uq$>N8XF~ep>~O)NqEtQ);LXp%{Xv@d0Zf84 z1IluhNn4iQ8+uEm1m#kmpH`~FwFJk`KKpDeR+eM{mtJ})&f7GJ#~O`Fp63_qEXjce zSt4T)M~VTM8=Tc&E=`LB3{`OS)lf!qPrI|DWHkmhQl0Dq2$)Kr1S(2j?yE0M^2J3y z=zc9xSpk0$I-AfJz-AG!&1yjU9s-Hjse)`&PgqQcvV-22PZ zZ;>+_*w0~5ti*ZpiwQLcX+9$SGrWV{vuT^}I$Vm#W%DbX1%4{>vXbXH(lpEu zU|fOzVK{ci5>3p{&u{wTZFlcoJwAcO%90FVetHJK^{YRRZ{GFbs$^_@tuO%^K}EE7g;u#zNFM-J#O|C4U~=vvV7=0BlaT<# zE`Y=H<^e9>zIxWvl0B(YoUWw<-KTwc(oipcHTM)yCWQb;G0a4D{`tY1UHYmkm?*Z5 z-Z-%@Esb`i+a|SH(90!ex)R+^7dUbV@}Y+z?zj!ni!_o?|gSk{#}`sINetGeo2hhe4QM!P8k2ndh57^LL+%KKi2{%olt6(hOj76632@ zkr2@uA)_r}a4hCVf$fXG`|F9B&@Hd%GGQrr5|tuE#l zI>-(mLiX?jsNDW-)E|8eL(?;ek*o1H$8?u5L?5q#V+!T_Y{FGt=J6nF+G*FA#l?h| z1jJ9=R?g^blp@$AY}GzNyV2_9CwE_)q?CxGNC{ONQtX)k;fY#Fp5+&gjEtoK7IgzG z$^ib;|NCc1(+bwDTPt!YF95g>Q?*^N0TtHREfECF=b69u*opr6_W@D4?B z;(!sM4+S;EvY-nCl4POfe#W2z;@lViYVHSI41w1#pGmNvX~q5JQ`@ZNo>_cDF< zf=apO5*hj?9!m9Mv+*gg@9Zt!{NjRXSTrh`J*n^2Y32Y2cZXxC=T0tF@Q<{47c~Qb zH+=&;DvZnwG`rGV7pyT9Z_h}P?uBY{$vQC#gp_3Z`jk2|#PJ zen>zF5loa77jH6J>7j?xVk>6x6VR3t)9o(iXXem7bO`c+2T-~5E(|~ZIGWQ(Q2~QR ztj^an&;>#bORvqopeM`Vg7bboH>{mThMD&FnAm5T2rIE_KZohv`pCi7)bcYx%fOv& zFowd0A%DDhU^$`_lS&qrO3D04lYfA0O%H)4%Jl(P-vlV-x)MfBSjtc=3^e z(_m2saN^WSL{W@NtxC0Ojf8^rwMy!`Y|(dCX|0JO_<-KaSu8+a2-GlO5$i!SYLpaC zg9u~I`Vj&3EMd@=3IBe3S`P?J(jxfku#o|Fwb3UTr5aGNRcy>JlkD_mrY{qe)bDjM z-R@%H)C{txp9I}?C#v_}i{ZWd(CjLyp9#%QgHw^5M&x@{BncSzm(6=f?vA3CCw+L< z*!lxV=|;wPRp@&PhqH(Q^kX>X#WDhWZXntI^bOgWp?dIM7w0b_MC9f=m#hEK)RR&+ zc0B(=^*!&txb@V3dthK~i!y-qYt~}hhH?DQFFepV|Ge|I4b>XL@@!AFF`V5VIa*jf#Zlp1F8 zsGe)aqVp8E`P#1;n4`v-B$nQ8vJ46r9(NuQr5Q;AT9Pr>>7ljILVMpnbiQ*R;yZ6c z41H(>bKE*67#sL!RI<0MpMpeQgO6J=|>6Rmdp z?31TXPJZYof8o^o-uv!>b74^iFfld`0H{`~%{0D-Zn`KG% zmcgaCK$d0z;avsmRxfas5{&E)Y_t1Hsg@;mkbmD|K3~r^)dy9;d%qc&pydOS@tI@~ zDmFcwP-^j;cXIIl(*>jo8fox*PXhDZ9J8Ga-KjZro_qqmTfdIvJKw?3ffv!tbHpOD z8kWtAK!DA)sNHAYjthHehwC4EZnlE<)u-y0bhI#4d=s0j>9I(^gHN>UZI;RlGq?iAQ{8VV#GXOvc8XFlIX}<3AE3j_unt}6R zQ3kMa!v+Arn$@dOtyCf=wp=Yl=v^iqvw7r9oSGUEfE|-A64{ynW)M{o1}O7XwlJQa zkoU!syEM^e5|-_!w@Wa{CGJrp_}kf_q23rOx=R%!jhub12c5hQoF*WkRC7YBCo$XZ zU}2$y?7(4k?tc*cty@re^t%|Iok5i(AOv#biG&wZ;b~*`C^JV9MCyD0(t|T7w!mU3 z8epMC_&+lvO)I>5^=dxnoU^fU5GsVTRXLk zC_$+10J1o@kbg)9A z5VZq)QOi1rBIuwVmy9LQzHB!_FjYxa>78!m_iO-l^j=}6!sli82MopF1pS|@#qZbQ z#fg}67d+|i@4l1<11RQo7%-e=W4&aqK#K)YVNe}kA`0iTHGA1;kXi$XBQ%GHFfl%k z(Xp|CO_1E{{R3-yILM3L0FHI#}hNC$hBw8?FR z^35@Y5V*1S+vvO*eaD(vji<=r4BceuJS^7iV=#SLlI;#t=RI&dM?tWXrOpZ98t;_t z#Y<=o3|ck1#pK3oP_j7#{5kN?EPe~VSUN|Mpvx}39Jv^*T`tN1k|e>NT|05s`8S}O zXJG`FA#TCXZ=~^xHPKKnEC6y#6S+uQBcYTEr){|cLs)6b=9gSnTwl2@$ex<2`l=>^ z%NbWt8H4AQjF2F-GsaB2jrq9+wD%uE_rCiO-F7?bPd|mB=~GA`!I1<6Lm+}cxf`m_ zG~*I~N@?FuX8_989e*zd_1#{+0BlwwDt-#Sl9zAEFZUIkOw`(n8ph1463{Z6HG$?+8PkK90LZW}glkQ(nsfx`wkHPZX0)Wq?2 zlG%IASP$&7o6*(Cv&piuy+nuP~b2sYy z_oCj*5R-&7MBA)+_Tw7wez$HwLw9grp38xzuQxohq&@xzR`Z~+|9&u=b9o!A$;8086m^8!d;hhPMA$h^Z~9X@Sr-%Dr)Cs-lhA5lYRCJPg2TvxfO7MxeX}g6g$eJT^K;)k+0}%AyS5 ziKm{$|MueTc=p`QThHIVWpyPE5y~=+8We}F`dTGdV*OU}MFPE5K=wg1Mjo$16 zvKMwj-hDeNcin^fo_(lvTPi=Q4$@Ilo}A>jIp`K|yM)gOOd+^T$DZa^=&PR*xr`Mr zHd2GMs6O1qXDlrH-eK|-+EX0uq~Wqv9QM)t2yn)gPyVt;j1VC}Ya<17k0pR8NH|)p zRxvU(j5J9G*0m@D=ytmhEYaz7hx0tIA&yJwV5XhFYs$LN;7P~RUp+Fj&FP68RD-IGY-9BCq~dyt_v?kr@C*^Wf3 z-9h)@KFEh31@5~a^+z8=xeVgIri9aK>+OnP1=0CInIp zFEL834Sfyj^R|@_SRuxIb4MrB~L8J7Yxg#A#bkUT-2 z3=bH0v#GB|D%neU5ABOR{MS25tbcrj5J-|(A8%e>7G(gfRtLlqtyZTlb6JTBjKt5e zZ#WbWn(O5ZuXJS_qPp+6upo=~8)EnyOC*pc;3x_*1M9arCr%;iP7Oj4H|y7V%zHw~ zTeiXr9V}%6j)SQ=>D0*rD+L%xT3vJ>eFF8jz7^eC9VcfNFxspm5(2~$nPemJl!+>4QR2MGaLB#;ZhdWk$Np)cmXPetNjv8Y>&W>n}hh4Z46 z1VuBlkEZ?RP52(qZs+n^)Z1kLTdZy3&Mh#fGBXi47N9u7U`ezxZN<0X2O51PE;nUe zJMDys?QOx9d}FaNBhTfcty|m#==C6o(e3pbQpyUO(*QkRq(7+2?l;HWEJgsgD{Jxn zf!wD>ElyTgVoCz25<|u@a@#hau6AFShtQV0HwHzbg>chi#hFM{_`G~lyVYV-doy&B zNJi4@p?mjzn7i;BXuR|7n5j2$e6FiEVdX`t45u6m(93F($-*ARjk<0Y zOL#_sHxfjkN)=)eAZ@YYl;6;(4D(}`Yteod?SQuCkXUbQ%z>r;uEk!jhgNF=c|JHV z$D#~i^X3h>e_w{po7V5HRMMlI_g0w-!#sd)6ip`J;$fZC$IZeHloQYSX_pEu_U%(O z0U4qagOe0FRJPijd|OHngom!HNm!zy0w}NDQ!NJqWE4aT`*n*!tb;t%K;t_`Gmxaf z$7KIL%zgSV5X~>3`HpuWU%eVgV&p8*ou5Ir^96M8yaTxXb`0;@gJv&N$E90L!6Exf za;OY=A!-{E!bbUf`3fZU)25IA_i>ZrLka`1Q`a&9_QqD%=f7@{d0k+*p*iN}i44qF zle{DxdkI1^G>o|3M3_U8mlRBP?&?~|109*n34?~_(v7z#c#N=An?KDiN~teTbF?AE z5`ch|j8>~fQ&UsubUFjuxF`cS|Ge$E@sV4xdDEL_Tl2FmnH8vRhKaqzl1s6{t zCeBm&me2xt@%voop);^Qdh;ZUa| zo9EBWXFC=oP@R}SGE_%4ptD6&GO&UI5{GcG!-k}td(6T{qO;-r(C1Q`ezEdVC^Mi; z&@z~1-fnl=Q>Ui5*X<6RZHqF1+1WX4-8hMbg%+_a$#m}pw>TS*y^T5jws-lo8L%?A zd;<30X1JhJPZ>a^(Li;07`X&ELLWj+ULDNEDG&dyB};J5Q_J%Q1M1q`u3q_YQ;mAbwnY$}xAc)6q;Y_*qu z48(bU`bktaqU_PR5A*TIp|3hF9hbmtFii;3qO;QmJ*HqDaAvCqp?N?BnJu?*grQCA zLG_9kjJ4F@hUSlJujeW(*hPNEs^A44!vd>KNd~L1^eM>;AcUB0Hk&)9XJ)uouMceJ zq6}buZXTDu;Tr5X*+LQvODI1-x?%!uGDxY8Qi@`MAfYBaju%jh3esU&VzQj*W)exY zZ>idBps{8WxiB%^CK^y6;Kp_$mFTm9i*0$u0+{ag-go|194hUuk4+T5u%eA1z{H4R z!i4N0J9Ze^Q3fRfQA7|?tQnqjO*uTDycm9OaTI5^EZ2$r4LW`rFSR9FPv*d_r)W|ydapJWKB7KfZQQtF|21#8hKGiRFsLkgI`FaM z$5Efyj8mtksMqTWQ-M*h{HQvMo=QfR7c;NYU=-hTW1Okjd}fBsCE{8Yqi1bIFA_Eq zP+FwdlSakAgO{!F(#L(9y)BO~i;O z0`ztr!TpyzZlIqv1$DDYh-v8J!eOPp6xY|EdDf}%kk~L`Br&yJ$ZU0TUBwp1Tb)7Ru@->c@ME^OjJ)`fb+JvWf0% z${w33oQfo+$*SO+J04wik&@AFx2e+Iyx{*M%?QB%HY*Lj zwGWaB85jZr!UXVp=7$J0)+H6WLhJj#QGNAQWc1H$+i>@h2=4GR3A3GSh8{NKfzhPc zrHeA^qpQ~iWi964g$rz2py-OBoV8^>O7|Q=Obf}T%P4Jmo z->}f2QKJ5bjV2?2PPKyC6_+DgHIAGaf>~n&;S3E-KDf0}6ac}fE(=%I+?=J|1JKJd z^s$A4CIekHE%%QA3>u?b1FVIk+ zWmyjNX#he02dYp8jB(~-NJ7HmxpNE{l4m*cJjdvk&1h`fhVH@rs6rxRfrtSR^(BRL zE+&8W1;ZS6qOT)m4e|#HVBx$C)c-a$F}w~+Pu=tvPN0U8-)@a*n9yY1{(xo{q{U+E zzfip6&;23QsnARu1?d3#a1D|d_tDS3``CGjcG$-R?aTc4n(mdqum3|AH$a+s8Pi4z zLU(K&tFO2ec`Ze5%r9n}Ot$opmm>2SNZe(r33^f(6Q|dc_PrKKA-@{cfIQFUrlzOc zk3Iev&fd0l8KYWK*00+D5aGo=`)OfrK9({}hhn!!T6;`=-s@$9RmgL z`s!uNAWhCX`!@2T-8p;~B~oJW;JEkz2h<5DSBkH$%*a5}^)d+?;NrXkW}%x)AlPi9x3HSJ z%=g89s|juZT=%S@AtM|!t7|ZOOB;oH?V5J?=qC5lDuyq)6xGQ|RlBe87Q7T8!dPfI znax!G6%O6txlNX_5fP-6+5`xNl3DyFMnI(yr<3QOfBxKm{D1xsX*zf};Gzt`bYS1! zy)urXXNbgtll{_@aG_q1XZdn8$3E$2jOu3*ZuFztwrv4ou71x!$VvYM+~Owhz!Afw003>8NklaFKU4CkL|pOI<>`W2)i7Z`!NOoUnpW&5m0{bG8-f#xDf(ZTgu^*h&>->=;7 zt7)I5H%e$8PJGFp%I>|(c^(Sh3FcC|N_K1+P=~?x#wRg))$7333LvFps$~oy(DKUv zq4-ycR#^ns-HK8r%OtX1jv$EGG6BCw%ri5y^!)SB({KIDe~xOkI&d8>c{bpYqeszg z&oMI}%cbm@^C$+}jf7s7!R)nOP5{qxz7Kz2s?~}Nc`g9rKpnr)>Gm)(*2I=~y%i7N zeFv(?PlfsH^nj9QQ`tJ)>8B_|l6*h944llNC%cGuI0(m`Xf)6<#6daFds{8f{gCZ8$ zoP9=mWcC7si@>6>?famc0h7lI)9u9xDwkh@;Y%-4ib*Ej;tZa5i*T7hO5xf5wfrU;-9a9G9Z7aT4(dk;G*kfNd_=GH;*01fm*F`NKmvtu$_XM z-6xsM(PIe;vhl2p3G|`=WVrd#@9`DaUY4Vi=cue-jk7;^GdinQp+}4iK+c4mH4_Nb z{ldrv9roJA<<~&mHvq%>{0$}TM>rdN#n`KlG|KL8(gC@}s;qiKWK(;J!0s0$AOs;I zLS%lDK%~EmM5HnS6V!JgMC_#r)#|Z{*fW}yVK|1NkR3;|EX1-GHkbM=AUhWaVURHJ zjUb0Tgy^cn2K;A8GsMnN6ZLn$3(f0Zk6se1coHCBHRa5s&?X8$?QiXXZ^{%JO}B-1 zThAkD7k_b&27{30+?$!5pWl4eRz7_A$YM)nX$J61AO9g-_PXmKv%KBybdN%Vk9|nD zX^d9kvR?1B(jgUr4SOhqbO`54ij<6Ys{<*3O>eputKa%&EX1h_S!U?1!i6>rZrmag zWbrN*?6MD;+!FNbqnGTvibS-S&eEd;=(8MU96?-oAy&Qn-N5J=dNS8BE&W!1AJu)j z3YSIcj1OYH5B~HY(As-94jnw$WhtML zj7&v`mZ@RTky--XPFJgt@a_r+viP^}?pf}_C>hQGOq2|C+8H{X4Ase1xZo#$4AJ@L zqswrf05~<#NDE)e1|TOhz|x%=A0Uwa18f-vU?wg14VF`1y~o3`S6P4x*Py=J`cZJY z`O;Yjvj}#Pg7$Z~$U&oZne9P>97HIH_1`Y%;Q)mwG;^%lGEl`rkt39=`P?Uj-2LIZ z2CLz!9RvwP89Ec=7<$(`Q9bu;NM_`D&jN#P>z#R`hi*4J^?)9>4U!2AnfW+bsC}eYmYKp(6jBJ?C2#)#966HVl5?wg~;AUluzabM|h`%IsMcMWQbV|=-Yke_uv#^3(|M4LCF$5Lg{ zG1A><_9gENG!6>q&FRhr6Uk}TdZ*n{=#2qW20tey^N#uX`I*BrT^u~PI0(2T1NiX! zZot=Xe;n_7-#c;i=&9X#E{}=`Yt29vXTMSp1=_6zWO;6t|I;`t$m^6FP>bUPHw=6d zCW}kXjJZ}DQ3NzskK??b`AK9aPGRN?UkA<2Atr*!#A958c0re@ zULlFF{YA|;VI?`i<#ZD|;6@TaW5eiFVjMVe962Q7NLT<*z(@R@3^eAE@m~134~YRu z64H7Y97t)r7xr8L-B<}iEE%H=)C`bDJ_G0y0XxRW$J?h)okC@aRAx&u001~}-~d*ynZU`DC#TbN&5IQgU#b?1+i&iE0+A5N zbBT7RgEXyzIky8-CdrE?fL-ideoqT^XRvS@VNAsMsalxB%%LV--d}{m-m2NB~BxA-k4@S#a*vqgoa0f#97}DsQj_)s3`6295#w@^ zf@G&Jtu^URgvyaK`G~x%wS%O)pL22m#TT_Y>^#-Xh=4p6$kuH_{rw-p=#Ty|vh|bb z%*@!d~USb}uMCBip4&U`j4SJU4=ybZM)@niGk0KM$J7G^|S+@7_#~XVZKmMbOwqbGhpo>h`V%_@nc=5%3JUlYADox|}63L303ch4F$Y`cxmWM}%RVbxL zo#oo|gMFw25Mw_te_!GSvWqUu6^b9lF=}g9Vd&hm(IsHv_(|~8EQFNKjTWSFD*U?G ztTT@lB@-Fb*GNiZU#s^i)l~00Cu3465HJF(`DZe8^9z*?%bcn7HkWmB{1Qr4;1Rx@PnZNbVDAEpmj#bIRh^}i^~fMSPS`?C8MztslRfVJ9P%*?mZ>M@$z zx8s6e{dsKuSHBGL=Ib#(I)W}sd&U?0uUYQEayS{BaP!qXtx*kOCH%1vDobI2Q+H0 zL1UvRLaW_Ir_(_-Ndw=hx@C|F;8dwly?G2vyJW^fy9+4+uBE6=PGZZC ze-K0GZO4Hxd==B*x&yrz_M*~iBL=I}Rj7{_t%xc3_U@two7&e>@Hc5ZKuCsY^^kYE z$Yc&s1VOPDb810@`fD&CAfQ~cZgWeykJ0SPGg8ppYg4C7s3066`Y;h~x%BnR0}?cD zYw0DLf@j12&2a2vU<`c5WV((X@cf zF74(iPRhj(eDGdu5jA0-4mYqml1a%}Xm^lj8G3n&YAwO|wO3(i``I{j)fG7U)o-Eo zz;}@yJcM+ig(#QmoHYyHcy*Ty2+%))Z2jaf?83!Pz0@)`pbN_!m|j4(;1~dj6chr(a3tHEhD0u~$RP&$C+Uq-Y_?D7 z#ZGFIkYRKNK;&Z8UXM)1Bd0Q(?a5L_dXhlaXn;3vM0(kk7<0P+7GKTRwO*R=w^r z9KPpX%-r`N@+Y1}zV9G-Y8upPBau=asijZYam&?XbmkNCq?KlbO8M7ewE9cI%Jz?8 zqVb%KDHtHh$SH^HW#}F`0ZdM)%^?)2i6bIVBb7`I}7jA#XK*H z0YqJim;lHwSY`ml0OdM>$-#;K`VoB*k%|!sPcqo;u>+8ILv5j%i2FM>7omR5)u>-_IcVKFEC5(&FCdq>%JHWIk;qM61cC=emhM_$vm>A0`VZz{z+63( zXm)-9y(~iSv#YbGB|m>zy}Y?y2Xo@YHjdefn8syY>J_jv=3!M&9axvs_PB z=MMGX@4LN-jF&_~ebSRWLNlryULsG;)P#ocd)!lM_slHXvkS;1A=mv@2Uu$9FO0qH z3K^A?0gCz=aOe#{U&^%LJ_D8s0i-E9)I&s7kVri5fjeg0Yk^zXQtEyC(lQjgwU+(g z-8^8AsR$t;qZphBh*}lV@F?Qdt06XTLgl=3QNQ$3RL);`@j-P^DXaQNSC$xmfB}l8tzUA*gTMrqx(vcN-X?Du_C*4S6 z&q@&MbZZlnKpdePr^vGm5h?Z2ZA#G_dR*YRDKkWr*!=?$oVFK?v030*24tCHpt_&_z6xf5b0w)w`B}x3G zwf*yXky%G(iaX%S2t6Vo%Oz%JW>KwH5D8z4>i0=7b3Q*mzq8e8wc{v8b(v=wE}H@T z+h6|#KKk>&iQoI(PvY^%A3sS%kAm<d}PE*7#nZy^}$H= zfFqKVQf!PO>ltv|(zkL49;&hU5IR7b0Vy-g&-c)35#lI9n#8D75~S4_>G(M6t5;#@ zs>{GRAiEim=Sqr6sdL@y-~AcHzHB8&D>(Zg*edIVf+}fga@I&SY0?D8AASP(%fE!2 zItc6*fIDgOo zhDn85oe%Q+<75~h!=>e8RyiCb1DvZPu)Dn;y6q0KUIv-xfR5!Su$|<6{`??VtT+!= zR?66i1rV3_f{?agOifKgL=oaRwpfrKK<3vZrF>C{=!vg?<14&r<7WKSkKMeicCUy5 z#Bq!r&%c0$sTbvJz4=61shku-)caI-uOvwV$;u2EO-6J-L-jw%xKi-%8yApS?237i zn><#H@@N?_0dkySU@QGm&_%c*jdV7dUY4WRV`om71t!cMaJ_`IKy@2ww3_Hw;mtdz zw)}^YJ7|Ze;r>19+R+Reh{3V6gE5RbW-R{$^R_pk;zVJEx z!&kq(?B=bA0sQM<`f+^fA8x}ZKK^n1?bjaI)6M1XilB}D*cA^dj3a?GO)xt$xiHG1|cGdC`KH|h@u!#93zeiLI6~-@2!`@3v{vCRVgqVbPl;xTane~ zA{|mq0s=r9sZ7AaXfz11o#1UgzTp9-c8oj+fFZDtm)U38j0fAX3fz|g5E^C{2wGIi zm6knO1~P$_6w3gJFf%<1CV?c0wMjMj{dtxjYq#5vTy@n|a{s>ln3$MYcAYC`0IMd( zasPw6u+Z+b@|^Dg=%WN0Ta0K)l3;Fb4hyXoMv?@Jfqf1c_3XrgJ8Mv;(?CU9sTt?n z%4J_0M&P~MPc&h^SghJ2K2ZAofXamd)`+bqLFVcNCKV;70Jta?h$CeJ2;uV*0bheB zHfh|TB|Tdv&`(%{4XFC1#v*bENX~SgKp+M~8axC3{*Mx=YnhJA7TkXTy=UgZ_tksf zm$cUg26+8S$#x%s%F>s0%rKN3( z=Me#rWtnD%dIzI0%zRFSjf1%nsf6Dm|s}H z(Ab1t{NcNuRz)BZ^F-oH?RNY4x^?TZZQI${I9^{?TYzP52J*{Q=ZxWR|Ke}({+q5t zYi|Bfp6B;6(V|fhLJ%sI3g+kL(Cv0nND1k6%vTA`2UtEc=4D=e^%nBW$?&IncV7x_ zSlryAw7xAzh3|{kQXMhUo_x-tK}P_{dOhUkq!=@SwB!}ENNq&RAZve%t+{|A>P_X( z_`B80-m7;+a*#otgqb zNYez7Aje$%%vzdN%AEISnY_PVugRS|cjC8y`?ptA=ZYBs0KERXYjE$A`*8H=(N4G9 zy`34SEGk>nby8(~dT8)Yh6J3YCHNSLU!#4P1<+ml+cJ7Z!0mCm(9vT9R zizXRe$rzuZX-uTHs!z|%qEf9QiKD&<#X^ytZs(!t>FGTm`{DQD*sRho2 z04R6h{{07W(M8*NZod6ctyXzVka&wpvhBbfkKjZ|(iA68p2XPb7~vfRl zU9~xgU5)HZSTiDw03bzK-CRbs!4xw>G?xk!=xe)Y?}W5Zi9zsa}khM z5_CEpoSHhN{kA33%|W4#Gy@hU`S)w{-<;gyRN^zOskyiLz@UvOHx2W=0;Uhe#qZxz zY9@Hn-&eDZBV!<$I=QX72y%FMnC?Kd>MF>A(NkifcYC2JmY?b2C2wtw+%9b@9Lh59i%(=UWWC zXeNjM(;uuTijbr!jvhOPUax1-eqS{U4jU=^yr`lLve{ntvOLF6f6|ANiH=1kzoKSA z3sNxv?M_GSYGa0!IdZ)aVW0BqTvm^k{>~iCA*Do~<&e2VFUy1bmT7G)n@%g%u}kKS z5Ay#1+k5YLyQ(s8{JYlL<@9rJa?=|LB?%y1F@Q)1Q4nbY3W6Zj?u_#rb>4AibjJD3 zj50-MEQ9EXuc!kmb}XnP3eq%`kaE**lG{&jyR7y8vG&?~?S0O@xe0*;Cr>^*_ndvs z*?a9(p7lK6r}ds|x|)EnO#D>W-1U=b0y-7#6$1bO-}f;zv;(J|v>Jl*=X{SpB7*oa9*lJ7PFA(xcyLX<+DmxE2D>NTv-<%+w;meX9fW?zNH-6GF?E%2r;c`g#oc@9y3>_~ z?grG9083OleRMi9hn@17SN8ev(FLHF!j8^qRda~8xlhw)%JLw88-(9-4$tT4beup$ zjf0=P_vZve8fI{!VW0J4kb#*a)^DIB48`t}WD>XT*6T@Z0OCU{qU-2tS~A0gY1x>ZD9LhPA}Yoi7twTt zm-r#e5E5JFa?&dOUpesiSo}1!--kmNZ))#WB@Tr5 z4M8!*030W*Zlq7A*n~;Q_wkBE-FKY6!?a%tKybMc)a!M4p07>y-Cenx!6j2;>ElCG z3Nxbe70NVZf=Ksgp^sOOF`OEFq%o#FwFK5ZZ<1<8Y(9ovKeM`+1TyRIM5zqZvSAoT z;Oy0FCzD>OZpT?ynwVS*07Kh{_6n2+_7VhC^y^*H=(L;L+g^dCl6GfAc`;+=#<2jM9}-H(m_(n z3joD^0pn}TIVnv{zc}UQF*ZH{&+}m0HYlUh-h>d+X|-EF9vvGU`Td3+*tl^$RvmfN zUN!p#F#y9bux)4ye)`C4WHR<3K)ww^Pvk<_gm5H4RvFX+0n0SOD8H1vjA1f_pyRq28yiE) zPQkV;>B&d51|TXXLkNZE^PQgS{}6<9wrt*tTrQ8dUUDAxhF%Z@xarO3;B)u<5Uq9x z?N-YJWk1VgQ|};z92T0TLSKG4I0OQe0-0jLHzEKN5Fj^BrFXu2ohulCKM`l zc2u=l>xC&hZfXXgK944_bT8hveG?vg{88kJeP}uk?35wn*Ml8a1bywR3_t?l+=u7+ z@H`IB^WeHZT+fB?bAV9TRtmXH2HA89g<=l*ViwF~GQyAxfYM-J=Q(SA%^>4rNYW&+j-v!F{UV?c+3;@BvZr{Eg7hG@-e*4?st+!L=FARgN5Fj+p zUPa7@-?nWun@x;QjAL`s0fF6P%$weWk9Vom}P?+Mwk&e6k8JuV|q%+ zzu^EX{ZqPjOFWLkG}CaL4mLf%33vVbzhm*TW$=6lp69~na z|08KA%2pK{`dHueSj~x=W>d*fx)YK@gUgi)TJ1Ipg@We!r&}u2qsUB*uIK-%TrU6W z_8Tr2ci;PcJn-Ak&v0CO(+g$*0MKkPjE+y>mbY9azV?Gh9!_U6j~a}gFM0&FhYXn# zn3fHJCdS4mv1D;din8$(y5YmeuF(}(LgH_OpXz}`VM(j-d>~c@+(2$py-;^usFSh( zv784YYOa9X<$OXQ2!ro?_{D=i!2Msl2ervEs9>SAAP5K7#7G+6TX%rb7cl`51|$kh zU>QXS3J}u*vC^QX4Q5(kMo{oWDP4p?2o8dH{=cayf#8Q&g$A}M24GMy!-8RE;kv-! zrp*}Kun_={oO=QWq~aIiD=ISa5h5T64_2mBf!42k7V9^x!|m_+6C8KKiEtekoi>AM z8c^H5G;>DDLVzF}vF?NxJVzXEjYl6UlUtIyvp7X!e=qQmXg}(*w5ZbU0p{bnK6VX{ zfEorY%aoOWb$~{6&FxypY5yRTHHUxuhfQFN;i6Z+0}p-qmopgG-n35`KrZXyuoWxu z%O?h5*_oXXxECNN1L*IS#Z+}7WenMD7L${cm_4f>xlAU8V<#Or^ee<|F1^Hr7*r6Q z7HTkrR_9J2o{vrcp-9XE9x@6VWZvz{U&0GQ!33ktv>pq2${nxLj3GXWVa$jOILf>6)BXVm)#%Ct!t0b>M) z!6is1Y%pp90ka{hs!oXPM~fmhr}fN4L_n1&S1fw-h7I`s1NUL&sw0ri<>7f8l=@Ny z5j@oIm4j0FtXd$K(6{?=9&|t7o|w{fFXZltr_Bcq%!^pO{C{kG43%09vt|#3roXB5 zTSAE7oIl~Z&QIQW?&;#&5B?fLh!-UO1N(>p+<2u#Aiw*|wa8=*?z!%R1~VT4q31*R zA;i*Ug@MEZ2mwY$Mv-2&EZ~Ac4~wY=rMHkJw6_A<&YXk*0*QdcMEM4j20!A5N2yov6H2}k)5W%4x#yECkB)N zy@G7i<#kUyg;a-;WkfslFNWti^pxnFbNGUTL%=Wy+;$zC)~|=EtV=;9(r+*j(*QM0 zP{RZZ4$2HrW`Ho6<1ac$nDZ}mmkn?N!;pu?2vP=tO^GZj5>7q^yka*qc@KyXP$Ix6 zz$gc!LMBHw2uuSom;hq{GYE(Qxy2X&jG$r>Be5g65WpfUMv&4Jln^iiR4X-X-Zm^9 ze*y*|`&&ec4T+ej0H*ZJoBq+_%WikS6{P!!JEV~icOYsF5Lp>%$F5=28ck%gSy&bW zp#h%~0)(psvT}}r2q6T2qTO!)VE+8M{>bnMzWKd}_Q`PW6A1tS-h2HUasN*q1EmDn zT$;CAod;8y^rMup^Mv3%=b+lzQmGVDsT78G3?ZAz!nREWeGyVD+DxlnGaXpCr$jU) zFJf0D-jL*L5`9;20>&6@i^5_Y!gC|X7FAW(Fd{F(9voZ+RE4^?NER9i7)r3?8wP>J z2uwm?gq{roar4Gr^+xa0p&!gzL0E*7BFSf0xi+aG~n+1xdYl zpqjxz%M}1MK`964t}HqmMC!!0K`_vl!;(b{@a!{BfiWrzW*7v-pdoe;V*t9? zr$9ylSzsja^$$LhCNL&o7y_nAU^2j<1T@Ho7x6^dzF1abC^AM4ouqw;f^eaCj6lEn6i-v zV#WgHXoA|No@P`PP56}>F1C%5!Lb28~O%#iL7#$f!z21NxjG^@6s7!TSca#%zW{;9g z^%YAb(bKx1Ry{}3$35=p7VJW<56U_Eidmfg+BL{zvjCN5PsW%u@eyg~r%L)|1O^NK z8uGPi5HN#)ngq-wU={&0sXQ!so*MG^s!w82w*W{`phR##Dpn$+s-!)ha~au}Je0jY za6r;se-#su*@^@hB`^&p50k+(DGZaz!-x*X7$~ElEQpVwM5;tVT?I<1)PreI+mKSJ z4jDF#>g3f=u6s2RgbB&hQZKmw$SM~m^EvbmWo>?!%Rfg5rBj> z&;aq*ijyejrbH{DT!;}#Mq2o5Gz3x9doQm!C5=V>u6-}K zzWRs;&!HAIAvAcen7HOi*md0q8v+1MDAIj%aq*>B;FMRt5`+*qZYS9N)uJI?tG+Ag zN*D0h<2~uY5R&7JJ!cI1Zq_1AQIJU2)f4iJ?|%_$;p2< zEvqy>K8}-4JP|iueaSvsult+<{P#Woi7J_kY$1dGVjiFvWrlGmWAr!xG@bz_VI&M3 zUMl4ZGU*J`0jDE9*?JUc6Wi58)I}|Z_z`0i;S~`6zGrA~;=WyHlqpak+$~cn8w0cY zkjdom?L5FtmYOc|{(21FHWlX31qq~q#c z8S1=3dpgnMQT5n@WQ=_nkr8r!#T#{>6$efN!>A?w2ixYAE&#$_;0yLXVxScjgp!*XNluVa)z|bPo z1^5MnJ3Z(px*5ncb7$J?=$nj^j0nYeX%d?@Z$UbfMIo0%I+c=czg-L}wD$O}>wKqP zt9@?u(Z{qal`>v?($V{L@dGas1NhZXzJve1=L`7O_kMwk-*gd1M#jdAg~9+O5etYWR6O#uT*5HYoU-293;9Iqb>oE(3Y>;_R)PH+EMjAB>c*5#Kql_fb>dpTo1%x z$mcRxz4CCl9UmLkuSc_4M=W+A(VkFnN&XG{Mz%-R{-Z(Un0gku5TGw~-BBjSM71`D zix?4%5TH;~X3PZ|yu)FW>A*tQO=K?L) zhrt;7`|>#Q$RpsnJ~nL}M7>_uMERtOnn2IP{~}!#AX)^VvY)Fy5K~Uno^w2LjwIhr z*98HmkYM8U3?RblL?8j^oJM}=gCJ8J!0G3mkGI|MHmq2>1kI+5q9noxrBMkmRoiWi6|;CF$hwJb6Ty| zH%q1RU1yznX8YOa)?wulhvW2f*G7mWct@Qp9yqRX$v)~(xc%4x60)~(x1#bPl_ z2w4Lm%uwpm(kew2dWh01TT4x1e6D03m>haIL8c5t%_lB_YxSLgY~GY$VYZM0f;` zi~7lgtzk0H-VfFL2)a&5J3>hsNfr=cgxXI@tYR_(2Qfhi3bW_p{MTQEx7~0p7A~HT zTBCtxrwt}tumA+6LqlGTCzKcOYLhq1hoWj|n9Bwq}N1sK>ej)mGg|hTTc#SMX z8gX<&2`aTZ1~+ekWv7wP=a8~(35tfB7_=+MgLD2&r``FBt1mu#^9?t@6Q1wm>{lPV z$8&Nf^rA5U0QlbhU&R|Pdn;0Q3bjhbOJ_1;1ng8ou!to6vsLE{#YH9BU2indaXKg# z3Sg{Pwiz9f)`pKHxhk1L%o8y?xh^KpIQkW@w)g+d=P>9n-q5XCGIVnNZJ zMXg@1e|Bti^jlY7{|^80-#v!^y5}p{zG>Zyu|!{71^@sTyz$NW%`bn8>uWh^!N8;aBvGI$0s2K2UV`HvJo+{Rcl;$E^htMnS=(i z3Zc#QXn`akz8Txi)tB`J72YRQ>@@_w=jHVd;}C>l*8Ih|I(W|)-R`l6uqWXOy}27{BZY|S$nW;#}15* zPoS^Rk8CCj(=?tI!m5|A1V5e*~ z3LqefpdHfV_0;HnIDkF${TU?{#Z*{<+QCV%!$W4zZFRsXK{l7ds#Ql|-rV`vx^)O6 zW5W=_M?$OBS}nBq34u{lU-ac2UPFYf34PT?Oy5oFw9x+QrOCRVFeck8W)qqk<-s+{ zAQbyW5cUg#f%yyYrYqizE3UW{xojHMY7H%?9hmxrbZ`pVM78#Hk?6tAcRzqrPmd{e z07Md3VxB06A3-RF$0o65+YoZOB68U*ESm*+V@3EoJ(HB=-C|R-)%@s_Pd@pS>l3`; z%va-ywd?S~ciymP&$S2iqB8&hxa7^(BV}hmn2TcWkWQmDGQ=1=ju0$Gzy~$MVA$IP z(hfLxf7C0#nF%R1|Ak#$Z7OJ?D8zrRXd)}uf#>VcQ zGiR>5WBYde?AMRteYd=@aNph0OTqxY^UW{g^0(ZK*>j38?GB#!?UNIIeZ{(A7$*Q^ z7SY*lOvH=yDrzv)>ov4mE#z`}7={^cD2R!B@+a{)@q`eXbdK4ZBV;&YW|Iao63pWq zowf%`8SJ!yLk?MrrOOV%=D{r(9^M7cy||jAJBlRGX8qb~iO1e+K{-*}Two@I&=z!j z!Rkd0)*I+_I-y~< z=jJT*B^y8V?8-6iuBW9*XGrnq+#8DU8Hz@uiS-*d!f|}`^%ap$TQCgisu5%1p$94e zz$d_uJ=gvFR=YhuZ|)q_YBdND{P?@~?^T;-N-qfm0Dy0N<+E7*idTXXidh5wB4t|} zA&{n&z6v0AINxJE3#bvKMEcQ}N|WF|M=qa}QB)!t^qES4du!s`-8G{G6p^MZPw4P6 z0rv&k9R~n`ZJSuOY#|mcT7u0sALyr@P-!b}JVKY*?DE80B#g|@=tFOKi*=!b-S{-f20SUl9sR&6G zAcpLd?k9?J{3*tqY{t}^fc~}JKtny|j;1~Zf7=}gn>G)kQmvxc*N1F24a;PqOEdui z5rHZLP2~dFdCUUNQy%0N1?z78Hv`WV0E( z?(`GX#n|Ym%o(WL|FvroAWBa_NbK4%@wdB`;WwjSXm~|{ zCxp&XYN89p)QGkTYv#n*f=5i`4^5De0W#UXS-9}xOYoMrT#aI}fLg7NPR9X3+`Pw> z_>ZI{5G~KHbX{=^Y50^=jhEh^y^iF#>Yj}{1E3&qeGgl=Z^y3TVdM)1JuMVt7&I#pj0BDO{6Jooi@^}~N@^YvT$Mxe7xYuF?BG+FeFa$)o_|$ty zCY8$OamG34;ijA3jyZGYpj@k=-Rgh|E=RO3Y%j?S_{SvnnSd&}1xKYVwHjmTJJO?-3bQ6{=T8L_`9=P`^lt0L|piE=|BhkI|bcips8BN7!k3nF^SQ~^pz3tW7o*=&Bw_q{5m4DD76mTlwu%P)L^ zGjY#ozc2s*`0;n|L)}f|sVASpCq8*69(m;Pv3c_b#%QR9kJ(ZLknLKylaN1a}DTPARld+*&9W+=9EbxEHqqMGLez6j~fg zafjko+`seQA9t<$vcCR@wsqd z6C%QFdwB>YOG(k4bS-7j?K$F;wZ!ngE_-qsa><~l`l4OfQms~g{9<@+Ebo>g2(1jn z79^hVY4`Ix_r01uzt$RDwf%BEeZ_pDye5j@?6|~1`1D^EN?Kun4USd5>CcGm3-gDZ z%7CO1Ki<8O+PsB}=l+=8VLNJh{1qTfW~X)+j{@picpvy2^hsy1w~?#EzPrm;Zik#~ zota^r_f8|sR%l5>1?@bQ2zyivpyP$ntCURD3+7SQ^29jAXS|(PphZj-^<}Knu7SCI zA2}Ya2sPi11~e|v7%Ph9_WavY=kxnREqQm~o1&JyCjX(BjY{A8V*f2pd-~GrnY(FJ z{5om8CG8yjnTZdcjK!%)c~Dw>Q9=;Q`)?P9K(l|MCMBFETO6pg(dv$T=qVl@{e?%-0Xxt@k_R3F#+DGf?zGmNY;gTUvQ-j`YkSTqrr&%9{Yy2!#!Joxe z829lhbZXcCez)lz-Bw6+?edwK=v|KcX@r3Ga*^Hq%SJN_pcwT;`Nr=^(dfH3%AfCh zqA47Bd}6xuedI%-tD^AYk5!_-1B3_(=uaf+l9O3LaPeepV#ji`UGZWbMr|x`xWwx3 z1bE@h_TDz%(u=2=yTG;rZ41;eo#IJhd?`nY+n9#B_e=PTQ z^tAfhYiMxFqnC(L1XkD9W&X`>xSnx;T@AA`3w~7<`nDbAsH%T#f_V3MO?@2iuLCXV z{Ae}rjspRMpo4N})A+Yab&jM9D7)lX?_~ka< zlI=>7$40t5k8)_0)%d=B!LzTAMdpd?#29nw}ow%B>Mtx*^!XNTOQV#KCP zFbeTk?vf2dT9mkKo(^o3zJC9sN=p*uqB+v78tbSPmM1$Sv=;wg z(a~){yVW5GgN<{f{$eAIwg0*RWZElTkA)AT0HJ!{tQE((^J2-qX@Q)Urgv*Qf8P5# zy3DJ1ayJ##DCSFj&ZM?aR8J*ep=_bX%9&0USFkQA48^IEkcfV)&Db_3T-LVP%JYHC z+K_O)>Kv;OaZS6b-}0$3`!*+1H*C%XTbbIG?H2pN`|$>kEnVG0{=%C27sogWHB;$T zT2$uE?>AIxLXuqHiH_>zb{}FeAmo5aXp0hxEcxQRxv5OnasH}XBed#AOHMY~8VNvR+=@&x(3)_ ziv%~QiWAM1PcMi@p!N{VHW{Se_+-T^L?}R{?7=MMs#vHI#sdL@eSM>*e>%_ZY^@${ z<1@H48F!z6k(0({Eo83?52ZA$_+BU{V?Q&5?mqpK_^q`z`?8(#xaH6=$ED}g-jmt@ z6$g))5ph6fkvPxse>zJc=to)B58Y<_Pp}?7%ldYjfoEtevb&xk3Hz2q zY1Okr{2?aNk#Yq{gqrv*ta2M|lBfl0v-Syp``&KE_N-{-@y}P`&(eD;CZ659-hpS( z8lR2UJKKrxaPd$7#ZMkfngD$VX;T7^I>GJro)?TKwK}i|VKCSTLd$1CVqFC*q9`gl z$X<^Uagd5Wj?D+NG{|L5`JeoR=Y7-Qhl`^{WslXm8R6oEh>hJYCJ!Y$R<+_QQ-W$k zDpWY@yN#&S$bwpD(!8MeOdMPFwii3gudn*rU$79Rew{u)T+Qr>)9jwg^aMZ8b)y8B z%$}d6|Ec_@qDkTOfXsxmTf+&MCcmlgJ<7cnoJx8hG12DA;ipD#c7830-=vlP#4ssd zOuq8g>kBZ0?0}L&v0ygR68JA(v7W~v0&`K=B+)^u(2#uBv8R*!Ry6J5>`u^26L0YH zT|wenyGWv7vcr<@??^u8*oD+W^PjBJiOYaME_&?KotBp4 z7N`R0kU4G~zxU$6<|ebr7(hA-abTW|ahU8v1TzWnfcdP{G=4Ah$`d82DpFRHibCq= za1Cq4aRb5`|5TeLy0ubAZ&PB3b*qKC zqzG_PHQ?&&b$(Ote$VVhH$|>YJsyY!>YKx&Z{QHws->O?&1_&8Sb~265;*k+92h?e z_eM>XmLMMxpnG6rv{-S^XM6e9sKZ~Z<8D>nJY~I1#^0Ra@6T9uOlrUy%z#|ldxOLo z!{%87CU~_iVf*ghVdZKnZXy-Rs0@1;PV3^v5U{@KecKe{`7PYwSA>o6_>^-6ncqiz z#}!@15N!><_~_xC4fkNfDl`}Rd{v8!50O^p=E8rZIsr>%KPQjFfR1g}5yjF#Eq)!V z(2yZlq3EAHDF>>JLtg`fXQ~XV6`Gcn*g^MfErM6!pE}@N0?~o`lkW2UQl>&aprtK?>dpooG3@k0o(c=F66g5#-# zfj+GxY?l{nOCoRDMUpoai_ks-L6TR8D*;c?&;>u4xp1t=_e+H4gE>@LplhSGMDZ%D>+)`7v?PqtyQf*w1R8T=x(D=F z^ueMo6_fqZU9#+|r@3a}%amUvjrnI3w-QkHoXMe3OKO48~6*gRXihZ|7bn%1Wm1r-`f&|!Dt|!LmA}q4FhXiMC z^U|5Zs5Oy|w>5HyBo*C-==GkoR`g*7Q%B}*^{78^i}f5be_&0;9t)6MTp41h6k<%7 zDjrGlL&}z1yJVAo7T5iYlIQcg1m*c1-9X6?uru-#5GNYktcO;V*A4od@kNP2B=6fF zgsHuT`Rp6T%MIS0P-Ehn#5~9;0ABCk?)seH#x)k)mi5@{qJY197gY4UQMzOPsQT_5 z6g%HNE-v1xHzMAJ8nfThjQ(=rmGB<=ANj&<2BbX1Cra;j%{O4(wHJ1B(2xiKofsgC zmYvTpkGtL55ePVdAzsg?ODBF^_Wlo!kK{2+IMWjQ5wNp1kY^FWXP)tcA7WkR<}u+k z6sMGFY%1pW18zV}hNH`2RbMf23RaSsGFA=~rUT=LV`yz+osBcey4U(mmMk zZ5WeG1i*ON`!B>%DsP0A-_@DZZ|Oca_~o|iE_)!DAi1Wn=sVyf`q*Nn>+Gph^Jh&Q zzx>1kj&vAYlgmtv&);A(E+~W z0KQ#T>}LQ7V9g0DvkO%8cT7TmJbhE~( zFi=}Zm3{W|nu(00nm=h|X$`wrOn z&dLp0LoeV=LCj5~R$5Q5sH`l%9`NF0XZ>0wdEQR>bw);^Wcr&- zq*F4!;b)^@yBR4=RKZ(J+owF}B%vHN-Y4jjqGk675XGm-cRJA?)2~QU)iBa*x|_MV zBjDL@^oQrAxY|Lx@#ckSR(DtAAQR_wdbR`janC+*% z37HQywR7tz*I_*xcCM3I`mT2p&I159E8e##-mL_C#siL)OGj^RnkQN~u(14hf;Lnr z{BF#EOToQkm!&4McB^Nbn(gJg|JbFhYBtslKF?w>toe;+(@2I1#D#uym4(Y=-C!UI zs-**NHcIO7<5Cy+TK)vD`gdYnA7HgR0-O5x-I1BXq%o`I`(sSM$ow%=Z;M^ z&?d2gTR(x!%>jsUL;?67m<5&iwuy__7hP59+rwX?I9c0GBodi9VlhHtx1Jzz)V22_ zvdEyi$e^Oz-PE`RtujKMjZk?e+U8=SYwXL%W5h!^`c#xi-F`-oBe|FogAOknb)wbG z37fDZrNY964%=mc&LC5+RYO=>ZxDIxsxPs8wh8ST^=-cKuv`P^)sppetkqS zs}kzlC;j)mDQc-m3fwrp>%2t0iV(vFjG<<8a$E9X*mQ!BN1X~$KRakGKo$~)jU@#ch{YG%z)r7wgl?pNulXM?zl%R5(E;QnUNhvRLeD z>wg$IK9Auo7YPer?vrfTQaQ^FIiMYa7rHO%aVV>p_oBXv{Ykz(b7&2UX1yH9sYk_S zJbxO$%d9;6r6=3lQ&pKm9_+}BsaUjOIrZ0xe7+6`2y21ACVNEX%NXQu_>tNKryzOH zspM7qq2c~mt@qMyVs7(aYRQI6RTH;M%Fip`(a1V3iyztzfa($__|wiiuOQn0e82zL zKn;xq%O%ZN>OuhEFvI6Sacza&5SFd8;2B7A@*OI^ozPOQFb<4#Y9a=H2%gvn>|TkW`Q~W+1hFx^ zD4Ti&KJF&=-3sE-N;$`yan=pwjzho?i~-u;3Kba+F?}+_9_!3tPd|t_nRH?v(^Iz5agHN2iHd7px-ENuf4?1$sf z&Vt$i#G7!M$U35lvWZRwvVI+OsVK}CV}*~jWat3A6uQuC0bCf+kiyPdq#O?w#yPr1 zo(=}zCG6^_)kmV+@V8C(Ga@FZw|4kao_I$$drykr{>TYu_sawxF!4Ufc?X}@+W_t{ zzIHJjhqsjohm@l^QKsmWAa54 z;BD&6xbR*>>X7Lw!y=Ok3r9!XgbgJMe+D>Pc<#vRmucno%6GNBB`-~a5yFY5(L|I@ ztWn32x6<*|(d7Z+-m^H?agwwi5>gW#$tvSSYU)`dZ@x97@1`g}51#MY@&V6m{g)AW z?2DKe8pyIHE7m0`vnDHXkc9oyBPwQ@nugfVFee=)`umkFJr-_=K8-tk^~$@85V07k z(gxGRvHC}5OzLY(FVxj|-vN~snd?gtmuU}?0-!ci+evpu#sw0HBOE&mv?Kqlh9#x| znJ5eEZ9#`yu9pK1&*M~;%*kD(2)5iPrrk(V_%ZNQj01BfJPT&7_!bNz|_j+v3Oo(O56W%|<&8Gi2asST1^ zeoXLMJ)ijw4$+CzPMdh&+$D-hEcbGW*s`661o724lUSC>NOf^1W)n~4Kt!;PidaVh z7YU`T#Fhi4s^L)y<692>sa}QdaQ^38e|kgp`EOvdZ1JQ)ZYEgcgdsAAen)19vwVn| z5RBMgfZ1}Hw4jIkB`&hoHJQ6@O~&z72NtJ?J~!M?eaw1F?nPc~q;0_LJg zmBwrrE(t)b5df7ewnt4@<><3V7?VfnlT~}`hr8;Ye?hHyN5stBYKFMY}=$_q&|t+(AmhX$`*a?m=qdoLtKX)q5xadJIzQiz80q;TB9e}UuZ zf}u7c`<4vb(rb1`C`zHbp@#P2CxVr-JsLFwRORg>mSDFzLF{nc$vHudAyk}o2JxCm z->P`M>gZQRSSucI1>^~ilSqW%hUQgDyDHgTk^6l8)Nr0IFYAy?|1swa5i=FL^8bFh z{eV{EYyJf-;cP{Y+>dj8T zL!8v=JCAo%-U4lSXpm zG2XXMP+Retvi@VDJeyDD(%YbB;1Qpxr03S`H#XR1EPNjerZ zo%5e#OQBW?(%>1cjWDiofuE)YwY+R8jc*09*FGc^w0bp_~3 z@u>&G7mhw{Ak2+f{|;xyKR!wqPi4|eHR2mZ)7E-q#h`#(3A4iv=gw3V98wZlzyD$( z_fm2Pqx7_Uv|e#Pa_0N@HCNob7WGaaSr zQV>y^T*R+;b%CMHVc9vD0+2sXhDIg(bxBA zo_GXkVV`u^=*`&Zvwzal?A-qPT$R(2Qo(B*4)IObn`D4e1+3g@R88N01Nc|lbGbz< zaft~GW?Vg2k|ut;7{GwMJ6b;*>V!Du1 z!l8Ptf|N@_IeUIzE=0_)*ITJR*q(LiX z_vK9XL(|9L<=;a+z-A}n-?ii z{ygi_=s!8S_Y$AiB0BDs=pzld_voo&pzsn(9nEhc*gZ8RY`f9B?tqsV_9mG2l2gzI z@87DFI9g9S6zh|6Eg%V7+_HxuEYX93bjmlxwnM@!i0bW@{6j>JGtkjat=%wk6*cm+ zBsJ6PuT}s&bG`a)xdXG|U`zSw9XYa4qVq)Pv)JLY`}^lIXcl_BT()P!#E-3WCXcqg zFm1FxM|Qly6}GX)q!f`X(x@K52Y9Uc(Mpbm?zioT0yc)SJxM)1^HQPCNP#su!~#7E z0W)@(B>MFJ0+pf*@xiq_lO0HjcCP+N{cAj*_Z9GsnmKJotVF)Wc>#6k^^&9m*!cg2 z)iY?>WK%*ProT$Akuq&%U%KbLAL&G zn^!p7+*{IDI#n-Ro*q_ugl4{D%$WF(N@uxZ3P0#tf!cQ>S8iAhY1{$X%8m8?Jy|Eb zP6u9K^z0Y_Wa2vm{>|mPjSjHexMRuEfz%&r(zUAg`%@VIv0A&m@X59E>{9hE2FuRa&ZD))VzIsRghCt_+>xKk z(bv+LKpD2#X(ifYAHc=Zs_mQS2d&-MNO1AFci^xRLrc)Mlxum5o*4z?yri<{kTE{rc`E%v^}@`-fcn|(JZ7yZ+e)XF1! z$6Xhi=>F%1E;NCOhzqLO$`@4$AQBOZI8!xudMJ6X&9HrNkE`}aQHaHE2>N~o5N6Qx1hx@mHr4>q@uxo zInYU3!7rDdtS~9B%Y8YxHREa`Na>-Wl>(FIi}o$TSh)f=WI5OvKX*nN7C@reuR-Ne z1QieF=7ZnQ$6z{O;nRyRlF38Y_iMHTPrVYQq`eO&ssa*mjCQ%SBy8{kuf8d}UQpqG z&k5iaeyFtt#T<1U%W7z7(C2E&Lw1GRob2D#bk;g+a-_D!=z5Yuj8!0Y1}Yp;dN?7b zuk1j3&Phi4SwSQlLHJNt0a*5;>F3W=Z+nDs!|jAalY521 zTRfHnUo97ulFur|Jrt-u7T!*92I5uM=k#0Jt3D`bE>hk#1Tz<_Vmy-C;ZU6| zUI6UV=^Q$WrFLauJ%Zdu>{Mwsz5IByDCNoyn{|MQz@BvPqH0-3|9adpISm0-P|9(;p6-e_vaHdvc^pxfx0J6+9o z?^OWsGY4GPd}#g00QKmJ37Pa2ikyYQ4jh}@cSlMOs;8})6p<&fp8NtKH@0UVl+|7<>JtjwtiV(CCkh`mKSnFQ!NF=M(0JMmO={b3c^$CQ z8Oi@Il}_@yDAz7G5F7@D;i6sKin_I;00GZp;L_HeUknWlk%V#(Asx7F3eabfO6>^< zVYC6)(`x5{P?P%~>bGvK_ncTRBqisLy|BOfzdl=A8}sT-M7Bk1S7K62Z?DRAUA1~b zt~-)6Le8Re*;pAQUDiVNy3D~EQwkip5l%x2Ws{D!!F<@E6j_u7ImysUuEnd8(IfZW z&COO9Q}#^J8o_tsHIm!DwEjH#!MaQuc|GMQp%X54>3PXujUT9-Sa|pUSf+}Z-$&Cc z5Z?uR`wG#R6rZ%NlDM3bBb^iC;~#A8?FVj?wZyx35!3)%(}2U~vym%XUQi&-a~@4{5(8N@+Jeh|8>wx-)36LXIchugS*v<$~uPqF3-QAw625 zPt)@ZIsSW5NjhshY)&^<_6T)lCOT=dV1?D*t7q;fYdAL)+o&PLt!zHtEIxbz!6;d8 zs%<7v1b5*Dv3ltYNH}_3v19dU45-1-#dwzM>C8il#;B(H~ht!USKU$)cNp zBxuHbzArfht$5_nNnIz?9ZGJTH=tXAZ(}gLJ7VPu2-5Se{t?Ut@a@v0&7%2^nfar} zrgL=z%oS2DBc!DnoszPW%WqxfwGYa)KgVdvMftOT<|sp2`(SasY$e7>7!i5N3yKD# zBNULT&1-0QL$u1_UpFz%R9QaosF>tY_m$0k=RK!&Sdk^$+Wxq+Y6F|X<@LBfY1W^@ za0)fR-VJShw8Ymz!{)FI)YFi#9D`(jXa}aGGj9>}{AkV2`jc(V&n>&=rTXH-%0zM{@<~4pwVf%)8(j zK)8<>u}#y48PpmMF*RiO_CIU|V@kCCGp5Jh)R(=Ep>X(tMgo^-N11|)z0hYk@6pFB z#K^byJvAy{9#vNGTV8e7!g2~VU%YxKlc>Iw@7NA-_P4a$cO9Tzm=*hub0dcjv{ztD zR}BQh*6r*OmvZ?MnXJ3iO%N1#X z=h-7Psaj=kdf6lr`8=6fmpg8_n;|R@R!7$jVE6+lNm*E zZsO4Miwldp%R{3U7Y0E7pJ`*PF0gyfsW~Jb%73W_7(i$e3aXJD#^%*8hT_(94v9i2 zYKR`2z9}!+`k;`qo`EM9#fXfis2Pw=%(-nACi*e_s_e#Y$qrPzcy?v8$oE{XQF3Kv z+BGMVX29putLn%1j*gByKntF200L<_ntykij7itGv%{7ba3n_E>MQi0nI0S$1R4LI zL)|6LzaiSY5cgk+v@y;Qu)}v;P--&iJ`^zv4SGCJ*PCk1-s#J^t;frRe+(hxj1qjl%7nb`Ta&kZ`8`Q@hdy27}$g z%qft`P7)qm^a%oZ?t~=>B=jQ@e^>&L#BS$1H3f9{v)k$(VwN$!zvn49JuV@i- z-8U@4v*y@Vn*F+mrK15IkuxlnNOwL4^t`Q{T9O&4XXJTe0zN-7JxcmE@hQ0TzKi=hTRT8{*xYK4lzKq6=~aLG z)w24i%(1_K&4Rnz+`*&)heyi3U#*&5Jr1Nm8P?0@G8zlQMIo2{u7ezkg`-CG11*w} zAy10T6iGEb%-_l?n33gS!nzh3Cbw9<3}Gp)Cn6GumrC9JO!2;FVl(df)goCXPiGxo z-uXARcXe)Cgyd8-{j;;=5uQhVD?!)o-cQO;DEYTl=`Txi)2V2zL3hE@w?D@ilG%G* z!AWD=^kH4={jq%C-;q^LbCB{FMeXx;f{t%aR!Y*iW%^jdc!tPg8ul*cRWlK`!DBaA z6^*$lvcY%$C?zQ8(eP)|BJ#4D$`goMHg zd-ItZ)9XIv*mkzn|zdnY+U`XQz+k(zc zIv}ATmA*ce_@HX%vfN6xn(X!Xw3$@G8E3$;)akuz+3PCa5Dtwj1NeDGZ)94NcsHw4 zoP;Ukr%N439ET!6{2{T0m7Y|Fgha&>ByCAAUR<0p!sztW-o*!u z8S|w&1EeEh<)LM>UR{@s^utfv4?nH{#b_SE-#tNhtyYolfk0oMgH? zKGf*zkw{uI<@Xdt6{Yb+iKJ3Jo$hu0^e$3Y~{ z-!{fvb}S;-lWZdY<2%I)EW5CXtz8qlZ0=11ng$B&8&q@hlK}kg5~h#)eycgX9{vXJ zgn+390I74f!$~49@Rs8Ke8G(9>1G6g^$_T z_Qi3IpX*JdXcQyDVu77p7M1{IKEk0_fZDJ%FtXRJoJmrwFF1r!umXJ%I7(D;omL`# z{&YnEsPQ}vz{MrFctsO#N&9rF9n{+SZHu0!I24hDKPfA&g1P(ud9(I}0{i-bFQME2 zD+mN)K`0s_tSt~W;#O`pzzc{U#xKat$IlHDFyP}Chrz^Qe4PJ1!vs*7r2n4 Date: Wed, 27 Aug 2025 00:57:00 +0300 Subject: [PATCH 110/568] Add Windows CI/CD workflow and documentation Introduces a GitHub Actions workflow for building and releasing YTSage Windows installers and portable ZIPs on version tag pushes. Includes a detailed CI/CD README explaining triggers, build steps, artifact handling, release notes, and troubleshooting. --- .github/CI_CD_README.md | 128 +++++++++++++++ .github/workflows/build-windows.yml | 231 ++++++++++++++++++++++++++++ 2 files changed, 359 insertions(+) create mode 100644 .github/CI_CD_README.md create mode 100644 .github/workflows/build-windows.yml diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md new file mode 100644 index 0000000..227f4a0 --- /dev/null +++ b/.github/CI_CD_README.md @@ -0,0 +1,128 @@ +# YTSage CI/CD Workflow + +This repository uses GitHub Actions to automatically build and release YTSage for Windows when version tags are pushed. + +## How It Works + +### Trigger +The workflow is triggered when you push a git tag that starts with `v` (e.g., `v4.8.0`, `v4.9.1`). + +### Build Process +1. **Setup**: Uses Python 3.12.10 on Windows +2. **Builds**: Creates both Standard and FFmpeg versions +3. **Packages**: Generates MSI installers and ZIP portable versions +4. **Release**: Creates a draft GitHub release with all artifacts + +## Usage + +### Creating a Release + +1. **Update version** in your source code if needed +2. **Commit your changes**: + ```bash + git add . + git commit -m "Release v4.8.0" + ``` + +3. **Create and push a tag**: + ```bash + git tag v4.8.0 + git push origin v4.8.0 + ``` + +4. **Watch the action**: Go to Actions tab in GitHub to monitor progress + +5. **Review draft release**: Once complete, check the Releases section for the draft + +### Release Artifacts + +The workflow creates the following files: + +- `YTSage-v.msi` - Standard Windows installer +- `YTSage-v.zip` - Standard portable version +- `YTSage-v-ffmpeg.msi` - FFmpeg bundle installer +- `YTSage-v-ffmpeg.zip` - FFmpeg bundle portable + +### Release Notes + +Automatic release notes are generated including: +- Download links and descriptions +- Installation instructions +- System requirements +- Feature highlights + +## Workflow Features + +### Automatic Version Detection +- Extracts version from git tag (removes 'v' prefix) +- Updates setup.py files with correct version +- Names all artifacts consistently + +### Caching +- Python dependencies are cached to speed up builds +- Virtual environment is cached between runs + +### Error Handling +- Comprehensive error checking at each step +- Detailed logging for troubleshooting +- Artifact verification before upload + +### Security +- Uses official GitHub Actions +- No external dependencies +- Secure token handling + +## Manual Intervention + +### After Workflow Completion +1. **Review the draft release** in GitHub +2. **Test the artifacts** if needed +3. **Edit release notes** if desired +4. **Publish the release** when ready + +### Troubleshooting +If the workflow fails: +1. Check the Actions logs for error details +2. Ensure all required files are present +3. Verify the tag format is correct (`v*`) +4. Check that dependencies are properly listed + +## Configuration + +### Modifying the Workflow +The workflow file is located at `.github/workflows/build-windows.yml`. + +Key configuration options: +- `PYTHON_VERSION`: Python version to use +- Artifact naming patterns +- Release note templates + +### Adding New Build Types +To add new build configurations: +1. Create new setup-*.py files +2. Add build steps to the workflow +3. Update artifact collection logic + +## Notes + +- The workflow only runs on Windows +- Requires Python 3.12.10 for MSI compatibility +- All builds use cx_Freeze for packaging +- FFmpeg binaries are expected in standard locations +- Draft releases allow for review before publication + +## Example Tag Commands + +```bash +# For a new release +git tag v4.8.0 +git push origin v4.8.0 + +# For a patch release +git tag v4.8.1 +git push origin v4.8.1 + +# To delete a tag (if needed) +git tag -d v4.8.0 +git push origin :refs/tags/v4.8.0 +``` diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml new file mode 100644 index 0000000..37c7c6b --- /dev/null +++ b/.github/workflows/build-windows.yml @@ -0,0 +1,231 @@ +name: Build Windows Release + +on: + push: + tags: + - 'v* # Update setup.py + $setupContent = Get-Content "build/windows/setup.py" -Raw + $setupContent = $setupContent -replace 'version\s*=\s*["\'][^"\']*["\']', "version='$version'" + Set-Content "build/windows/setup.py" -Value $setupContent + + # Update setup-ffmpeg.py + $setupFFmpegContent = Get-Content "build/windows/setup-ffmpeg.py" -Raw + $setupFFmpegContent = $setupFFmpegContent -replace 'version\s*=\s*["\'][^"\']*["\']', "version='$version'" + Set-Content "build/windows/setup-ffmpeg.py" -Value $setupFFmpegContent + + # Update build script + $buildScript = Get-Content "build/windows/windows-build-universal.ps1" -Raw + $buildScript = $buildScript -replace '\$SCRIPT_VERSION\s*=\s*["\'][^"\']*["\']', "`$SCRIPT_VERSION = '$version'" + Set-Content "build/windows/windows-build-universal.ps1" -Value $buildScripton version tags like v4.8.0, v4.8.1, etc. + +env: + PYTHON_VERSION: '3.12.10' + +jobs: + build-windows: + runs-on: windows-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Extract version from tag + id: get_version + shell: powershell + run: | + $tag = "${{ github.ref_name }}" + $version = $tag -replace '^v', '' + echo "VERSION=$version" >> $env:GITHUB_OUTPUT + echo "TAG=$tag" >> $env:GITHUB_OUTPUT + Write-Host "Extracted version: $version from tag: $tag" + + - name: Set up Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: Cache Python dependencies + uses: actions/cache@v3 + with: + path: | + ~\AppData\Local\pip\Cache + venv + key: ${{ runner.os }}-python-${{ env.PYTHON_VERSION }}-${{ hashFiles('requirements.txt') }} + restore-keys: | + ${{ runner.os }}-python-${{ env.PYTHON_VERSION }}- + + - name: Create virtual environment and install dependencies + shell: powershell + run: | + Write-Host "Creating virtual environment..." + python -m venv venv + .\venv\Scripts\Activate.ps1 + + Write-Host "Installing dependencies..." + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install cx_Freeze + + Write-Host "Verifying installation..." + python --version + pip list + + - name: Update version in source files + shell: powershell + run: | + $version = "${{ steps.get_version.outputs.VERSION }}" + Write-Host "Updating version to: $version" + + # Update setup.py + $setupContent = Get-Content "setup.py" -Raw + $setupContent = $setupContent -replace 'version\s*=\s*["\'][^"\']*["\']', "version='$version'" + Set-Content "setup.py" -Value $setupContent + + # Update setup-ffmpeg.py + $setupFFmpegContent = Get-Content "setup-ffmpeg.py" -Raw + $setupFFmpegContent = $setupFFmpegContent -replace 'version\s*=\s*["\'][^"\']*["\']', "version='$version'" + Set-Content "setup-ffmpeg.py" -Value $setupFFmpegContent + + # Update build scripts version + $buildScript = Get-Content "windows-build-universal.ps1" -Raw + $buildScript = $buildScript -replace '\$SCRIPT_VERSION\s*=\s*["\'][^"\']*["\']', "`$SCRIPT_VERSION = '$version'" + Set-Content "windows-build-universal.ps1" -Value $buildScript + + Write-Host "Version updated in all files" + + - name: Build Standard Version (MSI + ZIP) + shell: powershell + run: | + .\venv\Scripts\Activate.ps1 + Write-Host "Building Standard Version..." + .\build\windows\windows-build-universal.ps1 -Verbose + + - name: Build FFmpeg Version (MSI + ZIP) + shell: powershell + run: | + .\venv\Scripts\Activate.ps1 + Write-Host "Building FFmpeg Version..." + .\build\windows\windows-build-universal.ps1 -FFmpeg -Verbose + + - name: Prepare release artifacts + shell: powershell + run: | + $version = "${{ steps.get_version.outputs.VERSION }}" + Write-Host "Preparing artifacts for version: $version" + + # Create artifacts directory + New-Item -ItemType Directory -Force -Path "artifacts" + + # List all files in releases directory + Write-Host "Files in releases directory:" + Get-ChildItem "releases" -Recurse | ForEach-Object { Write-Host $_.FullName } + + # Copy and rename artifacts with proper versioning + $standardMsi = Get-ChildItem "releases" -Filter "*YTSage*.msi" | Where-Object { $_.Name -notlike "*ffmpeg*" } | Select-Object -First 1 + $standardZip = Get-ChildItem "releases" -Filter "*YTSage*portable*.zip" | Where-Object { $_.Name -notlike "*ffmpeg*" } | Select-Object -First 1 + $ffmpegMsi = Get-ChildItem "releases" -Filter "*ffmpeg*.msi" | Select-Object -First 1 + $ffmpegZip = Get-ChildItem "releases" -Filter "*ffmpeg*portable*.zip" | Select-Object -First 1 + + if ($standardMsi) { + Copy-Item $standardMsi.FullName "artifacts\YTSage-v$version.msi" + Write-Host "Copied: $($standardMsi.Name) -> YTSage-v$version.msi" + } + + if ($standardZip) { + Copy-Item $standardZip.FullName "artifacts\YTSage-v$version.zip" + Write-Host "Copied: $($standardZip.Name) -> YTSage-v$version.zip" + } + + if ($ffmpegMsi) { + Copy-Item $ffmpegMsi.FullName "artifacts\YTSage-v$version-ffmpeg.msi" + Write-Host "Copied: $($ffmpegMsi.Name) -> YTSage-v$version-ffmpeg.msi" + } + + if ($ffmpegZip) { + Copy-Item $ffmpegZip.FullName "artifacts\YTSage-v$version-ffmpeg.zip" + Write-Host "Copied: $($ffmpegZip.Name) -> YTSage-v$version-ffmpeg.zip" + } + + # Verify artifacts + Write-Host "Final artifacts:" + Get-ChildItem "artifacts" | ForEach-Object { + Write-Host "$($_.Name) - $([math]::Round($_.Length / 1MB, 2)) MB" + } + + - name: Create Release Notes + shell: powershell + run: | + $version = "${{ steps.get_version.outputs.VERSION }}" + $tag = "${{ steps.get_version.outputs.TAG }}" + $releaseDate = Get-Date -Format "yyyy-MM-dd" + + $releaseNotes = @" +# YTSage $version + +Released: $releaseDate + +## Downloads + +### Standard Version +- **YTSage-v$version.msi** - Windows Installer (Recommended) +- **YTSage-v$version.zip** - Portable ZIP (No installation required) + +### FFmpeg Bundle Version +- **YTSage-v$version-ffmpeg.msi** - Windows Installer with FFmpeg included +- **YTSage-v$version-ffmpeg.zip** - Portable ZIP with FFmpeg included + +## Installation + +### MSI Installer (Recommended) +1. Download the `.msi` file +2. Double-click to install +3. Follow the installation wizard + +### Portable ZIP +1. Download the `.zip` file +2. Extract to your preferred location +3. Run `YTSage.exe` + +## System Requirements + +- Windows 10/11 (64-bit) +- .NET Framework (usually pre-installed) +- Internet connection for yt-dlp updates + +## Notes + +- Standard version: Downloads FFmpeg automatically when needed +- FFmpeg bundle: Includes FFmpeg binaries for offline use + +--- + +**Full Changelog**: https://github.com/${{ github.repository }}/compare/v${{ steps.get_version.outputs.VERSION }}...HEAD +"@ + + Set-Content "artifacts\RELEASE_NOTES.md" -Value $releaseNotes + Write-Host "Release notes created" + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: windows-release-${{ steps.get_version.outputs.VERSION }} + path: artifacts/ + retention-days: 30 + + - name: Create Draft Release + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ steps.get_version.outputs.TAG }} + name: YTSage ${{ steps.get_version.outputs.VERSION }} + body_path: artifacts/RELEASE_NOTES.md + draft: true + prerelease: false + files: | + artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}.msi + artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}.zip + artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.msi + artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 6cc3db2ce5451052ea854b4ca1c7772867d873d7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 00:57:10 +0300 Subject: [PATCH 111/568] Add branding screenshots for UI features Added new screenshots for audio-only, main interface, playlist, and subtitles to the branding assets. These images can be used for documentation or promotional purposes. --- assets/branding/screenshots/audio-only.png | Bin 0 -> 711566 bytes assets/branding/screenshots/main.png | Bin 0 -> 663623 bytes assets/branding/screenshots/playlist.png | Bin 0 -> 607601 bytes assets/branding/screenshots/subtitles.png | Bin 0 -> 692588 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/branding/screenshots/audio-only.png create mode 100644 assets/branding/screenshots/main.png create mode 100644 assets/branding/screenshots/playlist.png create mode 100644 assets/branding/screenshots/subtitles.png diff --git a/assets/branding/screenshots/audio-only.png b/assets/branding/screenshots/audio-only.png new file mode 100644 index 0000000000000000000000000000000000000000..943e773cdfb50c4ac36872015e8410341eb523e5 GIT binary patch literal 711566 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 $<{)$1z`Ehz{xD8oVey(${&+Fxz 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%0Dw<|9D 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

    L8I8!7c=2@q30Y_9 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

  1. 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

    fA?Vk>n&%i5FWzW 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 IM6N<$f{KiWO#lD@ literal 0 HcmV?d00001 diff --git a/assets/branding/screenshots/playlist.png b/assets/branding/screenshots/playlist.png new file mode 100644 index 0000000000000000000000000000000000000000..71be8d7434dd72eee86cd07b4b675be5e63216ae GIT binary patch literal 607601 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ð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

    fFQyeuk!@ckn;pb$>yRr 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

    XuctC&XObx{uNl73f}`(xoBe zEugE-A{B%o;l-fyXtY5zgG^x7%hL%bf2l5dI2F8+;*^%bC z4*xekQ!e1F3i_C-dOPd*>v#xf5|U?{DJ@CzdWxs{NP~r z>?shRtUI&^3o$@qs{g;OHx|@)Sg)eX175N1;Hd?^k6JDQ(B;Q=8y!>p6MO0#2t6jI1!X{C`(hxJbiK6b^Ypcz<1Vf!oYfSoHgH*$ zM~7|FUli#GdA@5iO*T7C`E`E#oFQFdWft43Q&MF59^^5XVE|0Xp8NZ#2y#8PmnA

    9sh75TW3*ZpZNv9tKI71ua|dB1I7 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 LNkvXXu0mjfiX+e> literal 0 HcmV?d00001 diff --git a/assets/branding/screenshots/subtitles.png b/assets/branding/screenshots/subtitles.png new file mode 100644 index 0000000000000000000000000000000000000000..2dfb28a86866154862569da42fa4da82a334143a GIT binary patch literal 692588 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≥-oDavfLdU zO&<}6x;wAfXMFP6WTb9*1sMq&gJ1307GGk}UtQ zgTaZd;iKuYox-*r*p=iv+Q#J|j`P>EOw{8S(}IqUC2R|VT@no=1fpA_1Ysm2B^Zq34~9(r5BJkLw#dCU^3o;xOb} zBqyZ-6uR9F4`tEciuC@A2mt>Gh;S9{vwAO`S2vqx5P$2rG8fEYOpAOs%b)0DzZt9G z=L4~R+mEiSOoIT6Fr`yQ(&tJ2F*a!#(~4{vlBfam=GbIATOcKH3^F5p#=B``n5KM8 zJZXl7m}YDM3>Ta0x(tXS*I)8sx=S5Z@%#Nj4&@3k2qRcy1x-tB#hF5YKWz zvuRqG?+e@@KWx%OE~u*%=F21(#MP-UXiuw`FU=_YPcJ%;0oMF~Qc{l4A{&x7I6=F8w_D!wdIe8MLjqK6>#y&4>~4MIvJ78qbu!no#Kz%HNbTCS8)-b$-llArx1}6-} zA}&%WweS>FT*CE<@HDba%Q-CQa9y2Jj?M)nm8VZ!DXJEL;5o+qFTBHe*A-V59kz@^ zIOGh0JA#pwe?!_T+&7hC%R6~DY?Nm32ZYUNbjg!y>vO-q&Vq)f5{;=tIrwxinRw-lUJ064yR9K@^E>U*@lpK+6K zbRrLXaxx)}m0ElRfadm+_;q7R!qy({qel;n1A7mQuYT!EW6$1e#@>BL#-TdE?z+9Z z$Ctiv)!4Q3%(45LYsMG8{LkZszxOiARonKHfS_)gIvKw@OEy=6e&s*CbKK#c^%j6C zWE?3PZL5>^@oKzFZg;csfh)f_HsIjMO5m9&oJQ|x>v&ef+PL5r=Z#NY^|d;+zgD49 zKq#Kq#x2VWY>Sf++pp{eR=}ME6|@JB6`%pF!v!DC@Vx%e!IGCMG8mVnR+11h*1vTH zZ*9O9fRA7Po^hvp-nUlAksKeaLj~&)!0Qi=yIypwars9-!?y}-s&foZ^*Y5QFf^kj zUo|IAQ@je!*YYi=cK_K z_l20DNyH+!EcVR7kPP68PgX3?LN1e5%n_OLxJ&@+GsVu|_dQlNDYofYze4`RsCbk~ z9{w}U&}qb&!a_>)5r;z_C!Qo=Z*)yNK4zJVQH*X+{zK^cY#qu8@KnyDV8D2{FN++T zo}9-pk$k3aU?ku0g>@yJ2!LCaRqKTO)QTOUK2LVKc{+{7=P^Iv^!$+{(i7idoDisP zqU`}5{+_648)wHFt&8SYR>Bo8`Q$-c9owKodkZP=H8u7Xb~t3`P_#sd7!@ zDMCy9^>6lhCy36z`tM?cc>$1W-DgkGv6k1&6KkXtwR8R z_zB~MFaMKqb_L`p0AO6ar@gn21Q%e*IM^wU1Ccet1iVNH@f|cUZ?ZR#ledC{Trw1T zgimzPN$jDYke^iBJV101?WOD*stZUu_tZ)=5?B;M@~Wd1+#@&>U2~MAm!ezRA*L;_OVKQ4%hW9 z6btS9MUsPiSwBLOv$6Pr?F4lPPWZ>ZeYA4&kUzplH5mAMrelj7IA?ri`T;->WuB7fOU-;Pg!$0`L@i%|}_VKYQ z*z7C$=UE!-1wBL01|xKGz}hrCxsveev6^#36#zc-;rG_7@$NIusAT;>>B-h=Bi~;u z$G~ylfg=Skwv7~>_>M^7aH=09+Q%yieb(b2HGbz+uN^x|=1S-!x7Y?jWU);F$!!Jg zaTtvgg;DyBwr{S)mTX{aLczCZ|Dk%*0uC_5K-FVV*Y$=12hg()m_E34427jC0DSWD z_l}G2aUZ?~;7An_a8TZL^;*H3owaj(;j4R?NHDQG$uL)PEGBQ?qqkYC+E!9Q$BYZA*eYZf}4vj=q5=_;#6B(m=bK#K0$ZHR|S|#j3w*d z&}6y7#qN{>*3(M3P?L^!f@&W?9pnGC+Dw^t(icqR^Xtw6p1y{*1<2UfCGhdH0#?3A z(0fZ!`&mn?Y1l~~@l-)2E!{$&02o90W7?gx@8UVwuDUOaf|)mgxr!O01OKCGflb4> z3Ot3cTG?$vWq<0P-sa%MjvZK=>pM7o${t|S=LntRCjP@8vC4XixQ{vqyRJl9ZxLGf z&8>MH+eHW3u==a!WJd$XlP{F4Xq-%#;=bq$*bs069(P8NZa`770RwsmUt*19BU=dV zZInM+9t9bEh;i|l9$44)5AP%`QAp+xieK=VU1OX}f2-4^{>zFxeN5d`wuu?M&38L)5N@5?rq0kN6NuABTpsN$!B)Y9HlhC%(PyRjnPxRAC z7+RR#ldV&s09!C|zt7$XA5C7-II>HtW1QC6f|&#{-Xy(cM+`K-BX{P_d|%_0?;@As z$t3R_ZPF{MlIe}FXw+P+X?Y=`1qWfC_&NVgo>=a}d-5T&hiB`;WXBd-P5K&qm^ef> z7g}sMe~Z@*FfOmhk!u1vLmG*R`L4wD>ICOY)mup#>)mni7}mT~P@q65Kg$~ZObh@d z;-wwl>jTTexdlUXa}q^JE&d14{5sVa3UyD3Jc;TfRg+JFFB4>?i30-FsSj_CY_X}5{4Xjmv;A=ezL_{9XV#2 zDJVL|l`XuUY&Q~L%vuG2jX9_y#-};4?gL>J1)uqZ$Bp0mlgq|AyS9%T>I?v!&W;nO zQz*(FO0mS@j|0|pGs$>sNDdu2^|Y~78q)!5be72r*rN9S_z6npicU&S^_cc|CWr*Q zpaTmpjGp}9sqpvpI7!IZrFXo;c*hl=88^m?AP!_hQouyV`o-u>ve$m1p;@&@T0L@r zhZbGvO(kO+>um+sp<}~#`CkF=gs%}3Zoz6PUXgc0m0oI^Dra?&)pAQZEwpxdMLNGk z_|iYiir1aFkNvuOFR zhsIYv|M_v=EpMs7x((R6!PaB#Hj>YNy_7r0u9!WVd;8`G-FZ4uDuTAANh?fREoc=K`j$FHiSMF%yl&4q~*NbXhH+8>X% z0DOW4fa(CKZkVH0VA;HNL#^ENq=xE9sSX?MKjD7CIWCM@LBgnzyT%(^#%urd<>OJ0 zee$@`&MGJXcLq*QJlM&i^FU~u!P682BPJAE%QI{=XwH>h$)bw%>YC9x5RNS(rj~g< z10u<@cNjxJgh`tPp2SVg&sLxiRb>0+pY?nBS2itnxf5p3 zL44SOCR*@5(nowvjG*Akyz}UyoUIlognw2LODZK0m$MMohL7|V+iCf@5^VHk2rDXn%(hY1QY#T`~e{MM>8>XZ$ssdrzfbEF5kujM&KRx&ID}^1imI7lL;x8f- zh*uSGao7T^eUCs&RIvmcCI&^vg@o38Ot!$n34t$zHNhi#x?{2F4#Lf`iD)iEfPW&e zo}1748gBvrqsWqBffNEq*#kSCbqqovJy{21!cF5W`l#D-ugRGpKZypO%Y6hC9Fb25!9wRvGVXVi8-s*(FoDM;6up;A@dKTm#9Bs}t7iDbRzeY--#JjkytL1LLaP!c zTn8aq8I{Z{a7i^ivff1k*kS5YAh3efM4ZQZBPc~F$%ca%B$lL?@34?ltVj-3@8pP8 zBJY#x0KD)|UNg?ASAO9g z*;wV^s(y{hb1?wNM6UHljc~_U@N@7)fF#!{j3(#Dz)A9DGVrdR)UvhE$qkVhk2FvL z00tGw+?K+3cj12&bEg0>jolw-(IY>MT>XB~#kU`C|Kz8~jcdO%-d(@hG-R*^-kLX{ zt&&3<8ap_%MqH=tsTzVd*7(Mawcq{fI%nZ6|NXLYn@cVkU-{>&YbBY@%Vg-WI)r2s zlB-HMZ$M{9CC;_>U#rYJ$92_${qXPku5tD5J=H>8C(%^%EizM^jKl|=5Y z6XZ)&c~E8ZS>nGc0`uQU8VX0WdcWjXe}4Sm&-pbyP|xkC_tG;EsE!D{W)ex8Vsjm0 z1!-F=p7EeXC=0q{Dp|$KJ?O;)5YdWUaj(2 zsazZTk5pmfbDtUK-Rd?hV#V5|UAd7o?33jpoO-?6hLT|vbdZ4KMoA)I!j>NI9&MQwTy>RpeQwEj zFMi_{Z&&}npB~@vO}DSD6on&-m+p3xUBo|1MhI1sfEt0MsOvf;w7zpU6z<~&9pY5q zPhCPv%4COd9}^dgog_rKGv9z!vVE23NJ75gMC)!HN|9bBNcz7dMc|XY6BAMwDBAJK z7BcB`(4B>VV&NipET`Lledjz}qn4rudGmypj$|F4ghX zp4t=2jbCWVi79Cc-ypjU9#9S(2aq%7ai@Fq(RD9lQR~fY8tjL1#zFWs z7fqIUlY(x4BN|0MW0f`Z!feWX3JadM=?hgLbtES|+!XPVWt{~=wu!?VJ=h9s|pSzq%U7E=wuIa=#2vHD74Y~pqxZJ2UHa^nR4L?q*304F$v%bJq; zB9Lu>{H*!VR+xl}aAAIomE=9}SW-w!2Y{hp(?WD6y%--kSdF3zZBLu=JYNKqNlg<+ zuq>Lc&x9fLpZSon^E?H$^Up3cBtC7q3;Kb{G)1;>v41rjs zdH6j4POU3E;}*N<5cDJbGcSeQ#G}Z9=@z^&USwy5>3;nDS`Ncr?qjZwx1Ft2u!0E;5)HaI^+4*SU7hHfAd}5tUNPMGAA$)>uP10 z9RPR@oZ$umq9+{hWIr}wKlS*>j^BROYwE=IN~#VW9Y+c#HoyB2LMHe2cY<0g?+Wx{ z;1WK2BICmlAi=xkB7s2Uh9oAr#XrdsDILo#da;AWGKBGq&fp>RzjEktE#7aBzmw>C zi11gkIsb?cxQe+Sa>t9tTR(wA0MP+ZNgq;-1%#Gu$BBk;ksk!yo7n2BIU*}a?s}!U z9P+hw5Z-}nzBaac-e`)N(N%V;if>P9$b31q? zEI=agNH--Lx|l8#&_czunz8mtAFNJ=J^%96amIO70B|t*uL)HLdN_4{Z97-Xw{AIO z?A^b6JnVjV8?S%c2e?Xmyc{OaB0QyRih!Wy)nESHIPYe+A-rc)aprIpsX!AQfs{9u_OD&4QpE| zC+Z9m%TN4?OyC)80oYUpfPdr`fL*m>j}8E?ZdZrHp@Q!{Z~eP*&-*{LhO1)5{A$7V z1J`^g7+`LC2Jor=+qJ#6P+-hBWQZqhCinJtv@OhS3lv+)XR&n3WK}Y*Zm)Wdh4^|V zX9G+@3(iOA!dUx=SbdGB#0EA<`f-#U1(HLmO8st8v92+$6$KgmS$J4>Zw$=H8QuJ4jKdX{uMXr%fYMI?0?$=i4?`gv^uSrA$}sM;q}p46Xa zF!?)0^Y9~lh<{qzA*HmO1vCkcEQ|idXVh+Ou;HOJ%%!JlHrNz7=g;1mblk0wUXx2SdV9Q~Ji52p;0a4LKX&%C+G&ub1pwuYp zTLMx5sUt_GAhN8_vahjC%QgyLyrb~G({siUWJ-3y zaF|4J_1T9!O8zB_%9AwjVu~=ae2LD8a;5;8W3fvp(KZv>DH(U*7uk>;`Anr$+l(_c z)bWom@t1G`p>;lx32SEO7SLYzioy$>b;qLQD!^I6shF^x)|*Z`eVsbz=M{A7UJe)9 zd+s?P3mJs2?v286O#hulh8gdmjQiIYCz!}Z&Wuxt-=YwhJx3QlrbHuh)ArB!CfN#8 ziF(FsWGEv7*#m^!#4B=+b61>jarpYK3%LPS7Werq~9&W z{3@{HUX|&jBbH5PJFP4H&f|w}o<=!P6WNFWo~gh@+i4}Iycy=XxY4>FxdfcJZYjSGZ|Exe;vV`k-&7Xocy|dWPfH*1HOHdxCOed;L zm99Fk-t;5>V4^&dDNJ$jHQ)l+u3mEi>OF=_RURtxL* z;p@kyZD&-cLTv%4J>b_=*TeIk^^@Z{|M_=nAAcPnS1s>f@6R1>`HkbsFMMg7U8n9} zU*q7gIJChcLBpI#S2nr@FU1UevytyQ$G%;yexvAkptg3fWj_Xb)m*HA6rLZgEdXoP z{cz=n|8d;mZuhPZfJzKNi3&=#SJHlMt+qepes>;kerLTkVV$2k9gd;p!TtNj_Ih0+ z`YYh8*YHo;GFiN(@c~t3Q~aO;Vok^njuM{DMc2Lcy1skgL9`m+r~rgeV6gJ_kX0em~5}pg%{~; z`=M9kF2Obbw4K1`9tSi>v6I1#eFLX+r-ps(a*hmO7yn{M$vMDVVXoC}p7nxT@ zF1?XP^+@qVg(8eBInk=J>6okJlR9luWS03vv0sG|`f4X6v5x^-@`X0_DH())b&SH4 z5p>{~5}6HU)OntP`MI3I5JH;PBB2&r7#BtEP{^JN9n6^cMELW7 zLa(-x_mS7eL+~c>QK2l(-QJ5sI&tRoKvK_St0=$Cch*Ysl9he^lFye6Q_Ygtv_47h z8aL9zu^(A$rY45rwGiBfcS@9(vnxbXK5qq6T)Rl~GEN)U#g@mE(YR<)VD=v*bSJX1 zNwPmA_%e62IpdLUlG#oYOdkn>zYA?K6o>PChDVGBktqy%j`Nx}Nj9KM@Zl>7i0@C* z5;~{w5MFz@hUAF0!C%v>lXu%9+NdRl7cY%(bU!$^r?5_lTf|HTXq_@|}wqo#d?#03uJ|3HVX=fG6WdEHYjO@cpM>BxtaG;gj5wVHxA2_&jY}A&mp80q!X*gKAMS?ebZA(glKa zvTz9FYtS3MCP;9y?O4%oKflf^O3sZ~^r@ZItb-F@0SmWr7$GI9E@D`&TKzmmbYaEF z<6eBfVv#MIQFINx;v8rj<~bt=xX<^uy|V1KJ&>$OWoFs7>>0idH{FU8S}>6Ym9d@- zDpp*OOp-B9XvI1OxV)y*rRkgqS5`HY?8#wE26XU`R$5XJ!4uxX8~03y#P)5DwDT%r{18-ES9h)0Z>j=7Z9gzANl$c_U^_zMtk5*Z(0}7pceKV| z^~sNpTio%^OqRFQD*5hx`^PI@{G#!Mr$3|S*kAYTI1N`KEaYy@Td8r)drrNcabLZi zK`X^dwDKB-bntO2Ks~iqGR9_q@=VSM#j*n>Bf#qz^hgXM|K^`aO@1Fm!J^JZ_;j5C zaEH5A2S6SAhc{?!Kzn-?2KLt$fkLwm+(TzW>0*t&saoAn_H%+n+FtzN_kG*=^Z)h_ zbs~MGH#kpVTFFiOxr(9y7mDWBA}0Sv@up7uKU|$FXuH4qOP?QSoqx-9n9UK^Xhz`D2?#tLOwi_EPkRPm}Gp2WZh5>EfFLd2I_&G9uXr(1~sMgvX{WBhfgKXkqx>vY}y< z_~1cyG{nPtYCa@da~%KOV!$yiNye|0mDC1N0I31k6H|?6GciXX0d1&*xtWX6ywM1NMfX+{m`M1-i|BjnVm&{J zicAUqA)^;un@2_{vW9!x$9*IOc4Q$JVm~4%J zT=zrT2595d#>fj6Q}MNJ6Yj}243c4jd!{XhH;Fj&`YsaESG=h+0QfRDomD}cVT_T? z<9iuXt$e`fJE5lDXb|bVl)4SJpJPz!`;v&omQcP4orTWIlU3vxIVS5c>SzZfEHa$I zPsUhs5qT8BTn!}hs_>@x{xaL@`|=~xY!V;6Gb%D4^n>7YSXy3f_D6%sFIRN
    H# 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 V}D8(YrC5v{_v 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

    KF!G42;lFDa~Edp`0xf+Y@sWF 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

    4J&j`Jd-!O{a%98rai9FwKZAwwRSY|Nop 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

    bBw>K~5tcy0JGr zO7u}2!;*yxZ?)|kGcfOQ);skH@;M5@TV>;kj!2!DTl5jwM8HlVXxONnj2VG$0u48y2AB6s;J}KQokxs^-%cMB~ehE0z}zvU(Q4nzx+u zc%GpR{)a5V(4LMEf{>*YE(;yBQ$th(Y&-A(gfzL1n`WF>DbRvmi@pPmR%OB{Ri>~hq(S#>)S(0;sIYGWsvPe!2;2zh@BJmV9fv$<=^&Q&KruCK?jdEFb@6Nf>H1##<2Csd7of{n&Nr zx|+R4l8j~TBAR(ii7r5?zz6+j_6xC_$6{JPl?wgr=tHXkFVs`|A(J5}z})atG$Q~> z5=OYB1>z`Sk|ZA=#;93w4u3AEeDh%v^KCK6!*{Rw|O$Jj8)TOGF-p zg%K>SGxl75wDe2kLaG|0Q0&C<%Cb{1kk&*m7HW}Sgr{vR`QFJK5X&(cQpy^w#xt#q zOVl!IxqA7!2O3~;ZaT%l6T%?OCtQsHPBXQ5fpn&Z(y+vTe%07(TmFrLj#OAA!#y^b z3QW;WP498Af2Y=;POwNBnjxn#Xq|_L5)$(U2a+c5v6z4OnW*soo&&w9kjT_Npst!t zm1sd|OP=v1`4~$Q_xmER9{F-pPO?iOyc%D2cJ$;bD(lY_}GCYaYZ!ATGL$|L^asD;15SL)rfGRC> z6G7on0t#89@TMZu)ZG0dsluS&?=|t^m6!~g{0v9i_~v+5jZHbKFxA(~((6055A1Cg z$VUChrq_izzA<0>Fmy`jEa?rfZG9hVX!haLI}&-Robt8Ob(B!uF`4%eS++wiA^3nd z;vC}m&X)Tb6$h|+^S2Ev49LS+=jiSn3Ln!fZ9jX$3<~7uI*K@q=8{v<`3YZo?Mw$} zZe#7C#0HmeEOLuLnzkLE;*_f^_19gL8#`S? zbTmp$+@OnkbigOSYgO*~E#EU>OzHc;uL~mRa&j23_zzLE2BAF0Ze9fCqGko42Ga>@NQy=Zy-jw;v{>dMR9hiP~Ig4CLf0&N_-)nd>P|H$LG?YnfwH^ z)Cr@wf`B{Qr1UhNuf|z-HFkAcnNkhneA_8~k(W7qmhhq+;cxH`!mge@Yh|Ar@hC%u zZ;+Jx$!9Dy%}?7~9d{Y&2pi;)q%n9kjzUq8W7OlmQZqE_^Lc%3 zwZONqyHgL55(SR2wkl~|(lO9a>M?ljzBxd0?IFM5N*`OEYQ@W8`^Is5FR>F@9tbHV z{NHJ$hqsK(AWA|s0Dc@R>fo8!PgXlym{@pgk05lhBW6waK+DU~FRa4fRD4fn{@Nrw zlk8u?irS+y^W3~JWOn(m5ljrZX{3(E3ZzNxKIjXQAw4*{e}GT^R7Qshu)7R?Besh z1Eb*J?#s&eyG8L}yA#c+B#OpZlp1Gjz=Am{)7b$U*x$egj-;>Uk4 z2lGiuYgO!N$43z(_T2cK$IX{TdA{BaU;A$8)V2G~dmegTCY51{mQMJ9iNW!y-k1Yz zF9lqXC#bi!Xj-myh%W_XNf)9}G((39_1RH<#}nA8wLh)Vu3?4QzR+eN%ymepM=CO& z|8XNU*q%0A=}Wq+EgdcXjZi`&=I`HaH@1u`xiI=2|nOL#zk zkZiPmQeTnqrP4(cD$FIqmu;i$*-$o1gP!cF4-@0S$t{$CO8s(&NA^}gdxiLPPZ>=So-OH9z7#Tc-uu~KdwnrX0#FK1UuwJlZ zyEV0&njT%iicF37Y?-HbNC_T+dqFd5MFsw?-LA?b-uh>=t>)~@Q;FjJWO}+=AT-45@4bkQgdaF9GyF7G1_TpM`YxzQ4*?O# zFTQ)e+s1<&e2Q`s3Af?qZ}`XpNA?In8L&|Cmy>?Az-X1PrR;U^aZsUv&VQR`hMi;X&CRqn&uLXF+-3?gnfC`&V$CCD zvySQD^2kjbI^c-=C(A>L=YM!*lm!L*dv6n8#1*3TF$otx5`O@-zaXp*a1si+pU|!N zUMBLJ_{pcS8GgTsjfat=wdVvDs;q#YY?mmNB#HT)y?B~yFbHUQ1hZccLlJS(}&YD#~|2TLjg zUY>+Jz#rR*{(eb{bW5*DBONS9y>zRKqed4KIj7`IqOx)_>?FSrRI+B%|1uertWl?d zXsh2DmjX)ofsx}TpWHL`4T~B)`?mUcPSkIw>f-HsmW4*~G_mi?{srOi;@A?;VTVmn z#(I?i0dQ*yiz6#UkV~Gh8BH;!#J%?vG9>v^O0#7es2>MtH95@~vHzP^9x%UKY&gIA z?v&`Trht%SW)T>HAK6o?k)L(>Y0V%Ilvw?7L?;D7gg&-hH~H<=0h3Sn(KACvib}4k zW)LHhtT2|O%jwQ?bFJ+jdF;-f$eBDgzInRm*f)iOMUOw8r0~%d5x=4NhzP%kT5~;5 z`gwPUTo!P8SjkBE67FrXizYaFH2goxE<#sr`iI=e9oJe-cYlu$SV*9OUDUbROi2Ee z#WttpMPV|H*t}NojDO<58EWp=x()DU3R%^%K6?hGfTp-C7p$i9Ep-1jc{R0N?b>lU zt+I~l*C!5y09ytr+38e!rtjq{J9e#!MbAC;JAF}6SW+ba*gvJYryu|?w%^DSycFvK zD+6r&PJieiI-{cUCQ_{F_9cd$Cv=@ne9JlfgLduTdhj-%3u?rTdC79NFUH}1F`De^ zTge_}?i%cr;Lg?XK@L8TFh-01F7T9Li69jCV6e^e*zW2?d~w7`?CJk?`SBbtN*1&r zznQ&?;U3L{Q%Y^56(tHjPQ@k>w zE#Y06OPtZ)&ToZIzOwXVdNi$uaY>ojm?r6qVH+h5>;KIq?A!jo=B0Y= z-ynAyU=(${qAtJI879&6B12{oFd}<|M7Gd3{{1T zwp}~u29fTR?rsoi5G18jq(eG34bmMVA>Cb48|g+=Qt9q)*pGA1yZ0}w_;SoKzx!kD z>%dey_5n$$25s`%W8PyGPmbe+K9he&KJ1Q|vaufQf`eUc`*k)k^4Ne~!<&5U1JNz1 zhNFf==kAJGN(46&$iU}s5btG%lyF7Q!9d69)YVFC@64BB#*>I!s&nB}ty^Sp2|e(G%P=0XZ?= z5tki%S2Fh}(xiJ{-Jo3%>JuSc17BrQ>@Gc6<$m~t!*0OS=edej4xqOP$mp0{kOITD zMn*<-q9l(MoqWjyN<0OTfq0VBS7h-8a=B&Hs9dQU05$kzqe%giJ6(zr753L&X}e4; zPj@LSK2Mxs#lc!eP>N}H-Z#(Cc~!&P`bWWkSZMyOugN09i7sc%G!dGfq@v>+{*`X= z`^_H~6^~l)&Gb91WBKf6WOV$xHRP9E*^eMeLFYJz+F`sCDL-+QXB-0bkmP2a1k0)$K$NHCtvm8W=G<~uR1A1=j&DO2U+^wyE$xa^M zU6%Py1R%wC2C3~5J9vq;GTZRUPMgn9z^N-v`kCu1#2op{{t!@hAU`ddM3r>`5&!8L zv7?(T!e3_=T|>*THG zb20l;#zWKrOwdmb(KTHt?eBfjCONv)8&Rli=XK%pm6c4;A??iOT>_GFS9&JK7G#B2 zhiaH?9b{_urF>Jl;On6kI~=j5N`~i4#Yxoch#~xJ95A}T+MBhRhfH!?Jt1Ef6D2EA z%TMgjXzNtH=X45`(8hlYqJBABbQeMcxs;~8IQp&FeEgSY)J28T>WaAgU<{MNnE3nD zcSQ@^5RdxfQNag#)roQr$al}=)ct^je&uw1;nxE@zgTg6xfM-mQ1g)a?G%)=MLp-y zV}5eH!a(YUPf%DLeztnX$!hjnrwG)|6W4pVK#Ub)1)2=IzdT{~@{+>cLg|5l{~R=H z0_gm)d4D$R8hgLpn#g=rR~~L=-!=3WmjV)Q$mSX6Csp0Kr#V*hy3|X9HYIe@zIOzP zI-Iy`HO-fETvs#Zc+bF!keZJQ$VnH|S<#qJ72kQfrRmvnIJ7wJOgA|Ul6ZfQNBrduNwAx|F~< z*qAO}gPEvy9U|A?pjAAQ>54f??7v*%_ZSV8D)ZSM(k{qN>gtzBN5ffWKdwSuE>bDk z-~5@FuAEFUIU0Gtl&Za0U#N1pfFE}0$a(IPT`rBl06EXV-=4v-WEmU>KDlmVG;9tg z>k)jEE^7*`Vw?ApTlg!fYrLDzoVz@4_#`As4XFJpBjtPMC;oF9fq0AYf&}FJLJ{bU z$aU7DV58x)RohG0o_RHWDc(DhCJ5(hV(1gZEYE#~yp_8}e};DPX>#Xjy{^*saNOH! z){V0T!OP#_C~zoiZnGxPDWP8bm}7f-+g0{pGz?x;m$|aH!iuGxjkUbdflds#&lyjD z(gZc(5K#-8l49DGD_#q=!{v>pJfb%M<6U9Db7N$VKV)_khStsI!cZ3sO&Vx$c_Ji30*NMJSGYW zO-UF{5x5}ZQpxc-!_&We6g+8U{D{b4suCIqvI3g?vX(HSFbI;YE@an>K3?@WsymWaY3IRhaR9 zR&~X$e&6te#MP{2g2!gpRUd@o*MIS%t=@^sd%NKkOC8DY3MR27(ajn+A_c}IV#c73 zp`d5>QebbM6#w1D>biad1DZeSTvNqCuxH@jL0i)P=-n!*0fe$bR({}ZnE{896fO3+7Cl|*&1?IoF>~y3i|qDekBpi00Ddio2z%;iVTF(B zW10hx?>I}DK~p`Z{i3n8pZNQ(3~?L}8-4jLI;k#{1c{h`@$!ZN_yZlw-rKa+h*CeX zLuExNFOVV@3ufuf4(f4W$=3Mh*WqNV&G2!J)il5~EDHdHu`QK7tcwdn?1`5UGWv}^ zos|&g zf{L7-Dj3M)36AFMl_%!G!zw}_6a+c6?p@C+r}9>ewANXeBIsNn$30DR21Xuk-HMjO z9vQIA$S1`fQ^s<|A(I#zH(uD!lPxoZgOsH}UXoVVg!^4u;5F6@oKlvRmrD2!Il#)d zs!3S&b8dIJN;wDDR1cDiRa5=5D9sXy;6=F-#9=l8j|drd-uYlsGdzMZMg_Ae!#$s4 z#k{}(BYuwH=)D&QeXxsG<{>s9|L0Q{-TvsPP4)L~|8C$s2FjH$ur2*Kz#hT^9I zKP2)USm_HkH&{BoXQ5K>P?h&rh;Q*_$e~g7!A#!gbfmHMW8G)EJ^Sam`Pg}B^{x<1 z-QM(Y8V@P*F5>%1o!x0Nl79f*vP6MB91kM{HOXPv(| z&9&UHi74uiMA^i_YS| zrEsgXz__=pV^%tc;FT>+fA<&a+|&-mBjRbb@)YJ2S+bWSg1nMx+vgFXgn(AO@~`Sg zE4gLlq`tl^63O8)9LdCP4(1dcx;v$9Ya1mVS%-i-P0BBPx*k*mSryCujut(~Bh=6p z_v}0AFaLj^i1R3}tN7fx8Dd5zJa=A3T!NtM;e9JjQolY=erh?HaNZa!k(^|{?Q#eBg z7$zuK43AiOe+E1`xcYU5`mEjt)uG+J31wMsSr9qMKz^<)yBay#=#FHc36`(F-bK@D zJrWrGNX>$lZT2c$vIqY|2mgHR)TP6@og%Tlb0ud0ZcN!Ny9}Tc&>|&>p90vq{kfm8 zv`=Ff(+uBNhTPdBXlim;kSn{|K#q`Q6{$gDuNfJ<7KlM?^CmaV~(l8AFhr4ky$}pE)ROQlv1pC*Yv2OItd|VL6uK2PRMBRjj%T6 zPXa67lsC)moDv01{NFD59KL4e9~p|S@u!}j&vYHPk_~ea{uwFGX>^6zcAbyrdNLK@ zy>hh37cN=l$54iL8%R0?!VI;PI@G8!;NQgouhN?G1gY)QL0G+r*qN-_?k09zM z2KXnt`FgvSv70Mj;YcB`iL}Dj54$t7cqY|R}tJSZoLu!HqH+WjGhK^@B z?ODF{imVUv$m-#1UlQP9RROdETdAFY8y@k2gn=-0Gyv zmR67G0p#38*#IfF{THDWe5Gz_n8+@tBrj0UUvk!c##2~G56O7k*pM3rfRewt5Jh!g zjyrYd38;U{juxp2j6RB;^mpp{gv9%qhns@Rf2~LxXlUhrp>C$t)P})rXdd?e3OCUU zlBA|hzhBzVlW+4Ubo-rU9xSw&?91`2ONt}V7^Y7+Np3Of>0cfjL1`Hw4$poxduDLC zVmHUvjiYwQ#LQn3$#OABM0{x{bRhT$iUBg7WJD18$G@dzVy8RA^9{Zwf87@q7@qA} zf;ucRG|r1uZ@%T0on3?u;$d?UnDM&QQ#p{Jf>&~UsZuLy$Qeh8k^w2NP{x0}aP@Cv zVyBo!wMns0nMJ|9A%T=sqa*0=Fjj;D6uAOJ(@@;=zKrJ8RIVi%;9VH%i@F9@Z6`}D zR%>CXb_?D50`^NZ%bor;e-VnszwPI_)pQy^X?*I8$>GxWD85LG!ugcGmVBH_d90n7p4(}-XEmPSi?|4~mnKZk9_vk- zF3dIbyl1w}c?|1#{9(ak`(!-t`Fj&jfsLVxv+X_QgOPd}rKeQ$!El0u)=@ec;-S+r z=Q_pSw?3jWpt$D3-zC?*ecQsj!g?$2W}VJ53i6$H29$Hq#|{+DV=@!ORlNqc$ri~i7C z=z%Z}D(siX016hyfA_DF|AlXH!SM9k4kNGj`+u-_4ApCT7^VHq^oy)Gz7vg<+#nSV zeyO3d!|y{?#gK=sHo?mAMfhdmmb zL30z93n&W$*FzWW>7u5{*t+KfK&_6<^R$r1rJqi94~Z=#-jw_ z5%Hb=A4%H5{*Y z_{40N15m$I7Tx4~Du1P(-J!+mFflP%Y%5EpYd4f3*?83iT@xRj9NCUQSJ&Xe^fKz} zcz*+Ix}Zhb0;gGYh}Cn_Zf{&fffj%GEz8%`WTsCQI;l_pM0*=L6m%SySom3VLcw|I zD#%lYb)V9=h(935yB%|E4;530UbYrcWAES{$IbbN%c(qleChhKPkLfWJKzWRxo(wC z(umR!iF7Z>(px-9GVDWOot`F$R<&FwS()RYN?>Nr$qMgZZ&724j1%z7YyLBC*sSC& z6bi>~vxkRGe|sxS!uw=9A0Mh^wAh#k+RkNKH}+H1LDXXBqrRdBaU{IdKpT7Cp=Zru zfC+q!helXgaltR*Q3W%?#h|Ktf8-JEJr$Cw)`1Pg8!Gj2B$E}okSP3osl2mw`i^~J z6>_hWJhs4T)p!DAg)>(zQ5;3;uW1ZV9Hpi?O_95IDM$!`p5R2IguFV3*|-_PX`|G+r_JZS z@^pWcWSbj6eVT2`CLD>MoPucB12-tjhXAdXeSfF{(our=m_(y?4;VmPG$8;gIgj&xw0YJ&=Bg9zmR{aFGX7`fDExsf(tH(*N_jm7=Dwt2t5c+mOz$@uGVibrt<(kmGyy5A! zyY$UE2?nd#^2yDgzE5l@?UKxaZOu{Sy`*(i!Ya?8xXQBR8_JAk<&P}~wov$m+-+~F z?8X6a!E@xHKw&16*5;i;a_f9x(z$MYLVTc!qE4rKrs2hnt4n~NaDlC0+iE^hk=B-I zAOTqFzK=dViH9M%XlBLN>LAiXv-(EF`|1pj=X9*DemAOH9S~b)*JV^CW{(fl(h2|P z*Z%jfdx;pgM{s48YtvuXz=<=#0VM%4=->#n<8%D}R!eR_=qt)C`foyN(FOQZ^8*+g`kl+;HS{R!sc}l2 z++c-du+3A8>gS~R9SuqsZ|*OGxh}j27Ap876@|eJ{bQLna53?|Aj2zOih&Z}IW2M& zV!Fv)7dctdkp+wc(Rcv5Jlozpfbq0R^CT&X!EjEjTgm$y&Z)fLPZuHO7p(n4=s1{$ z$MnQG^JYU&|LU>D2ZwSn!@pTqd9KGd2kFG8m)&#Z)*pG~W{@%o$*o%kQ5j=otr4^Hywy;5p;)jP@wJs0bd8tpb( zz*+Ye9mtFV?6j-dX0a&Pa>wXZzwr7;(z4v-k75hKhY_NfTdch;u5C?`4oCP8g`JGFQ;py;gTC!}>&oM; zNZ@?NDrK8a9G4Wv+rXxj^Fd^C$|&MobebKKPItQ5+@jJzO<;b+k=aO9WP&NP5<%r4 zfAiaMi;O@fXGb)J^8#rft~Midd(lE0!FP&7DLBP}VSTZwR;UUwQIp~fR9$x+rUMFQ zr+Q-)TkU}2YcMbgoKs@9UwBTV$_>-u#HRhz(EA&(Elyo)?%s8{+=61E$&5uRh&)Hd zx;c`TK1k)SvE;qYPvX+g&*O6;%d@s7U5|gxgOpE|y{x2AmqH!Mop!pu{GEe`1Y=Mo z7s+=Z@Mv7JOz9!e9KZO$w5qz!j^=2Ymj9pWj3Z>letKKbMf9a8Pt zL8OR8fnhWjZaCW`6r~kM3qIGyEHHF_!y%^~&?F$>y>a-md;3G(KWP%giI=|7tta9Ih-?3R*2=cuZWHH^;OLtgarT&0>F(Be?{LC_m^VmC(s~4M zWLBFJyp5jHVnt(_G^ZN>gY1DZ9uPJ`LI;!Khx2slw3XNS8!x)l15L8>sXg0w85{T3dpk4$SM4B z|4e?9OjfUPR9>$fA9)FYx_z1lBGC={DdJ56F~Fv`o*4XJ0))INKbG2wb%R_Gt~Zl# zNl-J7iae^`56Mx;N-}_tiJS1=!K3fGcc9YBn3iPtZi)en{nbb0{VR2OgbVqbfwj29 z3GS0To-z`B5}R(xh7+TpqQ``42sh$r~4Hwy&tK_{9io^mv{yA~ zOcs@oP2A)E*dzO;>Wb&vu-N`-E92H`04OIi;x&gV^w z?Qh`pP6JFG@-#byHucTrxuckAq}^m}$~h|f*%r2#P!%vyudN9~$yUO&?z2hrNz)q} z5uvr!!2atz++UBXcq{>-cEUpQ%bobTVH8TvW`ZbK$SjXxo*)3*0c-0(bT=6fu`r;y z*%U94WYm5=k{W`dp!F=kEQt5Trb=*IY)K6A_n~6~=$qR;ZHvOP55yEhX;7{Y*(pRD z(|3ndPYCcsE~QK1BUoe_Z&z4hX9lilzoE(A2r2<3KESu9&Tm)-O)kly(o2J!lx|F@ z?a5PD!QAhgir207P-p@XkS9b$avLu_qyC=j3xe$()m-qEx1vb02oJXvWfBG>EY$mI z6~ziP6xr=}lW#cJ+1}`|pz!oCaj&6fKYM}_jQCK>f^RyxPOLt0os@whJ9*4;FTM3# zdxFanj(*c#qH?$5?```-FN#A-4|yUgyb7(BLFq7Pz5^uvZN#Le^!4XB4NU~>8m{5HHu@FgFeUI3{R?Q$a9H3@CY)hW-@@aE@q9VF`ZVe^yA-m zQ_x{qEl=7@?X6?WEP!z?b0E8b)KPbJ_`}T-E6?iB;rcFXH(RZGskoYr+qy?)C9x zM;#@&sU|Th2(JuYW2XiMr0)K&k49tTWn_QXccvGWvotE{YyS9vR-WUtF-r>{Ko#7w zRt2?(1I&@`_nauMvR>~p!HYJ+wN+AIut~$}Cu|*<|MEx41qplcElLue^aZ~tXQgx} zqA%XcnaBX&$D11#Ak*$b?W&UReV2fHKiW@j$Zp*qyymHtnf&WY^$gYSaf4^>zLb%W zCwQ7>P2BMIoUma^?Kus^Quot&38E5VT}<8;VP7(;BkUof~~sGAnjkW=XSLDCVEpzH zS8b8-EJ3MdizmRkw4|jD_v{uw!OVum)JoAKP5=DbY%74y__N*1K;2L{V@Db(y|dIm zFU#4<;m~WUYtv7FwJv9z-Tv_h90Ws9_DYk_B?VhZxFL(Ws+UTdUps0cL~LO1w&d$n zpiii}+-RvURa)`5!Egjs2VF$srLmi|bIxAmpj1*0dsTu_xBq>d>vE|mo?5M5j?a-W ztP@Ita(f++GEwofw23~oDvu?tHB`>QZc#qA5p($sul2B!p+UKzma-T0-CVYxe? zny|zq^$P9>RT%QzsBNsq8GdN%+<@oHieO_(-=OBWGYXJ{k$^#abo@PviHSe-!Hr)T zV57+e33<=CZ4A>V+DtKjWELE@#4FV-1y0LN#74z@J!N0;mI1XbSiPC?OK&GH=p^F$ zkacq+k3ApwdYw5|0D;*9Kjn;V`x&eA$>hR=}0uY10eP%h!|&BJ&)&;{chZoVHiD( zHRDTg8}^Hb_kNPHwrrGCOWw?&hrR01InEA5c8LKyXd~+tU`~-}s((H2Wr92v!F#$O zVFO4@=Gr|K?!lrPt1ze)oNdbS6dq3R{3ctXCp*&5-rz$LkM%3N{cTUYv6+ZBJNQ%8 z9tXxDNbnkiT?8)*f2+l3mCok4_FI?XxyLFMa&8&pTRb~|C9GYs2Q?DUH$>9t;vI1# zp2;~WgVsbN@Ctttc+18Y0{@ME$z^Jzk0}EmM`k^|Z+|$R!O{JQn!Dc@tC4b~a;cwP zJyL5i8ZxzX8c{oNcBl=g5YslbO!S}gsSN~v*O{#J>oMXvnlYO${`jq_Y|hd9x}3%p zG22dm@8#cSb7kYIO^DwTR&R4Gp_uB74V$gDw_lzYbK18jxxOJd8~c5EQ_yC3K9;*N zVvNP`cu%w$Y`bZ-cHAB|3cS2XO`nluwvlbBbr|q!I~vScrH7deC~Zeqr?&?#>u5HK zZR6>mP4Mz;e_$8hemE~uQf4O`_HFg^W3A3Z<=XZyLiROL*_oyD1VBD;5yF4Et}PK{j}A?#Ru^f z#RLr;(R+B-Di{!CEt$d!&mP)}^W>lvUlxMm-27{MN$vE})dBk)-1mG=Q_FZOhm3x3 z`NQ#^>@>Q6aSIR3$9rpu*$?;dwZBHpATwC{uw4ViX$hp=D4U(zZ{TK4BC^eEz3L9iOy-MAf#&b zsV`W-s7;9LBRRm#X~f8Es_Ofsx*tA-p=4kv1Ov|+rhw$8MRRv>HH>>!xPcN&uefy$ zXcw_q$0IUU`o80Lg5gzHYJxY@QeVd`J0fL4a;u8MutJYiR^3FLWq;)y*#m)d3_UD& zI>#I5jV){C)IFPF-{ca-mlJJ=;meA%l$|e5>avYF;L9%V3U2hZ$78NIw6rfDms_m} zcz&vIe;4CkZ8SFBMd1J%y&cW<;d;8cgTl4}IwhijKma=lbtfh(kEZ=T?HngVOlNBSfjG!0M8oq1W2Cfkbh2QAnm=k{1CTPYbbwMrf<{tb;b z@(+9-!i#?DdAh~PZB`Bmon&&&s8fOZhrkw}Sg?6H0bf4a*1NDXD=SnP+-J%TNn5IG zBbfYj@D9P9{MN{UT=g($j~Nbs+f7Ta2#TIx)QtWCq$YrC{wb-s)I%e(s}4tnOP_7zg`6RVkYt&$@aOx^+q==TCs8Mb zd7jOU1v1B9XJP8Gf$u!*my4A!zPf$DsDS=1*D}fRU*&Y&%KYQ*XmWjzcQ*b|<6M=b z6Q|iDNx*9$5Ksf7L0eILO?f`*6`;O>2Tul8+^ko*=>fK&T$E!&!SVG;iRAtHut2n0Cc~o$JdYt;?~!KL zFW(^qD$?1p`_X-CzVxFvI0$%2cBtz|K%EWpZE9d|-+!vPr~8g~}%lmhywl@zVC zQ<47=drp1`93u>V`riVvfk@neX; zqJ$;nU{+>F>d$AJ4?OKvL!`OmwP<}8y03I~KI&GKbFZIX$h(Q;OCpU`!9s)Itm>O| zId&dMxD%UUplNdOtM27bJl?Ut-vlJ+EQW3?fO!3DykcjtoK&v?fBsHns^0D1qBvPpipl2a)4H=jz(gX+@ZmpTMqGdc%9)l|aV9R4kX(2Kd;_iP)KF_FW}m(y?EnlCO}3=8xDu5FBRnq$qdGKB5ZSo z6Dr3N;|1&3Fb^Ptr!Hfk)uOodDRNcu{jU`Pf7B?e`)0XM7jj8_8u#m+VEUi}l&`m- zokyF3ogT|rFO#mRIo5U@6DS^Z#2eVyy0ye?W8h(pv(pG3xAe-koNq(Q+FYKcn+?b> zxR9yG%v(Uui}tYC@@Hh+a6kvm5fYd2WdUQ>jOW<36}x4M<)4Q_lY)#-l2Xf+!?G?5 zg;FtE8I$k1Gif@Th9kw9riu=_h$SY4vtOOEF-6=2_(ba0YuME`xRc!@f3bvU@YWgO z!@2gylL49!jHaA0-7KwyCF5X$$7j(1W==i!yb*SMbJi*E#Cy!mFd3J{+(Z=A`NZf2dd-O^^6#wkr(8p z#eyW)H_Ut|2y!Nql~NR5zdWL6jX=A%w7?q=t*549A%NtfLRNmfPC}Q|e}ru^l|@FP zl)+i>Tt4W&oERP-OYvWPjvpZX`l*(HQVGDgebbN{Sl(`K@)FfYGPKX;e7EzGdatv!U+E8w?lVPTYW(1zgX1s*@^y59C5y>7J$R`S-sQ7sC7UG(&MRgx()eYE2+ zyf0SLc|x}&ucX{ak~b<4Rq0&(7{(N^t^MqvJkFSY{C*$zn`)2EnxmGO9`t))kzyRp z=^)t5&C&FcsMs!r3`-SEmAK3aUTjeGsJ&f|ot#=fT<}oze3pI?61V@lX=9;!u=46k zHVoz1mz))S#hVvC^%r;`Krnj>VXxc$g~qXF8g~tCB~5~A&4*>St6C%sPyy+9#f#pW zsh1|w(v~xUJ_F(>&9#6s=FajtJnE4KBo#fq?#S6tkTy>@w`wX{%#3bqI8Gl&)KePQ zz-l6oJ0b>wLQ<>=KAdKevjz_g;ajsfSfc_Rz4V}%q16mvZfyZt1Wl_$1x_2t;v$Ca_Pp8nE|dZ%3bSevL5Z8^R4zbrsw z9+nwI;)9q@4Vp}dMVX9)VFMQxFz4+f%rUs~vxLYXd1&=f4j1KuQp?PRhbPW(w6E$U((CxvNtQ#`@wd8;?rRdI3FA57{;{ftcpcAdk}y8OvSWyy4}{P;5D* zL&E6&`YL)p)LQkAE6BG*y2|tnV?(mHoO%x+$D~pb3FJ8h8?anz>yM~w+^h^ zRH_wk4n20GQWpp?@81c%O{Dp62h=+o#Zi*X@J*P+PH?L z3T&nu$B2h|&a)Gvf=5Hc#$+L{N`4F)f8!`#`AC>g8EfztC!3+W} z*-w+(gx_+r@0+5coQsEK_UVPQ62`GUoSxp(Bz!cH`<#oF_a^dIHEhB^#}y-do^R@( zf3CiJmzK+(#DssGo`=qlU%zCPeC?{3(Epmm89NKQV%4HUIFw=LmVcLD9cqK}s92ai zxgjHzCu=W#O$;qC$MAh@1N{a5mO)caH8?w(lz7R`vf}DAT!XgH-RSsKuql)DLai!j zLhRZPx^N-HL@Pt6=geeZ%nz}dq&2K%)oF*;gq!EL+8C4xJHap-AgxdN7w-31F@jHz zeu4$ih)Y^?UdLl^^-i#={n9ND4&6C$B2FfwW40nWvPrljDm8|Ue_*!>0Q||+?->A} zB(%Rf!rJCA>N#&;H1bRnsiHef2sPXd3iF9o~zUGYUzDz}i zmGQ8Mx9uZe>@fKj;)AG%1XhBd+A{3GYRct3w;(4D^PYJvuoZ>{wSswMP=DZ{?eZ9} z@}!GTs=*y6x)~;P*&Zc`Q5zK+iIlK?zOWQRj-w45xG=TvxYpfnD#zEekf6lF1Xe#p z42(!|r~v~TF(Pa7*j8X?$B>&Z7kd}oI zUmcy*PF8QwXOy`!=-ro)zbNEiN|WDeXlBeBum46f=az?Fyi@~;+LE`u!t~0u0OlUP zkX$Ry)h+55pb_Q5LOT--{hpvbV1lkBkJ`&7?QMV~6lSDlx3n%4t}@qAADZk( z;vLjwN~ynz(Tp((ny^R(e0ID8uM&BDwR2Yt@kK~W;%#n-@v*0u6o*zu+|;&gM($oW z90;2QlFV-YW?oQVBA|y!Xq7|HqV5fEm03)(>w75!5?rBkT)KRyd=yIfibJAs?>t3> z0&{8JP?{DUG{%poA4SsAbwX$yrDvb#mg&!{2RPMabG?5v<(%^7bsT2l_`LH1%>U;l z%>Gg^kzd!UV?spSZCOd&ZV=74(jLv8#hB@@35`BFs@dvXm_`@T5FhxKM z_K!s3s#mkjMI{?cq>jV)?!J?0?Oq_F;_~A%ra!~6gs}U0nUmurNJdNMESD=ay&rXZ z{w!wqu@Gpmx;C*`Nn^fdKMMU3P3`ZBo^#MARq;Y>`u$aU)C;$z8pBPp{ywVWk>%;_NRRpC@h^jZJo0onX%iLWaZbmcpq6#)Srr^h^@jl2b6A#~9 zFkIt}&GoRFdUtiCfDSeZ=DqCT*~-n+vs%RNdkc~}dF>pX9>ztzO3rgOSaF?Jhz#eK z3Y;gs#6{M?TDL30CJC2mGEG1PK$+FkqekQg#k@iWzd;(;H0AA?>H0X824)M z>yK<8YEcOZ#d@CjgxlKt>6af`QftVTP8~QJ!x?n({^~cqMV|Wx*}uHB-Kzn&nuK5&DkX5?x1h-2i?uPk@%A#bxEPiDXT{?6IqSN|_o;Nb2^ zb~F=oqK<^tjaoWo8iy`AfGX5Q>xRUf55F94y0me)I#=qvTJ4~odAYRs!_$x8Ngf2( z9uIpZ7mh-_YCC>4672jT2v1m=M5;mkM8xPnW~h=;1?b^_P(p4L4=mt( zBm0dG{=&v3`U;_m2%<}*BYWHUpS~Kx(TP><fn>T(yBGuQ|3e8@^0YUmaG|vYQ{`({LuYuRIoCsjv?<{W_7Vb^z@JrTt zTkw7cdv1eY)d06w565@z!BK;8xxSghl01=$((1Bj zPe!nUTh|nk5CdKt_U3DXNHRByYw)!P z!p%~L7@Jx}dj@o)4l$Uan3OJ?Sc{82>-W*g=>9%BXkJ`l9+aA~-Z&cHojoveUIt7} zM<;9X&%%YWp<fOh)5y}}5qm{(<)`jiPSHoe>j zNNnad@w%5!1KNQ077lFUDv9l6T_LXut}Q;+A=t~IGNBHc(o*{bL}5?3C$S1F7rYQU zf34UKmO*-eZd}xA<-g6lw(-s2i(gMgMFMpqE{X@~5?5U4HHKuvkd+eo5TG;SlYqVc z!On~zV}j*Xku><^Rz{e8!W;;us~x)eDX(gNVjVR?C|oX){CbU;bL5uaFxX6}RpJlb z0jnZ_kESCH&TVf~DFO}0BoDe-O@8O6#=R<_a-qS8!@GvJunNgEaDr@5eA+&ocIA}j zb>8?Yw5=(Cav?I?4NB*#+P&#Dp?HeqC;p5hn0P?#r)uS5+k94eYOh*~0PG(;f!&N= zYch+)lL?axRE&6)6lpQPy4i$F6CIlw=f1C*Bs!c7-dr-OsL0Vk^ZL8rAy4Txqy7`R zVW@?7TL!^^oAfcFZ1Vq_G~nRw1#k&HP@e~A490kp`_6Yk=H-&UQ|SmDA8lUQfBsD& zz|gpwn}g&$=*nrY=EstFtJQEY|73icm%JkCci4;VUQ^O;+>vdb`$bA?m~89Ml%1}; z#<4@h_rh?q{vhugm%&m!^Z*Apr@nChVBJ5Cr4w-ej6eduvh7%fcb?UI!rCFb-sraf zJ~b9KzuieqIlaF%E2RFavPf+IUW_p3?`--PA=VTKuCLIUjwvZo_>cV0yL)|oX z7F}Hq2K1UPzTifBVqrQ=^h&|Mo5nT;c$K-(bK~Z;YAR)q=YkvFQ6 zt1YI787=xg{eblx?OXMeGD?w1)~puZK?QV-r&7U|-z2NhO{EAw^ub;fZ9zj)zRdk2 zgyEN-`9=E|ACTmDp-^iF2d6V$7g&Bh3k2RqM+qF)fyf|yOc^FpRC3XOrVHUO;4jI zJQscKjhsf03?2q;Fuo63ekeW|jRs9o;n-ixBU$z7I@|Yn%zh4DOte*E7HG9K?(4ZU z*5P*4cAcjCQBe|5Q@AmrG>J^IN0&&10L`#a%E#Eh$O#?q?OVMgxg(n}C7pd)&0vPe z{d@>4+-c^eb`X6><^bto<#e&OGfMK6Py~3>*@(Z3*%H-{ya|aew%NiUs5wVfE zlA&Hc>fymB=0&{%sl_Dna&!Qol8boKsknXqxgerz#2FR}Dy;^|>xl}$O@uqe`cDZ+ zWB~;bI7eXi61wMuou31D!4(LKMt6gBXBtRV@W9w$OyuaG>+gcvJjDv<;xM38TT!gz zDNN~I-Vdl7P37}cgCO!he~*11EQ~8m;+*3`FVDsNS za+x6Mjy>z@`;5Q)2_Fh5q}&P2)`>=$o^vJ3C7l2HjXVLVt6}3Uy|%^WPyFp~pLD&PO98{3OUqnOCudTzSIB$y*Tj+Y7i;3of(T@g zOr6C8dbh6TJ09T_;kpEU`$DOM?m0C5zs1N~P!70Ek0(6LKQWQF!Z%nFosyK0rAdXJ zw&wVF#oEomI`_&=02#n)W-LE~7aUAI#l50BRp7+j_NfejJs^+Uf6zpUo4ALZ0inUe z;B40w#n0+~$COoEN?H6rRlX3%G7TfE)l@u@;+vA8!qXj`&|z55#)>OpKnj>+H7Z>E zwit12ve<^@^i@4nif}1-*ju)XYH@ZszHU_w;6fu?m%wD!n3$LcbyzPcFq%Mwz+SWK zxDP@ZbnxD-lzZ9cSae8pDU;BZ7kk-ivQFEpSNj#-U9`Kdt`-*ktf0<=kSh1YMEy$isusk&T@prA=b#C)G0guxn`l zg06i?ot&$}h9k9Eu)m9hG>aTqq7)6-Y4T^LmC{N1uqKI%qw*uN0wjouFXT}Y)R)_a zo`7X?|Gs<^k%zkC5lM0F9nI*P!T=s3fe@@!+#r_kul?K0gCq6_d zj$%=P`GTT8kXb#W07S!>!n7+q^|z2W1<-5oi^9Xh^o7f9_NhhE(0$e<1d6c-B6Z1G zfu^upy&Z50G8_MJUyQ)yk6%=M1_w6Fi%q=K0C4d+tdm!M zu@%01aQz~kr;SSXz~S*j+u0A>I1fx_d}X(ut+}6|j;if!C1|>5%TOkN2GO{`UO| zd#!uj&$X|*1!*< zY$ndw4GMW()vw9v;S{esx#xf&P|)Z252%w=BUxLWt3ERW=EZw*= zT;frvf9pmE*nmaO)f>#%?@S_mM;6ns6i$(xmoPr05dy2g`O=R9uvhF6?G=iX$&NU{ z6OW;Wvt!sli9S0n)@}E`(a5x3$L~OB3MqN&cPGG(pT*=+g9m$AOsa$e`H;-cOdUxBtq+5-fEG69op1Fd&tbWlR7g2q8QB!J|`jV^B7imOH?QT{W$eE$zM1q!U z5(EDzRsu}=8@eu{nj`7p#OI3gs02C^Kiu5uK0+Y03CYdj*9MX@*{@yj8SlVt`3B?{ zp^<+o6%t{D*a0aKIdwwpV>Op({ZLKj#<`;7K)SiIgnz(C{0X1-$`E>{$53Bk^(>%* zn?RfB=EB%4fQ=IBBEo9H78rgLO9|x3Rl2?*09F^-K8j*ZrFueVCi9O54d^(sIwp1j)NL0)~L8T3eDdK~sx-uT;lG zJ=%Kcf9Bph6qy_cG)@WVFCvT&#;17f!9q8QAdfDKe(g~8%F!|5`pRC&_h~8O!PA_l9&?|pG9u{iK>RV0b;_UV9+2PDpFQ{45_w~=RR6t`G zaRES6*dTxkgAnWy8aD(`JWxk0jO+eDzm|A9;+gbO*F%~y!Zo(-#!VlH?>Eigr|e)V zwKIBwz?C{t=EE_H^2N~DQzSX2qCRXJ$8{9M(o20y?1Z(i*QD@s5k~|l!OFFi+HT>& zb!4Bnj?;k&(<=Ac%Wl3RfHa+C{*0)zBOdn=rn!xw6+CI1^EAEZH9wfV*&=Au z)K3&-bT)(*79JgAceX`#@v3W^rX(QhVPwIL9t3>})~hJU^IDi{#wq6jL=yVw@|(PV z;?rx?H-)-lDuOb0rP#<{)Kp{E{0QMfbj2L0V8hHJlJVlQeLY%z^(+SD8=+Ku1CX(8 zfOfxA`Em~JNNj$+E|YJ121qzo zU^oZ5LFRHcke75$CGS)p`-YSUNC01gH@6ZJn;*XFT%h1VhA(m{QiO_WkLB7uId9lx1<&o8sn1XDs z)LSTx$8}oppZC)1|L*pEPGT!zB*Y6~X9(6DF}8EKAadH zv$N@RK=4#r??iwp^mxrA4+}RHWFvak7^RZkh=R6=-z^OizMUx%fpQT1ZG|XtAj1SKI=DasW!R69_ z2=SEJaq_+!sjDw}5@xWrM$nR&{El5lF!u-of&<+Q6`hNUu~fblc%W`?3LQG`wP3+h zP+Es7$Ot+kUi5Z}9a$7!Hpvhr>5U}_u#QIe>@q|lHm>2{x%b4F%OHgp3a4@_NIo_O zhMDT2*}`df56T@Gnp$X{g3O|8*F&!s6rJBFf6RvBuVfj6w{|!+pf&@{wNgxP5=&>S z8vst3!~xk$)j$c4Ctt%*Mynv8mi-5)*;5C}KHPcl2`|Vncfubq`9P*qZNs$r*pr@t z7;M&6l-m+_nt(vbfxj{WC6W?DJI43I&hxIxZIh-jz^d~oYBoUC`F;2z2*k?~20Fw^ zy-H8SH7AdA!tc|>qco?Di9!bE0D|rJIVvb{gb)CLU^_`b;x-Eya8wfXz&=3@JtYQT(<+cF*46K|KK`wKbT*0kaqxo?dTH>xVqdcOP?5$&%WuNP)9BaA z{JxOWo(xcBI<&k^JS#}tj}Egp?Q2Q;Ure$=?7@X;$A(TTjo(pLIt3nQu@&Q7`)OUc zoxOT?7+!Ty4PA_*JI0<)-G{GEVZTIH7;E24_oW#7eYB^}PW_P6p%YZCBi}{$qM$== zNXf{8*1c;`2XkTG2~vUAg?H{93eYA4?>xQ6)}a6)oaqVTCuOc0>f6dsB{e-eZfzgPbn{=cdVU@8!tC zexoh~0cgljSm=w?v;&h$N0!l1Bf#%2GJ%YG@`V*)V&fIBQaiH8+GQC`;k~AjcYi@E zQXbc3X(y~F-jXosw>LU^a|-+GBEjV2Ge#J2fiz_!)a|9WtjUJUy-kab1dGGK_=tYX zkpd9>`Xf^>6_gZ`A0?gCS4T^gbf$hIO$@S3Kx6{9rOh+;% zzt^BbrY;(Q3Lpw+7x?r0MJI@Thn8S3$=1S$aqUdUFE|M*y+T6Pi#x{OGEXc@$TLPQ zrVfv~nok~FPOCI*M_ht>4=@A))Ul_JOj3A1VhsprA;Np!ftsVZ7vI(?MR|f$p2Tq* z#Enc@!ZkP$YGHK;M&xcieihaDnCao_cTpACj1#uM6mLl_%S{dP^T6DW-JO%K4u64{ z1XDNE1L}LX*L`5zfHOiwRv;`(Y#24+m30V;=6g8zZ%Nv^obA^OW+kn^$V)!ZZM`V% z6bU}V2!!q8!~hhzyeHS zfSo_ZtyGKg)py;|GA*fc_jYwWhMLfxss(>UqI>m#J9~=<^9mY}+8~~_!MqkPf704XiZU=yK7~5&PAV{Y_pRN*!z)2rNVoLXg%d zVPFVb5s=YqF3=$XBEWF9#k6wkXI(OfemCrg)UbsCqHMf`%XxPPAvh%`k42T>eD}uE z`M8S?3XZ4QGJeD*eVUPq5m4C=Lb!I;l{^4M&qRj7Sw9gTz+iT>+KP(|j2zJ}3?A$5 zi0`Am2}qiU{OmJk*QNVIm;92zz)KV0?x1eu54tORQQ?XWSa0*%spuJdBX2Y9J~)1S z*Q*%z=qgr=i+CkXxkYc+eS1m#9Xi%_i94{p!Wu^3`G+0|V+BEZgDM}6C1nK<(*6m& zrBM^GLpt)xN`5{K1SP;j>Pt3@25_bbUUV}<)7G6bcDx6ds2I<#F_y>z^A7&78Obf< zg|!Uf>yIO<8o{n5?F{;0Mj)ILj|dBt%dkwQI2xAP zEcj$}r2)YB5yAwBNReVem}SnL0Bd}e3zN2;Qxu0~r|i<_bCh5_%$&0d2}1g&VQOlR z_%}9|Q47b1D7tk{)Pxws)(*>*<|OOJ4V}jf|;Z;~xIbo~gYH*~MTnf?`$Z7cOLB zz0ms>ojOC;$h=R993E>sN^sV5wZoGi^+R{GY_B9!3UjeqDM;1PvHouZSHaRF@I+DX z$g!FfkFn&{dZ(~)0VP9Z0t%(c?F$0`AwrsaJ^Q`m{ueY$EP%1`f!dEK+#aT0J6U>l z_wJWIysCgxWIx0&s)n z$!(T2D>5Qb{Eihce@)286A-Qr&Xl(SWg=c zU7GP%(9-CRNp4ZNsUml+KT#VsUsuwUIy0l9=9UUKhVP-=RrnaQu?Pu{b(2AzgqXZ6|TCz z_V2)hmHbGzJyea`F~DnB_i&tz4dJaSmbZMHt;plNbnXu{C$@Wsqu%1%#L;R+A^ldl z{nZKm?hhBJ-4)={IL6#*N2dV10?t(D9f?St)}^1K@Ju#Qa^ABKgvI;X{CHOiATr6k z@W7sCM>7v=4JsSGo~8+?D^x2KibQWQexIUPX@W<~e~KCxVDarSoJ${I1O`lDy*NhI zVE#?G3LehS{Ynr|;b&0$b{|y$tUyUEd#BrKMn}lzprX*D&%FR@_;GSKSDd~L*$6bm z5~oH7a3L#=EJ5aHdQTR7w|y7YCs`(@Tx}y6?u1@POQT1f&N-^tyv|5>65&xExdq1D zZhlpH+{UKOQnM1VxLFM)p12j4lisl*Ipu}0*&MQ~-{>5xkT_RZH} z!Lym(<+<&vcYu-M;&StsqhBI`g`;QvnS|^AkbH1Gqxx!SIrZO-Qgp&b;VPzt&?Orp zz?;O1guDC0R<|jRZbH1@36hd9sEY&X)W9WnjP;%+#6+iG>_s0gnqFuS#tLG_(Te`< zsH>}94u!r&&_1T-;ccie*O!m@lFkE;1NCV?5YDYX&!|&%HUFd|ag&?1LsXi`X;C&~ zCp2Wnhen_DC?VMYc=eRE@TlK-{8SBuGE|t!O!z~rNpV~3kyHP!u|`_g^y! z0E_D(0kRX%>>*QHlqf01QOSq8!-^4RYdoO5-9!_piagW_ex7mU`JF)VYNhRn>M}AT zb#+D-2E{ zM&!bOx?lj>)v~<@k0v;EOKKbEi@o+yXrjaY!MM!gzE#eOME^T;PRNCD+_ad1LkkS6 zygsMZbMy3ylla{6hj}sXf#15BfJhA(UsuK${>6~`u-Z}IR=uA~_yJ`fJLMnqx&0v@ITC_TprQBfNdpKC~~Z@}z$y))^WtP2Z)2F`@M#16Z6s zwSd{C+gqnXdfRa{(P?Y7nb6kuGIp=tkelLW%+RCL4WKQsvWbp&seKzh)aZW?lN8dt zk+5Cj`wW$C&LL#feNEUO4IqQJjI2`F_fGul7ntn4UcFq0WZ& z;Q7idF~`T3_%>#zTP;pcC1qvFH<%=Y-`*(4d#`WR#5rdCm-dLRhsq)$=7}OxDWb;E zwt7zm$R6=<^{z!{^alw0gupn;)0eYLF0({7OKdRj+f&~Yg)3STuUVEzTy(#PPv{d6 z34|y0pqmoLy`p?!K-wu#Yzcd2$P5l@wS zX_P)f750Ht9#26Ns9P6qvE+XZdrt{&Hy!_;PV2!)Ua|hhMPP!M^yd|1CA#u)7GlU} z56V7tqtqLh*VF%+F<^B}nuSkMTK{bHo&BA^JFvIRaiZE`e_5~7-Dk4A@%UC10fZ#I zIqQZw=tV^gV&LLdD3awe5;Qc52Gwz|U_q6}8gh;_Nci9M1M@OiQoI%Gly5<>2K@e6 z?1Bs-J>_DNIXH}C)O8QH6Sw3mtk!tD^Cf!!37i*G4R(vVo2nwl!2}bT5&t`b39@%Uy8{ER`Y-OxoP)m9_| z@J8Z+dSLhrxRW_kvFghf&Mt+ zu=P2R`1o@BQPKk}ew4t1@%pJ0*>=Y4g@x$`5nvs_7zUT9ai~5Z0`lc0hEV;xf61Sg zDKwEJ{NA{(Y!JdTDFlPE<6e&uY|)YFc`(w+hGml5hs^M;MdO>&@Z5vKzdbPWq)`(- z-%r9skW}8S{+0JHRci$)c+F%zCmxZNMzLwre-NUt@;6coomKHHub4thxoUCHmI`$SvS|U@-Sm91WmO*oXkNeVmO# zzh9KoK;vddY;h}m|1vKX$_ylaOHuQxV5EMc%gfV#4fCz(0tv=#aGwk|{r!m%-r(B4 z68GUZ8zVx=LKafA`nUG<^ZBA_jBP%!e;%`^7DBEUy9eH;Av?WSX@5V%gVv4Mc(HZH7A=#QL{Klv9_F1$dN;K(F%VmZzPYGsaWHxk|$R^oS z0wsviBUjF8Op5EH<_nLPD3_oJQ)Tn>E?513EWw}^%Ce88M1YZHt8{NBc7(Sm?nEO2 zMiA}XI41$E307PI@2QavX&_Tsls*z@OGF0se)U3#)&VJ30E%mf^kVbN9b|iH`=ycm>#~66Cc;(N&%N8rN2J=#3?`Gg|~D8ar3kVvKT9 zf5`M;Q^~{O5XX5L9Uamo5>YGimYvGmPq1?!`l2pC*RYEsJvTq0uQuonX-f#wx<~Tl z*KQ!gO+%%^jx?AKc;!$LT zqoGlx|CV8b^Tg`HB9BQKd#xbY>%Hh79lxLuLVL4GF^xxZr8q-oB{5(m=oVNn76K^% z+UO~4^~^cWk$!vAO2ua_lKql{p~bvPe%d3kj6uf*?f|75X`z9Nw?q|%y(hVQc5&bX zqjXQ-<e524?oMq|*dVDGa04}FgaP(WAaT%h)qA=Bd9HVF9 z3;DbHn-M!lEGcUuX{Pu?XICpN~+B& zt_iS?;}CT8nncLZceRX=umB!$UZ>;j)-8_?h`(E;T+i*`^&37|=Frp- z9MIF6SJe$n$MKJh*d@ z1E*w(V_xmL_8p4!Y_!7db`C3<>0i5CWOS;a6jJF`l;Bw!dzmDYZK=2Le|6GI$awX| z5(l!dE7~7UDm4MNxpHT(x@(CWIrp1-79r#A=sGS8>cyXev4<%PQ|Y?*Th=qHe?9xz zx0C0@N58-^r2)C8b*~yzibj~E#SzC_HvU79bZE~R8=4?<o_ zwCpJ*z+-*d-V8%_QwOj7W57un98Bi57$((ibSX4+&#+X}uP-G3K2`5%xO9}`Wl^AI z^V{3@S&4`LFJ?I~2?#}lkz<3x887KBwgX9RH4MjizGug{zRzACKptzonTjULwV;Jn zK%DQAi^WO~FWT#3SnBe83>IMPy=2E470#tcnUH$k{-J`KYuLNsEd|_K0l(T>7OD+| z)Q9ec+l63k4fIzaL~S$VY{Xm6t%(_ z?7kd;DhD<*>jt5kcDZ_cQ-%&P(uCqTUgMhNMPZtm{{=FdcWH=k+?O6Cllb9 zzmqMs``Qjiu(|P}0ezogGH{jh`XX%MN_74M^W{9l??45kLuaadq6=Rv!=+HJIzkq= zX{x@DJ<7R)#w-cXztkcqW2qw-x%Q1<#J8S%2JHYQ>EPC5 zlWY_`bTm(d2>tIjr5fL815}?6S{q}`)4Y5+&4iQ_miDiQdOLD^96cqv_3}i|tt>2T zNydIZyW1(wYer2rLdZGu&(J7^psZ>XX@BTUstiJB^mfML7xhoWldgGe8M<)n=3beO zl`Hl3vNZ#IjBgD>1rLKuB=n1P96Vo7a7i<@LC1P}kCrJFh(kpn^E__dqulSXak~!f z-cnV{X$4yJ^Cx^YR+6q*yL^dhRB0*Ve>d`e1hG{(pi_zj#itt6iJ{nXUUb~^>A~3* zbT_Q)@YL&RBFVA!K8wKjt-@wO@pfR0Xg9@;u{TarA-$&Qm#v`J8G=nbEsi z*oByS-2PQP1ay4+imMGXe4$h7)9k|CIe|&13~KNt$z?btP}D69LsmCB9R%ZNSb3Na zpxpJ^N4Te%_T0^~Y)s_=-0wPBNQtPo(t08h%3_2rdqAx&yrDi+{x=|=hTvzq_Oke?C`#QP2Jr*- zS6sKg2pa0i2-IORHc^0B;)H5T3JnNGYBQ9o&~xZ#Ot1&{WBuFLK;lgCkj-}VA#kVRyNa~QjFoJ#9`KL|uRe(S z!<#X^JX0p&uONIaB-2qYlr82>rfam&cQbIwQx_>|QI8I$r=XUWVbcc8e#k!hJx`&7 z5|DXp%sQn}6UQL$P)pg4%fGy{UCp=ZI%kM%@@6Bz-teRC9YV}3O}6}!PU%OsX8xNM6gPNY1cT8 zZ9df=3;}H?yDtONYV5LmE*HSdd_2rZFm=jVPlj?ok6VUb;euvjb;?KvNY1q1u5r{H zwNhYoYaYreJ4)(n4B#uxa>3cOAMA$)sM}qaHsA=$?5-xPWq}AJtmZMeBZ2~a)<}n= z9H)XQpQANQtA`hxjHA3%YPWCz&1qw0%47pupZ+ZsRB#LL*8Fuqkd2z#ur+E97OeN= z$22mEo2v;8>7zK8WYxWgZE-Lc3c^y+1i}aex!}#k}b-8dG>hm~cuQKex+=T;F83?x|#t z8fRl$9V9~0bo-L-Z{|m_+^Cn>yJ#%F&j%{=51;G|$fX8tJ7V#T@p#(Yup+v<7 z+(KSmEw!<%sylb&i`X*Csp?yJE6#e;*FCN~y(po!;^mn{=dDi@T@-87kaw)Op#IU! z`-jnbs2Z@(iUhd){uvrM<$pTkt&5PsuB_W~T zjS~_dHm?UI%x`B-J)NU*wh1X)BfQBCXkFDQEG`Wdh_B)3YxX@VXd}z|tZEu-8K=33 z4Zks`PC8cYa6$0W>{s3eOsXJ13pA*6T$%e{G5cFk6%DJYu}-!wY9+!vO+tRnjJ`#F zAD+)_I7@ye{ck0xXA3xo+cw(;AbrISq|H)gaO=DRlYV2I!vc3(y5)Kfm{qjbB@6B` zz7Dux(ILQU_;pc-3-Y+=iMue_>&mx5udkw(O$ZOu7V(QL@FVuOtGuWX2E9twBuy|oz4toM4^vDtnH*l(?BzM?oi?uuVPLF9RKqa)W(W zuQYTu+6sKJ5$feqTPby@h0-3^T{tzh+sWK3rQN8vg-?+cs5P~fLTQaOpB;=xD+U2O z{YWR|9NA1l+MRt#lSU90d!OKM3w;{rLp!xXMup%oBn?5nKib^|_PTywE2xSw$Eg+k ztY>6q`Iwfu5BUvcMdkN1UmJW)rI?nCcMtTb6iEuLfQFcv5sYC+urxCt%-6S3pc~N% zDB|G3xoqC!3D22*oAZ97H3zSihBFBE?LVfe29wTwpa#Pi!KXsa!N@LPBXwFpN$*SI ztI!8+NuE7#m$iCocsibqy-N&{qIETabyc05O=9<`sE1pG_1r(T7s}Pi>4d?@uqk%I(KH#y?N96012!Qn}(tc`$%x( zbhqC;$L^DT+->M`+OYwlrI2((#rl~BW^nzI1`iSN5t$az+&8Od4NiGl>qp4K*$MH; z4l6!D4n@BAEuDnp5`-F0fDerr18O4!W_!gki2Fg{zW{O0LGOt)OW@u$tFh!bC2sd+ z5JyLVkr|_;g1QM|(R{Kw;O+K9p2{3xSP)jP;Ddr%OunZdi0@>0-*>K4=?up{(yb9bXuOvt=<%JpNxBe%U@R{h*wHFQ00tOZb|*vzqgFzg%uxyz*FJzE zWV!$Q;RaX%1jCwVy1u2LyI}~!B{TcF6_bvgC38n5=N*%}c`(*!%b~U?a ziyB*3Cx(^r67(OP{3~IR)LpV9q`Gfl2!&`QiM>6R5076c;m^NlY^_wI(slL>FnuYg z#1u)3NE$ErNF?R{z8B81-?6r!`~Hus8r!+sAZ)KPgpRuHEvZ@zXSVjNOFpk?1^XY2Rtu(nv{!yVl$KJpnb-Y%;ugiH z6RIvA5H90q0gG57rNH zRFraz8<8QBlmK|h=d`vCZFl}W)EH|CPN{4jX3_dLq#(hWrPZN6KPUcM(K%ft$Qp_b zA(O9!W^3`v%wD>N#PMq>926+tpDE8#F85G~o>5$z11mKo? z+<#xD;*b~V0SmWCv1TN}`Wm(Pi;#*2*@h%MgbLNEtAiF07X=bGB6&!wR}XHSrFmaK zam-&JB>}(HCTMWJWhY$=TRKW(9U}#6<9#|m`kXWPOKrgp=gZN&uI*ED|G&3mX^9fe ze$E7lmQ2=gG+fJIG$&D! z`Hx}LcG{NmK+oP&jJp1e(0C((g2r{=&i0ZAPE_~x%*g*Bv)izleu6i^TD;xfvR&8P zS(Wi%mC~Z{A@$Vg;ByOc?@Awrn5flu+WCn^5}LE0BF=SfN<5er*k?2L1I19;nGWOE z^C_aWM~nTq#u1BHEGvyV!M75v^;rc-P#v`Vy z9n3Bl?xXNesk3g4YJ6dn`Y&T-h*aAqvgWhlOZR;g8~Yv+MaSZQ#pb)QgCMuz@a-`+ z!*5xiKgwB!%&}zUSa(Xjry|{X;TGi-&_L|7#`OA)?94&$vhn=`uCPL}a7i**_11H7 z@s{DU3F3sfUlQsH&dps5ov@nYe$EskpG=TT)Gt%`2jwTi*kh zv}U79cEj2T-asbJiF`du)AjH^nwb@8tS_x+g2BN-OWo7uF_vUF%*f)|-!hZ&?p1ocLCyG_RE$ zX`z<*@ss6rnLej-ik7VyM}ce~ThU8tg-$kI?k{ERpR_rtt{gaQQ_7MCwMIz4Hn^Oy zr?tL*MQPoWcA9KoAe(`4aPm>N(X5hPUx%S^e#T<6@ZCopmRDO`iRlw;MK+q8s?L~( zwHnN0MG2R!qe+HRUt(06HpFj6iqFh;@2B2Pv_yZlS(Zs0OrCm`JlNT&Z1%NlDumMdx#Fx~r2Vh?@8~~{@^hnwWmpk+% z6)OPK!)w7bX_)H$F za#+XxjB+XwczuHY&7iVBlR2CiBAr-Hs`Y#o*>w~~tjHB78HN(#qrI=?Mcs0O7~=zx zYYyyl_;vH=es`fPy28dB&14nC%?p?7P3M()gZ*3+ur6-2e)HTSfX2z3rym1fmM-};XF z(fE2?QSwi){cpJL3fVU9-}Sw>SG`{@7?c1=g zwsEkD_0k!d$lb)*#$;G++%Ec=x$hW8+C@LjhETh=95MEFiOND!Dy0M?>?H>eWZ3`gzoiKgtFPeE$BmnPLU`CFD|a zOV?vh1IX<;9AW;KL#HE?-n*i8S{Ch>4U0EjQUl8Nv2e^XVP#34hT0NRDQ&@hJ=V#m zM}L?1)Zp>!h-Al`fGWUAHcjiJ_0+GB#J%Ny^H4UeS2gFmr$kdFR!Lv51bU&^Y=9Q~ z?~8=e4lI(r+sKRI%6p8kvOF!lM^}6YXa@Q|R{cj|==D`)a@Xw)^}EHHN-FJ|Ytiv$ z-wG#)VNtK^D7VNXW>SOkD_O>vfL#e0^xQeH?4hh~j*;2l`ij&w--jFy-URbjOPmdu z=XexLcCl-$>`FN?O#q3cE|!%0DM}?50jo!&q(eW)P0CzHw0Q+FyBp#TQ=QT5Z{2>q zs;LnQik<$}X6#0YIOwu?405+3Z{?M?AjxKSZ#^N>bso{)R6ly5Je1EFH>ABxZ%FQ!dw)7gXg1AN9?vED=e641 zJ<(~=DamGN@e?gq-+^=zM8exW0jG4Zrj>}-beJ(svo+M9+@n@<73F5{#<72Uv`zL` zv%do8t!9zr8sBLVXL*0Q-zBQ2jY(~C!Y(t!`wRT* zgzV5m<1Fn3wn=eehMjjLB-L%}(pxVmh;hTt7{ip3}D1FuS@ z=zr{sy*+GsB=)TC3UPTZ^j4y2QY#xmhh_O=4tiG%=>i5%TDw;E@8{SQyR!}$Gi8dk zN|WCxCl3xL6$?fpDWJiC@%iKV-NM6ho^z`hcF5+3^k$*I)I8Z?IF1RgKerL)e26$& zmTn7h9~(Q;BULpLCT<`P2GCI5*TzjrXXodU+>IpfavP+H5OhZc5ZTLsiu_xsaNXh@ z2|NP>@GcRh1gh$EL>((1^BfGj3_b- z`KvziLIomTtrB~g9iHb9mf#6A28{kT;mFPjy`>0Rj6g#uW@)`K4)B?1(?4C{Rl?f$ zp2Qy;<^RVm4-!LlKu{^_WRdITq_ID!rH&$?<7`DhpslUtPWm)rh${(Glz4D=I%&de z^=0D$YJ0r4cP2ZD-)R?bfo4SF)vtJK|8{AI>mv-2`;zyY<4c-sS2-`Qd=4x;3l4ft z`-3cpZt)$_s;Nspak%C@WMFw0<>)^QJ!}*Wwb8n(?Xbybd&XsY?(;StrBiHHhU3|| z!ZW>p7rCfB;b0(GhJ2Twvc&nn7|79$za4FP@VikODLsAgS4&ybI@pB2A599Fbc{P| ze~8~-$OY$uz`1+or(@osgF!TH?;dNcLYQmW5?%eJv~c{KD)hx3*c)$^`?I7f%D%gt3VP>DcU9slVj4@{=6CSmOX5BZ%NGY zh{r1ORB>qETt1akW!do`Ep(ZZmME}R8hIVcGCz;6p+L6HlxM7jGW!;ihbI zslh|6YzJO=o;IRaRZU7xSZ<;tjGpPGA7rpMl{ku;7{*ol$BC*Y^8tXi~D#Zu)9N8l;DLRPm(Wz(vcZT zQ7||WbiNN6brg;Z$j`N8uDqzHUZBySF@rHpV}u6xo#%Oe2F8$4DS`p0cmznB==Fg3 zVNqrX#A^>tkWU$<5#CQu>uV7nXl}VNO;<_l8E5PWW&RgYWH*^t>B_Lo`Cr4ue{!?4 zbpLVmUoiqo9|sI_?qjg-&V3rUh8N67(6imf_2~|Fmo-4~IMqkXW=t+l8;x^~$5eacO65wDM-$yN>Ni2Et zebyMWu*AHOpDUBz|9&l+_o^atqnd^b9#(!=DPHjpuW`RQrGKRdx4&FS3#bv-KJ+=} zCv*QDa(XtCGH^QxI&GC&V%#f}_~>^&D3|r}h=C>Bw=DCIY2e~zWV6}30iM$vTS=DI zAB#*~hlC>A{$ueI{)_BVPctvm61rtG+1y8)PX8hyn3m&bF7H}=)+Z@8vS0bLT`|p} z-3^J%=%*6^RAVU%exf=Cw})JtqeXu=#GbB0OIk1O8ZR5MK-_JOpT+K#Pm68E2HH7W zlpgstH6b3F=P8q1;>tMokG~cL_YKmtoWJ>8G+`Dz{M6g%)dwB>@v%QWKrBH0kIim7 zKb1;rY-YZz0J*K7=UhhSDpM5)Db8#(p6j_P4>49sgl7u&(I543bJ2s#6=x$HsSZ90 zi^Vk-A;BclVuyhC5H#T0^7!+vo23}>gagON8W6O65{cRiFRz=Yj?s)73Gxe1n0WhS z)lOa*ybxuqqr>`*{2#wO5pag^RtaLovjR$oEc~hdystw*dZaOqH_`c<5|M8 zG$Mn{5dV`5finre8*>}nS1t=iWq}Yt)LkCvlpD=ywlDYJlTONj0udFno_2)$5f5Ma zroAYVL3YDP|9#s3C$raxyfg;>&z?hq^0W+MuyO4&sz2=su#!2!v8*IMJ@W1wzPns? z-3%Tr-bk7$HeXJ_i3_y!LFl>8nLDxZd@2fr4rn+*?|)~5rr zd&OOw0UhrBC)LZ)Ub?rki6L@J5e+1Ig)CuVt>#}AGJWK8o*L$+qV+YFoCWegkJh7HOF-ZL+3 zIPNIj%k*9Rq*%$XYN9^1mQ%W(;uU#rFhAczAS@UPd1BDU`oyU&b(hSp^PL>lSUzZ& zv&-V2`nc&%2yFYl4Nb{p*Veyq-VuHB^!!`{4j`)DyqK98fMH5z5dij*tU^B9j77e_ zQ7Sr9Z=YSKdAx^1KL)Pk4>_d#PTVIh9Ho-H<=fcQTPEep8V*g!-aSMuUfqLLH5xRQ zsD)&I-DR?;WG-pi^ht6N&S1mWr9^a+A0I?-bk%^CWo-KYOk6(dCh+Q)w&38qXLq>3kN_(1n~@+rV>gp4W%GSNOe`Zh@Ctj8u&r4zCnwjV&rM}L z*a!SIC5;9F5|MaVQp=-O=DS_*`#^?w1Hsyp^AP)UNlSvYCF;h~XT%2BE@$mvy{&+Q z?37kp#a3=G(SV?(!#JVGPEfUg>$7}=|7I$xe*4lsxsgxOZXt%u{&TRgv zBJVZOnBT+3n1}pf@&_PkEKl32F%@vIlLWSU?j+r(@DDrs`SrXkh{6QeS+X_TB8p9D@g#7Z-T-h^O)TmbKh$py?Jx9LGqlYV6b* z2Mp`If5j&k4JVOnFFc|UcBhI>DA&g!Yi*k@jeAp$og&q)p9igJZF#8o-b{M)48&H9 zL~^glJs(zon6I7oW<5bhZ?k=@R*%eP^Q|@G*0iY1##j54k2c2!|C$Q*kLRn$t7H8U znEm#q3YxI5N^=(&MJ}SH6qe0OBlg+Qy8f7q%0uvOVI#$$FfG zJ|WGL0vj%o^Hjo(e8~L3uQz*z3;2J{Zq~2*kDks`RoH0QEi;{K_Gc*uUCS&=nn-pwy^$z?TdI;_rDxmWk2JWWMfh$r6#o5Djwn$PrKLG%{+e? zOw>AjYx(J$RozsJC2{asMHJd2#kDb&iz$SP6reh5G1{Owl*Qy8&D6mzm;M6ARyvQBSr1 zBQ`k%7)Uhn-WZx1qB&-^JLRz(R8^iAtrC-CfqrU%5s{zX?A#(6@pEFATjPcCOMlEM zpZ+Fm88I@nGj=|h#(#W^R;CD{+upXMOc-c-OPz_0hfCP-3SPT$ADR@=Q5oWB=|Q2f z;2(Lp_*P9k%ATwa=xIAxC{REL#1b#Q-Ul^rj|62ul0OLTAH4%H(>pc#R#4n}gIrLJ zEH6odu6#npohq2-E*YYLAmjyOiI1`N0>t#ZH?m1a-pze9CuGvHjPD{pWI@5O2r|`D z4b8dAN>|qZ?-R-lxb-W}mf}u4=DKcXXj3ypKKT{jU*_bSEjdV}x12R1OU@Gin{2ks z-+0n}HKJEh@jEG+oF16g1qi6gO zBXww1WHqf~;IWEaRP3$&w^dG$Bq1I`v>pvP3HYOGY)B&eO9#`(z~TmW|#*-(9haUrg}0?uoFZl&b;h|V+6oq zwp8bu;{JJ%2#7Eh4~MwVLi+U7z*vlt@Su-Q!}=Qf-5S0XVDXpu&E8k55@A9#5GF!n z6zp24&sVi|D_ZPf?<3d}`SvT)gaRs>f=UvcX=8X462SO1KQuQMw$lyN0Rzi6|5~ov{8ZV28BiQMW0<*&Bh5*1iYVc zVgPkl=YvV%R;R;HbZQl``?_vY-`O)i`*vhOOXpihy&4bZKo*cC^o|%`Au^2|T(Z?) z82pERrSIC^nAIFr=RZeF`zpj+8KyTDj zz>p_%kRS}o473fLV0Q9I7l^J}p4#)SLw7odZGJ^3&N-vM-GAV-4}?`6051||@@rNh zy|_aR>p%eRc7ncfP9~$cF2?y&|J)#v>NP7suhn%m`eH?r_&9ltmHNDz49AQa&(lo$ z1;^Y8a^&gp(hENXzS?3Cf13W+!YT$949hkR{%Ce3{Kj}@dJiod7Bwh(A6Uq+g>zs3 z{~8bZ`hO&zn}anK7?gtv%v!gaVac4>l~G(czrC?Enb1V+Os+%g6lROsa!X^%<1s$v zPWS&xsa+5ePY59NLqRSgsxtDnX!Fb!6lL-(41^O;ix?+|f~s%|eqRgxPBZ)-6xuM) zHSr_&kBuxm&iVC-p0_qqhi+FB&aA0kulU>~IK>kAqOo+x0QCjz$Gx4u@3>f`pNZh0 zdHp~Z=Xe81@2v^1b<93U9C&cB3*r7DVsLkVcMuV#juj@Dw@}NKLL^BnHx&^|Vf2N5 zVsqtFp@Uokfwjfha0p>v2wQz_2(M~#T)W5{Q26VVtC0*BGX|21iaUzm>elcCZ_59q z0K_DSCtxHcB~^2CG$p!ZQE{|~J(h2w^i{hlrONsEsNUz6HbO^-Txl(ZaxS%>XGowU z#d}yIMAapMj3PBw#)hgW0ZmCFqS!(nJ^wf_Wo1Z(<0|169K( zkacBHyyTIr^FP2xZCEeJ1ARVjNpEb%fC^N|5`Soxkx8%C`veRT*5rah8>FG@PpvNW zLV1G9mfLou>>4a`wD3FqU;0eFeYX0mb0C!BF_d_eNjULVrt53TX~1$$^euv(MCJ#- zxfWaXXEW4yE?rq&AAESEbg)l+(1Jkd*9&Wg=iE5~n6*ioqLOZl4p{ejClnRj6y>~uA5d>;emq%ZR@uuLD?xp)kW_%dmpm{U8j8dgv!}Zb*e6(KR^V z@r>Dwb0AiWqenw)=nBn+X28#Z{}d)Bit2xt;0_AWiV#%ILJC$rdiJId4*UoI!OlVO z1_1gWgu3m2*j8{2?D(G9qrSk?_;Lse#YT*OW6WXVI~7`sR15Va9LFq%Ddt!??e*-h zL5gl7@T6xbzB~)-tDw~@9gZr6AV=ndC&9iWXGMD6;zW4+Fnn&@8$_*fKnh5u3wjCOjV=IfP3Jo7uIyZ z9sxwM-tb~!4>0i#+Ck8DZ1Bm@mTd^^LF*3*iTIL1Xzp_Z0>$^SUMv6q{~pmKp#oeM zmEv6K|NHU03;#Z{cn)l3LuxBv<;hsEc&(Fx;)SG4pnF^1#e3l(^zAyDjXPT$GFdGP z#Tw$FID24B8(sekp42;^Syqo`Rk_*Y*^03I#`%Q&gig1&0?ov;MFKQmy5Dc8JDNr` zfQmy_b%Rhw^+U@(s zF8QUP=3y>Go%jdhht%TDqq3jpK$7Dp<11+3zeZ6p7!N@6F+-ItNst*Lb=u@Tdz-s9bpL`*eTL247+sbZ)H z276k0n5)yWVmuL1Q_d6r!G2W@@DVi*dp(Z-_tX{w=&RY_{2EfBCTDkHo{-U&>)>^r ze#hZbzaekfqTwv3{9WyPI;L4gPAd`=?*Tyb{Wk1KfS+bM&xN4x#FC}6)Gp#p;49TAzugyC=) z$LKzBV}9Q0;=lncL$@NdK~pq2o=guH)C?`&Ch)^=&1VKCp9zsBdu4qN*5%WJqYq>P zL=E;eid#P@h*9WGpNbxXI=fB9n&(6~Y2b`Mevc=oO1(z5=lwg4OUu|9f9_MqfNaH- zJ9loqtc~T`6~7eNik>_gA|;`#F#=luy}|PD9(i{oi`kmAjsK~Ye>xb}!HlPYx4iv3 zEE}VL!Em-xJ^vx0)+zYJslii@XT)A|Rz^E@6E?)1p*HKtbwhrlVxZOScdgwWeo!R2 ztM+BEV_Gsd`xP8?2p?$PC0CIL7 zL3q?yEG!pZsGv{vs8Q-z%7x%zP=o&&>9-$dkUJo5Q#7Op?2KwT7GKbP$f!TcqPy4i znpP&HkvN*#xBO5*!`sg~wY8gdKb5b~$|T6R7$N}{za9Zx;4LgJK2}9ll_s*4mK8|z zzk6O;`WWQAG-x=wH@7cR25aOmV;yyoZw_QyMH6yy%W1c zX`%a)BmFQ&M$gy3ZRu)fv2HTQf&Kef$#237&M|LT5l|SE(p1_f;de+uZuby&7N1&B z-~DY=lmmjQmbvSD>Rc>N+Abx=L(hKFpbm11hI_$ga0uto5rrKEfm-p_Sx zIOC>&KZz+}TdgX#P}t}+-^c2_Z~my=Q=#Ymv=m}tw#;HGF(GPc&3k=yd0@6wM=cF3 z8GjBPeSQa3gU{6qkaH0D{oj@~`|y8)%oLj6Ah#Lb8jIP6{M`zO9qc3Y02>|Lv`sCPG-#rWT%I?7Kw#vXF-DsNny7a^zu+?VLx^Aq(!3(iL&CEw#6i_v< z_!JqfW5X$vD}aRl03E$Ow_h{floI_-kRdL3(+m<&thk&u^3bD6%|8rQ57m5*WC9Q56Ok{S;yiX zK~#W)GVIj{e#?RX8ZW=w96ycH)`qhd$P870UraBl!mj;bNNTUpv9W%pCL;h2%6W&$ zuAl#Vg_i%5d5X&&mafL^T*qgEr3Z~8jGV(?qMqD4aEc}m@j-`Ns~ecY zft5HHi2bPUi{@(}8{Ff=%PAoAg;d{*zSMq2Uoo6VDir27uQ_jmHSd%8wIJ^@xMLTc z`7dPn)Y+?%0?9kyK-zVtyNW6rG!>c+@wK&z!Vi)wYVNiw7pi3~h>2C|q`z<&Vkl&i zSdx0qU=JGCxnD^dkThs2hftjSK7o8nX%w7y75!Ao7avCIZK7HaM>sZ(F?Pb3{B z(3z~ZuF|yAQUL;Au6c+p|BLX}M*eg8bUGJm_aU!8ApsQcV7D}=8_>4sRn%vEmXd)w z%$4U6VvA9+B(5?tQn1$unT=ZGOoC0NH=yU*m1ef;u({bW{Q4CpdP7I1ULH?2{6yoP zj{~cV=6_s(yLEWPSakDsOrsfMJ>_C4K*!@;7rIQ)d{mef<6QYF%{8KreW0_3^1^D9 zGuLUCH$6ii*ZkYa$L=2VYATv1`ahp4RL!lRpAB~W{5@a82m-P&J}z&unma|^QYrP? zt1tYBf&W^Mr2qU9wk-b7oPiruO;)&7DFguJppz!sW!0r7OS=C4ucvSKL~Gvjj&r^v ziB-{uY^E416g{ zDJf-WS=N^h&$f~`)GI6K&s5!6_-x*tgAv{IEQY6O>$TyziT(fm8MJbS7!PMXUM40dKkL} zPKN0>cM<;8lwH`6rb}G-=M5=NdYb?a8px>K+NUpTlG8tA1Fc6kSr`EaF-)Fr?Lc9! z1I};`IPe-4u`6gBM3_IxSo_G~AHOWb&?|}1&Ae28xY%AMk+Ks4WxtnM#ep3XTbNyb zbAa!zCbt@3)%BsN4jx!Z2d#OyoKrH)dE&2Wx>-bUZVG};nFKaaHKX-i38)Aw#CxV*|sXmb4wf&;B0?Y>cegxiSf5Eb|Plb#PJ z*`~5z$LucRa`xT2#uFM0gZ}(j5I(Ny$NM;px)%TmNwX0O{{xu zlxt=o$P4!94TKo~0_C3ltl(krnrn?-g(eFuVi*Zx#E9i8To~obeAtfZp7K?3$M%!Z z!Q(Z|`{zHB4)$QR{c~ys0iae_>hQ|!M-syAY-T_|*p4FJk6&FmB!-lilq57!b}-0% zCMWSdeZ)DK%;_Lty%8!EFda{2z@(D1!FmkXcTHlDzcPd8h`%9s z%1GpZ91bX^1kYBY0rebG;D)LVHtUE-=Ekg)*O8+yXLP}9{)vr=kF@kHn9+G)sxji+ zgw=UDt>xmAHed}}*;YS0<}^M71W8)nP=ukd{W87unxcffj`O&07E#qclNa;N=r!u9 zm&Zdafc|i2+kTM^ggn@X;E#Q4X!cB6*w*)mhWJ7}sj&+-TVr97{qAzTmgkdOgBq$P zn0|{gtR(J_%9_eNQOb9?@xGPtkQF`n!Ot@tk1nnZlE z;1IwYR}&Y9#umh+>}0@PAFsM(5FmYw{D;X;&~bpAC8_H*A>?}>Ccb4=<*N8c>D*oo za1aV01ya)qNO*-l+cV;m?QpLAiaNt;8htIfUL6GW&6cYUTsSXhG4aetFf*UGKpMWw zE+EQxmCiHdcXQ-~W&8wT!KT8JC@}Y-$)Zn8dKTZb#O-z%Z3({$vhc2ZF7VehP=ds4 zqx&aaP$YWaJg|k1TfbqJuy&`QkGPoYy3dl35V+bAw*#0^SGY#h<|2)|_V6b`AZMkI z8_Z~G>gn{`v=2g(EzrwZ-i8Df{nQKl3W(~R;;JCH7XP>8f1!uoW%OU@S>gs)A?xYO zDNul6GYF06Kon`CtFX}Y7Yu@ieVyqT+zVAFzc>!3;#Q+L?1<~qA#j=yxYy!Z26%y0pgdJjyxohh_N=MLV?M$Yi+!X==)#$`0E%>RS2icAO4 zLv?>Ke8nZ^BUocQPWemh#?E&iDanx2k?<6-&BtZl*YEFY&5o06yKK(D*Vp|dFpUCJ z88iq?I0k_L)Vy(GVGfdN-sVt$otO#cXIa5m`|O!Q&1@xN6#yb6Zyhh(1bvdY<7Xyv z_s6=7M6YI60R>FIeUz1|uWdLuDH{!7#A2~i zCZUL?3NXo8tn~e#$ykii$4ad$zym+?mV-f}lm4YSCF9@xOoO?lovb$(^Q^~1MJBxt z#3zk!GwlI4gih52^A&QGkv=NA?v9P+Yx4sOej_R( z;&YypjtMx0#Jg%z&{55Pk!oU8Y~B&q;4%DBu9Y%e@hg%`P4k{E>9hQsYNGtYIOHgM z*Xjt6=oYN#fW@EZENASQkwAOAh%IIPTs`DdiW>pnaIM>TJI{ zvShVbOO^N_ZA&?AaWJsk_nd58X0vOU!ngOq-DmoFu!aXY9usv9pB-N51TKjao^$s|*P5EMo8l#r?9J+mQy-=e|sK$?1^#6g;-v8-1*` zQh8+#sJ-hbkbf4@V7B-%x`xjAD;L9Jt+MQ7u2H+KRkaj%ENPJqcc>82mm`Vsxjqir zk==bYtO5Sbj$VsaXE$emN=j>KjwnlHXH4c3Tj|YwR3Hsq>srLw8>e5LK)_n_g}G zVzNPhK(+LTI#}=O+OwgK8_0B%R;4pY?)q23fnC0Z8v*5SgzQCM*^tdFsk;!m1@hlz zR5lxp53j~FjXoCx>Xna>pKvq%jbImJ-sM)OiGC3~yw`_e&H{yQ=N-#)3#s59mV_z*YuZ8WBd(H2Q5DLIv zX@Ytpc{7v$`d|qj(^qzX{b9m98G#1_crX}?e-`!s7(@!uXjT|C?@5iUu$=0Q8HWIx zw=Byte+~Hp6AK@nP|cEUt%|z=s~#cQ*#8L+EnafN{s&FXC0<{y6wqXX?Z+XyTW-k| z7iT7)cX(IsCH(wL(rgn7}uc8v=SW-{-$qEgTag)otfV z(|Mf?dM7uvFFR&k@t(Ts51m21w+rv_Ov5c^-kNuMPkwy-MS=ClbMhWcFI7lw+k#hv z2lvqnM3*Ly1E}M1<5fCzW-oTlquMJEK3%p0P5~KGK>hbcMa-7dy!-51a^T~LEGIjo zpKmdMQ~djMtclOjx&wK6sM`oNwnqoicqL?i_tpZDd{6R z3?Wt8{W+6W|2=csbQeKGSDpMgaU$sh=6Y;O8hK&sNKFMlMfreHgew;lO;1>l@w*J(vpO{V2TE#n9hY#WfJAk#z$aNkHtH+2vv67&wN5f zPO5Px%vTyv)VMleew@p&9c;H|P5r|$4F{23EL-|SOlOwv9)FX`sbq?sbnyE6^~3EX zgjh7UzfsL zqlgT(5<^)wo+S;Jvg$FLwYzhJvYKsYK!GqcFbq(_Kb@o)_CC)JeGNb4J{v_xeZdDb z4d^fHyooV;Zs~96Kt^Z?eK};*xRmX52L+q#qUfW*I8g=L$SMC`OkkmDECt5d4ui zM6<%4s!(T^?={-MLHod$=A&-kz9)dFyW?I^ZGQMo6x*-Xh-W<5WQZG{tGWS1}TKpGI{Ck(c-55+IFB$+l zD6qODwW`H57{XaN_>yo2QN^P$F3=ejU(Xaf#QOuFu8c-`Cj2DntU)d>z@@o|n{eEx zRhM6-^+|>^4Vc6T!+zcE%Q~ZBdw1>%*G(t%pj(tFxawG@kK>f=q-0Y){Q%V+IzU`z zLN>Cq8BBZ+-J7^-T7$-QGMNLF5XERF`yO13jtSbgzf)z=bWS4-xBH;zST0mSAu& zn5P(uor);Z(#IB+#BNu>5wMCM&3ZMC73|ylnu=wCE^x9jAtzJ6FDB;p{F)QCea*G9 z&bu8{i{Y(Lc+v4$?k(V_1V+uox;Zlyu%O0)9S;4`wUC_knd-C{H49t~w5(p+PI%R0 z#|!oT=)wTH1Z3A*9(_tqo3gMb zvZ%?3-=p}rbm4r;sy57n3o?fXZj$3FnT0D|} z!o3u5?q0&ZoVxZD*=&FCJ^%LIr8%`M5*`?mjN}%%E1iWg>mql3@l3qox}<*`P8g6n zJSf^Npn7LqZ*wdp@b2$-aKq1t{!F*q@ct%|X?ypLJ8y>9VPaik$n!C>DISQPu2i(Y zYbscth)P=0s!I5OxvW*s?y-SeyJ}h&1B(*fYNk>?$l1FrZRQo$z_0B7?ch9BU zd2tDuZ`a%5aNMVqe>;^lLJ?daU-SM{vLe{ha-$OcR^rc4U@_t{?Rvm6Z9SF8dcxV2 zC^Z(9M5Za1BuVV6De?D|uE=LcwAMFik6@{`26d1yDm+en&f@D6iDbKpY46mw@r2}5XDY(*ZvH>grW4|JYo3Xdl6W&IT)%aMSGH$+qBg;E~s6fh^R~vsj8z>klN52|amK;pvscn)RiM8>xfaf0jTx~jKmBM3Lp?o?g+S*VS-75aeM8!R(Je@_n za6-x5+X9zcKRS`aDy+W#m&wb_wqlfhj`ZdIN7?}t+E~skA{twA1M=PJPDwKhm1dDW z*{m|6XPoH{JvAC#R#DT@viQDnRp{=rZR4-U^NOYS$0{?DBXn$W2(zieD zS?!0}Q`*~QTb*nukCSk}G?7B)J8DGGdw90D^Vmn!3s&2f0@NqPwMS=)Dr?GFP^m(f zi<~AdIxRN>2f(3Xp?vDnXI8T<8P=hj?Y7b5ydxEf!2!`e;^iX&LYHDnOy%>T3rS+N zs;fV>R}pZ2f!@3M6T0L@&OV|xPg8_f9zD7aKV#7)QI5*5jVs$9l3;faFDb5aWFn(Q zK5Iq=JWD;B7F^wR`O?eRw}>$EmN%6D-S3VsdMEewP_0_nl0Ia4aC^LwdOnJiF&^6a zcJ&zRL}{g}Gt;=;jwH^*%E>mgGX|2f>DX60@chiv?_&x4vf zf4PD-#WRs-i?+8-&C7KW=b+%4PzzN#XKDUe6 zh(V1z^<&1gMRoFnlwknR++L*aTsM z2UNgHVB;z$v(X93U&%C?rUBvBbupm+f*l?B}akrO;)#DmKw6uWw@{XAC=U0q%wgLn58k zyvMZrA%!zS(6rnAobc(-e&k%bjq8rv1osJo1JUg0R+~$|23vD=wH`-2J8_@i_|!TL z6MXQVm~;4RNdhn?>b=}Lm3UtGxEo4@-h5b+9M)?Qt$gm{EO@oR9c~#&8rf?4GZcRt zu)6^HeTM>?m&`+lLh$r0Tife(o7J|eYDBati$tbUP;2~kne~Iy+U-??YF9#??_2F1 zp?zoY(4v|yITf-xU7k&s%9)QxXFbmr0r&mEr;~nd+Z;yAtV^7_B zlDFPd@XBj%8S53(>2C13mn7}^`>z#2kI;Bxw^*I02`PONQjaEriFdDS z(J5-Wbicv`$h>_Xv1!ENx(S`9--d0amK&Ky!qbS8YUylZ8of&sfa2K0s0@0-H@gI7 zjt>;qZ)|GAD1yS8^=Ty6KF@k3r_QNP`~_v@A8vn^)AM|xg>8yG64a$}JpV}15JAVH zX}hx=2bizD8-o#-AQLRZOWMlKcgM#YZnG~*YE?<^Er+BZ1UHVacAU+mFZ1-`F)O`Q zJ>Dinue$qncHV3WNCdTgN|2tPQl?Gb$gcLMj(3u0m=Zho*7XFTHqOlQ3nva8c5}q9 zMniB-bO%sJ4n3=4V0|4ER<0JTN?gP*v&)E+e0>_F&z_G+9*+VzZgL}^hX*>ZWF8ME z-LHau-_&sKS`;d|ONBB&zE!s?E=$Vs)HcO3uP0@F6;$wf`-}#3MW-Q7#Mq`Uh_AgY z7VWV0MJ2&zKE}qszy5MqQi&SDNzQnE$VLZFRmWph7q|srXQ*Jdae79DWLGO78?|xU|JbfENI-TcIIjY+!H}85tqf^93@t#3&kf$I$ zyexJ8)=}X3Y^uob+A5pzP&leSulYpe;O9h_LS`H8p|n?iMh=_Br%qeg@rfydDUmdb zTZD%pi^f)dZu|2wji^UuwAuT05c?s&7|O>biNtn3=|2b?~cUqJ!bi;K6WlVZ%KWZ#Dra7fuw!aj$Mx}e22ZpCG%ga8$*>-08*l!H4 zmRZ|gfkVM#n#XI%Pg$L>mRIkKZ7AL8d7bW9 zs<##yh}g7cd|7y)W5<+e%OAoJoVTge07Xnh_%JB9@oCxWNk5o?6OLOMcD+hA|g*49Xfe9J(%O zCpH)G)S*;q0->}8KkPiNzn4E4;mijHW$W(WxxGz|ay1(>-2H~hLx_&)B^d=%WYZ+mFZrXQA@fwlq_Z!lSJ3YefUnsvq26yq# zX~f8>4j6@~eGbgSI5G#C?wD5AlqNMes^y)1*UzE2y@+uHQ9x`M zsGpGp6~H@=b`7E_e>9+w(>Lsu=A-u0XT;|F7nq8;@f_t)XY+Ln{!D^vvbPd?ytu`y=bAp;3E65B zED%BZ@ccT7y6-ssILP@J_0>rChZYrZ;54X(EFAEM z#C0x@tI3X7o9?sdo_E&9LfbaFN-N6WO&IoRh#MCA)~goQZqs(?jdT$~U!@)5WMXX*$7lBG$q%^N7GeJ+e{p6z%VVe9+%$#}CDD(|N@ z#<;mYR3Zs|hw_s=Q#7A__jT(S)b--_rre^v>zhO{yBHe$mi*zG8s`4^=ci|h&4h-Q z3yEOUSjg1LBC;Y^ITaTDEt}{fx zcgq69)|P8dnB-?q6w#AHfCsivpJfK3ACBhKy%;Ohm&v?asJ8uoLei=AQhT8it9r)= z%c-?;@LsA2dJ?UJ?HB8)OOm8}EbeJv-1*QNKB|Za?Qo|@$#tuIBDe}-=-)?-%737U z9_}82)wm8K@jW9LjCF(3YD$;b+jU?T7Kv{8A(E`;1PZ%6XDlp-3Y+Mq$$O+sQHsftzR!)b?vi{`qb>_lk?$h$)2IcCr=)cg=S^nXTr z#6MoufyhRd@KQrHD|-1+=T4WcaDstEd;^K{lqg!J_MB_P;G4cG`H0mnszB)h(tX{4 z%Y3Mouw~Hs9~Xch;hh`BHbUn|fRFXi%o@C8+h5_P$0<0kW>iWaO*p}JX1L`MmjV2W z^h=$;q{*0@QPLALuLWX!iKCjqKah!oXM!G+FOMns?#E^9H08cGzoKsUoqLe({B}9v z_JoFSq02tsTCYNe> zKg+NCvIyZFnFk%%V>nTKK7-*bLxIm#~0 zeN4mWi-=PCH7$KhUkC4}^>(?)yM)t>jF>M0kSoCX@pR9XjN(lre8R2&F4T#gFyS^E z6QcVOZ=!xf4yB69>pSf(%{<2vC@=A^kF2|}C@b|&)1O^tx$DrBxSP?w{OD^LasEf$ z_CxkUMiDr83=0IOefN+py}!FVCvphDT94bD$r}nx&xTJT+65GSw(SE@(*`{m2*+ao zPNVV?#DZ4U`J3?oZu<8p%%4aGi%>&UP%UX*z>+dPk4yAT2xVgrYkOlH_i!p94ayFh zx*{?q6e~Ntei-HigQbO&*E=Sk>xQ*ch7zkdMz_8qyi+$~1Eayb*)jTbAw0s_8=+o= z9?9CJGDopoSr;!BB^gjn?zADVTLbzBXkxgu}U8u98WR0~) z0vAZa4Ybe-%}dvA^k#gj-mCbS^9854?z~XI%5`_qn9z=U2W6#h$j`VYL`Gj8I4UZ7 zA+Iri6o`#_ExjF&T4qMnu~0}OxxQ`DIH+oQpLC`MjDFoK(VhD~`=`HoJcsI~Ak7nd zs2eZblsgoOgS7Ka!yClG>&N9moNBn|WmL)EjW>V8JB^_Hn1-&~Zu^cIe$;sH(U0nQ zg9}^~v zDjxpA$T#iR8-(%}=xpY=QDP=)XK{)`5Lyua>Q&I;g%UiGpDRcimF>H>Rjf>(<`&xr ziTD-(L1Ka-q{la%iw(iy9Z5lD;}38peu$c-3IC}BYqz7w9w;)2<4qLYyBf{8K^6nh%`&F?at-l3|14sapfl07W&}*pAe~|nVJd$t_Oj0lf#isbL|uAO z^_{T|pY9924+(@}hog}f@1qpKtNF*oKuQ0AaEytw-s#hM(6kx$T4k%LL?`V;&MF&) z-S??a1a#_z*zHaF^S{@t`T2kbk9L2_PlZNTd-_gCN*MU-4_J;9+VR&Lmv8I2vqz1| z%>nR!XrF+>l~jL=sx~RW7-2N9s0~@N?-Tn)L7w{cv+IMEZacUg=l1F7LL3T*F66|K(`&wJB4a2!Ta9Ja0N=yKQ@<%f>F*>sPi*9;LZz z8ytpfOl?SMP=-1i@ine(pVa%(!L>AG{LrCHjt?(O$q1D?mJ#USYPv_Je(e3Grg6_HqHs3!{brZR6Z64H0%)|%}!A5iYGj_SMyzJiX zB(-kS>5cN@%TY#CuG47s?(}#`^Ys0t?wFTL;eBu=^8{7(6xgJJB&Ql2xHD9Yy~6LY zZiS22=0caCNFl1tOm6qa&#v_@#uNl#78m%2`^ma5Tu~{TvrqvDmOQ1N-81qK*kz0QcBW z){O!WrFJI|oI;{6eraknHz@+}pH**#CmsuwsDK~_iAIi&%bybt;lym%zLfLbelbkF zCQDpi4L2kRx9=aBa2>=Oi)|+_5>$#=pQzZI+hJR(yyWL#=JTnuoC!g8o%BmcXA!C6 z*O&bZ#MMMm27?1kpA258y;@iWVX8WzAvW4NsNY}WF5a#s!?m_TQOI~dJ%`ocy}mj_ z`NbSPVpoRmc?WGz@q06Gs1x46FNVetkNpk)gKyO&4s;{iL^X(1-UpLee$XR7d4Q*a zLGFJH47O{KV+EmkY*Hu!$`ZZ#RMlng?obu#QC=n`Ug{J2=`I=Jx$k9>58T8XcH7@V z#y>zz3C0Y1+qQGA`H@7wG2`Cn>4Km$EUF{;Cl){H89eb9nS`$WZyr5b+4_dJ}#Xnxx& zpEAX9To)psD>blC;F_g+Y~4|++(8a-Ia-HqiSM@da|1RM-y#~EDj}k2lqk~?^B&&#OHAHm zg#jz>pkxS@3oMh(35*u>y2R7Iz+{Nxb@2YFq>)^MW5p2d7sS2ux&>_89Y$@Q6d+_g zOi^W+tZJFXYONX(yd(Zwa4$zCn!c{oBUx#e0`wX$juQ2h#cw6nR7(y{`BI2zL~cf+ z-W+O9s6Dz+>3CZbufMA4mvlj&d<+)qEa)Oz6T~`}D8y8%r9}WD@y38(ES9TM+Lw$0 zdkmu0uG91<_TcNHpM)v>w<4(*$Kf6>TNlb`poNDxBDv~D&v!wtz73k$m8SeXMi-=YV6vHPf z{BPOTw(Sb$#GN0xiF~=fFA0R@bltXdgCq(5jlse)7ee?QSGtvN#X%5V)2Gvs^!adJg|PY4bw)n>^`<0;chuxI#%7wX-pL zVrHQ>iWpy$Zw?m9L~6ix;L&D_VZ7(wb%{F89a`&+FGBJ&q0dS(wzYr_d=W9s_Ke9s zT3iFi8i6J<{!^SLDk=_W<7hKbTbxLOh}aj4Mhi26n8%+6s`B+?SGd4wK#kFod^|4& zZ>FUthQW1bcT!zw^W*ZN5@x{Oz39d)`op6b<%62f$Eed67|ikczQL*^l9T7q2ahVI zOphS&GKNB&COyfj#M@4nK?h4M)T&5CKirG1b6k#5%#{z3 zz)XE5dR`rvQ%NWBp_yMSz7gOV3U_&lS8&fTYai3CMCI%67e1tOdH6mu(bin60}=WK2bh=y zU6H8k?Tf8^#RtY4YpC}ZmbHgluB&aO<q z9V&tgdXO_xbuK1K}RWmGE8@^9+w?W+(>plM^Suwg z>1PN?R%Tc~UpB9|zF%-sP6cbLo6d%mOGq#9@QbMhasbjRL>fev_&rg?r5lUj1>1Ga zdRKQ*Tu6x^E_iLu-;3=e`OOOw!*E|g*sLXDgS`+4_4z!CHJvm?OjmGTm_`H@;Agu| zz!d8as-5^6k8_2mwL|gt5%o#>u0nvAw>aIDG@4u{5&~==?8RVAd;F````=B^#QI&$ zHWGqY?M+ULio0^LOz%9z;65eEQZYB2wmlpl_PBDv`eka$QDjL(x(<-Y=beP4zTk)i z`-BaW{r-|q0^CJCV6H*>irXd7H9Lfbq$>7@@?;YL8L#%n!WIwC-nfrX2?KNd12JE? zi?$la`&-bB?6_^Uc6?eszg+Q>O?}2sj~e?E>MAJoP-+x^+?~F3=+?pp<%cRQxJ>lA zZWTaZCeRO?M`bh@3f27gz#l$fIVW|5_+ZiZGc79KPaN^8Eq!ymT{bwO{%E0>rz253 zm+X%o$j=xPCj3D&EV_d!Oq_;|dP$J_C*ZYKWvh%C?`C7>(E10z=BA)awKx z;8FJTF>7%uLd-l+B{_#{>=@SwZRG5^SkFb<`JMUQ4QO+`v+B`+c&nN(f}@n|+nLQfyRhBWsJrLV-Go)4tS*{pge{ z6!Q<=N+A=E%ty*2QL=ji;c@uPr|NR;>J&{YVESHc>Q++0g0KP7{fug%6Ajj25^kHz zd4G-3fUWy?Fqan_;%K@+W}(@Hjv}x9ZOd5)qdUN6P~}p?>F^3^CDHp=Xd1-S%kG|A zZZq)~V_d}Ddl07pcfkIidT<)KFtn6~XNqV&ZOwCiO%Ex`vR}wFd3Y?VVzHIvGF%b4 z=sm8=vkbJml8EXf7Sp7Np7{JQwD#cCO=ed>o~O;qUmEd7mH!agf0*?5G9Q-_n zHiq5BzC3fppyC6+Iuy`emutTLhPRwc&-yrZzCGyWb+x2S&NqYomFDlTJh4|O^nkWP z+h4ocuMgOms$4k+MTy0lB++M{T9@v>3?4ogVo*VCv!d1aNhddBOZ(rX8Sm=U+BbS3ht6n_FcC*gW~bANg@E11ue z3HTro^X?ahF5Vl7{^%Y4G(Aj{r|4XSMK3f?ohA_rArk|Pl7<-`#de3BUQhknCvbU|rn`}N>t&2rF-kOgCFEY~ z#W*zjner$gE}>AGEDu7=f!ToPDWiDG&uoE8g#9avGIk4HXb2MY1HWx?Hrdf}sv?g4 z{0ics{!#)qkD6xZ=2|2jIA0o&NGN0)hY#REB;(JQTg%j3bBfD{cWv*8OYviJsNi-Q6Kw0+O5Vl9uj9y5n%)&-)gf&XWYdC}K`NoTfmIAGcqss>NP$9uwRyS$N9NKr=kh3E6oiJVM{I zjy604dvGV#S?4%!FO{5<7M*_ye(Y-v5MZ~7KJdy;K+AbtR?2l(;mxAZ16KSJ+(ePm z#z!IdBhSaxG-i~T9nNS*9$c^=IHsr1ey&*bEMP zUeWdJe;h#l1{=g*51QLpEUHZ@739cTC;7v?BZqk};)^`IF3IYfgY}JjfOHQm zL&##@OL!H>g90h91uK@lmaI9yTP9t=k>b?*b4-_itYb#oMU>gDtuhF9HHbc2Hovxg z5ZZlGE5q*-6Z>sqCk1XTQy5T+pB6nHrsp@KuWYMqKGX0_#4<~QeB)fFEiMVLb8Xx? z<7pwyI8|K>7WGPuHM>z+nMd}=!dmmn9i=|D<~M8PHJh$0ePieL9mux+>r4TU7_-dH zf^I}eQ+M2)BsJ%a8M=CKutT81tHEfc`SEgg zYF^YeY`l*#A)~6ZS^=ut*TJRBYF0y(BAFjqeK%t*9M*-VzqBtO$Rm#8#UuTCs9Ty2 zU=41uN3;;giz9VU1%t6SQ^dT!Q=eIxn_^r9Nqh2-zHg?1jUm}yaQXO2pswpt_Ubql zW_uOR`qYl?~vghrOPO%cbVkcxq0FC|J}Tj3`ApoOc6~c8MOn zHo84B?OREtH@a~NiW-rcJi_d9|!sd20q>IZzME87a=1 zX(~I;{q}71xiiwI25+9>-}x5q;;QvB`d%rAhe#=qxo`bw<(aN?*igFlY$c17dH3W= zd3JH-pY#<6$1-yQ<&Cm3BT1~)a}(qvuN$W}c_8=u$(!S2d)XF=W!oCxS|rbw)>Wx% z>iP9N2kKD_P|DH;S%GU3v(T!yd`m_K)FVL-Kj4ja>s_S|D%`5mHg$>E%O@zj)+@iz zq(fv@n+9fW)rfmC#FSn&8DtdR;}duG(DKy4-*mmbqFIux_-#Xl1#)gp>LT+%VSGuB zpLi+x^@Qa6(#Ciwn=sAAA5Km9eFCGJIcpFsq=pCL8f9+jTRh=nXiNDrkYpQi+_8;3 zDe>BR5*#Z`KTzr6j%HyNIr&%MK6rLscPxHh9q0@Hdz3V`KK|vvlkxRH7v;R;?c`}8 zC$2FzHigvnxZ%{%6j_4*E0fzpe17MYe)=Y*K)rku`Pm<(wj%um@0Yb5#JVRhqyCP( zUueG1mO1sDODf4_uxX!aCIE{CXxWd968&LE9zq(1r8xdnDf-T-;R%Bm8>EBItNOr@ zAb<9dJb7K-s;{HGH!tyCeJ?Jw!}R&I0H<e$oGnk7hRz6~yul{}Pk`5A|`49mNoc1g#pwXpbFRrW$VB)X7;M;TKzss8}^ym*8 zw9M#pAjWdOHx*1^esM}T=Y%a*D&^i9KYw;iq5D!rX>D1UkUvoitA``M?*!_}AX{Kd z8%Z>WmUb7~rnd|yiC=c(r#*P@Eei(FJ|b$`Bk_&A5}>i`L@DH8#*m&aj4X2Q-vZC6 z#lu$(rjf)lrgc|boHEAimbc4sj>J~MY*py*MxrBySrR7?7*az&sQ0Jd_;~uSi^kqp z4HEYEwOH!2EreeZ1su{-W^XbYcKzV~Re(sRWkwv2IgW#&hQUOO4-k8BJnejIwgIn# zYUVPi0SYR(e2bDmLF1V+?|$A=3<}Z~C6fj_ljau;GU$Jl9n|B`rxFrg3!&@adcSX{FtqSXJT@dEjBY6;=N$&8N zW=X)pBNFRNA8fXnmui@;+X1gS722<1ZH~mH$;1$qEmWbr{9NzoW9NxE>+u-Tu!%Tu zbW@8(4X~INk^ynsPp|#ZOrUurSoLiYM*mBFuI!nhSplD`j2|aq>4NKbi zuN_bLwsBI<*-+RNUox;8X6r)B{rISw?0sm24r#|0@=ggqZ7=T%IS`<1AUt`TxL$o* zCX#s{FOPP<9hIA~u$&GwhQtVw_(YB@jb(crRAxs_>-XyvQfSw)1s>%g8S6Z8K&lDU z{cf#^%msv_)+DuQF_}?<^eO=vYv`%Ya^QKi+%DHS>g%Mx{(JFSj%RsGr{|YsED0rL zvpIaJnj(ICv{EMW_IxdT+02XHUW9)Yo8=szJBn*O-n@&{f^I~TcqqQq6PsH6TYEeV zSBK`SO>eLs>_QR-vq~r<4r3L7c=`nG6)Mjqw>R63Z@QJ+TcGUa2l}PJ+)-HcncfL? zLcp>>3m@V$PRWcD$M;^&cE247-jBw+r*j7RoFZf@loKm2lDF0fu<|GLqepAB`~~n2 z902=0Koow^7!+)pSzRm3ul!ei-L7*;vC|!4&2weqK8$4y!<&G=9J;iIOz7U0t1;MX zLADn@{6d@ypvxWMMSoPmz?puWD1F&^{K>oq{9WWQxqyEyLgs`1v$t&ezHBw%($P?UVxgonQqx-}M2eHkzX2^&d)N(Q?GbI z(bk`@@SKuIe7ro2`>k6hi;*3V?~u*jDM`E^E@$TW_~%p~2N1$UB>v^3ig?%J4&PW5 z1YZRcz3y0EJ!-x}&TbYY6>dqY2xd`3p(;hv+xd~cJbGJNmDv&;6Nz5oX2I~>qw4A9 zsd7+F;y7A`6C?|LFRyrwiMV!87L>6$fXlYC{Cz~n{%mv485{Y!cbONYQm8;oeZS4A zOVfV+m6y@Yl=bD!n!yWJhNSleo|xcm*Wfxyy#|e=lxwStXYzAyBEN#I2}p8X#8FmX zS>|>LW-TU>wv@I9_IyfHAwtkI$m^;)D4KxSIJ7M=0Q$*QnBKZR>X@V?&wgJB$K@)f zcvF=hDiPgw>-k1xk3&g_Cz!dXyi+x@R)keNBBq!tjmC4 z$CjX>!&&npz72KIGP>Z)Hz$C>#=&$@g}%GIfSuZIdYV$(Y_zLOsuNGd4q;{Mt*#_+ z^Es@~$gphm+vx)-ScheKuRz`FICfE)yAE-XwFgG`9ii_hTF>Gzt);v8ahe1WKDN9L zBBLl!xhVSYEP%5^ajB#}gOj=zJP&P`Qt}&=?M)-vQ#t<093$!E6fQpSnn3rx9r1(; zt+`#fnI$^YFbZiGn^I#U-WlStdT$Lsrmz@J+v=QhnQ<)N?$__zz>V^g>1*4GeH?N!xxP$*JZnEE5vT|I@VU_e|2=9hWL0i3lcEt7E{R)a5DJo71{^o zN&m2>jR7gp6qLP!T?>h5K0H2Rr86ecVQrpoBll4Joo^OR*z|F;c-kY~azzHbS7XqE zWZqn+DBSb>t?;O1JcTO&qS5GtH-8cRq^pe1po*nW$)e1jmjThizaWuPrM}o@$fmnUM8sWBG+;qHRdlM10=gn zgzlk*u0q>yoi^Q1T5P#6iMuY+N?#$i+`mcpej>p2)(eW8ib5-YTVTU<7A&FOU!EYd zhITe5`!&ISdh_Ry?l4(gxLo2a%n84PogB#~*GI=I1Y=W;PH@~?X{M>H4bsYdL?x$v z_j``Iyk2PmyIN}OJetL~tzE~{mbC4}XZ;W8 z-&8H&_SvP&ejK7k^%1J6Dlw(yfG?c7%qBzbx$*o_3^;)&wl*D;IxYR>*fBJ@L1LKk z2YjQ=w7i10#_znz(%-YG$M%06{Mvclf)_A+xuKIojU7*G zJl6KeFBvegvhnn{x6IBge1RH3Z*zk_HOm0e7ISglW2Kr-Ib912PcJJ39(vDV*BYHu zJ?bGbj-0PLV1@2ghMP#qE!KR;m3I`+>s^MNBlWNs9oi{mDEvp@#N2(KUXy$!l?>IB z{^1RGR>GWe=t)X|Z|F{3HRmKk=vVxtv(l}`da++yUv^l&k!W*Trjfo@Wi{X#HA86! zbW`%wXtOodQSy@s*Yrd731PPO&1)=WPl4TrU|0yK4n;5e3Nc^^3p|DYQ0ivj+mvuS zZs^#>-2ZB^TtO-8Q}WtdSyTu(7FDcOj%Jn5*~0M$m~|e+Im3ltsLWm5&#JKVj(iEC z?+C4nkUTRChNIT9L>umZ4V{_0I$-|{V*p}D%yEGRXVii(MfZU~6~mArHJ3br>A*TC z%2hIv%vv+8L|m++YW>C&M@9(|2?o#>Bzblgk~W{z$|KK)@KeZOuJhSMXb^02pY54qgg;$J@m@_ zyGxD~tX1{vN91A)AR%_K%3A;(Rozca_avQboCZ+v^Ey^qoMlK{*$=~J^S9EVC9V{C z&UkOROhcsAR!QNppR{-vDFnZ+$!CSIuSvec!ae@Ex)Un;iQYfpPO$ltTD%c0x)0Tf zu)tC@_!~VUM8Qn*J*ts0E?e?(@DZN_%6j=uvd>qQ&t=(e=Aiek1$6$-mO`W#`k$_K z-uTHe1Jk5)GH#OZWZzQl<8U05V6yj7iW$v_o8a6N=svr=F$BsJfT!ROSj zz}mIbvBUq;-_-rUi}{<&H9K(1iL4AY3TW-)diS#C#uQ@^P}7 zU5{ezGcIfuz}sV4l-}OnYQj6{ymm{8as#~=S5^%TFT*r>1V1JeYN7S!>^1A z1Hfm{yP$T#Pg``ShdjgarZoFG4MLauKP_5CBuzhz_lj1|saG`y7T`PAo(soZZD<49 z%+PASpKIgpXq$r;3~221jpJ*(%yIPMn_JXfsyN+U5|!TT$VAD~c0h6XhEc`00Io+kHbE0gh8F{v zUk{4vYIFj0BF~f(Z){CH+e93Oy}>a^3vS1~vMki;nI)Llr{X`0%>QG)``_RntN=%- zzjhW;+{P7t6lu0C%jl0d!9d-W?vqm7CBNrI48dxQbQeQ)xEHwNe|qwoH^1t#_Vjalz>+! zkBNNmzbuPrZS1*7ZZt<9PF@mFQvA)L{q{UU7n3{$FL!8)3tX>MS6i6stZM&bJD`#p z8q2YrFGuP9{;a9Fx!@l5GG@fZ!h&kSKwzh}Jow622iAn#0$sR!6xo90?IS8u{lQ z-YuFS>)gM=jM#>ZhsN;zNudFe7lRys|@GFYZbFN2m)@ z!0hIO5aTEo49}P8ZtJQ9d0BO4JVgRZ1#aAx`#3Yjimka48#`-ffc1PuxAvX0i6|jAM$q)wSEG z)s=TN5Atj0D=A~wq)rIev!E7C3)*)y(!^|CuFFB^bw#Ex_fAX>Z4Msl^`b8QKe4n_ zEw*n4a0YAX!D^RdH|>1m!A$~Xy6W2mQuu~;9fsnm3~voW`;;U12#ZTHcEROHUKG-2 za9V>NPhtsRzmQK1YkaYA;@d(Mh71!of{t4PT!Em+-;qIa7A6DSmV;TZLD@_TD)8v} zKOJ+zyQ-hT6&UswoaOybF2^4^HLUQMd|?jHoi_cJs7;E1->Nf5uX>ue{sUK9ake!SHon0)$uHfU^51BAAZ4@f!UE8a!`JK=LuwZn9Tgs0#dP3W5N=T+gqEdgpy@IqmEjSyL-i$&6ZJnV zyR)c(My}|Pe+AQL`R7xuPQG)|5vNcgxFvhg<#fLkeI?u29p97H{;hzio&+Mg z{m)>KqF804HqQKz_cx2*C9dX#dAXV}JNqh!d7VhtzPtA^%8#ED&WeBa-zv8FpcXD1 z=0-XVZE#Y`S+;0UaH#_~1Yb5^b#gJS5>_2IMy2xAe0!23#xj3JC)xhNgy_U}fVK`1 z>gPW4CrQ^#j0U^A>47||Kn{%Lo?ZKvEKK&C@h$#k>-MMB@Srl9@xbaF`U^iw(54o* ze6Ez)C{_O`$iB24-$V3&1Hj&b%@7xG>#cCD{09pDiHQ@wf5(-jRB^;k-?CP0;dqm5 za6mO3s<-a>R`s<>bgh?}d=1Z1KWBQ|}JDUoL|2HSsIA`}J71qS%DopK|vE&ZNA<}F+S>maU zN?;)uxeNzhX_Vw(Ow0h?;sX11t_msQ{t(TZyc`AtF2k&qkR*fCR%=JLH%8gUPk3Sm zrr6(BH=i{mz_>ge%?kp+VJY-~9o#tf&+)G3LDfYj|8b>HC4#LCa1zUY-Q4w~{I|~r zho%Y(QPMORF*)pc(JD_*i~8t~{!e%fOWbDxh^(mhT{Ajr>g%6n#Vv!eP-Lflfncsf-Gc|LNX7m?Hc63Zp4;l>UpTA}_P5 zW zE(F}~h64xz>@k_sY-hi4!Pa0{I?Gkq|HpI6|9Wn~x2nkKe>~UzZzY4aD-QR9+x5-p zjw!VO+SQM{^q6NJzk2)f?L!`Pz~6b`uyRfftK!|t^no2O!b5m_gruoBTj+ivTMU=)*()>D&aR^+6BGUm)?xqEwyGSd!53)*_ds6p&DFS; zXUVZ;=$fI|z-_7m51zH<=h>OwhJ!M<^eDazLu&QQOHK^^@M z&7==#L3hl5K07?NV2u_tS%>Tb5TjxEst)Jxa)U(UoOFJpLpX@0&d5NebSxI?q>0^s zG3B4I75l>;-ANkzaMiSQiPpyx(>6I4E8240`h~U)enW)|(>&4NcL>-XAPqO^Q_A;h za+UutOhH!JPn6YxGE;BIYcAj;cjlIg24rs)IsE#MUw-1`X8};23ZEPI?GRmMLkWt^ z*lQ@*`bZiDsnrX6=8gL;^nK?NiDl)B8o8l8TqD9=Di=auTX;hGTl)}6MkR26I5cKy zh)d%)aLn(!lgAd2kgj}9NZ10kk&mqW2!A&l8i6GRgKW7IvNC5Sh^y8RY4vAZy`8@+ z??E2s%k)9(*Re>az|;$up@lq|k|&xW*RF9j`T1mu)>4QQ6M`mwdpeyZwtH!)H0$SKN4$0%QZFHY)GjtA(|{oV$NLh-}^oHa1Imd~CZ{3;G$UEF-3-hBuln z7<9hFNyW|0z2r3~_+NVVPkdS7L;KPGfFzZeJBm(p&gNymh@fqLB^6H$m&H(MfHol1 zZFwlcET+JtWPNssDwac=&{scB{?L$ygJEop^Fx*NN6d=taPo|@v7)`p-;t>LTKRX# zS65Ki_+B|Ut++T+BS7E3LEgxoKn!_<7J?fsn-bvBV);o&MeJw6f#!9SzZoI7UktCM zP}^%@P@}lRbfU9&^13se$v$Zb9c0+_R_Z64#UJ9o-mfJMBNJWOG^PR>d6*tRmF)6{ zqjg#2d|&qD_`Yd?P6&MHMY`@-2lnn z>MzvzaT+WOAq#t-C1Tn_+eHTxSmBg0l|SM|C+!eSL4^zuA5TwD=c=7Bl`=&XOBB2m z>i&Jc{*#0HA!zv&V5|xj$cERf>MdrRNECMM0H;OB61lgP)sKk-RA+=Oxntn+Oz`d} z%K`UI!kpLS=-FItCzUKN#_RDU(|hw*kpVXsA&XY%i3F4aPC#UpS00=!{qB55#iwF z*cclXT%;8(J|Q9U?CleV!1t2#j*?o^6!v-$I>_iWj78hr32kY;y{j$>**7Sc? zjcT@O%mqv@y==IJe7(GU{j8>#jtGVcwf7(2K^-N*P)Xp0G<)d4i|u`+SFI8gp^GN; zxjtS3uTM7rYHXzPd3rcGKkwS(v8etsq|rTpy?K#3VQcrF4EIK7Rf-x&EHQwaVh^xd z^1zeTiL|E098Zg2+K!kqIQx@A((F~- z^GV{q(Ba@K_R#qSnnK?uV4}v*M6v%m=l6X;o>(mLW=P`0vEhl3S6ct7-qnn)8R|od z5qrLqL*pbkd|>{b)9j9p!B;4Ke_8Wehjuo48SbhV277i{2+;(06`MXmvR?#tkKY@k zpT52FT0C`UV5ZNpLf=ck6*N>-8+gD=MSgoFWr+*_C8deoDWRnSGFh#!n|>++rga}C zm$MWBEli?2to&!~v`a&CkydJu;nmN~U`sbmLP;RK(FFmv@wT*UWd$>h&rZtO+4&FV zz6-msu&`7P|_xe?{2inxV8FS(!mfUoA>#=#f|< z3@Ht}B4mf}B>r@3`aNPQ>LPtWW>rb?To0zLuaASr3o3L5eA!aI@-B_jwX-U01&q~u zb*c;kPG?>w+(t%d5b#nCL~sfX^RGUtL*1OW+)MrSn|RmGN@P~)pc;L;@+w%Zs&Mvj z#_0SyIZWV2r%Xoo)i-JFJyOZn`NFHi0VF&fLuzJ#M_97U_;0Ua>*N7#Xck5nZ*8z2 z9v!rwQNia`0h9u@?-P`EbcINE%ZDHZcFrIrbyr9S73T%5@<+WiCWTu?{=C?7*bW!i ztJRchs7HZ@*IWL%e_1cw45D+_XzF!tkOUf|!BmtIb}zpeTyNr@TwK8Rr%NZj#q7pw z6jENFTwV1(1j=LK;yNun&XfONyxb>{i2!7R8>wy*x+dvoG95}CGbUds2{yW&108$vBL zNdlFJcE&r~VFFyErIL|u2q(8?&HJo*Wab@$(&k}{tDRYY=P zyPrVvTxufJ_$cV&v_V;a5dJCQ>wpXmG;I68FF`1BF#lq+!-R=)8!%NKd+OEG3%{IW zndb8KPymEJz(a!+f&547dY%7aT+2FC>IeWfus>lj+z**G?clrlm`x{tthg@ho7KB= z7+lWR=IyG_bD|te<>~6jlc@A2`HwMXfUQbVJxr}ce_<)BTsZrFr z)zgrEt4%U~g7KT(qmLM!l*~>IE*HRx`USZrR^a(wZ+gqJL%0p|Wc>1l4aT1D>-|;s zY~Ez-`x*qUl+5pf;nB+4&x}pFOoVjqMP5veYX~b!gc7-cKHgxWela8#dogi?GFWO= z2%c?$%G(daBEfRpG+>b1)Rb84rT2F&x{BnE_+pB-Jd6KdTl4{Rz+H(#m2>%bLSm0@dp0nfD3AW}hqu+c%Xu*Wm}-VrQ_3^BuQ_(&UiuKXDCi;c%oV?V81=*Xdoku$6;J_(Oje|9 zedn(oy~yA`VtX_cF}8q^BDd~Cv_@V>#L1A~C<6u9-CEYPKWu5=1kjUnRa(8*KuZ20 z0JPCoWZl)v0alAXsP6s+6;+$W-+im6K(YS5uCHpG0Df=M=a8VmI(?L5alwB;YT_kM zysid!XI?BeL7?d2^MdX!CCiTo)~2k$M}aT8tEzXOFZL$kj?gH3cDnl3(%f|%xQ~i7 zd+VIfrDg|6CxjiDDE7F?lk5gTjnr{=42=xEACCiAWgv#)Rg4ccW>Oz-5Z?C|xnR?e zd#YHdIcWRJW{q?cd~##xs?b(t-#^h23+;u z@hoxtOf8yWXL!M%J$GveJ_1@IZbQ{}F2gIqZcA+MTdp;9{XP4d&n!}@#EB3;vni)A ze#yV9$?6rW0x3}WDXnn9)dXD>#6HoT-3_6;qtosY&bPBk9FXy&N7L~6G9aj3NukqP z!RLLM1j5vMjO;eX*@xP*N%H7=iOeE?6 zy3!r&pI;nl%j`*N*6-b$QQj!W_)-oSz0@$yk>^e331mjVKd=GWn6=;WIX@DM7{!=> zyA3^#o=gI_@oR^@1L=oE7G$NT59^zJUZH18bkDe8-%}2+z7ltAtg0Y=@YAg%Pnjub z%F}az1!S9R1(A*wx9Y>b`z`A8m27L~&$LZNqpsfFF$bP;w*BWHaFJP>YwhtED(|QT zC?w|4^deC2rio&2$7Rk7x}g_+Svui?F$bhGUB-NkCKQY@Td29E(agm?TD^9#$Dd~? zai-&McJ!t+-X+q?!u9DVdy#dJLw;FAaMu5bHh3kAjq^JEC3R5wC6(AQ)?jOV*~OpTI;x@UPsxHpfk z89TEayN#70GbdxD@RRb;U^hJy(dfZp>C(LzE2Mut3q{spqS5|}U+Mb_dW(V2@wc@J zOrO55ea$ApLxMzyZ*fL~$|c!!*S5%^W%Ih&4i9u3z3wnhCagA!GBA5cqU4`kt+|iG zsoY5NSLu>d>Y|%tSr{V6x=+T{`v08;kP9<+Hzs^#5MA`Q-HwCeB&TMyL%?&D3^$Bb z_Eb%P8fVRdbG4?H(s64v60mdo#u46|0@vpt(u?~m)J#(1Jy;m&+mNKq@GpOU`|l;} zD#(FJ21=WlSN@~}XPgE?QJ->R?1xB#**>?d?Y+;+5Da75VM89=N8;2>9o=%8BP0pR zjxHp+lxGdV*o)wtq3FFb!M48~4UxF5g=J6}n{WoLZRYRjsl3`8l`@guftiq# z=Js#V*Mq5!lEj+}Y<$sQp69Ya7xD#9llqSq`pYB*2m@ax{lpHcONktzXlqAz_*>$@ zGv=#Xl_2L{@+p1UQ@zUyZ2r zefpFI{l~pk(Be-+dpblJ*7HI{jc!*K_dcssiF106=imv&>Ds?#0*C3e_%S<-nH+}J z2WK^4hzFu|PQE4aFn`sTUCE36Av%)XNijTgh4B85aMYLOrPFC0Z=%UF;j##n_diH% zCQ6m5o*-sa<`ifhJbHq;wlYGa87`6qgjrHgH(cr3Z!sR98{pSIq?$mYYEJ0aS4%9o za5S#OvZDA_cef69Bo4;(P%z%PilvcwH##%nD9sCF)jM%8cngvCq4J6Uz51!jBF&(C z8QEKy({(bCiq+Emq~6H6{QVHYe~nBH5cz7*b^e${GuX~VVK)ocnmH^!S`42)Ur)9Y zrHeSWeKb+>*#VNi7-AMzXc9D=2dOv0z{{_Ry49V@)_fLKU7NPG)NCM%y*h?%<|8Vx2fu9AG$l_?MDwHYQLJV$_v6%ku#<) zP1TF_etsb+Vt5G3vYo;`@g?wFHy`yD&KmsOmM;uI2WJ@$-&qZ^#SAU znvU2jGm|1o?IZ~oI7RjG<*C}&p8*pSDnRuXtU z82dcp{ST(~EinMUEh@upZEyi%n~A#X7pgK-u5Wi2sndR$MEw-^{DwUoNz7olEm0FH z;^;B}eGPT1MTM3!dY&hW^?+|xigj(KJa5>{TX^wN#{O3T=^YI#Dn5JgYWDDjt_zAZ z?_o!Ez`L83-^(X=w&;a_gC&e3L?E+Y;P<_>@ivkgx)QisPkvv76;ISt-X#bJL^XSb z<8KlrjnHBtpyIz5Ijd`~ax^^9CljFbjVA$RX;T_{|LubOSkvU+y2onr7Qyp1aO+s5 zm*soe6f?Q&k6^m83dMrn6rFU8d9Cu4Ga^1a1B5kvz40lP8)}tDt37iD(is`Dyp+o3fDSormYcJV?zmkFkW#8s_(5!9G`p=VGWH zSds!g5@Ja7xWk?FXCv7A7~^R~Ty+Jh-y7RZa1gyc#y)&rDbh+;LB^+K0g@u*tKV99 z)s;ICd|G*?G`GtmLU?Xr`b5X+=Q)@+z2IW+YRZY8W`IN6phXRYoV+>?9|%jOxp*|X zIWl&|D^VdYh;ETz6f-wpO_W;Blfheu0THq^04`x3~!MG{kM z%+th?GFpgVOLU zQxjcn4INOu4IB z_`s-bzit&OiHl8;d7Er73aZ~if#Qw%i3_|~XP4!fv6s-53I}*Nh}*5(l+E7#)hF{7 z_?4r3`$IWDq3mAU^iVz@WUC7YVY6{?$4 za&xNq5kw7Q>uV^8+_};g8K<(6|4!vavIX5!KtVt_%uV6L@p;sduB}5OK0gMtZH|&6&|35y;qcwIT5ad>D}`hL4~I zr+OVbBIg-BjIDKwy1!KfAcRy#U#5D0W?JJ){SaLxAr=hR#dbng;O#%7w#kJQ8HkMD zGK2~p7H86`5n>^{;A4&Ko>0`O_F4%cl|MWa_S;rJqcI)>4=l9RFGW3lMeTd5G_uFhh4{p#RqR=jzleyqm9Dk6X{;o;kbq$g zT8cvYG^_=T9}(6IgypLYgMMKy)1hQ*USY*kF*j@8ys{RR;ofo7PA>a^*#w4lQBp@N zcQ-N=ooa;1Hhyfte2XjI+9BL$oA-O=VlES{@vq5ZdVJ&>e%8 zgLg={^4Vewp?u>RfjcUHo1tFh0V*y2A7VJ>#BlOB;Y#p)?_!N^M31Bv1n%B=ox($u z;y0wuF_M4jG$9Efzf%sgh}J?;@|2WsE`^6SQ~FW5Q+PFtMmciiXw~kp`Jvv@I$x1_ z@|l2ME$_zLJ`gKKmPf&53HzsZ)fYT>kEtVGmc$1fOnlI4^2eFgm2D04xK&AMg{V(` zeMC+Dt}C&7`l%614drKR{rdgh%3AG;D^;TL&hMWIUqY`}4#RfVeIzOiGItkih(nKv zea-F0Iz`4DA=OgU0X8?U&fSXM%G)(bwHNfhTtw5+Flp_Ukjn3BT?tER)#i`X>4I&< zXapRc29ZcfYK5Pw5VdEKJ5qkeo%ZRUzYI2gHfZ>iSIvJV3l|XSLomJE8tC+v+^HV| ze$jQqKZbH@UWiY8@~ARjwxz>o^N&RsH9RhEIGrE6w-+HlZ#J3~!XJM~FoING7==@u z@`~uudFM>=Ar?=gt*sXlJ6H5}9Q82s-`Re6xRf<{LslzDYwk4UwfG|a24Wz;g}*d* zGr3Yez?MQ88zt8YqZja4Z`jtqiGg+uTI-#t7JMS&Gv?}{%xb)C0uSa+tghYU?$dj= z+KcKkO=v|**d|YSvvoE_^h8CZb9<@TwVZavq+Pot=`0R?z0}iTSt>f$sEGQ0^er!E z>|2=tQP@oYxSyN{HA7_a2cL`6o?M$>!NVa-jiv_*r<=9!p`b`_F>_ee0s7d}%PM!{ zJ(WR5=1sm6=;5uK;G$go2i2^+P7?IhD6{aF;ir|1C3{Fxuq8Gx&q+KZD;P->Q?RJ10>ll!0qTQ63D-Yd2o( z7sZ-t6D7e9@A9SR;r^ofM$YXpBH# zpOPqY`;+7N@a>^3GkImmqRQg{!PLD){55D*ofOW%CY)?7XU=03Z8}X|VmJ7hsGbY= z+vp=IW@To8dugK4ernk+|F(e59V>evu_`g*BN>4bM% zF?HKt!>duC&8{KUNH6*mFJpx}Kx4MR4q3|0^pG`Gq8NSZH8ApBVP2ZU69bX_1Fx*3aq;mp?M6EDVDVZmT>{F zCOd6z(0*%@cnDyaVV%Z1$02$Qi%17gxJCDR&pDJ@IgnhGu@kx-80D4E$%r{k!eKI)VXVc23ThL z&b|`f2{me8hmbI6} z>;e47Th^yLXb z(LbLoAGqtWTYQd!X<7+8rYGU(zfMaG$G#0_Se>uQ=c%uF!0@qdcPc5p__Ju`GgdL( z@NUiduQZ{@^GC>SUiGf-37*KeTEW5xckI&;dez!q_cE;k84-4PSlI4T4uaz$nGG_4 z_K;?Q>pnq>*53F_L`DG6jTVqM5;`@Oj6VzQ*y?xUcYJtrRkr9?`hhi9Mun)JU76h| zQ-J6*rT9Wp2~AQ_nh;a(QA&^l+R~{)S||V2BYK%&7O{ZjV2&d_=3$!jrYyT@6-SIp}rU;XEEj0^$Sx3H04AaM-6sd_t7L~#BFWXBveUX2A>+wlrv@V#Z zD(<-a@_5&qSDw4q0&*caU*6&k$A)Cya2PK&;8vYLSnx3*vTXvYx%;0iFYI3pqOFE6 zZk@qy$8kJ)wxz9I*drOUDtv2h;h0KAZE{LaZaI@wT5S;CKflHZi|py>DMu%{X7k7W zRAi{w$mbYe7HF=V1jTHK5{iuYTE8Cb!GU)rsyrJQ!S6bcN&i(eP@0k>m`ziO>di7n zQPOZ{sQ((W`<0oH<|3LV^VF*UXOC6A6O=j|Z36E_O$DMWJFQ?!SGrv5%Xg6N9P3~K zcd(ICHQs0yTH4HU_YV)MW%+C6spXD(So<*8hZeB(l1<`d8Ro@5#JfC0GCy7aQltnJ zcNA{(+zvTf4n?Bh-Hw`#w@~N(WF4v<3%xSkYHGR_z{{+5e0^3g@oLk_A)xkC+7m8) zTgSvhs-F-R8(XHg|JsMvN>q5?1tkhP2}2<<3P+34^PTLu2ve~aK{>7H?5u(tmP0ql z9D7>v7l?LzcoY#F@zlP2VbOinJ251U3tMb<0(V#-9>hm)?sDJ>BC01us!%|rA?C}W zU~Oeivr!cu{h8?e164xAK=G0JioD;QaRKPQ@GiCa_X-mlJGsVATJx#|wbqnVY6glgmS z^G2}@k$nz3nwVEsgI@U`Vf3u>(h<2Vh8IP^5Hyis-$4?qO|p;_BZI*P+eJ1 zxMncf5=mH8cQ+wmaAgb6_$wNfNGg}>vxJrYrtxA7XKoeu78SPKBDb+={v1D zb55tBcn@mMU|Ih)W42oN^{sbC1HRk&geWZvkmZN3dOuOZv{px1OIXpn2bCVL`X;;C zctM!hlPG>L+IpfZYZt&l9+YMA^gX8bx`Q!bv~;IZu=1%Xz;8NBY^hTucr7foh)^gm z%CP6}P?b?TBMYAocSYbh=Tij`t565O>|i@Uq~&RXC3 z{%7yA&&A;`T;-XW?-*0Z9F60i+3hTg;;_71?+fT7@2$8Su5&zj6F;fa?b(k8CFhzu&k3E}d^ zewkzPTJLcXPTh3z7F#^xrxj#1MXSEnmp1123%1;#j_Z<6U0OGo+qJsBxwo5Is_kMN)oX` zH6+xHCE8FT9q+sTZZU4MY2*J%G3*jHAlw|yMU(9B<3RxDAkZt@%A=zQv(V6j&#w8e z9Xp_Umr)i9sfb%KWx)mtsMoIrF9(&Y;42V-z;o81!`FCQU)3y-ugsOlF?a~c^K$_A zrACk@D7^9B1W^G&Wb!$JgTiSVh&{K8(`!?ITIYO&G{dsw653%6LvPjd(-S#Gew5%s zhDpE#QdGA6YR&}R99H)viWp_hJ-3Cbyx~xlcV*g$hV%fd%(icwkb%rTJe<=)MysD< zzKpo*pQG&q(&nJ(on*wJJV~%RP|R^6)C?FjnE-fEQeh-PkMA}g3Ew? z@cPSOtg&xW7Qy2@&_>$D-vF7EFj^lhcD;3z)6vd)z)f3hvV1=|mwLKu$Lf<#S%T5h z*(W3xgFl?Gi7jAt*-54Se(~Cg8W3>PF8^m6aZ=DsO7ssOsq$Q2NKlGRrv5x78A@Z< z4*}IWZ_hWPhJpZ-vYeiU8t>jmR=7|DV6iz0Z--)a@=FoEDQ;A&>V1*4%i9mc9r)uH zbCSQlqd9wC)3F97Qk1IsF*=`9oZPIY?WrFZZ9$;w$|4!k(dqkYrNcVWZ_)OH|uJw1{oak zfG9BZvtY}KI1r@aT}#5!nA2UpfV^40gdXtOu5bap7P*%oR_MEf9oB}x9sKh_H!ob zOIV0+x;rSc`$E?&Gj|~G-sY$&LUPRUIZO>Bfrg5XLWhsbIJAAH;r_q`YlYS5&gU_VqZ)?#aJnW&C5g7XZQ$$(l@T|P(DzomGQ^l=8=0<7n?EL!O zBF`X{=FXL7bwYs#5GBg-8^ng5y*9n~+1n}|VMa-CbvBzm({m83flOO6DYaej`wQ|l zxy0F^GMiZ`{^8*Vm+cXfu*jFtCSk%hvad9fjUTj26Hup~P_Sv41RJOAS%qKLvh`_P zvPHj6=W}x>F~Z*HXwBb=^`*DO)?RG8?P6U~9zzc>rr5wIgi+A|)H3*>>F;cus83W( zgKJmlcabtOGnajGOcF+{*-WllC&g-rQm47$>yQZHae{F`=0j0g3g-np-;O--=% zv95G05D(+MWcX`TL6uDX?G_&4ojZ@PbeI_qW{!-R?CLQ2GYtsB&K_f#XdRJ^I)DyP z;()b#P9jKq*}l=Asu9;HKx(ZAoEh4;e_+ePLEdjg+m_}eWd1IB-TNKgG>S8>uk=)M zLiEnnNim-3E({+(DiO%W4#6t@iYm@zi51<>fB>O26l9PsHAd2GR?yV`YKVw*cw%uB zSC{D`j3bP76yImi<@|W~sx{7CdQWS!u1ye&q;ac%)FsXNq$&HW%f21Cks*pM#SYV8 zHa2d_VEDRYpkS*X<=9_6`KCkcI`c05k-xqRyNYbf0n~jzsz4nCd>zAJXb=q`ng4U_ zQYg#%U90QYGfQx;8vBbE&>W%@C%zTJDqFd>6H$`H;pbTF*M?E#DGJ%1QneaENG!M! zSEkh5-QDzPdaP1A@SkbOv3cFz9!n=CIX6+=cJ{DNZLK$v{rDp{L$MK?2n|8*q$soF zJ-6|5tIF>Qk`Pz-3bTnn2vD-T&su{u@7uR^rlM94W-h}*M7Jx;b8z9@y=<{u?4rM( zg@TCUE}z@aGwHU-P2NWK3*>0_39uV6eG{ef=Z3VL*{&;A6|NHc%x+x&Cj2<`p-A4q z@6l&Xm;yv6)!FqY@xId%^OOo^Ko8eS6oiT$lv?)4VW;LeV^!|!uTL~H+qYveE!(2o z@-_Ayd$72OE3%9soN|C58A6OnEh`o(A2V~ibiNOP0n%3R9g%kicC3orXesDzT@fy$ zT&rI(-g}XRQ}?#kxevd|+_aAfG&t@Kn3p+hs18L7_}qDQNcDrH8)ez@zq0^6zdnp|)yi2ew)+!!`M*wTGWRU@ zYe)C+9qZg%(99yo-ToS-WKhoFdlbBDI8T_M#t!MQ2%<`KHINxcSWRxh{d+|jaZe&z z>pSE<(vgnbw&Yi&*yx-i=!R#S^ah^zo78ZqLbi34SMfr-m_Kbl&27J6!^biaWYYOY zBgi%?3Q@K!PT!VQmAB9EzIL=<9$xA*E)2%uXp4-eV%%|RS6I4Z?%*O<{Jr2Q!cX=F8# zj?I;5G;~wzd?Uebu4Zj05BrTXWW^n0mvDmZ)CHsGDgH9ML=Eui4EA^sm7uooN*FW%@{|GB#YRMfceC z))3y?_EjK|3fmdiSeUhtdu9*UB1Px(0ih|RsG_gw)h6aa)W3;RCZHlbsPBXBvZaAC zg<|{qoH%{Ae(|gthhe7!!}@4!%aT^=ytdNwoY{3-*0RJ%>V_K>aerR%HA=IEhm#aK z@l{Vkn3+QE@Bf0Jp6G@QD#5@8k$k<+hP4trI6O7N1(NlR1C*`UZnJqXM5o?sKePU^ z)TdMX_d1JtW*8=2if0m&~!A9w**uNJrh51GFG1aGn3E~5bs zq}VtEodvY93`0G;iPk4xjYVjz&mCpXaSLI&vxQS!r<{IJ3h%%Hkl9`Lg!6V3Ix^th zYKW~)SeIx{I@76vpf*#6nN5B)F~~<<)eEwTbEhc2jd>yUXPa-HZfzos{0R}jZ?T}8 z1YF+kWrog8PkVaK ztm>vZ@a1q2G*){>FO57Yo(-}sr9N{zmu!CM|MabYez>>J?gPCdfOVkx)v=FgU8$G& zrH}&lf=5vA_vbwq-yJOS#;-B&WKAvp_SEUGzXj1o0hrF;bN!4rjzWa1Sq@xpp#qW+ z&FT9vg~Q#Y7bn@CXjwn=B6LU$$FL(l6nKUx>({-bWEa=Y-4yV0=^Q69c<EJAO)t)~O?l$YA9_|2 z{nu9P){x#=Y0d^T`kneAW{I~8I#xpm|Ab2$@ zlpKJ6@wxtK1r568H{Q+bMaHY_i{Ze31l#kA8Mruuoekfd-Y=~LYZn@WPEq1y7g%d* zy`3En2MJ{Xal#u>KVKsk*xCF%cFc_Ca^v5S&Ara#uYHXkK@MAd)xUP8W#VME1goyc z29rLcr72tb6@a~Xe{#em@<sdLQ@S9@Ghv!GIgpa{Ni~!yoGWw-C;28aW8s}RO z^gMu>nKBpFQ1K{Qq#5p)M)QS?2WqzrCR9b@Brh~ivcO$T@WS*iQ=ll*Wg)QXq^#Q=NPqSv0PENC58JQF2n#>TGhk}-MQ zR3`RdEk4qSXPXsEK7@uWvTBlpb6ZDoG#=k+$$`K3DHmhxgCy(g!`ij zcq0SgEVUeA!d0usr@s<_8JRcm`^p{T{w6z;Hes3SCf`K=w>X*FD-~6Az}sS)gdH{E z8vni4edaM1M!jN%7d)-Wn&UECT1z^BaDrh7?ef?_ULC2gic@UziC4j(vE4U!j)Z<0 zzzBIEr0ygAjS|bg$38) zSGNAaO!FNrd!%gFZ}S&Fw%xrzK$xK46S{QCixDC5v+&OlMqN1N2?N6FW_-WxW>U_{ z?c72ToC94@R5)J| z-(Cw7*3W$jwFe$_t>T53VwBJmbAf%zZbmSDE)w_U2J!4o zn(~G#{ap|hAhDJyVuT{{=NtdpKoty?`Hj$tD4MTxFtWLng#L)WPxBHjX!plWlHqC_ zlOh?6ScfZ-`HM>$I1h>lwdB}S)AA3cX%>Mw+AelSnpK)6n?HVqtlV?J*6f_X$qmFx zZQ{Wfg9{eg59Fx%i}ViH9X(a!Q~;1Y5nLabT@kfsp>xsLHY(~jAq9nG?hC-X!#5tK zmv}Z-ro%BgRyxSeQ<2b)fxfu~nAzWv16e2fa(-SE?W}=t6gGqyk266ymK!jG z_D5v^zd8OzuC}MecgQVe#5?=j-a=CpN&*#H)32|G^rpn zX7CJXEV|tk7ZQ1SH(C2x#IP8<=fK=euvw61wa=9GGhg0%1Z@(NnN>4(RisK1g7+0a zcx^0o$=BW?PK6tnA_S1n4Yk>hD0EK=%$%TQTsH9mP-48j6>Eo%rj)LIRTcViv2(gBlwg)9JKBi-*U01(T=$ycNty~iP zMG-aR^e(VWN~D%S!|!K>Ni8s7R?x?rqt&%Z>gmHZ>RDh!e?ngO$(6@9qecupnu~&)nyVxd z_qOYz0}m-TW3Lw^+5}(P-QiNeZHES6wT;i1Csl4Ix?5v#4UM85vw&F6uC-&HXjGR( zqg_X$IfHZcxbmj9fw!Rb^II;T;aAOCdmXc{Drnw?F@~_>(L~oHQhY2U2UK#bn#Any zE;b6{-nVvE!l=UjWUn3{uH8PB^KcVZ#i!3`tzO@K)^Bk{%%jU|HURH76<6SH+iqW~ z42-k6{OP&S0wn=D=^n6Oy_)F^GL9>2n)y$Nz^G5P4JS$kLJI#oi8bx?cex~HQ!5H2 zl{G#`I*!86A$66&#lx_&8!ZCL@GScDbmy$L)0`y$4_h45wxo` z21(@#4utkw-4P?q(WgLYWv@JQeSUQ3qRO_wge6Y#bgp<*>UV(JS4KXBNk|8S!K!ue zx`mP^k|k9gMOGZdN(3a`#ly)!WnS;Bg*cj0^MRm5e6=?C2ImLu6G1O}JS$p_oCr`e zXa)`Dj*w7E|2Aw$C{gpf8x^j!j=+e5KJO|&4SR_-sA1+E^Qsx^!H zq;rsyXuw*0ljJ2;8b3+S5vxVMZ(|chTa0GmJsTRJ&M=9RxhMd_ zY8!TLE8Z5x7juF`By1WvsjkB$W;b-f?B9Y;dF$hmP8NBs%%vZ`Ky$oy3IZ@_$lE2G zw-|8%rG&L5TIr61dZ!VW|Yl{bCRiBJ`%Tzww*FeVGRz{+mNYIoS=#bYJ6u=7UKL;iG8xs z(n(-Y9wWP3>DPRuxKmM2#?6>=MRF?6iYhLnC3+=LbiqraH6OlFlEFCR-XzPdH@V{= z>T`yE5@HpZyDkBOrCQHKucmY1VD{XLUz~<@gtOuPoG|{Pa&}!pBx)v4CCRNvr)J(8 zt-D8l8E~H{<*Wtkom8^bF2MsYdpT{$a@wqxUD$yMjIGClmxw)&Cn|R#Rd+iH#!J~-*vfp|q1|_IB#qa(g0w74^(TMMi z>KFd232i^48FBH>Jno zu_sh5*d4CqMOTJ+lZTAuPwc-2QR4FlIEN1*fxnz^KCDCPuGDIAIv9N$qx~t7JM7e> z63gtcX)v@VJb3Gh@TxVxcn19b7YyM2lov{jM>kX`^z{&rqY7Z)hUwGEod5P^aC$|a zINlAb0i!zeDuK8r+HttfAF}b5W9xW8NpnV6sMc?uA2xF$8yjD>LM>VMNbRs7fwaH0 z^Av4@?;-npML3Ax(^7d*3#C+aM}A9DS*<1OY5B*0O@x}zZ>DhjAs=S{fE?2vAiLVh zMRe+`Q7LUZiGGpEn@-aIxjp^@vl=HwJ2o6k>9?yae?*wXBOahb`=*}w#1&&}#q#t?7$ysXb8tJ~Yx2JjuRFuqH1kAKT5`S2lJ!__=gz(?&@Q02IC z(U&9;yA6&n5^uwIKbm98QqT)6+9S(JD;KND)}+;&Hdl?|2ONYu0kBC4BQLgldP=ryRn`SCoL1NC^EC zm+f$dUKrf7B8ryQnBbMlQ>-3_qPtJP>lPi(`9$S|7QMs=9TP$dtCZQs=8V8(Dz4TB zs@T<9OVyLGyy{7;P=9kbH-K6Vq>{y_8G&5UZjpYE3%zC8elz>vK>#qjo_=~<4tk6n z%KSKOK8y5dI06dpXUx}nxk~MP_^m7uFs3W}m1M6Lph>6?XMWP%Db&&~m5nMZ^M{hD@n*@e& z`lhxrre7eUnJl;pxEbf5iWy?OsstE8QaG)c2D~?np%?hM$ro2metWoUhsieK5=NNJ zVgBP*En-a>2`VXkU6Qd#{COPl``nk|OOg#@Z4_<>GvC#$;Ka|oA+|iKf#diQeK^iF z%#M->KCd3gW{?Wu8i82~tDvwDL33JXrr=FA{8hVa8RY;N4T#X0Gq$TIba&T*0pW2G z-sU@b*^tog`yh!ymOO-KL#T-B@v`cK_}n|<4y1ClYgPmFjGCS;8N#ixP*`_z(%+$b z0D>HjBe#|O#|G{g{?$m9YCxt6Ewsg9Nqa+6Q8+i&mZ8TJwH(u7r9*YrjIn^`^HqZv zBzfGXw%8r3AR44q!eXdvCeI3NgG-+3v`PW+Rp_@5C0ntnrL}99eE;Z(vNO1~4i}(| zTAU1-A_;r8!Ic)G=i!;cW_r^R)j|~i1LiZS?*h(uMM+*sM6}1ijhJ9UIjaLKgIB z_^sho{-0hhWgn0ffl9LoSd4?vj?Tp6JUcWy{NWDR!(sys`GdLgCLu+pcb&iV887;Q zufJZVL+fx1rcH>#>3i^JaC9|C-a1oNEZN#jJIw~E-8Div1ft!NLOB#4y4bJ?6h)Av zied^tE8Duy^Z{E9n9w7bkC8lV!nBa6Y^#>y(o)T!c6HgPwzRxjkng151(5glu{S*G zgx>+UVias)ZZ<+8?^%dO2@u1QN)R@KaxT@0l`+&4F;ZhK)gZJ;#U9!u;r7=WTm;El zI4PXTC_jNvbz-0FB+H)2<|&%ePbe4o4fHc+kTvp#An+ho3rWGlllB>f_V*p$l20w3*U zuS6k+N*IsQZKR!8zk(FRl<{#l!CX#;IJi#}6>*@qHpA?PfT4^A;JZYxw#Ey$QK4b# zNH&uJGJ#h9y?N-H&hX?1vgjBlUCB>bOa;||3AJI$mx6OQ4s0{epf7-^&jD~}aJ-H= znT31E3SoReki>HX{Fzt=@$a(z4}`k0f$7Vap*QgSPl^-=!s-* zGj8*(^VVc*qC~rT-LT0nbh<-5pJTqJ*2^a{ovXjzG(uEDD~jP97dO$yf%vxIH&Li* zQ7fp|^bEGf?5{7AOU${Y&oRIIX}*S@iPIzS4irQG(rqQ;p4PjY;R0N*CiRi_H1!HW zXsv%zI9}4OHKwBu^B-n~JI15R>XS9AWJV*S*4hDr&_`4-IZt&e67Qu?7~IRiIChvOXNngr6{y~ z!#mceV9Z%p7zvPhvJQkZ$9S8l|DUISfBqRbRs3OTH-clLzY*{C)6?zTd$>)W{^U1J z|2G^NZ-B&spd$z{Kn}d?ZLbF~3vo^>G4n~c@!N9VmN*2>L4Sg7fi>KZx}13?tKYr$ z?1-?Azk(5v2eXeM1x`9?>O){w?S37*h4Y%ich$ z*K_C}+%SIvPUEPNuBT;=$v;(Jo{%Ez=JTMZU)y>K6sEtO~_Jqd~dCA_FBI#>~4j`L6z&$Ql=$$_b*3^s7Do zarq753i)if1W{VZO0aQ0tP-EpATuzcD{7iO#E8ZXKkld(G_zhJ1?g2K9t3>!*sn2+ z*8L=z{OUVLueE(0Rv}|&roBoW6(^l?p=W-^PaxIbLFwzs6oA~H4Tp}Ye}V<$|5vb3 zh6mVJ45MV5uJ1FGh*hJpuaWRyouug5%)R^uHq!yHvW{5T*dSrJxheV4<@T*N%1-ep zd3y_nNQdCy;#Rn_^;TiGHT;)gdzSwRGvJ#{uENTXEOj-oBuz(q+S}RnJ$eeA^T6nH zq?~O~05d5BAwaE%$b=xD`lBwz>60oQRv4TI19k31&k?Agqrr=4I@RNxyX}}n6nPrf#&x84CWH~6;n=C z(<`v1V5|lc^SHEC1y?om=p+eLsNg!8a>(i_5(8b&?&YV@$1G6dIbs?~um`>zQpj!; zi-0{|&`U2W^t9GVPhI@F>>-jZ9O>0|s(#1^VjTAOdix7=KcMBofh3o;OdrN~>e`<^ zBlVojo0sO*tn9OL5z9=G4AE7>KWu_gf!mQkb%UG-V|_20SPIS%193dc<17)U1^kUS zFVH2RB=ro+Z|H-{x8C3eAt59(>oAM@+#jYSl$V4fO%*GK(?zGiI+wAwWq>^%7-cKk z5D37uEifJho3cC4^x!6}*-+D|=08k6Z$!laqUV9^gzn8^5t_Ug%OyA&JX>=4>|osL zUmj4@>FqSK1qqdXQwqi}zP0 zbW81~v?a`}Y`$?!M2+jcf&>I3T(ZCX0j?XWViUgn@l%asc>wPZdvTrTPYwikBqF$G z?25dHm<8CjHa@4}Yn+Tm!CO07xCy!b!U&1NI!bU6YSrqA{{EemB_;I7 zi!G50H^<7d(DuFm0zyU|Od=e>nWIy1g8PH{gUZdTU{#w}fRezuV@Za%^LPtjws0=b z>F_N=_%i`>8bx5%ajugeW?RXS=?}Zd%GzpVYlEpV%rJZEGwD<-@t-NC1RHPZLebH{ zzXrp?E6DSy0CWQR2;MEant=(EEuI}Z6#=SkSDFS-CKoQUP;Cqzn2aGZ_T1TyopX zI)hlnrVcvxs|OCX7YPYFL@|H#5M@SlOD`q^1jvp<$ zh4aAfo7i@mo| zNRTXGz=zBl6@ovZ=L6VE#Qfo7&UVl-iB=OZZgwtG?mDp?CB!m4p02qZV2T+U5U&Ep z)6oL_N!fkdt9i=1X=ivCl5QzK^bi*o%#Fv$yXuTo$ITt4P+L^Nw~G$7@4zxa0B0!6 zJ~sUukZAuObR>8Qrz1^l$;napW$N2%N<5PMUEmS5LVNrWB9$~i{4Ih;i=~i$lKV?f zG@grKK9|5~77yd$;bE=ciX;dLDZn$x7v;a*7;rt(RC7sB)q)o>5Az}E-id?u0fsjT zyK^z{x)4q8!V1O#ExGO9gnDzVD4a+{4mcctIFrIbGqevbrQ(dh<-D}xmTb`34DA`8 z4tKW3h-3e9F_gx^^B8-l@W{5^X${buOA+@DtO-A?$NsV$>yNa(J)+FCIuecCyOeCT zZ?lKUMO{t;uC)6TjN{MZ+GTG_Kn6?pH$}DMz~{RCz`56u5wY2;B%)-*#bT+=J%IFn z3dk2UsZ=D6Uq@y8)f>I&L&zP;5x}|3(t9WD%nVsW53rk&p*W9s z;+$gp3M9S&R^{J32Tc=x0dTf|dQX?f9!CznzOMm66@a%iSSTCarNRiOgQdT{{uA%P z1nMCpAed2CEM0>hOxvYzYGZ8h1>{L+pPcNaEbpO>DWNxMg)J6({MFynkOJ^*jNs-w zh=A0}b#03TO@9mZ+i3;hW?+0^`SMU$^_by@6BeSu(5hzv#Qhu_G~dFmh{zR0;6}C9 z&>0eGQGoCkiM60?Yf?gs9TGYu38K!QL?eA~mlkX(g6})WTAD1Un8|TJN%)4bh#PcD z>V4ko8Gh=cHpIHm@q!Z#lldBwG?3^YZjRq<=GY@QjgF)=1r=9J9oPzO7vC8zivXaO z=cN?U+PqQ&VJKrXKFISYfd?LD9PUqaT6^OT(4h$iPs4#VcmS9Bnt$x~KcxbfU3dYd z=WPW1pWZ`sQjP1qi8H-qJ2yG7CodPlns&%r9u^~fhiMF-00Hy!Z89_SFv{{_ZKlb5 z5N?NPY*E<>%qZdhHVLb`J^f@62$vMcDF!5tIYrFlh7WCC0Cyd*9I4kb^bNc>6>X~B zulls_V;s^44AynR6=%e=rE`Ws=T)l8;QVqFx?%!rDB!LF7)*#;v;Hb|3UXK({+s6u zEYPQ~3uxx52q=G7zlyZS!_Wlz9z0CG)k@ zN6RoqDogUOJ`$uHv4?I;hAu>a-;P!(9a4vgK3$oEV5ynS9DG#K`lNNvq04k%){4xa z&8-qoJ&!lZT<7+vhY%GDgg{^L2a}TyIq7i)1vU2aAgy#7l&h4`(+)ap+>al>RV8Ic z0U7&2-VbAx<7Ta}wg-wcDc~*$*3>5aZ;1V`z4iQ?;HlPaqdockZ!|!lk`}hE-0&Vc zfLqp3+wldX!n!$OW`k(0XIL;t?`$bGx8;y$u79z7)co#H)E1jGqC1z8jP5ma6AMbe z(L?P{9Ln;eof{<~q@QH#%)QJ0gWr7}pTo+I!=nsKt=TqxGGiQ)ge$3)QA&&&rl{Ol z5$e6ktjxM=(Ol%dHLo)hzN$z9b>R)ettnzJwnn_)@O;`(32t(D>FHD*1kfw`z4-(b zuID!GRP&+arv9FSw;W4zJskllkHVa2J&~J&nA?{#fc5nX^*uPO7C(;EGp=yMGJ-GO z`^&W-4$eIfxio0_KTi-7Qk8>bjZsOZx`HINC)`z|h{0ptMKqldbb!y>_)_du#fsjc zz4y4td<2SIr|#Ab0KU4fq1_MfA0g8{Gj#Fa(01@93W>dgbkP;+f)C}2G4vQ@ZlB+8>Ma%vO{xX*Nn0r$+ zJ~7r>NX}P(Uxh^kn%+sm@%Lm{aS`s?@B~}=|K_v(f@sQ!xP_N2AdFuVUHgO|?TR}I z$)9rlw$UcDk&P}JxC%b35Rm&4$5H3KCYRH4v46s7kS&)f)J~YJh3Sw#jyCeH1B5-L z4f*{nYwjw58IE2mKaqkl|I-$2_Dj6QOOVjVSA}YeP z!`^61WdW%LTijodb*RO2k51wz?ZbyZ zkc;*1Fu=ukO-WQ?1@(&AHZ+!PbZ;O1NA@MwYa%SkgDJ;Ti6C?$&vDs@aDk)>4Ia#6 zEzGgg?j^j1x)1mKi%N-TY5Om6as=Eo=litz=IE_|8X$Uro;BC60yAu2O2Vil0P1DR z{M(SgXeT~m=A|R_Id0FbUrBvR7&Q&q1Sa(|Vqy$fJ_K!N^K(()w;o&O|YF?8nU;wu`#An84x=jN# zQD#h<7)ycLD2YL#5r$Zg)kgRTc6E^pI4vciL+59qM63N= z!HD1OhJkKwZi~%67`b`nKzI}2wmHn-m-3&-z3_ilHvSW8=3l+20Ek(?ttK;IB>xqr zwp#wqlr)aP61ar?@RtSzL!r1~P2??+s6Ji^`)DV+Ms}*lDCvUvX9iCc2(QQ8M zLqr62PK9ZHA;1TtOIIsiuynHE(zw85*qxp9Nm=3)bL`ZC@qgT zMnqp5fr`&xvI@n_evD^G3$69pr8^ABC5Vq~lzu*~pKoD7wF&%)JU4t$=Q&JG-kyd0 zI{jzS#3)YY_XWzNJtHfX1y0s?zwv@ZZx5`E6U&qwemJgz624Tr^tO^`H+%zhFTWvf zT19ikwvRN0bI=_qw$IUf;O{Y6 z`j)}F+AJP#`;X@QDEe~0W7juZGTyOg;O8K-$fZa}>Ir_5WQNAbk^->rC{qmH60)Vl zzQy_Mee+5YE#a4ou$_nXUGX~dN4>G`_C(%+Y$3M8@sobpxomsgL3{zvk9{A1RoE|8 z;D^k{_YjMLsIcs^m$jQ;{fpQJcTgK(kr@S&nk~-!rhR&Zh5Vxi zg;!Q_!tmUi#cJ0jG!-^_M4EOp;JdBx9lr7?#5+Ug&62mqj|2rr{w%z@Y!k~D{kXp_ z;*e5z0(&)RQiG*8eQ;`!Rv%t@RLWNtRQ56+Hv6Yt+2PZXit@har^q)rgzXwFltVET2A{C&@mwFbjDwXL|$sxHJw3H9ra1vJ7X9f>!=E< zO^xb_9sWlHMPJk>AxcUT^}QmtfRl=aw=&}`g^|ALRI*&(N^85dIwd_|7sW83N7q^c zKGlj9oh3-6`YGFfnIBCp;Y*y@_#SPOl)V-;k;;h})M@s+y{Q04@>fN(mm(s$nmWm% ztTv4|I#T*y#}huW#hTq1!Uh`%7l~%V@2<;t1#d1H!+lsh*M!4m z0}j|cK~Rh#ul;D4W&r(m@nvqksYdY%|0=csDyH1aYji*RYx}}^0Z1mhs zJ@XcXS_&XVp0~YQq_(fj!X;*wNrsxF9&}ZcILfir*mA;F8gu%(SwC{t$iK2ydLK!& zfLt_s=!S|~@S%ETlF$JN`-}GO;Hq;sB!R18STtv5Ht{=vw4oyUFagVajhop`w~*eq zp*l9ik$+Ox2dU#p6qigifGS@(U2T}FDe&BW1!eVYt15HZjXHOWDV}gCBHvXwXmS2d zgpk!RA=c?fY0JcWW4q}(k$6+9*|lT0p+mBd!;>~b4Cy!BCt?p9P(>3=gL&LP(>Kd= z*XuVe8+BWLLuS_{r~n7~;&Ksu<%La|s5!PnQ{f26T)mU?Y;kVP{V=R?}Cg7S*kmLhDy}8#NYI=lXwwmQ{UW`TrJ+g zR{&R>vHGyE@~T`kZ`CFW4U_*mYEgi6RJR2B@Xc6osYqnoR6XRoYLH~8f37~CKLeIu zW$3ygu8Cih)Rq4mi*PdizZT@Pi-8fl2?&4uK6cYZPJZQj#2hi^DKyPnWAX^XH5?5% z!v?{qSqn~v)IJdc6N~v~Kd{Dbc!*dYcQ-}VddfES`mHv8M`gJ8=)$~Fa_%%*lxRca z>C2J*o<~;TUdWOuVuMFPf?jwu&^T~zNgKFe@rlsNxA6OCq2;z$a?Mp3i`5D8v)9zO zM}ZvP{N+$_d8xJJ2C>r7;Rute$PL?egiO9dUe-O5qpET?@~3L^!JIbltR~EuZ1TP? z12UJ%&(*_7h8s;3d`a}>EXk!9-S-SSoSWWAtbX650FHmUt4654<(gqMj^}pYv=JOi zoTMV@;dFz{lB(IW$xzwamj-Il`3 z6sBRV4)4y>x{UyKSaxMCxALVJ1-1 zwVQNv1Hq28i^V9r85}KQ<4;OYwe`9E@veTcb-b!#k#n)C!e`-zrq6jdID)xD09*tr zeT<}CNFoXDVk`&ASZwDeTwq=SVZ=rbvJbIcB#PZ=fHNx&l4THATxnindW>Nz9Z6iu znm>YN3Ps>mi$BNFh`}oZVi-n-vK9*T0x$91R-oqhpcdy*bFDP0b{_xV%z(YAQc1YH zD(Y(B$#bZ_-%A7KSN)XAN(}VP(fEG#-1YN3J&A)RG7%sZCiPn&__`06PKKHzf*YSh_EAcD_8KpzIi*(DZ z7^k;A$t@dYtmbdM6zhuxBRJea9Pv3`qrEiMoDEg*%VBzUPgdjA-3RJo3QeNu7KvDG zk17$jwG(6Ue+ZFHMs${m2&v)>wD=h2m=hu1Jx2Sn{wGt`5K4c#g!Faw%-XpNd?J7J! zDiYCd62A4eJ1nDK`yraW9NIU1MPLnDftq;zF6ys%-@I@^bl#J6bAb5c;$uQ*KNiH5Ht%x^XODd1a$IBukQ!U+9-k;AY1fzADJyv;j9As?P&0}+JZDse#>4*v9)j>yp`mXOW-id$lz$?gnM4rz_4{ndj6!FKuIJ1p1h5-jEv7^Z z-&r6Q2@p?zeNI)nOo;a7wYe2_4qw5k-x=u%w`YIB(Oq4&jM)c*w%=}=-VkEel)3)I zas%h)0K0Fe3emW)jEXEsBtDRezj|l@2l9{!3JbwL9XAwqG?_Y`vhyzP5(6qGPTuoZ zvrJ1DH(G8oBeMBzw$Ju2TI&))Gx|HmBZM>*ZTU*W@b z$H^$sr|&SXyX*C~>K@-=FMiVo7S$NiL>uwM8R=j$3S)IPh?-3PdKCF~*nv+Z`*3Rh zv$|O3DzGY%!&-vyrIA4IV`XQ6mTVa7BjRT#qx?>%01NJ)Tyi-va)3oo$bQTd=dUt? z^roDMl){=Q4Nzv8Y&cwdhkBJb@N*C`N5Kx@wjzThfO82r$qMh8n{S+SYi?a8KxuHo z!ln0c=#7OB(Y%!*>ShYYZyFGACCEU1_)O^?+N(LQmvFruR$|YDKAAi-UK|ac=n($` z-GsH@Ic%fwt}kTnsEvdcZP}=^=IHrDp%3JSaEU9Kmu#b)llq)ZGr`BvEv@*J)I>Ff zQ~G>ceo4`{XbEkEq^G9VMEHm-P>y&i`8h~?pQt~v^qF{0c62LRvcTjzV-MXfo+8uf zZ}yi;OzXI_IRzBpLyvZ*OiUcIrOKrCCR5bDCRy;&w{7Nx{-#j`s`Z!p|3%kZu*DTE zO{04TcXxO9AVI?5?j9hxgx~}VHb`)nK!RIBaDw~buEE{iJ?Q0p=XK9|Dv;k0+--=fRNUKLkdL|+rF zr59N=t)6P70$pj#EGZG2PTvL8I_*m(LMfIwEFVs4;?uQMo#Br}+to^j_cO}Tmk+w? zOB(?Z0C(_r5@S&XR)UY3h;;SS-AR;qmAJK)jTEUdT~X(CcOhe$_%{k! z#k^&`YpGL$XTz7cyQ+}5|)L&ucfP$zy&_47b?gU)HX%M3}LP}HsptwsS}kx zk)(0^5pa67NM${j@GN|0FOCsc6U;mf1KkOMsLShX9K-14liGwAu+*Ys5&`Z&5{1;V zGTuDR!{UDXhS*wZVCjBM?>#)6;G1s4TNZs;m#XIg!#aMWzcVr~`y^HME6So{S|qPI z)BL)hzk#gy=q~m7zWgX;31umM>(RC*!yjAC4qH3y1oeeIw3j~=nkG+}yq*@+JAE=i)gCunjvf$nM;vVG&M* zH~V`URVmIm|1DSG+cHI1vfDwp+hAKm89_QrbyR(PAc=Ymb7PCLO17{u@uac;5OAoWq)0b?_ zwB#AsO%|~|o2I+Q@g|U=p9JKy_KAk6d2i1fJoXx8mkm`Wa}^gUZMDbYN_y3LQnZb^ zts!D*_N1{1P2e>Po3!Uv$3U|ziO`-l22gyM{_XuwXJQA8E;nJo0Pf6#O@{}&{p+kp<(LhY)ceH4 z3a?;l-r50vG<_pJIZM2NfxPu{4Ex>$J@X30DLQQ47)yV-Bh%U;@}C=&nG8UipK^k! zD*Q?eEp{m~H0L@nTomFbqYv}X;aBE&%2r|y5*|6~N*6m=7`lS31O^5moZ}F{4 zh#;`4#x&181Z8HA&tH~5SB@DVqc}bVnrY2$+U=|eEs)&RUR#p;NZH|&&J5P!SZ6W^ zl{Ge-m9*e9NXAZLOq5okyxL3*<|qaKwAFu$p{%8;6Q|e5o%;e$uChel%4eLDHcjzn z43ajL7HP;onxO5@pMn^JvgALxe={%A6AG+J*eCF6(OspdDdPYO>J#lD%Eg%!Ih;}CGwS^VVWe!%meLgsP~rn@9QPjRRW(ze^1yy<}dxugMddw zK@<0*4g~?iM8DvN5)q&fvB}Y=`B+I5lt2(1Hyk(u`zl{m`Hu5B1wbB%y2toLmpx{U zZuI5(LBrHH8IX_Gboi35d$2gy;Dr*4>fgxRW8tYBT}$Vb-+#2=RevuWd0iZrUCQBN z7joKM-afg(=zMR(iwo7_`!MDZ(ub z7pT33j0+@JHabElY@fr1UX`-1iNqlFVYM3OTUOiMxoi@V_O?^**pXuCUuPDT$Mbf% zqszZzCSXyn2U-D~j)oyUZuOnNw|%2+4G{NFMkO0hl$=)^5$c{N2n|?<*PkBb(oE`U zdyUbPu&SsWw@{Q!a2w7Xp4~q(h`J*8w6?NUI(IlOsZJ7C+qg?KMn{;@ln?aD z(OhzY@WJETr|^(VUHwO1vB4VR@ZWw)9SWj*;=(}#NuC`dYUj*g7#GERmF!SQf@<1{ z5;y#fWO%{*sqQl^kgaCdxa0qD0VGl2`Uoz%l473J_h!-hbszNDv(*tIqzyPLhV=Pu z*by^c)#Cjga`oo5&)&Hc#u;NYG&^GM9K14hISIb7ErZW31Jh7|NV;UzZDyu=_FSeF zyduJsbK3qS3dI~@?NH=#etDrB1Vl~1_}w#0fKdAu)cd=-3E*Z>{DF>yUTAuaBMIw| zy_khV?r^GC=JRIIE9Wb3m-%};xt1bWo4GxseJ^Ul@3W><9p1aoul{jXPigqr`P@+J zaSn45{6*N^`)_#hQIX^37?wya6?M+vAE|@zoZZxfu7AZ7Br3lUihX$F5sH!08bM!q%~{BA-x_=t3$DzRRiA2H+Fiv5 z;8$i5yFQn4uybl;|6E62kxjt~)yzJPc$JvJ0RoYQ4x%cXzg1HHK%SAyqk;@-aWfO+ za1EO^hIHa@tk3z!aGFa2X@>K;=h1ZiRfTV?S4zIdE-P2MuQ*tiX&`XL9S6JRx;kI$ z$4wkUt?3Z+@Ra=0l;?Pwf|DsgvX;?=E*w{k5qEB}o)C;{{`8q5sxBm#eH+`$(;jn& zDvx%?JKaonxqGg8ABESQ3%X`N+0RRhH(E~?BTm^yudYD!F&H#LWGt6CRI6d}gOU6N z4Roeu@cH;J!S<@UYuUgMj)4WZ$uh4&{biUr434H)?uU9Z)dXcf)_uyx20r$~ zi6Otv*Ls%31kW_xrbq%p5QXSjVprT2*I2x73Gb{V|BcddN5@Xz`JXhX{KFI09*7<~ zWHSBd5(8F;2NK>1y2i*Q7-sUUVPV}pzX6!6$@bQtXqvK|ijbiu+&(5w8&lHb>4Kd0 z8F3oP7Hb(TyS_||awxzLn>t})1934&iuZ9T1qUqipHS?OM!K%1>-HL~L`l<5Ws)vV zgud4?#X54t9lL)rwQ3`on;FN0V~g%-6?LEZWXj)SwDO-9DCapgJ$58EC8Z1@7g|i8 zo~5hTz5TJ1=de>4y@A0MsctYna9Cw}&ExApdKe~H*#=n#i^n6FGXnDON<{Z32b3Fl z5^;A)w3!>7^P`-v)yTT{0RKFe0uzkf2L=8`%>ur_~FX0+pqr2D(tGd=U{ z2t95=h#unma~nGzAF7F1372sn&*?vb!GyXsw!Jp!GP(twlQw{m@H*M$4g!&<+P#oX zX?i+XtZyUzJyVcyygMAeRHxE*3K`#{(xgQ9Za3~{w(G( zC_QR-!=TVav}JT3_Jcf~^mjo;R9NXiy)u}X3LYki1#-p=dcnQWRCNs*NiuC&gsi+c z%RI(Mty$XmjeCbWYoPuR z;!lNOoCezP0@s~z<}=D~a1^HAaxrWhAQ6o$aOB$>{qxlUIBYU7V4Zy3IH7IN>Q9-; zxz#-$ayTCJIo_S@DcXq8^Ng961spfp+0vyD4upRNQ)`KnujrCAf70osrD6nBJ&41H zNDOn`+rs7==%a3HqM&poyh6{7pPGNs_KBb*<3?)A$97w$#dAQsOrk!BM8Nl|a zD+uCj`PG8ZA;Rs^;h_K!+o^V4+u6jIb^Ulj1H;}tjioINlV7Gf^toeM5VjXRQ1uiy z6CMV$5UA##n+|?W2tfuSHOh$^QI2i0!Mxfz=qm`=-d1qd_BQ7{*fN0f6Cc;lXy>lH z*y?!SDVpS^?{JwOg1x?UAZ!l!wG?Enz0hw4qLp)gyf^+)zFrfjPrZiBUp3OwX++jnG{Kju74{ryxCcpuoUVApc)UdmVXKJ%wgMo7321=ND7S%d2NcM0ONs(u%#32% zR*?-qo(4x9FM1WVO8sanIhTde(;P!nIlPOkl+tLDe)v$Zm2$cnoRf`SNuCN=i$A?? zB82AXz#sjZgI)L*Ts0}AI35Oj;JPEG>4=&ww;q=g_V>3-*K*BNEv?v>6cs0W9 z4LJ>5FwVbZd|=3*9RX10STm|b`WCAk+tqhu>fM0RYa|~wnNp_^%~ zeY8se4KSH3*%!)S<{5zY)2RXVFRcSlSux3sn5#@!DHqSj1;vbJDyVPpGt{S>SUcNm zT|5;I8t~$R0^+8&&`P9EFYDVV+jTM72w)RxnxmQAoP)_th>)phE;>yyI#m9c%51~4vdJoH(zVgpgM?h(b{G1g*b@VMck2APrk z7$xc4fhSop4E{TQcSDzwDL*gTmm}R0K7OglC9ClQGmaLcWfUb##F~oQr&q%)O@_#h z0Ui*iNn11w22*1M!AHcub+ab<aftcFhtxlljJeatQRWnA>v zz=dle(au=$f*@S4IZ_~_FIEBEJ6cm+oXCWXP)-LE>0f_CC`sdmN3vGoy5a}H3y+hz z1Dz7HobfO%TY#ZT*p*ih%X=FG|0%G+H&~|~-XuwXc}+vWTRaY)z>L~KgdFs|w$#gS zh*7-|c}55zR28?u+dUWgH+}#?hd3}z2#JV-3Z`sCd~a? z+y>;o(<0yiB-f6cD}+@QAZxgAz4D$So8`UF5@zu0>($E(-4O zS*5;8vaq7!K^mM6^I8fG-$L17GXn+SOG$uH@`5GwWvcnaef+TPzuoEENBws9oTg9SJxuEU>*{}%Jh6jzK z$c&6x3@vo=8u~S~3ud*mhD?Ng>2zID9~OB)q)D#zzkwC#&lbbg!GD5>ps`;KKwTZe zER0+N*eS&Et7GXQnJ=`U_!8>DzrTss9wJ}2h;xqTG`;wp;QjeNMvfR~a#ydKFXenv zxdx#n+&C+J{!p%XGhZlM^`0EeZN_R)?M|0mW8;$ut;iHCZ%wvDHK#`|r^In-jjvTMC({=4<-nYPH-hOwMywvwjqSKae z8{Wru)}0TBv8iRnW^;|)`tw@H7w(zo1zJ+Wm)NUJ(mUoc<4x|aOYd87+UD)@ix$!B z4TZ?Urq&-JpvrSKFGAuF3qCR$Qx`PtEDsby0hK%!pa>P#64Y>0B2sr(D3LqJuQ7Q7 z{-$gkne-l|#>o#bR{*FLSguZVunJKP&32(5^?eRVKWIS*Lh|zyP9O2F^u165KQ5R* zSDHq1aN{G5;KKN8`AR90=;R7tsyr#68p(#Y1-J32AuB#|*!Unc9V+S^YF6es^{RK* zPab|ZK^O!_L3u?*YK5rgAb5iPR!>Pu+)0raj@9~R(_~|0MCTo`rI8~+lSaN~zTG9a zQ;O)Q3+pxiNbhH#C?Mn2E_G-}MI)~NDRINR)UX~?Mkb(elKDYWlR?r!T2AioWyd>q z!#3QnedB5}CO=2-ViCyEgb0On*wqC<5SsoO@ev^{XaNg97jkj}6H7WqIN|);uU&NU z6Z{oRU~i6xK2JDRN_~3>>!!U%^T-rG*ooX#*vH?*uv7t2*w%7LZ+KMN}YH%!%m9#3L=L+yV7Wy z-z3VY`wRzybG1r|J5$spEJ2}t2|HoT@HrdE(1tnvHx84;9UT&RVEGlbssY?+m#dgr z!{3^3-t#*#_EmgnrhG_@+YXb8{A7>^X-2ejq+dnK+>X^${! z=@w;E|7;{*r^KkE^hfM>jQB+gg)fxMlCXRYWJY(pk4pFHtZ3x-G4~5bK`kqV$akFh zxoE1tSb;Cb@S%E=zck{^ESEgJ_7b=%lWuez{4qJ(Yp5=W+P~`ks`w>_F@76b;_?q# zC;ui@>j0}_ZAH*+{AJ*9BHx<5Fn+@U>*ta$MoK%HqvpyYGMwMBXNSIrVq`oJ~{HUBoshu_XJ z!E7eoLsDdur&lzQrvaG3S&u7EJ!oo@>5fEsa%CfFLS~eSpFBIayX4Hf=lLrgI2mm3 z&jjhw8wmWm0(w6swaKi{du~QtVy$gXk2w3SE+Fqv1uQ6D@KyO<1e|57)lHc2*m@zR z92{(iHO2*iT^Rdndto?q&N3B@;Y;@%SzgCr-#U*h*+YS&P+W|X?7jQG|_$I z7QxvsFO3>(=r5-XMKz|h?|#(d{6=th?wO+zaz2epOE7`1jjuF#YO0ksAHMTF6$EZu z{22<7wm7gB1HOme_O-(42?uUg8Z=TIaDX7I&*geCz2Q3_y*5YUs=VN4jjX_Hg!HA# zQnkV;1f!b4I)N9MwqUtK=HnJ@_!a=~VD2+xQAo z6~VS0t=#aUJa0q3BfDAbw9|LdfShmIlrjPpG3Xrv&B&A&r1?s#azKYa&f}T79#ZHl zUuE$t#3#rKldVSokfENqvtRF#IZDh}OwztDWiCZf%f#c`!+!Sgr;LPm{Ez?-R6iP_ zR{Ads%d4n#g{q_{WOdm8HAw>O5BtNB-_}{j*lp10SK0B4v3sTZo{hB~uiyXyT~0Fm zii}=deq!(PHG|QLdMmMDyXxdP_+4%qn)uQ2SbLx&dZ2ja{jdlEw7xa-`M8A^Pz~VI zof%ymJJZ0kvAG$a(UN^|<0#kLp`3t0sQ_Q8lJ+J%G8#gW_&i%|AVrC*TVde2 zv=Sf|lL6VajVM%IN*$}-oy?l=|0u}{y$xE=-p>UK4W1PqUnHz%CWFK^Fau50C{D$> zhG+oa<~njPOwcFA^HUhW>=boB{`%O_KnWYBFn(PCr@B9~q9DwAIDWuOg&z;A-h1Qz z-#E7jOzH*)e1n5b?XxG?m^w&~k`y&xE_@fYLQFf%>`NIPW8P62Zz@_b;8*iX%UGHW zJ3}G09#eo*LQW2p*NPGuolT*zLR)e&WNTtB04U12Aj`2Jy=&mjrivB7a?MojC9vK{~x$&*WDGLk{Pq?b7S^*XGBg1 zgM4Np`_Y9L2Ur=t{rqVY8)(ba2m{VWK5Q>9&;WyrdGD?~jo=|lM$gVp_yGc->h%2kLl)W+V_JWkSBGmfZGuopyfL~Xjrp>;D+`rb>|zs zx(g8O5~H*>96TAhN$T~Tl+6?$lmUh0G~HMf+(%x1U*=BY7xc$@kG!7~0##DUsf+hJ zm>2xu&nKt{Lk#Ht2X6`bxkEjoghzO>@EhG!a@w_dCRmbroqXh15loQfT@rx4SE8*d zjXaHYV{PGT8eqq&si`@H@HoUG9)S<6%&q=EfW0Sbh}1nAJ|R{ zym?hg59_GWfDJkJ5t;ySg|0C59rp_UBjWizS8g4QznGhx9*}??D6}>U6_;I)e#PUm?8C z6%PZ{y>tCUt4@dMLR*ArfOkgfs#^caYUF5-)g0;`m{4?{$WGN@1(Z0{PyuYMgsSdV zv@Lw9ZM}tYHKUYz3nMnAAAxw^h zgHgPc?#IxWoE7)c$Rd{~VIPXIa15_@2I**A$Y&5KdM-Uwg;<`hT03v5pMHy*hCErc zGD?%JIUA@6f{xCr^Ys?#o&mG~>j#kYAKz_qaE|#{h!k*V9q|9UJ-gTdCTOi|d*lB~ zI_-7;sjrr!5`nh|?)43S0e6|6-f4Si-AD7x-5(+_sCzyr-kD{D&X~_v0smz^M8(9i16+c+M@w7bi=eWH#$Hjx%|TKdZy&> zcZyK~u1r%iET;OQYNw_3jSNnn5ANsDWcF;V?#J1lienq=dXEQv3UCJUrVC1SV&+7s z12`uAA%LH*dEy?Dx?J>+#;F{tI4jm$lt9znUuy=lJ z#?CcO{}BA$g5bapAoRLM^lbKCbX&3WrHt53lyCC#AT1(C>mK*WQeOz8X+J`Gh`Iqn z{*XFB&^FZ-I*T_=`oLoa4~d;_KAtl&5O*3Z1!y0Q<^O-3_-z~$aOLlGx@p%)cjHY0 z&Kars1%pDSeulJ&c%ELbTMDWCH%qSRuW8pq=HVetIkNc+sSI|~?IYp8cmocnJ$D-| zoJ6IZJ=xoJn`gy-(ph7Kh?&w#Y@WyPEwx$PDP`Jah=-xuW=~EEt@ormC11%*VTGZb ziMy1#r3IpO9Y&|oW3P=-xv>Yb$4dPR79s$tg-G98LpEhSL3S8eYp(vjtCn2N1Jqt~ zd1<2Dzp=cyl{~`XR+30HDq0?79m5fPr0UNf!8>vED55XAFsH}o9pN_xf!-Q@?IZ); z@8~n2*wD$uB+jxwo~ufXes?WO42U)l%^WZ@uEgofvtJACKBT`!yoZ#w<~wT7qCdBxsGrr?$Lf@8rU8MXVb zj@wCu>Pm3+z-_C&i?8yfeo9?+PNh`-`t?p%I0pq2z07nDPPN#^fIQ1qPf5W-Z$ z!E2{&wwdSuLD&E7wqYy|pwzx+E?o`Xbh_I{=<~WXG{p{epco52zzYK%9Wp|y3>*m; zs_ZMT{7+x#Tm8Q>h(Ic6%71HS<9onpa!dX61%Be6)Rl`7#D26a_YT7YscDeohlP+5 zHWkwo6-IIxBl_#&Scw?2)7ZO4K3&{+sb~s|4fNe{p8@_gHM<9?embz!1wz_C_(*t& z4Wk1bSRQ0*b#r88O3Yc5)q-&}QUAx+_}7fw*6kz~6F&DJIR4Z}hanQ=UZPRx!y80b z?_*HS~Kic~&QJ756(7cpbK*{+jDBIpd68e*wq%T$L;BeX-)Iq4#&MYo7)G z+N=$D1BOYFT7g;?_b3Nh(2lnE2fw@=2Pgg7T@9w@J_du+fTBQ$MbF39-M=LNXE)6{ z1-5$KBYkUx0E25wC;r0m<(H~+(xZv!i=#gTQkrAxBD`4aF-SWu-t%+jt>dYVrUTTh z6r;=rI4$;PqSC*!BSvT)m>3*S)jR zp%dQucYS{)JX^|lJ(bF|%ma{0<0ftRQMUxqFEv^?6$+ZRJJwoH>3eWJYggi<2@3nTBLfT#Y8#3USP(av3M8S4CC3%{KipVH8#yI-gM$x6E>_^TFl}Gz~T}0?4Q4S)1Cbs-{Ny* zW%H=y7hVcm^U&f{PlR(_y?W0M|GIo@n!^s4t~#uuBYOD9zfgeQAm^&&A2=DG8w|=S zFevIhI4t;lVXl};3X_`OeOECkG)FSTHVYB$4o-`QkIm=S;@R09=#SJ!G2PkJWj~XI zE5g$9hTgx$u>vT-Fh9~v&lN-1YmZ%@@+9Vh&(=0yDrzVK5AlBgx4!MQ=@Sjh2zgaL zvS(kYccO!3OQA{+?r-*vDP~01r-egPN@mP&S6WqFKTtXBz481n=Hen`=0h=c3{^Z- zkt;9o*`U`0wI>$~a=Iye&qj9jNvcua6r9&b2<6tCn$aB9;bORr4lj_f2 z;(ldiFgO(tVq@#rlz6AsB!KqwNtXmd$IvT61I+x4m77k@j=XR>d__$2Q;i?|s`b3< zJ&>Unbw#&NZ{dMOMXH*sj$zR(5}U6l_1TAAv3}#O3>uop0gYimjpIDn{csBRtnJIS z9Xpy`!-PHvOquM`GcShQ9uuoA@Z`zk}G+IZ(4 z9o4u>M`_m}v%L#6!@TpiT2UH+ z+{;H{^Cs)2v}O|a-Mi_7oHBf~r@_MCQ1IdxsW!jh?QxxnGON?!8Et+iE4dm@2H*DX zEk&0v4}};DYAM*m(A;gFiQxY57=2oA-&WT_;BL%`L|SG+hZ@wUh{;C+L_a*ud{ro5 zZhRDq9*8HM!}Bc!eBaaCrrfAq*DTcmXWBB>6g-V)YyOb0p^dZGM6>MT+RkMg##a?B zTY;E47bkKX(zXA&jqHa;6>ak+E&nUn45uERUxRJwQcV)Pw&b`={ZsRe|I3r-*7mk{ zfM%R6i85-C^~eu}kDaIfX>pH_j}|9GZ^!?qRz5F)t#m=u2+&U1bfwYmEi#@aum?j% z&ozhoEb9`18){l==noMH-s6N1O46*CUu!;zP9Rgu4wmTsRwW#Uj5Aff{*TOy11+NB z&d}aVxh1546HU5Gw=Cue+|1ynl}1zuHqxb=QScz@=TX#xC+2l6mi*7ElGKN;T*if% zElC=pOzZioZ_Pk~hUqX^D1P`G31m>24)XvKyMW+hSgvxnyd?ISddPfFCE;3gXg&Q` z{^YbNA%r(LxdT?VlJLoJ>u(u*8B!KKH}n$$-a9At3QPt{#l+}^frnd*p_yZOr7`TW zKpS&cYd)9ix0V~p14!yAi-pe06mMTUb!)eBz5iRM{-11@ z6Q{(K56)4mK*J`*4MIR8^a_xCDX==6DZ?QliTJ+i?`dS&>7v%X|G%@`uSSGHWpJ7d zDxje61Z|7@?D5dSKdh9rsc=V_ZyNOvBXlPN6e$ve(?e3;ckX{PIb=kr};)>^UU%ZwS=iUm1|MA?2Y)!9bVF&G|qA z#}ldp*H80P#GodD%bAQ3&z?P)WVBbYNMib-BFwFw6pm&%e8kpPTtEjwJHoX0^HD#(h%L2l5;?4db3>O$vM+QA*bshnbf`_Nx?&uH__SKvZ^rDhpPoA>B+tArm`zhbM zx>p((-{LSfbFT5zm`eaZ1;l-cQM4TMKk)YQ?QF^a4c@lB!dvcJ&)KdtZ?D954xY7t z_qSgGA$aKRY}Mb%|6L5C5C-W1*T2TkwwuC)^d&;yGnb=T_`jJjJm3EYyY@`veG~*t z&ML0GO0XdmcZo#M@j8X9U8WBn_t3(JgUOu_(H4tBT^L8-T%reI)^pV<$Wwuiyg>gH zy1&5ri$G!4+A%N+f+b;pY-8k!M9KR$n7P-7HhYBq|5$O9j zs)qnDp%j}`2qYG3_s%#hR=NBo-126*MB5;ih~%?hDB$76v^F1U!uZUt=Pr6P0@Cht zY`zehd>zSE=ef1sTUT5-9%BRB4jQKqZpc7g3c}q^>!;M$(O>|Bjsx9D@OQz=@!62gLw5AHX5?qu2vB4|>l-BV%*ZYNklfB2lzwi~o9yy5uwS0E zeg~#OmDV(EnoW*qihJNg4_zlfM=>o#W(`(12#GcQj-}TLskS}Q5a(AZ6X>jD%A${o z;;mwm+F{nfAt(mI8jdx;aw0*}tPB z^Fb=wdmqjw@v&e*ZM3U{8s2iCN5gS3w+J^mL>(vU^G3BYLV*-d4>QWO9PHf!k@Pwp z%4bQfB1~_d%ysU2k@qDc@(<(-0lvQSjb%NHu`M*f<0D;yek(56ZL*T-`0P&eWsO_9 zuba9?C|y1m3@@uESy-eVn~_@v-}v#j{1^-U?>HaX4jvs1hBsIP511R;N<7=k*QC(! zG$HLsbQ$U=OagLcSv$gcXvOrI*HkoC>S|Tzu-}~L_!BiNR#A#Mwr*lfO|%g{(pLq^ za>aEC=8>@iKZE|lu&O_G;UT2qShFTZlw5EBUXfvkj29_}qp(YVv12^iCLx!2V73-| zQwi@)vftl7Dy8AfpdAw>&8^ZTB!ciTdAUrW(b}4$>MY`f0*DuvQBq`wDCTN6w^0)z zVHMDXwN{yBRZH$m%oRKCkRD7$g z8T~k{U0~@Aer26h#n3&)yS-`>xM3j?NhF-hm*Pi1*5F%iA<>n8A@7U{IZ^+J;yQUl z&2bA)R!-g|P6H3HY=Q^gO`A&%)XDUVrA5Nc??@wr(l%+*OGdiw*E0|WKr{#>J5X5Bnm^KN(wP8?ptgg?vfu9RoZzn|8%$zv^){TO&?&>Bx-T5+)_Z zK45Rayw1fo?+|V;T&@&ZJ>E+5wA$yHF(G+FH4u=K3;m*x`DZCb)-h&HJKD~W-~Sq` z;SLG9`EB-C4*ER$TKi22x6J1-s&k^Ircveutw6>+_vYMLW$7L9U*&V95pD|EJ7zN% z^c`U{MT45QHEsZZaf((y#VRlMH=ZhyXdJ89$?paQ@%SDetS2-PayDFnsUlq+ zWM~=uilF_%kz1W9Cc;`+iY`aG5-$uRy`FM*c2NYP13hBe?W!X&Z1!0c6fAO60C@H*v0^1lk&jh5v~Ru zthPXvs2Cp|nb>>o{zbfMhsfEsCsSHBxBVd6S&WPc?! z+@~zkz9^^^5J}TG?OQZF4^YLk7Ks8?*CJ-!?M{-56iF_pN!2cu*9gRK&6)27<)zo# zPS1Bl@OX}ATd93r?g(+!cDHqmrg=j+=eaGPZ-gAbc)Y`;jFjBAKAyPV=pe?f#~+LF zMr)r)pwV#Ib6!VAZ`?DQihBn&VT|b#`8!Kn(Pt|vey6M*8{3l`Q?cIr;vZ8+BImE+ zD`3z_xrPCPd0Qm@@aV2gKkf6Lu1;t%d-u-wgkX5SPYXr1tX#^uuc+E(?Xdprz^0vM zgkS3Z1gnW+Gpts^%NZTBEC6LzR20KU5szo1>b#)_v`oazc7H>a-P5`mAklQ_qfWLP zM;y}}+GlYyRIzsLq)R>K9@{x_68ekB!xE0Y$rGRQp^YHx@mk}v;(Sap7*hwWGn9qy zd<|)!pHojMCBTL$2sp!1kvvSN>QpjL>Ss%jsC6@e<)3m&NyxL~8oKw5vyDoXxxcQF z4*jiMuVgrHY$D;pu#21P7b0Ic<1P2wB0C!V15bj}C^7Z(BiZKzLHyL&_c1mVJ`_=K zk`sFw&&2-Qg|-w_;C4UpjZ9Cb^>mYx^##3`nA|Eh=P|!mD&!@Ifn(c%hICi_29))h zGx5qvB0L2Qz|=r4zhVCD_z-u22KfbMX=iE0ueBkB0c5*HqFEy^#)H0)eAB*qufxr^ z`pqI_Jr`G7uk|{>{n$WW`6phD!x=g<9-o$Hf zRx5hm^E(~s^#Xcds~Uf&XTDR1Wd+qN`G4kIvYF@4-wBzMfPMugi?lTFZx7XUi+~N9 z=luK0&g61D?Ze2V+q1SP!R$+TZWq|?8#B~bnKAaZj-q1BwYYiEnEql-?Jt?L3irfx zR=;vzux?aEn%+cGn8mX290vUCML^_VV=LgR2zM1+=xENzq|}sMv*->qeD}bP%P?t2 zQ+Xh(C}qQ~G%zAcoj*w8R8rz>Lm2}kg-G1q_J@=ay#pET^8}|(paw`@2fQtP1y6i0 zJ>Jd@ZZcUQLHog?O%GCUw#IlGI+57U^LNcTT>GOdX;?2oo+%!I- zvuL^}G!g~+8Q&>Ja%&42Ue;CUCY^d%3ks{L1&Y$usv)7n5|y~S$UGjVeeMMQ+{yx$wjmio7o zHY%M`7J@k=DSi{Q&IIpB+etW_sJ>P!5pLuUR9Es|BO~U_^fZ)?&fe|ynTLeDpp6Za zM%L0*bS5wHac_M4vluez4Hk-OMEtwm6>i zJRkW%ADwmYL?25P{IF9%{&PiWooGt~@l}Bsvf5F!Kzu!1UGzBO;AOjT()9&B+BS4W z??V)i6zy48iIZsy6A0Utlk&?cuBD0>uG6SmXC@ydbTv5m%=rR>u5eFG#f2=B(gf!` z7L{4GHDh?bF0jat2k31qkc~>7OkthRY_aG!^kFk;h@I^X3Fg`Savr8|74nmzI4?jiLQTX!~>GInTtntyv_@SqEByGZv+m*$W9!iFvdi` zW_LENM+UY|H0TQGJ_}=+kShSvx7`+-qurBotKBs!wa$mLo^*~!{0%l)IyDH?!c`oh zFAuUA1PxS%`E{FYi~#LnuEMf@h&5NopE3-dvlATK%xf{mfcRLnERqPv+7gRhvX?L> z>v9>pEYP7#7x#Wtf;{VT>_8Sg#MG*0e}zcw{c+!~v6r9*w1?bJ%W!w+ml#D8FTV6g zkCdy!gOI-TFxuyOEFSj`fr9Pq`&ZGo-)+S+pJER*K0gs{Z@}6z=UOU|t8_}J1z3p# z{R6{G@dG=P%jWdt>6InHv{H{6@l6PyJbxxN!U$th=RU*jeQn8Ev3fLlZTm9;p*s{^g$J5i`IM7<7fa`TC=(snFB-i zvoy$qb2U0q*g>63H`@gb>j?IvHN|-p_Q~b%-VgnYtLW+Tg?VBcean<|2ftQBd@|AA9IniKN z_wg;bCgv5Rw2VS*cJ@j?{cqis#Df|QDS+g#8=_Eo*2gEbR09n zKQFGIoz9?biU}2_7yKxX3MD9+G3CPn`u;Fz;&yOmj&-kWJ?YDs!S_{Dyb{x;ara&3 zk-vPUWcOzPQ`aCPI4DrSc7HJ=cSHrR6X^zR5dLHSDN<`9pl~{3iNq9<9B@)$?fO*PAJe+B6PWdsTd*cGm;Y@Ynr_YbQ}y33-xvy z;;GPsB2~Pva(oo#@}B~1r}qaWVj ziQT))?k)WGvg&2*_H0J<^t|aiEzz}D4&|6@u@L{$^(j|M#q{qFihgF=c^(Whau33j z2TT0AC2rJHw3`^YC^tmY{z896AVjdMC-n+aJ@{My>QVro(8_eN*FoON9pi(@DUjuT z$yU1XJ>rL+3aq)7G56L2ZR(SEqP-jgfUGS$OBSI=8QIb2#9m;tFKJnLLY>Y)C(ey~ zJ$4jPZj%)e%dc7Kv3`38O9F}}@zg{oQQF%@L93-4z47&ox#!)WhFhe=11wp|GB=k^ zi(QLrV^51>wtEE>sKkq1;2s7VkKaz}-9{fpKi!`~yO;EH{Um946CnxbLn|*& zyPKD9*E(j~dP7_1i}(+Wm5a|2o5U_IajN4a@-c}lx@-Rrw$3Ulu5R1bRfQJr?he7- zEx2oN5AGHm3b)_{32uP|f@^TMpdq-syX&og@4NSDr``KrFKez*Q}egKbGSjLY2^%QWCyh=B`i~rnP=gV7GFPGN7X{@N3nxdO8$q`!~xsSp)W|E(WYP{3u)4AoatY7_9dByk#27&!=xtVdBu`=tI1#uYF zJaFASM1^+as@^9HeCPdDtwtM4vM;l+T9R9J2%A3?f0&;l=TYuIOYD<0;GHErk@Mm= z4h)q#i(dtpB=*?x&XOKS$ab_4N;n6GREWNJwO!j~FlxXd?(iekX=@|3Hu4f9Bf*Hj z=GI6^-L}~JEPF9sN}LGwPKcc84i(TO5JD1TxC)ag}Q*3Oo()XNGrFmsP|G#6oJ`#U><7_$q@?fnQH`O;eF-kxTK5 zFtVoD6Hdyk&Ol;0e4%xU9MTh0_xPJ~w;ws1j8){Q>qOaY84(fWH|l|0b2B(?&4rQ7 zRT2>I8!doJf=p5lH=+f=08)s49B4Y;u*#$H8(lCPd$>^Q5XOJy1|KfCPoNqK^5gT* zxd5{YReCmV@Mtnxq-t-TmyZ0_$VogRh zMPvY=eQ(B(S3N(^guR4_J=Z(P9D)B-+#J(}ss|5IWW7)V#lC4(bRkfG3`7JS?oyUBfG)@}hyxQdPB(1%y#s-?6$S2u z${Z63bQH{V$OmttQSWK)(C0BfujfcGkbI2~QIIZj>xXV%C(*8oBwf1k=?YV=-+yTV#x16ze@ND{2)CilO7wnehgXTpl`*6|7#L?SBhKYcg8#P`as(D z^d~TX3`2OSiq0q6?hni&lM)#pI^iCA|A{u=`a_M0sVA?|n@9AF$d%}_*AwtFu^`## zcCrA}1AYya52cml)ZE1ZlTM@n}uT z(ls<}`~r36^Na5t=GDq`|wNGuXSCP6~oY7c-c4B<$ ztj#y~yUKw%^0B^O?^#?{dV4X1?YW4aTZN_vRxJ=ALYS9_b@%>FVm*s@;%8&nt}n8q zs%S88{mgB&fWvGa3>ZJJ_b}sp*iEQa9rv{1iYpj!fMu{WPW!-4)T;fx8bT5%4;T* z$KSroR;*8eA^XLr1fRwThfKIhO~%lAEw^N;oW{MxJL{4jH@Uon9*iG5a>D89jH4U8 z#-)~;-aH9_80vKbzOVLxA3y!Dw{|uB zcRxRh_t>^?D-a}BQ3nAe3ZlL*!CUi{#XdUzD%6Z^zu!MaSM%RsA>iW1;mY#{o;lja zya@+l3!Vm$dx?nQDsENwXlY2k_>Yl#ds=e~dQ>Jb_*OEpEJW_q4M$I2!hiOA6LuiI zW9k^Kic4c5qB1{Ve#TiKZbAcz2DmY=F8#qv5cTEg`PLq;BWe^y`T-V08$D;j0n%(5 zsG!n)dC+N=KB$ecpMZG(pIrb9O@uv^4zf_}j$Ue27AeUpN`gfe%u!KqQj?1BPxP=| zBHmUqn!-1&s6YlO?>J(1+Ydp{oNau$#)PqSB9#M1y@#f&ns*jX5*GC~iQxY9??_Y9K&JX>r5?6NL*k3cRYAy=OFNO+Py)7<&GWcGoD;1n~4~^?={`l?M z{2KK0qG#K9{$|;z+4CFuqfrob1RZm)Vgj>dI|pA;P>~jMHZOTr`Ay;4;SRx*6%nid z175x1IYXtNEl`8Mt5ZhEaGnWVfVpS74TH+Dm0Zpt@|zmgR7d2Rz!kf)odLEpND%ei zyPWXX22GBWtQ8wK=^!m*UNp9VW`h14vi_$DukK`y(2IQN&Hi=g*f^}J5pt?DAdCxW z%3f6QdtD2zBBYI0hb+|QqV#I*naS9{f8caWm}DDo^J-7uKOsS5uYteK5e*18784ey zx$41y@8?{KAeD`!un@;xL3Cux36@nNI$gHBJ&^2R2TwZtnbgPLA&?_2^b=qh` z%ijbZ9nFnfnt$kEt3iFeg({@`2iZH6e; zPF)qNXMF0|tN$@8IY?NR_Zv?I$%Gl0wip22GJEp8F$N}vWYc|I`WbvqA0g=CO3-7a z*;Cs_Qaq+8aUgVoxTI`dK`MXczLiuhK>XbZgn8$WBH4KH_gse(@G#^rhW%=xM~DH- zJt8$g`hXa~iMjD*8d_j+e*2d1V#_ZX^jUTWN8xf;VO2Y<&45!ql`!OdI4M8dzO-*w z1UN}<@7zJ0^-DNvoKbbFL;#cjXfxO*?M7(!sX=DXDh<$#Ci0`y^x#>W!C{q@6j^8e z1e|9Ppyj2|HAB?devZLAcoF^RkeQ%Y7bq_CbCkVM2k@<(gOoo72RBFo&}YHgpPqgzh>)XElsFUkPSkJT z;yEK*8s`IT{qYp(o8X)9$ABjqV>59o147uYvTmD>J^MCsGoq5c)#%oVp`M-)EB;dN z(*p?rN&sdZtI9y9vpHEmo)|VteR7D)u#8Ggr z^-RHbFmPz$hS)0T1rE=lBum#+c=4tKAR<`bmAk;U)ee`-A(aN04>mz;nzhII{Dn)b zw>CfutUsgAZ^htJah;tr1W z_EQ9&n^^^ee@R_kE;YSvw+Ovozqtte-TCPTQo!@6_`?NnvGy09rnnxhsQ|(#YE-B_ zj#jX56nV`Tubpe$bhwt8VY|xjIWCzDN#1Y=RPG6BSI7prR`%B4PSFQ{a<$O_c-eZB zf5Up%86jMl0f)q@;YRV^!b%Ldl1w~eumP_UQ4W)Eq0Y@9e7If8CO7S{oyx90giJs) zd;qcIz@Tbp9Ng2=Mnt-7QTH$O^T%THYJnqRBp;&CX=~>mYyIU)2H{S#>4q>{hZ(%5|aKs@>Ji9X|e)zG1O z`lcm&>J&Pg+G0M_J zwTS)4kLKN5w0WTbCearsR8Ch`vOE!Z?~4z@4SpCM&;E#)r7Qy#|H5Zx6Ki_BSd9QxDs9QOJ*#t6db{(32G_z% zt)2S2&v*A*&)QF|-=lbdTG9X{sWf)wQ zuW?lOspTcE9~MF!-^E=&q?e5Nbsl)|q4xZ!xzXz&{0T!%^=!e`nWMH0p1V4p8W^wy7D+dQqamS~YCvsJb6z`;V&Z2$ip+pR4_5hQ_ld%ut$pD*R$n;SoO47aK z;;ccNQPW1qwoS^g83$85Ak4^_n5VFsN#0|5@c_@=P#5Ocf^H>cmW*t#4nj~2Q zj%I#P$^&$M>cuJ#W^^UE1G4{qr-q7d2Yxi*Cc;qA;2%Jz(UY=&G3po*7*qCnZ)xT4 z9*Wf$q~EkTqE>aIj)Q&pQwhVmP$dxcBwfAnpY_lHs-Q0PhlvwOUrGMLT`WSiFADHC zH?n=$sV#oUJ5&UDaBp5kYQ7)Ho~;I`4v95rhHy1Mw-KWkmQlc(NdaJAB(S{QUJV~4 z0nDVXFjfO711!BM=TADs>PNo??{8LA)fP__u3a$!eCDRDrZiPc^77N4wo30hyF(l$ z_}_-{U1YIDj>ncFLc*?~v@kH8*e%j(UIS9c--0q-AzxWtpWiisUc#4MV^Q~Oofmei zE^Sa7PNx+v;7ioH{V`8pyU2?x&@J{Wrv)uK_@2Fag9^Ua0O`JRif&cywvG3dfG)@uiSmtO@fmg1M*eOlgov;RBxELG1mn6BLimypPSfv?NTk z&)oP5zvSg#pLd#CKF8q#(lLf-%;A4cFJtQ98}X}3M@l}EEd%~~y+Y1D4HRmYMj$S6 zk)O3a@B}X9GP!N;bIEQkC?cKTB5T%syp!N=ec=*T_hox*_Xm(Zq4%`VWUgFo(I^>u zOMx((p{$hQ-W5|9lfL6sl($7kjA|z)(OleUb#h|_F?^t@J3y^jGG+8)Gd7^+IhWE~ zo|c&YWEU5RkrsxxjY~fLgYG*UNNwl$ula{t3vXLrvhko(tC^Q=>9!n!s38bx^VK68 zM!-szH{B-gwVx9hgnhKNOgXpFQz74c@}m7QQVfc*H}NJnw(G=0SIvl49&U+hKi2+j z_W~#QYCVp5E2IGwU+;8M^bmP-m|@jV5LkPO+7WWw&)_nI?Fy6D=Gfh+yboAL;cj~s z{MaUnlzGCfvG}GA> z>zrRpMx3z|EOY>^FZjs)GROJ#^cHf#rrgcO$g3ykB`o-2#Rr_+z-0ELhQFJ9*)A1K zUoW|1>%TmTrvM}q7fk$}Gt(^>$++M5_HSMCW;bW+f>Aa6ob2Pgeo~cQl)tK+!Tw#0 zcZ~xFT?h%1a?7`nIse@`xV9YHcbk5^M4?>}8o=*>ex&4SeYm&4U6m28e#JQTxImaw*04@W)`?1W$)jU+T)WcJloS>0l=b9RhVu>s4Dj7?p9o~z+&>lVc zal-=(;ktLnf?hH=nqq4M8CV7ESh9O}4^;<#rfK1xEHw_Ciab?2ZS8L9$9h2yp->K> z&yY6@VTp;B?C%L5xu*!KX(*HQm@0hplMs$_=HnB&xK$}un7`y@+hJxYv;(Wi^FjD+R77YyEb;nz;JGJp=SxtueENVBDib>{3N6X^}HAlAo+oC)G*J zZhm-vx^S8y^)5QOBlt9kKd*S~xFqy#J-m5>L$saAt_IA2Abss9{y6uvk^+p=V^fQ#HEx!7P%~T}5 zl2j+^cl(<1*T3G!$1C2!h>#M$S~ctI$osO}rTu4Pp0=x?8}^O0giZ8$ljBVZz~>i| z@7CypxGRE17W3w9_lKn!O+PSCA8MIFUF1_Y2wMl~Y~2G02o}ugHvG|iRfrHl{Pl5; zJ*xddw)1hXlIHDbdv%}HBLXoCxR`Mtf-S$ZuH(d0o9hLU`#W^TsDm4JQNmidIink( z8<9u<4&RN;aB0HEmvALyGI@ZOO!+B`I-?`B$Gqzqo z*N$jku9t{YWfOR-bbPQ9rVk}=1QzfmwcK;nrp+6>KXSr2u1jW2ozH>zo3K9#EI_*_ zNR|1WY-O=-Nw+f%h773(VdCj++s48x&`qH`cj_Be& zumN$E-F#IyJ(rAEi9~-gE;VPmj+1)N!-L3|c}h4u>NBq? zr49w7)^~iQ!BF?rEJtzBRb>jzhrSC-YUU0zb}~0aNXos=LgwOkr(n+afHIW)xT(Dx z@GR~d4~*|kerx`>?v4Rv7DsLslbi$AW|ncc6S*FQ{hU-n?lVO=V#NY6Tv7s&U|6^z z$7E6Jo{hwCy_iL#ReyErsK`7oLUvYyucXJDNjg=X)rgCw{I@R*;QS444>{mVHiI~3 z^Lk(|NwBJwFwKQ1Tj-tZUc`Y5El>Sya=#r|dEUhew=W2i&VCWV@oq2>xJzSHNe0Mf-jI5^O44WzEE4R|Mti-q-B z29+q^YV2^nF#!M5v7qp1W0i?a6#(~PuQpFf+L%XyqJ|0aH5Im$hJs)trR?>27i;@1 zvKG|zjkyQ;V1xz^vS#%I&m|wAm&3^VRhT1E5`=N-^ciwn(Vg1nj2V3EEI-h>U_7h^ zI&XX#8qWWEl&6XMq@>6)Wv8$HX+2UT8L-F+*&ZG~%L~rNi^LENj|%uu1fo~$A6*lAaVwaOL-B*J>D zcKoLreVRM-oYabb7W>f&V}|B3o>x2>r0m2X?Ak`0FnzD%jr$ubNBBOKUEx(Y5$L=J zxs&48U^u~i0a_1(o~7CjO2tDUYvVoij~5NhkglDaFOS@)IB`EWo)Y(GuLd}e>z8(V zOFzutjA|*p#65|G008}#UI(GEems&T+5UYWVh4ZaF_8J0vFf9@;{=^yShlse=KJ0jTjdalq7-_N4++IaU>M^Lw(kx5e`NF?e`vAdh(%bmlbB zKVcO2%U<-G(i-i)r)|*8u;O5F2x!Jx3q4je5Ppp}fXw}=bTe)Nr&Ps2-ie5p^=kxS z#YXyA3LqmY4@Pivpf$4SVE2H4FVl_bV|FwG8a3cGwAfa&hT<=Iu+%n9$yk4}SLcAn z)K+d=mJTeya<%htQE`g0lA!e#r_fjjw3Wg@WBG`5j4Fga(Z);U_!89bm@X3e*CP+* z`(NB%XL85~11~dY8)3=V&VE_v00dg}1R8+8#Y`Qwy4ML#n=-Wb*JSK8E?Jm2P$Rv8 zI^D>s21MoE-t-=In#6y34{wpZT`H0d(48tHmcgR*P?=F-*3V;_z-UOO|+Zr-mk z!ve8yWc`&>dBh)R=f*jhScyXjEbhyugh2tiaFszAoqUQp@K)ZK1Lcn+V#ggL=C?_3 zWYjf!Z`|3fr7^$e{vl;4d``;r!Ql9^RTD7m@cY#gx%QG#wh>M9y~VG&+2^ayq1mM2fRC4AS862Y#k`2{ zG-lrfMXE}d$;{4|1c}-F8-N?0zcwy`EZ^Bbf@^P`i!+`xb#JV(8V?;^)tk5`n-ySb zsZeF_4D`((l)cQCor@uI{Kz^ctC+5rp+-@m_8o(zIQsJqs+JCKR)Qajv8SdhSoCM! z_5C`-H$#3I@DSc(_HdBIjk?d+w!FVydMWdg;8GA4MnLAXR=ezz%I4bS^!U8hM!!@; zD;CxBMYR7%GSmL#6Q@U6YKW&|U|0R$ew)=AicM4 zl8su^+$d-%93S`YUHw+&wZXgl)+@Ffy6ZDF;tTSCKe(Y^34(&#;Wc9-jSM$qqF;0i zhB^Hg%O`c-tPGE59B`e2UJB+nl$+=OCd%(YOqmRc9p8f1Kc>jVr zw6`_mSJiBEE{Ki8dKf%VGJUk^SqktkV!#j-uNK|`BnEpYf$o))MgK6W#%F?67%1vC z0~xaNYw<6?w|xJ~0B45p&6zAXm59h`kpt^xh6r3LAQ;3z;5DGSGjll6KrYi>M%JP0 zsV2I#a|h4gar$U05sXlCuzp{zR58H?U~ZU|sZs)_)RX4rm>{G=UIk_QHa9Mwzkons znZoMWu5wnCo2iJ;8@d&l$@&j3SaER7ukFHov!r1sLdZHf6=rP?D-#}j-wt)D39CgA zE%c6tLbwP+;DjF|j|t#_F1_zna9*ws2|*KJxGee@(iu+uG4kn1eUTB>HnfcSFS0t~ z!WJc)N`8k>3TWLPbn^vC-Nl##v@1gqwTZ4+j#F4|B#L$dUS`0~B|(9wl8y3NH2$9eYq``6Jm5xeU2wXZ54RgI0RFmV(EKNxUVsz>`9Tr0IW z5OtX3#E|?V*;-1LE%yw0&cJhc0h2#h{}nM(;7r$Q;vgC*-tYn;FL3ZoeKYc_uQCGL zX5m|0)EXf=f5Q6;tL}e1t;|rlg4=$yXYS)>nY};*4@|B|tsFI15N&k$1}rOxs#*oa z5kHt+wSB<|2KaPkHQ7ft8jdqLV(+r($FmGe!A`^2caAG3%9XTzdb=dttt>ekk>7sV z`%Vt^F0JyXp!(s}C5_K5`B4JzQkfQe{9^M1l)!bdBpt_x z>l0ic#AU`V0DiHFB3xk@SgeLMFk>lZArP*&jpJUXz*f&_7!mExH~Er%T7*-Jxo~ZW za*!An!hHGosuY8VUrG|U$Z}ZZrUuW;vg5rYRlmQOjRPRAj%iCpD6b#vx8{*Cl*0JL zLKWg@B)URQwEjGrMd7)~r%T6+D&g=2-e#5)BWsVjbh2{M=I^Ugy;7l6W&OpSfb*T( z^EI)hNU1yCuK>ai4kD1{O$D2kayYkL)}Dbv^LvCD*}34GBtbvcen&p>tZ~=*yFVZY zrf6A5ke&5xoXl?Sjc$t@?I$Y|NrG^MdM6G1Xw2(#4^!+w{YJur1*vb*O6u>?Z{A9c zaUqv2Utjgwxrv@p2I8W-T6@U{_Lel;s!Y!(I8*BM2SIQA$f@#x?R^+vuM?_?S7hhA zU2ZFLW@gCz@zzUN99%i_%$~}}l9Af@G;%;k@waHUe%Y421UiuYAwMUqB2JG9!8y-tlVdSs4w0 zTqk_wjmJp|{cjQ`)!SOFqmV+pCiyXL{-aPJRw0Am-M+{6H(9DQ1t9!3L&l}mJKN;A z3d)6Z108TuYAi(;@e9yLgGN1hh z%qrz!1rPv?faC1`cU?g)Z2i}{A}_ZQOqovtqoQ?~pBp^c<@>BlhmYau-zB~c=jgzv zdxI$@bp`U5;m*>*#MHlfFz(%xB=_y&(8T3Hc(~O-M@fkiZJW}ZCQK+g2hGqSu4Chk zu1_Z$1X0G4;qy{~)h%%Yxw*O3*xxzH@24xDCHQ-PtN))K<<|?B1_Zco8tBg9M z7u_$5x0Y1s#68PY$SyY-Q%x-?p8r82>4Md?%3)tyB{AynW-eZ@GNF>7waT@W1K%6R z-BMX7yQi%A>VAS6Al%*2@I(#<++793Jz8P|B2$2;y#5J4)pOn-ej>RV7O8vhN2C2S zBsCSsVdd9N26WF?Rzm~phjuyL-EAKJTTDoZW^wiyhry{7DM19$m_dzDk^acBZcVBYjgTa0EMq1i;^e4kGp&qn`;- z>_bH0Rz7?ERUb!l0te&!Gv({`9<-2ddBNyZ%;!d$8ybzY0QhNE`Iq3N6;14nFAfay znnw+x*eHCSX&yx1+h!5u4abS6z;t0@!Yhql7IRFb`c310N64+aB5v$u z$6ZF|!sq?d$%!YJsQlFwzpEUde>@E0CvRnDN1_dC#%E@ZXiUucMCk-SP;ZqPjv${O zv022eC?Smva1gu2(<(xMzdgLlc4M^FqYMYR#KW~(8B_bc!oV<|vN4lLNJz-Zi%`S_ ze-6!Lts1!S-y#wB6rL4&wSbC!`G^JoABEebEP2z`T8EbiZl>R64F=$E6kz_~WthLv zl4WH0Pa{u%{#06KrhFjQTEOo|LvdV(ebLVNOBhEQ&-IHkaJ&!4c<{gVtM`$*`AQ&& zB%od}$G0E>_787Y9!I6nLLTVDO$xDUTfVF6L>uzQSc@E7*sliS7(XTTT+{woM=-0o zoIT3DsriI-k22jf(FDsJUP(DpGDr$~#0=87$_WD^=VctgnL8?F{OGQG**5v8GECQKI&z(_6u^+F;Ha?0Nh z1-0he8n~0cqX@r>Va>z(kUjvS9&AXVd_Y9h0?to;&wh0m@1;e3V38OkX4OklRy~IB zsFyC^2dGgTY-gW1H$g?^_f~FuzBm5^Pg=c$;$IxfQ&Iqkbd$!dAC%RBQqt1H?JIL} z-J*W4cW0{ojif@ujN)MT1U#yZBMKG2|4=Sm^zxZO6v>hR!&RTH^|V%Wp>NU_&Y>fy z8NAKLSevnST_YzfL`pxn|Fa8##_MEfM~?}hLm6X(aPX0v=Nx~1*R`|KlntRooB=xF zz;24^5O(%=NWwr(OGW)|&#y9g^B^semq=26Ctl6DhScJ=(s&YaZIuY&0jGa-mA(HTT_rl( zZQ~gg43w?Y#f6N7B87?{^R2u7zkvi@I{#!# zHA3+t{@rR%nG?L3^jf4`iDvb**k4B3>xa=zZvNpT%TYBvqi2LEcC>(UOZ;r*R)Ow3 z!QZIOxXl$vz&l;|5O-|2e!9d}? z0}=>+_XiP%@Y%SL>1h|8m1MQZjinxZG#f_7xV?^5XdNmNE`>wnsAJU&5=3VqEG}vC z959aFb@GKG@d3%ilncRy6+o7;gmkpd30XR-8mQR>oNhri()Yeexn;L#`GV?cHy<- z)WsPejw_m%zr5?BFzLQT$!$S~F+Mp_6aXzM*8{d3yPM#-mJB~})`|!9@0geMB7^k} z-$lw11m|Re$C}Kpk-q+&VbvB*!2?}t1M?}2MGk0D=EpW^7jhALyOGl#qh`{Tx9KA` z#o;d|uVQbvBv(KAAB?a@vwY-6_?vrTfq)$fJpA}<$!uSd!JnNUF&c~mPS zpb=7ZNbwOR65tYa0{t**#3Z0hhOC#Iqrd;dbMsw;^4#X>8J>zw^AMn4%~Sc1?ZJPT z3$q~0cYx{777M6-j;n(5`fRS(9%~zt?j%?guXfV?U-xre%e%*8+Kfg#gUgfOPxPH< zO*k%hethHe0m4?*J$8ZoDUls`g~qtLXhIIR30J=wdKIqfz>dHDEe;|w&W{Fv$zRud zcz~0C6uqdAMKD%tB%=v|gFobkDRN>DC7|nL$L~=mNbAOpG}U%7C#Ozf|A61v^Mx|$ z(JLIm8=_eUn1X?W!D=mX`jIb(=2_$X1qZW4JdsX5}eHp|=gFwZd^!R#6ZhJ}FBH=$7Kx}?!dm@F zu?T=;3RqXy1FEeQtz5J>z;<2SY?7S(=Vivjy$0j4`vksv?9k;;U7b3Gl33>L?eX4E zdGp6Jzmz@)N4h~)-M-{})iU=Qj9+;Z-x5;%^e?nTm)IOANCqG`?FTCR+OI-;74rc1 z@<%Ld(zvFaep8DIlC#WvmeU%?KMUO!iue5F)at(%k_$KY_4V4gqz~dG7_-}^nb7f~ z1cq%VRcMjSgz5E&xI4tb*B3vpT}9{zpOMQ!#Sf^AJ1|-!`Qk=YPjN_HB8lUff}HR* zWIh~VwnZf=I5c5;Uu({%cf;$(xz#w+L)BCxip}%jxVyavcH}~2Etmsk!?_`kXb$Mz zEb{qBl-8cXtTq_tc77;wV{F0I_H(sXf)m6vosNJI_7E+_+5fp^(oYheYL&BKjcLA z4_yqd6jir8sGnf5s}_6ucP&}km|7+T5@6adI+c{wez6T zA4gaQ$rs1L$IFTNBet_gBA!{KhvdQRS)}^VPu>gK_NC3j)l74+etKf*>clOf^=K80 z5ZnuTb5O0rJXk~*W(g{1(G^>Ks0FOnQQl=(^h>wlKy!Y~7W3Vt>dyi->@02Y^Z>j`f5U1h-{{eby1(C-$Su~OH~2T8*;A3I~@`y?}@Ahx1N+U6`)LnCl2YfcM-vz`G76Jlv>0q)Sf~uUT>hAz1!ZPeRJX+GqWPLO@7q*%c((9JZ<{9>R%b=Q*lURw#a#h3~qg=msk~ka%Zk zDb9s3{|q$zFqtMZ>GQ7B8PfT=Xv-ioFJ6f_2^3wk1NB2t2Q)Juw_S9DpeZD@X8Uef z9a@srTsr=PAh1`>^M&>s(2RNz;!5;?i-wvmlYiA&G06Zs?v@@q`D<&-3z^_bXqIfx z|2WVu6EXo=$}7G?I$jaiVcKPMN*~L2ddZ3gCLOuMP$3f>adq%!J{ih`;CA)Fo!WQ= z74M!ya?)>Zx$fuMe3WPq5!4j~uES_dhsLx41P%tOZNzW(h9Q~Xhp2NCZ%9` z2fAEHQN}HEoLnj|kcpPqLKQkA2$K?F(sYMn8u~)KUvIouE4U@W@G1D>ILKCHBY&Iu z0S#@WLo4WK3ZJ3RWUnI&RI3q-|5xJtU#a79a!m|sH2j_w;NF?O2NR$$`Q~@pbT$h8 zC2J@H0t6eh-s|}v9%`4Zd9YxEy*ad_Vr?6q$VghyhZE-kd^>LIt}gWDyCeRdM{ju? zr@3tR#uA9jT&1gp3p2a)bAP_Lp^if5yxwX+hoZ`YgEy^-t~+nHs}4478kuYZsSrc0 zA%uQCZHfMcE9qX+1~KrK8V+Ku)J2&rRCbrM0D>t-9ZEm+O=GC8y3PcfVYt^!iq~Rr z3W!(rajEg?AByV?2(birwLx|ygz*YTKM~5T&Xa)5-_xR?T|E=Ghq%7P>Y<&9?*(#V z0Q@f{B_%QN@L~Wl64zE+$c$`k=sph*l{B)eBzHQFP+6)si?{#azgU(3bf5nlS!hbu zS}_K#FCxnaZ4dvGl4N!Nsl=)F@<$F9=*Rd|N&momWF33P{3Hz4#}cPt^;y`#mXA9N zme5uc9avsb#P<$gxkc-eouz0Z!O?H9M?2sI2`dxh7yxg+xyA z9X=M6{4{c+!T&A(pF+LvA9&3F=6hmTv^Xcw;{!3Uu$00A2|_|cqGzmw5}b+YLs*!Y z=t9KMp;gn4ThN^&yo&w56V!7Zvl<;R(QgtpS0H}1C^eVvyI1+V(ZUmIM}7WMNWj)D zo=cVMQ;gn&bjsS28{{w-A7#|+e0IYzzZ?TS%@bdH$CnK8gOM-#+h*POr{^+DPV>5`As+oCIAY==#W)4T>4)>p|(ESEthM+Tmc;i(E3MF-}3<^>wy##BxkD~z!j zxz=}I0f^}6vUPNE>h1bi&}j(c)49_zwP~L6S!`@9`qS-0$_nAL&iCY~MXhpvK|!R0 zw~1A4fUdgdhI6am!D%v9DjMd&>FKEkCT;2|mX^LDtSwGr+J|4QLU{A1j}z^Ct9N*? zUgXT6SFSg<)~DU^IIb(J-KTM{aWG2X1$HS03D)JvnpP;l+Y-A&0|6drn)!eN>f-b( z@vsjC$l1o~Pv%Jg&SO)CKRTlW*X8Uwju+}EzBn^AxBOD5U7cp(<&7r+ZX_>v`kuf` zO1?+M>e8SlIzdGyz+-1N4Tj5A1cbrMSJ=LP>j!`SE?$EIzkck4=LQp0vp)Yn)GlXQ&Xa-wpMJHj@S*)hSW zLpv}n?H@RY>_do3E(6_>0KomakK>=0Tinzb>vRo&x#4=9t-pOcH|Md22=hydG) zrX;{n8Z8$RE;Gg6-TlQ@I@1x;sUsN~87KGobjdsZpo7ab5)hsti;QM3C;|=zdbn~u zpouXc23c9px~GGP^<;V$PMV@u-Ju@DX`peM@~1eTSSgn6))!U%*jZ0Nt5eYzm|C5l z@3UG?naF#LAIr1X7th$H+OL1PGj|^A_^f0?Ox?t-PO;?y;eU*iQ0c5YGMc`GvV6a% z^+>w}WQL0O6K7Z)>)}z1<J7PNZt7rShuTfo#$Kh$#ul@j#As z`fo-%u2YOdy~kV`c!C-AD2R1gH8HWig@N7Dkzhd_ni3x3QtH!y_-VaDl ztG`lc?&s#J5^=vNr@+Hq?v%I$+hhxS%KQKtTXG>nbZS=1$?Y)!X$zD89Hfpy6E7kp zwXqEDg%B3vJ8PfSE`kJgqY)MVI`iG-?$l`cm*-JQl#j$^X~CY~z-L0nIaQk57f%dz zb#**LivKyu>OK&g0%#~E5cgT7Q<0v_OcOIj75pl&)wv0PrKE7J>-)*%nLqz?9uV!u z!;znmUac1}BSOrYN#XlWn`wmik`#@3=dq$QdiI;kZ?^Y0 z*{InovH2gMM&kkvq>5f*0W2*anIY4bF}+9KX2$|9@OMuyzh!U?_<&b3`Kp*7>b?0TsdnNFB08a^# zK)UsqLGKrd!rryy{aEjO;~gTa*gXO@PFZLN?pC$!Ec`<0DoGn>zS^+H5QZC;(5~8eB3Gk*KY?XUs1RDEc3m!nn!M5CvP%#7=$%@9U0n(l1F>H5AaoLVm{L zU#3;YNX}YUyIwIO{+JfBr%Yuv0k;HDxjgL~9}C=Hdwyy6*VJOoK&!kJpN#&iTYr_- z7KC3phw!B~xr~LAVD42v)+9khzFtLjn?WCICw6}8_v#D3_ra7V?>Va>si)$%ft(Zj z>MJ{atpj7YmXn7p41C=9I)gpaqmnth#?*snPfWn4@pDFf7{}3%QV!<<*$?*Ejd?yi z<_ooOR{^4~r&)VsRYYxZNDwCSAXt2S>*t#}6E?Wl8(%oETD7S}rlKhnW|oY|&ikJz zJo7YHXNI6mpWn`-Z=R-zp`_uN>~LFZVI z@f??LmAyoS5J)M5CA5g_=Se6h&xm5@nN!dA z6|Lu2R9V-*RVSNsM2(8$Qh!oQF1GeT&m)jR`z(HJE8BbwQ%EFDEvn(4WK$9I$>neZ zM0|%BHW3?QB+E80+eh(Bp1^$h#LO$KvKEvoe$hxxGP}?#c)a6qK^L!(49K^?dtnP4 z94Z5r2|O_WtxyQR6FrFK2<0?=ss?6s@BvuE?FtNX3K2zIP&RfB3!GM6vV~m8(Dzp^ zUZ)!7eJcPRi-NEM=#G7rO@5Z2WkECisCUlLEn(fC2w)kb+0o`>ghEBs~?u#?xYuFR@7)qah+CM5+GUDuBLke^QqrM;c?x24?ZyaBlE96 z$LG~RZ?}b?mxO$X{AXHNM!roXDEy@2pw{85;80$I(~IHh+S}6a3D|Q$A$xh}G#X&5 z-Z4tyzp#wZnUEU>x74HNFDE+_gF3KM{h2|J5hGTVI2Ki>Y;!P+uhkZQm>zJvk#d9W zf7@%#;NgVkduD9$Am1F17Q5I>a&N8@z|AYPna)Sl5E7jFDaa=J zx(yE8=Rz{rWGd9jT8=_*q)z;T>{FZDbzI<%ZIrN})}X2CzetT9|NCpabGlOyv|9(W12psu#g7Q z<;xGU>4ATf9{O;FFNR^sBVRJOF7UHo=lCIBd4MwG22Lq5NWjzn#!ZaDMo;*LfmXHu4;%GuoqM{2%69a$brNi1&xiVgB~-2EQ5sn?xZV3_ux!b`L-;;gUW87 z0#coN=AmmPACKR~tCHxm$zU1{wFRK;Njm|9VM;8rxX{l@_5QEev3OCddlkJJ|IH*F$;+M5%C)In=GmofC!w7`B0+%& z0LAO%tT)dGC+kX4`g`(MMEvT#0APZK72ab+W;AX@v09-%O|e${onO~ui-IL=JPr7j zsm=nWNX*+E&HTPB&P!37vppyY-FH!b1p}5Qmd%W!9u@3SWyP%LjY~C+l18Z0c1yDvHFYf6 zUPe6yd1Ad~jw60wfAH%!oJQoHxNROUo?Wc8N&%X!B+$+yu(9|D4h zmnw@c>sJ`+E-g^z3#z>Qibu47B9S@+-=i(64?_~QCU*@`SoF1J8`pC(+Sf@gJ@(`1 zY}q#PJ9+qBt`^eWoN>xEVZwX<6!drrRI_3N*Vn(mSQ4QPKm@_fo~9x)??7E5UXJxP zs~9XJ!rjy0tD0?JGo@!?u307hFjD+ub>~~98IfnkMdm_b@=Nf=Cx>BLfJ2VITJbA^ z|3V+y)LfH=ODF1inHF&aQ?tchoAkWB%>Hh8%brYNo>22AdKAnlT6ViTz9>>PViOa# zsKQfOm+K!e8rJ1;6W?@t4_u8++Q=h$tpx zJLcEw;EdKn0Q<2^%1jo0U}Epx!*~HjBnzW472V78lj;j(>kA_2Oap-r$4Lm)WLGcp z6{d-z(G<7-;2E z-YP7vsA<#QG>yA^aCZw1jcafV5L^QZ?$!_p8r*{icMI-rfj|h7;O_1^op0uyx#pjP z|2yoX?!9{LT2-~4`>EJFfS{||6(LO@)f!?cK~n)ylN}~4P=JzPq&(U)$PT|MF(J9m zC9;0a#rUjshdJYuEZ8&Npy03hR-z3$`HL2 zlg2qx%vqx03jB*$TPcNeAU!weVI#<1?4ro{qn3fYFBr!^O58;8)noqvhC}HI{8~-v zrs9Mn4Ui(&{XU&`{TE$#KqoIbM~OI(R@*gqjqo<|kjV!;e-h&n(dwtw0u%uE$)+TB zL_&LjGRt=jYe>_UyM`0hXyHq40~Ytrh1l>+D+!Brr<(C`A`@4E{WKU-8!sqG1EMfc z8H8_|O>3^A?j<~tcNmOHa09u_r+d+OX-PJDO8y;;42c_iV|AIj+Lgw+<4)%CG^ zyNhGvPEwtK>kL9GPT z^EoGP%adp|rIMJm;TY;rJZRCM@s(3ZLm3NJ&h-=e&Y?hg-Z6ah*u+IQ_M4eTTYIVS z_em;w!g0}m*S&lc=6pe+$?=?%#bnX)Vusev1cnHIK}fO6sUsOvDipSGVSY+o+s-sq z^ZiZlG-q~|As&aERlYl7@_onzq4O&;BJ+w`$hSAyK0&1f3`7>cPIwL>YZm^Ni!(`-?=D=;a#u+|v{9xWNA@uQHMRo{^o5spJQ94W3G|dJw)3 z(r7!DPJ}b4%iX4)>nEJu0%Vo7V9cDlw7Ls?kGPXND23Ar{%sbto@iA0cmF(7ksJ#` z!Bi+{6;_^kd7?l~W$+8pwh_G_JBI&UyjyD@z?_YzTY8CyK1s^YN8AjoPlXGufr^_I zLUfg(8$O^7Nqk4CnBViWX5kZN7=H)Ai&*nLgZSbQe>O~{0H>fnlNs^&e5%G+iQe<( zzDh;}gdKGG+ga28Y?_6x9LCJlUq+W-MuN0abL6O>TgAv9!)3hWKkAQA!&E-g-^Mbx z6nLvywwKGl9Dk}?oln3U)-EKT;8;LEVfh_TYg@O1>-!%qfJhN1y5y20V!nO1Xs;6DUp%qfs z@`iKgIeJAoWf;A3U=RC4CQ~LO?Z-?pv^KW|oI0D=+mFtaOma#QpZA=v^9kzoYKG!V z!&a9odFmYAMV!1Q?_JuRw?PIBy{sRx-?Yw!^>ro-X0@X3TVjK|DV?4QaP|r6dVBhU zm^A8v$EJ!wvz6DoIS<%_KmLZhdhWHU`=WBpiUdEtOTmRZz21aVFn}{fK$?5BeVxzA zbCMmwKYPWMOM?U8P3Gx0O->06y{VYLMKZ5Xk^NY1sQ3$f=bY&c?f1hRlumM6NEIDK-k8a9meV!)xMd@nITUE!39k1fR`8v&cZ30V7;qc18u^X66_sc&j ziCa~xBf3c}PREjqm4&*z#N2Wo>(G=8jt27=%AFrqa2MOZBEGi%puhTEfAx+UfWwVd z>aNOKO+a6r_c=P#Q#S^bg#^68-mR4(GC48HdnZ=RVgrQpwu+swo{GzOy{7Rcb=Fxg z^T%(ChinIWJqRuiLIMP1oWBvxtD~LthUHDoxA1qcK@(c0qbgK4wI5-Unay6AoKdoB zv4;eyI25=fnH5otY-Ed%S}I-PYE*HrI7?AfZB1RSqLRxK`@;lf)-swd2tRLHF@AcYJn)bL2^nanWCJXhM0|H&EM`4I}Vw}Aog3+B+wrPrXj z?9HWWY^1+;ADz5pAc3yf<{a}qDa#uh{>*#pC|F+P;Zh1iUV=gA#-=bk1|McCZXRZBZ`_D4pE^*&%N>((O`HgyYdcb-KwDU))EhtA&1afK z6&Ca4`o`kEFoU{B2Qd*0)%v;}zMlS$hCgMR`>g^r*nJwsAv@jjG{n(qM)*8463J`$ zSYzpFuI7q3^Xx!HdTTTo8$hfm_a>`oUKP_s9icQ$=idHL|HK4?0Mc<3E3aTm77 zD`H4yIg)_TbiC-hhi3^>gS8&M(=$8sRX+XT!06{vKqh=oUr56ojk(d5*Zstw)@F(} zQI1@ZDvslL*llpT=3uhus0H7L_2Q~%bAgWmTK$s6VPV<_8U;<_0wBZINFL}kYbCVs znvZ3#10|5LF5jn)Y4u0M-KLft;(R%s|GIMlm$1kZ$@l@2nnz+333B@n{kf3l!lrCn z(3H&jdxQuA#8fUli9eQ*+Za~(w~(YDo3F#X z)wozC8V#8_Vt1qP)!E}xWssl^o+Jpv&99(GhS#BM?YkO-f(rCOPM1-)0sKg{#1R_= ztchOaVkLY$ltW}Yba8}D44k;3oZ&5ZK3y#=fDkhhlxf3r`_S8{)8|cckixU4h7lVL z5@ZA`YGeE8ub{`H>R2i&9F?O@e=lSB-*t>sJn&_zmQjGR-aN`i)Wvy-Xho3B zF+MFnar0 z#2AJe&ND}Pyy>~dS zAJB?UT%<298M!QHl``93g*z+-463DX=dagfooFLNv!wY|9$gXN4;uH~A#poht3;v4 zG}So&5;wv)mD*-3KU>JB?e@Lm%GY>hwA6tc<+*Db0D8%}k;(IItMPw)(WiE; zpZJ3L3#rHE!l6RU1&-)hH>Otwc;vAXnQpL+Z9l6WPWnMOG|M&+`Oc2pNt&};1}Gs1 zl34rME!d-tVc|(WFr*rmvfSK#zm6jZ0TaV&DC~wdfzhFOK@AK0Gk*fEVcVw~F^ zsP65Pk?1%W5giwz+3H<$hkSg!tVW|UJ3X9=bF4;nWmf+fr*%H8ut*l0Bqh{jtAI1T zlp}##k@*)+Y=EPbC-1qN#5N_z0mloYZFYR9pC69tZPROd3HE3eU2QYlCDh0EGvsGE zyST7`>9oP&jcrJgUj5**EtZe+VuO|T@-YxI_2W$NZjOn{;pS-|2Lljd6^R0%D+^elwPL67yRgUBVx zG1km~v?uI+O6G$F#NKX(0HVVO zU0nFOD?UBmzUaNNU>Xl47B9a^^~HvTDWW`my8L}Dzsry3vk!8eR4At8`PN}n0UfO5 zjSIc4mQ2}h4Z${?sWNu}J{(mU;8y4dWNU;w5Cy@c9!_sfu~;=^a~V5ovOS@FE}F>g zks8kf7KyUJPy0CE&-=t(E_CM-LXq^Jgv}=qd?LzzQ>>^khars-n(xm=InfoF!aC>V z9kq7;7Kb0MQ36h3EXChzee$>X-+leRSj$az7bBi@dX>Ju^Ivi`ol!nj#gjv zPG*W)Or2pHi_O4`>;%g(y5X;M{I@UcjhE>WCXNzt()4ctw;{*t<>4e=j2`YkMm%eu zMt^Jc+@RCjECxNu?5ac1N*Jhx8`;94Vh1(1+8*c>&##_Ig$c$~t$HD4e^$jyDa8M- ztBvTt450Bu~*}>-(f7@i(i)(p4Jq<9( z-aFF%fh*saEGgC?G-xBBH~T`C+hxoZ#$z|0-kSo1lT1OC6lA7@drd-2^ee&BUXJpTORG zio||0J`hB|Sc|JZ*}FKvuKxWx6G!1pEp{MRZ`T9%m?TMqiIEMU4bP+==(fjqkWHFTkCNy_y8b(%OGhHishETtvM zV*gj7^Q4cTjQuaxmiI|+Y3s-{JZ+;dZ3xZQllq3|3u%=GDPdxHMyECi+NJZK;ObN_ zv*D_0jk8;FzOT)A*Zf_dO)7uw8V7(lHcMgyHb&Ri79DGa7zCC%)8MOyp8G3<*?)f5 z1vO5XKy^eoG=7_5-QN0iPZbIJs8mEBXbr8+wOJ`}|3ZxI+K*TWTHv~tRl*7Rj6f^<*6jsaz*U#)<1cmkzvyT|_3=!43m2tYmCU6rYO1fe-ICsHg9 z4EZqDRW7@-9zYJmjr6bNql$W<{v?-c@I%}qoxM( zTZr|}K{-@R3BhC1*HG*R2g&0R;bTW4W)xIUejS606V_p&0nVuyUVqjGh_JD3-&WFV zP~LVtdaoUAMO+YZu5DM+eL8$Ti%ReVL0tgtFOq)93rmBf9xL$;f&9rAX!#d6&P-C) zaeNYS6Ef)ULfV+EU*6*f3(E(eD|g>Bd21qJr*Y!NgsU+xPQMfB}xVB4~G3^%smw_=U-gMks~0)J?yJ_itKS#PD#=G`jLi&PS`+%YNySYepT6eBIg0jv6AXBK9yHtKTSD~L_4_<}tm^iz zb&Z@}_ps|$T)(cx_MMg;xw8UHw>UF__|{Es3IpysbZuC>weo&}t{!r7eKDM;$E z|M}zh^WKd!#qk{FJA#0E$+ps^_@~R*d2BtRJ`q2#TG=BG#n?e-M?2YP5w)S&>*eOX z$+va+IYvV<2qvbt@7Xz3Re)^6~fd?B74s(%tJBWYDb4LYB$q$}H4cyDhtaH2%Q+r$ebWo!A)=o`-wl~6D$tL= zTOg8k=*1ydtd8N3`E&A2PTzS}a9W!oI8}o$%#x z@NCXz9)2xRjl)lw$L14qT)odfe);kfTBij^e!3a$v`04yuY%jqusB>G!Uj@HK%+RD z6iH0r?r$WWCi)1e5)?s{F)K3Rm5joi_h^N>+tSqsPp20Zatg7?i*2W5gE#tLLWGZg zenuX&lYVkq*cap5pF<#6#9AMsztON;rD|YGC#|I}ka9bf*}tgQC_RxzpI;=X{bZQ? zQWRFB_8Udws46H6L)g^yn)=rJHJr`8Azt%IGWF0A5TvHk8)ciB%l`>s-U<$xlegk@ca{4nR!xO`qCL z-8bEo`dg1fC8K(l$XVEgP_G%?aafZ$@aUrjx}`od&CG_jjF{zG$`YOL zHwPCZPh50}HL-p$l|G2o=X+cMR2ws#aI zS-}UQiLCWbqOr}IRc1v~9&%xk+*KEsZ>N8qYlYpe_Zi#i5ZVx`-`sTal@=f`(RJz+ zZHX7sk~3-xz)Mv?z{a^VYMNc?ENpCS98Td!!$EF2yHx~6Ueu@_2@b%Fu>e&fo|lRf zpV|mZ+C+#GXL!_nN)<-6jLVp<@KCL#qvrltJ-+OYEY#cg{YGy{j1DnHj=ouj0EpV8 zzsFfH`RZHqGk8t-_jpV*Vy~>P@NCvIwgsAzJSzNDj+1NuZ^rJgLE$J$T(&l)E@v3a zSc%F&_(|NSC?ul_S{!_pJWM{DH53;Q4=E{aCMnv11L07E<^-DFkxVeRI15-ZDQI~l zafU!EH*8dN=BUo$<6q-5;7#B=1A|q86}ea@`$w1g8QoFq$XH-s0h(Mr3FXX$2r(54|z2U zP5bi`YT)D{V>0sDT431_)fK~kAtH&aIkg3;Ryh@*NhBRgR-lWLZ{Xm{jIdi_r_zf0 z9pT(D=`(|7LS;vc4k;+?7WG54z5`k@%A+YK>*is%Oq%uKbivmgr!Iv&X>Qr(Qk1j` z?FC)3%Yn6|QOJOq-l)l%17%oEoI<|_Q{1OSK>;`aL0K4wl;AVn(X;R)Ldt^%+e(&N zOck>xc_*x?88#ZM8zWoQx{fPoLc`6AD>!0&{mY?pf61p0dIF?tFkqcth+w|RMP zCP|i&RKPve$6m;|Fg}#YXHYKm77u&V7uqHe>J(qNp0Bt>U$v8(v!zUKhYdu0xsC+` zIH~Cp$Dy@LnYDEnev6zM1mDYxdU7@p;C`a;yO>aeOvSIoT%b{8I7iwrfBfUkwIFKb z$yprM)a0JyZQ7d58MyTXwOmw^TGcPyAEXH$7xIO?7qs%63O#nGeqeNAk$?W)G&8^PG87G{0zpfZR`IK7-zdxW1p1O#v@0ZNjfL|Y8v(>+z6}c zW#5!q>dZQG&PdchAEWi-$;C8ktmsK#AEGYD912-ezYD+<9yr)sv@`gUeKsnomxY&ue6Mpfwsd6rcPZpBghozxuHCIva=MS7{k8C+>y9U z^%Zh;p){BG11}h2SGUwu%3VF`q;5)bC40lxc6nQ44X^#i9bIdva)^Rh2ryo^HX}FJ zr;=qqUBm`_PU7Zux?SMT2Rbx)K&TH&p+eHW9_G9#R2p&pZ6Ov`rNI4H(H$CYs<{)b zybIJh9`R(#acKW7OCC9SY;}gTrVx9n)~(5_Z8n=s~TkKRunXzw3Az;Nnil zS0_E0Kl7O7X#=N#HuX<(tz5br9#KfkT49B;BI)I-b!Jh)osUxou=SJ*4tkxdj>t3( zu{udS3@Lz@QABvnP6mk?LQKiSGp}Z;VM?H}O_7nq4(BF5sTY*0!{Dh0c=2a~)XD@> z;UN{Y{;drOU?*xP=c_;NM)~vKhlc}Wn((Jz9BBNY?JwL@Q#^hU@`o}*m_$#Hf^lSH zPZWg!qORfV}`=OxSK3}Ezs+yB_1$Y4~GYAlLL;4S?D0DvxQrEQ1=2-%ioxu_VuuzwI{j- zcFUActl~ZSlR4DDI6cq!J43y`h9?VkH+vK9Cu>R?`ftj=l@t(C=-}dJwlrOFIsB9g zt?XlmxZi#cxqoB$>dE?2ayRMz6wNOBmH*iK=(y_bL>En~{~x69QgasL^{CLe$lL9? z_~FJvJjC%X;APyu=7Tgh+xQZpayI>5h2}Tgtz+VO0RoTc-B6QCQqxr;|M-_jqv&)W zLfOtoT#ThAvw2&IM|W8pgsK?F5v>;i5VZHztiEUOOitO_V8}6X&0&UtGv>_x)Pf3N zX&1F1hPHYce0RI&!L5?MLN591-qg|@p?giR+3Wj2@23uIv05R69~!l2x_cU}#*UY^ zcA;Nrku1L2+xy+gG8Vkp3(JwALJO+6EV|5s=FEe3!T?dT$Km0xujPIRgX1*)<0mJy zzr^6CMiB>;zE%q{EFdxoEkIjjx#2xejr1KQpelb-BxmauJh4$xE(l86ztA^YH(oWK z%C>_;DKGr>^#R)}!;`y)Fb_qzrE5?oq7GaV0yRh11j6l5Us|aE?aAq19PTeXcbMMG zAsGERJnVU=b1(kt#+~L;+Q@Ki>st;4f_jNNLBwgwZBETWwsc|1W$??D0x?H6gr9Gw zkk=buQ0kBQQDMR5b867+Mf1LF6g@Lynsi>&1r#2Th z!PxB!3mWDO0(!`kfkn|Io1I9{&w_5ZOgisXv^ggoXrcmq?U8{f>!%ev2bi=tOZgK} zGj7bh^oI)2{F6_3c~b`Nu38R%F2a*Lx|H86mk?%4^U{2S0ivo6eHH?DzbdWM8JJ_W z{+8znJf36?E%z1In!)Y_`Gxa@nSp?G2r3lTi!zV%>!@+op=?*nb~`g5xc>{mC)

  2. r?~^CR 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Ǵ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 ViH3a#Yqm20fv2mV%Q~loCIIH>Q)>VK literal 0 HcmV?d00001 diff --git a/assets/branding/icons/icon.icns b/assets/branding/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..733c7094658c5d46e1c60d435299a9653eaa7497 GIT binary patch literal 153835 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

- - + + - - + + diff --git a/assets/branding/screenshots/audio-only.png b/assets/branding/screenshots/audio_format.png similarity index 100% rename from assets/branding/screenshots/audio-only.png rename to assets/branding/screenshots/audio_format.png diff --git a/assets/branding/screenshots/subtitles.png b/assets/branding/screenshots/subtitle_options.png similarity index 100% rename from assets/branding/screenshots/subtitles.png rename to assets/branding/screenshots/subtitle_options.png From dbd0c040a6a44782c476e9e46ee9be4a4c0041b7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 01:26:07 +0300 Subject: [PATCH 121/568] Update version replacement regex in Windows build workflow Refines the PowerShell regex patterns for updating version strings in setup.py, setup-ffmpeg.py, and windows-build-universal.ps1 to ensure consistent use of double quotes around version values. --- .github/workflows/build-windows.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 347a383..c43d6d3 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -60,17 +60,17 @@ jobs: # Update setup.py $setupContent = Get-Content "build/windows/setup.py" -Raw - $setupContent = $setupContent -replace 'version\s*=\s*["\'][^"\']*["\']', "version='$version'" + $setupContent = $setupContent -replace 'version="[^"]*"', "version=`"$version`"" Set-Content "build/windows/setup.py" -Value $setupContent # Update setup-ffmpeg.py $setupFFmpegContent = Get-Content "build/windows/setup-ffmpeg.py" -Raw - $setupFFmpegContent = $setupFFmpegContent -replace 'version\s*=\s*["\'][^"\']*["\']', "version='$version'" + $setupFFmpegContent = $setupFFmpegContent -replace 'version="[^"]*"', "version=`"$version`"" Set-Content "build/windows/setup-ffmpeg.py" -Value $setupFFmpegContent # Update build script $buildScript = Get-Content "build/windows/windows-build-universal.ps1" -Raw - $buildScript = $buildScript -replace '\$SCRIPT_VERSION\s*=\s*["\'][^"\']*["\']', "`$SCRIPT_VERSION = '$version'" + $buildScript = $buildScript -replace '\$SCRIPT_VERSION = "[^"]*"', "`$SCRIPT_VERSION = `"$version`"" Set-Content "build/windows/windows-build-universal.ps1" -Value $buildScript Write-Host "Version updated in all files" From 365fb7304b51c7c95f8f3a82b6cdfadda8218c09 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 01:32:03 +0300 Subject: [PATCH 122/568] Update antivirus warning in README Clarified that false positives may occur with packaged applications in general, not just those created with PyInstaller. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ae6771d..ac56032 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ python main.py #### 🛡️ Windows Defender / Antivirus Warning -Some antivirus software may flag the `.exe` files as false positives. This is a **known limitation** of PyInstaller-packaged applications. +Some antivirus software may flag the `.exe` files as false positives. This is a **known limitation** of packaged applications. **Why this happens:** - PyInstaller bundles Python runtime and libraries together From f44116baa38212737808f2c6419960ff3e738ef3 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 01:42:42 +0300 Subject: [PATCH 123/568] Refactor release notes generation and version parsing Changed the version extraction regex in Get-VersionFromSetup for improved accuracy. Refactored New-ReleaseNotes to build the release notes string incrementally instead of using a here-string, simplifying formatting and maintenance. --- build/windows/windows-build-universal.ps1 | 55 ++++++++++------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/build/windows/windows-build-universal.ps1 b/build/windows/windows-build-universal.ps1 index 1b3297c..ccbcd27 100644 --- a/build/windows/windows-build-universal.ps1 +++ b/build/windows/windows-build-universal.ps1 @@ -38,7 +38,7 @@ $RELEASE_DATE = Get-Date -Format "yyyy-MM-dd" function Get-VersionFromSetup { try { $setupContent = Get-Content "build\windows\setup.py" -Raw - if ($setupContent -match 'version\s*=\s*["\']([^"\']+)["\']') { + if ($setupContent -match 'version="([^"]*)"') { $version = $matches[1] Write-Host "Detected version: $version" -ForegroundColor Gray return $version @@ -312,37 +312,28 @@ function Move-MSIFiles { function New-ReleaseNotes { Write-Step "Creating release notes..." - $releaseNotes = @" -# YTSage v$SCRIPT_VERSION Release - -**Release Date:** $RELEASE_DATE -**Build Type:** $BUILD_TYPE - -## Installation Options - -### MSI Installer (Recommended) -- **File:** $OUTPUT_NAME_BASE.msi -- **Installation:** Double-click to install system-wide -- **Updates:** Automatic update notifications -- **Uninstall:** Via Windows Programs & Features - -### Portable ZIP -- **File:** $OUTPUT_NAME_BASE.zip -- **Installation:** Extract and run - no installation required -- **Updates:** Manual download and replacement -- **Uninstall:** Simply delete the folder - -## System Requirements -- Windows 10/11 (64-bit) -- .NET Framework 4.7.2 or later -- Internet connection for yt-dlp updates - -## Support -For issues or questions, please visit the project repository. - ---- -*Built with cx_Freeze v$(pip show cx_Freeze | Select-String "Version" | ForEach-Object { ($_ -split ":")[1].Trim() })* -"@ + $releaseNotes = "# YTSage v$SCRIPT_VERSION Release`n`n" + $releaseNotes += "**Release Date:** $RELEASE_DATE`n" + $releaseNotes += "**Build Type:** $BUILD_TYPE`n`n" + $releaseNotes += "## Installation Options`n`n" + $releaseNotes += "### MSI Installer (Recommended)`n" + $releaseNotes += "- **File:** $OUTPUT_NAME_BASE.msi`n" + $releaseNotes += "- **Installation:** Double-click to install system-wide`n" + $releaseNotes += "- **Updates:** Automatic update notifications`n" + $releaseNotes += "- **Uninstall:** Via Windows Programs `& Features`n`n" + $releaseNotes += "### Portable ZIP`n" + $releaseNotes += "- **File:** $OUTPUT_NAME_BASE.zip`n" + $releaseNotes += "- **Installation:** Extract and run - no installation required`n" + $releaseNotes += "- **Updates:** Manual download and replacement`n" + $releaseNotes += "- **Uninstall:** Simply delete the folder`n`n" + $releaseNotes += "## System Requirements`n" + $releaseNotes += "- Windows 10/11 64-bit`n" + $releaseNotes += "- .NET Framework 4.7.2 or later`n" + $releaseNotes += "- Internet connection for yt-dlp updates`n`n" + $releaseNotes += "## Support`n" + $releaseNotes += "For issues or questions, please visit the project repository.`n`n" + $releaseNotes += "---`n" + $releaseNotes += "*Built with cx_Freeze*`n" try { $releaseNotesPath = Join-Path $OutputDir "RELEASE_NOTES.md" From c54893fd1b391d62bf6c820bd1e18397ad9e8f04 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 01:46:41 +0300 Subject: [PATCH 124/568] Update versioning message in Windows build workflow Replaces manual build script version update with a message indicating the build script now auto-detects the version. Simplifies the workflow and reduces maintenance. --- .github/workflows/build-windows.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index c43d6d3..cfa563d 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -68,12 +68,7 @@ jobs: $setupFFmpegContent = $setupFFmpegContent -replace 'version="[^"]*"', "version=`"$version`"" Set-Content "build/windows/setup-ffmpeg.py" -Value $setupFFmpegContent - # Update build script - $buildScript = Get-Content "build/windows/windows-build-universal.ps1" -Raw - $buildScript = $buildScript -replace '\$SCRIPT_VERSION = "[^"]*"', "`$SCRIPT_VERSION = `"$version`"" - Set-Content "build/windows/windows-build-universal.ps1" -Value $buildScript - - Write-Host "Version updated in all files" + Write-Host "Version updated in setup files (build script auto-detects version)" - name: Build Standard Version (MSI + ZIP) shell: powershell From b337667ce889f19a0351394d5e02a632055a3b03 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 01:57:58 +0300 Subject: [PATCH 125/568] Switch Windows build to Python script, remove PowerShell Replaces PowerShell build script with Python in CI workflow and deletes the old build/README.md and windows-build-universal.ps1. This streamlines the build process and consolidates build logic into Python for better maintainability. --- .github/workflows/build-windows.yml | 4 +- build/README.md | 211 ---------- build/windows/windows-build-universal.ps1 | 474 ---------------------- 3 files changed, 2 insertions(+), 687 deletions(-) delete mode 100644 build/README.md delete mode 100644 build/windows/windows-build-universal.ps1 diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index cfa563d..0f941a2 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -75,14 +75,14 @@ jobs: run: | .\venv\Scripts\Activate.ps1 Write-Host "Building Standard Version..." - .\build\windows\windows-build-universal.ps1 -Verbose + python build\windows\windows_build_universal.py --verbose - name: Build FFmpeg Version (MSI + ZIP) shell: powershell run: | .\venv\Scripts\Activate.ps1 Write-Host "Building FFmpeg Version..." - .\build\windows\windows-build-universal.ps1 -FFmpeg -Verbose + python build\windows\windows_build_universal.py --ffmpeg --verbose - name: Prepare release artifacts shell: powershell diff --git a/build/README.md b/build/README.md deleted file mode 100644 index 5bf0a5d..0000000 --- a/build/README.md +++ /dev/null @@ -1,211 +0,0 @@ -# YTSage Build System - -This directory contains all build-related files and configurations for creating YTSage distributions. - -## 🏗️ Build Architecture - -### Automated Builds (CI/CD) -- **GitHub Actions**: Fully automated releases triggered by git tags -- **Location**: `.github/workflows/build-windows.yml` -- **Triggers**: Version tags (e.g., `v4.8.0`, `v4.9.1`) -- **Output**: MSI installers + ZIP portable versions (Standard & FFmpeg) - -### Local Development Builds -- **Script**: `build/windows/windows-build-universal.ps1` -- **Purpose**: Local testing and development -- **Flexibility**: Manual control over build options - -## 📁 Directory Structure - -``` -build/ -├── windows/ -│ ├── setup.py # Standard cx_Freeze configuration -│ ├── setup-ffmpeg.py # FFmpeg bundle cx_Freeze configuration -│ ├── windows-build-universal.ps1 # Local development build script -│ └── README.md # This file -└── (future platforms) -``` - -## 🚀 Quick Start - -### For Releases (Recommended) -```bash -# Create and push a version tag -git tag v4.8.1 -git push origin v4.8.1 - -# GitHub Actions will automatically: -# 1. Build both versions -# 2. Create MSI installers -# 3. Create ZIP portable versions -# 4. Generate draft release with artifacts -``` - -### For Local Development -```powershell -# Navigate to project root -cd c:\path\to\YTSage\build-env - -# Run the universal build script -.\build\windows\windows-build-universal.ps1 -Verbose - -# Build only FFmpeg version -.\build\windows\windows-build-universal.ps1 -FFmpeg -Verbose - -# Build only MSI (no ZIP) -.\build\windows\windows-build-universal.ps1 -MSIOnly - -# Build only ZIP (no MSI) -.\build\windows\windows-build-universal.ps1 -ZIPOnly -``` - -## 📋 Build Configurations - -### Standard Version (`setup.py`) -- **Target**: General users -- **Size**: Smaller download -- **FFmpeg**: Downloaded automatically when needed - -### FFmpeg Bundle (`setup-ffmpeg.py`) -- **Target**: Users without internet or restricted environments -- **Size**: Larger download (~100MB+) -- **FFmpeg**: Included in installer - -## 🔧 Build Script Options - -### windows-build-universal.ps1 Parameters -```powershell --SkipVenv # Skip virtual environment creation --Verbose # Enable detailed output --FFmpeg # Build FFmpeg bundle version --MSIOnly # Create only MSI installer --ZIPOnly # Create only ZIP distribution --OutputDir # Custom output directory (default: "releases") --FFmpegPath # Custom FFmpeg binaries path -``` - -### Examples -```powershell -# Full build with verbose output -.\build\windows\windows-build-universal.ps1 -Verbose - -# Quick standard version build -.\build\windows\windows-build-universal.ps1 -MSIOnly - -# FFmpeg version to custom directory -.\build\windows\windows-build-universal.ps1 -FFmpeg -OutputDir "custom-builds" -``` - -## 📦 Output Artifacts - -### CI/CD Builds (GitHub Actions) -``` -releases/ -├── YTSage-v4.8.1.msi # Standard installer -├── YTSage-v4.8.1.zip # Standard portable -├── YTSage-v4.8.1-ffmpeg.msi # FFmpeg installer -└── YTSage-v4.8.1-ffmpeg.zip # FFmpeg portable -``` - -### Local Builds -``` -releases/ -├── YTSage-4.8.1.msi # Standard installer -├── YTSage-4.8.1.zip # Standard portable -├── YTSage-4.8.1-ffmpeg.msi # FFmpeg installer (if built) -└── YTSage-4.8.1-ffmpeg.zip # FFmpeg portable (if built) -``` - -## 🛠️ Build Requirements - -### System Requirements -- **OS**: Windows 10/11 -- **PowerShell**: 5.1 or later -- **Python**: 3.12+ (3.12.10 recommended for MSI compatibility) -- **Memory**: 4GB+ RAM recommended -- **Storage**: 2GB+ free space - -### Python Dependencies -- **cx_Freeze**: 6.x for MSI creation -- **playsound3**: Audio notification system -- **All project dependencies**: Listed in `requirements.txt` - -### Optional Components -- **FFmpeg**: For bundled builds (auto-downloaded if not present) -- **Code Signing**: Certificate for signed installers (optional) - -## 🔍 Troubleshooting - -### Common Issues - -#### Build Fails with Import Errors -```powershell -# Recreate virtual environment -Remove-Item venv -Recurse -Force -.\build\windows\windows-build-universal.ps1 -Verbose -``` - -#### MSI Creation Fails -- Ensure Python 3.12.x (required for MSI compatibility) -- Check cx_Freeze version (should be 6.x) -- Verify all dependencies are installed - -#### FFmpeg Not Found -```powershell -# Specify custom FFmpeg path -.\build\windows\windows-build-universal.ps1 -FFmpeg -FFmpegPath "C:\ffmpeg\bin" -``` - -#### CI/CD Build Fails -- Check GitHub Actions logs -- Verify tag format (`v*`) -- Ensure all required files are present -- Check file paths in workflow - -### Debug Mode -```powershell -# Enable maximum verbosity -.\build\windows\windows-build-universal.ps1 -Verbose -Debug -``` - -## 📈 Version Management - -### Automatic Version Detection -- **CI/CD**: Extracts version from git tag -- **Local**: Uses version from setup.py files -- **Format**: Semantic versioning (e.g., 4.8.1) - -### Manual Version Update -```powershell -# Update version in setup files -(Get-Content build\windows\setup.py) -replace 'version="[^"]*"', 'version="4.8.2"' | Set-Content build\windows\setup.py -(Get-Content build\windows\setup-ffmpeg.py) -replace 'version="[^"]*"', 'version="4.8.2"' | Set-Content build\windows\setup-ffmpeg.py -``` - -## 🔮 Future Enhancements - -### Planned Features -- **Linux builds**: Future cross-platform support -- **macOS builds**: Apple platform support -- **Auto-updater**: Built-in update mechanism -- **Digital signing**: Code signing for Windows - -### Contributing -- Build improvements welcome -- Cross-platform configurations -- Performance optimizations -- Documentation enhancements - -## 📚 Related Documentation - -- **CI/CD Guide**: `.github/CI_CD_README.md` -- **Project README**: `../README.md` -- **Release Notes**: GitHub Releases -- **Issue Tracking**: GitHub Issues - ---- - -**Last Updated**: August 2025 -**Build System Version**: 4.8.x -**Supported Platforms**: Windows (primary) diff --git a/build/windows/windows-build-universal.ps1 b/build/windows/windows-build-universal.ps1 deleted file mode 100644 index ccbcd27..0000000 --- a/build/windows/windows-build-universal.ps1 +++ /dev/null @@ -1,474 +0,0 @@ -#Requires -Version 5.1 - -<# -.SYNOPSIS - YTSage Universal Build Script - Creates MSI Installers and ZIP Distributions -.DESCRIPTION - This PowerShell script builds YTSage using cx_Freeze and creates: - - MSI installer packages - - ZIP file distributions (portable) - - Both standard and FFmpeg versions -.NOTES - Version: Auto-detected from setup.py - Location: build/windows/windows-build-universal.ps1 - Usage: Run from project root directory (build-env/) - - IMPORTANT: This script must be executed from the project root directory! - Example: .\build\windows\windows-build-universal.ps1 -Verbose -#> - -param( - [switch]$SkipVenv, - [switch]$Verbose, - [switch]$FFmpeg, - [switch]$MSIOnly, - [switch]$ZIPOnly, - [string]$OutputDir = "releases", - [string]$FFmpegPath = "$env:LOCALAPPDATA\ffmpeg\ffmpeg-7.1.1-full_build\bin" -) - -# Set error handling -$ErrorActionPreference = "Stop" - -# Script configuration - Auto-detect version from setup.py -$APP_NAME = "YTSage" -$RELEASE_DATE = Get-Date -Format "yyyy-MM-dd" - -# Auto-detect version from setup.py -function Get-VersionFromSetup { - try { - $setupContent = Get-Content "build\windows\setup.py" -Raw - if ($setupContent -match 'version="([^"]*)"') { - $version = $matches[1] - Write-Host "Detected version: $version" -ForegroundColor Gray - return $version - } else { - Write-Warning-Custom "Could not extract version from setup.py, using 1.0.0" - return "1.0.0" - } - } catch { - Write-Warning-Custom "Could not read setup.py, using 1.0.0" - return "1.0.0" - } -} - -$SCRIPT_VERSION = Get-VersionFromSetup - -# Determine build type -$BUILD_TYPE = if ($FFmpeg) { "FFmpeg" } else { "Standard" } -$SETUP_FILE = if ($FFmpeg) { "build\windows\setup-ffmpeg.py" } else { "build\windows\setup.py" } -$OUTPUT_NAME_BASE = if ($FFmpeg) { "$APP_NAME-v$SCRIPT_VERSION-ffmpeg" } else { "$APP_NAME-v$SCRIPT_VERSION" } - -# Banner -Write-Host "================================================" -ForegroundColor Cyan -Write-Host "YTSage Universal Build Script v$SCRIPT_VERSION" -ForegroundColor Cyan -Write-Host "Build Type: $BUILD_TYPE" -ForegroundColor Yellow -Write-Host "================================================" -ForegroundColor Cyan -Write-Host "" -Write-Host "This script will create:" -ForegroundColor Yellow -if (-not $ZIPOnly) { - Write-Host "- MSI installer package" -ForegroundColor White -} -if (-not $MSIOnly) { - Write-Host "- ZIP portable distribution" -ForegroundColor White -} -Write-Host "- Professional packaging with metadata" -ForegroundColor White -Write-Host "" - -function Write-Step { - param($Message) - Write-Host "[STEP] $Message" -ForegroundColor Green -} - -function Write-Error-Custom { - param($Message) - Write-Host "[ERROR] $Message" -ForegroundColor Red -} - -function Write-Warning-Custom { - param($Message) - Write-Host "[WARNING] $Message" -ForegroundColor Yellow -} - -function Test-Command { - param($Command) - try { - & $Command --version | Out-Null - return $true - } - catch { - return $false - } -} - -function Test-FFmpegBinaries { - if (-not $FFmpeg) { return $null } - - Write-Step "Checking FFmpeg binaries..." - - $ffmpegExe = Join-Path $FFmpegPath "ffmpeg.exe" - $ffprobeExe = Join-Path $FFmpegPath "ffprobe.exe" - $ffplayExe = Join-Path $FFmpegPath "ffplay.exe" - - $missingFiles = @() - - if (-not (Test-Path $ffmpegExe)) { $missingFiles += "ffmpeg.exe" } - if (-not (Test-Path $ffprobeExe)) { $missingFiles += "ffprobe.exe" } - if (-not (Test-Path $ffplayExe)) { $missingFiles += "ffplay.exe" } - - if ($missingFiles.Count -gt 0) { - Write-Error-Custom "Missing FFmpeg binaries: $($missingFiles -join ', ')" - Write-Host "Expected FFmpeg path: $FFmpegPath" -ForegroundColor Yellow - throw "FFmpeg binaries not found" - } - - Write-Host "✓ Found all FFmpeg binaries" -ForegroundColor Green - return @{ - ffmpeg = $ffmpegExe - ffprobe = $ffprobeExe - ffplay = $ffplayExe - } -} - -function New-VirtualEnvironment { - Write-Step "Creating virtual environment..." - try { - python -m venv venv - Write-Host "Virtual environment created successfully." -ForegroundColor Green - } - catch { - Write-Error-Custom "Failed to create virtual environment: $($_.Exception.Message)" - throw - } -} - -function Start-VirtualEnvironment { - Write-Step "Activating virtual environment..." - - $venvScript = ".\venv\Scripts\Activate.ps1" - if (-not (Test-Path $venvScript)) { - Write-Error-Custom "Virtual environment activation script not found at: $venvScript" - throw "Virtual environment not properly created" - } - - try { - & $venvScript - Write-Host "Virtual environment activated successfully." -ForegroundColor Green - } - catch { - Write-Error-Custom "Failed to activate virtual environment: $($_.Exception.Message)" - throw - } -} - -function Install-Dependencies { - Write-Step "Installing/Upgrading required packages..." - - try { - Write-Host "Upgrading pip..." -ForegroundColor White - python -m pip install --upgrade pip | Out-Null - - Write-Host "Installing requirements..." -ForegroundColor White - pip install --no-cache-dir -r requirements.txt | Out-Null - - Write-Host "Installing cx_Freeze..." -ForegroundColor White - pip install --no-cache-dir cx_Freeze | Out-Null - - Write-Host "Installing yt-dlp (temporary for build)..." -ForegroundColor White - pip install --no-cache-dir yt-dlp | Out-Null - - Write-Host "All packages installed successfully." -ForegroundColor Green - } - catch { - Write-Error-Custom "Failed to install required packages: $($_.Exception.Message)" - throw - } -} - -function Remove-BuildArtifacts { - Write-Step "Cleaning previous build artifacts..." - - $itemsToRemove = @("build", "dist", $OutputDir) - - foreach ($item in $itemsToRemove) { - if (Test-Path $item) { - Remove-Item $item -Recurse -Force - Write-Host "Removed: $item" -ForegroundColor Gray - } - } - - Write-Host "Build artifacts cleaned." -ForegroundColor Green -} - -function Build-Executable { - param($FFmpegBinaries) - - Write-Step "Building executable with cx_Freeze..." - - try { - if ($FFmpegBinaries) { - $env:FFMPEG_PATH = $FFmpegBinaries.ffmpeg | Split-Path - } - - # Build the executable - python $SETUP_FILE build - - if ($LASTEXITCODE -ne 0) { - throw "cx_Freeze build failed with exit code $LASTEXITCODE" - } - - Write-Host "Executable built successfully." -ForegroundColor Green - } - catch { - Write-Error-Custom "Failed to build executable: $($_.Exception.Message)" - throw - } -} - -function Build-MSI { - Write-Step "Creating MSI installer..." - - try { - # Build MSI package - python $SETUP_FILE bdist_msi - - if ($LASTEXITCODE -ne 0) { - throw "MSI build failed with exit code $LASTEXITCODE" - } - - Write-Host "MSI installer created successfully." -ForegroundColor Green - } - catch { - Write-Error-Custom "Failed to build MSI: $($_.Exception.Message)" - throw - } -} - -function New-ZIPDistribution { - Write-Step "Creating ZIP distribution..." - - try { - # Ensure output directory exists - if (-not (Test-Path $OutputDir)) { - New-Item -ItemType Directory -Path $OutputDir | Out-Null - } - - # Find the built executable directory - $executableDir = if ($FFmpeg) { "dist\YTSage-FFmpeg" } else { "dist\YTSage" } - - if (-not (Test-Path $executableDir)) { - throw "Executable directory not found: $executableDir" - } - - # Create ZIP file - $zipPath = Join-Path $OutputDir "$OUTPUT_NAME_BASE.zip" - Compress-Archive -Path "$executableDir\*" -DestinationPath $zipPath -Force - - Write-Host "ZIP distribution created: $zipPath" -ForegroundColor Green - - # Get ZIP file size - $zipSize = (Get-Item $zipPath).Length - $zipSizeMB = [math]::Round($zipSize / 1MB, 2) - Write-Host "ZIP size: $zipSizeMB MB" -ForegroundColor Gray - - } - catch { - Write-Error-Custom "Failed to create ZIP distribution: $($_.Exception.Message)" - throw - } -} - -function Move-MSIFiles { - Write-Step "Organizing MSI files..." - - try { - # Ensure output directory exists - if (-not (Test-Path $OutputDir)) { - New-Item -ItemType Directory -Path $OutputDir | Out-Null - } - - # Find and move MSI files - $msiFiles = Get-ChildItem -Path "dist" -Filter "*.msi" -Recurse - - foreach ($msiFile in $msiFiles) { - $newName = "$OUTPUT_NAME_BASE.msi" - $destination = Join-Path $OutputDir $newName - - Move-Item $msiFile.FullName $destination -Force - Write-Host "MSI installer moved to: $destination" -ForegroundColor Green - - # Get MSI file size - $msiSize = (Get-Item $destination).Length - $msiSizeMB = [math]::Round($msiSize / 1MB, 2) - Write-Host "MSI size: $msiSizeMB MB" -ForegroundColor Gray - } - } - catch { - Write-Error-Custom "Failed to organize MSI files: $($_.Exception.Message)" - throw - } -} - -function New-ReleaseNotes { - Write-Step "Creating release notes..." - - $releaseNotes = "# YTSage v$SCRIPT_VERSION Release`n`n" - $releaseNotes += "**Release Date:** $RELEASE_DATE`n" - $releaseNotes += "**Build Type:** $BUILD_TYPE`n`n" - $releaseNotes += "## Installation Options`n`n" - $releaseNotes += "### MSI Installer (Recommended)`n" - $releaseNotes += "- **File:** $OUTPUT_NAME_BASE.msi`n" - $releaseNotes += "- **Installation:** Double-click to install system-wide`n" - $releaseNotes += "- **Updates:** Automatic update notifications`n" - $releaseNotes += "- **Uninstall:** Via Windows Programs `& Features`n`n" - $releaseNotes += "### Portable ZIP`n" - $releaseNotes += "- **File:** $OUTPUT_NAME_BASE.zip`n" - $releaseNotes += "- **Installation:** Extract and run - no installation required`n" - $releaseNotes += "- **Updates:** Manual download and replacement`n" - $releaseNotes += "- **Uninstall:** Simply delete the folder`n`n" - $releaseNotes += "## System Requirements`n" - $releaseNotes += "- Windows 10/11 64-bit`n" - $releaseNotes += "- .NET Framework 4.7.2 or later`n" - $releaseNotes += "- Internet connection for yt-dlp updates`n`n" - $releaseNotes += "## Support`n" - $releaseNotes += "For issues or questions, please visit the project repository.`n`n" - $releaseNotes += "---`n" - $releaseNotes += "*Built with cx_Freeze*`n" - - try { - $releaseNotesPath = Join-Path $OutputDir "RELEASE_NOTES.md" - $releaseNotes | Out-File -FilePath $releaseNotesPath -Encoding UTF8 - Write-Host "Release notes created: $releaseNotesPath" -ForegroundColor Green - } - catch { - Write-Warning-Custom "Failed to create release notes: $($_.Exception.Message)" - } -} - -function Remove-PostBuildArtifacts { - Write-Step "Cleaning up post-build artifacts..." - - try { - if (Test-Path "build") { - Remove-Item "build" -Recurse -Force - Write-Host "Removed build folder." -ForegroundColor Gray - } - - Write-Host "Post-build cleanup completed." -ForegroundColor Green - } - catch { - Write-Warning-Custom "Some cleanup operations failed: $($_.Exception.Message)" - } -} - -function Stop-VirtualEnvironment { - try { - deactivate - Write-Host "Virtual environment deactivated." -ForegroundColor Green - } - catch { - Write-Warning-Custom "Failed to deactivate virtual environment (this might be normal)" - } -} - -function Show-BuildSummary { - Write-Host "" - Write-Host "================================================" -ForegroundColor Cyan - Write-Host "Build completed successfully!" -ForegroundColor Green - Write-Host "================================================" -ForegroundColor Cyan - Write-Host "" - Write-Host "Build Type: $BUILD_TYPE" -ForegroundColor Yellow - Write-Host "Version: $SCRIPT_VERSION" -ForegroundColor Yellow - Write-Host "Output Directory: $OutputDir" -ForegroundColor Yellow - Write-Host "" - - if (Test-Path $OutputDir) { - Write-Host "Created files:" -ForegroundColor Green - Get-ChildItem $OutputDir | ForEach-Object { - $size = if ($_.PSIsContainer) { "Folder" } else { "$([math]::Round($_.Length / 1MB, 2)) MB" } - Write-Host " ✓ $($_.Name) ($size)" -ForegroundColor White - } - } - - Write-Host "" - Write-Host "Distribution ready for release!" -ForegroundColor Green - Write-Host "" -} - -# Main execution -try { - # Validation - Write-Step "Checking prerequisites..." - - if (-not (Test-Command "python")) { - Write-Error-Custom "Python is not installed or not in PATH" - exit 1 - } - - if (-not (Test-Path $SETUP_FILE)) { - Write-Error-Custom "Setup file not found: $SETUP_FILE" - exit 1 - } - - $pythonVersion = python --version - Write-Host "Found: $pythonVersion" -ForegroundColor Green - - # Check for Python 3.13 MSI limitation - $pythonVersionInfo = python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')" - $isPython313 = $pythonVersionInfo -eq "3.13" - - if ($isPython313 -and -not $ZIPOnly) { - Write-Warning-Custom "Python 3.13 detected. MSI building is not supported yet by cx_Freeze." - Write-Host "See: https://github.com/marcelotduarte/cx_Freeze/issues/2837" -ForegroundColor Yellow - Write-Host "Switching to ZIP-only mode. Use Python 3.12 for MSI support." -ForegroundColor Yellow - $ZIPOnly = $true - $MSIOnly = $false - } - - # Check FFmpeg if needed - $ffmpegBinaries = Test-FFmpegBinaries - - # Virtual environment - if (-not $SkipVenv) { - if (-not (Test-Path "venv")) { - New-VirtualEnvironment - } else { - Write-Step "Using existing virtual environment..." - } - Start-VirtualEnvironment - } - - # Build process - Install-Dependencies - Remove-BuildArtifacts - Build-Executable -FFmpegBinaries $ffmpegBinaries - - # Create distributions - if (-not $ZIPOnly) { - Build-MSI - Move-MSIFiles - } - - if (-not $MSIOnly) { - New-ZIPDistribution - } - - New-ReleaseNotes - Remove-PostBuildArtifacts - Show-BuildSummary -} -catch { - Write-Error-Custom "Build failed: $($_.Exception.Message)" - if ($Verbose) { - Write-Host $_.Exception.StackTrace -ForegroundColor Red - } - exit 1 -} -finally { - if (-not $SkipVenv) { - Stop-VirtualEnvironment - } -} - -Write-Host "Press any key to continue..." -ForegroundColor Gray -$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") From 7fb316be9b4619bb08d5fdfa96efa7157ffbfd84 Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Wed, 27 Aug 2025 01:59:28 +0300 Subject: [PATCH 126/568] Add windows_build_universal.py --- build/windows/windows_build_universal.py | 413 +++++++++++++++++++++++ 1 file changed, 413 insertions(+) create mode 100644 build/windows/windows_build_universal.py diff --git a/build/windows/windows_build_universal.py b/build/windows/windows_build_universal.py new file mode 100644 index 0000000..2003caa --- /dev/null +++ b/build/windows/windows_build_universal.py @@ -0,0 +1,413 @@ +#!/usr/bin/env python3 +""" +YTSage Universal Build Script - Python Version +Creates MSI Installers and ZIP Distributions + +This Python script builds YTSage using cx_Freeze and creates: +- MSI installer packages +- ZIP file distributions (portable) +- Both standard and FFmpeg versions + +Usage: python windows_build_universal.py [options] +Example: python windows_build_universal.py --verbose --ffmpeg +""" + +import os +import sys +import subprocess +import shutil +import argparse +import zipfile +import re +from pathlib import Path +from datetime import datetime +import json + +class YTSageBuildScript: + def __init__(self, args): + self.args = args + self.app_name = "YTSage" + self.release_date = datetime.now().strftime("%Y-%m-%d") + self.script_version = self.get_version_from_setup() + self.build_type = "FFmpeg" if args.ffmpeg else "Standard" + self.setup_file = "build/windows/setup-ffmpeg.py" if args.ffmpeg else "build/windows/setup.py" + self.output_dir = Path(args.output_dir) + self.output_name_base = f"{self.app_name}-v{self.script_version}" + ("-ffmpeg" if args.ffmpeg else "") + + def get_version_from_setup(self): + """Extract version from setup.py file""" + try: + setup_path = Path("build/windows/setup.py") + if not setup_path.exists(): + self.print_warning("Setup file not found, using 1.0.0") + return "1.0.0" + + content = setup_path.read_text(encoding='utf-8') + match = re.search(r'version="([^"]*)"', content) + if match: + version = match.group(1) + self.print_info(f"Detected version: {version}") + return version + else: + self.print_warning("Could not extract version from setup.py, using 1.0.0") + return "1.0.0" + except Exception as e: + self.print_warning(f"Could not read setup.py: {e}, using 1.0.0") + return "1.0.0" + + def print_step(self, message): + """Print step message""" + print(f"🔄 {message}") + + def print_info(self, message): + """Print info message""" + print(f"ℹ️ {message}") + + def print_success(self, message): + """Print success message""" + print(f"✅ {message}") + + def print_warning(self, message): + """Print warning message""" + print(f"⚠️ {message}") + + def print_error(self, message): + """Print error message""" + print(f"❌ {message}") + + def run_command(self, cmd, check=True, shell=True): + """Run a command and return the result""" + if self.args.verbose: + self.print_info(f"Running: {cmd}") + + try: + result = subprocess.run(cmd, shell=shell, check=check, + capture_output=True, text=True) + if self.args.verbose and result.stdout: + print(result.stdout) + return result + except subprocess.CalledProcessError as e: + self.print_error(f"Command failed: {cmd}") + if e.stdout: + print(f"STDOUT: {e.stdout}") + if e.stderr: + print(f"STDERR: {e.stderr}") + raise + + def test_command(self, cmd): + """Test if a command exists""" + try: + subprocess.run(cmd, shell=True, check=True, + capture_output=True, text=True) + return True + except subprocess.CalledProcessError: + return False + + def check_prerequisites(self): + """Check system prerequisites""" + self.print_step("Checking prerequisites...") + + # Check Python + if not self.test_command("python --version"): + raise Exception("Python is not installed or not in PATH") + + # Check setup file + if not Path(self.setup_file).exists(): + raise Exception(f"Setup file not found: {self.setup_file}") + + # Get Python version + result = self.run_command("python --version") + self.print_success(f"Found: {result.stdout.strip()}") + + # Check for Python 3.13 MSI limitation + version_result = self.run_command('python -c "import sys; print(f\'{sys.version_info.major}.{sys.version_info.minor}\')"') + python_version = version_result.stdout.strip() + + if python_version == "3.13" and not self.args.zip_only: + self.print_warning("Python 3.13 detected. MSI building is not supported yet by cx_Freeze.") + self.print_info("See: https://github.com/marcelotduarte/cx_Freeze/issues/2837") + self.print_info("Switching to ZIP-only mode. Use Python 3.12 for MSI support.") + self.args.zip_only = True + self.args.msi_only = False + + def setup_virtual_environment(self): + """Set up and activate virtual environment""" + if self.args.skip_venv: + return + + if not Path("venv").exists(): + self.print_step("Creating virtual environment...") + self.run_command("python -m venv venv") + else: + self.print_step("Using existing virtual environment...") + + self.print_step("Activating virtual environment...") + # Note: We'll use venv/Scripts/python.exe directly instead of activation + + def get_python_exe(self): + """Get the Python executable path (venv or system)""" + if self.args.skip_venv: + return "python" + else: + venv_python = Path("venv/Scripts/python.exe") + if venv_python.exists(): + return str(venv_python) + else: + return "python" + + def install_dependencies(self): + """Install Python dependencies""" + self.print_step("Installing dependencies...") + python_exe = self.get_python_exe() + + # Upgrade pip + self.run_command(f'"{python_exe}" -m pip install --upgrade pip') + + # Install requirements + if Path("requirements.txt").exists(): + self.run_command(f'"{python_exe}" -m pip install --no-cache-dir -r requirements.txt') + + # Install build dependencies + self.run_command(f'"{python_exe}" -m pip install --no-cache-dir cx_Freeze') + self.run_command(f'"{python_exe}" -m pip install --no-cache-dir yt-dlp') + + self.print_success("Dependencies installed successfully") + + def remove_build_artifacts(self): + """Remove existing build artifacts""" + self.print_step("Cleaning build artifacts...") + + for path in ["build", "dist"]: + if Path(path).exists(): + shutil.rmtree(path) + if self.args.verbose: + self.print_info(f"Removed {path} directory") + + self.print_success("Build artifacts cleaned") + + def build_executable(self): + """Build executable using cx_Freeze""" + self.print_step("Building executable...") + python_exe = self.get_python_exe() + + try: + self.run_command(f'"{python_exe}" {self.setup_file} build') + self.print_success("Executable built successfully") + except subprocess.CalledProcessError: + raise Exception("Failed to build executable") + + def build_msi(self): + """Build MSI installer""" + if self.args.zip_only: + return + + self.print_step("Building MSI installer...") + python_exe = self.get_python_exe() + + try: + self.run_command(f'"{python_exe}" {self.setup_file} bdist_msi') + self.print_success("MSI installer built successfully") + except subprocess.CalledProcessError: + raise Exception("Failed to build MSI installer") + + def create_zip_distribution(self): + """Create ZIP distribution""" + if self.args.msi_only: + return + + self.print_step("Creating ZIP distribution...") + + # Find the built executable directory + build_dirs = list(Path("build").glob("exe.*")) + if not build_dirs: + raise Exception("No executable build directory found") + + exe_dir = build_dirs[0] + zip_name = f"{self.output_name_base}.zip" + zip_path = self.output_dir / zip_name + + # Ensure output directory exists + self.output_dir.mkdir(parents=True, exist_ok=True) + + # Create ZIP file + with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf: + for file_path in exe_dir.rglob('*'): + if file_path.is_file(): + arcname = file_path.relative_to(exe_dir) + zipf.write(file_path, arcname) + + # Get file size + zip_size_mb = zip_path.stat().st_size / (1024 * 1024) + self.print_success(f"ZIP created: {zip_path}") + self.print_info(f"ZIP size: {zip_size_mb:.2f} MB") + + def move_msi_files(self): + """Move MSI files to output directory""" + if self.args.zip_only: + return + + self.print_step("Organizing MSI files...") + + # Ensure output directory exists + self.output_dir.mkdir(parents=True, exist_ok=True) + + # Find and move MSI files + msi_files = list(Path("dist").glob("*.msi")) + + for msi_file in msi_files: + new_name = f"{self.output_name_base}.msi" + destination = self.output_dir / new_name + + shutil.move(str(msi_file), str(destination)) + + # Get file size + msi_size_mb = destination.stat().st_size / (1024 * 1024) + self.print_success(f"MSI moved to: {destination}") + self.print_info(f"MSI size: {msi_size_mb:.2f} MB") + + def create_release_notes(self): + """Create release notes""" + self.print_step("Creating release notes...") + + release_notes = f"""# YTSage v{self.script_version} Release + +**Release Date:** {self.release_date} +**Build Type:** {self.build_type} + +## Installation Options + +### MSI Installer (Recommended) +- **File:** {self.output_name_base}.msi +- **Installation:** Double-click to install system-wide +- **Updates:** Automatic update notifications +- **Uninstall:** Via Windows Programs and Features + +### Portable ZIP +- **File:** {self.output_name_base}.zip +- **Installation:** Extract and run - no installation required +- **Updates:** Manual download and replacement +- **Uninstall:** Simply delete the folder + +## System Requirements +- Windows 10/11 (64-bit) +- .NET Framework 4.7.2 or later +- Internet connection for yt-dlp updates + +## Support +For issues or questions, please visit the project repository. + +--- +*Built with cx_Freeze* +""" + + try: + release_notes_path = self.output_dir / "RELEASE_NOTES.md" + release_notes_path.write_text(release_notes, encoding='utf-8') + self.print_success(f"Release notes created: {release_notes_path}") + except Exception as e: + self.print_warning(f"Failed to create release notes: {e}") + + def cleanup_post_build(self): + """Clean up post-build artifacts""" + self.print_step("Cleaning up post-build artifacts...") + + try: + if Path("build").exists(): + shutil.rmtree("build") + self.print_info("Removed build folder") + + self.print_success("Post-build cleanup completed") + except Exception as e: + self.print_warning(f"Some cleanup operations failed: {e}") + + def show_build_summary(self): + """Show build summary""" + print("\n" + "="*50) + print("Build completed successfully!") + print("="*50) + print(f"Build Type: {self.build_type}") + print(f"Version: {self.script_version}") + print(f"Output Directory: {self.output_dir}") + print() + + if self.output_dir.exists(): + print("Created files:") + for file_path in self.output_dir.iterdir(): + if file_path.is_file(): + size_mb = file_path.stat().st_size / (1024 * 1024) + print(f" + {file_path.name} ({size_mb:.2f} MB)") + else: + print(f" + {file_path.name} (Folder)") + + print() + print("Distribution ready for release!") + print() + + def run(self): + """Main build process""" + try: + # Print banner + print("="*50) + print(f"YTSage Universal Build Script v{self.script_version}") + print(f"Build Type: {self.build_type}") + print("="*50) + print() + print("This script will create:") + if not self.args.zip_only: + print("- MSI installer package") + if not self.args.msi_only: + print("- ZIP portable distribution") + print("- Professional packaging with metadata") + print() + + # Main build process + self.check_prerequisites() + self.setup_virtual_environment() + self.install_dependencies() + self.remove_build_artifacts() + self.build_executable() + + # Create distributions + if not self.args.zip_only: + self.build_msi() + self.move_msi_files() + + if not self.args.msi_only: + self.create_zip_distribution() + + self.create_release_notes() + self.cleanup_post_build() + self.show_build_summary() + + except Exception as e: + self.print_error(f"Build failed: {e}") + if self.args.verbose: + import traceback + traceback.print_exc() + sys.exit(1) + + print("Press Enter to continue...") + input() + +def main(): + parser = argparse.ArgumentParser(description="YTSage Universal Build Script") + parser.add_argument("--skip-venv", action="store_true", help="Skip virtual environment setup") + parser.add_argument("--verbose", action="store_true", help="Enable verbose output") + parser.add_argument("--ffmpeg", action="store_true", help="Build FFmpeg version") + parser.add_argument("--msi-only", action="store_true", help="Build MSI only") + parser.add_argument("--zip-only", action="store_true", help="Build ZIP only") + parser.add_argument("--output-dir", default="releases", help="Output directory") + + args = parser.parse_args() + + # Validate arguments + if args.msi_only and args.zip_only: + print("Error: Cannot specify both --msi-only and --zip-only") + sys.exit(1) + + # Run build script + build_script = YTSageBuildScript(args) + build_script.run() + +if __name__ == "__main__": + main() From 86e3c15fa4e6d28fcf44b050da80ea7bc4157520 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 02:02:31 +0300 Subject: [PATCH 127/568] Add spacing before Notes section in CI/CD README Inserted a blank line before the Notes section for improved readability in the CI/CD README documentation. --- .github/CI_CD_README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 227f4a0..6cb34eb 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -103,6 +103,7 @@ To add new build configurations: 2. Add build steps to the workflow 3. Update artifact collection logic + ## Notes - The workflow only runs on Windows From 3f125bba98ab24140e884dff3583a6dc40314614 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 02:11:09 +0300 Subject: [PATCH 128/568] Replace emoji log prefixes with text labels Changed log message prefixes in YTSageBuildScript from emojis to text labels for improved clarity and consistency in output. --- build/windows/windows_build_universal.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build/windows/windows_build_universal.py b/build/windows/windows_build_universal.py index 2003caa..d6dc836 100644 --- a/build/windows/windows_build_universal.py +++ b/build/windows/windows_build_universal.py @@ -57,23 +57,23 @@ class YTSageBuildScript: def print_step(self, message): """Print step message""" - print(f"🔄 {message}") + print(f"[STEP] {message}") def print_info(self, message): """Print info message""" - print(f"ℹ️ {message}") + print(f"[INFO] {message}") def print_success(self, message): """Print success message""" - print(f"✅ {message}") + print(f"[SUCCESS] {message}") def print_warning(self, message): """Print warning message""" - print(f"⚠️ {message}") + print(f"[WARNING] {message}") def print_error(self, message): """Print error message""" - print(f"❌ {message}") + print(f"[ERROR] {message}") def run_command(self, cmd, check=True, shell=True): """Run a command and return the result""" From 42dfb5d8a48f9f49e047939f408996c22aa752d8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 02:28:28 +0300 Subject: [PATCH 129/568] Use absolute paths for build and setup files Refactored build script to use absolute paths for setup files and build artifacts, improving reliability and path resolution. Enhanced cleaning logic to preserve build/windows scripts, added verbose debug output, and added checks for setup file existence before build steps. --- build/windows/windows_build_universal.py | 64 +++++++++++++++++++----- 1 file changed, 52 insertions(+), 12 deletions(-) diff --git a/build/windows/windows_build_universal.py b/build/windows/windows_build_universal.py index d6dc836..0df73e4 100644 --- a/build/windows/windows_build_universal.py +++ b/build/windows/windows_build_universal.py @@ -30,16 +30,26 @@ class YTSageBuildScript: self.release_date = datetime.now().strftime("%Y-%m-%d") self.script_version = self.get_version_from_setup() self.build_type = "FFmpeg" if args.ffmpeg else "Standard" - self.setup_file = "build/windows/setup-ffmpeg.py" if args.ffmpeg else "build/windows/setup.py" + # Use absolute paths to ensure proper resolution + self.project_root = Path.cwd() + setup_filename = "setup-ffmpeg.py" if args.ffmpeg else "setup.py" + self.setup_file = self.project_root / "build" / "windows" / setup_filename self.output_dir = Path(args.output_dir) self.output_name_base = f"{self.app_name}-v{self.script_version}" + ("-ffmpeg" if args.ffmpeg else "") + # Debug information + if self.args.verbose: + self.print_info(f"Project root: {self.project_root}") + self.print_info(f"Setup file path: {self.setup_file}") + self.print_info(f"Setup file exists: {self.setup_file.exists()}") + def get_version_from_setup(self): """Extract version from setup.py file""" try: - setup_path = Path("build/windows/setup.py") + # Use absolute path from project root + setup_path = Path.cwd() / "build" / "windows" / "setup.py" if not setup_path.exists(): - self.print_warning("Setup file not found, using 1.0.0") + self.print_warning(f"Setup file not found at {setup_path}, using 1.0.0") return "1.0.0" content = setup_path.read_text(encoding='utf-8') @@ -177,11 +187,27 @@ class YTSageBuildScript: """Remove existing build artifacts""" self.print_step("Cleaning build artifacts...") - for path in ["build", "dist"]: - if Path(path).exists(): - shutil.rmtree(path) - if self.args.verbose: - self.print_info(f"Removed {path} directory") + # Remove dist directory completely + dist_path = self.project_root / "dist" + if dist_path.exists(): + shutil.rmtree(dist_path) + if self.args.verbose: + self.print_info(f"Removed dist directory") + + # Remove build output directories but keep the build/windows scripts + build_path = self.project_root / "build" + if build_path.exists(): + for item in build_path.iterdir(): + # Remove everything except the windows folder + if item.name != "windows": + if item.is_dir(): + shutil.rmtree(item) + if self.args.verbose: + self.print_info(f"Removed {item}") + else: + item.unlink() + if self.args.verbose: + self.print_info(f"Removed {item}") self.print_success("Build artifacts cleaned") @@ -190,8 +216,16 @@ class YTSageBuildScript: self.print_step("Building executable...") python_exe = self.get_python_exe() + # Verify setup file exists before proceeding + if not self.setup_file.exists(): + raise Exception(f"Setup file not found: {self.setup_file}") + + self.print_info(f"Using setup file: {self.setup_file}") + try: - self.run_command(f'"{python_exe}" {self.setup_file} build') + # Use absolute path for setup file + setup_file_str = str(self.setup_file) + self.run_command(f'"{python_exe}" "{setup_file_str}" build') self.print_success("Executable built successfully") except subprocess.CalledProcessError: raise Exception("Failed to build executable") @@ -204,8 +238,14 @@ class YTSageBuildScript: self.print_step("Building MSI installer...") python_exe = self.get_python_exe() + # Verify setup file exists before proceeding + if not self.setup_file.exists(): + raise Exception(f"Setup file not found: {self.setup_file}") + try: - self.run_command(f'"{python_exe}" {self.setup_file} bdist_msi') + # Use absolute path for setup file + setup_file_str = str(self.setup_file) + self.run_command(f'"{python_exe}" "{setup_file_str}" bdist_msi') self.print_success("MSI installer built successfully") except subprocess.CalledProcessError: raise Exception("Failed to build MSI installer") @@ -218,7 +258,7 @@ class YTSageBuildScript: self.print_step("Creating ZIP distribution...") # Find the built executable directory - build_dirs = list(Path("build").glob("exe.*")) + build_dirs = list((self.project_root / "build").glob("exe.*")) if not build_dirs: raise Exception("No executable build directory found") @@ -252,7 +292,7 @@ class YTSageBuildScript: self.output_dir.mkdir(parents=True, exist_ok=True) # Find and move MSI files - msi_files = list(Path("dist").glob("*.msi")) + msi_files = list((self.project_root / "dist").glob("*.msi")) for msi_file in msi_files: new_name = f"{self.output_name_base}.msi" From e2454965dd5ec9c67186d7af44a9c67e9a05f591 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 02:37:37 +0300 Subject: [PATCH 130/568] Remove universal Windows build script Deleted build/windows/windows_build_universal.py as part of cleanup or migration. This script previously handled MSI and ZIP packaging for YTSage using cx_Freeze. --- build/windows/windows_build_universal.py | 453 ----------------------- 1 file changed, 453 deletions(-) delete mode 100644 build/windows/windows_build_universal.py diff --git a/build/windows/windows_build_universal.py b/build/windows/windows_build_universal.py deleted file mode 100644 index 0df73e4..0000000 --- a/build/windows/windows_build_universal.py +++ /dev/null @@ -1,453 +0,0 @@ -#!/usr/bin/env python3 -""" -YTSage Universal Build Script - Python Version -Creates MSI Installers and ZIP Distributions - -This Python script builds YTSage using cx_Freeze and creates: -- MSI installer packages -- ZIP file distributions (portable) -- Both standard and FFmpeg versions - -Usage: python windows_build_universal.py [options] -Example: python windows_build_universal.py --verbose --ffmpeg -""" - -import os -import sys -import subprocess -import shutil -import argparse -import zipfile -import re -from pathlib import Path -from datetime import datetime -import json - -class YTSageBuildScript: - def __init__(self, args): - self.args = args - self.app_name = "YTSage" - self.release_date = datetime.now().strftime("%Y-%m-%d") - self.script_version = self.get_version_from_setup() - self.build_type = "FFmpeg" if args.ffmpeg else "Standard" - # Use absolute paths to ensure proper resolution - self.project_root = Path.cwd() - setup_filename = "setup-ffmpeg.py" if args.ffmpeg else "setup.py" - self.setup_file = self.project_root / "build" / "windows" / setup_filename - self.output_dir = Path(args.output_dir) - self.output_name_base = f"{self.app_name}-v{self.script_version}" + ("-ffmpeg" if args.ffmpeg else "") - - # Debug information - if self.args.verbose: - self.print_info(f"Project root: {self.project_root}") - self.print_info(f"Setup file path: {self.setup_file}") - self.print_info(f"Setup file exists: {self.setup_file.exists()}") - - def get_version_from_setup(self): - """Extract version from setup.py file""" - try: - # Use absolute path from project root - setup_path = Path.cwd() / "build" / "windows" / "setup.py" - if not setup_path.exists(): - self.print_warning(f"Setup file not found at {setup_path}, using 1.0.0") - return "1.0.0" - - content = setup_path.read_text(encoding='utf-8') - match = re.search(r'version="([^"]*)"', content) - if match: - version = match.group(1) - self.print_info(f"Detected version: {version}") - return version - else: - self.print_warning("Could not extract version from setup.py, using 1.0.0") - return "1.0.0" - except Exception as e: - self.print_warning(f"Could not read setup.py: {e}, using 1.0.0") - return "1.0.0" - - def print_step(self, message): - """Print step message""" - print(f"[STEP] {message}") - - def print_info(self, message): - """Print info message""" - print(f"[INFO] {message}") - - def print_success(self, message): - """Print success message""" - print(f"[SUCCESS] {message}") - - def print_warning(self, message): - """Print warning message""" - print(f"[WARNING] {message}") - - def print_error(self, message): - """Print error message""" - print(f"[ERROR] {message}") - - def run_command(self, cmd, check=True, shell=True): - """Run a command and return the result""" - if self.args.verbose: - self.print_info(f"Running: {cmd}") - - try: - result = subprocess.run(cmd, shell=shell, check=check, - capture_output=True, text=True) - if self.args.verbose and result.stdout: - print(result.stdout) - return result - except subprocess.CalledProcessError as e: - self.print_error(f"Command failed: {cmd}") - if e.stdout: - print(f"STDOUT: {e.stdout}") - if e.stderr: - print(f"STDERR: {e.stderr}") - raise - - def test_command(self, cmd): - """Test if a command exists""" - try: - subprocess.run(cmd, shell=True, check=True, - capture_output=True, text=True) - return True - except subprocess.CalledProcessError: - return False - - def check_prerequisites(self): - """Check system prerequisites""" - self.print_step("Checking prerequisites...") - - # Check Python - if not self.test_command("python --version"): - raise Exception("Python is not installed or not in PATH") - - # Check setup file - if not Path(self.setup_file).exists(): - raise Exception(f"Setup file not found: {self.setup_file}") - - # Get Python version - result = self.run_command("python --version") - self.print_success(f"Found: {result.stdout.strip()}") - - # Check for Python 3.13 MSI limitation - version_result = self.run_command('python -c "import sys; print(f\'{sys.version_info.major}.{sys.version_info.minor}\')"') - python_version = version_result.stdout.strip() - - if python_version == "3.13" and not self.args.zip_only: - self.print_warning("Python 3.13 detected. MSI building is not supported yet by cx_Freeze.") - self.print_info("See: https://github.com/marcelotduarte/cx_Freeze/issues/2837") - self.print_info("Switching to ZIP-only mode. Use Python 3.12 for MSI support.") - self.args.zip_only = True - self.args.msi_only = False - - def setup_virtual_environment(self): - """Set up and activate virtual environment""" - if self.args.skip_venv: - return - - if not Path("venv").exists(): - self.print_step("Creating virtual environment...") - self.run_command("python -m venv venv") - else: - self.print_step("Using existing virtual environment...") - - self.print_step("Activating virtual environment...") - # Note: We'll use venv/Scripts/python.exe directly instead of activation - - def get_python_exe(self): - """Get the Python executable path (venv or system)""" - if self.args.skip_venv: - return "python" - else: - venv_python = Path("venv/Scripts/python.exe") - if venv_python.exists(): - return str(venv_python) - else: - return "python" - - def install_dependencies(self): - """Install Python dependencies""" - self.print_step("Installing dependencies...") - python_exe = self.get_python_exe() - - # Upgrade pip - self.run_command(f'"{python_exe}" -m pip install --upgrade pip') - - # Install requirements - if Path("requirements.txt").exists(): - self.run_command(f'"{python_exe}" -m pip install --no-cache-dir -r requirements.txt') - - # Install build dependencies - self.run_command(f'"{python_exe}" -m pip install --no-cache-dir cx_Freeze') - self.run_command(f'"{python_exe}" -m pip install --no-cache-dir yt-dlp') - - self.print_success("Dependencies installed successfully") - - def remove_build_artifacts(self): - """Remove existing build artifacts""" - self.print_step("Cleaning build artifacts...") - - # Remove dist directory completely - dist_path = self.project_root / "dist" - if dist_path.exists(): - shutil.rmtree(dist_path) - if self.args.verbose: - self.print_info(f"Removed dist directory") - - # Remove build output directories but keep the build/windows scripts - build_path = self.project_root / "build" - if build_path.exists(): - for item in build_path.iterdir(): - # Remove everything except the windows folder - if item.name != "windows": - if item.is_dir(): - shutil.rmtree(item) - if self.args.verbose: - self.print_info(f"Removed {item}") - else: - item.unlink() - if self.args.verbose: - self.print_info(f"Removed {item}") - - self.print_success("Build artifacts cleaned") - - def build_executable(self): - """Build executable using cx_Freeze""" - self.print_step("Building executable...") - python_exe = self.get_python_exe() - - # Verify setup file exists before proceeding - if not self.setup_file.exists(): - raise Exception(f"Setup file not found: {self.setup_file}") - - self.print_info(f"Using setup file: {self.setup_file}") - - try: - # Use absolute path for setup file - setup_file_str = str(self.setup_file) - self.run_command(f'"{python_exe}" "{setup_file_str}" build') - self.print_success("Executable built successfully") - except subprocess.CalledProcessError: - raise Exception("Failed to build executable") - - def build_msi(self): - """Build MSI installer""" - if self.args.zip_only: - return - - self.print_step("Building MSI installer...") - python_exe = self.get_python_exe() - - # Verify setup file exists before proceeding - if not self.setup_file.exists(): - raise Exception(f"Setup file not found: {self.setup_file}") - - try: - # Use absolute path for setup file - setup_file_str = str(self.setup_file) - self.run_command(f'"{python_exe}" "{setup_file_str}" bdist_msi') - self.print_success("MSI installer built successfully") - except subprocess.CalledProcessError: - raise Exception("Failed to build MSI installer") - - def create_zip_distribution(self): - """Create ZIP distribution""" - if self.args.msi_only: - return - - self.print_step("Creating ZIP distribution...") - - # Find the built executable directory - build_dirs = list((self.project_root / "build").glob("exe.*")) - if not build_dirs: - raise Exception("No executable build directory found") - - exe_dir = build_dirs[0] - zip_name = f"{self.output_name_base}.zip" - zip_path = self.output_dir / zip_name - - # Ensure output directory exists - self.output_dir.mkdir(parents=True, exist_ok=True) - - # Create ZIP file - with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zipf: - for file_path in exe_dir.rglob('*'): - if file_path.is_file(): - arcname = file_path.relative_to(exe_dir) - zipf.write(file_path, arcname) - - # Get file size - zip_size_mb = zip_path.stat().st_size / (1024 * 1024) - self.print_success(f"ZIP created: {zip_path}") - self.print_info(f"ZIP size: {zip_size_mb:.2f} MB") - - def move_msi_files(self): - """Move MSI files to output directory""" - if self.args.zip_only: - return - - self.print_step("Organizing MSI files...") - - # Ensure output directory exists - self.output_dir.mkdir(parents=True, exist_ok=True) - - # Find and move MSI files - msi_files = list((self.project_root / "dist").glob("*.msi")) - - for msi_file in msi_files: - new_name = f"{self.output_name_base}.msi" - destination = self.output_dir / new_name - - shutil.move(str(msi_file), str(destination)) - - # Get file size - msi_size_mb = destination.stat().st_size / (1024 * 1024) - self.print_success(f"MSI moved to: {destination}") - self.print_info(f"MSI size: {msi_size_mb:.2f} MB") - - def create_release_notes(self): - """Create release notes""" - self.print_step("Creating release notes...") - - release_notes = f"""# YTSage v{self.script_version} Release - -**Release Date:** {self.release_date} -**Build Type:** {self.build_type} - -## Installation Options - -### MSI Installer (Recommended) -- **File:** {self.output_name_base}.msi -- **Installation:** Double-click to install system-wide -- **Updates:** Automatic update notifications -- **Uninstall:** Via Windows Programs and Features - -### Portable ZIP -- **File:** {self.output_name_base}.zip -- **Installation:** Extract and run - no installation required -- **Updates:** Manual download and replacement -- **Uninstall:** Simply delete the folder - -## System Requirements -- Windows 10/11 (64-bit) -- .NET Framework 4.7.2 or later -- Internet connection for yt-dlp updates - -## Support -For issues or questions, please visit the project repository. - ---- -*Built with cx_Freeze* -""" - - try: - release_notes_path = self.output_dir / "RELEASE_NOTES.md" - release_notes_path.write_text(release_notes, encoding='utf-8') - self.print_success(f"Release notes created: {release_notes_path}") - except Exception as e: - self.print_warning(f"Failed to create release notes: {e}") - - def cleanup_post_build(self): - """Clean up post-build artifacts""" - self.print_step("Cleaning up post-build artifacts...") - - try: - if Path("build").exists(): - shutil.rmtree("build") - self.print_info("Removed build folder") - - self.print_success("Post-build cleanup completed") - except Exception as e: - self.print_warning(f"Some cleanup operations failed: {e}") - - def show_build_summary(self): - """Show build summary""" - print("\n" + "="*50) - print("Build completed successfully!") - print("="*50) - print(f"Build Type: {self.build_type}") - print(f"Version: {self.script_version}") - print(f"Output Directory: {self.output_dir}") - print() - - if self.output_dir.exists(): - print("Created files:") - for file_path in self.output_dir.iterdir(): - if file_path.is_file(): - size_mb = file_path.stat().st_size / (1024 * 1024) - print(f" + {file_path.name} ({size_mb:.2f} MB)") - else: - print(f" + {file_path.name} (Folder)") - - print() - print("Distribution ready for release!") - print() - - def run(self): - """Main build process""" - try: - # Print banner - print("="*50) - print(f"YTSage Universal Build Script v{self.script_version}") - print(f"Build Type: {self.build_type}") - print("="*50) - print() - print("This script will create:") - if not self.args.zip_only: - print("- MSI installer package") - if not self.args.msi_only: - print("- ZIP portable distribution") - print("- Professional packaging with metadata") - print() - - # Main build process - self.check_prerequisites() - self.setup_virtual_environment() - self.install_dependencies() - self.remove_build_artifacts() - self.build_executable() - - # Create distributions - if not self.args.zip_only: - self.build_msi() - self.move_msi_files() - - if not self.args.msi_only: - self.create_zip_distribution() - - self.create_release_notes() - self.cleanup_post_build() - self.show_build_summary() - - except Exception as e: - self.print_error(f"Build failed: {e}") - if self.args.verbose: - import traceback - traceback.print_exc() - sys.exit(1) - - print("Press Enter to continue...") - input() - -def main(): - parser = argparse.ArgumentParser(description="YTSage Universal Build Script") - parser.add_argument("--skip-venv", action="store_true", help="Skip virtual environment setup") - parser.add_argument("--verbose", action="store_true", help="Enable verbose output") - parser.add_argument("--ffmpeg", action="store_true", help="Build FFmpeg version") - parser.add_argument("--msi-only", action="store_true", help="Build MSI only") - parser.add_argument("--zip-only", action="store_true", help="Build ZIP only") - parser.add_argument("--output-dir", default="releases", help="Output directory") - - args = parser.parse_args() - - # Validate arguments - if args.msi_only and args.zip_only: - print("Error: Cannot specify both --msi-only and --zip-only") - sys.exit(1) - - # Run build script - build_script = YTSageBuildScript(args) - build_script.run() - -if __name__ == "__main__": - main() From 858fb0fc98bded08884190785daa5d50c5812db0 Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Wed, 27 Aug 2025 02:39:46 +0300 Subject: [PATCH 131/568] update scripts --- build/windows/setup.py | 260 ++++++++++++++++++++--------------------- 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/build/windows/setup.py b/build/windows/setup.py index 72c7232..e51eb76 100644 --- a/build/windows/setup.py +++ b/build/windows/setup.py @@ -1,130 +1,130 @@ -""" -cx_Freeze setup script for YTSage -Supports building executables, MSI installers, and ZIP distributions -""" - -import sys -from pathlib import Path -from cx_Freeze import setup, Executable - -# Build options for executable -build_exe_options = { - # Packages to include - "packages": [ - "PySide6.QtCore", - "PySide6.QtGui", - "PySide6.QtWidgets", - "src.gui.ytsage_gui_main", - "src.core.ytsage_utils", - "src.core.ytsage_downloader", - "src.core.ytsage_ffmpeg", - "src.core.ytsage_yt_dlp", - "src.core.ytsage_style", - "src.core.ytsage_logging", - "src.gui.ytsage_gui_format_table", - "src.gui.ytsage_gui_video_info", - "src.gui.ytsage_gui_dialogs", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_base", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_ffmpeg", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_selection", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_settings", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_update", - "src.utils.ytsage_constants", - # Additional packages that might be needed - "requests", - "PIL", # Pillow is imported as PIL - "packaging", - "markdown", - "playsound3", - "loguru", - "setuptools" - ], - - # Packages to exclude (to reduce size) - "excludes": [ - "PySide6.QtBluetooth", - "PySide6.QtNetwork", - "PySide6.QtOpenGL", - "PySide6.QtPrintSupport", - "PySide6.QtSvg", - "PySide6.QtTest", - "PySide6.QtXml", - "PySide6.QtSql", - "PySide6.QtHelp", - "PySide6.QtMultimedia", - "PySide6.QtQml", - "PySide6.QtQuick", - "PySide6.QtWebEngineCore", - "PIL.ImageDraw", - "PIL.ImageFont", - "numpy", - "scipy", - "wx", - "pandas", - "tkinter", - "yt_dlp", # Excluded - downloaded dynamically at runtime (all imports are conditional) - "unittest", - "test", - "tests" - ], - - # Include files (assets) - "include_files": [ - ("assets/Icon/icon.png", "assets/Icon/icon.png"), - ("assets/sound/notification.mp3", "assets/sound/notification.mp3"), - ("assets/branding/icons/YTSage.ico", "YTSage.ico") - ], - - # Zip includes (can help reduce file count) - "zip_include_packages": "*", - "zip_exclude_packages": [], - - # Other options - "optimize": 2, # Optimize bytecode - "build_exe": "dist/YTSage", # Output directory for executable -} - -# MSI build options -bdist_msi_options = { - "upgrade_code": "{12345678-1234-5678-9ABC-123456789ABC}", # Generate unique GUID - "add_to_path": False, - "initial_target_dir": r"[ProgramFilesFolder]\YTSage", - "install_icon": "assets/branding/icons/YTSage.ico", - "summary_data": { - "author": "oop7", - "comments": "YouTube Video Downloader - Easy to use video downloading tool", - "keywords": "youtube, downloader, video, audio, converter" - } -} - -# Base configuration for Windows GUI application -base = None -if sys.platform == "win32": - base = "Win32GUI" # This prevents console window from appearing - -# Executable configuration -executable = Executable( - "main.py", - base=base, - icon="assets/branding/icons/YTSage.ico", - target_name="YTSage-v4.8.0.exe", - copyright="Copyright (c) 2024-2025 YTSage", - trademarks="YTSage" -) - -# Setup configuration -setup( - name="YTSage", - version="4.8.0", - description="YouTube Video Downloader", - author="oop7", - author_email="oop7_support@proton.me", - url="https://github.com/oop7/ytsage", - license="MIT", - options={ - "build_exe": build_exe_options, - "bdist_msi": bdist_msi_options - }, - executables=[executable] -) +""" +cx_Freeze setup script for YTSage +Supports building executables, MSI installers, and ZIP distributions +""" + +import sys +from pathlib import Path +from cx_Freeze import setup, Executable + +# Build options for executable +build_exe_options = { + # Packages to include + "packages": [ + "PySide6.QtCore", + "PySide6.QtGui", + "PySide6.QtWidgets", + "src.gui.ytsage_gui_main", + "src.core.ytsage_utils", + "src.core.ytsage_downloader", + "src.core.ytsage_ffmpeg", + "src.core.ytsage_yt_dlp", + "src.core.ytsage_style", + "src.core.ytsage_logging", + "src.gui.ytsage_gui_format_table", + "src.gui.ytsage_gui_video_info", + "src.gui.ytsage_gui_dialogs", + "src.gui.ytsage_gui_dialogs.ytsage_dialogs_base", + "src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom", + "src.gui.ytsage_gui_dialogs.ytsage_dialogs_ffmpeg", + "src.gui.ytsage_gui_dialogs.ytsage_dialogs_selection", + "src.gui.ytsage_gui_dialogs.ytsage_dialogs_settings", + "src.gui.ytsage_gui_dialogs.ytsage_dialogs_update", + "src.utils.ytsage_constants", + # Additional packages that might be needed + "requests", + "PIL", # Pillow is imported as PIL + "packaging", + "markdown", + "playsound3", + "loguru", + "setuptools" + ], + + # Packages to exclude (to reduce size) + "excludes": [ + "PySide6.QtBluetooth", + "PySide6.QtNetwork", + "PySide6.QtOpenGL", + "PySide6.QtPrintSupport", + "PySide6.QtSvg", + "PySide6.QtTest", + "PySide6.QtXml", + "PySide6.QtSql", + "PySide6.QtHelp", + "PySide6.QtMultimedia", + "PySide6.QtQml", + "PySide6.QtQuick", + "PySide6.QtWebEngineCore", + "PIL.ImageDraw", + "PIL.ImageFont", + "numpy", + "scipy", + "wx", + "pandas", + "tkinter", + "yt_dlp", # Excluded - downloaded dynamically at runtime (all imports are conditional) + "unittest", + "test", + "tests" + ], + + # Include files (assets) + "include_files": [ + ("assets/Icon/icon.png", "assets/Icon/icon.png"), + ("assets/sound/notification.mp3", "assets/sound/notification.mp3"), + ("assets/branding/icons/YTSage.ico", "YTSage.ico") + ], + + # Zip includes (can help reduce file count) + "zip_include_packages": "*", + "zip_exclude_packages": [], + + # Other options + "optimize": 2, # Optimize bytecode + "build_exe": "dist/YTSage", # Output directory for executable +} + +# MSI build options +bdist_msi_options = { + "upgrade_code": "{12345678-1234-5678-9ABC-123456789ABC}", # Generate unique GUID + "add_to_path": False, + "initial_target_dir": r"[ProgramFilesFolder]\YTSage", + "install_icon": "assets/branding/icons/YTSage.ico", + "summary_data": { + "author": "oop7", + "comments": "YouTube Video Downloader - Easy to use video downloading tool", + "keywords": "youtube, downloader, video, audio, converter" + } +} + +# Base configuration for Windows GUI application +base = None +if sys.platform == "win32": + base = "Win32GUI" # This prevents console window from appearing + +# Executable configuration +executable = Executable( + "main.py", + base=base, + icon="assets/branding/icons/YTSage.ico", + target_name="YTSage-v4.8.0.exe", + copyright="Copyright (c) 2024-2025 YTSage", + trademarks="YTSage" +) + +# Setup configuration +setup( + name="YTSage", + version="4.8.0", + description="YouTube Video Downloader", + author="oop7", + author_email="oop7_support@proton.me", + url="https://github.com/oop7/ytsage", + license="MIT", + options={ + "build_exe": build_exe_options, + "bdist_msi": bdist_msi_options + }, + executables=[executable] +) From d3b62bcee370a080bce3d3b4de44f2a16e5ef06f Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 02:41:40 +0300 Subject: [PATCH 132/568] Refactor Windows build workflow for clarity and artifact handling Replaces universal build script calls with explicit build, MSI, and ZIP steps for both standard and FFmpeg versions. Cleans previous build artifacts before building, and updates artifact preparation to source files from the 'dist' directory instead of 'releases'. Improves reliability and transparency of build and release artifact management. --- .github/workflows/build-windows.yml | 50 ++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 0f941a2..b07500c 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -75,14 +75,48 @@ jobs: run: | .\venv\Scripts\Activate.ps1 Write-Host "Building Standard Version..." - python build\windows\windows_build_universal.py --verbose + + # Clean previous build artifacts + if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } + + # Build executable + python build\windows\setup.py build + + # Build MSI installer + python build\windows\setup.py bdist_msi + + # Create ZIP distribution + $exeDir = Get-ChildItem -Path "build" -Directory -Filter "exe.*" | Select-Object -First 1 + if ($exeDir) { + $version = "${{ steps.get_version.outputs.VERSION }}" + Compress-Archive -Path "$($exeDir.FullName)\*" -DestinationPath "dist\YTSage-v$version.zip" -Force + Write-Host "Created ZIP: YTSage-v$version.zip" + } - name: Build FFmpeg Version (MSI + ZIP) shell: powershell run: | .\venv\Scripts\Activate.ps1 Write-Host "Building FFmpeg Version..." - python build\windows\windows_build_universal.py --ffmpeg --verbose + + # Clean previous build artifacts + if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "dist\*.msi") { Remove-Item "dist\*.msi" -Force } + + # Build executable with FFmpeg + python build\windows\setup-ffmpeg.py build + + # Build MSI installer with FFmpeg + python build\windows\setup-ffmpeg.py bdist_msi + + # Create ZIP distribution with FFmpeg + $exeDir = Get-ChildItem -Path "build" -Directory -Filter "exe.*" | Select-Object -First 1 + if ($exeDir) { + $version = "${{ steps.get_version.outputs.VERSION }}" + Compress-Archive -Path "$($exeDir.FullName)\*" -DestinationPath "dist\YTSage-v$version-ffmpeg.zip" -Force + Write-Host "Created ZIP: YTSage-v$version-ffmpeg.zip" + } - name: Prepare release artifacts shell: powershell @@ -92,27 +126,27 @@ jobs: Write-Host "Preparing artifacts for version: $version" New-Item -ItemType Directory -Path "artifacts" -Force - # Find and copy standard build artifacts - $standardMsi = Get-ChildItem -Path "releases" -Filter "YTSage-v$version.msi" -Recurse | Select-Object -First 1 + # Find and copy standard build artifacts from dist directory + $standardMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -notlike "*ffmpeg*" } | Select-Object -First 1 if ($standardMsi) { Copy-Item $standardMsi.FullName "artifacts\YTSage-v$version.msi" Write-Host "Copied: $($standardMsi.Name) -> YTSage-v$version.msi" } - $standardZip = Get-ChildItem -Path "releases" -Filter "YTSage-v$version.zip" -Recurse | Select-Object -First 1 + $standardZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version.zip" | Select-Object -First 1 if ($standardZip) { Copy-Item $standardZip.FullName "artifacts\YTSage-v$version.zip" Write-Host "Copied: $($standardZip.Name) -> YTSage-v$version.zip" } - # Find and copy FFmpeg build artifacts - $ffmpegMsi = Get-ChildItem -Path "releases" -Filter "YTSage-v$version-ffmpeg.msi" -Recurse | Select-Object -First 1 + # Find and copy FFmpeg build artifacts from dist directory + $ffmpegMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -like "*ffmpeg*" } | Select-Object -First 1 if ($ffmpegMsi) { Copy-Item $ffmpegMsi.FullName "artifacts\YTSage-v$version-ffmpeg.msi" Write-Host "Copied: $($ffmpegMsi.Name) -> YTSage-v$version-ffmpeg.msi" } - $ffmpegZip = Get-ChildItem -Path "releases" -Filter "YTSage-v$version-ffmpeg.zip" -Recurse | Select-Object -First 1 + $ffmpegZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version-ffmpeg.zip" | Select-Object -First 1 if ($ffmpegZip) { Copy-Item $ffmpegZip.FullName "artifacts\YTSage-v$version-ffmpeg.zip" Write-Host "Copied: $($ffmpegZip.Name) -> YTSage-v$version-ffmpeg.zip" From 700ec8e27e2f268eca0bff93d01ee1b97b564f53 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 02:45:31 +0300 Subject: [PATCH 133/568] Simplify cx_Freeze package discovery and include src directory Removed explicit package listing in build_exe_options for cx_Freeze setup scripts, allowing auto-discovery from main.py. Added the entire src directory to include_files to ensure all source code is bundled with the build. --- build/windows/setup-ffmpeg.py | 22 +++------------------- build/windows/setup.py | 22 +++------------------- 2 files changed, 6 insertions(+), 38 deletions(-) diff --git a/build/windows/setup-ffmpeg.py b/build/windows/setup-ffmpeg.py index 5ec2038..23e0b07 100644 --- a/build/windows/setup-ffmpeg.py +++ b/build/windows/setup-ffmpeg.py @@ -13,28 +13,11 @@ FFMPEG_PATH = os.environ.get('FFMPEG_PATH', r'C:\Users\atela\AppData\Local\ffmpe # Build options for executable build_exe_options = { - # Packages to include + # Let cx_Freeze auto-discover packages from main.py instead of explicit listing "packages": [ "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", - "src.gui.ytsage_gui_main", - "src.core.ytsage_utils", - "src.core.ytsage_downloader", - "src.core.ytsage_ffmpeg", - "src.core.ytsage_yt_dlp", - "src.core.ytsage_style", - "src.core.ytsage_logging", - "src.gui.ytsage_gui_format_table", - "src.gui.ytsage_gui_video_info", - "src.gui.ytsage_gui_dialogs", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_base", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_ffmpeg", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_selection", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_settings", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_update", - "src.utils.ytsage_constants", # Additional packages that might be needed "requests", "PIL", # Pillow is imported as PIL @@ -73,8 +56,9 @@ build_exe_options = { "tests" ], - # Include files (assets + FFmpeg binaries) + # Include files (assets + FFmpeg binaries + source code) "include_files": [ + ("src/", "src/"), # Include entire src directory ("assets/Icon/icon.png", "assets/Icon/icon.png"), ("assets/sound/notification.mp3", "assets/sound/notification.mp3"), ("assets/branding/icons/YTSage.ico", "YTSage.ico"), diff --git a/build/windows/setup.py b/build/windows/setup.py index e51eb76..cc16372 100644 --- a/build/windows/setup.py +++ b/build/windows/setup.py @@ -9,28 +9,11 @@ from cx_Freeze import setup, Executable # Build options for executable build_exe_options = { - # Packages to include + # Let cx_Freeze auto-discover packages from main.py instead of explicit listing "packages": [ "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", - "src.gui.ytsage_gui_main", - "src.core.ytsage_utils", - "src.core.ytsage_downloader", - "src.core.ytsage_ffmpeg", - "src.core.ytsage_yt_dlp", - "src.core.ytsage_style", - "src.core.ytsage_logging", - "src.gui.ytsage_gui_format_table", - "src.gui.ytsage_gui_video_info", - "src.gui.ytsage_gui_dialogs", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_base", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_ffmpeg", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_selection", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_settings", - "src.gui.ytsage_gui_dialogs.ytsage_dialogs_update", - "src.utils.ytsage_constants", # Additional packages that might be needed "requests", "PIL", # Pillow is imported as PIL @@ -69,8 +52,9 @@ build_exe_options = { "tests" ], - # Include files (assets) + # Include files (assets and source code) "include_files": [ + ("src/", "src/"), # Include entire src directory ("assets/Icon/icon.png", "assets/Icon/icon.png"), ("assets/sound/notification.mp3", "assets/sound/notification.mp3"), ("assets/branding/icons/YTSage.ico", "YTSage.ico") From defdedc9b15120205b89ed4f8c1a9a0d25eb70da Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Wed, 27 Aug 2025 02:52:50 +0300 Subject: [PATCH 134/568] update build-windows.yml --- .github/workflows/build-windows.yml | 464 +++++++++++++++------------- 1 file changed, 251 insertions(+), 213 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index b07500c..366b4a7 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -1,214 +1,252 @@ -name: Build Windows Release - -on: - push: - tags: - - 'v*' - -env: - PYTHON_VERSION: '3.12.10' - -jobs: - build-windows: - runs-on: windows-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Extract version from tag - id: get_version - shell: powershell - run: | - $tag = "${{ github.ref_name }}" - $version = $tag -replace '^v', '' - Write-Host "Extracted version: $version" - echo "VERSION=$version" >> $env:GITHUB_OUTPUT - - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: ${{ env.PYTHON_VERSION }} - - - name: Cache Python dependencies - uses: actions/cache@v3 - with: - path: | - venv - ~\AppData\Local\pip\Cache - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - - - name: Create virtual environment and install dependencies - shell: powershell - run: | - python -m venv venv - .\venv\Scripts\Activate.ps1 - python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt - pip install --no-cache-dir cx_Freeze - pip install --no-cache-dir yt-dlp - - - name: Update version in setup files - shell: powershell - run: | - $version = "${{ steps.get_version.outputs.VERSION }}" - Write-Host "Updating version to: $version" - - # Update setup.py - $setupContent = Get-Content "build/windows/setup.py" -Raw - $setupContent = $setupContent -replace 'version="[^"]*"', "version=`"$version`"" - Set-Content "build/windows/setup.py" -Value $setupContent - - # Update setup-ffmpeg.py - $setupFFmpegContent = Get-Content "build/windows/setup-ffmpeg.py" -Raw - $setupFFmpegContent = $setupFFmpegContent -replace 'version="[^"]*"', "version=`"$version`"" - Set-Content "build/windows/setup-ffmpeg.py" -Value $setupFFmpegContent - - Write-Host "Version updated in setup files (build script auto-detects version)" - - - name: Build Standard Version (MSI + ZIP) - shell: powershell - run: | - .\venv\Scripts\Activate.ps1 - Write-Host "Building Standard Version..." - - # Clean previous build artifacts - if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } - if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } - - # Build executable - python build\windows\setup.py build - - # Build MSI installer - python build\windows\setup.py bdist_msi - - # Create ZIP distribution - $exeDir = Get-ChildItem -Path "build" -Directory -Filter "exe.*" | Select-Object -First 1 - if ($exeDir) { - $version = "${{ steps.get_version.outputs.VERSION }}" - Compress-Archive -Path "$($exeDir.FullName)\*" -DestinationPath "dist\YTSage-v$version.zip" -Force - Write-Host "Created ZIP: YTSage-v$version.zip" - } - - - name: Build FFmpeg Version (MSI + ZIP) - shell: powershell - run: | - .\venv\Scripts\Activate.ps1 - Write-Host "Building FFmpeg Version..." - - # Clean previous build artifacts - if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } - if (Test-Path "dist\*.msi") { Remove-Item "dist\*.msi" -Force } - - # Build executable with FFmpeg - python build\windows\setup-ffmpeg.py build - - # Build MSI installer with FFmpeg - python build\windows\setup-ffmpeg.py bdist_msi - - # Create ZIP distribution with FFmpeg - $exeDir = Get-ChildItem -Path "build" -Directory -Filter "exe.*" | Select-Object -First 1 - if ($exeDir) { - $version = "${{ steps.get_version.outputs.VERSION }}" - Compress-Archive -Path "$($exeDir.FullName)\*" -DestinationPath "dist\YTSage-v$version-ffmpeg.zip" -Force - Write-Host "Created ZIP: YTSage-v$version-ffmpeg.zip" - } - - - name: Prepare release artifacts - shell: powershell - run: | - $version = "${{ steps.get_version.outputs.VERSION }}" - - Write-Host "Preparing artifacts for version: $version" - New-Item -ItemType Directory -Path "artifacts" -Force - - # Find and copy standard build artifacts from dist directory - $standardMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -notlike "*ffmpeg*" } | Select-Object -First 1 - if ($standardMsi) { - Copy-Item $standardMsi.FullName "artifacts\YTSage-v$version.msi" - Write-Host "Copied: $($standardMsi.Name) -> YTSage-v$version.msi" - } - - $standardZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version.zip" | Select-Object -First 1 - if ($standardZip) { - Copy-Item $standardZip.FullName "artifacts\YTSage-v$version.zip" - Write-Host "Copied: $($standardZip.Name) -> YTSage-v$version.zip" - } - - # Find and copy FFmpeg build artifacts from dist directory - $ffmpegMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -like "*ffmpeg*" } | Select-Object -First 1 - if ($ffmpegMsi) { - Copy-Item $ffmpegMsi.FullName "artifacts\YTSage-v$version-ffmpeg.msi" - Write-Host "Copied: $($ffmpegMsi.Name) -> YTSage-v$version-ffmpeg.msi" - } - - $ffmpegZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version-ffmpeg.zip" | Select-Object -First 1 - if ($ffmpegZip) { - Copy-Item $ffmpegZip.FullName "artifacts\YTSage-v$version-ffmpeg.zip" - Write-Host "Copied: $($ffmpegZip.Name) -> YTSage-v$version-ffmpeg.zip" - } - - # List all artifacts - Write-Host "Final artifacts:" - Get-ChildItem artifacts | ForEach-Object { Write-Host " $($_.Name)" } - - - name: Create draft release - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ github.ref_name }} - name: YTSage ${{ github.ref_name }} - draft: true - prerelease: false - body: | - # YTSage ${{ github.ref_name }} - - **Release Date**: ${{ github.event.head_commit.timestamp }} - - ## Downloads - - ### Standard Version - - **YTSage-v${{ steps.get_version.outputs.VERSION }}.msi** - Windows Installer (Recommended) - - **YTSage-v${{ steps.get_version.outputs.VERSION }}.zip** - Portable ZIP (No installation required) - - ### FFmpeg Bundle Version - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.msi** - Windows Installer with FFmpeg included - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip** - Portable ZIP with FFmpeg included - - ## Installation Instructions - - ### MSI Installer - 1. Download the `.msi` file - 2. Double-click to run the installer - 3. Follow the installation wizard - 4. YTSage will be available in your Start Menu - - ### Portable ZIP - 1. Download the `.zip` file - 2. Extract to your preferred location - 3. Run `YTSage.exe` - - ## System Requirements - - - Windows 10/11 (64-bit) - - .NET Framework (usually pre-installed) - - Internet connection for yt-dlp updates - - ## Notes - - - Standard version: Downloads FFmpeg automatically when needed - - FFmpeg bundle: Includes FFmpeg binaries for offline use - - --- - - **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} - files: | - artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}.msi - artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}.zip - artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.msi - artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip - env: +name: Build Windows Release + +on: + push: + tags: + - 'v*' + +env: + PYTHON_VERSION: '3.12.10' + +jobs: + build-windows: + runs-on: windows-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Extract version from tag + id: get_version + shell: powershell + run: | + $tag = "${{ github.ref_name }}" + $version = $tag -replace '^v', '' + Write-Host "Extracted version: $version" + echo "VERSION=$version" >> $env:GITHUB_OUTPUT + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: Cache Python dependencies + uses: actions/cache@v3 + with: + path: | + venv + ~\AppData\Local\pip\Cache + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Create virtual environment and install dependencies + shell: powershell + run: | + python -m venv venv + .\venv\Scripts\Activate.ps1 + python -m pip install --upgrade pip + pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir cx_Freeze + pip install --no-cache-dir yt-dlp + + - name: Update version in setup files + shell: powershell + run: | + $version = "${{ steps.get_version.outputs.VERSION }}" + Write-Host "Updating version to: $version" + + # Update setup.py + $setupContent = Get-Content "build/windows/setup.py" -Raw + $setupContent = $setupContent -replace 'version="[^"]*"', "version=`"$version`"" + Set-Content "build/windows/setup.py" -Value $setupContent + + # Update setup-ffmpeg.py + $setupFFmpegContent = Get-Content "build/windows/setup-ffmpeg.py" -Raw + $setupFFmpegContent = $setupFFmpegContent -replace 'version="[^"]*"', "version=`"$version`"" + Set-Content "build/windows/setup-ffmpeg.py" -Value $setupFFmpegContent + + Write-Host "Version updated in setup files (build script auto-detects version)" + + - name: Build Standard Version (MSI + ZIP) + shell: powershell + run: | + .\venv\Scripts\Activate.ps1 + Write-Host "Building Standard Version..." + + # Clean previous build artifacts + if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } + + # Build executable + python build\windows\setup.py build + + # Build MSI installer + python build\windows\setup.py bdist_msi + + # Create ZIP distribution + $exeDir = Get-ChildItem -Path "build" -Directory -Filter "exe.*" | Select-Object -First 1 + if ($exeDir) { + $version = "${{ steps.get_version.outputs.VERSION }}" + Compress-Archive -Path "$($exeDir.FullName)\*" -DestinationPath "dist\YTSage-v$version.zip" -Force + Write-Host "Created ZIP: YTSage-v$version.zip" + } + + - name: Setup FFmpeg for bundle + shell: powershell + run: | + Write-Host "Setting up FFmpeg for bundled version..." + + # Create ffmpeg directory + New-Item -ItemType Directory -Path "ffmpeg-temp" -Force + + # Download FFmpeg + $ffmpegUrl = "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip" + Write-Host "Downloading FFmpeg from: $ffmpegUrl" + Invoke-WebRequest -Uri $ffmpegUrl -OutFile "ffmpeg-temp\ffmpeg.zip" + + # Extract FFmpeg + Expand-Archive -Path "ffmpeg-temp\ffmpeg.zip" -DestinationPath "ffmpeg-temp" -Force + + # Find the extracted directory (it has a timestamp in the name) + $ffmpegDir = Get-ChildItem -Path "ffmpeg-temp" -Directory | Where-Object { $_.Name -like "ffmpeg-*" } | Select-Object -First 1 + + if ($ffmpegDir) { + # Set environment variable for the build + $ffmpegBinPath = Join-Path $ffmpegDir.FullName "bin" + Write-Host "FFmpeg binaries found at: $ffmpegBinPath" + echo "FFMPEG_PATH=$ffmpegBinPath" >> $env:GITHUB_ENV + + # Verify files exist + $ffmpegExe = Join-Path $ffmpegBinPath "ffmpeg.exe" + $ffprobeExe = Join-Path $ffmpegBinPath "ffprobe.exe" + $ffplayExe = Join-Path $ffmpegBinPath "ffplay.exe" + + if (Test-Path $ffmpegExe) { Write-Host "✓ ffmpeg.exe found" } else { Write-Host "✗ ffmpeg.exe missing" } + if (Test-Path $ffprobeExe) { Write-Host "✓ ffprobe.exe found" } else { Write-Host "✗ ffprobe.exe missing" } + if (Test-Path $ffplayExe) { Write-Host "✓ ffplay.exe found" } else { Write-Host "✗ ffplay.exe missing" } + } else { + Write-Host "Error: Could not find FFmpeg directory after extraction" + exit 1 + } + + - name: Build FFmpeg Version (MSI + ZIP) + shell: powershell + run: | + .\venv\Scripts\Activate.ps1 + Write-Host "Building FFmpeg Version..." + + # Clean previous build artifacts + if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "dist\*.msi") { Remove-Item "dist\*.msi" -Force } + + # Build executable with FFmpeg + python build\windows\setup-ffmpeg.py build + + # Build MSI installer with FFmpeg + python build\windows\setup-ffmpeg.py bdist_msi + + # Create ZIP distribution with FFmpeg + $exeDir = Get-ChildItem -Path "build" -Directory -Filter "exe.*" | Select-Object -First 1 + if ($exeDir) { + $version = "${{ steps.get_version.outputs.VERSION }}" + Compress-Archive -Path "$($exeDir.FullName)\*" -DestinationPath "dist\YTSage-v$version-ffmpeg.zip" -Force + Write-Host "Created ZIP: YTSage-v$version-ffmpeg.zip" + } + + - name: Prepare release artifacts + shell: powershell + run: | + $version = "${{ steps.get_version.outputs.VERSION }}" + + Write-Host "Preparing artifacts for version: $version" + New-Item -ItemType Directory -Path "artifacts" -Force + + # Find and copy standard build artifacts from dist directory + $standardMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -notlike "*ffmpeg*" } | Select-Object -First 1 + if ($standardMsi) { + Copy-Item $standardMsi.FullName "artifacts\YTSage-v$version.msi" + Write-Host "Copied: $($standardMsi.Name) -> YTSage-v$version.msi" + } + + $standardZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version.zip" | Select-Object -First 1 + if ($standardZip) { + Copy-Item $standardZip.FullName "artifacts\YTSage-v$version.zip" + Write-Host "Copied: $($standardZip.Name) -> YTSage-v$version.zip" + } + + # Find and copy FFmpeg build artifacts from dist directory + $ffmpegMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -like "*ffmpeg*" } | Select-Object -First 1 + if ($ffmpegMsi) { + Copy-Item $ffmpegMsi.FullName "artifacts\YTSage-v$version-ffmpeg.msi" + Write-Host "Copied: $($ffmpegMsi.Name) -> YTSage-v$version-ffmpeg.msi" + } + + $ffmpegZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version-ffmpeg.zip" | Select-Object -First 1 + if ($ffmpegZip) { + Copy-Item $ffmpegZip.FullName "artifacts\YTSage-v$version-ffmpeg.zip" + Write-Host "Copied: $($ffmpegZip.Name) -> YTSage-v$version-ffmpeg.zip" + } + + # List all artifacts + Write-Host "Final artifacts:" + Get-ChildItem artifacts | ForEach-Object { Write-Host " $($_.Name)" } + + - name: Create draft release + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ github.ref_name }} + name: YTSage ${{ github.ref_name }} + draft: true + prerelease: false + body: | + # YTSage ${{ github.ref_name }} + + **Release Date**: ${{ github.event.head_commit.timestamp }} + + ## Downloads + + ### Standard Version + - **YTSage-v${{ steps.get_version.outputs.VERSION }}.msi** - Windows Installer (Recommended) + - **YTSage-v${{ steps.get_version.outputs.VERSION }}.zip** - Portable ZIP (No installation required) + + ### FFmpeg Bundle Version + - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.msi** - Windows Installer with FFmpeg included + - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip** - Portable ZIP with FFmpeg included + + ## Installation Instructions + + ### MSI Installer + 1. Download the `.msi` file + 2. Double-click to run the installer + 3. Follow the installation wizard + 4. YTSage will be available in your Start Menu + + ### Portable ZIP + 1. Download the `.zip` file + 2. Extract to your preferred location + 3. Run `YTSage.exe` + + ## System Requirements + + - Windows 10/11 (64-bit) + - .NET Framework (usually pre-installed) + - Internet connection for yt-dlp updates + + ## Notes + + - Standard version: Downloads FFmpeg automatically when needed + - FFmpeg bundle: Includes FFmpeg binaries for offline use + + --- + + **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} + files: | + artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}.msi + artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}.zip + artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.msi + artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip + env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 8c27c735704ef8d839e48fef3ad4556a7766a341 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 02:56:14 +0300 Subject: [PATCH 135/568] Dynamically include FFmpeg binaries in setup script Refactored setup-ffmpeg.py to dynamically check for the existence of FFmpeg binaries before including them in the build. This improves robustness by warning if any binaries are missing and avoids hardcoding file paths in the include_files list. --- build/windows/setup-ffmpeg.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/build/windows/setup-ffmpeg.py b/build/windows/setup-ffmpeg.py index 23e0b07..137566c 100644 --- a/build/windows/setup-ffmpeg.py +++ b/build/windows/setup-ffmpeg.py @@ -11,6 +11,24 @@ import os # Get FFmpeg path from environment variable or use default FFMPEG_PATH = os.environ.get('FFMPEG_PATH', r'C:\Users\atela\AppData\Local\ffmpeg\ffmpeg-7.1.1-full_build\bin') +# Prepare include files list +include_files = [ + ("src/", "src/"), # Include entire src directory + ("assets/Icon/icon.png", "assets/Icon/icon.png"), + ("assets/sound/notification.mp3", "assets/sound/notification.mp3"), + ("assets/branding/icons/YTSage.ico", "YTSage.ico"), +] + +# Add FFmpeg binaries if they exist +ffmpeg_binaries = ["ffmpeg.exe", "ffprobe.exe", "ffplay.exe"] +for binary in ffmpeg_binaries: + ffmpeg_file = os.path.join(FFMPEG_PATH, binary) + if os.path.exists(ffmpeg_file): + include_files.append((ffmpeg_file, binary)) + print(f"Including FFmpeg binary: {binary}") + else: + print(f"Warning: FFmpeg binary not found: {ffmpeg_file}") + # Build options for executable build_exe_options = { # Let cx_Freeze auto-discover packages from main.py instead of explicit listing @@ -57,16 +75,7 @@ build_exe_options = { ], # Include files (assets + FFmpeg binaries + source code) - "include_files": [ - ("src/", "src/"), # Include entire src directory - ("assets/Icon/icon.png", "assets/Icon/icon.png"), - ("assets/sound/notification.mp3", "assets/sound/notification.mp3"), - ("assets/branding/icons/YTSage.ico", "YTSage.ico"), - # FFmpeg binaries - (os.path.join(FFMPEG_PATH, "ffmpeg.exe"), "ffmpeg.exe"), - (os.path.join(FFMPEG_PATH, "ffprobe.exe"), "ffprobe.exe"), - (os.path.join(FFMPEG_PATH, "ffplay.exe"), "ffplay.exe"), - ], + "include_files": include_files, # Zip includes (can help reduce file count) "zip_include_packages": "*", From 4b7e7016132d2b40119111beb73de37c498f637b Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 03:01:00 +0300 Subject: [PATCH 136/568] Improve FFmpeg binary check output in Windows build Changed status messages for FFmpeg, ffprobe, and ffplay binary checks to use '[OK]' and '[ERROR]' prefixes for clearer log output in the Windows build workflow. --- .github/workflows/build-windows.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 366b4a7..a9607c6 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -124,9 +124,21 @@ jobs: $ffprobeExe = Join-Path $ffmpegBinPath "ffprobe.exe" $ffplayExe = Join-Path $ffmpegBinPath "ffplay.exe" - if (Test-Path $ffmpegExe) { Write-Host "✓ ffmpeg.exe found" } else { Write-Host "✗ ffmpeg.exe missing" } - if (Test-Path $ffprobeExe) { Write-Host "✓ ffprobe.exe found" } else { Write-Host "✗ ffprobe.exe missing" } - if (Test-Path $ffplayExe) { Write-Host "✓ ffplay.exe found" } else { Write-Host "✗ ffplay.exe missing" } + if (Test-Path $ffmpegExe) { + Write-Host "[OK] ffmpeg.exe found" + } else { + Write-Host "[ERROR] ffmpeg.exe missing" + } + if (Test-Path $ffprobeExe) { + Write-Host "[OK] ffprobe.exe found" + } else { + Write-Host "[ERROR] ffprobe.exe missing" + } + if (Test-Path $ffplayExe) { + Write-Host "[OK] ffplay.exe found" + } else { + Write-Host "[ERROR] ffplay.exe missing" + } } else { Write-Host "Error: Could not find FFmpeg directory after extraction" exit 1 From 94601a0b8b27ebd5649f2f550942d82dcaf5b236 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 13:37:40 +0300 Subject: [PATCH 137/568] Improve Windows build workflow and artifact handling Updated FFmpeg download source to GyanD/codexffmpeg and improved artifact preparation with additional logging and error handling. The release step now uploads all files in the artifacts directory instead of specifying each file individually. --- .github/workflows/build-windows.yml | 39 +++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index a9607c6..38bc202 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -5,6 +5,9 @@ on: tags: - 'v*' +permissions: + contents: write + env: PYTHON_VERSION: '3.12.10' @@ -103,14 +106,14 @@ jobs: New-Item -ItemType Directory -Path "ffmpeg-temp" -Force # Download FFmpeg - $ffmpegUrl = "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip" + $ffmpegUrl = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.zip" Write-Host "Downloading FFmpeg from: $ffmpegUrl" Invoke-WebRequest -Uri $ffmpegUrl -OutFile "ffmpeg-temp\ffmpeg.zip" # Extract FFmpeg Expand-Archive -Path "ffmpeg-temp\ffmpeg.zip" -DestinationPath "ffmpeg-temp" -Force - # Find the extracted directory (it has a timestamp in the name) + # Find the extracted directory (GyanD ffmpeg has specific naming) $ffmpegDir = Get-ChildItem -Path "ffmpeg-temp" -Directory | Where-Object { $_.Name -like "ffmpeg-*" } | Select-Object -First 1 if ($ffmpegDir) { @@ -176,17 +179,29 @@ jobs: Write-Host "Preparing artifacts for version: $version" New-Item -ItemType Directory -Path "artifacts" -Force + # List all files in dist directory first + Write-Host "Files in dist directory:" + if (Test-Path "dist") { + Get-ChildItem -Path "dist" -Recurse | ForEach-Object { Write-Host " $($_.FullName)" } + } else { + Write-Host " No dist directory found!" + } + # Find and copy standard build artifacts from dist directory $standardMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -notlike "*ffmpeg*" } | Select-Object -First 1 if ($standardMsi) { Copy-Item $standardMsi.FullName "artifacts\YTSage-v$version.msi" Write-Host "Copied: $($standardMsi.Name) -> YTSage-v$version.msi" + } else { + Write-Host "Warning: Standard MSI not found" } $standardZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version.zip" | Select-Object -First 1 if ($standardZip) { Copy-Item $standardZip.FullName "artifacts\YTSage-v$version.zip" Write-Host "Copied: $($standardZip.Name) -> YTSage-v$version.zip" + } else { + Write-Host "Warning: Standard ZIP not found" } # Find and copy FFmpeg build artifacts from dist directory @@ -194,17 +209,30 @@ jobs: if ($ffmpegMsi) { Copy-Item $ffmpegMsi.FullName "artifacts\YTSage-v$version-ffmpeg.msi" Write-Host "Copied: $($ffmpegMsi.Name) -> YTSage-v$version-ffmpeg.msi" + } else { + Write-Host "Warning: FFmpeg MSI not found" } $ffmpegZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version-ffmpeg.zip" | Select-Object -First 1 if ($ffmpegZip) { Copy-Item $ffmpegZip.FullName "artifacts\YTSage-v$version-ffmpeg.zip" Write-Host "Copied: $($ffmpegZip.Name) -> YTSage-v$version-ffmpeg.zip" + } else { + Write-Host "Warning: FFmpeg ZIP not found" } # List all artifacts Write-Host "Final artifacts:" - Get-ChildItem artifacts | ForEach-Object { Write-Host " $($_.Name)" } + if (Test-Path "artifacts") { + $artifactFiles = Get-ChildItem artifacts + if ($artifactFiles) { + $artifactFiles | ForEach-Object { Write-Host " $($_.Name)" } + } else { + Write-Host " No artifacts created!" + } + } else { + Write-Host " Artifacts directory not found!" + } - name: Create draft release uses: softprops/action-gh-release@v1 @@ -256,9 +284,6 @@ jobs: **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} files: | - artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}.msi - artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}.zip - artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.msi - artifacts/YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip + artifacts/* env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 17ec207852646f34f64198d5e24ba2da9fbeac70 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 13:55:04 +0300 Subject: [PATCH 138/568] Improve Windows build workflow error handling Adds error handling to MSI installer creation steps in the Windows build workflow to prevent failures from stopping subsequent ZIP creation. Updates ZIP creation logic to use the dist output directory. Removes the install_icon option from setup.py to address potential MSI build issues. --- .github/workflows/build-windows.yml | 44 +++++++++++++++++++++-------- build/windows/setup.py | 3 +- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 38bc202..599f842 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -86,15 +86,24 @@ jobs: # Build executable python build\windows\setup.py build - # Build MSI installer - python build\windows\setup.py bdist_msi + # Build MSI installer with error handling + Write-Host "Building standard MSI installer..." + try { + python build\windows\setup.py bdist_msi + Write-Host "Standard MSI build completed successfully" + } catch { + Write-Host "Error building standard MSI: $($_.Exception.Message)" + # Continue anyway to try ZIP creation + } - # Create ZIP distribution - $exeDir = Get-ChildItem -Path "build" -Directory -Filter "exe.*" | Select-Object -First 1 - if ($exeDir) { + # Create ZIP distribution from dist output + $distDir = "dist\YTSage" + if (Test-Path $distDir) { $version = "${{ steps.get_version.outputs.VERSION }}" - Compress-Archive -Path "$($exeDir.FullName)\*" -DestinationPath "dist\YTSage-v$version.zip" -Force + Compress-Archive -Path "$distDir\*" -DestinationPath "dist\YTSage-v$version.zip" -Force Write-Host "Created ZIP: YTSage-v$version.zip" + } else { + Write-Host "Warning: Standard executable directory not found at $distDir" } - name: Setup FFmpeg for bundle @@ -160,14 +169,25 @@ jobs: # Build executable with FFmpeg python build\windows\setup-ffmpeg.py build - # Build MSI installer with FFmpeg - python build\windows\setup-ffmpeg.py bdist_msi + # Build MSI installer with FFmpeg and error handling + Write-Host "Building FFmpeg MSI installer..." + try { + python build\windows\setup-ffmpeg.py bdist_msi + Write-Host "FFmpeg MSI build completed successfully" + } catch { + Write-Host "Error building FFmpeg MSI: $($_.Exception.Message)" + # Continue anyway to try ZIP creation + } - # Create ZIP distribution with FFmpeg - $exeDir = Get-ChildItem -Path "build" -Directory -Filter "exe.*" | Select-Object -First 1 - if ($exeDir) { + # Create ZIP distribution with FFmpeg from dist output + $distDir = "dist\YTSage-FFmpeg" + if (Test-Path $distDir) { $version = "${{ steps.get_version.outputs.VERSION }}" - Compress-Archive -Path "$($exeDir.FullName)\*" -DestinationPath "dist\YTSage-v$version-ffmpeg.zip" -Force + Compress-Archive -Path "$distDir\*" -DestinationPath "dist\YTSage-v$version-ffmpeg.zip" -Force + Write-Host "Created ZIP: YTSage-v$version-ffmpeg.zip" + } else { + Write-Host "Warning: FFmpeg executable directory not found at $distDir" + } Write-Host "Created ZIP: YTSage-v$version-ffmpeg.zip" } diff --git a/build/windows/setup.py b/build/windows/setup.py index cc16372..56ba639 100644 --- a/build/windows/setup.py +++ b/build/windows/setup.py @@ -74,7 +74,8 @@ bdist_msi_options = { "upgrade_code": "{12345678-1234-5678-9ABC-123456789ABC}", # Generate unique GUID "add_to_path": False, "initial_target_dir": r"[ProgramFilesFolder]\YTSage", - "install_icon": "assets/branding/icons/YTSage.ico", + # Remove problematic install_icon that might be causing MSI build to fail + # "install_icon": "assets/branding/icons/YTSage.ico", "summary_data": { "author": "oop7", "comments": "YouTube Video Downloader - Easy to use video downloading tool", From c91768aec4336beb2b1a5d0dda5b67a3794e8484 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 14:11:57 +0300 Subject: [PATCH 139/568] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ac56032..2af0b81 100644 --- a/README.md +++ b/README.md @@ -212,7 +212,6 @@ python main.py Some antivirus software may flag the `.exe` files as false positives. This is a **known limitation** of packaged applications. **Why this happens:** -- PyInstaller bundles Python runtime and libraries together - Antivirus heuristics can misidentify packed executables as suspicious - This affects many legitimate Python applications built with PyInstaller From 498e6ae655fcd925d6e009e6592b6e6861fa269e Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 14:22:54 +0300 Subject: [PATCH 140/568] Improve MSI build error handling and fix FFmpeg setup Replaces PowerShell try/catch with exit code checks for MSI build steps in Windows workflow for clearer error reporting. Removes the install_icon option from FFmpeg MSI setup to address potential build failures. --- .github/workflows/build-windows.yml | 16 ++++++++-------- build/windows/setup-ffmpeg.py | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 599f842..e52059d 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -88,11 +88,11 @@ jobs: # Build MSI installer with error handling Write-Host "Building standard MSI installer..." - try { - python build\windows\setup.py bdist_msi + python build\windows\setup.py bdist_msi + if ($LASTEXITCODE -eq 0) { Write-Host "Standard MSI build completed successfully" - } catch { - Write-Host "Error building standard MSI: $($_.Exception.Message)" + } else { + Write-Host "Error building standard MSI - exit code: $LASTEXITCODE" # Continue anyway to try ZIP creation } @@ -171,11 +171,11 @@ jobs: # Build MSI installer with FFmpeg and error handling Write-Host "Building FFmpeg MSI installer..." - try { - python build\windows\setup-ffmpeg.py bdist_msi + python build\windows\setup-ffmpeg.py bdist_msi + if ($LASTEXITCODE -eq 0) { Write-Host "FFmpeg MSI build completed successfully" - } catch { - Write-Host "Error building FFmpeg MSI: $($_.Exception.Message)" + } else { + Write-Host "Error building FFmpeg MSI - exit code: $LASTEXITCODE" # Continue anyway to try ZIP creation } diff --git a/build/windows/setup-ffmpeg.py b/build/windows/setup-ffmpeg.py index 137566c..47b98ec 100644 --- a/build/windows/setup-ffmpeg.py +++ b/build/windows/setup-ffmpeg.py @@ -91,7 +91,8 @@ bdist_msi_options = { "upgrade_code": "{87654321-4321-8765-CBA9-987654321CBA}", # Different GUID for FFmpeg version "add_to_path": False, "initial_target_dir": r"[ProgramFilesFolder]\YTSage", - "install_icon": "assets/branding/icons/YTSage.ico", + # Remove problematic install_icon that might be causing MSI build to fail + # "install_icon": "assets/branding/icons/YTSage.ico", "summary_data": { "author": "oop7", "comments": "YouTube Video Downloader with FFmpeg - Complete video processing solution", From 360e67d38e04bb46a2ec7befa845536f72bc4293 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 14:32:27 +0300 Subject: [PATCH 141/568] Remove redundant ZIP creation log in build script Deleted unnecessary log messages about ZIP creation in the Windows build workflow to clean up output. --- .github/workflows/build-windows.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index e52059d..1481991 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -188,8 +188,6 @@ jobs: } else { Write-Host "Warning: FFmpeg executable directory not found at $distDir" } - Write-Host "Created ZIP: YTSage-v$version-ffmpeg.zip" - } - name: Prepare release artifacts shell: powershell From 81fb3dd00d23d56d4b176de81f1a9eb358d49df7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 14:57:32 +0300 Subject: [PATCH 142/568] Improve MSI artifact handling in Windows build workflow Adds logging to list MSI files after build steps for better visibility. Updates artifact selection logic to handle both 'ffmpeg' and 'FFmpeg' naming variations, and adds debugging output when standard MSI is not found. --- .github/workflows/build-windows.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 1481991..fa76371 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -91,6 +91,11 @@ jobs: python build\windows\setup.py bdist_msi if ($LASTEXITCODE -eq 0) { Write-Host "Standard MSI build completed successfully" + # List MSI files created + Write-Host "MSI files in dist directory after standard build:" + if (Test-Path "dist") { + Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } + } } else { Write-Host "Error building standard MSI - exit code: $LASTEXITCODE" # Continue anyway to try ZIP creation @@ -174,6 +179,11 @@ jobs: python build\windows\setup-ffmpeg.py bdist_msi if ($LASTEXITCODE -eq 0) { Write-Host "FFmpeg MSI build completed successfully" + # List MSI files created + Write-Host "MSI files in dist directory after FFmpeg build:" + if (Test-Path "dist") { + Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } + } } else { Write-Host "Error building FFmpeg MSI - exit code: $LASTEXITCODE" # Continue anyway to try ZIP creation @@ -206,12 +216,16 @@ jobs: } # Find and copy standard build artifacts from dist directory - $standardMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -notlike "*ffmpeg*" } | Select-Object -First 1 + # Look for any MSI file that doesn't contain "ffmpeg" in the name + $standardMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -notlike "*ffmpeg*" -and $_.Name -notlike "*FFmpeg*" } | Select-Object -First 1 if ($standardMsi) { Copy-Item $standardMsi.FullName "artifacts\YTSage-v$version.msi" Write-Host "Copied: $($standardMsi.Name) -> YTSage-v$version.msi" } else { Write-Host "Warning: Standard MSI not found" + # List all MSI files for debugging + Write-Host "Available MSI files:" + Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } } $standardZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version.zip" | Select-Object -First 1 @@ -223,7 +237,8 @@ jobs: } # Find and copy FFmpeg build artifacts from dist directory - $ffmpegMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -like "*ffmpeg*" } | Select-Object -First 1 + # Look for any MSI file that contains "ffmpeg" or "FFmpeg" in the name + $ffmpegMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -like "*ffmpeg*" -or $_.Name -like "*FFmpeg*" } | Select-Object -First 1 if ($ffmpegMsi) { Copy-Item $ffmpegMsi.FullName "artifacts\YTSage-v$version-ffmpeg.msi" Write-Host "Copied: $($ffmpegMsi.Name) -> YTSage-v$version-ffmpeg.msi" From c24d76a1bc210e86d0090c3ba730e32dd38b1295 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 15:17:57 +0300 Subject: [PATCH 143/568] Remove ZIP build and release for Windows workflow The workflow no longer creates or releases ZIP distributions for both standard and FFmpeg bundle versions. Only MSI installers are built and published, simplifying the release process and documentation. --- .github/workflows/build-windows.yml | 59 ++++------------------------- 1 file changed, 8 insertions(+), 51 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index fa76371..d2c67ef 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -73,7 +73,7 @@ jobs: Write-Host "Version updated in setup files (build script auto-detects version)" - - name: Build Standard Version (MSI + ZIP) + - name: Build Standard Version (MSI only) shell: powershell run: | .\venv\Scripts\Activate.ps1 @@ -98,17 +98,7 @@ jobs: } } else { Write-Host "Error building standard MSI - exit code: $LASTEXITCODE" - # Continue anyway to try ZIP creation - } - - # Create ZIP distribution from dist output - $distDir = "dist\YTSage" - if (Test-Path $distDir) { - $version = "${{ steps.get_version.outputs.VERSION }}" - Compress-Archive -Path "$distDir\*" -DestinationPath "dist\YTSage-v$version.zip" -Force - Write-Host "Created ZIP: YTSage-v$version.zip" - } else { - Write-Host "Warning: Standard executable directory not found at $distDir" + exit 1 } - name: Setup FFmpeg for bundle @@ -161,7 +151,7 @@ jobs: exit 1 } - - name: Build FFmpeg Version (MSI + ZIP) + - name: Build FFmpeg Version (MSI only) shell: powershell run: | .\venv\Scripts\Activate.ps1 @@ -186,17 +176,7 @@ jobs: } } else { Write-Host "Error building FFmpeg MSI - exit code: $LASTEXITCODE" - # Continue anyway to try ZIP creation - } - - # Create ZIP distribution with FFmpeg from dist output - $distDir = "dist\YTSage-FFmpeg" - if (Test-Path $distDir) { - $version = "${{ steps.get_version.outputs.VERSION }}" - Compress-Archive -Path "$distDir\*" -DestinationPath "dist\YTSage-v$version-ffmpeg.zip" -Force - Write-Host "Created ZIP: YTSage-v$version-ffmpeg.zip" - } else { - Write-Host "Warning: FFmpeg executable directory not found at $distDir" + exit 1 } - name: Prepare release artifacts @@ -227,15 +207,7 @@ jobs: Write-Host "Available MSI files:" Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } } - - $standardZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version.zip" | Select-Object -First 1 - if ($standardZip) { - Copy-Item $standardZip.FullName "artifacts\YTSage-v$version.zip" - Write-Host "Copied: $($standardZip.Name) -> YTSage-v$version.zip" - } else { - Write-Host "Warning: Standard ZIP not found" - } - + # Find and copy FFmpeg build artifacts from dist directory # Look for any MSI file that contains "ffmpeg" or "FFmpeg" in the name $ffmpegMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -like "*ffmpeg*" -or $_.Name -like "*FFmpeg*" } | Select-Object -First 1 @@ -246,14 +218,6 @@ jobs: Write-Host "Warning: FFmpeg MSI not found" } - $ffmpegZip = Get-ChildItem -Path "dist" -Filter "YTSage-v$version-ffmpeg.zip" | Select-Object -First 1 - if ($ffmpegZip) { - Copy-Item $ffmpegZip.FullName "artifacts\YTSage-v$version-ffmpeg.zip" - Write-Host "Copied: $($ffmpegZip.Name) -> YTSage-v$version-ffmpeg.zip" - } else { - Write-Host "Warning: FFmpeg ZIP not found" - } - # List all artifacts Write-Host "Final artifacts:" if (Test-Path "artifacts") { @@ -282,12 +246,10 @@ jobs: ## Downloads ### Standard Version - - **YTSage-v${{ steps.get_version.outputs.VERSION }}.msi** - Windows Installer (Recommended) - - **YTSage-v${{ steps.get_version.outputs.VERSION }}.zip** - Portable ZIP (No installation required) + - **YTSage-v${{ steps.get_version.outputs.VERSION }}.msi** - Windows Installer (Downloads FFmpeg when needed) ### FFmpeg Bundle Version - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.msi** - Windows Installer with FFmpeg included - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip** - Portable ZIP with FFmpeg included ## Installation Instructions @@ -297,11 +259,6 @@ jobs: 3. Follow the installation wizard 4. YTSage will be available in your Start Menu - ### Portable ZIP - 1. Download the `.zip` file - 2. Extract to your preferred location - 3. Run `YTSage.exe` - ## System Requirements - Windows 10/11 (64-bit) @@ -310,8 +267,8 @@ jobs: ## Notes - - Standard version: Downloads FFmpeg automatically when needed - - FFmpeg bundle: Includes FFmpeg binaries for offline use + - **Standard version**: Downloads FFmpeg automatically when needed + - **FFmpeg bundle**: Includes FFmpeg binaries for offline use --- From 29e995eee09c98f8119402373fa5ea11300cc464 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 15:39:00 +0300 Subject: [PATCH 144/568] Simplify MSI build options and update version to 4.7.4 Removed problematic summary_data and install_icon from MSI build options in setup.py and setup-ffmpeg.py to address cx_Freeze build issues. Updated target_name and version fields to 4.7.4. Enhanced build-windows.yml with improved artifact cleanup and error handling for MSI creation. --- .github/workflows/build-windows.yml | 33 +++++++++++++++++++++++++++-- build/windows/setup-ffmpeg.py | 16 +++++--------- build/windows/setup.py | 16 +++++--------- 3 files changed, 41 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index d2c67ef..8cfbec3 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -64,11 +64,13 @@ jobs: # Update setup.py $setupContent = Get-Content "build/windows/setup.py" -Raw $setupContent = $setupContent -replace 'version="[^"]*"', "version=`"$version`"" + $setupContent = $setupContent -replace 'target_name="[^"]*"', "target_name=`"YTSage-v$version.exe`"" Set-Content "build/windows/setup.py" -Value $setupContent # Update setup-ffmpeg.py $setupFFmpegContent = Get-Content "build/windows/setup-ffmpeg.py" -Raw $setupFFmpegContent = $setupFFmpegContent -replace 'version="[^"]*"', "version=`"$version`"" + $setupFFmpegContent = $setupFFmpegContent -replace 'target_name="[^"]*"', "target_name=`"YTSage-v$version-ffmpeg.exe`"" Set-Content "build/windows/setup-ffmpeg.py" -Value $setupFFmpegContent Write-Host "Version updated in setup files (build script auto-detects version)" @@ -81,6 +83,7 @@ jobs: # Clean previous build artifacts if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } # Build executable @@ -88,13 +91,38 @@ jobs: # Build MSI installer with error handling Write-Host "Building standard MSI installer..." - python build\windows\setup.py bdist_msi + Write-Host "Current working directory: $(Get-Location)" + Write-Host "Setup.py path: $(Resolve-Path 'build\windows\setup.py')" + + # Run with maximum verbosity to capture any hidden errors + python build\windows\setup.py bdist_msi --verbose if ($LASTEXITCODE -eq 0) { Write-Host "Standard MSI build completed successfully" # List MSI files created Write-Host "MSI files in dist directory after standard build:" if (Test-Path "dist") { - Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } + $msiFiles = Get-ChildItem -Path "dist" -Filter "*.msi" + if ($msiFiles) { + $msiFiles | ForEach-Object { Write-Host " $($_.Name)" } + } else { + Write-Host " No MSI files found! Attempting alternative build method..." + # Alternative approach: try building without excludes that might cause issues + Write-Host "Retrying MSI build with simplified configuration..." + python build\windows\setup.py bdist_msi --skip-build + if (Test-Path "dist/*.msi") { + Write-Host "Alternative MSI build succeeded!" + Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } + } else { + Write-Host "ERROR: MSI creation failed completely. Build directory contents:" + if (Test-Path "build") { + Get-ChildItem -Path "build" -Recurse | ForEach-Object { Write-Host " $($_.FullName)" } + } + exit 1 + } + } + } else { + Write-Host " No dist directory found!" + exit 1 } } else { Write-Host "Error building standard MSI - exit code: $LASTEXITCODE" @@ -159,6 +187,7 @@ jobs: # Clean previous build artifacts if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } if (Test-Path "dist\*.msi") { Remove-Item "dist\*.msi" -Force } # Build executable with FFmpeg diff --git a/build/windows/setup-ffmpeg.py b/build/windows/setup-ffmpeg.py index 47b98ec..babf595 100644 --- a/build/windows/setup-ffmpeg.py +++ b/build/windows/setup-ffmpeg.py @@ -86,18 +86,12 @@ build_exe_options = { "build_exe": "dist/YTSage-FFmpeg", # Output directory for executable } -# MSI build options +# MSI build options - simplified to avoid cx_Freeze issues bdist_msi_options = { "upgrade_code": "{87654321-4321-8765-CBA9-987654321CBA}", # Different GUID for FFmpeg version "add_to_path": False, - "initial_target_dir": r"[ProgramFilesFolder]\YTSage", - # Remove problematic install_icon that might be causing MSI build to fail - # "install_icon": "assets/branding/icons/YTSage.ico", - "summary_data": { - "author": "oop7", - "comments": "YouTube Video Downloader with FFmpeg - Complete video processing solution", - "keywords": "youtube, downloader, video, audio, converter, ffmpeg" - } + "initial_target_dir": r"[ProgramFilesFolder]\YTSage" + # Removed summary_data that might cause silent failures } # Base configuration for Windows GUI application @@ -110,7 +104,7 @@ executable = Executable( "main.py", base=base, icon="assets/branding/icons/YTSage.ico", - target_name="YTSage-v4.8.0-ffmpeg.exe", + target_name="YTSage-v4.7.4-ffmpeg.exe", copyright="Copyright (c) 2024-2025 YTSage", trademarks="YTSage" ) @@ -118,7 +112,7 @@ executable = Executable( # Setup configuration setup( name="YTSage-FFmpeg", - version="4.8.0", + version="4.7.4", # Updated to match expected version description="YouTube Video Downloader with FFmpeg", author="oop7", author_email="oop7_support@proton.me", diff --git a/build/windows/setup.py b/build/windows/setup.py index 56ba639..2c4ad1d 100644 --- a/build/windows/setup.py +++ b/build/windows/setup.py @@ -69,18 +69,12 @@ build_exe_options = { "build_exe": "dist/YTSage", # Output directory for executable } -# MSI build options +# MSI build options - simplified to avoid cx_Freeze issues bdist_msi_options = { "upgrade_code": "{12345678-1234-5678-9ABC-123456789ABC}", # Generate unique GUID "add_to_path": False, - "initial_target_dir": r"[ProgramFilesFolder]\YTSage", - # Remove problematic install_icon that might be causing MSI build to fail - # "install_icon": "assets/branding/icons/YTSage.ico", - "summary_data": { - "author": "oop7", - "comments": "YouTube Video Downloader - Easy to use video downloading tool", - "keywords": "youtube, downloader, video, audio, converter" - } + "initial_target_dir": r"[ProgramFilesFolder]\YTSage" + # Removed target_name and summary_data that might cause silent failures } # Base configuration for Windows GUI application @@ -93,7 +87,7 @@ executable = Executable( "main.py", base=base, icon="assets/branding/icons/YTSage.ico", - target_name="YTSage-v4.8.0.exe", + target_name="YTSage-v4.7.4.exe", copyright="Copyright (c) 2024-2025 YTSage", trademarks="YTSage" ) @@ -101,7 +95,7 @@ executable = Executable( # Setup configuration setup( name="YTSage", - version="4.8.0", + version="4.7.4", # Updated to match expected version description="YouTube Video Downloader", author="oop7", author_email="oop7_support@proton.me", From d5b6b46b6c04a2eaa5f5432ad3c5e7067031942f Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 15:40:50 +0300 Subject: [PATCH 145/568] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2af0b81..8707e37 100644 --- a/README.md +++ b/README.md @@ -213,7 +213,6 @@ Some antivirus software may flag the `.exe` files as false positives. This is a **Why this happens:** - Antivirus heuristics can misidentify packed executables as suspicious -- This affects many legitimate Python applications built with PyInstaller **Safe alternatives:** - ✅ **Use pip installation:** `pip install ytsage` (recommended) From 4a425661f74aee1504c9508c461aa836d4f5fd30 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 15:59:07 +0300 Subject: [PATCH 146/568] Remove MSI cleanup step from Windows build workflow Deleted the step that removes MSI files from the dist directory in the Windows build workflow. This may be to preserve MSI artifacts for later use or debugging. --- .github/workflows/build-windows.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 8cfbec3..adee88e 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -188,7 +188,6 @@ jobs: # Clean previous build artifacts if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } - if (Test-Path "dist\*.msi") { Remove-Item "dist\*.msi" -Force } # Build executable with FFmpeg python build\windows\setup-ffmpeg.py build From 44b69d99e92fddda7b8fe6ffd5f2de84a7a1effa Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 20:02:22 +0300 Subject: [PATCH 147/568] Switch Windows build to ZIP only, remove MSI setup scripts Updated CI/CD documentation and workflow to generate only ZIP portable versions for Windows, removing MSI installer support. Deleted setup.py and setup-ffmpeg.py scripts for MSI builds, and refactored workflow to use cx_Freeze CLI for ZIP packaging. Documentation and artifact instructions now reflect ZIP-only distribution. --- .github/CI_CD_README.md | 17 +-- .github/workflows/build-windows.yml | 196 ++++++++++++---------------- build/windows/setup-ffmpeg.py | 126 ------------------ build/windows/setup.py | 109 ---------------- 4 files changed, 89 insertions(+), 359 deletions(-) delete mode 100644 build/windows/setup-ffmpeg.py delete mode 100644 build/windows/setup.py diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 6cb34eb..b609b3c 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -10,7 +10,7 @@ The workflow is triggered when you push a git tag that starts with `v` (e.g., `v ### Build Process 1. **Setup**: Uses Python 3.12.10 on Windows 2. **Builds**: Creates both Standard and FFmpeg versions -3. **Packages**: Generates MSI installers and ZIP portable versions +3. **Packages**: Generates ZIP portable versions only (no MSI) 4. **Release**: Creates a draft GitHub release with all artifacts ## Usage @@ -38,9 +38,7 @@ The workflow is triggered when you push a git tag that starts with `v` (e.g., `v The workflow creates the following files: -- `YTSage-v.msi` - Standard Windows installer - `YTSage-v.zip` - Standard portable version -- `YTSage-v-ffmpeg.msi` - FFmpeg bundle installer - `YTSage-v-ffmpeg.zip` - FFmpeg bundle portable ### Release Notes @@ -55,8 +53,7 @@ Automatic release notes are generated including: ### Automatic Version Detection - Extracts version from git tag (removes 'v' prefix) -- Updates setup.py files with correct version -- Names all artifacts consistently +- Names all artifacts consistently (ZIPs) ### Caching - Python dependencies are cached to speed up builds @@ -98,16 +95,16 @@ Key configuration options: - Release note templates ### Adding New Build Types -To add new build configurations: -1. Create new setup-*.py files -2. Add build steps to the workflow -3. Update artifact collection logic +To add new platform packages (e.g., .dmg for macOS, .deb for Linux): +1. Add separate jobs in `.github/workflows/build-windows.yml` (or a new workflow) targeting the OS (macos-latest, ubuntu-latest). +2. Build the executable with cx_Freeze or PyInstaller for that platform. +3. Package the build output (e.g., create DMG on macOS, DEB on Ubuntu) using platform tools. +4. Upload the artifacts and include them in the release. ## Notes - The workflow only runs on Windows -- Requires Python 3.12.10 for MSI compatibility - All builds use cx_Freeze for packaging - FFmpeg binaries are expected in standard locations - Draft releases allow for review before publication diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index adee88e..99f1118 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -55,79 +55,38 @@ jobs: pip install --no-cache-dir cx_Freeze pip install --no-cache-dir yt-dlp - - name: Update version in setup files + - name: Prepare build variables shell: powershell run: | $version = "${{ steps.get_version.outputs.VERSION }}" - Write-Host "Updating version to: $version" - - # Update setup.py - $setupContent = Get-Content "build/windows/setup.py" -Raw - $setupContent = $setupContent -replace 'version="[^"]*"', "version=`"$version`"" - $setupContent = $setupContent -replace 'target_name="[^"]*"', "target_name=`"YTSage-v$version.exe`"" - Set-Content "build/windows/setup.py" -Value $setupContent - - # Update setup-ffmpeg.py - $setupFFmpegContent = Get-Content "build/windows/setup-ffmpeg.py" -Raw - $setupFFmpegContent = $setupFFmpegContent -replace 'version="[^"]*"', "version=`"$version`"" - $setupFFmpegContent = $setupFFmpegContent -replace 'target_name="[^"]*"', "target_name=`"YTSage-v$version-ffmpeg.exe`"" - Set-Content "build/windows/setup-ffmpeg.py" -Value $setupFFmpegContent - - Write-Host "Version updated in setup files (build script auto-detects version)" + echo "VERSION=$version" >> $env:GITHUB_ENV + Write-Host "Prepared build variables for version: $version" - - name: Build Standard Version (MSI only) + - name: Build Standard Version (ZIP) shell: powershell run: | .\venv\Scripts\Activate.ps1 - Write-Host "Building Standard Version..." + $version = "$env:VERSION" + Write-Host "Building Standard Version v$version ..." # Clean previous build artifacts if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } - # Build executable - python build\windows\setup.py build - - # Build MSI installer with error handling - Write-Host "Building standard MSI installer..." - Write-Host "Current working directory: $(Get-Location)" - Write-Host "Setup.py path: $(Resolve-Path 'build\windows\setup.py')" - - # Run with maximum verbosity to capture any hidden errors - python build\windows\setup.py bdist_msi --verbose - if ($LASTEXITCODE -eq 0) { - Write-Host "Standard MSI build completed successfully" - # List MSI files created - Write-Host "MSI files in dist directory after standard build:" - if (Test-Path "dist") { - $msiFiles = Get-ChildItem -Path "dist" -Filter "*.msi" - if ($msiFiles) { - $msiFiles | ForEach-Object { Write-Host " $($_.Name)" } - } else { - Write-Host " No MSI files found! Attempting alternative build method..." - # Alternative approach: try building without excludes that might cause issues - Write-Host "Retrying MSI build with simplified configuration..." - python build\windows\setup.py bdist_msi --skip-build - if (Test-Path "dist/*.msi") { - Write-Host "Alternative MSI build succeeded!" - Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } - } else { - Write-Host "ERROR: MSI creation failed completely. Build directory contents:" - if (Test-Path "build") { - Get-ChildItem -Path "build" -Recurse | ForEach-Object { Write-Host " $($_.FullName)" } - } - exit 1 - } - } - } else { - Write-Host " No dist directory found!" - exit 1 - } - } else { - Write-Host "Error building standard MSI - exit code: $LASTEXITCODE" - exit 1 - } + # Build executable using cx_Freeze CLI + cxfreeze main.py ` + --target-dir "dist\YTSage" ` + --base-name Win32GUI ` + --icon "assets\branding\icons\YTSage.ico" ` + --target-name "YTSage-v$version.exe" ` + --optimize 2 ` + --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` + --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` + --include-files "src/:src/" ` + --include-files "assets/Icon/icon.png:assets/Icon/icon.png" ` + --include-files "assets/sound/notification.mp3:assets/sound/notification.mp3" ` + --include-files "assets/branding/icons/YTSage.ico:YTSage.ico" - name: Setup FFmpeg for bundle shell: powershell @@ -179,71 +138,82 @@ jobs: exit 1 } - - name: Build FFmpeg Version (MSI only) + - name: Build FFmpeg Version (ZIP) shell: powershell run: | .\venv\Scripts\Activate.ps1 - Write-Host "Building FFmpeg Version..." + $version = "$env:VERSION" + Write-Host "Building FFmpeg Version v$version ..." # Clean previous build artifacts if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } - # Build executable with FFmpeg - python build\windows\setup-ffmpeg.py build - - # Build MSI installer with FFmpeg and error handling - Write-Host "Building FFmpeg MSI installer..." - python build\windows\setup-ffmpeg.py bdist_msi - if ($LASTEXITCODE -eq 0) { - Write-Host "FFmpeg MSI build completed successfully" - # List MSI files created - Write-Host "MSI files in dist directory after FFmpeg build:" - if (Test-Path "dist") { - Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } - } - } else { - Write-Host "Error building FFmpeg MSI - exit code: $LASTEXITCODE" - exit 1 + # Prepare optional FFmpeg include arguments + $ffinc1 = "" + $ffinc2 = "" + $ffinc3 = "" + if ($env:FFMPEG_PATH) { + $ffmpegExe = Join-Path $env:FFMPEG_PATH "ffmpeg.exe" + $ffprobeExe = Join-Path $env:FFMPEG_PATH "ffprobe.exe" + $ffplayExe = Join-Path $env:FFMPEG_PATH "ffplay.exe" + if (Test-Path $ffmpegExe) { $ffinc1 = "--include-files `"$ffmpegExe:ffmpeg.exe`"" } + if (Test-Path $ffprobeExe) { $ffinc2 = "--include-files `"$ffprobeExe:ffprobe.exe`"" } + if (Test-Path $ffplayExe) { $ffinc3 = "--include-files `"$ffplayExe:ffplay.exe`"" } } + + # Build executable with FFmpeg using cx_Freeze CLI + cxfreeze main.py ` + --target-dir "dist\YTSage-FFmpeg" ` + --base-name Win32GUI ` + --icon "assets\branding\icons\YTSage.ico" ` + --target-name "YTSage-v$version-ffmpeg.exe" ` + --optimize 2 ` + --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` + --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` + --include-files "src/:src/" ` + --include-files "assets/Icon/icon.png:assets/Icon/icon.png" ` + --include-files "assets/sound/notification.mp3:assets/sound/notification.mp3" ` + --include-files "assets/branding/icons/YTSage.ico:YTSage.ico" ` + $ffinc1 $ffinc2 $ffinc3 - - name: Prepare release artifacts + - name: Package and prepare release artifacts (ZIPs) shell: powershell run: | $version = "${{ steps.get_version.outputs.VERSION }}" - Write-Host "Preparing artifacts for version: $version" + Write-Host "Preparing ZIP artifacts for version: $version" New-Item -ItemType Directory -Path "artifacts" -Force - # List all files in dist directory first + # List dist directories Write-Host "Files in dist directory:" if (Test-Path "dist") { Get-ChildItem -Path "dist" -Recurse | ForEach-Object { Write-Host " $($_.FullName)" } } else { Write-Host " No dist directory found!" - } - - # Find and copy standard build artifacts from dist directory - # Look for any MSI file that doesn't contain "ffmpeg" in the name - $standardMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -notlike "*ffmpeg*" -and $_.Name -notlike "*FFmpeg*" } | Select-Object -First 1 - if ($standardMsi) { - Copy-Item $standardMsi.FullName "artifacts\YTSage-v$version.msi" - Write-Host "Copied: $($standardMsi.Name) -> YTSage-v$version.msi" - } else { - Write-Host "Warning: Standard MSI not found" - # List all MSI files for debugging - Write-Host "Available MSI files:" - Get-ChildItem -Path "dist" -Filter "*.msi" | ForEach-Object { Write-Host " $($_.Name)" } + exit 1 } - # Find and copy FFmpeg build artifacts from dist directory - # Look for any MSI file that contains "ffmpeg" or "FFmpeg" in the name - $ffmpegMsi = Get-ChildItem -Path "dist" -Filter "*.msi" | Where-Object { $_.Name -like "*ffmpeg*" -or $_.Name -like "*FFmpeg*" } | Select-Object -First 1 - if ($ffmpegMsi) { - Copy-Item $ffmpegMsi.FullName "artifacts\YTSage-v$version-ffmpeg.msi" - Write-Host "Copied: $($ffmpegMsi.Name) -> YTSage-v$version-ffmpeg.msi" + # Create Standard ZIP + $standardDist = Join-Path (Get-Location) "dist\YTSage" + if (Test-Path $standardDist) { + $stdZip = "artifacts\YTSage-v$version.zip" + if (Test-Path $stdZip) { Remove-Item $stdZip -Force } + Compress-Archive -Path "$standardDist\*" -DestinationPath $stdZip -CompressionLevel Optimal + Write-Host "Created: $(Resolve-Path $stdZip)" } else { - Write-Host "Warning: FFmpeg MSI not found" + Write-Host "Warning: Standard dist folder not found at $standardDist" + } + + # Create FFmpeg ZIP + $ffmpegDist = Join-Path (Get-Location) "dist\YTSage-FFmpeg" + if (Test-Path $ffmpegDist) { + $ffZip = "artifacts\YTSage-v$version-ffmpeg.zip" + if (Test-Path $ffZip) { Remove-Item $ffZip -Force } + Compress-Archive -Path "$ffmpegDist\*" -DestinationPath $ffZip -CompressionLevel Optimal + Write-Host "Created: $(Resolve-Path $ffZip)" + } else { + Write-Host "Warning: FFmpeg dist folder not found at $ffmpegDist" } # List all artifacts @@ -273,30 +243,28 @@ jobs: ## Downloads - ### Standard Version - - **YTSage-v${{ steps.get_version.outputs.VERSION }}.msi** - Windows Installer (Downloads FFmpeg when needed) + ### Standard Version (ZIP) + - **YTSage-v${{ steps.get_version.outputs.VERSION }}.zip** – Portable ZIP (downloads FFmpeg on first use if needed) - ### FFmpeg Bundle Version - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.msi** - Windows Installer with FFmpeg included + ### FFmpeg Bundle Version (ZIP) + - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip** – Portable ZIP with FFmpeg included - ## Installation Instructions + ## Installation / Usage - ### MSI Installer - 1. Download the `.msi` file - 2. Double-click to run the installer - 3. Follow the installation wizard - 4. YTSage will be available in your Start Menu + 1. Download the `.zip` file you want. + 2. Right-click the ZIP, choose Properties, and if you see "Unblock", check it and Apply. + 3. Extract the ZIP to a folder (e.g., `C:\Apps\YTSage`). + 4. Run `YTSage-v${{ steps.get_version.outputs.VERSION }}.exe` inside the extracted folder. ## System Requirements - Windows 10/11 (64-bit) - - .NET Framework (usually pre-installed) - Internet connection for yt-dlp updates ## Notes - - **Standard version**: Downloads FFmpeg automatically when needed - - **FFmpeg bundle**: Includes FFmpeg binaries for offline use + - **Standard version**: Downloads FFmpeg automatically when needed. + - **FFmpeg bundle**: Includes FFmpeg binaries for offline use. --- diff --git a/build/windows/setup-ffmpeg.py b/build/windows/setup-ffmpeg.py deleted file mode 100644 index babf595..0000000 --- a/build/windows/setup-ffmpeg.py +++ /dev/null @@ -1,126 +0,0 @@ -""" -cx_Freeze setup script for YTSage with FFmpeg bundle -Supports building executables, MSI installers, and ZIP distributions with FFmpeg -""" - -import sys -from pathlib import Path -from cx_Freeze import setup, Executable -import os - -# Get FFmpeg path from environment variable or use default -FFMPEG_PATH = os.environ.get('FFMPEG_PATH', r'C:\Users\atela\AppData\Local\ffmpeg\ffmpeg-7.1.1-full_build\bin') - -# Prepare include files list -include_files = [ - ("src/", "src/"), # Include entire src directory - ("assets/Icon/icon.png", "assets/Icon/icon.png"), - ("assets/sound/notification.mp3", "assets/sound/notification.mp3"), - ("assets/branding/icons/YTSage.ico", "YTSage.ico"), -] - -# Add FFmpeg binaries if they exist -ffmpeg_binaries = ["ffmpeg.exe", "ffprobe.exe", "ffplay.exe"] -for binary in ffmpeg_binaries: - ffmpeg_file = os.path.join(FFMPEG_PATH, binary) - if os.path.exists(ffmpeg_file): - include_files.append((ffmpeg_file, binary)) - print(f"Including FFmpeg binary: {binary}") - else: - print(f"Warning: FFmpeg binary not found: {ffmpeg_file}") - -# Build options for executable -build_exe_options = { - # Let cx_Freeze auto-discover packages from main.py instead of explicit listing - "packages": [ - "PySide6.QtCore", - "PySide6.QtGui", - "PySide6.QtWidgets", - # Additional packages that might be needed - "requests", - "PIL", # Pillow is imported as PIL - "packaging", - "markdown", - "playsound3", - "loguru", - "setuptools" - ], - - # Packages to exclude (to reduce size) - "excludes": [ - "PySide6.QtBluetooth", - "PySide6.QtNetwork", - "PySide6.QtOpenGL", - "PySide6.QtPrintSupport", - "PySide6.QtSvg", - "PySide6.QtTest", - "PySide6.QtXml", - "PySide6.QtSql", - "PySide6.QtHelp", - "PySide6.QtMultimedia", - "PySide6.QtQml", - "PySide6.QtQuick", - "PySide6.QtWebEngineCore", - "PIL.ImageDraw", - "PIL.ImageFont", - "numpy", - "scipy", - "wx", - "pandas", - "tkinter", - "yt_dlp", # Excluded - downloaded dynamically at runtime (all imports are conditional) - "unittest", - "test", - "tests" - ], - - # Include files (assets + FFmpeg binaries + source code) - "include_files": include_files, - - # Zip includes (can help reduce file count) - "zip_include_packages": "*", - "zip_exclude_packages": [], - - # Other options - "optimize": 2, # Optimize bytecode - "build_exe": "dist/YTSage-FFmpeg", # Output directory for executable -} - -# MSI build options - simplified to avoid cx_Freeze issues -bdist_msi_options = { - "upgrade_code": "{87654321-4321-8765-CBA9-987654321CBA}", # Different GUID for FFmpeg version - "add_to_path": False, - "initial_target_dir": r"[ProgramFilesFolder]\YTSage" - # Removed summary_data that might cause silent failures -} - -# Base configuration for Windows GUI application -base = None -if sys.platform == "win32": - base = "Win32GUI" # This prevents console window from appearing - -# Executable configuration -executable = Executable( - "main.py", - base=base, - icon="assets/branding/icons/YTSage.ico", - target_name="YTSage-v4.7.4-ffmpeg.exe", - copyright="Copyright (c) 2024-2025 YTSage", - trademarks="YTSage" -) - -# Setup configuration -setup( - name="YTSage-FFmpeg", - version="4.7.4", # Updated to match expected version - description="YouTube Video Downloader with FFmpeg", - author="oop7", - author_email="oop7_support@proton.me", - url="https://github.com/oop7/ytsage", - license="MIT", - options={ - "build_exe": build_exe_options, - "bdist_msi": bdist_msi_options - }, - executables=[executable] -) diff --git a/build/windows/setup.py b/build/windows/setup.py deleted file mode 100644 index 2c4ad1d..0000000 --- a/build/windows/setup.py +++ /dev/null @@ -1,109 +0,0 @@ -""" -cx_Freeze setup script for YTSage -Supports building executables, MSI installers, and ZIP distributions -""" - -import sys -from pathlib import Path -from cx_Freeze import setup, Executable - -# Build options for executable -build_exe_options = { - # Let cx_Freeze auto-discover packages from main.py instead of explicit listing - "packages": [ - "PySide6.QtCore", - "PySide6.QtGui", - "PySide6.QtWidgets", - # Additional packages that might be needed - "requests", - "PIL", # Pillow is imported as PIL - "packaging", - "markdown", - "playsound3", - "loguru", - "setuptools" - ], - - # Packages to exclude (to reduce size) - "excludes": [ - "PySide6.QtBluetooth", - "PySide6.QtNetwork", - "PySide6.QtOpenGL", - "PySide6.QtPrintSupport", - "PySide6.QtSvg", - "PySide6.QtTest", - "PySide6.QtXml", - "PySide6.QtSql", - "PySide6.QtHelp", - "PySide6.QtMultimedia", - "PySide6.QtQml", - "PySide6.QtQuick", - "PySide6.QtWebEngineCore", - "PIL.ImageDraw", - "PIL.ImageFont", - "numpy", - "scipy", - "wx", - "pandas", - "tkinter", - "yt_dlp", # Excluded - downloaded dynamically at runtime (all imports are conditional) - "unittest", - "test", - "tests" - ], - - # Include files (assets and source code) - "include_files": [ - ("src/", "src/"), # Include entire src directory - ("assets/Icon/icon.png", "assets/Icon/icon.png"), - ("assets/sound/notification.mp3", "assets/sound/notification.mp3"), - ("assets/branding/icons/YTSage.ico", "YTSage.ico") - ], - - # Zip includes (can help reduce file count) - "zip_include_packages": "*", - "zip_exclude_packages": [], - - # Other options - "optimize": 2, # Optimize bytecode - "build_exe": "dist/YTSage", # Output directory for executable -} - -# MSI build options - simplified to avoid cx_Freeze issues -bdist_msi_options = { - "upgrade_code": "{12345678-1234-5678-9ABC-123456789ABC}", # Generate unique GUID - "add_to_path": False, - "initial_target_dir": r"[ProgramFilesFolder]\YTSage" - # Removed target_name and summary_data that might cause silent failures -} - -# Base configuration for Windows GUI application -base = None -if sys.platform == "win32": - base = "Win32GUI" # This prevents console window from appearing - -# Executable configuration -executable = Executable( - "main.py", - base=base, - icon="assets/branding/icons/YTSage.ico", - target_name="YTSage-v4.7.4.exe", - copyright="Copyright (c) 2024-2025 YTSage", - trademarks="YTSage" -) - -# Setup configuration -setup( - name="YTSage", - version="4.7.4", # Updated to match expected version - description="YouTube Video Downloader", - author="oop7", - author_email="oop7_support@proton.me", - url="https://github.com/oop7/ytsage", - license="MIT", - options={ - "build_exe": build_exe_options, - "bdist_msi": bdist_msi_options - }, - executables=[executable] -) From d435cac3d5892240775a43adf8d8508c6452964b Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 20:12:05 +0300 Subject: [PATCH 148/568] Simplify include-files in Windows build workflow Replaces individual asset and source file mappings with broader 'src' and 'assets' directory includes in the cx_Freeze build steps. Also updates FFmpeg file inclusion to use only the source path, removing explicit destination mapping. --- .github/workflows/build-windows.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 99f1118..0982bf7 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -83,10 +83,8 @@ jobs: --optimize 2 ` --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src/:src/" ` - --include-files "assets/Icon/icon.png:assets/Icon/icon.png" ` - --include-files "assets/sound/notification.mp3:assets/sound/notification.mp3" ` - --include-files "assets/branding/icons/YTSage.ico:YTSage.ico" + --include-files "src" ` + --include-files "assets" - name: Setup FFmpeg for bundle shell: powershell @@ -157,9 +155,9 @@ jobs: $ffmpegExe = Join-Path $env:FFMPEG_PATH "ffmpeg.exe" $ffprobeExe = Join-Path $env:FFMPEG_PATH "ffprobe.exe" $ffplayExe = Join-Path $env:FFMPEG_PATH "ffplay.exe" - if (Test-Path $ffmpegExe) { $ffinc1 = "--include-files `"$ffmpegExe:ffmpeg.exe`"" } - if (Test-Path $ffprobeExe) { $ffinc2 = "--include-files `"$ffprobeExe:ffprobe.exe`"" } - if (Test-Path $ffplayExe) { $ffinc3 = "--include-files `"$ffplayExe:ffplay.exe`"" } + if (Test-Path $ffmpegExe) { $ffinc1 = "--include-files `"$ffmpegExe`"" } + if (Test-Path $ffprobeExe) { $ffinc2 = "--include-files `"$ffprobeExe`"" } + if (Test-Path $ffplayExe) { $ffinc3 = "--include-files `"$ffplayExe`"" } } # Build executable with FFmpeg using cx_Freeze CLI @@ -171,10 +169,8 @@ jobs: --optimize 2 ` --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src/:src/" ` - --include-files "assets/Icon/icon.png:assets/Icon/icon.png" ` - --include-files "assets/sound/notification.mp3:assets/sound/notification.mp3" ` - --include-files "assets/branding/icons/YTSage.ico:YTSage.ico" ` + --include-files "src" ` + --include-files "assets" ` $ffinc1 $ffinc2 $ffinc3 - name: Package and prepare release artifacts (ZIPs) From f7a40b7c45e89b8f6b79e8004d2dbc398b65b6cf Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 20:21:25 +0300 Subject: [PATCH 149/568] Update Python version and improve FFmpeg handling Bumps PYTHON_VERSION to 3.13.6 in the Windows build workflow. Replaces cx_Freeze CLI FFmpeg include logic with a post-build step that copies FFmpeg binaries directly into the dist folder for improved reliability. --- .github/workflows/build-windows.yml | 36 ++++++++++++++++------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 0982bf7..28eb495 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -9,7 +9,7 @@ permissions: contents: write env: - PYTHON_VERSION: '3.12.10' + PYTHON_VERSION: '3.13.6' jobs: build-windows: @@ -147,19 +147,6 @@ jobs: if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } - # Prepare optional FFmpeg include arguments - $ffinc1 = "" - $ffinc2 = "" - $ffinc3 = "" - if ($env:FFMPEG_PATH) { - $ffmpegExe = Join-Path $env:FFMPEG_PATH "ffmpeg.exe" - $ffprobeExe = Join-Path $env:FFMPEG_PATH "ffprobe.exe" - $ffplayExe = Join-Path $env:FFMPEG_PATH "ffplay.exe" - if (Test-Path $ffmpegExe) { $ffinc1 = "--include-files `"$ffmpegExe`"" } - if (Test-Path $ffprobeExe) { $ffinc2 = "--include-files `"$ffprobeExe`"" } - if (Test-Path $ffplayExe) { $ffinc3 = "--include-files `"$ffplayExe`"" } - } - # Build executable with FFmpeg using cx_Freeze CLI cxfreeze main.py ` --target-dir "dist\YTSage-FFmpeg" ` @@ -170,8 +157,25 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - --include-files "assets" ` - $ffinc1 $ffinc2 $ffinc3 + --include-files "assets" + + # Copy FFmpeg binaries into dist folder post-build (more reliable than CLI include) + if ($env:FFMPEG_PATH) { + $destDir = "dist\YTSage-FFmpeg" + $ffmpegExe = Join-Path $env:FFMPEG_PATH "ffmpeg.exe" + $ffprobeExe = Join-Path $env:FFMPEG_PATH "ffprobe.exe" + $ffplayExe = Join-Path $env:FFMPEG_PATH "ffplay.exe" + + foreach ($file in @($ffmpegExe, $ffprobeExe, $ffplayExe)) { + if (Test-Path $file) { + $name = Split-Path $file -Leaf + Copy-Item $file -Destination (Join-Path $destDir $name) -Force + Write-Host "Copied $name into $destDir" + } else { + Write-Host "Warning: FFmpeg binary not found: $file" + } + } + } - name: Package and prepare release artifacts (ZIPs) shell: powershell From d02117f7c302c99f1f78c629396983aabfba81fd Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 20:39:50 +0300 Subject: [PATCH 150/568] Exclude screenshots from Windows build outputs Removes the screenshots folder from both Standard and FFmpeg build outputs in the Windows workflow. Also updates artifact ZIP naming to include '-portable' for clarity in release notes and file names. --- .github/workflows/build-windows.yml | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 28eb495..19af073 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -85,6 +85,13 @@ jobs: --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` --include-files "assets" + + # Exclude screenshots folder from Standard build output + $stdScreenshots = "dist\YTSage\assets\branding\screenshots" + if (Test-Path $stdScreenshots) { + Remove-Item $stdScreenshots -Recurse -Force + Write-Host "Removed screenshots from Standard build: $stdScreenshots" + } - name: Setup FFmpeg for bundle shell: powershell @@ -176,6 +183,13 @@ jobs: } } } + + # Exclude screenshots folder from FFmpeg build output + $ffScreenshots = "dist\YTSage-FFmpeg\assets\branding\screenshots" + if (Test-Path $ffScreenshots) { + Remove-Item $ffScreenshots -Recurse -Force + Write-Host "Removed screenshots from FFmpeg build: $ffScreenshots" + } - name: Package and prepare release artifacts (ZIPs) shell: powershell @@ -194,10 +208,10 @@ jobs: exit 1 } - # Create Standard ZIP + # Create Standard ZIP (portable) $standardDist = Join-Path (Get-Location) "dist\YTSage" if (Test-Path $standardDist) { - $stdZip = "artifacts\YTSage-v$version.zip" + $stdZip = "artifacts\YTSage-v$version-portable.zip" if (Test-Path $stdZip) { Remove-Item $stdZip -Force } Compress-Archive -Path "$standardDist\*" -DestinationPath $stdZip -CompressionLevel Optimal Write-Host "Created: $(Resolve-Path $stdZip)" @@ -205,10 +219,10 @@ jobs: Write-Host "Warning: Standard dist folder not found at $standardDist" } - # Create FFmpeg ZIP + # Create FFmpeg ZIP (portable) $ffmpegDist = Join-Path (Get-Location) "dist\YTSage-FFmpeg" if (Test-Path $ffmpegDist) { - $ffZip = "artifacts\YTSage-v$version-ffmpeg.zip" + $ffZip = "artifacts\YTSage-v$version-ffmpeg-portable.zip" if (Test-Path $ffZip) { Remove-Item $ffZip -Force } Compress-Archive -Path "$ffmpegDist\*" -DestinationPath $ffZip -CompressionLevel Optimal Write-Host "Created: $(Resolve-Path $ffZip)" @@ -244,10 +258,10 @@ jobs: ## Downloads ### Standard Version (ZIP) - - **YTSage-v${{ steps.get_version.outputs.VERSION }}.zip** – Portable ZIP (downloads FFmpeg on first use if needed) + - **YTSage-v${{ steps.get_version.outputs.VERSION }}-portable.zip** – Portable ZIP (downloads FFmpeg on first use if needed) ### FFmpeg Bundle Version (ZIP) - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg.zip** – Portable ZIP with FFmpeg included + - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg-portable.zip** – Portable ZIP with FFmpeg included ## Installation / Usage From b45434bf6ec79af93ac7aa2dd06df7ac7d081073 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 21:01:55 +0300 Subject: [PATCH 151/568] Refactor Windows build workflow for YTSage Simplifies and modernizes the GitHub Actions workflow for building Windows releases. Updates Python version, streamlines steps for dependency installation, build, FFmpeg bundling, artifact packaging, and release creation. Uses more concise PowerShell scripts and updates action versions for improved maintainability. --- .github/workflows/build-windows.yml | 378 +++++++++------------------- 1 file changed, 119 insertions(+), 259 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 19af073..63fbde0 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -9,281 +9,141 @@ permissions: contents: write env: - PYTHON_VERSION: '3.13.6' + PYTHON_VERSION: '3.12.10' jobs: build-windows: runs-on: windows-latest - + defaults: + run: + shell: pwsh + steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Extract version from tag - id: get_version - shell: powershell - run: | - $tag = "${{ github.ref_name }}" - $version = $tag -replace '^v', '' - Write-Host "Extracted version: $version" - echo "VERSION=$version" >> $env:GITHUB_OUTPUT + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: ${{ env.PYTHON_VERSION }} + - name: Derive version from tag + id: version + run: | + $tag = "${{ github.ref_name }}" + $ver = $tag -replace '^v','' + echo "VERSION=$ver" >> $env:GITHUB_OUTPUT + echo "VERSION=$ver" >> $env:GITHUB_ENV - - name: Cache Python dependencies - uses: actions/cache@v3 - with: - path: | - venv - ~\AppData\Local\pip\Cache - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- + - name: Setup Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v5 + with: + python-version: ${{ env.PYTHON_VERSION }} - - name: Create virtual environment and install dependencies - shell: powershell - run: | - python -m venv venv - .\venv\Scripts\Activate.ps1 - python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt - pip install --no-cache-dir cx_Freeze - pip install --no-cache-dir yt-dlp + - name: Create venv and install dependencies + run: | + $py = $env:pythonLocation + & "$py\python.exe" -m venv venv + .\venv\Scripts\Activate.ps1 + python -m pip install --upgrade pip + pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir cx_Freeze yt-dlp - - name: Prepare build variables - shell: powershell - run: | - $version = "${{ steps.get_version.outputs.VERSION }}" - echo "VERSION=$version" >> $env:GITHUB_ENV - Write-Host "Prepared build variables for version: $version" - - - name: Build Standard Version (ZIP) - shell: powershell - run: | - .\venv\Scripts\Activate.ps1 - $version = "$env:VERSION" - Write-Host "Building Standard Version v$version ..." - - # Clean previous build artifacts - if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } - if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } - if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } - - # Build executable using cx_Freeze CLI - cxfreeze main.py ` - --target-dir "dist\YTSage" ` - --base-name Win32GUI ` - --icon "assets\branding\icons\YTSage.ico" ` - --target-name "YTSage-v$version.exe" ` - --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` - --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src" ` - --include-files "assets" + - name: Build Standard (portable ZIP) + run: | + .\venv\Scripts\Activate.ps1 + $version = "$env:VERSION" + Write-Host "Building Standard v$version" - # Exclude screenshots folder from Standard build output - $stdScreenshots = "dist\YTSage\assets\branding\screenshots" - if (Test-Path $stdScreenshots) { - Remove-Item $stdScreenshots -Recurse -Force - Write-Host "Removed screenshots from Standard build: $stdScreenshots" - } - - - name: Setup FFmpeg for bundle - shell: powershell - run: | - Write-Host "Setting up FFmpeg for bundled version..." - - # Create ffmpeg directory - New-Item -ItemType Directory -Path "ffmpeg-temp" -Force - - # Download FFmpeg - $ffmpegUrl = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.zip" - Write-Host "Downloading FFmpeg from: $ffmpegUrl" - Invoke-WebRequest -Uri $ffmpegUrl -OutFile "ffmpeg-temp\ffmpeg.zip" - - # Extract FFmpeg - Expand-Archive -Path "ffmpeg-temp\ffmpeg.zip" -DestinationPath "ffmpeg-temp" -Force - - # Find the extracted directory (GyanD ffmpeg has specific naming) - $ffmpegDir = Get-ChildItem -Path "ffmpeg-temp" -Directory | Where-Object { $_.Name -like "ffmpeg-*" } | Select-Object -First 1 - - if ($ffmpegDir) { - # Set environment variable for the build - $ffmpegBinPath = Join-Path $ffmpegDir.FullName "bin" - Write-Host "FFmpeg binaries found at: $ffmpegBinPath" - echo "FFMPEG_PATH=$ffmpegBinPath" >> $env:GITHUB_ENV - - # Verify files exist - $ffmpegExe = Join-Path $ffmpegBinPath "ffmpeg.exe" - $ffprobeExe = Join-Path $ffmpegBinPath "ffprobe.exe" - $ffplayExe = Join-Path $ffmpegBinPath "ffplay.exe" - - if (Test-Path $ffmpegExe) { - Write-Host "[OK] ffmpeg.exe found" - } else { - Write-Host "[ERROR] ffmpeg.exe missing" - } - if (Test-Path $ffprobeExe) { - Write-Host "[OK] ffprobe.exe found" - } else { - Write-Host "[ERROR] ffprobe.exe missing" - } - if (Test-Path $ffplayExe) { - Write-Host "[OK] ffplay.exe found" - } else { - Write-Host "[ERROR] ffplay.exe missing" - } - } else { - Write-Host "Error: Could not find FFmpeg directory after extraction" - exit 1 - } - - - name: Build FFmpeg Version (ZIP) - shell: powershell - run: | - .\venv\Scripts\Activate.ps1 - $version = "$env:VERSION" - Write-Host "Building FFmpeg Version v$version ..." - - # Clean previous build artifacts - if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } - if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } - - # Build executable with FFmpeg using cx_Freeze CLI - cxfreeze main.py ` - --target-dir "dist\YTSage-FFmpeg" ` - --base-name Win32GUI ` - --icon "assets\branding\icons\YTSage.ico" ` - --target-name "YTSage-v$version-ffmpeg.exe" ` - --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` - --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src" ` - --include-files "assets" + if (Test-Path "build") { Remove-Item "build" -Recurse -Force } + if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } - # Copy FFmpeg binaries into dist folder post-build (more reliable than CLI include) - if ($env:FFMPEG_PATH) { - $destDir = "dist\YTSage-FFmpeg" - $ffmpegExe = Join-Path $env:FFMPEG_PATH "ffmpeg.exe" - $ffprobeExe = Join-Path $env:FFMPEG_PATH "ffprobe.exe" - $ffplayExe = Join-Path $env:FFMPEG_PATH "ffplay.exe" + .\venv\Scripts\python.exe -m cx_Freeze.cli cxfreeze main.py ` + --target-dir "dist\YTSage" ` + --base-name Win32GUI ` + --icon "assets\branding\icons\YTSage.ico" ` + --target-name "YTSage-v$version.exe" ` + --optimize 2 ` + --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` + --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` + --include-files "src" ` + --include-files "assets" - foreach ($file in @($ffmpegExe, $ffprobeExe, $ffplayExe)) { - if (Test-Path $file) { - $name = Split-Path $file -Leaf - Copy-Item $file -Destination (Join-Path $destDir $name) -Force - Write-Host "Copied $name into $destDir" - } else { - Write-Host "Warning: FFmpeg binary not found: $file" + $stdScreenshots = "dist\YTSage\assets\branding\screenshots" + if (Test-Path $stdScreenshots) { Remove-Item $stdScreenshots -Recurse -Force } + + - name: Download FFmpeg bundle + run: | + New-Item -ItemType Directory -Path "ffmpeg-temp" -Force | Out-Null + $ffmpegUrl = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.zip" + Invoke-WebRequest -Uri $ffmpegUrl -OutFile "ffmpeg-temp\ffmpeg.zip" + Expand-Archive -Path "ffmpeg-temp\ffmpeg.zip" -DestinationPath "ffmpeg-temp" -Force + $ffmpegDir = Get-ChildItem -Path "ffmpeg-temp" -Directory | Where-Object { $_.Name -like "ffmpeg-*" } | Select-Object -First 1 + if (-not $ffmpegDir) { Write-Error "FFmpeg dir not found"; exit 1 } + $ffmpegBin = Join-Path $ffmpegDir.FullName "bin" + echo "FFMPEG_PATH=$ffmpegBin" >> $env:GITHUB_ENV + + - name: Build FFmpeg bundle (portable ZIP) + run: | + .\venv\Scripts\Activate.ps1 + $version = "$env:VERSION" + Write-Host "Building FFmpeg bundle v$version" + + if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } + + .\venv\Scripts\python.exe -m cx_Freeze.cli cxfreeze main.py ` + --target-dir "dist\YTSage-FFmpeg" ` + --base-name Win32GUI ` + --icon "assets\branding\icons\YTSage.ico" ` + --target-name "YTSage-v$version-ffmpeg.exe" ` + --optimize 2 ` + --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` + --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` + --include-files "src" ` + --include-files "assets" + + if ($env:FFMPEG_PATH) { + $dest = "dist\YTSage-FFmpeg" + foreach ($n in 'ffmpeg.exe','ffprobe.exe','ffplay.exe') { + $src = Join-Path $env:FFMPEG_PATH $n + if (Test-Path $src) { Copy-Item $src -Destination (Join-Path $dest $n) -Force } } } - } - # Exclude screenshots folder from FFmpeg build output - $ffScreenshots = "dist\YTSage-FFmpeg\assets\branding\screenshots" - if (Test-Path $ffScreenshots) { - Remove-Item $ffScreenshots -Recurse -Force - Write-Host "Removed screenshots from FFmpeg build: $ffScreenshots" - } - - - name: Package and prepare release artifacts (ZIPs) - shell: powershell - run: | - $version = "${{ steps.get_version.outputs.VERSION }}" - - Write-Host "Preparing ZIP artifacts for version: $version" - New-Item -ItemType Directory -Path "artifacts" -Force - - # List dist directories - Write-Host "Files in dist directory:" - if (Test-Path "dist") { - Get-ChildItem -Path "dist" -Recurse | ForEach-Object { Write-Host " $($_.FullName)" } - } else { - Write-Host " No dist directory found!" - exit 1 - } + $ffShots = "dist\YTSage-FFmpeg\assets\branding\screenshots" + if (Test-Path $ffShots) { Remove-Item $ffShots -Recurse -Force } - # Create Standard ZIP (portable) - $standardDist = Join-Path (Get-Location) "dist\YTSage" - if (Test-Path $standardDist) { - $stdZip = "artifacts\YTSage-v$version-portable.zip" - if (Test-Path $stdZip) { Remove-Item $stdZip -Force } - Compress-Archive -Path "$standardDist\*" -DestinationPath $stdZip -CompressionLevel Optimal - Write-Host "Created: $(Resolve-Path $stdZip)" - } else { - Write-Host "Warning: Standard dist folder not found at $standardDist" - } + - name: Package artifacts + run: | + $version = "$env:VERSION" + New-Item -ItemType Directory -Path "artifacts" -Force | Out-Null - # Create FFmpeg ZIP (portable) - $ffmpegDist = Join-Path (Get-Location) "dist\YTSage-FFmpeg" - if (Test-Path $ffmpegDist) { - $ffZip = "artifacts\YTSage-v$version-ffmpeg-portable.zip" - if (Test-Path $ffZip) { Remove-Item $ffZip -Force } - Compress-Archive -Path "$ffmpegDist\*" -DestinationPath $ffZip -CompressionLevel Optimal - Write-Host "Created: $(Resolve-Path $ffZip)" - } else { - Write-Host "Warning: FFmpeg dist folder not found at $ffmpegDist" - } - - # List all artifacts - Write-Host "Final artifacts:" - if (Test-Path "artifacts") { - $artifactFiles = Get-ChildItem artifacts - if ($artifactFiles) { - $artifactFiles | ForEach-Object { Write-Host " $($_.Name)" } - } else { - Write-Host " No artifacts created!" + $std = "artifacts\YTSage-v$version-portable.zip" + if (Test-Path "dist\YTSage") { + if (Test-Path $std) { Remove-Item $std -Force } + Compress-Archive -Path "dist\YTSage\*" -DestinationPath $std -CompressionLevel Optimal } - } else { - Write-Host " Artifacts directory not found!" - } - - name: Create draft release - uses: softprops/action-gh-release@v1 - with: - tag_name: ${{ github.ref_name }} - name: YTSage ${{ github.ref_name }} - draft: true - prerelease: false - body: | - # YTSage ${{ github.ref_name }} - - **Release Date**: ${{ github.event.head_commit.timestamp }} - - ## Downloads - - ### Standard Version (ZIP) - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-portable.zip** – Portable ZIP (downloads FFmpeg on first use if needed) - - ### FFmpeg Bundle Version (ZIP) - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg-portable.zip** – Portable ZIP with FFmpeg included - - ## Installation / Usage - - 1. Download the `.zip` file you want. - 2. Right-click the ZIP, choose Properties, and if you see "Unblock", check it and Apply. - 3. Extract the ZIP to a folder (e.g., `C:\Apps\YTSage`). - 4. Run `YTSage-v${{ steps.get_version.outputs.VERSION }}.exe` inside the extracted folder. - - ## System Requirements - - - Windows 10/11 (64-bit) - - Internet connection for yt-dlp updates - - ## Notes - - - **Standard version**: Downloads FFmpeg automatically when needed. - - **FFmpeg bundle**: Includes FFmpeg binaries for offline use. - - --- - - **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} - files: | - artifacts/* - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + $ff = "artifacts\YTSage-v$version-ffmpeg-portable.zip" + if (Test-Path "dist\YTSage-FFmpeg") { + if (Test-Path $ff) { Remove-Item $ff -Force } + Compress-Archive -Path "dist\YTSage-FFmpeg\*" -DestinationPath $ff -CompressionLevel Optimal + } + + Write-Host "Artifacts:" + Get-ChildItem artifacts | ForEach-Object { Write-Host " - $($_.Name)" } + + - name: Create draft release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ github.ref_name }} + name: YTSage ${{ github.ref_name }} + draft: true + prerelease: false + body: | + ## Downloads + + - YTSage-v${{ steps.version.outputs.VERSION }}-portable.zip (portable) + - YTSage-v${{ steps.version.outputs.VERSION }}-ffmpeg-portable.zip (portable with FFmpeg included) + + Extract and run the EXE. Console window is hidden. + files: | + artifacts/* \ No newline at end of file From a344d084a6401df0380e051d515bf0deb9ff66ad Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 21:06:46 +0300 Subject: [PATCH 152/568] Revamp Windows build workflow and update Python version Updated the build-windows.yml workflow to use Python 3.13.6, improved build steps for both standard and FFmpeg bundle versions, added dependency caching, enhanced artifact packaging, and modernized the release draft with clearer instructions and changelog links. --- .github/workflows/build-windows.yml | 378 +++++++++++++++++++--------- 1 file changed, 258 insertions(+), 120 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 63fbde0..2b9d392 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -9,141 +9,279 @@ permissions: contents: write env: - PYTHON_VERSION: '3.12.10' + PYTHON_VERSION: '3.13.6' jobs: build-windows: runs-on: windows-latest - defaults: - run: - shell: pwsh - + steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Extract version from tag + id: get_version + shell: powershell + run: | + $tag = "${{ github.ref_name }}" + $version = $tag -replace '^v', '' + Write-Host "Extracted version: $version" + echo "VERSION=$version" >> $env:GITHUB_OUTPUT - - name: Derive version from tag - id: version - run: | - $tag = "${{ github.ref_name }}" - $ver = $tag -replace '^v','' - echo "VERSION=$ver" >> $env:GITHUB_OUTPUT - echo "VERSION=$ver" >> $env:GITHUB_ENV + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} - - name: Setup Python ${{ env.PYTHON_VERSION }} - uses: actions/setup-python@v5 - with: - python-version: ${{ env.PYTHON_VERSION }} + - name: Cache Python dependencies + uses: actions/cache@v3 + with: + path: | + venv + ~\AppData\Local\pip\Cache + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- - - name: Create venv and install dependencies - run: | - $py = $env:pythonLocation - & "$py\python.exe" -m venv venv - .\venv\Scripts\Activate.ps1 - python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt - pip install --no-cache-dir cx_Freeze yt-dlp + - name: Create virtual environment and install dependencies + shell: powershell + run: | + python -m venv venv + .\venv\Scripts\Activate.ps1 + python -m pip install --upgrade pip + pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir cx_Freeze + pip install --no-cache-dir yt-dlp - - name: Build Standard (portable ZIP) - run: | - .\venv\Scripts\Activate.ps1 - $version = "$env:VERSION" - Write-Host "Building Standard v$version" + - name: Prepare build variables + shell: powershell + run: | + $version = "${{ steps.get_version.outputs.VERSION }}" + echo "VERSION=$version" >> $env:GITHUB_ENV + Write-Host "Prepared build variables for version: $version" + + - name: Build Standard Version (ZIP) + shell: powershell + run: | + .\venv\Scripts\Activate.ps1 + $version = "$env:VERSION" + Write-Host "Building Standard Version v$version ..." + + # Clean previous build artifacts + if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } + if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } + + # Build executable using cx_Freeze CLI (use python -m to ensure proper base handling) + python -m cx_Freeze main.py ` + --target-dir "dist\YTSage" ` + --base-name Win32GUI ` + --icon "assets\branding\icons\YTSage.ico" ` + --target-name "YTSage-v$version.exe" ` + --optimize 2 ` + --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` + --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` + --include-files "src" ` + --include-files "assets" + + # Remove screenshots folder to reduce build size + if (Test-Path "dist\YTSage\assets\branding\screenshots") { + Remove-Item "dist\YTSage\assets\branding\screenshots" -Recurse -Force + Write-Host "Removed screenshots folder from standard build" + } + + - name: Setup FFmpeg for bundle + shell: powershell + run: | + Write-Host "Setting up FFmpeg for bundled version..." + + # Create ffmpeg directory + New-Item -ItemType Directory -Path "ffmpeg-temp" -Force + + # Download FFmpeg + $ffmpegUrl = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.zip" + Write-Host "Downloading FFmpeg from: $ffmpegUrl" + Invoke-WebRequest -Uri $ffmpegUrl -OutFile "ffmpeg-temp\ffmpeg.zip" + + # Extract FFmpeg + Expand-Archive -Path "ffmpeg-temp\ffmpeg.zip" -DestinationPath "ffmpeg-temp" -Force + + # Find the extracted directory (GyanD ffmpeg has specific naming) + $ffmpegDir = Get-ChildItem -Path "ffmpeg-temp" -Directory | Where-Object { $_.Name -like "ffmpeg-*" } | Select-Object -First 1 + + if ($ffmpegDir) { + # Set environment variable for the build + $ffmpegBinPath = Join-Path $ffmpegDir.FullName "bin" + Write-Host "FFmpeg binaries found at: $ffmpegBinPath" + echo "FFMPEG_PATH=$ffmpegBinPath" >> $env:GITHUB_ENV + + # Verify files exist + $ffmpegExe = Join-Path $ffmpegBinPath "ffmpeg.exe" + $ffprobeExe = Join-Path $ffmpegBinPath "ffprobe.exe" + $ffplayExe = Join-Path $ffmpegBinPath "ffplay.exe" + + if (Test-Path $ffmpegExe) { + Write-Host "[OK] ffmpeg.exe found" + } else { + Write-Host "[ERROR] ffmpeg.exe missing" + } + if (Test-Path $ffprobeExe) { + Write-Host "[OK] ffprobe.exe found" + } else { + Write-Host "[ERROR] ffprobe.exe missing" + } + if (Test-Path $ffplayExe) { + Write-Host "[OK] ffplay.exe found" + } else { + Write-Host "[ERROR] ffplay.exe missing" + } + } else { + Write-Host "Error: Could not find FFmpeg directory after extraction" + exit 1 + } + + - name: Build FFmpeg Version (ZIP) + shell: powershell + run: | + .\venv\Scripts\Activate.ps1 + $version = "$env:VERSION" + Write-Host "Building FFmpeg Version v$version ..." + + # Clean previous build artifacts + if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } + if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } + + # Build executable with FFmpeg using cx_Freeze CLI (use python -m to ensure proper base handling) + python -m cx_Freeze main.py ` + --target-dir "dist\YTSage-FFmpeg" ` + --base-name Win32GUI ` + --icon "assets\branding\icons\YTSage.ico" ` + --target-name "YTSage-v$version-ffmpeg.exe" ` + --optimize 2 ` + --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` + --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` + --include-files "src" ` + --include-files "assets" - if (Test-Path "build") { Remove-Item "build" -Recurse -Force } - if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } + # Remove screenshots folder to reduce build size + if (Test-Path "dist\YTSage-FFmpeg\assets\branding\screenshots") { + Remove-Item "dist\YTSage-FFmpeg\assets\branding\screenshots" -Recurse -Force + Write-Host "Removed screenshots folder from FFmpeg build" + } - .\venv\Scripts\python.exe -m cx_Freeze.cli cxfreeze main.py ` - --target-dir "dist\YTSage" ` - --base-name Win32GUI ` - --icon "assets\branding\icons\YTSage.ico" ` - --target-name "YTSage-v$version.exe" ` - --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` - --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src" ` - --include-files "assets" + # Copy FFmpeg binaries into dist folder post-build (more reliable than CLI include) + if ($env:FFMPEG_PATH) { + $destDir = "dist\YTSage-FFmpeg" + $ffmpegExe = Join-Path $env:FFMPEG_PATH "ffmpeg.exe" + $ffprobeExe = Join-Path $env:FFMPEG_PATH "ffprobe.exe" + $ffplayExe = Join-Path $env:FFMPEG_PATH "ffplay.exe" - $stdScreenshots = "dist\YTSage\assets\branding\screenshots" - if (Test-Path $stdScreenshots) { Remove-Item $stdScreenshots -Recurse -Force } - - - name: Download FFmpeg bundle - run: | - New-Item -ItemType Directory -Path "ffmpeg-temp" -Force | Out-Null - $ffmpegUrl = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.zip" - Invoke-WebRequest -Uri $ffmpegUrl -OutFile "ffmpeg-temp\ffmpeg.zip" - Expand-Archive -Path "ffmpeg-temp\ffmpeg.zip" -DestinationPath "ffmpeg-temp" -Force - $ffmpegDir = Get-ChildItem -Path "ffmpeg-temp" -Directory | Where-Object { $_.Name -like "ffmpeg-*" } | Select-Object -First 1 - if (-not $ffmpegDir) { Write-Error "FFmpeg dir not found"; exit 1 } - $ffmpegBin = Join-Path $ffmpegDir.FullName "bin" - echo "FFMPEG_PATH=$ffmpegBin" >> $env:GITHUB_ENV - - - name: Build FFmpeg bundle (portable ZIP) - run: | - .\venv\Scripts\Activate.ps1 - $version = "$env:VERSION" - Write-Host "Building FFmpeg bundle v$version" - - if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } - if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } - - .\venv\Scripts\python.exe -m cx_Freeze.cli cxfreeze main.py ` - --target-dir "dist\YTSage-FFmpeg" ` - --base-name Win32GUI ` - --icon "assets\branding\icons\YTSage.ico" ` - --target-name "YTSage-v$version-ffmpeg.exe" ` - --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` - --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src" ` - --include-files "assets" - - if ($env:FFMPEG_PATH) { - $dest = "dist\YTSage-FFmpeg" - foreach ($n in 'ffmpeg.exe','ffprobe.exe','ffplay.exe') { - $src = Join-Path $env:FFMPEG_PATH $n - if (Test-Path $src) { Copy-Item $src -Destination (Join-Path $dest $n) -Force } + foreach ($file in @($ffmpegExe, $ffprobeExe, $ffplayExe)) { + if (Test-Path $file) { + $name = Split-Path $file -Leaf + Copy-Item $file -Destination (Join-Path $destDir $name) -Force + Write-Host "Copied $name into $destDir" + } else { + Write-Host "Warning: FFmpeg binary not found: $file" } } + } + + - name: Package and prepare release artifacts (ZIPs) + shell: powershell + run: | + $version = "${{ steps.get_version.outputs.VERSION }}" + + Write-Host "Preparing ZIP artifacts for version: $version" + New-Item -ItemType Directory -Path "artifacts" -Force + + # List dist directories + Write-Host "Files in dist directory:" + if (Test-Path "dist") { + Get-ChildItem -Path "dist" -Recurse | ForEach-Object { Write-Host " $($_.FullName)" } + } else { + Write-Host " No dist directory found!" + exit 1 + } - $ffShots = "dist\YTSage-FFmpeg\assets\branding\screenshots" - if (Test-Path $ffShots) { Remove-Item $ffShots -Recurse -Force } + # Create Standard ZIP + $standardDist = Join-Path (Get-Location) "dist\YTSage" + if (Test-Path $standardDist) { + $stdZip = "artifacts\YTSage-v$version-portable.zip" + if (Test-Path $stdZip) { Remove-Item $stdZip -Force } + Compress-Archive -Path "$standardDist\*" -DestinationPath $stdZip -CompressionLevel Optimal + Write-Host "Created: $(Resolve-Path $stdZip)" + } else { + Write-Host "Warning: Standard dist folder not found at $standardDist" + } - - name: Package artifacts - run: | - $version = "$env:VERSION" - New-Item -ItemType Directory -Path "artifacts" -Force | Out-Null - - $std = "artifacts\YTSage-v$version-portable.zip" - if (Test-Path "dist\YTSage") { - if (Test-Path $std) { Remove-Item $std -Force } - Compress-Archive -Path "dist\YTSage\*" -DestinationPath $std -CompressionLevel Optimal + # Create FFmpeg ZIP + $ffmpegDist = Join-Path (Get-Location) "dist\YTSage-FFmpeg" + if (Test-Path $ffmpegDist) { + $ffZip = "artifacts\YTSage-v$version-ffmpeg-portable.zip" + if (Test-Path $ffZip) { Remove-Item $ffZip -Force } + Compress-Archive -Path "$ffmpegDist\*" -DestinationPath $ffZip -CompressionLevel Optimal + Write-Host "Created: $(Resolve-Path $ffZip)" + } else { + Write-Host "Warning: FFmpeg dist folder not found at $ffmpegDist" + } + + # List all artifacts + Write-Host "Final artifacts:" + if (Test-Path "artifacts") { + $artifactFiles = Get-ChildItem artifacts + if ($artifactFiles) { + $artifactFiles | ForEach-Object { Write-Host " $($_.Name)" } + } else { + Write-Host " No artifacts created!" } + } else { + Write-Host " Artifacts directory not found!" + } - $ff = "artifacts\YTSage-v$version-ffmpeg-portable.zip" - if (Test-Path "dist\YTSage-FFmpeg") { - if (Test-Path $ff) { Remove-Item $ff -Force } - Compress-Archive -Path "dist\YTSage-FFmpeg\*" -DestinationPath $ff -CompressionLevel Optimal - } - - Write-Host "Artifacts:" - Get-ChildItem artifacts | ForEach-Object { Write-Host " - $($_.Name)" } - - - name: Create draft release - uses: softprops/action-gh-release@v2 - with: - tag_name: ${{ github.ref_name }} - name: YTSage ${{ github.ref_name }} - draft: true - prerelease: false - body: | - ## Downloads - - - YTSage-v${{ steps.version.outputs.VERSION }}-portable.zip (portable) - - YTSage-v${{ steps.version.outputs.VERSION }}-ffmpeg-portable.zip (portable with FFmpeg included) - - Extract and run the EXE. Console window is hidden. - files: | - artifacts/* \ No newline at end of file + - name: Create draft release + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ github.ref_name }} + name: YTSage ${{ github.ref_name }} + draft: true + prerelease: false + body: | + # YTSage ${{ github.ref_name }} + + **Release Date**: ${{ github.event.head_commit.timestamp }} + + ## Downloads + + ### Standard Version (ZIP) + - **YTSage-v${{ steps.get_version.outputs.VERSION }}-portable.zip** – Portable ZIP (downloads FFmpeg on first use if needed) + + ### FFmpeg Bundle Version (ZIP) + - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg-portable.zip** – Portable ZIP with FFmpeg included + + ## Installation / Usage + + 1. Download the `.zip` file you want. + 2. Right-click the ZIP, choose Properties, and if you see "Unblock", check it and Apply. + 3. Extract the ZIP to a folder (e.g., `C:\Apps\YTSage`). + 4. Run `YTSage-v${{ steps.get_version.outputs.VERSION }}.exe` inside the extracted folder. + + ## System Requirements + + - Windows 10/11 (64-bit) + - Internet connection for yt-dlp updates + + ## Notes + + - **Standard version**: Downloads FFmpeg automatically when needed. + - **FFmpeg bundle**: Includes FFmpeg binaries for offline use. + + --- + + **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} + files: | + artifacts/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 3312dc682bbd46d9b2c45fc8515089ba07123068 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 21:31:38 +0300 Subject: [PATCH 153/568] Add subprocess creation flags to CommandWorker Passes SUBPROCESS_CREATIONFLAGS to subprocess.Popen in CommandWorker for improved process control. Imports SUBPROCESS_CREATIONFLAGS from ytsage_constants. --- src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 778fbc9..0341db6 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -29,7 +29,7 @@ from PySide6.QtWidgets import ( ) from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.utils.ytsage_constants import YTDLP_DOCS_URL +from src.utils.ytsage_constants import YTDLP_DOCS_URL, SUBPROCESS_CREATIONFLAGS try: import yt_dlp @@ -85,6 +85,7 @@ class CommandWorker(QObject): text=True, encoding="utf-8", errors="replace", + creationflags=SUBPROCESS_CREATIONFLAGS, ) # Stream output From 4779ab269f5e4b77a77225bde7c130088b21eea8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 21:42:31 +0300 Subject: [PATCH 154/568] Update Python version and remove unused constant Downgraded PYTHON_VERSION in build-windows.yml from 3.13.6 to 3.13.5. Removed SUBPROCESS_CREATIONFLAGS import and usage from ytsage_dialogs_custom.py as it was no longer needed. --- .github/workflows/build-windows.yml | 29 +------------------ .../ytsage_dialogs_custom.py | 3 +- 2 files changed, 2 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 2b9d392..88b1f06 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -9,7 +9,7 @@ permissions: contents: write env: - PYTHON_VERSION: '3.13.6' + PYTHON_VERSION: '3.13.5' jobs: build-windows: @@ -253,33 +253,6 @@ jobs: **Release Date**: ${{ github.event.head_commit.timestamp }} - ## Downloads - - ### Standard Version (ZIP) - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-portable.zip** – Portable ZIP (downloads FFmpeg on first use if needed) - - ### FFmpeg Bundle Version (ZIP) - - **YTSage-v${{ steps.get_version.outputs.VERSION }}-ffmpeg-portable.zip** – Portable ZIP with FFmpeg included - - ## Installation / Usage - - 1. Download the `.zip` file you want. - 2. Right-click the ZIP, choose Properties, and if you see "Unblock", check it and Apply. - 3. Extract the ZIP to a folder (e.g., `C:\Apps\YTSage`). - 4. Run `YTSage-v${{ steps.get_version.outputs.VERSION }}.exe` inside the extracted folder. - - ## System Requirements - - - Windows 10/11 (64-bit) - - Internet connection for yt-dlp updates - - ## Notes - - - **Standard version**: Downloads FFmpeg automatically when needed. - - **FFmpeg bundle**: Includes FFmpeg binaries for offline use. - - --- - **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} files: | artifacts/* diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 0341db6..778fbc9 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -29,7 +29,7 @@ from PySide6.QtWidgets import ( ) from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.utils.ytsage_constants import YTDLP_DOCS_URL, SUBPROCESS_CREATIONFLAGS +from src.utils.ytsage_constants import YTDLP_DOCS_URL try: import yt_dlp @@ -85,7 +85,6 @@ class CommandWorker(QObject): text=True, encoding="utf-8", errors="replace", - creationflags=SUBPROCESS_CREATIONFLAGS, ) # Stream output From a6a175b3d7f4d5daa6d7a434e4c5265a4045366e Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 22:17:13 +0300 Subject: [PATCH 155/568] Improve handling of console window in windowed apps Suppresses console window flicker for PyInstaller windowed applications by redirecting stdout and stderr in main.py. Updates logging setup to avoid console output in windowed mode and adds fallback error logging. Suppresses pkg_resources deprecation warnings to further reduce unwanted console output. --- main.py | 10 ++++++++++ src/core/ytsage_logging.py | 40 ++++++++++++++++++++------------------ src/core/ytsage_utils.py | 4 ++++ 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/main.py b/main.py index cfbb542..a01e374 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,14 @@ import sys +import os + +# Suppress console window for windowed applications (PyInstaller --windowed) +if getattr(sys, 'frozen', False): + # Running as compiled executable + if sys.stdout is None or sys.stderr is None: + # Windowed mode - redirect stdout/stderr to prevent console window flicker + import io + sys.stdout = io.StringIO() + sys.stderr = io.StringIO() from PySide6.QtWidgets import QApplication, QMessageBox diff --git a/src/core/ytsage_logging.py b/src/core/ytsage_logging.py index 7a17589..31b5a68 100644 --- a/src/core/ytsage_logging.py +++ b/src/core/ytsage_logging.py @@ -94,9 +94,12 @@ def setup_logging(): # Console handler - INFO and above, with colors # Check if stdout is available (it might be None in PyInstaller windowed apps) + # Also check if we're running in a windowed mode (likely PyInstaller --windowed) stdout_available = sys.stdout is not None - - if stdout_available: + is_windowed_app = getattr(sys, 'frozen', False) and sys.stdout is None + + # Skip console output if we're in a windowed application to prevent brief console window + if stdout_available and not is_windowed_app: try: logger.add( sys.stdout, @@ -117,13 +120,13 @@ def setup_logging(): except Exception: stdout_available = False - # If stdout is not available, try stderr or skip console logging entirely - if not stdout_available: + # If stdout is not available or we're in windowed mode, try stderr for critical messages only + if (not stdout_available or is_windowed_app) and not is_windowed_app: try: if sys.stderr is not None: logger.add( sys.stderr, - level="WARNING", # Only warnings and errors to stderr + level="ERROR", # Only errors to stderr to minimize console window appearance format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", catch=True, ) @@ -159,28 +162,27 @@ def setup_logging(): # If file logging fails, just log to console logger.warning(f"Could not set up file logging: {e}") - # Log startup message if we have any handlers - if logger._core.handlers: + # Log startup message + try: logger.info("YTSage logging system initialized") if log_dir and log_dir.exists(): logger.debug(f"Log directory: {log_dir}") else: logger.warning("File logging disabled - could not create log directory") + except Exception: + # If logging fails, continue silently + pass # If no handlers were successfully added, add a null handler to prevent errors - if not logger._core.handlers: - # Add a minimal handler that just discards messages - # This prevents loguru from complaining about no handlers + try: + # Try to add a minimal fallback handler if needed import tempfile - - try: - # Try to add a temporary file handler as last resort - temp_log = Path(tempfile.gettempdir()) / "ytsage_temp.log" - logger.add(temp_log, level="ERROR", catch=True) - except Exception: - # If even that fails, we're in a very restricted environment - # loguru should handle this gracefully with its internal fallbacks - pass + temp_log = Path(tempfile.gettempdir()) / "ytsage_temp.log" + logger.add(temp_log, level="ERROR", catch=True) + except Exception: + # If even that fails, we're in a very restricted environment + # loguru should handle this gracefully with its internal fallbacks + pass return logger diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index e3a9677..bea694b 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -4,8 +4,12 @@ import subprocess import sys import tempfile import time +import warnings from pathlib import Path +# Suppress the pkg_resources deprecation warning to prevent console window flicker +warnings.filterwarnings("ignore", message=".*pkg_resources is deprecated.*", category=UserWarning) + import pkg_resources import requests from packaging import version From b23be4335ea49d25ba5bfe25543f735dde664b43 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 22:46:38 +0300 Subject: [PATCH 156/568] Improve console suppression for windowed mode on Windows Refactored console window suppression logic to better handle PyInstaller windowed applications and prevent console flicker. Added creation flags and redirected subprocess streams in multiple modules to ensure hidden console windows when running subprocesses. Introduced a utility function for running subprocesses with hidden console and updated all relevant subprocess calls to use it. --- main.py | 52 ++++++++++++++++++++++++++++++++------ src/core/ytsage_logging.py | 21 ++++++++++++--- src/core/ytsage_utils.py | 50 ++++++++++++++++++++++++++++-------- src/core/ytsage_yt_dlp.py | 34 ++++++++++++++++++++++--- src/gui/ytsage_gui_main.py | 17 ++++++++++++- 5 files changed, 146 insertions(+), 28 deletions(-) diff --git a/main.py b/main.py index a01e374..cf46651 100644 --- a/main.py +++ b/main.py @@ -1,14 +1,50 @@ import sys import os -# Suppress console window for windowed applications (PyInstaller --windowed) -if getattr(sys, 'frozen', False): - # Running as compiled executable - if sys.stdout is None or sys.stderr is None: - # Windowed mode - redirect stdout/stderr to prevent console window flicker - import io - sys.stdout = io.StringIO() - sys.stderr = io.StringIO() +# Early detection and handling of windowed mode to prevent console window flicker +def setup_windowed_mode(): + """ + Setup windowed mode handling to prevent console window flickering. + This must be called as early as possible in the application startup. + """ + if getattr(sys, 'frozen', False): + # Running as compiled executable (PyInstaller) + if sys.stdout is None or sys.stderr is None: + # Windowed mode - completely suppress console output + import io + null_stream = io.StringIO() + if sys.stdout is None: + sys.stdout = null_stream + if sys.stderr is None: + sys.stderr = null_stream + else: + # Console mode but compiled - redirect to null to prevent window flicker + if os.name == 'nt': # Windows + try: + import io + # Create a null output stream + null_stream = io.StringIO() + # Only redirect if we detect this might cause console window issues + # Check if we're not already in a console + try: + # Try to get console window handle - if this fails, we're likely windowed + import ctypes + kernel32 = ctypes.windll.kernel32 + console_window = kernel32.GetConsoleWindow() + if console_window == 0: + # No console window exists, redirect to prevent one from appearing + sys.stdout = null_stream + sys.stderr = null_stream + except: + # If console detection fails, err on the side of caution + sys.stdout = null_stream + sys.stderr = null_stream + except: + # If all else fails, continue normally + pass + +# Call windowed mode setup immediately +setup_windowed_mode() from PySide6.QtWidgets import QApplication, QMessageBox diff --git a/src/core/ytsage_logging.py b/src/core/ytsage_logging.py index 31b5a68..37d1478 100644 --- a/src/core/ytsage_logging.py +++ b/src/core/ytsage_logging.py @@ -98,8 +98,21 @@ def setup_logging(): stdout_available = sys.stdout is not None is_windowed_app = getattr(sys, 'frozen', False) and sys.stdout is None - # Skip console output if we're in a windowed application to prevent brief console window - if stdout_available and not is_windowed_app: + # Additional check for windowed mode - check if console window exists on Windows + is_console_hidden = False + if sys.platform == 'win32' and getattr(sys, 'frozen', False): + try: + import ctypes + kernel32 = ctypes.windll.kernel32 + console_window = kernel32.GetConsoleWindow() + if console_window == 0: + is_console_hidden = True + except: + # If console detection fails, assume we might be windowed + is_console_hidden = True + + # Skip console output if we're in a windowed application or console is hidden + if stdout_available and not is_windowed_app and not is_console_hidden: try: logger.add( sys.stdout, @@ -120,8 +133,8 @@ def setup_logging(): except Exception: stdout_available = False - # If stdout is not available or we're in windowed mode, try stderr for critical messages only - if (not stdout_available or is_windowed_app) and not is_windowed_app: + # If stdout is not available or we're in windowed mode, skip stderr too to prevent console windows + if (not stdout_available or is_windowed_app or is_console_hidden) and not (is_windowed_app or is_console_hidden): try: if sys.stderr is not None: logger.add( diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index bea694b..9eba40f 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -36,6 +36,37 @@ _version_cache = { CACHE_EXPIRY = 300 +def run_subprocess_hidden(cmd_args, **kwargs): + """ + Run subprocess with proper console window hiding for windowed applications. + + Args: + cmd_args: Command arguments list + **kwargs: Additional subprocess.run arguments + + Returns: + subprocess.CompletedProcess result + """ + # Set up creation flags to hide console window + creation_flags = SUBPROCESS_CREATIONFLAGS + if getattr(sys, 'frozen', False): + # Running as compiled executable - use additional flags to prevent console flicker + creation_flags |= subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS + + # Set default parameters to suppress console + default_kwargs = { + 'capture_output': True, + 'text': True, + 'creationflags': creation_flags, + 'stdin': subprocess.DEVNULL + } + + # Merge with provided kwargs (user kwargs take precedence) + default_kwargs.update(kwargs) + + return subprocess.run(cmd_args, **default_kwargs) + + def get_file_mtime(filepath) -> float: """Get file modification time safely.""" try: @@ -196,8 +227,8 @@ def get_ytdlp_version_direct(yt_dlp_path=None) -> str: return "Not found" # Extra logic moved to src\utils\ytsage_constants.py - result = subprocess.run( - [yt_dlp_path, "--version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS + result = run_subprocess_hidden( + [yt_dlp_path, "--version"], timeout=10 ) if result.returncode == 0: @@ -213,8 +244,8 @@ def get_ffmpeg_version_direct() -> str: """Get FFmpeg version directly without caching.""" try: # Extra logic moved to src\utils\ytsage_constants.py - result = subprocess.run( - ["ffmpeg", "-version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS + result = run_subprocess_hidden( + ["ffmpeg", "-version"], timeout=10 ) if result.returncode == 0: @@ -242,8 +273,8 @@ def get_ffmpeg_version_direct() -> str: ffmpeg_exe = Path(ffmpeg_path).joinpath("ffmpeg") if ffmpeg_exe.exists(): - result = subprocess.run( - [ffmpeg_exe, "-version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS + result = run_subprocess_hidden( + [ffmpeg_exe, "-version"], timeout=10 ) if result.returncode == 0: @@ -489,7 +520,7 @@ def update_yt_dlp() -> bool: # Compare versions and update if needed if version.parse(latest_version) > version.parse(current_version): logger.info(f"Updating yt-dlp from {current_version} to {latest_version}...") - update_result = subprocess.run( + update_result = run_subprocess_hidden( [ sys.executable, "-m", @@ -498,10 +529,7 @@ def update_yt_dlp() -> bool: "--upgrade", "yt-dlp", ], - capture_output=True, - text=True, - check=False, - creationflags=SUBPROCESS_CREATIONFLAGS, + check=False ) if update_result.returncode == 0: logger.info("yt-dlp successfully updated") diff --git a/src/core/ytsage_yt_dlp.py b/src/core/ytsage_yt_dlp.py index b0b2a30..f74f244 100644 --- a/src/core/ytsage_yt_dlp.py +++ b/src/core/ytsage_yt_dlp.py @@ -1,6 +1,7 @@ import os import shutil import subprocess +import sys from pathlib import Path from typing import Optional @@ -500,10 +501,22 @@ def check_ytdlp_binary() -> Optional[Path]: # Use subprocess to check if yt-dlp is available if OS_NAME == "Windows": # On Windows, use 'where' command and hide console window - # Extra logic moved to src\utils\ytsage_constants.py + # For windowed applications, use additional flags to prevent console window flicker + creation_flags = SUBPROCESS_CREATIONFLAGS + if getattr(sys, 'frozen', False): + # Running as compiled executable - use additional flags + creation_flags |= subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS result = subprocess.run( - ["where", "yt-dlp"], capture_output=True, text=True, check=False, creationflags=SUBPROCESS_CREATIONFLAGS + ["where", "yt-dlp"], + capture_output=True, + text=True, + check=False, + creationflags=creation_flags, + # Additional parameters to suppress console + stdin=subprocess.DEVNULL, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE ) if result.returncode == 0 and result.stdout.strip(): yt_dlp_path = result.stdout.strip().split("\n")[0] @@ -534,9 +547,22 @@ def check_ytdlp_installed() -> bool: if ytdlp_path: # Try to run yt-dlp --version to verify it's working try: - # Extra logic moved to src\utils\ytsage_constants.py + # For windowed applications, use additional flags to prevent console window flicker + creation_flags = SUBPROCESS_CREATIONFLAGS + if getattr(sys, 'frozen', False): + # Running as compiled executable - use additional flags + creation_flags |= subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS + result = subprocess.run( - [ytdlp_path, "--version"], capture_output=True, text=True, timeout=5, creationflags=SUBPROCESS_CREATIONFLAGS + [ytdlp_path, "--version"], + capture_output=True, + text=True, + timeout=5, + creationflags=creation_flags, + # Additional parameters to suppress console + stdin=subprocess.DEVNULL, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE ) return result.returncode == 0 except Exception: diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index edc174d..3fbc478 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -1,5 +1,6 @@ import json import subprocess +import sys import threading import webbrowser from pathlib import Path @@ -1735,7 +1736,21 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Execute command with hidden console window on Windows # Extra logic moved to src\utils\ytsage_constants.py - result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) + creation_flags = SUBPROCESS_CREATIONFLAGS + if getattr(sys, 'frozen', False): + # Running as compiled executable - use additional flags to prevent console flicker + creation_flags |= subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS + + result = subprocess.run( + cmd, + capture_output=True, + text=True, + timeout=60, + creationflags=creation_flags, + stdin=subprocess.DEVNULL, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE + ) if result.returncode != 0: raise Exception(f"yt-dlp failed: {result.stderr}") From f390d23f545e094e215e2581040698abed6dd9e6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 23:00:08 +0300 Subject: [PATCH 157/568] Refactor windowed mode and subprocess handling Removed redundant windowed mode setup from main.py and simplified subprocess creation flags logic across core and GUI modules. Centralized subprocess creation flags usage, eliminated custom run_subprocess_hidden wrapper, and improved logging handler setup for better compatibility with windowed applications. --- main.py | 46 -------------------------------- src/core/ytsage_logging.py | 53 ++++++++++++++----------------------- src/core/ytsage_utils.py | 54 ++++++++------------------------------ src/core/ytsage_yt_dlp.py | 34 +++--------------------- src/gui/ytsage_gui_main.py | 17 +----------- 5 files changed, 35 insertions(+), 169 deletions(-) diff --git a/main.py b/main.py index cf46651..cfbb542 100644 --- a/main.py +++ b/main.py @@ -1,50 +1,4 @@ import sys -import os - -# Early detection and handling of windowed mode to prevent console window flicker -def setup_windowed_mode(): - """ - Setup windowed mode handling to prevent console window flickering. - This must be called as early as possible in the application startup. - """ - if getattr(sys, 'frozen', False): - # Running as compiled executable (PyInstaller) - if sys.stdout is None or sys.stderr is None: - # Windowed mode - completely suppress console output - import io - null_stream = io.StringIO() - if sys.stdout is None: - sys.stdout = null_stream - if sys.stderr is None: - sys.stderr = null_stream - else: - # Console mode but compiled - redirect to null to prevent window flicker - if os.name == 'nt': # Windows - try: - import io - # Create a null output stream - null_stream = io.StringIO() - # Only redirect if we detect this might cause console window issues - # Check if we're not already in a console - try: - # Try to get console window handle - if this fails, we're likely windowed - import ctypes - kernel32 = ctypes.windll.kernel32 - console_window = kernel32.GetConsoleWindow() - if console_window == 0: - # No console window exists, redirect to prevent one from appearing - sys.stdout = null_stream - sys.stderr = null_stream - except: - # If console detection fails, err on the side of caution - sys.stdout = null_stream - sys.stderr = null_stream - except: - # If all else fails, continue normally - pass - -# Call windowed mode setup immediately -setup_windowed_mode() from PySide6.QtWidgets import QApplication, QMessageBox diff --git a/src/core/ytsage_logging.py b/src/core/ytsage_logging.py index 37d1478..7a17589 100644 --- a/src/core/ytsage_logging.py +++ b/src/core/ytsage_logging.py @@ -94,25 +94,9 @@ def setup_logging(): # Console handler - INFO and above, with colors # Check if stdout is available (it might be None in PyInstaller windowed apps) - # Also check if we're running in a windowed mode (likely PyInstaller --windowed) stdout_available = sys.stdout is not None - is_windowed_app = getattr(sys, 'frozen', False) and sys.stdout is None - - # Additional check for windowed mode - check if console window exists on Windows - is_console_hidden = False - if sys.platform == 'win32' and getattr(sys, 'frozen', False): - try: - import ctypes - kernel32 = ctypes.windll.kernel32 - console_window = kernel32.GetConsoleWindow() - if console_window == 0: - is_console_hidden = True - except: - # If console detection fails, assume we might be windowed - is_console_hidden = True - - # Skip console output if we're in a windowed application or console is hidden - if stdout_available and not is_windowed_app and not is_console_hidden: + + if stdout_available: try: logger.add( sys.stdout, @@ -133,13 +117,13 @@ def setup_logging(): except Exception: stdout_available = False - # If stdout is not available or we're in windowed mode, skip stderr too to prevent console windows - if (not stdout_available or is_windowed_app or is_console_hidden) and not (is_windowed_app or is_console_hidden): + # If stdout is not available, try stderr or skip console logging entirely + if not stdout_available: try: if sys.stderr is not None: logger.add( sys.stderr, - level="ERROR", # Only errors to stderr to minimize console window appearance + level="WARNING", # Only warnings and errors to stderr format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", catch=True, ) @@ -175,27 +159,28 @@ def setup_logging(): # If file logging fails, just log to console logger.warning(f"Could not set up file logging: {e}") - # Log startup message - try: + # Log startup message if we have any handlers + if logger._core.handlers: logger.info("YTSage logging system initialized") if log_dir and log_dir.exists(): logger.debug(f"Log directory: {log_dir}") else: logger.warning("File logging disabled - could not create log directory") - except Exception: - # If logging fails, continue silently - pass # If no handlers were successfully added, add a null handler to prevent errors - try: - # Try to add a minimal fallback handler if needed + if not logger._core.handlers: + # Add a minimal handler that just discards messages + # This prevents loguru from complaining about no handlers import tempfile - temp_log = Path(tempfile.gettempdir()) / "ytsage_temp.log" - logger.add(temp_log, level="ERROR", catch=True) - except Exception: - # If even that fails, we're in a very restricted environment - # loguru should handle this gracefully with its internal fallbacks - pass + + try: + # Try to add a temporary file handler as last resort + temp_log = Path(tempfile.gettempdir()) / "ytsage_temp.log" + logger.add(temp_log, level="ERROR", catch=True) + except Exception: + # If even that fails, we're in a very restricted environment + # loguru should handle this gracefully with its internal fallbacks + pass return logger diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index 9eba40f..e3a9677 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -4,12 +4,8 @@ import subprocess import sys import tempfile import time -import warnings from pathlib import Path -# Suppress the pkg_resources deprecation warning to prevent console window flicker -warnings.filterwarnings("ignore", message=".*pkg_resources is deprecated.*", category=UserWarning) - import pkg_resources import requests from packaging import version @@ -36,37 +32,6 @@ _version_cache = { CACHE_EXPIRY = 300 -def run_subprocess_hidden(cmd_args, **kwargs): - """ - Run subprocess with proper console window hiding for windowed applications. - - Args: - cmd_args: Command arguments list - **kwargs: Additional subprocess.run arguments - - Returns: - subprocess.CompletedProcess result - """ - # Set up creation flags to hide console window - creation_flags = SUBPROCESS_CREATIONFLAGS - if getattr(sys, 'frozen', False): - # Running as compiled executable - use additional flags to prevent console flicker - creation_flags |= subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS - - # Set default parameters to suppress console - default_kwargs = { - 'capture_output': True, - 'text': True, - 'creationflags': creation_flags, - 'stdin': subprocess.DEVNULL - } - - # Merge with provided kwargs (user kwargs take precedence) - default_kwargs.update(kwargs) - - return subprocess.run(cmd_args, **default_kwargs) - - def get_file_mtime(filepath) -> float: """Get file modification time safely.""" try: @@ -227,8 +192,8 @@ def get_ytdlp_version_direct(yt_dlp_path=None) -> str: return "Not found" # Extra logic moved to src\utils\ytsage_constants.py - result = run_subprocess_hidden( - [yt_dlp_path, "--version"], timeout=10 + result = subprocess.run( + [yt_dlp_path, "--version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS ) if result.returncode == 0: @@ -244,8 +209,8 @@ def get_ffmpeg_version_direct() -> str: """Get FFmpeg version directly without caching.""" try: # Extra logic moved to src\utils\ytsage_constants.py - result = run_subprocess_hidden( - ["ffmpeg", "-version"], timeout=10 + result = subprocess.run( + ["ffmpeg", "-version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS ) if result.returncode == 0: @@ -273,8 +238,8 @@ def get_ffmpeg_version_direct() -> str: ffmpeg_exe = Path(ffmpeg_path).joinpath("ffmpeg") if ffmpeg_exe.exists(): - result = run_subprocess_hidden( - [ffmpeg_exe, "-version"], timeout=10 + result = subprocess.run( + [ffmpeg_exe, "-version"], capture_output=True, text=True, timeout=10, creationflags=SUBPROCESS_CREATIONFLAGS ) if result.returncode == 0: @@ -520,7 +485,7 @@ def update_yt_dlp() -> bool: # Compare versions and update if needed if version.parse(latest_version) > version.parse(current_version): logger.info(f"Updating yt-dlp from {current_version} to {latest_version}...") - update_result = run_subprocess_hidden( + update_result = subprocess.run( [ sys.executable, "-m", @@ -529,7 +494,10 @@ def update_yt_dlp() -> bool: "--upgrade", "yt-dlp", ], - check=False + capture_output=True, + text=True, + check=False, + creationflags=SUBPROCESS_CREATIONFLAGS, ) if update_result.returncode == 0: logger.info("yt-dlp successfully updated") diff --git a/src/core/ytsage_yt_dlp.py b/src/core/ytsage_yt_dlp.py index f74f244..b0b2a30 100644 --- a/src/core/ytsage_yt_dlp.py +++ b/src/core/ytsage_yt_dlp.py @@ -1,7 +1,6 @@ import os import shutil import subprocess -import sys from pathlib import Path from typing import Optional @@ -501,22 +500,10 @@ def check_ytdlp_binary() -> Optional[Path]: # Use subprocess to check if yt-dlp is available if OS_NAME == "Windows": # On Windows, use 'where' command and hide console window - # For windowed applications, use additional flags to prevent console window flicker - creation_flags = SUBPROCESS_CREATIONFLAGS - if getattr(sys, 'frozen', False): - # Running as compiled executable - use additional flags - creation_flags |= subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS + # Extra logic moved to src\utils\ytsage_constants.py result = subprocess.run( - ["where", "yt-dlp"], - capture_output=True, - text=True, - check=False, - creationflags=creation_flags, - # Additional parameters to suppress console - stdin=subprocess.DEVNULL, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE + ["where", "yt-dlp"], capture_output=True, text=True, check=False, creationflags=SUBPROCESS_CREATIONFLAGS ) if result.returncode == 0 and result.stdout.strip(): yt_dlp_path = result.stdout.strip().split("\n")[0] @@ -547,22 +534,9 @@ def check_ytdlp_installed() -> bool: if ytdlp_path: # Try to run yt-dlp --version to verify it's working try: - # For windowed applications, use additional flags to prevent console window flicker - creation_flags = SUBPROCESS_CREATIONFLAGS - if getattr(sys, 'frozen', False): - # Running as compiled executable - use additional flags - creation_flags |= subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS - + # Extra logic moved to src\utils\ytsage_constants.py result = subprocess.run( - [ytdlp_path, "--version"], - capture_output=True, - text=True, - timeout=5, - creationflags=creation_flags, - # Additional parameters to suppress console - stdin=subprocess.DEVNULL, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE + [ytdlp_path, "--version"], capture_output=True, text=True, timeout=5, creationflags=SUBPROCESS_CREATIONFLAGS ) return result.returncode == 0 except Exception: diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 3fbc478..edc174d 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -1,6 +1,5 @@ import json import subprocess -import sys import threading import webbrowser from pathlib import Path @@ -1736,21 +1735,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Execute command with hidden console window on Windows # Extra logic moved to src\utils\ytsage_constants.py - creation_flags = SUBPROCESS_CREATIONFLAGS - if getattr(sys, 'frozen', False): - # Running as compiled executable - use additional flags to prevent console flicker - creation_flags |= subprocess.CREATE_NEW_PROCESS_GROUP | subprocess.DETACHED_PROCESS - - result = subprocess.run( - cmd, - capture_output=True, - text=True, - timeout=60, - creationflags=creation_flags, - stdin=subprocess.DEVNULL, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE - ) + result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) if result.returncode != 0: raise Exception(f"yt-dlp failed: {result.stderr}") From 7be376c2fd8c74a90917ac600cad87c88c115646 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 Aug 2025 23:16:07 +0300 Subject: [PATCH 158/568] Update Python version in Windows build workflow Bumps the PYTHON_VERSION from 3.13.5 to 3.13.6 in the GitHub Actions workflow for building on Windows. --- .github/workflows/build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 88b1f06..19fba43 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -9,7 +9,7 @@ permissions: contents: write env: - PYTHON_VERSION: '3.13.5' + PYTHON_VERSION: '3.13.6' jobs: build-windows: From 70488e6eccfe56214f08d549878b3740dccdca8f Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 28 Aug 2025 17:38:48 +0300 Subject: [PATCH 159/568] Replace playsound3 with pyglet for audio notifications Switched sound notification library from playsound3 to pyglet in requirements and main GUI code. Updated all related logic and logging to use pyglet for audio playback, improving compatibility and maintainability. --- requirements.txt | 2 +- src/gui/ytsage_gui_main.py | 26 ++++++++++++++------------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/requirements.txt b/requirements.txt index 4823a6d..ace0eea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,6 @@ requests pillow packaging markdown -playsound3 +pyglet loguru setuptools \ No newline at end of file diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index edc174d..b0da1ed 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -55,10 +55,11 @@ except ImportError: YT_DLP_AVAILABLE = False try: - from playsound3 import playsound - PLAYSOUND_AVAILABLE = True + import pyglet + + PYGLET_AVAILABLE = True except ImportError: - PLAYSOUND_AVAILABLE = False + PYGLET_AVAILABLE = False class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins @@ -71,8 +72,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Log startup warnings for missing dependencies if not YT_DLP_AVAILABLE: self.logger.warning("yt-dlp not available at startup, will be downloaded at runtime") - if not PLAYSOUND_AVAILABLE: - self.logger.warning("playsound3 not available, audio notifications disabled") + if not PYGLET_AVAILABLE: + self.logger.warning("pyglet not available, audio notifications disabled") # Check for FFmpeg before proceeding if not check_ffmpeg(): @@ -304,13 +305,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Initialize UI state based on current mode self.handle_mode_change() - # Initialize playsound3 for sound notifications + # Initialize pyglet for sound notifications self.init_sound() def init_sound(self) -> None: - """Initialize playsound3 for sound notifications""" + """Initialize pyglet for sound notifications""" try: - if PLAYSOUND_AVAILABLE: + if PYGLET_AVAILABLE: self.sound_enabled = True # sound_path logic moved to src\utils\ytsage_constants.py @@ -324,7 +325,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.logger.info(f"Notification sound loaded from: {self.notification_sound_path}") else: self.sound_enabled = False - self.logger.info("Sound notifications disabled - playsound3 not available") + self.logger.info("Sound notifications disabled - pyglet not available") except Exception as e: self.logger.error(f"Error initializing sound: {e}") @@ -337,9 +338,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def play_sound() -> None: try: - if PLAYSOUND_AVAILABLE: - # Play the sound using playsound3 - playsound(str(self.notification_sound_path)) + if PYGLET_AVAILABLE: + # Play the sound using pyglet + sound = pyglet.media.load(str(self.notification_sound_path)) + sound.play() except Exception as e: self.logger.error(f"Error playing notification sound: {e}") From bb7d0002081128597d97d5aee227c5cac4b5302d Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 28 Aug 2025 17:51:54 +0300 Subject: [PATCH 160/568] Update audio playback library reference in README Changed the audio playback library reference from pygame to pyglet in the README to accurately reflect the project's dependencies. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8707e37..79b5ef2 100644 --- a/README.md +++ b/README.md @@ -375,7 +375,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file - + From 5256ab36526ebf864c952fcfa372d3f445ee1dca Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 28 Aug 2025 17:56:43 +0300 Subject: [PATCH 161/568] Replace playsound3 with pyglet in Windows build Updated the build-windows.yml workflow to use pyglet instead of playsound3 in the list of packaged Python dependencies. This change ensures the correct audio library is included during Windows builds. --- .github/workflows/build-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 19fba43..64df03a 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -81,7 +81,7 @@ jobs: --icon "assets\branding\icons\YTSage.ico" ` --target-name "YTSage-v$version.exe" ` --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` + --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` --include-files "assets" @@ -160,7 +160,7 @@ jobs: --icon "assets\branding\icons\YTSage.ico" ` --target-name "YTSage-v$version-ffmpeg.exe" ` --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,playsound3,loguru,setuptools" ` + --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` --include-files "assets" From 87dcce947ecce34930e6dd6611874942702ee773 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 28 Aug 2025 18:09:34 +0300 Subject: [PATCH 162/568] Remove release notes section from CI/CD README Deleted the 'Release Notes' section from the CI/CD README to streamline documentation and focus on workflow features. --- .github/CI_CD_README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index b609b3c..b2c418b 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -41,14 +41,6 @@ The workflow creates the following files: - `YTSage-v.zip` - Standard portable version - `YTSage-v-ffmpeg.zip` - FFmpeg bundle portable -### Release Notes - -Automatic release notes are generated including: -- Download links and descriptions -- Installation instructions -- System requirements -- Feature highlights - ## Workflow Features ### Automatic Version Detection From edb06e8e032cfbf0bf9e6e1b7f2b1e5cc834d805 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 28 Aug 2025 19:56:03 +0300 Subject: [PATCH 163/568] Update README with executable details and cookie guide Expanded the pre-built executables section to list all available Windows, Linux, and macOS package formats with descriptions. Improved instructions for logging in with cookies, highlighting the built-in extraction feature and clarifying manual steps. Removed outdated antivirus issue note for clarity. --- README.md | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 79b5ef2..d780b97 100644 --- a/README.md +++ b/README.md @@ -71,9 +71,17 @@ ytsage ### 📦 Pre-built Executables -- 🪟 **Windows:** YTSage-v<version>.exe / YTSage-v<version>-ffmpeg.exe (with FFmpeg) -- 🐧 **Linux:** YTSage-v<version>-amd64.deb / YTSage-v<version>-x86_64.AppImage -- 🍎 **macOS:** YTSage-v<version>-macOS.zip / YTSage-v<version>.dmg +- 🪟 **Windows:** + - YTSage-v<version>.exe (Standard installer) + - YTSage-v<version>-ffmpeg.exe (With FFmpeg bundled) + - YTSage-v<version>-portable (Portable version, no installation required) + - YTSage-v<version>-ffmpeg-portable.zip (Portable with FFmpeg, zipped) +- 🐧 **Linux:** + - YTSage-v<version>-amd64.deb (Debian package) + - YTSage-v<version>-x86_64.AppImage (AppImage, portable) +- 🍎 **macOS:** + - YTSage-v<version>-macOS.zip (Zipped application) + - YTSage-v<version>.dmg (Disk image installer) > [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) @@ -183,10 +191,12 @@ python main.py - **Speed Limiter:** Limit the download speed - **Login with Cookies:** Login to YouTube using cookies to access private content How to use it: - 1. Extract cookies from your browser using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) - 2. Copy the cookies in Netscape format - 3. Create a file named `cookies.txt` and paste the cookies into it - 4. Select the `cookies.txt` file in the app + 1. **Recommended:** Use the built-in "Extract cookies from browser" option in the app. Select your browser (Chrome, Firefox, etc.) and then select Profile (optional). + 2. Alternatively, extract cookies manually: + a. Extract cookies from your browser using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Copy the cookies in Netscape format + c. Create a file named `cookies.txt` and paste the cookies into it + d. Select the `cookies.txt` file in the app - **Save Download Path:** Save the download path - **Update yt-dlp:** Update yt-dlp - **FFmpeg/yt-dlp Detection:** Automatically detect FFmpeg/yt-dlp @@ -219,10 +229,6 @@ Some antivirus software may flag the `.exe` files as false positives. This is a - ✅ **Build from source** - ✅ **Whitelist the application** in your antivirus software -> 📋 **Related Issues:** [#33](https://github.com/oop7/YTSage/issues/33) - This is a known PyInstaller limitation, not a security issue with YTSage itself. - ---- - #### 🍎 macOS: "App is damaged and can’t be opened" If you see this error on macOS Sonoma or newer, you need to remove the quarantine attribute. From 3fbc587e02a50e32793f599b2cef68c0d745d56e Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 1 Sep 2025 17:54:38 +0300 Subject: [PATCH 164/568] Add macOS build and release workflow Introduces a GitHub Actions workflow for building and packaging macOS releases. Automates version extraction, Python environment setup, dependency installation, app and DMG creation, artifact packaging, and draft release publishing for tagged commits. --- .github/workflows/build-macos.yml | 221 ++++++++++++++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 .github/workflows/build-macos.yml diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml new file mode 100644 index 0000000..3099364 --- /dev/null +++ b/.github/workflows/build-macos.yml @@ -0,0 +1,221 @@ +name: Build macOS Release + +on: + push: + tags: + - 'v*' + +permissions: + contents: write + +env: + PYTHON_VERSION: '3.13.6' + +jobs: + build-macos: + runs-on: macos-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Extract version from tag + id: get_version + shell: bash + run: | + tag="${GITHUB_REF_NAME}" + version="${tag#v}" + echo "Extracted version: $version" + echo "VERSION=$version" >> "$GITHUB_OUTPUT" + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: Cache Python dependencies + uses: actions/cache@v3 + with: + path: | + venv + ~/.cache/pip + ~/Library/Caches/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Create virtual environment and install dependencies + shell: bash + run: | + python -m venv venv + source venv/bin/activate + python -m pip install --upgrade pip + pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir cx_Freeze dmgbuild yt-dlp + + - name: Prepare build variables + shell: bash + run: | + version="${{ steps.get_version.outputs.VERSION }}" + echo "VERSION=$version" >> "$GITHUB_ENV" + echo "Prepared build variables for version: $version" + + - name: Create cx_Freeze setup script + shell: bash + run: | + cat > setup_cxfreeze.py <<'PY' + import os + from cx_Freeze import setup, Executable + + version = os.environ.get("VERSION", "0.0.0") + + build_exe_options = dict( + optimize=2, + packages=[ + "PySide6.QtCore", + "PySide6.QtGui", + "PySide6.QtWidgets", + "requests", + "PIL", + "packaging", + "markdown", + "pyglet", + "loguru", + "setuptools", + ], + excludes=[ + "PySide6.QtBluetooth", + "PySide6.QtNetwork", + "PySide6.QtOpenGL", + "PySide6.QtPrintSupport", + "PySide6.QtSvg", + "PySide6.QtTest", + "PySide6.QtXml", + "PySide6.QtSql", + "PySide6.QtHelp", + "PySide6.QtMultimedia", + "PySide6.QtQml", + "PySide6.QtQuick", + "PySide6.QtWebEngineCore", + "PIL.ImageDraw", + "PIL.ImageFont", + "numpy", + "scipy", + "wx", + "pandas", + "tkinter", + "yt_dlp", + "unittest", + "test", + "tests", + ], + include_files=[ + ("src", "src"), + ("assets", "assets"), + ], + ) + + executables = [ + Executable( + script="main.py", + target_name=f"YTSage-v{version}", + icon="assets/branding/icons/icon.icns", + ) + ] + + setup( + name="YTSage", + version=version, + description="YTSage", + options={ + "build_exe": build_exe_options, + "bdist_mac": { + "iconfile": "assets/branding/icons/icon.icns", + "bundle_name": f"YTSage-v{version}", + }, + "bdist_dmg": { + "volume_label": f"YTSage v{version}", + "applications_shortcut": True, + # Sensible defaults; can be customized later if desired + "format": "UDZO", + "filesystem": "HFS+", + "default_view": "icon-view", + }, + }, + executables=executables, + ) + PY + + - name: Build .app bundle (bdist_mac) + shell: bash + run: | + source venv/bin/activate + python setup_cxfreeze.py bdist_mac + + app_name="YTSage-v${VERSION}.app" + app_path="dist/${app_name}" + if [ -d "$app_path/Contents/Resources/assets/branding/screenshots" ]; then + rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" + echo "Removed screenshots folder from .app bundle" + fi + + - name: Build DMG (bdist_dmg) + shell: bash + run: | + source venv/bin/activate + python setup_cxfreeze.py bdist_dmg + + - name: Package and prepare release artifacts (.app.zip and .dmg) + shell: bash + run: | + version="${{ steps.get_version.outputs.VERSION }}" + echo "Preparing artifacts for version: $version" + mkdir -p artifacts + + app_name="YTSage-v${version}.app" + app_path="dist/${app_name}" + if [ -d "$app_path" ]; then + (cd dist && zip -r "../artifacts/YTSage-v${version}.app.zip" "$app_name") + echo "Created: $(pwd)/artifacts/YTSage-v${version}.app.zip" + else + echo "Warning: .app bundle not found at $app_path" + fi + + # Try to find the generated DMG in dist + dmg_src="" + if [ -f "dist/YTSage-v${version}.dmg" ]; then + dmg_src="dist/YTSage-v${version}.dmg" + else + # Fallback: pick first .dmg in dist + dmg_src=$(ls dist/*.dmg 2>/dev/null | head -n 1 || true) + fi + + if [ -n "$dmg_src" ] && [ -f "$dmg_src" ]; then + cp "$dmg_src" "artifacts/YTSage-v${version}.dmg" + echo "Copied DMG to artifacts: artifacts/YTSage-v${version}.dmg" + else + echo "Warning: No DMG found in dist" + fi + + echo "Final artifacts:" + ls -lh artifacts || true + + - name: Create draft release + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ github.ref_name }} + name: YTSage ${{ github.ref_name }} + draft: true + prerelease: false + body: | + # YTSage ${{ github.ref_name }} + + **Release Date**: ${{ github.event.head_commit.timestamp }} + + **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} + files: | + artifacts/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 45d96a1f83c19de7a495ad64a8a8d02f34c359d8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 1 Sep 2025 18:22:18 +0300 Subject: [PATCH 165/568] Improve macOS build artifact detection and packaging Enhanced the workflow to robustly locate .app and .dmg files in both dist/ and build/ directories, ensuring screenshots are removed from the .app bundle before packaging. Added directory listings for debugging and improved artifact naming and copying logic for more reliable release preparation. --- .github/workflows/build-macos.yml | 65 +++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 3099364..72c4b55 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -153,19 +153,30 @@ jobs: run: | source venv/bin/activate python setup_cxfreeze.py bdist_mac - - app_name="YTSage-v${VERSION}.app" - app_path="dist/${app_name}" - if [ -d "$app_path/Contents/Resources/assets/branding/screenshots" ]; then - rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" - echo "Removed screenshots folder from .app bundle" + # Locate the built .app (cx_Freeze may place it under build/ or dist/) + app_path="" + for cand in "dist/YTSage-v${VERSION}.app" "build/dist/YTSage-v${VERSION}.app" "build/YTSage-v${VERSION}.app"; do + if [ -d "$cand" ]; then app_path="$cand"; break; fi + done + if [ -z "$app_path" ]; then + app_path=$(ls -d dist/*.app build/dist/*.app build/*.app 2>/dev/null | head -n1 || true) fi + if [ -n "$app_path" ] && [ -d "$app_path/Contents/Resources/assets/branding/screenshots" ]; then + rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" + echo "Removed screenshots folder from .app bundle at $app_path" + fi + echo "Post-bdist_mac directory listing:" + echo "-- dist --"; ls -lah dist || true + echo "-- build --"; ls -lah build || true - name: Build DMG (bdist_dmg) shell: bash run: | source venv/bin/activate python setup_cxfreeze.py bdist_dmg + echo "Post-bdist_dmg directory listing:" + echo "-- dist --"; ls -lah dist || true + echo "-- build --"; ls -lah build || true - name: Package and prepare release artifacts (.app.zip and .dmg) shell: bash @@ -174,29 +185,43 @@ jobs: echo "Preparing artifacts for version: $version" mkdir -p artifacts - app_name="YTSage-v${version}.app" - app_path="dist/${app_name}" - if [ -d "$app_path" ]; then - (cd dist && zip -r "../artifacts/YTSage-v${version}.app.zip" "$app_name") - echo "Created: $(pwd)/artifacts/YTSage-v${version}.app.zip" + # Find the .app bundle (preferring versioned name) + app_path="" + for cand in "dist/YTSage-v${version}.app" "build/dist/YTSage-v${version}.app" "build/YTSage-v${version}.app"; do + if [ -d "$cand" ]; then app_path="$cand"; break; fi + done + if [ -z "$app_path" ]; then + app_path=$(ls -d dist/*.app build/dist/*.app build/*.app 2>/dev/null | head -n1 || true) + fi + if [ -n "$app_path" ] && [ -d "$app_path" ]; then + app_base="$(basename "$app_path")" + app_parent="$(dirname "$app_path")" + # Ensure screenshots folder is not shipped + if [ -d "$app_path/Contents/Resources/assets/branding/screenshots" ]; then + rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" + echo "Removed screenshots folder from .app bundle at $app_path" + fi + (cd "$app_parent" && zip -r "${GITHUB_WORKSPACE}/artifacts/${app_base}.zip" "$app_base") + echo "Created: artifacts/${app_base}.zip" else - echo "Warning: .app bundle not found at $app_path" + echo "Warning: .app bundle not found in dist/ or build/" fi - # Try to find the generated DMG in dist + # Try to find the generated DMG in dist or build dmg_src="" - if [ -f "dist/YTSage-v${version}.dmg" ]; then - dmg_src="dist/YTSage-v${version}.dmg" - else - # Fallback: pick first .dmg in dist - dmg_src=$(ls dist/*.dmg 2>/dev/null | head -n 1 || true) + for cand in "dist/YTSage-v${version}.dmg"; do + if [ -f "$cand" ]; then dmg_src="$cand"; break; fi + done + if [ -z "$dmg_src" ]; then + dmg_src=$(ls dist/*.dmg build/*.dmg build/dist/*.dmg 2>/dev/null | head -n1 || true) fi if [ -n "$dmg_src" ] && [ -f "$dmg_src" ]; then + # Rename the DMG to a consistent name in artifacts cp "$dmg_src" "artifacts/YTSage-v${version}.dmg" - echo "Copied DMG to artifacts: artifacts/YTSage-v${version}.dmg" + echo "Copied DMG to artifacts from $dmg_src -> artifacts/YTSage-v${version}.dmg" else - echo "Warning: No DMG found in dist" + echo "Warning: No DMG found in dist/ or build/" fi echo "Final artifacts:" From 87d21c9a9db4406fc3b744a7c8fe179d63900627 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 1 Sep 2025 18:45:57 +0300 Subject: [PATCH 166/568] Add macOS version matrix and arch-specific artifacts The build workflow now runs on both macos-14 and macos-13 using a matrix strategy. Artifact names for .app and .dmg files now include architecture suffixes (arm64/x64), and additional environment variables are set for architecture detection. The release step is updated to append to the draft release and handle unmatched files gracefully. --- .github/workflows/build-macos.yml | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 72c4b55..abb9881 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -13,7 +13,10 @@ env: jobs: build-macos: - runs-on: macos-latest + strategy: + matrix: + os: [macos-14, macos-13] + runs-on: ${{ matrix.os }} steps: - name: Checkout code @@ -60,7 +63,14 @@ jobs: run: | version="${{ steps.get_version.outputs.VERSION }}" echo "VERSION=$version" >> "$GITHUB_ENV" - echo "Prepared build variables for version: $version" + arch="$(uname -m)" # arm64 or x86_64 + echo "ARCH=$arch" >> "$GITHUB_ENV" + if [ "$arch" = "arm64" ]; then + echo "ARCH_SUFFIX=arm64" >> "$GITHUB_ENV" + else + echo "ARCH_SUFFIX=x64" >> "$GITHUB_ENV" + fi + echo "Prepared build variables for version: $version on $(uname -a)" - name: Create cx_Freeze setup script shell: bash @@ -201,8 +211,8 @@ jobs: rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" echo "Removed screenshots folder from .app bundle at $app_path" fi - (cd "$app_parent" && zip -r "${GITHUB_WORKSPACE}/artifacts/${app_base}.zip" "$app_base") - echo "Created: artifacts/${app_base}.zip" + (cd "$app_parent" && zip -r "${GITHUB_WORKSPACE}/artifacts/YTSage-v${version}-${ARCH_SUFFIX}.app.zip" "$app_base") + echo "Created: artifacts/YTSage-v${version}-${ARCH_SUFFIX}.app.zip" else echo "Warning: .app bundle not found in dist/ or build/" fi @@ -218,8 +228,8 @@ jobs: if [ -n "$dmg_src" ] && [ -f "$dmg_src" ]; then # Rename the DMG to a consistent name in artifacts - cp "$dmg_src" "artifacts/YTSage-v${version}.dmg" - echo "Copied DMG to artifacts from $dmg_src -> artifacts/YTSage-v${version}.dmg" + cp "$dmg_src" "artifacts/YTSage-v${version}-${ARCH_SUFFIX}.dmg" + echo "Copied DMG to artifacts from $dmg_src -> artifacts/YTSage-v${version}-${ARCH_SUFFIX}.dmg" else echo "Warning: No DMG found in dist/ or build/" fi @@ -227,13 +237,15 @@ jobs: echo "Final artifacts:" ls -lh artifacts || true - - name: Create draft release + - name: Create/Update draft release uses: softprops/action-gh-release@v1 with: tag_name: ${{ github.ref_name }} name: YTSage ${{ github.ref_name }} draft: true prerelease: false + append_body: true + fail_on_unmatched_files: false body: | # YTSage ${{ github.ref_name }} From fe7c9c3797d2abe1a0554cf76b0557b15e016882 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 15:31:40 +0300 Subject: [PATCH 167/568] Add Linux build workflow for release packaging Introduces a GitHub Actions workflow to automate building and packaging Linux releases on tag push. The workflow sets up Python, installs dependencies, builds AppImage, RPM, and DEB packages using cx_Freeze, and uploads artifacts to a draft GitHub release. --- .github/workflows/build-linux.yml | 245 ++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 .github/workflows/build-linux.yml diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml new file mode 100644 index 0000000..ad905a7 --- /dev/null +++ b/.github/workflows/build-linux.yml @@ -0,0 +1,245 @@ +name: Build Linux Release + +on: + push: + tags: + - 'v*' + +permissions: + contents: write + +env: + PYTHON_VERSION: '3.13.6' + +jobs: + build-linux: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Extract version from tag + id: get_version + shell: bash + run: | + tag="${GITHUB_REF_NAME}" + version="${tag#v}" + echo "Extracted version: $version" + echo "VERSION=$version" >> "$GITHUB_OUTPUT" + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + + - name: Cache Python dependencies + uses: actions/cache@v3 + with: + path: | + venv + ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install system dependencies + shell: bash + run: | + sudo apt-get update -y + # Tools commonly required by cx_Freeze on Linux packaging + sudo apt-get install -y --no-install-recommends \ + rpm alien fakeroot patchelf desktop-file-utils file xz-utils zsync + + - name: Create virtual environment and install dependencies + shell: bash + run: | + python -m venv venv + source venv/bin/activate + python -m pip install --upgrade pip + pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir cx_Freeze yt-dlp + + - name: Prepare build variables + shell: bash + run: | + version="${{ steps.get_version.outputs.VERSION }}" + echo "VERSION=$version" >> "$GITHUB_ENV" + arch="$(uname -m)" # x86_64 or aarch64 + echo "ARCH=$arch" >> "$GITHUB_ENV" + echo "Prepared build variables for version: $version on $(uname -a)" + + - name: Create cx_Freeze setup script (Linux) + shell: bash + run: | + cat > setup_cxfreeze.py <<'PY' + import os + from cx_Freeze import setup, Executable + + version = os.environ.get("VERSION", "0.0.0") + + build_exe_options = dict( + optimize=2, + packages=[ + "PySide6.QtCore", + "PySide6.QtGui", + "PySide6.QtWidgets", + "requests", + "PIL", + "packaging", + "markdown", + "pyglet", + "loguru", + "setuptools", + ], + excludes=[ + "PySide6.QtBluetooth", + "PySide6.QtNetwork", + "PySide6.QtOpenGL", + "PySide6.QtPrintSupport", + "PySide6.QtSvg", + "PySide6.QtTest", + "PySide6.QtXml", + "PySide6.QtSql", + "PySide6.QtHelp", + "PySide6.QtMultimedia", + "PySide6.QtQml", + "PySide6.QtQuick", + "PySide6.QtWebEngineCore", + "PIL.ImageDraw", + "PIL.ImageFont", + "numpy", + "scipy", + "wx", + "pandas", + "tkinter", + "yt_dlp", + "unittest", + "test", + "tests", + ], + include_files=[ + ("src", "src"), + ("assets", "assets"), + ], + ) + + executables = [ + Executable( + script="main.py", + target_name=f"YTSage-v{version}", + icon="assets/branding/icons/icon.png", + ) + ] + + setup( + name="YTSage", + version=version, + description="YTSage", + options={ + "build_exe": build_exe_options, + # AppImage packaging + "bdist_appimage": { + # If ends with .AppImage, use verbatim file name + "target_name": f"YTSage-v{version}.AppImage", + # appimagetool will be auto-downloaded if not present + }, + # RPM packaging metadata (minimal) + "bdist_rpm": { + "release": "1", + "group": "Applications/Multimedia", + # Optional: icon can be picked from Executable's icon + }, + # DEB packaging wraps alien to convert RPM + "bdist_deb": {}, + }, + executables=executables, + ) + PY + + - name: Build AppImage, RPM and DEB + shell: bash + run: | + set -e + source venv/bin/activate + + # Ensure a clean build and build_exe first + python setup_cxfreeze.py build_exe + + # Remove screenshots to reduce size before packaging + build_dir=$(ls -d build/exe.* 2>/dev/null | head -n1 || true) + if [ -n "$build_dir" ] && [ -d "$build_dir/assets/branding/screenshots" ]; then + rm -rf "$build_dir/assets/branding/screenshots" + echo "Removed screenshots folder from $build_dir" + fi + + # Build AppImage + python setup_cxfreeze.py bdist_appimage + + # Build RPM + python setup_cxfreeze.py bdist_rpm + + # Build DEB (via alien from RPM) + python setup_cxfreeze.py bdist_deb || echo "bdist_deb completed with warnings (alien)" + + echo "Post-build directory listing:" + echo "-- dist --"; ls -lah dist || true + echo "-- build --"; ls -lah build || true + + - name: Package and prepare release artifacts (.AppImage, .rpm, .deb) + shell: bash + run: | + version="${{ steps.get_version.outputs.VERSION }}" + mkdir -p artifacts + + # Copy AppImage + appimage_src=$(ls dist/*.AppImage 2>/dev/null | head -n1 || true) + if [ -n "$appimage_src" ]; then + cp "$appimage_src" "artifacts/YTSage-v${version}.AppImage" + echo "Copied AppImage: $appimage_src -> artifacts/YTSage-v${version}.AppImage" + else + echo "Warning: No .AppImage found in dist/" + fi + + # Copy RPM (normalize name) + rpm_src=$(ls dist/*.rpm 2>/dev/null | head -n1 || true) + if [ -n "$rpm_src" ]; then + cp "$rpm_src" "artifacts/YTSage-v${version}.rpm" + echo "Copied RPM: $rpm_src -> artifacts/YTSage-v${version}.rpm" + else + echo "Warning: No .rpm found in dist/" + fi + + # Copy DEB (normalize name) + deb_src=$(ls dist/*.deb 2>/dev/null | head -n1 || true) + if [ -n "$deb_src" ]; then + cp "$deb_src" "artifacts/YTSage-v${version}.deb" + echo "Copied DEB: $deb_src -> artifacts/YTSage-v${version}.deb" + else + echo "Warning: No .deb found in dist/" + fi + + echo "Final artifacts:" + ls -lh artifacts || true + + - name: Create/Update draft release + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ github.ref_name }} + name: YTSage ${{ github.ref_name }} + draft: true + prerelease: false + append_body: true + fail_on_unmatched_files: false + body: | + # YTSage ${{ github.ref_name }} + + **Release Date**: ${{ github.event.head_commit.timestamp }} + + **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} + files: | + artifacts/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 51d9c1d11958e5f49134f5c2948cab9d9202d7e8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 15:56:00 +0300 Subject: [PATCH 168/568] Update executable naming in build workflow Changed the internal executable target name to 'YTSage' instead of including the version. The AppImage filename still includes the version, but the base executable name is now consistent and versionless. --- .github/workflows/build-linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index ad905a7..b107ec6 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -129,7 +129,7 @@ jobs: executables = [ Executable( script="main.py", - target_name=f"YTSage-v{version}", + target_name="YTSage", icon="assets/branding/icons/icon.png", ) ] @@ -144,7 +144,7 @@ jobs: "bdist_appimage": { # If ends with .AppImage, use verbatim file name "target_name": f"YTSage-v{version}.AppImage", - # appimagetool will be auto-downloaded if not present + # Use the base executable name internally, version in AppImage filename }, # RPM packaging metadata (minimal) "bdist_rpm": { From cb48b21cdcdf2fc28d65a5effb448806a751af17 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 18:25:19 +0300 Subject: [PATCH 169/568] Improve Linux packaging and desktop integration Standardizes executable and artifact naming to 'ytsage' and includes architecture in output filenames. Adds desktop entry and RPM install script for better desktop integration. Updates AppImage and RPM metadata, and ensures proper icon and category handling for Linux builds. --- .github/workflows/build-linux.yml | 45 ++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index b107ec6..e7d23d8 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -129,7 +129,7 @@ jobs: executables = [ Executable( script="main.py", - target_name="YTSage", + target_name="ytsage", icon="assets/branding/icons/icon.png", ) ] @@ -144,13 +144,15 @@ jobs: "bdist_appimage": { # If ends with .AppImage, use verbatim file name "target_name": f"YTSage-v{version}.AppImage", - # Use the base executable name internally, version in AppImage filename + # Desktop metadata for menus/icons in AppImage + "app_name": "YTSage", + "categories": "AudioVideo;Network;Utility;", }, - # RPM packaging metadata (minimal) + # RPM packaging metadata + desktop integration "bdist_rpm": { "release": "1", "group": "Applications/Multimedia", - # Optional: icon can be picked from Executable's icon + "install_script": "rpm_install.sh", }, # DEB packaging wraps alien to convert RPM "bdist_deb": {}, @@ -159,6 +161,29 @@ jobs: ) PY + - name: Create desktop entry and RPM install script + shell: bash + run: | + cat > ytsage.desktop <<'DESKTOP' + [Desktop Entry] + Type=Application + Name=YTSage + Comment=YouTube downloader + Exec=ytsage %U + Icon=ytsage + Terminal=false + Categories=AudioVideo;Network;Utility; + StartupWMClass=YTSage + DESKTOP + + cat > rpm_install.sh <<'SH' + #!/bin/sh + set -e + install -Dm644 ytsage.desktop "$RPM_BUILD_ROOT/usr/share/applications/ytsage.desktop" + install -Dm644 assets/branding/icons/icon.png "$RPM_BUILD_ROOT/usr/share/pixmaps/ytsage.png" + SH + chmod +x rpm_install.sh + - name: Build AppImage, RPM and DEB shell: bash run: | @@ -197,8 +222,8 @@ jobs: # Copy AppImage appimage_src=$(ls dist/*.AppImage 2>/dev/null | head -n1 || true) if [ -n "$appimage_src" ]; then - cp "$appimage_src" "artifacts/YTSage-v${version}.AppImage" - echo "Copied AppImage: $appimage_src -> artifacts/YTSage-v${version}.AppImage" + cp "$appimage_src" "artifacts/YTSage-v${version}-${ARCH}.AppImage" + echo "Copied AppImage: $appimage_src -> artifacts/YTSage-v${version}-${ARCH}.AppImage" else echo "Warning: No .AppImage found in dist/" fi @@ -206,8 +231,8 @@ jobs: # Copy RPM (normalize name) rpm_src=$(ls dist/*.rpm 2>/dev/null | head -n1 || true) if [ -n "$rpm_src" ]; then - cp "$rpm_src" "artifacts/YTSage-v${version}.rpm" - echo "Copied RPM: $rpm_src -> artifacts/YTSage-v${version}.rpm" + cp "$rpm_src" "artifacts/YTSage-v${version}-${ARCH}.rpm" + echo "Copied RPM: $rpm_src -> artifacts/YTSage-v${version}-${ARCH}.rpm" else echo "Warning: No .rpm found in dist/" fi @@ -215,8 +240,8 @@ jobs: # Copy DEB (normalize name) deb_src=$(ls dist/*.deb 2>/dev/null | head -n1 || true) if [ -n "$deb_src" ]; then - cp "$deb_src" "artifacts/YTSage-v${version}.deb" - echo "Copied DEB: $deb_src -> artifacts/YTSage-v${version}.deb" + cp "$deb_src" "artifacts/YTSage-v${version}-${ARCH}.deb" + echo "Copied DEB: $deb_src -> artifacts/YTSage-v${version}-${ARCH}.deb" else echo "Warning: No .deb found in dist/" fi From 9ddac31b4b5e61bfa6517597d40b5cb7a53dcdc4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 18:37:18 +0300 Subject: [PATCH 170/568] Remove AppImage desktop metadata from build config Deleted unnecessary desktop metadata fields (app_name and categories) from the AppImage build configuration in the GitHub Actions workflow. --- .github/workflows/build-linux.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index e7d23d8..f2034bc 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -144,9 +144,6 @@ jobs: "bdist_appimage": { # If ends with .AppImage, use verbatim file name "target_name": f"YTSage-v{version}.AppImage", - # Desktop metadata for menus/icons in AppImage - "app_name": "YTSage", - "categories": "AudioVideo;Network;Utility;", }, # RPM packaging metadata + desktop integration "bdist_rpm": { From 5d48e29d68d6e9f73decbc324d2fbfb151a22747 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 18:47:43 +0300 Subject: [PATCH 171/568] Update Linux build workflow for desktop integration Adds ytsage.desktop and icon to packaging, removes RPM install script, and updates workflow steps to improve desktop integration for Linux builds. --- .github/workflows/build-linux.yml | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index f2034bc..6caff54 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -123,6 +123,8 @@ jobs: include_files=[ ("src", "src"), ("assets", "assets"), + ("ytsage.desktop", "share/applications/ytsage.desktop"), + ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), ], ) @@ -145,11 +147,10 @@ jobs: # If ends with .AppImage, use verbatim file name "target_name": f"YTSage-v{version}.AppImage", }, - # RPM packaging metadata + desktop integration + # RPM packaging metadata "bdist_rpm": { "release": "1", "group": "Applications/Multimedia", - "install_script": "rpm_install.sh", }, # DEB packaging wraps alien to convert RPM "bdist_deb": {}, @@ -158,7 +159,7 @@ jobs: ) PY - - name: Create desktop entry and RPM install script + - name: Create desktop entry shell: bash run: | cat > ytsage.desktop <<'DESKTOP' @@ -173,14 +174,6 @@ jobs: StartupWMClass=YTSage DESKTOP - cat > rpm_install.sh <<'SH' - #!/bin/sh - set -e - install -Dm644 ytsage.desktop "$RPM_BUILD_ROOT/usr/share/applications/ytsage.desktop" - install -Dm644 assets/branding/icons/icon.png "$RPM_BUILD_ROOT/usr/share/pixmaps/ytsage.png" - SH - chmod +x rpm_install.sh - - name: Build AppImage, RPM and DEB shell: bash run: | From 81480cbebefe1856e9d326dfb6da264cc1695afc Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 18:58:17 +0300 Subject: [PATCH 172/568] Normalize package naming to lowercase ytsage Updated workflow to use lowercase 'ytsage' for package names and file patterns, ensuring consistency across AppImage, RPM, and DEB artifacts. --- .github/workflows/build-linux.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 6caff54..3408398 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -137,7 +137,7 @@ jobs: ] setup( - name="YTSage", + name="ytsage", version=version, description="YTSage", options={ @@ -145,7 +145,7 @@ jobs: # AppImage packaging "bdist_appimage": { # If ends with .AppImage, use verbatim file name - "target_name": f"YTSage-v{version}.AppImage", + "target_name": f"ytsage-v{version}.AppImage", }, # RPM packaging metadata "bdist_rpm": { @@ -210,7 +210,7 @@ jobs: mkdir -p artifacts # Copy AppImage - appimage_src=$(ls dist/*.AppImage 2>/dev/null | head -n1 || true) + appimage_src=$(ls dist/ytsage-v*.AppImage 2>/dev/null | head -n1 || true) if [ -n "$appimage_src" ]; then cp "$appimage_src" "artifacts/YTSage-v${version}-${ARCH}.AppImage" echo "Copied AppImage: $appimage_src -> artifacts/YTSage-v${version}-${ARCH}.AppImage" @@ -219,7 +219,7 @@ jobs: fi # Copy RPM (normalize name) - rpm_src=$(ls dist/*.rpm 2>/dev/null | head -n1 || true) + rpm_src=$(ls dist/ytsage-*.rpm 2>/dev/null | head -n1 || true) if [ -n "$rpm_src" ]; then cp "$rpm_src" "artifacts/YTSage-v${version}-${ARCH}.rpm" echo "Copied RPM: $rpm_src -> artifacts/YTSage-v${version}-${ARCH}.rpm" @@ -228,7 +228,7 @@ jobs: fi # Copy DEB (normalize name) - deb_src=$(ls dist/*.deb 2>/dev/null | head -n1 || true) + deb_src=$(ls dist/ytsage_*.deb 2>/dev/null | head -n1 || true) if [ -n "$deb_src" ]; then cp "$deb_src" "artifacts/YTSage-v${version}-${ARCH}.deb" echo "Copied DEB: $deb_src -> artifacts/YTSage-v${version}-${ARCH}.deb" From aebe5f1aa61d45578942f1b866748b28b0b1b6bc Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 19:27:05 +0300 Subject: [PATCH 173/568] Fix DEB desktop integration in build workflow Adds a post-processing step to ensure desktop entry and icon files are correctly placed in DEB packages built via alien, addressing issues where alien may miss proper desktop integration. --- .github/workflows/build-linux.yml | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 3408398..b085ebd 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -199,6 +199,57 @@ jobs: # Build DEB (via alien from RPM) python setup_cxfreeze.py bdist_deb || echo "bdist_deb completed with warnings (alien)" + # Fix DEB desktop integration (alien sometimes misses this) + deb_file=$(ls dist/ytsage_*.deb 2>/dev/null | head -n1 || true) + if [ -n "$deb_file" ]; then + echo "Fixing DEB desktop integration for: $deb_file" + + # Create temporary directory for DEB extraction + temp_deb_dir=$(mktemp -d) + cd "$temp_deb_dir" + + # Extract the DEB package + ar x "$GITHUB_WORKSPACE/$deb_file" + + # Extract the data archive + mkdir -p data + cd data + tar xf ../data.tar.xz + + # Ensure desktop files are properly placed + if [ ! -d "usr/share/applications" ]; then + mkdir -p usr/share/applications + fi + if [ ! -d "usr/share/pixmaps" ]; then + mkdir -p usr/share/pixmaps + fi + + # Copy desktop entry if it exists in the package but not in the right place + if [ -f "usr/lib/ytsage-${version}/share/applications/ytsage.desktop" ] && [ ! -f "usr/share/applications/ytsage.desktop" ]; then + cp "usr/lib/ytsage-${version}/share/applications/ytsage.desktop" "usr/share/applications/" + echo "Copied desktop entry to proper location" + fi + + # Copy icon if it exists in the package but not in the right place + if [ -f "usr/lib/ytsage-${version}/share/pixmaps/ytsage.png" ] && [ ! -f "usr/share/pixmaps/ytsage.png" ]; then + cp "usr/lib/ytsage-${version}/share/pixmaps/ytsage.png" "usr/share/pixmaps/" + echo "Copied icon to proper location" + fi + + # Repackage the data archive + tar cJf ../data.tar.xz ./* + cd .. + + # Create the fixed DEB package + ar r "${GITHUB_WORKSPACE}/${deb_file}" debian-binary control.tar.xz data.tar.xz + + # Clean up + cd "$GITHUB_WORKSPACE" + rm -rf "$temp_deb_dir" + + echo "DEB package desktop integration fixed" + fi + echo "Post-build directory listing:" echo "-- dist --"; ls -lah dist || true echo "-- build --"; ls -lah build || true From 1b552c4ae8695e63f522c78c0b6fad3d9db3bd75 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 19:47:28 +0300 Subject: [PATCH 174/568] Improve DEB package extraction and repackaging logic Enhanced the workflow to handle multiple data archive compression formats (xz, gz, zst) when extracting and repackaging DEB files. Added checks for the presence of the data archive and updated extraction and repackaging commands to match the detected format, improving robustness and compatibility. --- .github/workflows/build-linux.yml | 112 ++++++++++++++++++++---------- 1 file changed, 77 insertions(+), 35 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index b085ebd..a04db37 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -211,43 +211,85 @@ jobs: # Extract the DEB package ar x "$GITHUB_WORKSPACE/$deb_file" - # Extract the data archive - mkdir -p data - cd data - tar xf ../data.tar.xz + # List extracted files to see what we have + echo "Extracted DEB contents:" + ls -la - # Ensure desktop files are properly placed - if [ ! -d "usr/share/applications" ]; then - mkdir -p usr/share/applications + # Find the data archive (could be data.tar.xz, data.tar.gz, data.tar.zst, etc.) + data_archive="" + for ext in xz gz zst; do + if [ -f "data.tar.$ext" ]; then + data_archive="data.tar.$ext" + break + fi + done + + if [ -z "$data_archive" ]; then + echo "Warning: Could not find data archive in DEB package" + cd "$GITHUB_WORKSPACE" + rm -rf "$temp_deb_dir" + else + echo "Found data archive: $data_archive" + + # Extract the data archive + mkdir -p data + cd data + + case "$data_archive" in + *.tar.xz) + tar xf "../$data_archive" + ;; + *.tar.gz) + tar xzf "../$data_archive" + ;; + *.tar.zst) + tar --zstd -xf "../$data_archive" + ;; + esac + + # Ensure desktop files are properly placed + if [ ! -d "usr/share/applications" ]; then + mkdir -p usr/share/applications + fi + if [ ! -d "usr/share/pixmaps" ]; then + mkdir -p usr/share/pixmaps + fi + + # Copy desktop entry if it exists in the package but not in the right place + if [ -f "usr/lib/ytsage-${version}/share/applications/ytsage.desktop" ] && [ ! -f "usr/share/applications/ytsage.desktop" ]; then + cp "usr/lib/ytsage-${version}/share/applications/ytsage.desktop" "usr/share/applications/" + echo "Copied desktop entry to proper location" + fi + + # Copy icon if it exists in the package but not in the right place + if [ -f "usr/lib/ytsage-${version}/share/pixmaps/ytsage.png" ] && [ ! -f "usr/share/pixmaps/ytsage.png" ]; then + cp "usr/lib/ytsage-${version}/share/pixmaps/ytsage.png" "usr/share/pixmaps/" + echo "Copied icon to proper location" + fi + + # Repackage the data archive with the same compression + case "$data_archive" in + *.tar.xz) + tar cJf "../$data_archive" ./* + ;; + *.tar.gz) + tar czf "../$data_archive" ./* + ;; + *.tar.zst) + tar --zstd -cf "../$data_archive" ./* + ;; + esac + cd .. + + # Create the fixed DEB package + ar r "${GITHUB_WORKSPACE}/${deb_file}" debian-binary control.tar.* "$data_archive" + + # Clean up + cd "$GITHUB_WORKSPACE" + rm -rf "$temp_deb_dir" + + echo "DEB package desktop integration fixed" fi - if [ ! -d "usr/share/pixmaps" ]; then - mkdir -p usr/share/pixmaps - fi - - # Copy desktop entry if it exists in the package but not in the right place - if [ -f "usr/lib/ytsage-${version}/share/applications/ytsage.desktop" ] && [ ! -f "usr/share/applications/ytsage.desktop" ]; then - cp "usr/lib/ytsage-${version}/share/applications/ytsage.desktop" "usr/share/applications/" - echo "Copied desktop entry to proper location" - fi - - # Copy icon if it exists in the package but not in the right place - if [ -f "usr/lib/ytsage-${version}/share/pixmaps/ytsage.png" ] && [ ! -f "usr/share/pixmaps/ytsage.png" ]; then - cp "usr/lib/ytsage-${version}/share/pixmaps/ytsage.png" "usr/share/pixmaps/" - echo "Copied icon to proper location" - fi - - # Repackage the data archive - tar cJf ../data.tar.xz ./* - cd .. - - # Create the fixed DEB package - ar r "${GITHUB_WORKSPACE}/${deb_file}" debian-binary control.tar.xz data.tar.xz - - # Clean up - cd "$GITHUB_WORKSPACE" - rm -rf "$temp_deb_dir" - - echo "DEB package desktop integration fixed" fi echo "Post-build directory listing:" From 09d117cb53ceada97c02ded5b25440e2fb185fe7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 2 Sep 2025 20:09:14 +0300 Subject: [PATCH 175/568] Remove DEB desktop integration fix from build workflow Deleted post-processing steps that manually fixed desktop entry and icon placement in DEB packages after conversion from RPM. This streamlines the build process and removes custom extraction and repackaging logic. --- .github/workflows/build-linux.yml | 93 ------------------------------- 1 file changed, 93 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index a04db37..3408398 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -199,99 +199,6 @@ jobs: # Build DEB (via alien from RPM) python setup_cxfreeze.py bdist_deb || echo "bdist_deb completed with warnings (alien)" - # Fix DEB desktop integration (alien sometimes misses this) - deb_file=$(ls dist/ytsage_*.deb 2>/dev/null | head -n1 || true) - if [ -n "$deb_file" ]; then - echo "Fixing DEB desktop integration for: $deb_file" - - # Create temporary directory for DEB extraction - temp_deb_dir=$(mktemp -d) - cd "$temp_deb_dir" - - # Extract the DEB package - ar x "$GITHUB_WORKSPACE/$deb_file" - - # List extracted files to see what we have - echo "Extracted DEB contents:" - ls -la - - # Find the data archive (could be data.tar.xz, data.tar.gz, data.tar.zst, etc.) - data_archive="" - for ext in xz gz zst; do - if [ -f "data.tar.$ext" ]; then - data_archive="data.tar.$ext" - break - fi - done - - if [ -z "$data_archive" ]; then - echo "Warning: Could not find data archive in DEB package" - cd "$GITHUB_WORKSPACE" - rm -rf "$temp_deb_dir" - else - echo "Found data archive: $data_archive" - - # Extract the data archive - mkdir -p data - cd data - - case "$data_archive" in - *.tar.xz) - tar xf "../$data_archive" - ;; - *.tar.gz) - tar xzf "../$data_archive" - ;; - *.tar.zst) - tar --zstd -xf "../$data_archive" - ;; - esac - - # Ensure desktop files are properly placed - if [ ! -d "usr/share/applications" ]; then - mkdir -p usr/share/applications - fi - if [ ! -d "usr/share/pixmaps" ]; then - mkdir -p usr/share/pixmaps - fi - - # Copy desktop entry if it exists in the package but not in the right place - if [ -f "usr/lib/ytsage-${version}/share/applications/ytsage.desktop" ] && [ ! -f "usr/share/applications/ytsage.desktop" ]; then - cp "usr/lib/ytsage-${version}/share/applications/ytsage.desktop" "usr/share/applications/" - echo "Copied desktop entry to proper location" - fi - - # Copy icon if it exists in the package but not in the right place - if [ -f "usr/lib/ytsage-${version}/share/pixmaps/ytsage.png" ] && [ ! -f "usr/share/pixmaps/ytsage.png" ]; then - cp "usr/lib/ytsage-${version}/share/pixmaps/ytsage.png" "usr/share/pixmaps/" - echo "Copied icon to proper location" - fi - - # Repackage the data archive with the same compression - case "$data_archive" in - *.tar.xz) - tar cJf "../$data_archive" ./* - ;; - *.tar.gz) - tar czf "../$data_archive" ./* - ;; - *.tar.zst) - tar --zstd -cf "../$data_archive" ./* - ;; - esac - cd .. - - # Create the fixed DEB package - ar r "${GITHUB_WORKSPACE}/${deb_file}" debian-binary control.tar.* "$data_archive" - - # Clean up - cd "$GITHUB_WORKSPACE" - rm -rf "$temp_deb_dir" - - echo "DEB package desktop integration fixed" - fi - fi - echo "Post-build directory listing:" echo "-- dist --"; ls -lah dist || true echo "-- build --"; ls -lah build || true From 120afef8f7e3dbf104d4c2b26f42c4800d6578ed Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Sep 2025 21:20:44 +0300 Subject: [PATCH 176/568] Add postinst script to place desktop icon on install Introduces a debian/postinst script in the build workflow to copy the ytsage.desktop file to the user's desktop during DEB package installation, ensuring the desktop icon is available. Also updates the icon cache and handles cases where the desktop directory or SUDO_USER is not set. --- .github/workflows/build-linux.yml | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 3408398..251cb3c 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -125,6 +125,7 @@ jobs: ("assets", "assets"), ("ytsage.desktop", "share/applications/ytsage.desktop"), ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), + ("debian/postinst", "DEBIAN/postinst"), # Added for desktop icon ], ) @@ -174,6 +175,32 @@ jobs: StartupWMClass=YTSage DESKTOP + - name: Create postinst script for desktop icon + shell: bash + run: | + mkdir -p debian + cat > debian/postinst <<'POSTINST' + #!/bin/sh + set -e + # Copy .desktop file to user's desktop for icon + if [ -n "$SUDO_USER" ]; then + DESKTOP_DIR="/home/$SUDO_USER/Desktop" + if [ -d "$DESKTOP_DIR" ]; then + cp /usr/share/applications/ytsage.desktop "$DESKTOP_DIR/" + chmod +x "$DESKTOP_DIR/ytsage.desktop" + chown $SUDO_USER:$SUDO_USER "$DESKTOP_DIR/ytsage.desktop" + echo "Placed ytsage.desktop on $SUDO_USER's desktop" + else + echo "Warning: Desktop directory $DESKTOP_DIR not found, skipping desktop icon placement" + fi + else + echo "Warning: SUDO_USER not set, skipping desktop icon placement" + fi + # Update icon cache + gtk-update-icon-cache -f /usr/share/icons/hicolor/ 2>/dev/null || true + POSTINST + chmod +x debian/postinst + - name: Build AppImage, RPM and DEB shell: bash run: | @@ -257,4 +284,4 @@ jobs: files: | artifacts/* env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 83e23f2259de33aadce67ccfa8ec67b4b1ab7f81 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Sep 2025 21:54:38 +0300 Subject: [PATCH 177/568] Remove postinst script for desktop icon in Linux build The postinst script responsible for placing the desktop icon during DEB package installation has been removed from the build workflow. This simplifies the packaging process and eliminates custom post-installation steps. --- .github/workflows/build-linux.yml | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 251cb3c..3408398 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -125,7 +125,6 @@ jobs: ("assets", "assets"), ("ytsage.desktop", "share/applications/ytsage.desktop"), ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), - ("debian/postinst", "DEBIAN/postinst"), # Added for desktop icon ], ) @@ -175,32 +174,6 @@ jobs: StartupWMClass=YTSage DESKTOP - - name: Create postinst script for desktop icon - shell: bash - run: | - mkdir -p debian - cat > debian/postinst <<'POSTINST' - #!/bin/sh - set -e - # Copy .desktop file to user's desktop for icon - if [ -n "$SUDO_USER" ]; then - DESKTOP_DIR="/home/$SUDO_USER/Desktop" - if [ -d "$DESKTOP_DIR" ]; then - cp /usr/share/applications/ytsage.desktop "$DESKTOP_DIR/" - chmod +x "$DESKTOP_DIR/ytsage.desktop" - chown $SUDO_USER:$SUDO_USER "$DESKTOP_DIR/ytsage.desktop" - echo "Placed ytsage.desktop on $SUDO_USER's desktop" - else - echo "Warning: Desktop directory $DESKTOP_DIR not found, skipping desktop icon placement" - fi - else - echo "Warning: SUDO_USER not set, skipping desktop icon placement" - fi - # Update icon cache - gtk-update-icon-cache -f /usr/share/icons/hicolor/ 2>/dev/null || true - POSTINST - chmod +x debian/postinst - - name: Build AppImage, RPM and DEB shell: bash run: | @@ -284,4 +257,4 @@ jobs: files: | artifacts/* env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From f2d3a0b0ed4cf0c6f32710ac761ce8e3c92e6e24 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Sep 2025 22:07:58 +0300 Subject: [PATCH 178/568] Refactor Linux build workflow for native DEB packaging Replaces DEB creation via alien with a native packaging step using dpkg-deb. Updates desktop file Exec path, improves artifact staging, and adds post-install scripts for desktop integration. This streamlines DEB builds and improves compatibility with Debian-based systems. --- .github/workflows/build-linux.yml | 142 +++++++++++++++++++++++------- 1 file changed, 110 insertions(+), 32 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 3408398..7bbe2b9 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -167,14 +167,14 @@ jobs: Type=Application Name=YTSage Comment=YouTube downloader - Exec=ytsage %U + Exec=/usr/bin/ytsage %U Icon=ytsage Terminal=false Categories=AudioVideo;Network;Utility; StartupWMClass=YTSage DESKTOP - - name: Build AppImage, RPM and DEB + - name: Build AppImage and RPM shell: bash run: | set -e @@ -196,48 +196,126 @@ jobs: # Build RPM python setup_cxfreeze.py bdist_rpm - # Build DEB (via alien from RPM) - python setup_cxfreeze.py bdist_deb || echo "bdist_deb completed with warnings (alien)" - echo "Post-build directory listing:" echo "-- dist --"; ls -lah dist || true echo "-- build --"; ls -lah build || true - - name: Package and prepare release artifacts (.AppImage, .rpm, .deb) + - name: Build native DEB package shell: bash run: | + set -e version="${{ steps.get_version.outputs.VERSION }}" + arch_uname="${ARCH}" + # Map uname -m to Debian arch names + case "$arch_uname" in + x86_64) deb_arch=amd64 ;; + aarch64) deb_arch=arm64 ;; + *) deb_arch="$arch_uname" ;; + esac + + # Locate build output + build_dir=$(ls -d build/exe.* 2>/dev/null | head -n1) + if [ -z "$build_dir" ]; then + echo "Error: build/exe.* directory not found" >&2 + exit 1 + fi + + # Staging root + pkgroot=deb_pkg + rm -rf "$pkgroot" + mkdir -p "$pkgroot/DEBIAN" \ + "$pkgroot/usr/bin" \ + "$pkgroot/usr/share/applications" \ + "$pkgroot/usr/share/pixmaps" \ + "$pkgroot/opt/ytsage" + + # Install application payload under /opt/ytsage + cp -a "$build_dir"/* "$pkgroot/opt/ytsage/" + + # Wrapper to ensure correct working directory + cat > "$pkgroot/usr/bin/ytsage" <<'WRAP' + #!/usr/bin/env bash + set -euo pipefail + APPDIR="/opt/ytsage" + cd "$APPDIR" + exec "$APPDIR/ytsage" "$@" + WRAP + chmod 0755 "$pkgroot/usr/bin/ytsage" + + # Desktop file and icon + install -m 0644 ytsage.desktop "$pkgroot/usr/share/applications/ytsage.desktop" + install -m 0644 assets/branding/icons/icon.png "$pkgroot/usr/share/pixmaps/ytsage.png" + + # Control file + cat > "$pkgroot/DEBIAN/control" < + Homepage: https://github.com/oop7/YTSage + Description: YTSage - A modern YouTube downloader with a PySide6 interface + Download videos, extract audio, fetch subtitles, and more. + CONTROL + + # Post-install script to refresh desktop/menu caches (best-effort) + cat > "$pkgroot/DEBIAN/postinst" <<'POSTINST' + #!/bin/sh + set -e + if command -v update-desktop-database >/dev/null 2>&1; then + update-desktop-database -q || true + fi + if command -v gtk-update-icon-cache >/dev/null 2>&1; then + gtk-update-icon-cache -q /usr/share/icons/hicolor || true + fi + exit 0 + POSTINST + chmod 0755 "$pkgroot/DEBIAN/postinst" + + # Triggers so Debian updates caches + cat > "$pkgroot/DEBIAN/triggers" <<'TRIGGERS' + interest-noawait /usr/share/applications + interest-noawait /usr/share/icons/hicolor + TRIGGERS + + # Build the deb + deb_out="YTSage-v${version}-${deb_arch}.deb" + dpkg-deb --build "$pkgroot" "$deb_out" + mkdir -p artifacts + mv "$deb_out" artifacts/ + echo "Built native DEB: artifacts/$deb_out" - # Copy AppImage - appimage_src=$(ls dist/ytsage-v*.AppImage 2>/dev/null | head -n1 || true) - if [ -n "$appimage_src" ]; then - cp "$appimage_src" "artifacts/YTSage-v${version}-${ARCH}.AppImage" - echo "Copied AppImage: $appimage_src -> artifacts/YTSage-v${version}-${ARCH}.AppImage" - else - echo "Warning: No .AppImage found in dist/" - fi + - name: Package and prepare release artifacts (.AppImage, .rpm, .deb) + shell: bash + run: | + version="${{ steps.get_version.outputs.VERSION }}" + mkdir -p artifacts - # Copy RPM (normalize name) - rpm_src=$(ls dist/ytsage-*.rpm 2>/dev/null | head -n1 || true) - if [ -n "$rpm_src" ]; then - cp "$rpm_src" "artifacts/YTSage-v${version}-${ARCH}.rpm" - echo "Copied RPM: $rpm_src -> artifacts/YTSage-v${version}-${ARCH}.rpm" - else - echo "Warning: No .rpm found in dist/" - fi + # Copy AppImage + appimage_src=$(ls dist/ytsage-v*.AppImage 2>/dev/null | head -n1 || true) + if [ -n "$appimage_src" ]; then + cp "$appimage_src" "artifacts/YTSage-v${version}-${ARCH}.AppImage" + echo "Copied AppImage: $appimage_src -> artifacts/YTSage-v${version}-${ARCH}.AppImage" + else + echo "Warning: No .AppImage found in dist/" + fi - # Copy DEB (normalize name) - deb_src=$(ls dist/ytsage_*.deb 2>/dev/null | head -n1 || true) - if [ -n "$deb_src" ]; then - cp "$deb_src" "artifacts/YTSage-v${version}-${ARCH}.deb" - echo "Copied DEB: $deb_src -> artifacts/YTSage-v${version}-${ARCH}.deb" - else - echo "Warning: No .deb found in dist/" - fi + # Copy RPM (normalize name) + rpm_src=$(ls dist/ytsage-*.rpm 2>/dev/null | head -n1 || true) + if [ -n "$rpm_src" ]; then + cp "$rpm_src" "artifacts/YTSage-v${version}-${ARCH}.rpm" + echo "Copied RPM: $rpm_src -> artifacts/YTSage-v${version}-${ARCH}.rpm" + else + echo "Warning: No .rpm found in dist/" + fi - echo "Final artifacts:" - ls -lh artifacts || true + # DEB is already staged in artifacts by the native packaging step + ls -1 artifacts/*.deb 2>/dev/null || echo "Warning: No .deb found in artifacts/" + + echo "Final artifacts:" + ls -lh artifacts || true - name: Create/Update draft release uses: softprops/action-gh-release@v1 From c57faca4b5d6b3063a9420abfeb8893839c7d708 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Sep 2025 22:28:55 +0300 Subject: [PATCH 179/568] Fix indentation for release artifact packaging step Corrects indentation of the 'Package and prepare release artifacts' step in the build-linux workflow to ensure proper execution of artifact packaging commands. --- .github/workflows/build-linux.yml | 50 +++++++++++++++---------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 7bbe2b9..fdc4d8a 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -287,35 +287,35 @@ jobs: mv "$deb_out" artifacts/ echo "Built native DEB: artifacts/$deb_out" - - name: Package and prepare release artifacts (.AppImage, .rpm, .deb) - shell: bash - run: | - version="${{ steps.get_version.outputs.VERSION }}" - mkdir -p artifacts + - name: Package and prepare release artifacts (.AppImage, .rpm, .deb) + shell: bash + run: | + version="${{ steps.get_version.outputs.VERSION }}" + mkdir -p artifacts - # Copy AppImage - appimage_src=$(ls dist/ytsage-v*.AppImage 2>/dev/null | head -n1 || true) - if [ -n "$appimage_src" ]; then - cp "$appimage_src" "artifacts/YTSage-v${version}-${ARCH}.AppImage" - echo "Copied AppImage: $appimage_src -> artifacts/YTSage-v${version}-${ARCH}.AppImage" - else - echo "Warning: No .AppImage found in dist/" - fi + # Copy AppImage + appimage_src=$(ls dist/ytsage-v*.AppImage 2>/dev/null | head -n1 || true) + if [ -n "$appimage_src" ]; then + cp "$appimage_src" "artifacts/YTSage-v${version}-${ARCH}.AppImage" + echo "Copied AppImage: $appimage_src -> artifacts/YTSage-v${version}-${ARCH}.AppImage" + else + echo "Warning: No .AppImage found in dist/" + fi - # Copy RPM (normalize name) - rpm_src=$(ls dist/ytsage-*.rpm 2>/dev/null | head -n1 || true) - if [ -n "$rpm_src" ]; then - cp "$rpm_src" "artifacts/YTSage-v${version}-${ARCH}.rpm" - echo "Copied RPM: $rpm_src -> artifacts/YTSage-v${version}-${ARCH}.rpm" - else - echo "Warning: No .rpm found in dist/" - fi + # Copy RPM (normalize name) + rpm_src=$(ls dist/ytsage-*.rpm 2>/dev/null | head -n1 || true) + if [ -n "$rpm_src" ]; then + cp "$rpm_src" "artifacts/YTSage-v${version}-${ARCH}.rpm" + echo "Copied RPM: $rpm_src -> artifacts/YTSage-v${version}-${ARCH}.rpm" + else + echo "Warning: No .rpm found in dist/" + fi - # DEB is already staged in artifacts by the native packaging step - ls -1 artifacts/*.deb 2>/dev/null || echo "Warning: No .deb found in artifacts/" + # DEB is already staged in artifacts by the native packaging step + ls -1 artifacts/*.deb 2>/dev/null || echo "Warning: No .deb found in artifacts/" - echo "Final artifacts:" - ls -lh artifacts || true + echo "Final artifacts:" + ls -lh artifacts || true - name: Create/Update draft release uses: softprops/action-gh-release@v1 From 40b9a8ec79b5e84fe1a7bb309bd9328ea2afced7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Sep 2025 23:17:33 +0300 Subject: [PATCH 180/568] Update CI/CD README for multi-platform support Expanded documentation to cover Windows, Linux, and macOS build and release processes. Updated artifact descriptions, workflow configuration, and instructions for adding new platforms. Clarified use of cx_Freeze, platform-specific packaging, and multi-architecture support. --- .github/CI_CD_README.md | 57 ++++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index b2c418b..0373f80 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -1,6 +1,6 @@ # YTSage CI/CD Workflow -This repository uses GitHub Actions to automatically build and release YTSage for Windows when version tags are pushed. +This repository uses GitHub Actions to automatically build and release YTSage for multiple platforms when version tags are pushed. ## How It Works @@ -8,9 +8,9 @@ This repository uses GitHub Actions to automatically build and release YTSage fo The workflow is triggered when you push a git tag that starts with `v` (e.g., `v4.8.0`, `v4.9.1`). ### Build Process -1. **Setup**: Uses Python 3.12.10 on Windows -2. **Builds**: Creates both Standard and FFmpeg versions -3. **Packages**: Generates ZIP portable versions only (no MSI) +1. **Setup**: Uses Python 3.13.6 on all platforms +2. **Builds**: Creates platform-specific executables using cx_Freeze +3. **Packages**: Generates native package formats for each platform 4. **Release**: Creates a draft GitHub release with all artifacts ## Usage @@ -36,16 +36,31 @@ The workflow is triggered when you push a git tag that starts with `v` (e.g., `v ### Release Artifacts -The workflow creates the following files: +The workflow creates the following files based on the platform: -- `YTSage-v.zip` - Standard portable version -- `YTSage-v-ffmpeg.zip` - FFmpeg bundle portable +#### Windows +- `YTSage-v{version}-portable.zip` - Standard portable version +- `YTSage-v{version}-ffmpeg-portable.zip` - FFmpeg bundle portable + +#### Linux +- `YTSage-v{version}-{arch}.AppImage` - AppImage portable +- `YTSage-v{version}-{arch}.rpm` - RPM package +- `YTSage-v{version}-{arch}.deb` - Debian package + +#### macOS +- `YTSage-v{version}-{arch}.app.zip` - Zipped application bundle +- `YTSage-v{version}-{arch}.dmg` - Disk image installer ## Workflow Features +### Multi-Platform Support +- **Windows**: Uses PowerShell scripts with cx_Freeze +- **Linux**: Uses Bash scripts with cx_Freeze, creates AppImage, RPM, and DEB +- **macOS**: Matrix build for both Intel (x64) and Apple Silicon (arm64) + ### Automatic Version Detection - Extracts version from git tag (removes 'v' prefix) -- Names all artifacts consistently (ZIPs) +- Names all artifacts consistently across platforms ### Caching - Python dependencies are cached to speed up builds @@ -79,27 +94,33 @@ If the workflow fails: ## Configuration ### Modifying the Workflow -The workflow file is located at `.github/workflows/build-windows.yml`. +The workflow files are located in `.github/workflows/`: +- `build-windows.yml` - Windows builds +- `build-linux.yml` - Linux builds +- `build-macos.yml` - macOS builds -Key configuration options: -- `PYTHON_VERSION`: Python version to use +### Key Configuration Options +- `PYTHON_VERSION`: Python version (currently 3.13.6) - Artifact naming patterns - Release note templates +- Build optimization settings ### Adding New Build Types -To add new platform packages (e.g., .dmg for macOS, .deb for Linux): -1. Add separate jobs in `.github/workflows/build-windows.yml` (or a new workflow) targeting the OS (macos-latest, ubuntu-latest). -2. Build the executable with cx_Freeze or PyInstaller for that platform. -3. Package the build output (e.g., create DMG on macOS, DEB on Ubuntu) using platform tools. -4. Upload the artifacts and include them in the release. +To add new platform packages: +1. Create or modify workflow files in `.github/workflows/` +2. Target the appropriate OS runner (windows-latest, ubuntu-latest, macos-latest) +3. Use cx_Freeze or PyInstaller for packaging +4. Package the build output in platform-native formats +5. Upload the artifacts and include them in the release ## Notes -- The workflow only runs on Windows - All builds use cx_Freeze for packaging -- FFmpeg binaries are expected in standard locations +- FFmpeg binaries are bundled where needed +- Screenshots are removed from builds to reduce size - Draft releases allow for review before publication +- macOS builds run on both Intel and Apple Silicon runners ## Example Tag Commands From b8af75848d8bf4402fbf57463e3a1e7e1f07dba3 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Sep 2025 23:17:45 +0300 Subject: [PATCH 181/568] Revise README with improved structure and details Updated the README to use tables for executable formats, added new formats for Linux and macOS, expanded troubleshooting section, and revised the project folder structure for clarity. Also replaced the star history chart with a new source and improved its presentation. --- README.md | 147 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 95 insertions(+), 52 deletions(-) diff --git a/README.md b/README.md index d780b97..87db5fe 100644 --- a/README.md +++ b/README.md @@ -71,17 +71,31 @@ ytsage ### 📦 Pre-built Executables -- 🪟 **Windows:** - - YTSage-v<version>.exe (Standard installer) - - YTSage-v<version>-ffmpeg.exe (With FFmpeg bundled) - - YTSage-v<version>-portable (Portable version, no installation required) - - YTSage-v<version>-ffmpeg-portable.zip (Portable with FFmpeg, zipped) -- 🐧 **Linux:** - - YTSage-v<version>-amd64.deb (Debian package) - - YTSage-v<version>-x86_64.AppImage (AppImage, portable) -- 🍎 **macOS:** - - YTSage-v<version>-macOS.zip (Zipped application) - - YTSage-v<version>.dmg (Disk image installer) +#### 🪟 Windows + +| Format | Description | +|--------|-------------| +| `YTSage-v.exe` | Standard installer | +| `YTSage-v-ffmpeg.exe` | With FFmpeg bundled | +| `YTSage-v-portable` | Portable version, no installation required | +| `YTSage-v-ffmpeg-portable.zip` | Portable with FFmpeg, zipped | + +#### 🐧 Linux + +| Format | Description | +|--------|-------------| +| `YTSage-v-amd64.deb` | Debian package | +| `YTSage-v-x86_64.AppImage` | AppImage, portable | +| `YTSage-v-x86_64.rpm` | RPM package | + +#### 🍎 macOS + +| Format | Description | +|--------|-------------| +| `YTSage-v-arm64.app.zip` | Zipped application for ARM64 | +| `YTSage-v-arm64.dmg` | Disk image installer for ARM64 | +| `YTSage-v-x64.app.zip` | Zipped application for x64 | +| `YTSage-v-x64.dmg` | Disk image installer for x64 | > [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) @@ -212,6 +226,16 @@ python main.py - **Format table not displaying:** Update yt-dlp to the latest version. - **Download fails:** Check your internet connection and ensure the video is available. +- **Specific download errors:** + - **Private videos:** Use cookie authentication to access private content. + - **Age-restricted content:** Login to YouTube account to view age-restricted videos. + - **Geo-blocked videos:** Consider using a VPN to bypass regional restrictions. + - **Removed/deleted videos:** Video is no longer available on YouTube. + - **Live streams:** Live streams cannot be downloaded; wait for the stream to end. + - **Network errors:** Check your internet connection and try again. + - **Invalid URLs:** Ensure the URL is correct and from a supported platform. + - **Premium content:** Requires YouTube Premium membership. + - **Copyright blocks:** Content is blocked due to copyright restrictions. - **Separate video and audio files after download:** This happens when FFmpeg is missing or not detected. YTSage requires FFmpeg to merge high-quality video and audio streams. - **Solution:** Ensure FFmpeg is installed and accessible in your system's PATH. For Windows users, the easiest option is to download the `YTSage-v-ffmpeg.exe` file, which comes bundled with FFmpeg. @@ -226,7 +250,7 @@ Some antivirus software may flag the `.exe` files as false positives. This is a **Safe alternatives:** - ✅ **Use pip installation:** `pip install ytsage` (recommended) -- ✅ **Build from source** +- ✅ **Build from source**: by following this [guide](.github/CI_CD_README.md) - ✅ **Whitelist the application** in your antivirus software #### 🍎 macOS: "App is damaged and can’t be opened" @@ -280,45 +304,61 @@ This document describes the organized folder structure of YTSage. ### 📁 Project Structure ``` -YTSage-main/ -├── 📁 assets/ # Static assets and resources -│ ├── 📁 Icon/ # Application icons +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📄 CI_CD_README.md # CI/CD documentation +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ └── 📁 workflows/ # GitHub Actions workflows +│ ├── build-linux.yml # Linux build workflow +│ ├── build-macos.yml # macOS build workflow +│ └── build-windows.yml # Windows build workflow +├── .gitignore # Git ignore rules +├── 📁 assets/ # Static assets and resources +│ ├── 📁 branding/ # Branding assets +│ │ ├── 📁 icons/ # Application icons +│ │ │ ├── icon.icns # macOS icon +│ │ │ ├── icon.png # PNG icon +│ │ │ └── YTSage.ico # Windows icon +│ │ └── 📁 screenshots/ # Screenshots for documentation +│ │ ├── audio_format.png +│ │ ├── main.png +│ │ ├── playlist.png +│ │ └── subtitle_options.png +│ ├── 📁 Icon/ # Legacy icon directory │ │ └── icon.png │ └── 📁 sound/ # Audio files │ └── notification.mp3 -│ -├── 📁 src/ # Source code -│ ├── 📁 core/ # Core business logic -│ │ ├── __init__.py # Core package init -│ │ ├── ytsage_downloader.py # Download functionality -│ │ ├── ytsage_ffmpeg.py # FFmpeg integration -│ │ ├── ytsage_style.py # UI styling -│ │ ├── ytsage_utils.py # Utility functions -│ │ └── ytsage_yt_dlp.py # yt-dlp integration -│ │ -│ ├── 📁 gui/ # User interface components -│ │ ├── 📁 dialogs/ # Dialog classes -│ │ │ ├── __init__.py # Dialogs package init (re-exports all) -│ │ │ ├── ytsage_dialogs_base.py # Basic dialogs (Log, About) -│ │ │ ├── ytsage_dialogs_custom.py # Custom functionality dialogs -│ │ │ ├── ytsage_dialogs_ffmpeg.py # FFmpeg-related dialogs -│ │ │ ├── ytsage_dialogs_selection.py # Selection dialogs -│ │ │ ├── ytsage_dialogs_settings.py # Settings dialogs -│ │ │ └── ytsage_dialogs_update.py # Update dialogs -│ │ │ -│ │ ├── __init__.py # GUI package init -│ │ ├── ytsage_gui_dialogs.py # Dialog aggregator (backward compatibility) -│ │ ├── ytsage_gui_format_table.py # Format table functionality -│ │ ├── ytsage_gui_main.py # Main application window -│ │ └── ytsage_gui_video_info.py # Video information display -│ │ -│ └── __init__.py # Main package init -│ -├── 📄 main.py # Application entry point -├── 📄 requirements.txt # Python dependencies -├── 📄 README.md # Project documentation ├── 📄 LICENSE # License file -└── 📄 .gitignore # Git ignore rules +├── 📄 main.py # Application entry point +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies +└── 📁 src/ # Source code + ├── 📄 __init__.py # Main package init + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_logging.py # Logging utilities + │ ├── 📄 ytsage_style.py # UI styling + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_format_table.py # Format table functionality + │ ├── 📄 ytsage_gui_main.py # Main application window + │ ├── 📄 ytsage_gui_video_info.py # Video information display + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + │ ├── 📄 __init__.py # Dialogs package init + │ ├── 📄 ytsage_dialogs_base.py # Basic dialogs + │ ├── 📄 ytsage_dialogs_custom.py # Custom functionality dialogs + │ ├── 📄 ytsage_dialogs_ffmpeg.py # FFmpeg-related dialogs + │ ├── 📄 ytsage_dialogs_selection.py # Selection dialogs + │ ├── 📄 ytsage_dialogs_settings.py # Settings dialogs + │ └── 📄 ytsage_dialogs_update.py # Update dialogs + └── 📁 utils/ # Utility modules + ├── 📄 __init__.py # Utils package init + └── 📄 ytsage_constants.py # Application constants ``` @@ -327,11 +367,14 @@ YTSage-main/ From 90b173c3897617240eaa6c8f4c9ce85e6d97afbc Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 4 Sep 2025 00:16:02 +0300 Subject: [PATCH 182/568] Improve yt-dlp version detection and binary management Refactored version detection to use importlib.metadata when available, with fallback to pkg_resources for older Python versions. Enhanced app-managed binary detection by safely comparing paths and handling missing files, improving robustness in update logic for both core and GUI update threads. --- src/core/ytsage_utils.py | 38 ++++++++++-- .../ytsage_dialogs_update.py | 59 +++++++++++++++---- 2 files changed, 83 insertions(+), 14 deletions(-) diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index e3a9677..4ac1d5e 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -6,7 +6,21 @@ import tempfile import time from pathlib import Path -import pkg_resources +try: + from importlib.metadata import version as importlib_version + from importlib.metadata import PackageNotFoundError as ImportlibPackageNotFoundError + + def get_version(package_name: str) -> str: + return importlib_version(package_name) + + PackageNotFoundError = ImportlibPackageNotFoundError +except ImportError: + # Fallback for older Python versions + import pkg_resources + def get_version(package_name: str) -> str: + return pkg_resources.get_distribution(package_name).version + PackageNotFoundError = pkg_resources.DistributionNotFound + import requests from packaging import version @@ -422,7 +436,23 @@ def update_yt_dlp() -> bool: # Extra logic moved to src\utils\ytsage_constants.py # For binaries downloaded with our app, use direct binary update approach - if yt_dlp_path.samefile(YTDLP_APP_BIN_PATH): + # Check if this is an app-managed binary by comparing paths safely + is_app_managed = False + try: + # Only compare if both files exist + if yt_dlp_path.exists() and YTDLP_APP_BIN_PATH.exists(): + is_app_managed = yt_dlp_path.samefile(YTDLP_APP_BIN_PATH) + elif str(yt_dlp_path) == str(YTDLP_APP_BIN_PATH): + # If paths are identical as strings, consider it app-managed + is_app_managed = True + else: + # If app binary doesn't exist, this is definitely not app-managed + is_app_managed = False + except (OSError, IOError) as e: + logger.debug(f"Error comparing paths in update_yt_dlp: {e}") + is_app_managed = False + + if is_app_managed: # We're using a binary installed by our app, update directly logger.info(f"Updating yt-dlp binary at {yt_dlp_path}") @@ -468,9 +498,9 @@ def update_yt_dlp() -> bool: # Get current version try: - current_version = pkg_resources.get_distribution("yt-dlp").version + current_version = get_version("yt-dlp") logger.info(f"Current yt-dlp version: {current_version}") - except pkg_resources.DistributionNotFound: + except PackageNotFoundError: logger.info("yt-dlp not installed via pip, attempting update anyway") current_version = "0.0.0" # Assume very old version to force update diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py index 3036da0..0638e2b 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py @@ -19,6 +19,21 @@ from src.core.ytsage_utils import get_ytdlp_version, load_config, save_config from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import OS_NAME, SUBPROCESS_CREATIONFLAGS, YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL +try: + from importlib.metadata import version as importlib_version + from importlib.metadata import PackageNotFoundError as ImportlibPackageNotFoundError + + def get_version(package_name: str) -> str: + return importlib_version(package_name) + + PackageNotFoundError = ImportlibPackageNotFoundError +except ImportError: + # Fallback for older Python versions + import pkg_resources + def get_version(package_name: str) -> str: + return pkg_resources.get_distribution(package_name).version + PackageNotFoundError = pkg_resources.DistributionNotFound + try: import yt_dlp @@ -117,7 +132,21 @@ class UpdateThread(QThread): self.update_progress.emit(20) # Extra logic moved to src\utils\ytsage_constants.py - is_app_managed = yt_dlp_path.samefile(YTDLP_APP_BIN_PATH) + # Check if this is an app-managed binary by comparing paths safely + is_app_managed = False + try: + # Only compare if both files exist + if yt_dlp_path.exists() and YTDLP_APP_BIN_PATH.exists(): + is_app_managed = yt_dlp_path.samefile(YTDLP_APP_BIN_PATH) + elif str(yt_dlp_path) == str(YTDLP_APP_BIN_PATH): + # If paths are identical as strings, consider it app-managed + is_app_managed = True + else: + # If app binary doesn't exist, this is definitely not app-managed + is_app_managed = False + except (OSError, IOError) as e: + logger.debug(f"Error comparing paths: {e}") + is_app_managed = False if is_app_managed: self.update_status.emit("📦 Updating app-managed yt-dlp binary...") @@ -185,16 +214,14 @@ class UpdateThread(QThread): def _update_via_pip(self) -> bool: """Update yt-dlp via pip.""" try: - import pkg_resources - self.update_status.emit("🔍 Checking current pip installation...") self.update_progress.emit(30) # Get current version try: - current_version = pkg_resources.get_distribution("yt-dlp").version + current_version = get_version("yt-dlp") self.update_status.emit(f"📋 Current version: {current_version}") - except pkg_resources.DistributionNotFound: + except PackageNotFoundError: self.update_status.emit("⚠️ yt-dlp not found via pip, attempting installation...") current_version = "0.0.0" @@ -544,7 +571,21 @@ class AutoUpdateThread(QThread): # Extra logic moved to src\utils\ytsage_constants.py - is_app_managed = yt_dlp_path.samefile(YTDLP_APP_BIN_PATH) + # Check if this is an app-managed binary by comparing paths safely + is_app_managed = False + try: + # Only compare if both files exist + if yt_dlp_path.exists() and YTDLP_APP_BIN_PATH.exists(): + is_app_managed = yt_dlp_path.samefile(YTDLP_APP_BIN_PATH) + elif str(yt_dlp_path) == str(YTDLP_APP_BIN_PATH): + # If paths are identical as strings, consider it app-managed + is_app_managed = True + else: + # If app binary doesn't exist, this is definitely not app-managed + is_app_managed = False + except (OSError, IOError) as e: + logger.debug(f"AutoUpdateThread: Error comparing paths: {e}") + is_app_managed = False if is_app_managed: logger.info("AutoUpdateThread: Updating app-managed yt-dlp binary...") @@ -594,15 +635,13 @@ class AutoUpdateThread(QThread): def _update_via_pip(self) -> bool: """Update yt-dlp via pip (silent version).""" try: - import pkg_resources - logger.info("AutoUpdateThread: Checking current pip installation...") # Get current version try: - current_version = pkg_resources.get_distribution("yt-dlp").version + current_version = get_version("yt-dlp") logger.info(f"AutoUpdateThread: Current version: {current_version}") - except pkg_resources.DistributionNotFound: + except PackageNotFoundError: logger.warning("AutoUpdateThread: yt-dlp not found via pip, attempting installation...") current_version = "0.0.0" From 8198f7604f993ffb520c9a6d147ae5517dc48147 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 4 Sep 2025 17:44:46 +0300 Subject: [PATCH 183/568] Fix path handling and subtitle file tracking in downloader Corrects usage of Path.joinpath to use instance method, improving output template path construction. Enhances subtitle file detection and cleanup logic to handle malformed Windows paths and ensures subtitle file paths are properly resolved and tracked for later deletion. --- src/core/ytsage_downloader.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index bc95abe..6e09797 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -1,3 +1,4 @@ +import os import re import shlex # For safely parsing command arguments import subprocess # For direct CLI command execution @@ -141,7 +142,7 @@ class DownloadThread(QThread): "skip_download": True, "no_warnings": True, # <-- Suppress warnings during check "ignoreerrors": True, # Also ignore other potential errors during this check - "outtmpl": {"default": Path.joinpath(self.path, "%(title)s.%(ext)s")}, + "outtmpl": {"default": self.path.joinpath("%(title)s.%(ext)s")}, "format": (self.format_id if self.format_id else "best"), # Use selected format or best } if self.cookie_file: @@ -262,7 +263,7 @@ class DownloadThread(QThread): cmd.extend(["-S", f"res:{res_value}"]) # Output template with resolution in filename - output_template = Path.joinpath(self.path, "%(title)s_%(resolution)s.%(ext)s") + output_template = self.path.joinpath("%(title)s_%(resolution)s.%(ext)s") # Handle playlist directory creation if needed if self.is_playlist: @@ -526,21 +527,32 @@ class DownloadThread(QThread): # Detect subtitle file creation # Look for lines like "[info] Writing video subtitles to: filename.xx.vtt" subtitle_match = re.search( - r"(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.*\.(?:vtt|srt))", + r"(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.+\.(?:vtt|srt))(?:\s|$)", line, re.IGNORECASE, ) if subtitle_match: subtitle_file = subtitle_match.group(1).strip() + + # Clean up the path - remove any duplicated directory paths + # Sometimes yt-dlp output contains malformed paths like "dir: dir/file" + if ":" in subtitle_file and os.name == 'nt': # Windows paths + # Look for pattern like "C:\path: C:\path\file" and extract the latter + colon_parts = subtitle_file.split(": ") + if len(colon_parts) > 1: + # Take the last part which should be the actual file path + subtitle_file = colon_parts[-1].strip() + # Show subtitle download message self.status_signal.emit(f"⏬ Downloading subtitle...") # Store the subtitle file path for later deletion if merging is enabled if self.merge_subs: - if not Path(subtitle_file).is_absolute(): + subtitle_path = Path(subtitle_file) + if not subtitle_path.is_absolute(): # If it's a relative path, make it absolute based on current path - subtitle_file = Path.joinpath(self.path, subtitle_file) - self.subtitle_files.append(subtitle_file) - logger.debug(f"Tracking subtitle file for later cleanup: {subtitle_file}") + subtitle_path = self.path.joinpath(subtitle_file) + self.subtitle_files.append(str(subtitle_path)) + logger.debug(f"Tracking subtitle file for later cleanup: {subtitle_path}") return # Send status updates based on output line content From afcab75b200ee01f17d4c1d5192f6fc58caa6ce7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 4 Sep 2025 17:48:36 +0300 Subject: [PATCH 184/568] Revert "Fix path handling and subtitle file tracking in downloader" This reverts commit 8198f7604f993ffb520c9a6d147ae5517dc48147. --- src/core/ytsage_downloader.py | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index 6e09797..bc95abe 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -1,4 +1,3 @@ -import os import re import shlex # For safely parsing command arguments import subprocess # For direct CLI command execution @@ -142,7 +141,7 @@ class DownloadThread(QThread): "skip_download": True, "no_warnings": True, # <-- Suppress warnings during check "ignoreerrors": True, # Also ignore other potential errors during this check - "outtmpl": {"default": self.path.joinpath("%(title)s.%(ext)s")}, + "outtmpl": {"default": Path.joinpath(self.path, "%(title)s.%(ext)s")}, "format": (self.format_id if self.format_id else "best"), # Use selected format or best } if self.cookie_file: @@ -263,7 +262,7 @@ class DownloadThread(QThread): cmd.extend(["-S", f"res:{res_value}"]) # Output template with resolution in filename - output_template = self.path.joinpath("%(title)s_%(resolution)s.%(ext)s") + output_template = Path.joinpath(self.path, "%(title)s_%(resolution)s.%(ext)s") # Handle playlist directory creation if needed if self.is_playlist: @@ -527,32 +526,21 @@ class DownloadThread(QThread): # Detect subtitle file creation # Look for lines like "[info] Writing video subtitles to: filename.xx.vtt" subtitle_match = re.search( - r"(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.+\.(?:vtt|srt))(?:\s|$)", + r"(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.*\.(?:vtt|srt))", line, re.IGNORECASE, ) if subtitle_match: subtitle_file = subtitle_match.group(1).strip() - - # Clean up the path - remove any duplicated directory paths - # Sometimes yt-dlp output contains malformed paths like "dir: dir/file" - if ":" in subtitle_file and os.name == 'nt': # Windows paths - # Look for pattern like "C:\path: C:\path\file" and extract the latter - colon_parts = subtitle_file.split(": ") - if len(colon_parts) > 1: - # Take the last part which should be the actual file path - subtitle_file = colon_parts[-1].strip() - # Show subtitle download message self.status_signal.emit(f"⏬ Downloading subtitle...") # Store the subtitle file path for later deletion if merging is enabled if self.merge_subs: - subtitle_path = Path(subtitle_file) - if not subtitle_path.is_absolute(): + if not Path(subtitle_file).is_absolute(): # If it's a relative path, make it absolute based on current path - subtitle_path = self.path.joinpath(subtitle_file) - self.subtitle_files.append(str(subtitle_path)) - logger.debug(f"Tracking subtitle file for later cleanup: {subtitle_path}") + subtitle_file = Path.joinpath(self.path, subtitle_file) + self.subtitle_files.append(subtitle_file) + logger.debug(f"Tracking subtitle file for later cleanup: {subtitle_file}") return # Send status updates based on output line content From 9e89228c6d3d55d0d739b3b208b04070539a02d9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 4 Sep 2025 17:50:03 +0300 Subject: [PATCH 185/568] Reapply "Fix path handling and subtitle file tracking in downloader" This reverts commit afcab75b200ee01f17d4c1d5192f6fc58caa6ce7. --- src/core/ytsage_downloader.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index bc95abe..6e09797 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -1,3 +1,4 @@ +import os import re import shlex # For safely parsing command arguments import subprocess # For direct CLI command execution @@ -141,7 +142,7 @@ class DownloadThread(QThread): "skip_download": True, "no_warnings": True, # <-- Suppress warnings during check "ignoreerrors": True, # Also ignore other potential errors during this check - "outtmpl": {"default": Path.joinpath(self.path, "%(title)s.%(ext)s")}, + "outtmpl": {"default": self.path.joinpath("%(title)s.%(ext)s")}, "format": (self.format_id if self.format_id else "best"), # Use selected format or best } if self.cookie_file: @@ -262,7 +263,7 @@ class DownloadThread(QThread): cmd.extend(["-S", f"res:{res_value}"]) # Output template with resolution in filename - output_template = Path.joinpath(self.path, "%(title)s_%(resolution)s.%(ext)s") + output_template = self.path.joinpath("%(title)s_%(resolution)s.%(ext)s") # Handle playlist directory creation if needed if self.is_playlist: @@ -526,21 +527,32 @@ class DownloadThread(QThread): # Detect subtitle file creation # Look for lines like "[info] Writing video subtitles to: filename.xx.vtt" subtitle_match = re.search( - r"(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.*\.(?:vtt|srt))", + r"(?:Writing|Downloading) (?:video )?subtitles.*?(?:to|:)\s*(.+\.(?:vtt|srt))(?:\s|$)", line, re.IGNORECASE, ) if subtitle_match: subtitle_file = subtitle_match.group(1).strip() + + # Clean up the path - remove any duplicated directory paths + # Sometimes yt-dlp output contains malformed paths like "dir: dir/file" + if ":" in subtitle_file and os.name == 'nt': # Windows paths + # Look for pattern like "C:\path: C:\path\file" and extract the latter + colon_parts = subtitle_file.split(": ") + if len(colon_parts) > 1: + # Take the last part which should be the actual file path + subtitle_file = colon_parts[-1].strip() + # Show subtitle download message self.status_signal.emit(f"⏬ Downloading subtitle...") # Store the subtitle file path for later deletion if merging is enabled if self.merge_subs: - if not Path(subtitle_file).is_absolute(): + subtitle_path = Path(subtitle_file) + if not subtitle_path.is_absolute(): # If it's a relative path, make it absolute based on current path - subtitle_file = Path.joinpath(self.path, subtitle_file) - self.subtitle_files.append(subtitle_file) - logger.debug(f"Tracking subtitle file for later cleanup: {subtitle_file}") + subtitle_path = self.path.joinpath(subtitle_file) + self.subtitle_files.append(str(subtitle_path)) + logger.debug(f"Tracking subtitle file for later cleanup: {subtitle_path}") return # Send status updates based on output line content From b063b4f01e7f88a8c22be60006e7790517fe5167 Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Fri, 5 Sep 2025 15:01:13 +0300 Subject: [PATCH 186/568] Format project name and update Python version badge --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 87db5fe..3058216 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@
-# 🎥 YTSage +# **YTSage** YTSage Interface [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) -[![Python 3.7+](https://img.shields.io/badge/python-3.7+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![Python 3.9+](https://img.shields.io/badge/python-3.9+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) [![Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=downloads&logo=download&logoColor=white)](https://pepy.tech/project/ytsage) [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) From 770acc2d16fcf26eef3e48bfa5c7787c335034ba Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 6 Sep 2025 16:27:06 +0300 Subject: [PATCH 187/568] Update README with SVG wordmark and badge formats Replaced the YTSage title in README with an SVG wordmark and updated release format tables to use shield badges for Windows, Linux, and macOS. Added the ytsage-wordmark.svg asset and documented its location in the project structure. --- README.md | 27 +++++++++++++------------ assets/branding/svg/ytsage-wordmark.svg | 17 ++++++++++++++++ 2 files changed, 31 insertions(+), 13 deletions(-) create mode 100644 assets/branding/svg/ytsage-wordmark.svg diff --git a/README.md b/README.md index 3058216..ccebfc9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@
-# **YTSage** - +ytsage-wordmark YTSage Interface [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://badge.fury.io/py/ytsage) @@ -75,27 +74,27 @@ ytsage | Format | Description | |--------|-------------| -| `YTSage-v.exe` | Standard installer | -| `YTSage-v-ffmpeg.exe` | With FFmpeg bundled | -| `YTSage-v-portable` | Portable version, no installation required | -| `YTSage-v-ffmpeg-portable.zip` | Portable with FFmpeg, zipped | +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standard installer | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | With FFmpeg bundled | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable version, no installation required | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable with FFmpeg, zipped | #### 🐧 Linux | Format | Description | |--------|-------------| -| `YTSage-v-amd64.deb` | Debian package | -| `YTSage-v-x86_64.AppImage` | AppImage, portable | -| `YTSage-v-x86_64.rpm` | RPM package | +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian package | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portable | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM package | #### 🍎 macOS | Format | Description | |--------|-------------| -| `YTSage-v-arm64.app.zip` | Zipped application for ARM64 | -| `YTSage-v-arm64.dmg` | Disk image installer for ARM64 | -| `YTSage-v-x64.app.zip` | Zipped application for x64 | -| `YTSage-v-x64.dmg` | Disk image installer for x64 | +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Zipped application for ARM64 | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk image installer for ARM64 | +| ![macOS x64 APP](https://img.shields.io/badge/macOS-x64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Zipped application for x64 | +| ![macOS x64 DMG](https://img.shields.io/badge/macOS-x64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk image installer for x64 | > [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) @@ -325,6 +324,8 @@ YTSage/ │ │ ├── main.png │ │ ├── playlist.png │ │ └── subtitle_options.png +│ │ └── 📁 svg/ # SVG assets +│ │ └── ytsage-wordmark.svg │ ├── 📁 Icon/ # Legacy icon directory │ │ └── icon.png │ └── 📁 sound/ # Audio files diff --git a/assets/branding/svg/ytsage-wordmark.svg b/assets/branding/svg/ytsage-wordmark.svg new file mode 100644 index 0000000..3977c76 --- /dev/null +++ b/assets/branding/svg/ytsage-wordmark.svg @@ -0,0 +1,17 @@ + + YTSage Logo + + + + + + + + + + YTSage + From 725b395bcd5365d48f2bc85b8aa7542966c1b44a Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 8 Sep 2025 17:34:25 +0300 Subject: [PATCH 188/568] Update About dialog description text Revised the AboutDialog description to better reflect the application's modern features and PySide6 interface. --- src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index 97994db..c45e39c 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -161,7 +161,7 @@ class AboutDialog(QDialog): layout.addWidget(version_label) # Description - more compact - description_label = QLabel("A simple GUI frontend for the powerful yt-dlp video downloader.") + description_label = QLabel("Modern YouTube downloader with a clean PySide6 interface.") description_label.setWordWrap(True) description_label.setAlignment(Qt.AlignmentFlag.AlignCenter) description_label.setStyleSheet("color: #ffffff; font-size: 11px; margin: 6px 0;") From 3f1d697568d5eab11df9df246d371e945c52af7d Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 11:24:21 +0300 Subject: [PATCH 189/568] Add dynamic asset path resolution for YTSage Introduced get_asset_path to resolve asset paths for both development and installed package environments. Updated ICON_PATH and SOUND_PATH to use this function, improving portability and reliability of asset loading. --- src/utils/ytsage_constants.py | 39 +++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/src/utils/ytsage_constants.py b/src/utils/ytsage_constants.py index 474b7ea..62a0d7e 100644 --- a/src/utils/ytsage_constants.py +++ b/src/utils/ytsage_constants.py @@ -16,11 +16,46 @@ YTSage application constants. import os import platform import subprocess +import sys from pathlib import Path +# Handle resource paths for both development and installed package +def get_asset_path(asset_relative_path: str) -> Path: + """ + Get the absolute path to an asset file, works both in development and installed package. + + Args: + asset_relative_path: Relative path to the asset (e.g., "assets/Icon/icon.png") + + Returns: + Path: Absolute path to the asset file + """ + try: + # Use importlib.resources (standard in Python 3.9+) + import importlib.resources as resources + try: + # Navigate to the package root and then to the asset + package_path = resources.files('ytsage') + asset_path = package_path / asset_relative_path + if asset_path.is_file(): + return Path(str(asset_path)) + except (ImportError, AttributeError, FileNotFoundError): + pass + + except Exception: + pass + + # Fallback to relative path (for development environment) + current_file = Path(__file__) + # Go up from src/utils to ytsage root, then to asset + ytsage_root = current_file.parent.parent.parent + asset_path = ytsage_root / asset_relative_path + + return asset_path + # Assets Constants -ICON_PATH: Path = Path("assets/Icon/icon.png") -SOUND_PATH: Path = Path("assets/sound/notification.mp3") +ICON_PATH: Path = get_asset_path("assets/Icon/icon.png") +SOUND_PATH: Path = get_asset_path("assets/sound/notification.mp3") OS_NAME: str = platform.system() # Windows ; Darwin ; Linux From c140acef5aedd85fecaf967d28235af5c547a590 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 11:50:21 +0300 Subject: [PATCH 190/568] Fix output template path handling in downloader Replaces Path.joinpath with string concatenation using as_posix() for output templates to avoid issues with Path objects. Ensures correct file paths for both single downloads and playlists. --- src/core/ytsage_downloader.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index 6e09797..42369a6 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -142,7 +142,7 @@ class DownloadThread(QThread): "skip_download": True, "no_warnings": True, # <-- Suppress warnings during check "ignoreerrors": True, # Also ignore other potential errors during this check - "outtmpl": {"default": self.path.joinpath("%(title)s.%(ext)s")}, + "outtmpl": {"default": f"{self.path.as_posix()}/%(title)s.%(ext)s"}, "format": (self.format_id if self.format_id else "best"), # Use selected format or best } if self.cookie_file: @@ -263,14 +263,16 @@ class DownloadThread(QThread): cmd.extend(["-S", f"res:{res_value}"]) # Output template with resolution in filename - output_template = self.path.joinpath("%(title)s_%(resolution)s.%(ext)s") - - # Handle playlist directory creation if needed + # Use string concatenation instead of Path.joinpath to avoid Path object issues + base_path = self.path.as_posix() + if self.is_playlist: # Create output template with playlist subfolder - output_template = self.path.joinpath("%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s") + output_template = f"{base_path}/%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s" + else: + output_template = f"{base_path}/%(title)s_%(resolution)s.%(ext)s" - cmd.extend(["-o", output_template.as_posix()]) + cmd.extend(["-o", output_template]) # Add common options cmd.append("--force-overwrites") From f0232d535dac6fd7b48e41b3e743c37646c6e825 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 12:52:14 +0300 Subject: [PATCH 191/568] Bump version to 4.8.1 Update version references from 4.8.0b to 4.8.1 in __init__.py, main app, and About dialog to reflect the new release. --- src/__init__.py | 2 +- src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 2 +- src/gui/ytsage_gui_main.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/__init__.py b/src/__init__.py index d9e962d..ef11444 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.8.0b" +__version__ = "4.8.1" __author__ = "oop7" diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index c45e39c..8e39503 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -155,7 +155,7 @@ class AboutDialog(QDialog): layout.addWidget(title_label) version_label = QLabel( - f"Version {getattr(self._parent, 'version', '4.8.0b')}" + f"Version {getattr(self._parent, 'version', '4.8.1')}" ) version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(version_label) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index b0da1ed..c80febb 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -86,7 +86,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from else: self.logger.info(f"Using yt-dlp from: {ytdlp_path}") - self.version = "4.8.0b" + self.version = "4.8.1" self.check_for_updates() # Check for auto-updates if enabled From e287b0b6b5b8cb5246177ea2fd3eb2c3c0905bd1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 13:37:21 +0300 Subject: [PATCH 192/568] Update asset paths in build workflows Changed asset inclusion and screenshot removal paths from 'assets' to 'lib/assets' in Linux, macOS, and Windows build workflows to reflect new directory structure and ensure screenshots are excluded from packaged builds. --- .github/workflows/build-linux.yml | 6 +++--- .github/workflows/build-macos.yml | 10 +++++----- .github/workflows/build-windows.yml | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index fdc4d8a..f7416a4 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -122,7 +122,7 @@ jobs: ], include_files=[ ("src", "src"), - ("assets", "assets"), + ("assets", "lib/assets"), ("ytsage.desktop", "share/applications/ytsage.desktop"), ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), ], @@ -185,8 +185,8 @@ jobs: # Remove screenshots to reduce size before packaging build_dir=$(ls -d build/exe.* 2>/dev/null | head -n1 || true) - if [ -n "$build_dir" ] && [ -d "$build_dir/assets/branding/screenshots" ]; then - rm -rf "$build_dir/assets/branding/screenshots" + if [ -n "$build_dir" ] && [ -d "$build_dir/lib/assets/branding/screenshots" ]; then + rm -rf "$build_dir/lib/assets/branding/screenshots" echo "Removed screenshots folder from $build_dir" fi diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index abb9881..52a95c4 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -123,7 +123,7 @@ jobs: ], include_files=[ ("src", "src"), - ("assets", "assets"), + ("assets", "lib/assets"), ], ) @@ -171,8 +171,8 @@ jobs: if [ -z "$app_path" ]; then app_path=$(ls -d dist/*.app build/dist/*.app build/*.app 2>/dev/null | head -n1 || true) fi - if [ -n "$app_path" ] && [ -d "$app_path/Contents/Resources/assets/branding/screenshots" ]; then - rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" + if [ -n "$app_path" ] && [ -d "$app_path/Contents/Resources/lib/assets/branding/screenshots" ]; then + rm -rf "$app_path/Contents/Resources/lib/assets/branding/screenshots" echo "Removed screenshots folder from .app bundle at $app_path" fi echo "Post-bdist_mac directory listing:" @@ -207,8 +207,8 @@ jobs: app_base="$(basename "$app_path")" app_parent="$(dirname "$app_path")" # Ensure screenshots folder is not shipped - if [ -d "$app_path/Contents/Resources/assets/branding/screenshots" ]; then - rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" + if [ -d "$app_path/Contents/Resources/lib/assets/branding/screenshots" ]; then + rm -rf "$app_path/Contents/Resources/lib/assets/branding/screenshots" echo "Removed screenshots folder from .app bundle at $app_path" fi (cd "$app_parent" && zip -r "${GITHUB_WORKSPACE}/artifacts/YTSage-v${version}-${ARCH_SUFFIX}.app.zip" "$app_base") diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 64df03a..851d0cc 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -84,11 +84,11 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - --include-files "assets" + --include-files "assets,lib/assets" # Remove screenshots folder to reduce build size - if (Test-Path "dist\YTSage\assets\branding\screenshots") { - Remove-Item "dist\YTSage\assets\branding\screenshots" -Recurse -Force + if (Test-Path "dist\YTSage\lib\assets\branding\screenshots") { + Remove-Item "dist\YTSage\lib\assets\branding\screenshots" -Recurse -Force Write-Host "Removed screenshots folder from standard build" } @@ -163,11 +163,11 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - --include-files "assets" + --include-files "assets,lib/assets" # Remove screenshots folder to reduce build size - if (Test-Path "dist\YTSage-FFmpeg\assets\branding\screenshots") { - Remove-Item "dist\YTSage-FFmpeg\assets\branding\screenshots" -Recurse -Force + if (Test-Path "dist\YTSage-FFmpeg\lib\assets\branding\screenshots") { + Remove-Item "dist\YTSage-FFmpeg\lib\assets\branding\screenshots" -Recurse -Force Write-Host "Removed screenshots folder from FFmpeg build" } From d105f87177fada6edff6f4941a6860846cbeffcf Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 13:38:32 +0300 Subject: [PATCH 193/568] Bump version to 4.8.2 Update version references from 4.8.1 to 4.8.2 in source files and documentation to prepare for a new patch release. --- .github/CI_CD_README.md | 4 ++-- src/__init__.py | 2 +- src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 2 +- src/gui/ytsage_gui_main.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 0373f80..57822da 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -130,8 +130,8 @@ git tag v4.8.0 git push origin v4.8.0 # For a patch release -git tag v4.8.1 -git push origin v4.8.1 +git tag v4.8.2 +git push origin v4.8.2 # To delete a tag (if needed) git tag -d v4.8.0 diff --git a/src/__init__.py b/src/__init__.py index ef11444..16ff72f 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.8.1" +__version__ = "4.8.2" __author__ = "oop7" diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index 8e39503..b66880e 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -155,7 +155,7 @@ class AboutDialog(QDialog): layout.addWidget(title_label) version_label = QLabel( - f"Version {getattr(self._parent, 'version', '4.8.1')}" + f"Version {getattr(self._parent, 'version', '4.8.2')}" ) version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(version_label) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index c80febb..76794fd 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -86,7 +86,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from else: self.logger.info(f"Using yt-dlp from: {ytdlp_path}") - self.version = "4.8.1" + self.version = "4.8.2" self.check_for_updates() # Check for auto-updates if enabled From 1693b8fbed5b8765e2b00819cf2e69a32c7a6c32 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 13:54:08 +0300 Subject: [PATCH 194/568] Fix asset include path in Windows build workflow Corrects the syntax for including asset files in the build-windows.yml workflow by changing 'assets,lib/assets' to 'assets=lib/assets'. This ensures assets are properly mapped during the build process. --- .github/workflows/build-windows.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 851d0cc..1197ae6 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -84,7 +84,7 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - --include-files "assets,lib/assets" + --include-files "assets=lib/assets" # Remove screenshots folder to reduce build size if (Test-Path "dist\YTSage\lib\assets\branding\screenshots") { @@ -163,7 +163,7 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - --include-files "assets,lib/assets" + --include-files "assets=lib/assets" # Remove screenshots folder to reduce build size if (Test-Path "dist\YTSage-FFmpeg\lib\assets\branding\screenshots") { From 1ba920aa11ea02e3c3e693067b37da8a6ac1974c Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 14:07:36 +0300 Subject: [PATCH 195/568] Update release tag examples in CI/CD README Changed the example git tag commands from v4.8.0 and v4.8.2 to v4.8.1 for consistency in the CI/CD documentation. --- .github/CI_CD_README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 57822da..cfcea69 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -126,14 +126,14 @@ To add new platform packages: ```bash # For a new release -git tag v4.8.0 -git push origin v4.8.0 +git tag v4.8.1 +git push origin v4.8.1 # For a patch release -git tag v4.8.2 -git push origin v4.8.2 +git tag v4.8.1 +git push origin v4.8.1 # To delete a tag (if needed) -git tag -d v4.8.0 -git push origin :refs/tags/v4.8.0 +git tag -d v4.8.1 +git push origin :refs/tags/v4.8.1 ``` From fe01f725d5247e727712b2ed68e21f29e7b78940 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 14:15:55 +0300 Subject: [PATCH 196/568] Fix include-files mapping in Windows build workflow Changed the cx_Freeze --include-files argument from '=' to ':' for source:destination mapping in build-windows.yml. This resolves an issue where '=' was treated as a literal path, ensuring assets are correctly copied to the destination directory. --- .github/workflows/build-windows.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 1197ae6..695da18 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -84,7 +84,8 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - --include-files "assets=lib/assets" + # Use colon for source:destination mapping ( '=' is treated as literal path by cx_Freeze CLI ) + --include-files "assets:lib/assets" # Remove screenshots folder to reduce build size if (Test-Path "dist\YTSage\lib\assets\branding\screenshots") { @@ -163,7 +164,8 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - --include-files "assets=lib/assets" + # Use colon for source:destination mapping + --include-files "assets:lib/assets" # Remove screenshots folder to reduce build size if (Test-Path "dist\YTSage-FFmpeg\lib\assets\branding\screenshots") { From 4434eafe48bb34e7886eadac8850d00d6c8941d7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 14:20:13 +0300 Subject: [PATCH 197/568] Remove redundant comments in build-windows workflow Deleted comments explaining the colon usage for source:destination mapping in the cx_Freeze CLI, as the mapping is already clear from the context. --- .github/workflows/build-windows.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 695da18..3347973 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -84,7 +84,6 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - # Use colon for source:destination mapping ( '=' is treated as literal path by cx_Freeze CLI ) --include-files "assets:lib/assets" # Remove screenshots folder to reduce build size @@ -164,7 +163,6 @@ jobs: --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` --include-files "src" ` - # Use colon for source:destination mapping --include-files "assets:lib/assets" # Remove screenshots folder to reduce build size From 2f0b4b933493955bb922934f9348eb8db89c0312 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 14:35:45 +0300 Subject: [PATCH 198/568] Refactor Windows build to use cx_Freeze setup script Replaces direct cx_Freeze CLI calls with dynamically generated setup scripts for both standard and FFmpeg builds. This improves maintainability and flexibility of build configuration in the GitHub Actions workflow. --- .github/workflows/build-windows.yml | 102 ++++++++++++++++++++++------ 1 file changed, 80 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 3347973..057648a 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -62,6 +62,79 @@ jobs: echo "VERSION=$version" >> $env:GITHUB_ENV Write-Host "Prepared build variables for version: $version" + - name: Create cx_Freeze setup script + shell: powershell + run: | + # Create setup script for cx_Freeze + New-Item -Path "setup_cxfreeze.py" -ItemType File -Force + Add-Content -Path "setup_cxfreeze.py" -Value "import os" + Add-Content -Path "setup_cxfreeze.py" -Value "from cx_Freeze import setup, Executable" + Add-Content -Path "setup_cxfreeze.py" -Value "" + Add-Content -Path "setup_cxfreeze.py" -Value 'version = os.environ.get("VERSION", "0.0.0")' + Add-Content -Path "setup_cxfreeze.py" -Value "" + Add-Content -Path "setup_cxfreeze.py" -Value "build_exe_options = dict(" + Add-Content -Path "setup_cxfreeze.py" -Value " optimize=2," + Add-Content -Path "setup_cxfreeze.py" -Value " packages=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtCore",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtGui",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWidgets",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "requests",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "packaging",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "markdown",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "pyglet",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "loguru",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "setuptools",' + Add-Content -Path "setup_cxfreeze.py" -Value " ]," + Add-Content -Path "setup_cxfreeze.py" -Value " excludes=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtBluetooth",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtNetwork",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtOpenGL",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtPrintSupport",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSvg",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtTest",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtXml",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSql",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtHelp",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQml",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQuick",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWebEngineCore",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL.ImageDraw",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL.ImageFont",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "numpy",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "scipy",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "wx",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "pandas",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "tkinter",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "yt_dlp",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "unittest",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "test",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "tests",' + Add-Content -Path "setup_cxfreeze.py" -Value " ]," + Add-Content -Path "setup_cxfreeze.py" -Value " include_files=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' ("src", "src"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets", "lib/assets"),' + Add-Content -Path "setup_cxfreeze.py" -Value " ]," + Add-Content -Path "setup_cxfreeze.py" -Value ")" + Add-Content -Path "setup_cxfreeze.py" -Value "" + Add-Content -Path "setup_cxfreeze.py" -Value "executables = [" + Add-Content -Path "setup_cxfreeze.py" -Value " Executable(" + Add-Content -Path "setup_cxfreeze.py" -Value ' script="main.py",' + Add-Content -Path "setup_cxfreeze.py" -Value ' target_name=f"YTSage-v{version}.exe",' + Add-Content -Path "setup_cxfreeze.py" -Value ' base="Win32GUI",' + Add-Content -Path "setup_cxfreeze.py" -Value ' icon="assets/branding/icons/YTSage.ico",' + Add-Content -Path "setup_cxfreeze.py" -Value " )" + Add-Content -Path "setup_cxfreeze.py" -Value "]" + Add-Content -Path "setup_cxfreeze.py" -Value "" + Add-Content -Path "setup_cxfreeze.py" -Value "setup(" + Add-Content -Path "setup_cxfreeze.py" -Value ' name="YTSage",' + Add-Content -Path "setup_cxfreeze.py" -Value " version=version," + Add-Content -Path "setup_cxfreeze.py" -Value ' description="YTSage",' + Add-Content -Path "setup_cxfreeze.py" -Value ' options={"build_exe": build_exe_options},' + Add-Content -Path "setup_cxfreeze.py" -Value " executables=executables," + Add-Content -Path "setup_cxfreeze.py" -Value ")" + - name: Build Standard Version (ZIP) shell: powershell run: | @@ -74,17 +147,8 @@ jobs: if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } - # Build executable using cx_Freeze CLI (use python -m to ensure proper base handling) - python -m cx_Freeze main.py ` - --target-dir "dist\YTSage" ` - --base-name Win32GUI ` - --icon "assets\branding\icons\YTSage.ico" ` - --target-name "YTSage-v$version.exe" ` - --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` - --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src" ` - --include-files "assets:lib/assets" + # Build executable using setup script + python setup_cxfreeze.py build_exe --build-exe "dist\YTSage" # Remove screenshots folder to reduce build size if (Test-Path "dist\YTSage\lib\assets\branding\screenshots") { @@ -153,17 +217,11 @@ jobs: if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } - # Build executable with FFmpeg using cx_Freeze CLI (use python -m to ensure proper base handling) - python -m cx_Freeze main.py ` - --target-dir "dist\YTSage-FFmpeg" ` - --base-name Win32GUI ` - --icon "assets\branding\icons\YTSage.ico" ` - --target-name "YTSage-v$version-ffmpeg.exe" ` - --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` - --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src" ` - --include-files "assets:lib/assets" + # Create modified setup script for FFmpeg version + (Get-Content "setup_cxfreeze.py") -replace 'YTSage-v\{version\}\.exe', 'YTSage-v{version}-ffmpeg.exe' | Set-Content "setup_cxfreeze_ffmpeg.py" + + # Build executable with FFmpeg using setup script + python setup_cxfreeze_ffmpeg.py build_exe --build-exe "dist\YTSage-FFmpeg" # Remove screenshots folder to reduce build size if (Test-Path "dist\YTSage-FFmpeg\lib\assets\branding\screenshots") { From 79d8d224df1774d6b220221f9fec230d90f60c45 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 9 Sep 2025 14:55:49 +0300 Subject: [PATCH 199/568] Bump version to 4.8.3 Updated version references from 4.8.2 to 4.8.3 in __init__.py, main app, and About dialog to reflect the new release. --- src/__init__.py | 2 +- src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 2 +- src/gui/ytsage_gui_main.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/__init__.py b/src/__init__.py index 16ff72f..dc97c83 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.8.2" +__version__ = "4.8.3" __author__ = "oop7" diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index b66880e..b30074e 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -155,7 +155,7 @@ class AboutDialog(QDialog): layout.addWidget(title_label) version_label = QLabel( - f"Version {getattr(self._parent, 'version', '4.8.2')}" + f"Version {getattr(self._parent, 'version', '4.8.3')}" ) version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(version_label) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 76794fd..3399ee0 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -86,7 +86,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from else: self.logger.info(f"Using yt-dlp from: {ytdlp_path}") - self.version = "4.8.2" + self.version = "4.8.3" self.check_for_updates() # Check for auto-updates if enabled From e9de913b4728f411140a5a5672442484f2b19229 Mon Sep 17 00:00:00 2001 From: Viren Hirpara <62017836+viru185@users.noreply.github.com> Date: Wed, 10 Sep 2025 01:31:19 +0530 Subject: [PATCH 200/568] v4.9.0 - Refactor (#41) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix imports remove unused imports use full import path sort import (1. Standard Library, 2. Third-Party, 3. Local) in alphabetic. * - remove: Method 3 from src.core.ytsage_downlader:cleanup_subtitle_file - it could delete the subtitle file of other movies if it present in same directory as it scane recursively. - refactor: migrate from os.path to pathlib.Path for path handling - Replaced os.path methods with pathlib.Path to improve readability, - avoid repeatation. - cross-platform compatibility, and maintain cleaner code. - improve: enhance code readability - Standardized string literals to use double quotes for consistency - Removed unnecessary spaces to maintain cleaner formatting - Applied code formatting for better readability and maintainability * - add: ytsage_constants.py file for one place to store all constants. - imporve: return type hint for function. - remove: src/gui/ytsage_gui_dialogs.py file to avoid repetation - src/gui/dialogs is renamed to src/gui/ytsage_gui_dialogs for same naming convection. (future import will remains same) - use of src/gui/ytsage_gui_dialogs/__init__.py to import the dilogs modules. - change: variable self.parent to self._parent so it does not overwrite the parent() - add type hint checking. * - refactor: QMetaObject.invokeMethod to Signal - I encounter error with incokeMethod. Could not solve it. - So, Changed it to Signal to match app code language. - implement: the ytsage_constants.py to code - remove: unnecessary logic - remove: repetitive code logic. - update: yt-dlp logic for src\gui\ytsage_gui_dialogs\ytsage_dialogs_update:_update_binary - yt-dlp update logic will use `yt-dlp -U` * refactor: remove unused imports and streamline code formatting across multiple files * - **refactor: drop `pygame` in favor of built-in `PySide6` sound** - Removed `pygame` dependency (too heavy just for notifications). - Replaced with `QSoundEffect`, which is lightweight and built into `PySide6`. - Dropped `pygame.mixer` + threading → Qt handles async playback. - Implemented sound playback with `QUrl.fromLocalFile()` and `.play()`. - Added `setVolume(0.9)` as a configurable example. - Converted notification sound from `.mp3` to `.wav` (only format supported). * **refactor(utils): simplify logger module** - Moved `logger` to `src.utils` - Removed unnecessary import checks (logger is always available) - Replaced `raise` statements with error logging to prevent crashes - Use `logger.exception()` in `except` blocks to capture traceback (logged as error) **style: remove redundant str() in f-strings** - Dropped explicit `str()` calls inside f-strings - f-strings already call `str()` under the hood **chore: add type hints for GUI mixins** - Added type hints for `FormatTableMixin` (`src.gui.ytsage_gui_format_table`) - Added type hints for `VideoInfoMixin` (`src.gui.ytsage_gui_video_info`) - Improves autocomplete and type safety in IDEs * - **introduce the `ytsage_config_manager.py` module to manage app setting.** - Loads settings from a JSON config file (`APP_CONFIG_FILE`). - Creates the config file with default values if missing or corrupt. - Retrieves, sets, and deletes settings using simple dot-separated keys. - Provides safe error handling with logging instead of raising exceptions. - Persists updates back to disk automatically. - **Usage** ```python from src.utils.ytsage_config_manager import ConfigManager download_path = ConfigManager.get("download_path") ConfigManager.set("download_path", "D:/Downloads") last_check = ConfigManager.get("cached_versions.ytdlp.last_check") ConfigManager.delete("cached_versions.ffmpeg.path") ``` * **Refactore: pkg_resources with importlib.metadata.version** - UserWarning: pkg_resources is deprecated as an API. - See https://setuptools.pypa.io/en/latest/pkg_resources.html. - The pkg_resources package is slated for removal as early as 2025-11-30. * **refactore: notification sound** - `QSoundEffect` is chnaged back to `pyglet` as per mainter `@oop7` choise. - simplify the logic. * remove: import check, it should always work. * **fix: runtime error** - yt_dlp moved from `--excludes` to `--packages` in `build-windows.yml` - In frozen build, logger will not log to consol. insted will log to file. - In frozen build, `app_dir` is next to `.exe` file. * chang back to checking import for ytdlp * Bump version to 4.8.1 Update version references from 4.8.0b to 4.8.1 in __init__.py, main app, and About dialog to reflect the new release. * Update asset paths in build workflows Changed asset inclusion and screenshot removal paths from 'assets' to 'lib/assets' in Linux, macOS, and Windows build workflows to reflect new directory structure and ensure screenshots are excluded from packaged builds. * Bump version to 4.8.2 Update version references from 4.8.1 to 4.8.2 in source files and documentation to prepare for a new patch release. * Fix asset include path in Windows build workflow Corrects the syntax for including asset files in the build-windows.yml workflow by changing 'assets,lib/assets' to 'assets=lib/assets'. This ensures assets are properly mapped during the build process. * Update release tag examples in CI/CD README Changed the example git tag commands from v4.8.0 and v4.8.2 to v4.8.1 for consistency in the CI/CD documentation. * Fix include-files mapping in Windows build workflow Changed the cx_Freeze --include-files argument from '=' to ':' for source:destination mapping in build-windows.yml. This resolves an issue where '=' was treated as a literal path, ensuring assets are correctly copied to the destination directory. * Remove redundant comments in build-windows workflow Deleted comments explaining the colon usage for source:destination mapping in the cx_Freeze CLI, as the mapping is already clear from the context. * Refactor Windows build to use cx_Freeze setup script Replaces direct cx_Freeze CLI calls with dynamically generated setup scripts for both standard and FFmpeg builds. This improves maintainability and flexibility of build configuration in the GitHub Actions workflow. * Bump version to 4.8.3 Updated version references from 4.8.2 to 4.8.3 in __init__.py, main app, and About dialog to reflect the new release. * revert(build): move yt_dlp from --packages to --excludes in build-windows.yml --------- Co-authored-by: Your Name --- .github/CI_CD_README.md | 8 +- .github/workflows/build-linux.yml | 6 +- .github/workflows/build-macos.yml | 10 +- .github/workflows/build-windows.yml | 110 +++++-- main.py | 7 +- src/__init__.py | 2 +- src/core/ytsage_downloader.py | 63 ++-- src/core/ytsage_ffmpeg.py | 36 +- src/core/ytsage_logging.py | 238 -------------- src/core/ytsage_utils.py | 216 ++++++------ src/core/ytsage_yt_dlp.py | 16 +- src/gui/ytsage_gui_dialogs/__init__.py | 13 +- .../ytsage_gui_dialogs/ytsage_dialogs_base.py | 8 +- .../ytsage_dialogs_custom.py | 67 ++-- .../ytsage_dialogs_ffmpeg.py | 2 +- .../ytsage_dialogs_settings.py | 30 +- .../ytsage_dialogs_update.py | 30 +- src/gui/ytsage_gui_format_table.py | 29 +- src/gui/ytsage_gui_main.py | 307 +++++++++--------- src/gui/ytsage_gui_video_info.py | 52 +-- src/utils/ytsage_config_manager.py | 202 ++++++++++++ src/utils/ytsage_constants.py | 31 +- src/utils/ytsage_logger.py | 56 ++++ 23 files changed, 825 insertions(+), 714 deletions(-) delete mode 100644 src/core/ytsage_logging.py create mode 100644 src/utils/ytsage_config_manager.py create mode 100644 src/utils/ytsage_logger.py diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 0373f80..cfcea69 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -126,14 +126,14 @@ To add new platform packages: ```bash # For a new release -git tag v4.8.0 -git push origin v4.8.0 +git tag v4.8.1 +git push origin v4.8.1 # For a patch release git tag v4.8.1 git push origin v4.8.1 # To delete a tag (if needed) -git tag -d v4.8.0 -git push origin :refs/tags/v4.8.0 +git tag -d v4.8.1 +git push origin :refs/tags/v4.8.1 ``` diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index fdc4d8a..f7416a4 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -122,7 +122,7 @@ jobs: ], include_files=[ ("src", "src"), - ("assets", "assets"), + ("assets", "lib/assets"), ("ytsage.desktop", "share/applications/ytsage.desktop"), ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), ], @@ -185,8 +185,8 @@ jobs: # Remove screenshots to reduce size before packaging build_dir=$(ls -d build/exe.* 2>/dev/null | head -n1 || true) - if [ -n "$build_dir" ] && [ -d "$build_dir/assets/branding/screenshots" ]; then - rm -rf "$build_dir/assets/branding/screenshots" + if [ -n "$build_dir" ] && [ -d "$build_dir/lib/assets/branding/screenshots" ]; then + rm -rf "$build_dir/lib/assets/branding/screenshots" echo "Removed screenshots folder from $build_dir" fi diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index abb9881..52a95c4 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -123,7 +123,7 @@ jobs: ], include_files=[ ("src", "src"), - ("assets", "assets"), + ("assets", "lib/assets"), ], ) @@ -171,8 +171,8 @@ jobs: if [ -z "$app_path" ]; then app_path=$(ls -d dist/*.app build/dist/*.app build/*.app 2>/dev/null | head -n1 || true) fi - if [ -n "$app_path" ] && [ -d "$app_path/Contents/Resources/assets/branding/screenshots" ]; then - rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" + if [ -n "$app_path" ] && [ -d "$app_path/Contents/Resources/lib/assets/branding/screenshots" ]; then + rm -rf "$app_path/Contents/Resources/lib/assets/branding/screenshots" echo "Removed screenshots folder from .app bundle at $app_path" fi echo "Post-bdist_mac directory listing:" @@ -207,8 +207,8 @@ jobs: app_base="$(basename "$app_path")" app_parent="$(dirname "$app_path")" # Ensure screenshots folder is not shipped - if [ -d "$app_path/Contents/Resources/assets/branding/screenshots" ]; then - rm -rf "$app_path/Contents/Resources/assets/branding/screenshots" + if [ -d "$app_path/Contents/Resources/lib/assets/branding/screenshots" ]; then + rm -rf "$app_path/Contents/Resources/lib/assets/branding/screenshots" echo "Removed screenshots folder from .app bundle at $app_path" fi (cd "$app_parent" && zip -r "${GITHUB_WORKSPACE}/artifacts/YTSage-v${version}-${ARCH_SUFFIX}.app.zip" "$app_base") diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 64df03a..057648a 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -62,6 +62,79 @@ jobs: echo "VERSION=$version" >> $env:GITHUB_ENV Write-Host "Prepared build variables for version: $version" + - name: Create cx_Freeze setup script + shell: powershell + run: | + # Create setup script for cx_Freeze + New-Item -Path "setup_cxfreeze.py" -ItemType File -Force + Add-Content -Path "setup_cxfreeze.py" -Value "import os" + Add-Content -Path "setup_cxfreeze.py" -Value "from cx_Freeze import setup, Executable" + Add-Content -Path "setup_cxfreeze.py" -Value "" + Add-Content -Path "setup_cxfreeze.py" -Value 'version = os.environ.get("VERSION", "0.0.0")' + Add-Content -Path "setup_cxfreeze.py" -Value "" + Add-Content -Path "setup_cxfreeze.py" -Value "build_exe_options = dict(" + Add-Content -Path "setup_cxfreeze.py" -Value " optimize=2," + Add-Content -Path "setup_cxfreeze.py" -Value " packages=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtCore",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtGui",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWidgets",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "requests",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "packaging",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "markdown",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "pyglet",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "loguru",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "setuptools",' + Add-Content -Path "setup_cxfreeze.py" -Value " ]," + Add-Content -Path "setup_cxfreeze.py" -Value " excludes=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtBluetooth",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtNetwork",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtOpenGL",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtPrintSupport",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSvg",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtTest",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtXml",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSql",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtHelp",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQml",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQuick",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWebEngineCore",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL.ImageDraw",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL.ImageFont",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "numpy",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "scipy",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "wx",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "pandas",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "tkinter",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "yt_dlp",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "unittest",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "test",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "tests",' + Add-Content -Path "setup_cxfreeze.py" -Value " ]," + Add-Content -Path "setup_cxfreeze.py" -Value " include_files=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' ("src", "src"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets", "lib/assets"),' + Add-Content -Path "setup_cxfreeze.py" -Value " ]," + Add-Content -Path "setup_cxfreeze.py" -Value ")" + Add-Content -Path "setup_cxfreeze.py" -Value "" + Add-Content -Path "setup_cxfreeze.py" -Value "executables = [" + Add-Content -Path "setup_cxfreeze.py" -Value " Executable(" + Add-Content -Path "setup_cxfreeze.py" -Value ' script="main.py",' + Add-Content -Path "setup_cxfreeze.py" -Value ' target_name=f"YTSage-v{version}.exe",' + Add-Content -Path "setup_cxfreeze.py" -Value ' base="Win32GUI",' + Add-Content -Path "setup_cxfreeze.py" -Value ' icon="assets/branding/icons/YTSage.ico",' + Add-Content -Path "setup_cxfreeze.py" -Value " )" + Add-Content -Path "setup_cxfreeze.py" -Value "]" + Add-Content -Path "setup_cxfreeze.py" -Value "" + Add-Content -Path "setup_cxfreeze.py" -Value "setup(" + Add-Content -Path "setup_cxfreeze.py" -Value ' name="YTSage",' + Add-Content -Path "setup_cxfreeze.py" -Value " version=version," + Add-Content -Path "setup_cxfreeze.py" -Value ' description="YTSage",' + Add-Content -Path "setup_cxfreeze.py" -Value ' options={"build_exe": build_exe_options},' + Add-Content -Path "setup_cxfreeze.py" -Value " executables=executables," + Add-Content -Path "setup_cxfreeze.py" -Value ")" + - name: Build Standard Version (ZIP) shell: powershell run: | @@ -74,21 +147,12 @@ jobs: if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } - # Build executable using cx_Freeze CLI (use python -m to ensure proper base handling) - python -m cx_Freeze main.py ` - --target-dir "dist\YTSage" ` - --base-name Win32GUI ` - --icon "assets\branding\icons\YTSage.ico" ` - --target-name "YTSage-v$version.exe" ` - --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` - --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src" ` - --include-files "assets" + # Build executable using setup script + python setup_cxfreeze.py build_exe --build-exe "dist\YTSage" # Remove screenshots folder to reduce build size - if (Test-Path "dist\YTSage\assets\branding\screenshots") { - Remove-Item "dist\YTSage\assets\branding\screenshots" -Recurse -Force + if (Test-Path "dist\YTSage\lib\assets\branding\screenshots") { + Remove-Item "dist\YTSage\lib\assets\branding\screenshots" -Recurse -Force Write-Host "Removed screenshots folder from standard build" } @@ -153,21 +217,15 @@ jobs: if (Test-Path "build\exe.*") { Remove-Item "build\exe.*" -Recurse -Force } if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } - # Build executable with FFmpeg using cx_Freeze CLI (use python -m to ensure proper base handling) - python -m cx_Freeze main.py ` - --target-dir "dist\YTSage-FFmpeg" ` - --base-name Win32GUI ` - --icon "assets\branding\icons\YTSage.ico" ` - --target-name "YTSage-v$version-ffmpeg.exe" ` - --optimize 2 ` - --packages "PySide6.QtCore,PySide6.QtGui,PySide6.QtWidgets,requests,PIL,packaging,markdown,pyglet,loguru,setuptools" ` - --excludes "PySide6.QtBluetooth,PySide6.QtNetwork,PySide6.QtOpenGL,PySide6.QtPrintSupport,PySide6.QtSvg,PySide6.QtTest,PySide6.QtXml,PySide6.QtSql,PySide6.QtHelp,PySide6.QtMultimedia,PySide6.QtQml,PySide6.QtQuick,PySide6.QtWebEngineCore,PIL.ImageDraw,PIL.ImageFont,numpy,scipy,wx,pandas,tkinter,yt_dlp,unittest,test,tests" ` - --include-files "src" ` - --include-files "assets" + # Create modified setup script for FFmpeg version + (Get-Content "setup_cxfreeze.py") -replace 'YTSage-v\{version\}\.exe', 'YTSage-v{version}-ffmpeg.exe' | Set-Content "setup_cxfreeze_ffmpeg.py" + + # Build executable with FFmpeg using setup script + python setup_cxfreeze_ffmpeg.py build_exe --build-exe "dist\YTSage-FFmpeg" # Remove screenshots folder to reduce build size - if (Test-Path "dist\YTSage-FFmpeg\assets\branding\screenshots") { - Remove-Item "dist\YTSage-FFmpeg\assets\branding\screenshots" -Recurse -Force + if (Test-Path "dist\YTSage-FFmpeg\lib\assets\branding\screenshots") { + Remove-Item "dist\YTSage-FFmpeg\lib\assets\branding\screenshots" -Recurse -Force Write-Host "Removed screenshots folder from FFmpeg build" } diff --git a/main.py b/main.py index cfbb542..e8e8eab 100644 --- a/main.py +++ b/main.py @@ -2,11 +2,8 @@ import sys from PySide6.QtWidgets import QApplication, QMessageBox -from src.core.ytsage_logging import logger -from src.core.ytsage_yt_dlp import ( # Import the new yt-dlp setup functions - check_ytdlp_binary, - setup_ytdlp, -) +from src.utils.ytsage_logger import logger +from src.core.ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp # Import the new yt-dlp setup functions from src.gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main diff --git a/src/__init__.py b/src/__init__.py index d9e962d..dc97c83 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.8.0b" +__version__ = "4.8.3" __author__ = "oop7" diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index 42369a6..e123ac5 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -7,9 +7,9 @@ from pathlib import Path from PySide6.QtCore import QObject, QThread, Signal -from src.core.ytsage_logging import logger from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import SUBPROCESS_CREATIONFLAGS +from src.utils.ytsage_logger import logger try: import yt_dlp # Keep yt_dlp import here - only downloader uses it. @@ -38,6 +38,7 @@ class DownloadThread(QThread): error_signal = Signal(str) file_exists_signal = Signal(str) # New signal for file existence update_details = Signal(str) # New signal for filename, speed, ETA + update_details = Signal(str) # New signal for filename, speed, ETA def __init__( self, @@ -97,9 +98,10 @@ class DownloadThread(QThread): try: file_path.unlink(missing_ok=True) except Exception as e: - logger.error(f"Error deleting {file_path.name}: {str(e)}") + logger.exception(f"Error deleting {file_path.name}: {e}") except Exception as e: - self.error_signal.emit(f"Error cleaning partial files: {str(e)}") + logger.exception(f"Error cleaning partial files: {e}") + self.error_signal.emit(f"Error cleaning partial files: {e}") def cleanup_subtitle_files(self) -> None: """Delete subtitle files after they have been merged into the video file""" @@ -111,7 +113,7 @@ class DownloadThread(QThread): logger.debug(f"Deleted subtitle file: {path.name}") return True except Exception as e: - logger.error(f"Error deleting subtitle file {path}: {e}") + logger.exception(f"Error deleting subtitle file {path}: {e}") return False try: @@ -130,7 +132,7 @@ class DownloadThread(QThread): else: logger.debug(f"Deleted {deleted_count[1]} of {len(new_subtitle_files)} new subtitle files") except Exception as e: - logger.error(f"Error cleaning subtitle files: {str(e)}") + logger.exception(f"Error cleaning subtitle files: {e}") def check_file_exists(self) -> bool | None: """Check if the file already exists before downloading""" @@ -138,18 +140,21 @@ class DownloadThread(QThread): logger.debug("Starting file existence check") # Use yt-dlp to get the filename without downloading, suppressing warnings ydl_opts_check = { + "logger": logger, # passed app logger "quiet": True, "skip_download": True, "no_warnings": True, # <-- Suppress warnings during check "ignoreerrors": True, # Also ignore other potential errors during this check - "outtmpl": {"default": f"{self.path.as_posix()}/%(title)s.%(ext)s"}, + "outtmpl": {"default": str(self.path / "%(title)s.%(ext)s")}, "format": (self.format_id if self.format_id else "best"), # Use selected format or best } if self.cookie_file: ydl_opts_check["cookiefile"] = str(self.cookie_file) elif self.browser_cookies: - ydl_opts_check["cookiesfrombrowser"] = (self.browser_cookies.split(':')[0], - self.browser_cookies.split(':')[1] if ':' in self.browser_cookies else None) + ydl_opts_check["cookiesfrombrowser"] = ( + self.browser_cookies.split(":")[0], + self.browser_cookies.split(":")[1] if ":" in self.browser_cookies else None, + ) if YT_DLP_AVAILABLE: with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: @@ -178,10 +183,7 @@ class DownloadThread(QThread): return False # Proceed with download attempt except Exception as e: - logger.debug(f"Error checking file existence: {str(e)}") - import traceback - - traceback.print_exc() + logger.exception(f"Error checking file existence: {e}") return None def _build_yt_dlp_command(self) -> list: @@ -201,6 +203,7 @@ class DownloadThread(QThread): try: if YT_DLP_AVAILABLE: ydl_opts = { + "logger": logger, "quiet": True, "no_warnings": True, "skip_download": True, @@ -214,7 +217,7 @@ class DownloadThread(QThread): logger.debug(f"Detected audio-only format for ID: {clean_format_id}") break except Exception as e: - logger.debug(f"Error checking if format is audio-only: {e}") + logger.exception(f"Error checking if format is audio-only: {e}") # For audio-only formats, don't try to merge with video if is_audio_format: @@ -229,12 +232,9 @@ class DownloadThread(QThread): try: format_ext = None logger.debug(f"Getting format information for format ID: {self.format_id} (using: {clean_format_id})") + if YT_DLP_AVAILABLE: - ydl_opts = { - "quiet": True, - "no_warnings": True, - "skip_download": True, - } + ydl_opts = {"quiet": True, "no_warnings": True, "skip_download": True, "logger": logger} with yt_dlp.YoutubeDL(ydl_opts) as ydl: info = ydl.extract_info(self.url, download=False) or {} # Look for the clean format ID first @@ -254,7 +254,7 @@ class DownloadThread(QThread): # Ensure output matches the selected format - only for video formats cmd.extend(["--merge-output-format", format_ext]) except Exception as e: - logger.debug(f"Error detecting format extension: {e}") + logger.exception(f"Error detecting format extension: {e}") # If we can't determine the format, don't specify merge-output-format pass else: @@ -272,7 +272,7 @@ class DownloadThread(QThread): else: output_template = f"{base_path}/%(title)s_%(resolution)s.%(ext)s" - cmd.extend(["-o", output_template]) + cmd.extend(["-o", str(output_template)]) # Add common options cmd.append("--force-overwrites") @@ -295,7 +295,7 @@ class DownloadThread(QThread): lang_code = sub_selection.split(" - ")[0] lang_codes.append(lang_code) except Exception as e: - logger.warning(f"Could not parse subtitle selection '{sub_selection}': {e}") + logger.exception(f"Could not parse subtitle selection '{sub_selection}': {e}") if lang_codes: cmd.extend(["--sub-langs", ",".join(lang_codes)]) @@ -366,7 +366,7 @@ class DownloadThread(QThread): self.initial_subtitle_files.add(file) logger.debug(f"Found {len(self.initial_subtitle_files)} existing subtitle files before download") except Exception as e: - logger.warning(f"Error scanning for initial subtitle files: {e}") + logger.exception(f"Error scanning for initial subtitle files: {e}") if self.use_direct_command: # Use direct CLI command instead of Python API @@ -377,10 +377,8 @@ class DownloadThread(QThread): except Exception as e: # Catch errors during setup - self.error_signal.emit(f"Critical error in download thread: {str(e)}") - import traceback - - traceback.print_exc() + logger.critical(f"Critical error in download thread: {e}", exc_info=True) + self.error_signal.emit(f"Critical error in download thread: {e}") def _run_direct_command(self) -> None: """Run yt-dlp as a direct command line process instead of using Python API.""" @@ -460,7 +458,8 @@ class DownloadThread(QThread): self.cleanup_partial_files() except Exception as e: - self.error_signal.emit(f"Error in direct command: {str(e)}") + logger.exception(f"Error in direct command: {e}") + self.error_signal.emit(f"Error in direct command: {e}") self.cleanup_partial_files() def _parse_output_line(self, line) -> None: @@ -513,7 +512,7 @@ class DownloadThread(QThread): else: self.status_signal.emit(f"⏬ Downloading...") except Exception as e: - logger.error(f"Error extracting filename from line '{line}': {e}") + logger.exception(f"Error extracting filename from line '{line}': {e}") self.status_signal.emit("⚡ Downloading...") # Fallback status return # Don't process this line further for speed/ETA @@ -535,16 +534,16 @@ class DownloadThread(QThread): ) if subtitle_match: subtitle_file = subtitle_match.group(1).strip() - + # Clean up the path - remove any duplicated directory paths # Sometimes yt-dlp output contains malformed paths like "dir: dir/file" - if ":" in subtitle_file and os.name == 'nt': # Windows paths + if ":" in subtitle_file and os.name == "nt": # Windows paths # Look for pattern like "C:\path: C:\path\file" and extract the latter colon_parts = subtitle_file.split(": ") if len(colon_parts) > 1: # Take the last part which should be the actual file path subtitle_file = colon_parts[-1].strip() - + # Show subtitle download message self.status_signal.emit(f"⏬ Downloading subtitle...") # Store the subtitle file path for later deletion if merging is enabled @@ -607,7 +606,7 @@ class DownloadThread(QThread): self.update_details.emit(status) except Exception as e: # If parsing fails, just show basic status (maybe log the error) - logger.error(f"Error parsing download details line: {line} -> {e}") + logger.exception(f"Error parsing download details line: {line} -> {e}") pass # Keep basic status emission below if needed, or emit generic details # Check for post-processing diff --git a/src/core/ytsage_ffmpeg.py b/src/core/ytsage_ffmpeg.py index c932d10..8befa7d 100644 --- a/src/core/ytsage_ffmpeg.py +++ b/src/core/ytsage_ffmpeg.py @@ -7,7 +7,7 @@ from pathlib import Path import requests -from src.core.ytsage_logging import logger +from src.utils.ytsage_logger import logger from src.utils.ytsage_constants import ( FFMPEG_7Z_DOWNLOAD_URL, FFMPEG_7Z_SHA256_URL, @@ -46,7 +46,7 @@ def download_file(url, dest_path, progress_callback=None) -> bool: progress_callback(f"⚡ Downloading FFmpeg components... {progress}%") return True except requests.RequestException as e: - logger.info(f"Download error: {str(e)}") + logger.info(f"Download error: {e}") return False @@ -80,7 +80,7 @@ def verify_sha256(file_path, expected_hash_url) -> bool: logger.info(f"Actual: {actual_hash}") return False except Exception as e: - logger.info(f"⚠️ SHA-256 verification error: {str(e)}") + logger.info(f"⚠️ SHA-256 verification error: {e}") return False @@ -128,7 +128,7 @@ def get_ffmpeg_path() -> str | Path: ffmpeg_path = result.stdout.strip() return ffmpeg_path except Exception as e: - logger.error(f"Error finding ffmpeg in PATH: {e}") + logger.exception(f"Error finding ffmpeg in PATH: {e}") # If not found in PATH, check the installation directory ffmpeg_install_path = get_ffmpeg_install_path() @@ -171,7 +171,7 @@ def check_ffmpeg_installed() -> bool: return True return False except Exception as e: - logger.info(f"FFmpeg check error: {str(e)}") + logger.info(f"FFmpeg check error: {e}") return False @@ -219,7 +219,7 @@ def install_ffmpeg_windows() -> bool: timeout=300, ) # 5-minute timeout except Exception as e: - logger.error(f"7z extraction failed: {str(e)}, trying zip fallback...") + logger.exception(f"7z extraction failed: {e}, trying zip fallback...") use_7zip = False else: logger.error("SHA-256 verification failed for 7z file, trying zip fallback...") @@ -236,7 +236,8 @@ def install_ffmpeg_windows() -> bool: temp_file, progress_callback=lambda msg: logger.debug(msg), ): - raise Exception("Failed to download FFmpeg (both 7z and zip methods failed)") + logger.exception("Failed to download FFmpeg (both 7z and zip methods failed)") + return False logger.info("Extracting FFmpeg components from zip archive...") try: @@ -245,7 +246,8 @@ def install_ffmpeg_windows() -> bool: with zipfile.ZipFile(temp_file, "r") as zip_ref: zip_ref.extractall(extract_dir) except Exception as e: - raise Exception(f"Extraction failed: {str(e)}") + logger.exception(f"Extraction failed: {e}") + return False logger.info("Configuring system paths...") # Add to System Path @@ -265,13 +267,14 @@ def install_ffmpeg_windows() -> bool: # Verify installation if not check_ffmpeg_installed(): - raise Exception("FFmpeg installation verification failed") + logger.error("FFmpeg installation verification failed") + return False logger.info("FFmpeg installation completed successfully!") return True except Exception as e: - logger.error(f"Error installing FFmpeg: {str(e)}") + logger.exception(f"Error installing FFmpeg: {e}") return False @@ -298,12 +301,13 @@ def install_ffmpeg_macos() -> bool: # Verify installation if not check_ffmpeg_installed(): - raise Exception("FFmpeg installation verification failed") + logger.error("FFmpeg installation verification failed") + return False return True except Exception as e: - logger.error(f"Error installing FFmpeg: {str(e)}") + logger.exception(f"Error installing FFmpeg: {e}") return False @@ -329,16 +333,18 @@ def install_ffmpeg_linux() -> bool: # Universal snap package subprocess.run(["sudo", "snap", "install", "ffmpeg"], check=True, timeout=300) else: - raise Exception("No supported package manager found") + logger.error("No supported package manager found") + return False # Verify installation if not check_ffmpeg_installed(): - raise Exception("FFmpeg installation verification failed") + logger.error("FFmpeg installation verification failed") + return False return True except Exception as e: - logger.error(f"Error installing FFmpeg: {str(e)}") + logger.exception(f"Error installing FFmpeg: {e}") return False diff --git a/src/core/ytsage_logging.py b/src/core/ytsage_logging.py deleted file mode 100644 index 7a17589..0000000 --- a/src/core/ytsage_logging.py +++ /dev/null @@ -1,238 +0,0 @@ -""" -YTSage logging configuration using loguru. - -This module provides centralized logging configuration for the entire YTSage application. -It replaces the inefficient print statements with structured logging using loguru. -""" - -import sys -from pathlib import Path - -from src.utils.ytsage_constants import APP_LOG_DIR - -# Try to import loguru, but handle case where it might not be available -try: - from loguru import logger - - LOGURU_AVAILABLE = True -except ImportError: - LOGURU_AVAILABLE = False - - # Create a dummy logger class that does nothing - class DummyLogger: - def info(self, *args, **kwargs): - pass - - def debug(self, *args, **kwargs): - pass - - def warning(self, *args, **kwargs): - pass - - def error(self, *args, **kwargs): - pass - - def critical(self, *args, **kwargs): - pass - - def remove(self, *args, **kwargs): - pass - - def add(self, *args, **kwargs): - pass - - def bind(self, *args, **kwargs): - return self - - @property - def _core(self): - class Core: - handlers = [] - - return Core() - - logger = DummyLogger() - - -def setup_logging(): - """ - Configure loguru logging for YTSage application. - - Sets up multiple log levels and outputs: - - Console output for INFO and above - - File output for DEBUG and above - - Separate error log file for ERROR and above - """ - - if not LOGURU_AVAILABLE: - return logger - - # Remove default logger to avoid duplicate output - try: - logger.remove() - except Exception: - pass - - # Get the application data directory with fallbacks - try: - # logic moved to src\utils\ytsage_constants.py - log_dir = APP_LOG_DIR - except Exception: - # Ultimate fallback - use current directory - log_dir = Path.cwd() / "logs" - - # Create log directory if it doesn't exist - try: - log_dir.mkdir(parents=True, exist_ok=True) - except Exception: - # If we can't create the log directory, fall back to current directory - log_dir = Path.cwd() - try: - log_dir.mkdir(exist_ok=True) - except Exception: - pass # If we still can't create it, we'll just log to console - - # Console handler - INFO and above, with colors - # Check if stdout is available (it might be None in PyInstaller windowed apps) - stdout_available = sys.stdout is not None - - if stdout_available: - try: - logger.add( - sys.stdout, - level="INFO", - format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", - colorize=True, - catch=True, - ) - except Exception: - # Fallback to basic console logging without colors - try: - logger.add( - sys.stdout, - level="INFO", - format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", - catch=True, - ) - except Exception: - stdout_available = False - - # If stdout is not available, try stderr or skip console logging entirely - if not stdout_available: - try: - if sys.stderr is not None: - logger.add( - sys.stderr, - level="WARNING", # Only warnings and errors to stderr - format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {message}", - catch=True, - ) - except Exception: - # If even stderr fails, we'll rely only on file logging - pass - - # Only add file handlers if we successfully created a log directory - if log_dir and log_dir.exists(): - try: - # Main log file - DEBUG and above, with rotation - logger.add( - log_dir / "ytsage.log", - level="DEBUG", - format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", - rotation="10 MB", # Rotate when file reaches 10MB - retention="7 days", # Keep logs for 7 days - compression="zip", # Compress old logs - catch=True, - ) - - # Error log file - ERROR and above only - logger.add( - log_dir / "ytsage_errors.log", - level="ERROR", - format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", - rotation="5 MB", - retention="30 days", # Keep error logs longer - compression="zip", - catch=True, - ) - except Exception as e: - # If file logging fails, just log to console - logger.warning(f"Could not set up file logging: {e}") - - # Log startup message if we have any handlers - if logger._core.handlers: - logger.info("YTSage logging system initialized") - if log_dir and log_dir.exists(): - logger.debug(f"Log directory: {log_dir}") - else: - logger.warning("File logging disabled - could not create log directory") - - # If no handlers were successfully added, add a null handler to prevent errors - if not logger._core.handlers: - # Add a minimal handler that just discards messages - # This prevents loguru from complaining about no handlers - import tempfile - - try: - # Try to add a temporary file handler as last resort - temp_log = Path(tempfile.gettempdir()) / "ytsage_temp.log" - logger.add(temp_log, level="ERROR", catch=True) - except Exception: - # If even that fails, we're in a very restricted environment - # loguru should handle this gracefully with its internal fallbacks - pass - - return logger - - -def get_logger(name: str | None = None): - """ - Get a logger instance for a specific module. - - Args: - name: Name of the module/component requesting the logger - - Returns: - Configured logger instance - """ - if name: - return logger.bind(name=name) - return logger - - -# Initialize logging when module is imported - with maximum safety -_setup_complete = False - - -def safe_setup(): - """Safely initialize logging with multiple fallback strategies.""" - global _setup_complete - if _setup_complete: - return logger - - try: - setup_logging() - _setup_complete = True - except Exception: - # If all else fails, create an even simpler logger that just prints - if LOGURU_AVAILABLE: - try: - logger.remove() - except Exception: - pass - - # At this point, just ensure we have something that won't crash - _setup_complete = True - - return logger - - -# Try to set up logging, but don't let it crash the module import -try: - safe_setup() -except Exception: - # Ultimate fallback - the module will still import successfully - pass - -# Export the main logger for convenience -__all__ = ["logger", "get_logger", "setup_logging"] diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index 4ac1d5e..64bf19f 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -4,28 +4,13 @@ import subprocess import sys import tempfile import time +from importlib.metadata import PackageNotFoundError from pathlib import Path -try: - from importlib.metadata import version as importlib_version - from importlib.metadata import PackageNotFoundError as ImportlibPackageNotFoundError - - def get_version(package_name: str) -> str: - return importlib_version(package_name) - - PackageNotFoundError = ImportlibPackageNotFoundError -except ImportError: - # Fallback for older Python versions - import pkg_resources - def get_version(package_name: str) -> str: - return pkg_resources.get_distribution(package_name).version - PackageNotFoundError = pkg_resources.DistributionNotFound - import requests from packaging import version from src.core.ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path -from src.core.ytsage_logging import logger from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import ( APP_CONFIG_FILE, @@ -35,6 +20,25 @@ from src.utils.ytsage_constants import ( YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL, ) +from src.utils.ytsage_logger import logger + +try: + from importlib.metadata import PackageNotFoundError as ImportlibPackageNotFoundError + from importlib.metadata import version as importlib_version + + def get_version(package_name: str) -> str: + return importlib_version(package_name) + + PackageNotFoundError = ImportlibPackageNotFoundError +except ImportError: + # Fallback for older Python versions + import pkg_resources + + def get_version(package_name: str) -> str: + return pkg_resources.get_distribution(package_name).version + + PackageNotFoundError = pkg_resources.DistributionNotFound + # Cache for version information to avoid delays _version_cache = { @@ -108,7 +112,7 @@ def load_version_cache_from_config() -> None: if tool_name in _version_cache: _version_cache[tool_name].update(cache_data) except Exception as e: - logger.error(f"Error loading version cache: {e}") + logger.exception(f"Error loading version cache: {e}") def save_version_cache_to_config() -> None: @@ -118,7 +122,7 @@ def save_version_cache_to_config() -> None: config["cached_versions"] = _version_cache.copy() save_config(config) except Exception as e: - logger.error(f"Error saving version cache: {e}") + logger.exception(f"Error saving version cache: {e}") def get_ytdlp_version_cached() -> str: @@ -140,7 +144,7 @@ def get_ytdlp_version_cached() -> str: return version_info except Exception as e: - logger.error(f"Error getting cached yt-dlp version: {e}") + logger.exception(f"Error getting cached yt-dlp version: {e}") return "Error getting version" @@ -164,7 +168,7 @@ def get_ffmpeg_version_cached() -> str: return version_info except Exception as e: - logger.error(f"Error getting cached FFmpeg version: {e}") + logger.exception(f"Error getting cached FFmpeg version: {e}") return "Error getting version" @@ -182,7 +186,7 @@ def refresh_version_cache(force=False) -> bool: return True except Exception as e: - logger.error(f"Error refreshing version cache: {e}") + logger.exception(f"Error refreshing version cache: {e}") return False @@ -215,7 +219,7 @@ def get_ytdlp_version_direct(yt_dlp_path=None) -> str: else: return "Error getting version" except Exception as e: - logger.error(f"Error getting yt-dlp version: {e}") + logger.exception(f"Error getting yt-dlp version: {e}") return "Error getting version" @@ -269,10 +273,10 @@ def get_ffmpeg_version_direct() -> str: return "Unknown version" return "Not found" except Exception as e: - logger.error(f"Error getting FFmpeg version from install path: {e}") + logger.exception(f"Error getting FFmpeg version from install path: {e}") return "Not found" except Exception as e: - logger.error(f"Error getting FFmpeg version: {e}") + logger.exception(f"Error getting FFmpeg version: {e}") return "Error getting version" @@ -308,7 +312,7 @@ def load_config() -> dict: config[key] = value return config except (json.JSONDecodeError, UnicodeError, Exception) as e: - logger.error(f"Error reading config file: {e}") + logger.exception(f"Error reading config file: {e}") # If config file is corrupted, create a new one with defaults save_config(default_config) @@ -322,7 +326,7 @@ def save_config(config) -> bool: json.dump(config, f, ensure_ascii=False, indent=2) return True except Exception as e: - logger.error(f"Error saving config: {e}") + logger.exception(f"Error saving config: {e}") return False @@ -342,7 +346,7 @@ def check_ffmpeg() -> bool: os.environ["PATH"] = f"{ffmpeg_path}{os.pathsep}{os.environ.get('PATH', '')}" return True except Exception as e: - logger.error(f"Error updating PATH: {e}") + logger.exception(f"Error updating PATH: {e}") return False # For macOS, check common paths @@ -359,13 +363,13 @@ def check_ffmpeg() -> bool: os.environ["PATH"] = f"{ffmpeg_dir}{os.pathsep}{os.environ.get('PATH', '')}" return True except Exception as e: - logger.error(f"Error updating PATH: {e}") + logger.exception(f"Error updating PATH: {e}") continue return False except Exception as e: - logger.error(f"Error checking FFmpeg: {e}") + logger.exception(f"Error checking FFmpeg: {e}") return False @@ -381,7 +385,7 @@ def load_saved_path(main_window_instance) -> None: main_window_instance.last_path = saved_path return except (json.JSONDecodeError, UnicodeError) as e: - logger.error(f"Error reading config file: {e}") + logger.exception(f"Error reading config file: {e}") # If config file is corrupted, try to remove it try: APP_CONFIG_FILE.unlink(missing_ok=True) @@ -397,7 +401,7 @@ def load_saved_path(main_window_instance) -> None: main_window_instance.last_path = tempfile.gettempdir() except Exception as e: - logger.error(f"Error loading saved settings: {e}") + logger.exception(f"Error loading saved settings: {e}") main_window_instance.last_path = tempfile.gettempdir() @@ -409,7 +413,7 @@ def save_path(main_window_instance, path) -> bool: try: Path(path).mkdir(exist_ok=True) except Exception as e: - logger.error(f"Error creating directory: {e}") + logger.exception(f"Error creating directory: {e}") return False if not os.access(path, os.W_OK): @@ -423,7 +427,7 @@ def save_path(main_window_instance, path) -> bool: return True except Exception as e: - logger.error(f"Error saving settings: {e}") + logger.exception(f"Error saving settings: {e}") return False @@ -484,13 +488,13 @@ def update_yt_dlp() -> bool: logger.info("yt-dlp binary successfully updated") return True except Exception as e: - logger.error(f"Error replacing yt-dlp binary: {e}") + logger.exception(f"Error replacing yt-dlp binary: {e}") return False else: logger.info(f"Failed to download latest yt-dlp: HTTP {response.status_code}") return False except Exception as e: - logger.error(f"Error downloading yt-dlp update: {e}") + logger.exception(f"Error downloading yt-dlp update: {e}") return False else: # We're using a system-installed yt-dlp, use pip to update @@ -540,9 +544,9 @@ def update_yt_dlp() -> bool: else: logger.info(f"Failed to get latest version info: HTTP {response.status_code}") except Exception as e: - logger.error(f"Error checking for yt-dlp updates: {e}") + logger.exception(f"Error checking for yt-dlp updates: {e}") except Exception as e: - logger.info(f"Unexpected error during yt-dlp update: {e}") + logger.exception(f"Unexpected error during yt-dlp update: {e}") return False @@ -573,7 +577,7 @@ def should_check_for_auto_update() -> bool: return False except Exception as e: - logger.error(f"Error checking auto-update schedule: {e}") + logger.exception(f"Error checking auto-update schedule: {e}") return False @@ -602,9 +606,7 @@ def check_and_update_ytdlp_auto() -> bool: logger.info(f"Latest yt-dlp version: {latest_version}") # Compare versions - from packaging import version as version_parser - - if version_parser.parse(latest_version) > version_parser.parse(current_version): + if version.parse(latest_version) > version.parse(current_version): logger.info(f"Auto-updating yt-dlp from {current_version} to {latest_version}...") # Perform the update @@ -630,11 +632,11 @@ def check_and_update_ytdlp_auto() -> bool: logger.info(f"Network error during auto-update check: {e}") return False except Exception as e: - logger.error(f"Error during auto-update check: {e}") + logger.exception(f"Error during auto-update check: {e}") return False except Exception as e: - logger.info(f"Critical error in auto-update: {e}") + logger.critical(f"Critical error in auto-update: {e}", exc_info=True) return False @@ -657,77 +659,103 @@ def update_auto_update_settings(enabled, frequency) -> bool: save_config(config) return True except Exception as e: - logger.error(f"Error updating auto-update settings: {e}") + logger.exception(f"Error updating auto-update settings: {e}") return False def parse_yt_dlp_error(error_message: str) -> str: """ Parse yt-dlp error messages and return user-friendly error messages. - + Args: error_message: The raw error message from yt-dlp - + Returns: str: A user-friendly error message with actionable advice """ - error_str = str(error_message).lower() - + error_str = error_message.lower() + # Private video errors - if any(keyword in error_str for keyword in ['private video', 'login_required', 'sign in if you']): - return ("This is a private video. You can download it by logging into your account using cookies.\n" - "Go to 'Custom Options' → 'Login with Cookies' → 'Extract cookies from browser' to authenticate.") - + if any(keyword in error_str for keyword in ["private video", "login_required", "sign in if you"]): + return ( + "This is a private video. You can download it by logging into your account using cookies.\n" + "Go to 'Custom Options' → 'Login with Cookies' → 'Extract cookies from browser' to authenticate." + ) + # Age-restricted content - if any(keyword in error_str for keyword in ['age restricted', 'age-restricted', 'confirm your age']): - return ("This video is age-restricted. You need to be logged in to access it.\n" - "Use 'Custom Options' → 'Login with Cookies' to authenticate with your account.") - + if any(keyword in error_str for keyword in ["age restricted", "age-restricted", "confirm your age"]): + return ( + "This video is age-restricted. You need to be logged in to access it.\n" + "Use 'Custom Options' → 'Login with Cookies' to authenticate with your account." + ) + # Geo-blocked content - if any(keyword in error_str for keyword in ['not available in your country', 'geo-blocked', 'video is not available', 'not made this video available in your country']): - return ("This video is not available in your region (geo-blocked).\n" - "You may need to use a VPN or the video might be restricted in your country.") - + if any( + keyword in error_str + for keyword in [ + "not available in your country", + "geo-blocked", + "video is not available", + "not made this video available in your country", + ] + ): + return ( + "This video is not available in your region (geo-blocked).\n" + "You may need to use a VPN or the video might be restricted in your country." + ) + # Removed/deleted videos - if any(keyword in error_str for keyword in ['video unavailable', 'this video has been removed', 'video does not exist']): - return ("This video has been removed or is no longer available.\n" - "The video may have been deleted by the uploader or removed due to policy violations.") - + if any(keyword in error_str for keyword in ["video unavailable", "this video has been removed", "video does not exist"]): + return ( + "This video has been removed or is no longer available.\n" + "The video may have been deleted by the uploader or removed due to policy violations." + ) + # Live stream errors - if any(keyword in error_str for keyword in ['live stream', 'livestream', 'is live']): - return ("This is a live stream that cannot be downloaded while active.\n" - "Wait for the stream to end, then try downloading the archived version.") - + if any(keyword in error_str for keyword in ["live stream", "livestream", "is live"]): + return ( + "This is a live stream that cannot be downloaded while active.\n" + "Wait for the stream to end, then try downloading the archived version." + ) + # Playlist errors - if any(keyword in error_str for keyword in ['playlist', 'no entries']): - return ("Unable to access this playlist. It may be private, deleted, or empty.\n" - "Check if the playlist exists and is publicly accessible.") - + if any(keyword in error_str for keyword in ["playlist", "no entries"]): + return ( + "Unable to access this playlist. It may be private, deleted, or empty.\n" + "Check if the playlist exists and is publicly accessible." + ) + # Network/connection errors - if any(keyword in error_str for keyword in ['network error', 'connection', 'timeout', 'unable to download']): - return ("Network connection error. Please check your internet connection and try again.\n" - "If the problem persists, the video server might be temporarily unavailable.") - + if any(keyword in error_str for keyword in ["network error", "connection", "timeout", "unable to download"]): + return ( + "Network connection error. Please check your internet connection and try again.\n" + "If the problem persists, the video server might be temporarily unavailable." + ) + # Invalid URL - if any(keyword in error_str for keyword in ['invalid url', 'unsupported url', 'no video found']): - return ("Invalid or unsupported URL. Please check the link and try again.\n" - "Make sure you're using a valid YouTube, Vimeo, or other supported platform URL.") - + if any(keyword in error_str for keyword in ["invalid url", "unsupported url", "no video found"]): + return ( + "Invalid or unsupported URL. Please check the link and try again.\n" + "Make sure you're using a valid YouTube, Vimeo, or other supported platform URL." + ) + # YouTube premium content - if any(keyword in error_str for keyword in ['youtube premium', 'premium', 'members only']): - return ("This content requires YouTube Premium or channel membership.\n" - "You need to be logged in with an account that has access to this content.") - + if any(keyword in error_str for keyword in ["youtube premium", "premium", "members only"]): + return ( + "This content requires YouTube Premium or channel membership.\n" + "You need to be logged in with an account that has access to this content." + ) + # Copyright/DMCA - if any(keyword in error_str for keyword in ['copyright', 'dmca', 'blocked']): - return ("This video is blocked due to copyright claims.\n" - "The content owner has restricted access to this video.") - + if any(keyword in error_str for keyword in ["copyright", "dmca", "blocked"]): + return "This video is blocked due to copyright claims.\n" "The content owner has restricted access to this video." + # Extraction errors (could be temporary) - if any(keyword in error_str for keyword in ['unable to extract', 'extraction failed']): - return ("Failed to extract video information. This might be a temporary issue.\n" - "Please try again in a few minutes, or check if the video link is correct.") - + if any(keyword in error_str for keyword in ["unable to extract", "extraction failed"]): + return ( + "Failed to extract video information. This might be a temporary issue.\n" + "Please try again in a few minutes, or check if the video link is correct." + ) + # Generic fallback with the original error for debugging - return (f"Could not extract video information. Please check your link.\n" - f"Technical details: {error_message}") + return f"Could not extract video information. Please check your link.\n" f"Technical details: {error_message}" diff --git a/src/core/ytsage_yt_dlp.py b/src/core/ytsage_yt_dlp.py index b0b2a30..ed76240 100644 --- a/src/core/ytsage_yt_dlp.py +++ b/src/core/ytsage_yt_dlp.py @@ -20,7 +20,7 @@ from PySide6.QtWidgets import ( QWidget, ) -from src.core.ytsage_logging import logger +from src.utils.ytsage_logger import logger from src.utils.ytsage_constants import ( APP_BIN_DIR, ICON_PATH, @@ -94,7 +94,7 @@ class YtdlpSetupDialog(QDialog): # icon_path logic moved to src\utils\ytsage_constants.py icon_path = ICON_PATH if Path.exists(icon_path): - self.setWindowIcon(QIcon(icon_path.as_posix())) + self.setWindowIcon(QIcon(str(icon_path))) self.init_ui() @@ -390,11 +390,11 @@ class YtdlpSetupDialog(QDialog): self.setup_complete.emit(target_path) self.accept() except Exception as copy_error: - logger.debug(f"Error copying file: {str(copy_error)}") + logger.debug(f"Error copying file: {copy_error}", exc_info=True) error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Icon.Critical) error_dialog.setWindowTitle("Setup Error") - error_dialog.setText(f"Error copying yt-dlp to app directory: {str(copy_error)}") + error_dialog.setText(f"Error copying yt-dlp to app directory: {copy_error}") error_dialog.setStyleSheet( """ QMessageBox { @@ -448,11 +448,11 @@ class YtdlpSetupDialog(QDialog): ) error_dialog.exec() except Exception as e: - logger.debug(f"Exception during verification: {str(e)}") + logger.debug(f"Exception during verification: {e}", exc_info=True) error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Icon.Critical) error_dialog.setWindowTitle("Error") - error_dialog.setText(f"Error verifying yt-dlp executable: {str(e)}") + error_dialog.setText(f"Error verifying yt-dlp executable: {e}") error_dialog.setStyleSheet( """ QMessageBox { @@ -492,7 +492,7 @@ def check_ytdlp_binary() -> Optional[Path]: os.chmod(exe_path, 0o755) logger.info(f"Fixed permissions on yt-dlp at {exe_path}") except Exception as e: - logger.warning(f"Could not set executable permissions on {exe_path}: {e}") + logger.exception(f"Could not set executable permissions on {exe_path}: {e}") return exe_path # If not found in app directory, check if yt-dlp is available in PATH @@ -517,7 +517,7 @@ def check_ytdlp_binary() -> Optional[Path]: logger.info(f"Found yt-dlp in PATH: {yt_dlp_path}") return Path(yt_dlp_path) except Exception as e: - logger.error(f"Error checking for yt-dlp in PATH: {e}") + logger.exception(f"Error checking for yt-dlp in PATH: {e}") # We're only interested in our app-specific installation or system PATH return None diff --git a/src/gui/ytsage_gui_dialogs/__init__.py b/src/gui/ytsage_gui_dialogs/__init__.py index 5d60dd3..fe233f3 100644 --- a/src/gui/ytsage_gui_dialogs/__init__.py +++ b/src/gui/ytsage_gui_dialogs/__init__.py @@ -13,10 +13,7 @@ This package contains all dialog classes organized by functionality: # Re-export all dialog classes for backward compatibility from src.gui.ytsage_gui_dialogs.ytsage_dialogs_base import AboutDialog, LogWindow -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom import ( - CustomOptionsDialog, - TimeRangeDialog, -) +from src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom import CustomOptionsDialog, TimeRangeDialog from src.gui.ytsage_gui_dialogs.ytsage_dialogs_ffmpeg import FFmpegCheckDialog, FFmpegInstallThread from src.gui.ytsage_gui_dialogs.ytsage_dialogs_selection import ( PlaylistSelectionDialog, @@ -30,21 +27,21 @@ __all__ = [ # Base dialogs "LogWindow", "AboutDialog", - + # Settings dialogs "DownloadSettingsDialog", "AutoUpdateSettingsDialog", - + # Update dialogs and threads "VersionCheckThread", "UpdateThread", "YTDLPUpdateDialog", "AutoUpdateThread", - + # FFmpeg dialogs "FFmpegInstallThread", "FFmpegCheckDialog", - + # Selection dialogs "SubtitleSelectionDialog", "PlaylistSelectionDialog", diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index c45e39c..d38c8c2 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -3,6 +3,8 @@ Base dialogs for YTSage application. Contains basic utility dialogs like LogWindow and AboutDialog. """ +from datetime import datetime + from PySide6.QtCore import Qt, QThread, QTimer, Signal from PySide6.QtWidgets import ( QDialog, @@ -155,7 +157,7 @@ class AboutDialog(QDialog): layout.addWidget(title_label) version_label = QLabel( - f"Version {getattr(self._parent, 'version', '4.8.0b')}" + f"Version {getattr(self._parent, 'version', '4.8.3')}" ) version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(version_label) @@ -392,8 +394,6 @@ class AboutDialog(QDialog): last_check = ytdlp_cache.get("last_check", 0) cache_status = "" if last_check > 0: - from datetime import datetime - cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") cache_status = f" ({cache_time})" # Increased from 9px @@ -426,8 +426,6 @@ class AboutDialog(QDialog): last_check = ffmpeg_cache.get("last_check", 0) cache_status = "" if last_check > 0 and ffmpeg_found: - from datetime import datetime - cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") cache_status = f" ({cache_time})" # Increased from 9px diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 778fbc9..4f166f0 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -8,7 +8,7 @@ import threading from pathlib import Path from typing import TYPE_CHECKING, cast -from PySide6.QtCore import Q_ARG, QMetaObject, Qt, Signal, QObject +from PySide6.QtCore import Q_ARG, QMetaObject, QObject, Qt, Signal from PySide6.QtWidgets import ( QCheckBox, QComboBox, @@ -31,31 +31,24 @@ from PySide6.QtWidgets import ( from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import YTDLP_DOCS_URL -try: - import yt_dlp - - YT_DLP_AVAILABLE = True -except ImportError: - YT_DLP_AVAILABLE = False - if TYPE_CHECKING: from src.gui.ytsage_gui_main import YTSageApp # only for type hints (no runtime import) class CommandWorker(QObject): """Worker class for running yt-dlp commands in a separate thread""" - + # Signals for communicating with the main thread output_received = Signal(str) # For command output lines command_finished = Signal(bool, int) # For completion (success, exit_code) error_occurred = Signal(str) # For errors - + def __init__(self, command, url, path): super().__init__() self.command = command self.url = url self.path = path - + def run_command(self): """Run the yt-dlp command and emit signals for output""" try: @@ -65,11 +58,11 @@ class CommandWorker(QObject): # Build the full command yt_dlp_path = get_yt_dlp_path() base_cmd = [yt_dlp_path] + args - + # Add download path if specified if self.path: base_cmd.extend(["-P", self.path]) - + # Add URL at the end base_cmd.append(self.url) @@ -94,14 +87,14 @@ class CommandWorker(QObject): ret = proc.wait() self.output_received.emit("=" * 50) - + if ret != 0: self.output_received.emit(f"❌ Command failed with exit code {ret}") self.command_finished.emit(False, ret) else: self.output_received.emit("✅ Command completed successfully!") self.command_finished.emit(True, ret) - + except Exception as e: self.output_received.emit("=" * 50) self.error_occurred.emit(f"❌ Error executing command: {str(e)}") @@ -160,7 +153,7 @@ class CustomOptionsDialog(QDialog): # Convert Path to string properly and validate cookie_path_str = str(self._parent.cookie_file_path) # Only set if it looks like a valid path (more than just a drive letter) - if len(cookie_path_str) > 3 and not cookie_path_str.endswith(':'): + if len(cookie_path_str) > 3 and not cookie_path_str.endswith(":"): self.cookie_path_input.setText(cookie_path_str) path_layout.addWidget(self.cookie_path_input) @@ -175,9 +168,7 @@ class CustomOptionsDialog(QDialog): self.cookie_browser_group = QGroupBox("Browser Selection") browser_layout = QVBoxLayout(self.cookie_browser_group) - browser_help = QLabel( - "Select the browser to extract cookies from. Make sure the browser is closed before extraction." - ) + browser_help = QLabel("Select the browser to extract cookies from. Make sure the browser is closed before extraction.") browser_help.setWordWrap(True) browser_help.setStyleSheet("color: #999999; font-size: 11px;") browser_layout.addWidget(browser_help) @@ -186,16 +177,7 @@ class CustomOptionsDialog(QDialog): browser_select_layout.addWidget(QLabel("Browser:")) self.browser_combo = QComboBox() - self.browser_combo.addItems([ - "chrome", - "firefox", - "safari", - "edge", - "opera", - "brave", - "chromium", - "vivaldi" - ]) + self.browser_combo.addItems(["chrome", "firefox", "safari", "edge", "opera", "brave", "chromium", "vivaldi"]) browser_select_layout.addWidget(self.browser_combo) browser_layout.addLayout(browser_select_layout) @@ -261,10 +243,7 @@ class CustomOptionsDialog(QDialog): # Command input self.command_input = QPlainTextEdit() - self.command_input.setPlaceholderText( - "Enter yt-dlp arguments here...\n\n" - "e.g. --extract-audio --audio-format mp3" - ) + self.command_input.setPlaceholderText("Enter yt-dlp arguments here...\n\n" "e.g. --extract-audio --audio-format mp3") self.command_input.setMinimumHeight(80) # Reduced further from 100 self.command_input.setStyleSheet( """ @@ -288,7 +267,7 @@ class CustomOptionsDialog(QDialog): # Button layout button_layout = QHBoxLayout() button_layout.setSpacing(10) - + clear_btn = QPushButton("Clear") clear_btn.clicked.connect(lambda: self.command_input.clear()) clear_btn.setStyleSheet( @@ -308,15 +287,15 @@ class CustomOptionsDialog(QDialog): """ ) button_layout.addWidget(clear_btn) - + button_layout.addStretch() # Push run button to the right - + # Run command button self.run_btn = QPushButton("Run Command") self.run_btn.clicked.connect(self.run_custom_command) self.run_btn.setDefault(True) button_layout.addWidget(self.run_btn) - + command_layout.addLayout(button_layout) # Output label @@ -469,18 +448,18 @@ class CustomOptionsDialog(QDialog): if hasattr(self._parent, "browser_cookies_option") and self._parent.browser_cookies_option: # Browser cookies are active self.cookie_browser_radio.setChecked(True) - browser_parts = self._parent.browser_cookies_option.split(':') + browser_parts = self._parent.browser_cookies_option.split(":") browser = browser_parts[0] profile = browser_parts[1] if len(browser_parts) > 1 else "" - + # Set browser selection index = self.browser_combo.findText(browser) if index >= 0: self.browser_combo.setCurrentIndex(index) - + # Set profile if any self.profile_input.setText(profile) - + self.cookie_status.setText(f"Browser cookies active: {self._parent.browser_cookies_option}") self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") elif hasattr(self._parent, "cookie_file_path") and self._parent.cookie_file_path: @@ -533,7 +512,7 @@ class CustomOptionsDialog(QDialog): if self.cookie_browser_radio.isChecked(): browser = self.browser_combo.currentText() profile = self.profile_input.text().strip() - + if profile: return f"{browser}:{profile}" else: @@ -571,12 +550,12 @@ class CustomOptionsDialog(QDialog): # Create worker and thread self.worker = CommandWorker(command, url, path) self.worker_thread = threading.Thread(target=self.worker.run_command, daemon=True) - + # Connect worker signals to our slots self.worker.output_received.connect(self.on_output_received) self.worker.command_finished.connect(self.on_command_finished) self.worker.error_occurred.connect(self.on_error_occurred) - + # Start the thread self.worker_thread.start() diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py index 0265e9b..a395103 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py @@ -48,7 +48,7 @@ class FFmpegCheckDialog(QDialog): # icon_path logic moved to src\utils\ytsage_constants.py if ICON_PATH.exists(): - self.setWindowIcon(QIcon(ICON_PATH.as_posix())) + self.setWindowIcon(QIcon(str(ICON_PATH))) layout = QVBoxLayout(self) layout.setSpacing(15) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 0fc0ef1..bac857d 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -3,11 +3,13 @@ Settings-related dialogs for YTSage application. Contains dialogs for configuring download settings and auto-update preferences. """ +import threading import time from datetime import datetime import requests -from PySide6.QtCore import Qt +from packaging import version as version_parser +from PySide6.QtCore import Qt, QTimer from PySide6.QtWidgets import ( QButtonGroup, QCheckBox, @@ -25,13 +27,13 @@ from PySide6.QtWidgets import ( QVBoxLayout, ) -from src.core.ytsage_logging import logger from src.core.ytsage_utils import ( check_and_update_ytdlp_auto, get_auto_update_settings, get_ytdlp_version, update_auto_update_settings, ) +from src.utils.ytsage_logger import logger class DownloadSettingsDialog(QDialog): @@ -164,7 +166,7 @@ class DownloadSettingsDialog(QDialog): path_group_box = QGroupBox("Download Path") path_layout = QVBoxLayout() - self.path_display = QLabel(self.current_path) + self.path_display = QLabel(str(self.current_path)) self.path_display.setWordWrap(True) self.path_display.setStyleSheet( "QLabel { color: #ffffff; padding: 5px; border: 1px solid #1b2021; border-radius: 4px; background-color: #1b2021; }" @@ -246,7 +248,7 @@ class DownloadSettingsDialog(QDialog): layout.addWidget(button_box) def browse_new_path(self) -> None: - new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", self.current_path) + new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", str(self.current_path)) if new_path: self.current_path = new_path self.path_display.setText(self.current_path) @@ -329,8 +331,6 @@ class DownloadSettingsDialog(QDialog): current_version = current_version.replace("_", ".") latest_version = latest_version.replace("_", ".") - from packaging import version as version_parser - if version_parser.parse(latest_version) > version_parser.parse(current_version): msg_box = self._create_styled_message_box( QMessageBox.Icon.Information, @@ -349,7 +349,7 @@ class DownloadSettingsDialog(QDialog): msg_box = self._create_styled_message_box( QMessageBox.Icon.Warning, "Update Check", - f"Error checking for updates: {str(e)}", + f"Error checking for updates: {e}", ) msg_box.exec() @@ -381,7 +381,7 @@ class DownloadSettingsDialog(QDialog): else: QMessageBox.warning(self, "Error", "Failed to save auto-update settings.") except Exception as e: - QMessageBox.critical(self, "Error", f"Error saving auto-update settings: {str(e)}") + QMessageBox.critical(self, "Error", f"Error saving auto-update settings: {e}") # Call the parent accept method to close the dialog super().accept() @@ -582,7 +582,7 @@ class AutoUpdateSettingsDialog(QDialog): self.on_enable_toggled(settings["enabled"]) except Exception as e: - logger.error(f"Error loading auto-update settings: {e}") + logger.exception(f"Error loading auto-update settings: {e}") def update_next_check_label(self) -> None: """Update the next check label based on current settings.""" @@ -616,7 +616,7 @@ class AutoUpdateSettingsDialog(QDialog): except Exception as e: self.next_check_label.setText("Next check: Error calculating") - logger.error(f"Error calculating next check time: {e}") + logger.exception(f"Error calculating next check time: {e}") def on_enable_toggled(self, enabled) -> None: """Handle enable/disable checkbox toggle.""" @@ -646,16 +646,12 @@ class AutoUpdateSettingsDialog(QDialog): result = check_and_update_ytdlp_auto() # Update UI in main thread - from PySide6.QtCore import QTimer - QTimer.singleShot(0, lambda: self.manual_check_finished(result)) except Exception as e: - logger.error(f"Error during manual check: {e}") + logger.exception(f"Error during manual check: {e}") QTimer.singleShot(0, lambda: self.manual_check_finished(False)) # Run in separate thread to avoid blocking UI - import threading - threading.Thread(target=check_in_thread, daemon=True).start() def _create_styled_message_box(self, icon, title, text) -> QMessageBox: @@ -738,6 +734,6 @@ class AutoUpdateSettingsDialog(QDialog): ) msg_box.exec() except Exception as e: - logger.error(f"Error saving auto-update settings: {e}") - msg_box = self._create_styled_message_box(QMessageBox.Icon.Critical, "Error", f"❌ Error saving settings: {str(e)}") + logger.exception(f"Error saving auto-update settings: {e}") + msg_box = self._create_styled_message_box(QMessageBox.Icon.Critical, "Error", f"❌ Error saving settings: {e}") msg_box.exec() diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py index 0638e2b..7b94f44 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py @@ -7,6 +7,7 @@ import os import subprocess import sys import time +from importlib.metadata import PackageNotFoundError from pathlib import Path import requests @@ -14,24 +15,26 @@ from packaging import version from PySide6.QtCore import Qt, QThread, QTimer, Signal from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QProgressBar, QPushButton, QVBoxLayout -from src.core.ytsage_logging import logger from src.core.ytsage_utils import get_ytdlp_version, load_config, save_config from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import OS_NAME, SUBPROCESS_CREATIONFLAGS, YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL +from src.utils.ytsage_logger import logger try: - from importlib.metadata import version as importlib_version from importlib.metadata import PackageNotFoundError as ImportlibPackageNotFoundError - + from importlib.metadata import version as importlib_version + def get_version(package_name: str) -> str: return importlib_version(package_name) - + PackageNotFoundError = ImportlibPackageNotFoundError except ImportError: # Fallback for older Python versions import pkg_resources + def get_version(package_name: str) -> str: return pkg_resources.get_distribution(package_name).version + PackageNotFoundError = pkg_resources.DistributionNotFound try: @@ -71,7 +74,7 @@ class VersionCheckThread(QThread): else: error_message = "yt-dlp not available." self.finished.emit(current_version, latest_version, error_message) - return + return except subprocess.TimeoutExpired: # Try fallback if timeout if YT_DLP_AVAILABLE: @@ -162,11 +165,11 @@ class UpdateThread(QThread): error_message = "❌ Failed to update yt-dlp. Please try again or check your internet connection." except requests.RequestException as e: - error_message = f"❌ Network error during update: {str(e)}" + error_message = f"❌ Network error during update: {e}" self.update_status.emit(error_message) success = False except Exception as e: - error_message = f"❌ Update failed: {str(e)}" + error_message = f"❌ Update failed: {e}" self.update_status.emit(error_message) success = False @@ -207,7 +210,7 @@ class UpdateThread(QThread): return False except Exception as e: - logger.error(f"UpdateThread: Unexpected error during update: {e}", exc_info=True) + logger.exception(f"UpdateThread: Unexpected error during update: {e}") self.update_status.emit(f"❌ Unexpected error during update: {e}") return False @@ -553,10 +556,7 @@ class AutoUpdateThread(QThread): logger.warning(f"AutoUpdateThread: Network error during auto-update check: {e}") self.update_finished.emit(False, f"Network error: {e}") except Exception as e: - logger.error( - f"AutoUpdateThread: Error during auto-update check: {e}", - exc_info=True, - ) + logger.exception(f"AutoUpdateThread: Error during auto-update check: {e}", exc_info=True) self.update_finished.emit(False, f"Update check error: {e}") except Exception as e: @@ -595,7 +595,7 @@ class AutoUpdateThread(QThread): return self._update_via_pip() except Exception as e: - logger.error(f"AutoUpdateThread: Error in _perform_update: {e}", exc_info=True) + logger.exception(f"AutoUpdateThread: Error in _perform_update: {e}") return False def _update_binary(self, yt_dlp_path: Path) -> bool: @@ -629,7 +629,7 @@ class AutoUpdateThread(QThread): return False except Exception as e: - logger.error(f"AutoUpdateThread: Unexpected error during update: {e}", exc_info=True) + logger.exception(f"AutoUpdateThread: Unexpected error during update: {e}") return False def _update_via_pip(self) -> bool: @@ -684,5 +684,5 @@ class AutoUpdateThread(QThread): return True except Exception as e: - logger.error(f"AutoUpdateThread: Pip update failed: {e}", exc_info=True) + logger.exception(f"AutoUpdateThread: Pip update failed: {e}") return False diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 828cf3c..012c14e 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -1,7 +1,12 @@ +from typing import TYPE_CHECKING, cast + from PySide6.QtCore import QObject, Qt, Signal from PySide6.QtGui import QColor from PySide6.QtWidgets import QCheckBox, QHBoxLayout, QHeaderView, QSizePolicy, QTableWidget, QTableWidgetItem, QWidget +if TYPE_CHECKING: + from src.gui.ytsage_gui_main import YTSageApp + class FormatSignals(QObject): format_update = Signal(list) @@ -9,8 +14,9 @@ class FormatSignals(QObject): class FormatTableMixin: def setup_format_table(self) -> QTableWidget: - self.format_signals = FormatSignals() + self = cast("YTSageApp", self) # for autocompletion and type inference. + self.format_signals = FormatSignals() # Format table with improved styling self.format_table = QTableWidget() self.format_table.setColumnCount(8) @@ -124,6 +130,8 @@ class FormatTableMixin: return self.format_table def filter_formats(self) -> None: + self = cast("YTSageApp", self) # for autocompletion and type inference. + if not hasattr(self, "all_formats"): return @@ -165,6 +173,8 @@ class FormatTableMixin: self.format_signals.format_update.emit(filtered_formats) def _update_format_table(self, formats) -> None: + self = cast("YTSageApp", self) # for autocompletion and type inference. + self.format_table.setRowCount(0) self.format_checkboxes.clear() @@ -331,22 +341,30 @@ class FormatTableMixin: self.format_table.setItem(row, 7, notes_item) def handle_checkbox_click(self, clicked_checkbox) -> None: + self = cast("YTSageApp", self) # for autocompletion and type inference. + for checkbox in self.format_checkboxes: if checkbox != clicked_checkbox: checkbox.setChecked(False) def get_selected_format(self): + self = cast("YTSageApp", self) # for autocompletion and type inference. + for checkbox in self.format_checkboxes: if checkbox.isChecked(): return checkbox.format_id return None def update_format_table(self, formats) -> None: + self = cast("YTSageApp", self) # for autocompletion and type inference. + self.all_formats = formats self.format_signals.format_update.emit(formats) def get_quality_label(self, format_info) -> str: """Determine quality label based on format information""" + self = cast("YTSageApp", self) # for autocompletion and type inference. + if format_info.get("vcodec") == "none": # Audio quality abr = format_info.get("abr", 0) @@ -383,17 +401,12 @@ class FormatTableMixin: def _get_format_notes(self, format_info) -> str: """Generate helpful format notes based on format info.""" + self = cast("YTSageApp", self) # for autocompletion and type inference. + notes = [] # Add storage indicator with more granular categories file_size = format_info.get("filesize") or format_info.get("filesize_approx", 0) - resolution = format_info.get("resolution", "") - height = 0 - if resolution: - try: - height = int(resolution.split("x")[1]) - except: - pass # Better file size categories if file_size > 50 * 1024 * 1024: # Over 50MB diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index b0da1ed..5134433 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -5,9 +5,10 @@ import webbrowser from pathlib import Path import markdown +import pyglet import requests from packaging import version -from PySide6.QtCore import Q_ARG, QMetaObject, Qt +from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer from PySide6.QtGui import QIcon from PySide6.QtWidgets import ( QApplication, @@ -28,9 +29,7 @@ from PySide6.QtWidgets import ( ) from src.core.ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes -from src.core.ytsage_logging import logger -from src.core.ytsage_utils import check_ffmpeg # Import utility functions -from src.core.ytsage_utils import load_saved_path, save_path, should_check_for_auto_update, parse_yt_dlp_error +from src.core.ytsage_utils import check_ffmpeg, load_saved_path, parse_yt_dlp_error, save_path, should_check_for_auto_update from src.core.ytsage_yt_dlp import get_yt_dlp_path, setup_ytdlp # Import the new yt-dlp functions from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py AboutDialog, @@ -45,35 +44,24 @@ from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__ from src.gui.ytsage_gui_format_table import FormatTableMixin from src.gui.ytsage_gui_video_info import VideoInfoMixin from src.utils.ytsage_constants import ICON_PATH, SOUND_PATH, SUBPROCESS_CREATIONFLAGS +from src.utils.ytsage_logger import logger try: import yt_dlp - from yt_dlp.utils import ExtractorError, DownloadError + from yt_dlp.utils import DownloadError, ExtractorError YT_DLP_AVAILABLE = True except ImportError: YT_DLP_AVAILABLE = False -try: - import pyglet - - PYGLET_AVAILABLE = True -except ImportError: - PYGLET_AVAILABLE = False - class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins def __init__(self) -> None: super().__init__() - # Initialize logger for this class - self.logger = logger.bind(module="YTSageApp") - # Log startup warnings for missing dependencies if not YT_DLP_AVAILABLE: - self.logger.warning("yt-dlp not available at startup, will be downloaded at runtime") - if not PYGLET_AVAILABLE: - self.logger.warning("pyglet not available, audio notifications disabled") + logger.warning("yt-dlp not available at startup, will be downloaded at runtime") # Check for FFmpeg before proceeding if not check_ffmpeg(): @@ -84,9 +72,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if ytdlp_path == "yt-dlp": # Not found in app dir or PATH self.show_ytdlp_setup_dialog() else: - self.logger.info(f"Using yt-dlp from: {ytdlp_path}") + logger.info(f"Using yt-dlp from: {ytdlp_path}") - self.version = "4.8.0b" + self.version = "4.8.3" self.check_for_updates() # Check for auto-updates if enabled @@ -95,9 +83,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from load_saved_path(self) # Load custom icon if ICON_PATH.exists(): - self.setWindowIcon(QIcon(ICON_PATH.as_posix())) + self.setWindowIcon(QIcon(str(ICON_PATH))) else: - self.logger.warning(f"Icon file not found at {ICON_PATH}. Using default icon.") + logger.warning(f"Icon file not found at {ICON_PATH}. Using default icon.") self.setWindowIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_ArrowDown)) # Fallback self.signals = SignalManager() self.download_paused = False @@ -120,8 +108,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.video_url = "" self.selected_subtitles = [] # Initialize selected subtitles list # Initialize cookie settings - ensure they start clean - self.cookie_file_path = None - self.browser_cookies_option = None + self.cookie_file_path = None + self.browser_cookies_option = None self.speed_limit_value = None # Store speed limit value self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.download_section = None @@ -305,53 +293,23 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Initialize UI state based on current mode self.handle_mode_change() - # Initialize pyglet for sound notifications - self.init_sound() - - def init_sound(self) -> None: - """Initialize pyglet for sound notifications""" - try: - if PYGLET_AVAILABLE: - self.sound_enabled = True - - # sound_path logic moved to src\utils\ytsage_constants.py - self.notification_sound_path = SOUND_PATH - - # Check if the notification sound file exists - if not self.notification_sound_path.exists(): - self.logger.warning(f"Notification sound file not found at: {self.notification_sound_path}") - self.sound_enabled = False - else: - self.logger.info(f"Notification sound loaded from: {self.notification_sound_path}") - else: - self.sound_enabled = False - self.logger.info("Sound notifications disabled - pyglet not available") - - except Exception as e: - self.logger.error(f"Error initializing sound: {e}") - self.sound_enabled = False + # Init_sound method is removed, serve no purpose. def play_notification_sound(self) -> None: - """Play notification sound in a separate thread to avoid blocking the UI""" - if not self.sound_enabled: - return + """Play notification sound asynchronously (non-blocking).""" + try: + # Check if the notification sound file exists + if not SOUND_PATH.exists(): + logger.warning(f"Notification sound file not found at: {SOUND_PATH}") + return - def play_sound() -> None: - try: - if PYGLET_AVAILABLE: - # Play the sound using pyglet - sound = pyglet.media.load(str(self.notification_sound_path)) - sound.play() - - except Exception as e: - self.logger.error(f"Error playing notification sound: {e}") - - # Play sound in a separate thread to avoid blocking the UI - sound_thread = threading.Thread(target=play_sound) - sound_thread.daemon = True - sound_thread.start() - - # Removed load_saved_path and save_path methods since their functionality is now handled directly by ytsage_utils + # Play the sound using pyglet + # no need for the thread, as .play() is async + sound = pyglet.media.load(str(SOUND_PATH), streaming=False) + sound.play() + logger.debug("Notification sound played") + except Exception as e: + logger.exception(f"Error playing notification sound: {e}") def init_ui(self) -> None: self.setWindowTitle(f"YTSage v{self.version}") @@ -731,6 +689,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Initial extraction with basic options - suppress warnings here too ydl_opts = { + "logger": logger, "quiet": False, "no_warnings": True, # <-- Suppress warnings for initial check "extract_flat": True, @@ -745,30 +704,36 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if self.cookie_file_path: ydl_opts["cookiefile"] = str(self.cookie_file_path) elif self.browser_cookies_option: - ydl_opts["cookiesfrombrowser"] = (self.browser_cookies_option.split(':')[0], - self.browser_cookies_option.split(':')[1] if ':' in self.browser_cookies_option else None) + ydl_opts["cookiesfrombrowser"] = ( + self.browser_cookies_option.split(":")[0], + self.browser_cookies_option.split(":")[1] if ":" in self.browser_cookies_option else None, + ) with yt_dlp.YoutubeDL(ydl_opts) as ydl: try: basic_info = ydl.extract_info(url, download=False) if not basic_info: - # This case usually means the URL is invalid or not found - raise Exception("Invalid URL or video not found. Please check the link and try again.") - except (ExtractorError, DownloadError) as e: - # This is a yt-dlp specific error, use the original message - user_friendly_error = parse_yt_dlp_error(str(e)) - raise Exception(user_friendly_error) + logger.error("Could not extract basic video information") + self.signals.update_status.emit( + "Error: Could not extract basic video information. Please check your link." + ) + # Hide playlist UI on error + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return except Exception as e: - # This is our own exception or other unexpected error - self.logger.error(f"First extraction failed: {str(e)}") - self.logger.error(f"Exception type: {type(e)}") + logger.exception(f"First extraction failed: {e}") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) user_friendly_error = parse_yt_dlp_error(str(e)) - raise Exception(user_friendly_error) + self.signals.update_status.emit(user_friendly_error) + return self.signals.update_status.emit("Analyzing (30%)... Extracting detailed info") # Configure options for detailed extraction (keep other options) # Add no_warnings here as well, as this is where detailed info is fetched ydl_opts_detail = { + "logger": logger, "extract_flat": False, "format": None, "writesubtitles": True, @@ -785,8 +750,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if self.cookie_file_path: ydl_opts_detail["cookiefile"] = str(self.cookie_file_path) elif self.browser_cookies_option: - ydl_opts_detail["cookiesfrombrowser"] = (self.browser_cookies_option.split(':')[0], - self.browser_cookies_option.split(':')[1] if ':' in self.browser_cookies_option else None) + ydl_opts_detail["cookiesfrombrowser"] = ( + self.browser_cookies_option.split(":")[0], + self.browser_cookies_option.split(":")[1] if ":" in self.browser_cookies_option else None, + ) # Use a separate options dict for the detailed extraction with yt_dlp.YoutubeDL(ydl_opts_detail) as ydl_detail: @@ -800,25 +767,30 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Ensure there are entries before proceeding if not self.playlist_entries: - raise Exception("Playlist contains no valid videos.") - + logger.error("Playlist contains no valid videos.") + self.signals.update_status.emit("Error: Playlist contains no valid videos.") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return # Extract detailed info for the FIRST video in the playlist # This provides formats/subs for the UI, assuming consistency first_video_url = self.playlist_entries[0].get("url") if not first_video_url: - raise Exception("Could not get URL for the first playlist video.") + logger.error("Could not get URL for the first playlist video.") + self.signals.update_status.emit("Error: Could not get URL for the first playlist video.") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return try: # Use the ydl_detail instance with no_warnings self.video_info = ydl_detail.extract_info(first_video_url, download=False) - except (ExtractorError, DownloadError) as first_video_error: - # Use error parser for yt-dlp specific playlist video errors - user_friendly_error = parse_yt_dlp_error(str(first_video_error)) - raise Exception(f"Failed to extract info for the first playlist video: {user_friendly_error}") - except Exception as first_video_error: - # Use error parser for other playlist video errors too - user_friendly_error = parse_yt_dlp_error(str(first_video_error)) - raise Exception(f"Failed to extract info for the first playlist video: {user_friendly_error}") - + except Exception as e: + logger.exception(f"Failed to extract info for the first playlist video: {e}") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + user_friendly_error = parse_yt_dlp_error(str(e)) + self.signals.update_status.emit(user_friendly_error) + return # Update playlist info label text (remains the same) playlist_text = ( f"Playlist: {basic_info.get('title', 'Unknown Playlist')} | " f"{len(self.playlist_entries)} videos" @@ -847,8 +819,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Verify we have format information if not self.video_info or "formats" not in self.video_info: - self.logger.debug(f"video_info keys: {self.video_info.keys() if self.video_info else 'None'}") - raise Exception("No format information available") + logger.debug(f"video_info keys: {self.video_info.keys() if self.video_info else 'None'}") + self.signals.update_status.emit("Error: No format information available.") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return self.signals.update_status.emit("Analyzing (60%)... Processing formats") self.all_formats = self.video_info["formats"] @@ -861,7 +836,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Try to get thumbnail from playlist info first # Fallback to video thumbnail if playlist thumbnail not found or not a playlist thumbnail_url = (self.playlist_info or {}).get("thumbnail") or (self.video_info or {}).get("thumbnail") - self.download_thumbnail(thumbnail_url) # Save thumbnail if enabled - use the stored VIDEO URL @@ -901,22 +875,19 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.video_button.setChecked(True) self.audio_button.setChecked(False) self.filter_formats() - self.signals.update_status.emit("Analysis complete!") - except (ExtractorError, DownloadError) as e: - logger.error(f"yt-dlp detailed extraction failed: {e}", exc_info=True) - # Use the error parser for yt-dlp specific errors - user_friendly_error = parse_yt_dlp_error(str(e)) - raise Exception(user_friendly_error) except Exception as e: - logger.error(f"Detailed extraction failed: {e}", exc_info=True) + logger.exception(f"Detailed extraction failed: {e}") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) # Use the error parser for other extraction errors too user_friendly_error = parse_yt_dlp_error(str(e)) - raise Exception(user_friendly_error) + self.signals.update_status.emit(user_friendly_error) + return except Exception as e: - self.logger.error(f"Error in analysis: {e}", exc_info=True) + logger.exception(f"Error in analysis: {e}") self.signals.update_status.emit(f"Error: {e}") # Ensure playlist UI is hidden on error too # update signal method from QMetaObject.invokeMethod to signals @@ -944,7 +915,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.last_path = new_path save_path(self, self.last_path) # Save the updated path path_changed = True - self.logger.info(f"Download path updated to: {self.last_path}") + logger.info(f"Download path updated to: {self.last_path}") # Update Speed Limit new_limit_value = dialog.get_selected_speed_limit() @@ -954,7 +925,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.speed_limit_value = new_limit_value self.speed_limit_unit_index = new_unit_index limit_changed = True - self.logger.info( + logger.info( f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}" ) @@ -1030,7 +1001,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from try: self.download_thumbnail_file(url, path) except Exception as e: - self.logger.warning(f"Thumbnail download failed: {e}") + logger.warning(f"Thumbnail download failed: {e}", exc_info=True) # Optionally inform the user, but don't stop the main download # Create download thread with resolution in output template @@ -1116,7 +1087,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from int_value = int(value) self.progress_bar.setValue(int_value) except Exception as e: - self.logger.error(f"Progress bar update error: {str(e)}") + logger.exception(f"Progress bar update error: {e}") def toggle_pause(self) -> None: if self.current_download: @@ -1145,7 +1116,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from changelog = latest_release.get("body", "No changelog available.") # Get changelog body self.show_update_dialog(latest_version, latest_release["html_url"], changelog) # Pass changelog except Exception as e: - self.logger.error(f"Failed to check for updates: {str(e)}", exc_info=True) + logger.exception(f"Failed to check for updates: {e}") def show_update_dialog(self, latest_version, release_url, changelog) -> None: # Added changelog parameter msg = QDialog(self) @@ -1161,7 +1132,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Fallback to icon file # icon_path logic moved to src\utils\ytsage_constants.py if ICON_PATH.exists(): - msg.setWindowIcon(QIcon(ICON_PATH.as_posix())) + msg.setWindowIcon(QIcon(str(ICON_PATH))) except Exception: pass @@ -1224,7 +1195,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from ) changelog_text.setHtml(html_changelog) except Exception as e: - self.logger.warning(f"Error converting changelog markdown to HTML: {e}") + logger.warning(f"Error converting changelog markdown to HTML: {e}", exc_info=True) changelog_text.setPlainText(changelog) # Fallback to plain text changelog_text.setStyleSheet( @@ -1339,14 +1310,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from try: # Check if auto-update should be performed if should_check_for_auto_update(): - self.logger.info("Performing auto-update check for yt-dlp...") + logger.info("Performing auto-update check for yt-dlp...") # Perform the auto-update in a non-blocking way # We don't want to block the UI startup for this - from PySide6.QtCore import QTimer - QTimer.singleShot(2000, self._perform_auto_update) # Delay 2 seconds after startup except Exception as e: - self.logger.error(f"Error in auto-update check: {e}", exc_info=True) + logger.exception(f"Error in auto-update check: {e}") def _perform_auto_update(self) -> None: """Actually perform the auto-update check and update if needed in a background thread.""" @@ -1357,14 +1326,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.auto_update_thread.update_finished.connect(self._on_auto_update_finished) self.auto_update_thread.start() except Exception as e: - self.logger.error(f"Error starting auto-update thread: {e}", exc_info=True) + logger.exception(f"Error starting auto-update thread: {e}") def _on_auto_update_finished(self, success, message) -> None: """Handle auto-update completion.""" if success: - self.logger.info(f"Auto-update completed successfully: {message}") + logger.info(f"Auto-update completed successfully: {message}") else: - self.logger.warning(f"Auto-update completed with issues: {message}") + logger.warning(f"Auto-update completed with issues: {message}") # Clean up the thread reference and ensure it's properly finished if hasattr(self, "auto_update_thread"): @@ -1382,26 +1351,26 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from try: # Stop the auto-update thread if it's running if hasattr(self, "auto_update_thread") and self.auto_update_thread.isRunning(): - self.logger.info("Stopping auto-update thread...") + logger.info("Stopping auto-update thread...") self.auto_update_thread.quit() if not self.auto_update_thread.wait(3000): # Wait up to 3 seconds for graceful shutdown - self.logger.warning("Force terminating auto-update thread...") + logger.warning("Force terminating auto-update thread...") self.auto_update_thread.terminate() self.auto_update_thread.wait(1000) # Wait for termination # Cancel any running downloads if self.current_download and self.current_download.isRunning(): - self.logger.info("Canceling running download...") + logger.info("Canceling running download...") self.current_download.cancel() if not self.current_download.wait(3000): # Wait up to 3 seconds for graceful shutdown - self.logger.warning("Force terminating download thread...") + logger.warning("Force terminating download thread...") self.current_download.terminate() self.current_download.wait(1000) # Wait for termination - self.logger.info("Application closing...") + logger.info("Application closing...") event.accept() except Exception as e: - self.logger.error(f"Error during application close: {e}", exc_info=True) + logger.exception(f"Error during application close: {e}") event.accept() # Accept the close event anyway def show_custom_options(self) -> None: @@ -1410,14 +1379,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Handle cookies cookie_path = dialog.get_cookie_file_path() browser_cookies = dialog.get_browser_cookies_option() - + # Clear both first to avoid conflicts self.cookie_file_path = None self.browser_cookies_option = None - + if cookie_path: self.cookie_file_path = cookie_path - self.logger.info(f"Selected cookie file: {self.cookie_file_path}") + logger.info(f"Selected cookie file: {self.cookie_file_path}") QMessageBox.information( self, "Cookie File Selected", @@ -1425,7 +1394,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from ) elif browser_cookies: self.browser_cookies_option = browser_cookies - self.logger.info(f"Selected browser cookies: {self.browser_cookies_option}") + logger.info(f"Selected browser cookies: {self.browser_cookies_option}") QMessageBox.information( self, "Browser Cookies Selected", @@ -1499,32 +1468,32 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # --- Add Toggle Methods Here --- def toggle_save_thumbnail(self, state) -> None: - self.logger.debug(f"Raw thumbnail state received: {state}") # Debug: Print raw state + logger.debug(f"Raw thumbnail state received: {state}") # Debug: Print raw state self.save_thumbnail = bool(state == 2) # Compare state directly with 2 (Checked state) - self.logger.debug(f"Save thumbnail toggled: {self.save_thumbnail}") + logger.debug(f"Save thumbnail toggled: {self.save_thumbnail}") def toggle_save_description(self, state) -> None: - self.logger.debug(f"Raw description state received: {state}") # Debug: Print raw state + logger.debug(f"Raw description state received: {state}") # Debug: Print raw state self.save_description = bool(state == 2) # Compare state directly with 2 (Checked state) - self.logger.debug(f"Save description toggled: {self.save_description}") + logger.debug(f"Save description toggled: {self.save_description}") def toggle_embed_chapters(self, state) -> None: - self.logger.debug(f"Raw chapters state received: {state}") # Debug: Print raw state + logger.debug(f"Raw chapters state received: {state}") # Debug: Print raw state self.embed_chapters = bool(state == 2) # Compare state directly with 2 (Checked state) - self.logger.debug(f"Embed chapters toggled: {self.embed_chapters}") + logger.debug(f"Embed chapters toggled: {self.embed_chapters}") # --- End Toggle Methods --- def open_playlist_selection_dialog(self) -> None: if not self.is_playlist or not self.playlist_entries: - self.logger.info("No playlist data available to select from.") + logger.info("No playlist data available to select from.") return dialog = PlaylistSelectionDialog(self.playlist_entries, self.selected_playlist_items, self) if dialog.exec(): self.selected_playlist_items = dialog.get_selected_items_string() - self.logger.info(f"Playlist items selected: {self.selected_playlist_items}") + logger.info(f"Playlist items selected: {self.selected_playlist_items}") # Update button text (this call is safe as it happens in the main thread after dialog closes) if self.selected_playlist_items is None: @@ -1612,11 +1581,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Handle cookies cookie_path = dialog.get_cookie_file_path() browser_cookies = dialog.get_browser_cookies_option() - + if cookie_path: self.cookie_file_path = cookie_path self.browser_cookies_option = None # Clear browser cookies if file is used - self.logger.info(f"Selected cookie file: {self.cookie_file_path}") + logger.info(f"Selected cookie file: {self.cookie_file_path}") QMessageBox.information( self, "Cookie File Selected", @@ -1625,7 +1594,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from elif browser_cookies: self.browser_cookies_option = browser_cookies self.cookie_file_path = None # Clear file cookies if browser is used - self.logger.info(f"Selected browser cookies: {self.browser_cookies_option}") + logger.info(f"Selected browser cookies: {self.browser_cookies_option}") QMessageBox.information( self, "Browser Cookies Selected", @@ -1717,7 +1686,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from try: yt_dlp_path = get_yt_dlp_path() if not yt_dlp_path: - raise Exception("yt-dlp executable not found. Please install yt-dlp first.") + logger.error("yt-dlp executable not found. Please install yt-dlp first.") + self.signals.update_status.emit("Error: yt-dlp executable not found. Please install yt-dlp first.") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return self.signals.update_status.emit("Analyzing (30%)... Extracting info with yt-dlp executable") @@ -1740,16 +1713,29 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) if result.returncode != 0: - raise Exception(f"yt-dlp failed: {result.stderr}") + logger.error(f"yt-dlp failed: {result.stderr}") + self.signals.update_status.emit(f"Error: yt-dlp failed: {result.stderr}") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return - # Parse JSON output - yt-dlp outputs one JSON object per line for playlists json_lines = [line.strip() for line in result.stdout.strip().split("\n") if line.strip()] if not json_lines: - raise Exception("No data returned from yt-dlp") + logger.error("No data returned from yt-dlp") + self.signals.update_status.emit("Error: No data returned from yt-dlp") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return - # Parse first JSON object to determine if it's a playlist - first_info = json.loads(json_lines[0]) + try: + first_info = json.loads(json_lines[0]) + except json.JSONDecodeError as e: + logger.error(f"Failed to parse yt-dlp output: {e}") + self.signals.update_status.emit(f"Error: Failed to parse yt-dlp output: {e}") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return self.signals.update_status.emit("Analyzing (60%)... Processing data") @@ -1770,7 +1756,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from continue if not self.playlist_entries: - raise Exception("Playlist contains no valid videos.") + logger.error("Playlist contains no valid videos.") + self.signals.update_status.emit("Error: Playlist contains no valid videos.") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return # Use first video for format information self.video_info = self.playlist_entries[0] @@ -1806,7 +1796,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Verify we have format information if not self.video_info or "formats" not in self.video_info: - raise Exception("No format information available") + logger.error("No format information available") + self.signals.update_status.emit("Error: No format information available.") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return self.signals.update_status.emit("Analyzing (75%)... Processing formats") self.all_formats = self.video_info["formats"] @@ -1845,8 +1839,17 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.update_status.emit("Analysis complete!") except subprocess.TimeoutExpired: - raise Exception("Analysis timed out. Please try again.") + logger.error("Analysis timed out. Please try again.") + self.signals.update_status.emit("Error: Analysis timed out. Please try again.") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) except json.JSONDecodeError as e: - raise Exception(f"Failed to parse yt-dlp output: {str(e)}") + logger.error(f"Failed to parse yt-dlp output: {e}") + self.signals.update_status.emit(f"Error: Failed to parse yt-dlp output: {e}") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) except Exception as e: - raise Exception(f"Analysis failed: {str(e)}") + logger.error(f"Analysis failed: {e}") + self.signals.update_status.emit(f"Error: Analysis failed: {e}") + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) diff --git a/src/gui/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py index 362524d..56353ca 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -2,22 +2,28 @@ import re from datetime import datetime from io import BytesIO from pathlib import Path +from typing import TYPE_CHECKING, cast import requests from PIL import Image from PySide6.QtCore import Qt from PySide6.QtGui import QPixmap -from PySide6.QtWidgets import QHBoxLayout, QLabel, QMainWindow, QPushButton, QVBoxLayout, QWidget +from PySide6.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout, QWidget -from src.core.ytsage_logging import logger from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py SponsorBlockCategoryDialog, SubtitleSelectionDialog, ) +from src.utils.ytsage_logger import logger + +if TYPE_CHECKING: + from src.gui.ytsage_gui_main import YTSageApp class VideoInfoMixin: def setup_video_info_section(self) -> QHBoxLayout: + self = cast("YTSageApp", self) # for autocompletion and type inference. + # Create a horizontal layout for thumbnail and video info media_info_layout = QHBoxLayout() media_info_layout.setSpacing(15) @@ -184,6 +190,8 @@ class VideoInfoMixin: return media_info_layout def setup_playlist_info_section(self) -> QLabel: + self = cast("YTSageApp", self) # for autocompletion and type inference. + self.playlist_info_label = QLabel() self.playlist_info_label.setVisible(False) self.playlist_info_label.setStyleSheet( @@ -205,6 +213,8 @@ class VideoInfoMixin: return self.playlist_info_label def update_video_info(self, info) -> None: + self = cast("YTSageApp", self) # for autocompletion and type inference. + if hasattr(self, "is_playlist") and self.is_playlist: # Playlist Mode: Show playlist title and video count self.title_label.setText(self.playlist_info.get("title", "Unknown Playlist")) @@ -260,6 +270,8 @@ class VideoInfoMixin: self.duration_label.setText(f"Duration: {duration_str}") def open_subtitle_dialog(self) -> None: + self = cast("YTSageApp", self) # for autocompletion and type inference. + if not hasattr(self, "available_subtitles") or not hasattr(self, "available_automatic_subtitles"): logger.warning("Subtitle info not loaded yet.") return @@ -274,16 +286,8 @@ class VideoInfoMixin: self, # Parent for the dialog ) - # Access the main application window (parent of the mixin's widget) - # to find the merge checkbox - main_window = self # In this context, self should be the YTSageApp instance - if not isinstance(main_window, QMainWindow): - # If the structure is different, this might need adjustment - # Maybe self.parentWidget() or similar depending on how Mixin is used - logger.warning("Cannot find main window to access merge checkbox.") - merge_checkbox = None - else: - merge_checkbox = getattr(main_window, "merge_subs_checkbox", None) + # removed extra logic for mapping to main_windows + merge_checkbox = getattr(self, "merge_subs_checkbox", None) if dialog.exec(): # If user clicks OK self.selected_subtitles = dialog.get_selected_subtitles() @@ -296,7 +300,7 @@ class VideoInfoMixin: # Enable/disable the merge checkbox in the parent window if merge_checkbox: # Only enable merge checkbox if we're not in Audio Only mode - is_audio_only = hasattr(main_window, "audio_button") and main_window.audio_button.isChecked() + is_audio_only = hasattr(self, "audio_button") and self.audio_button.isChecked() # In audio-only mode, we still allow subtitle selection but not merging should_enable = count > 0 and not is_audio_only merge_checkbox.setEnabled(should_enable) @@ -310,6 +314,8 @@ class VideoInfoMixin: def open_sponsorblock_dialog(self) -> None: """Open the SponsorBlock category selection dialog.""" + self = cast("YTSageApp", self) # for autocompletion and type inference. + # Initialize selected categories if not exists or empty (first time opening) if not hasattr(self, "selected_sponsorblock_categories") or not self.selected_sponsorblock_categories: # Use None to let the dialog set its own defaults @@ -326,6 +332,8 @@ class VideoInfoMixin: def _update_sponsorblock_display(self) -> None: """Update the SponsorBlock button and label to reflect current selection.""" + self = cast("YTSageApp", self) # for autocompletion and type inference. + if not hasattr(self, "selected_sponsorblock_categories"): self.selected_sponsorblock_categories = [] @@ -347,6 +355,8 @@ class VideoInfoMixin: self.sponsorblock_select_btn.style().polish(self.sponsorblock_select_btn) def download_thumbnail(self, url) -> None: + self = cast("YTSageApp", self) # for autocompletion and type inference. + try: # Store both thumbnail URL and video URL self.thumbnail_url = url @@ -364,7 +374,10 @@ class VideoInfoMixin: pixmap.loadFromData(img_byte_arr.getvalue()) self.thumbnail_label.setPixmap(pixmap) except Exception as e: - logger.error(f"Error loading thumbnail: {str(e)}") + logger.exception(f"Error loading thumbnail: {e}") + + def download_thumbnail_file(self, video_url, path) -> bool: + self = cast("YTSageApp", self) # for autocompletion and type inference. def download_thumbnail_file(self, video_url, path) -> bool: if not self.save_thumbnail: @@ -373,10 +386,11 @@ class VideoInfoMixin: try: # Import yt_dlp locally to avoid import errors when yt-dlp is not installed from yt_dlp import YoutubeDL - + logger.debug(f"Attempting to save thumbnail for URL: {video_url}") ydl_opts = { + "logger": logger, "quiet": True, "skip_download": True, "force_generic_extractor": False, @@ -389,7 +403,7 @@ class VideoInfoMixin: thumbnails = info.get("thumbnails", []) if not thumbnails: - raise ValueError("No thumbnails available") + logger.info("No thumbnails available") thumbnail_url = max( thumbnails, @@ -397,7 +411,7 @@ class VideoInfoMixin: ).get("url") if not thumbnail_url: - raise ValueError("Failed to extract thumbnail URL") + logger.info("Failed to extract thumbnail URL") # Download using requests response = requests.get(thumbnail_url) @@ -418,8 +432,8 @@ class VideoInfoMixin: return True except Exception as e: - error_msg = f"❌ Thumbnail error: {str(e)}" - logger.error(f"Thumbnail Save Error: {str(e)}") + error_msg = f"❌ Thumbnail error: {e}" + logger.exception(f"Thumbnail Save Error: {e}") self.signals.update_status.emit(error_msg) return False diff --git a/src/utils/ytsage_config_manager.py b/src/utils/ytsage_config_manager.py new file mode 100644 index 0000000..062d358 --- /dev/null +++ b/src/utils/ytsage_config_manager.py @@ -0,0 +1,202 @@ +""" +Config Manager Module +===================== + +This module provides **thread-safe** centralized management for application +configuration in YTSage. It handles reading, writing, and managing settings +stored in a JSON file, with support for nested keys via dot notation. + +Thread safety is ensured using a reentrant lock (`RLock`), so multiple threads +can safely access or modify settings concurrently. + +Features +-------- +- Thread-safe operations for getting, setting, and deleting configuration values. +- Loads settings from a JSON config file (`APP_CONFIG_FILE`). +- Creates the config file with default values if missing or corrupt. +- Retrieves, sets, and deletes settings using dot-separated keys. +- Provides safe error handling with logging instead of raising exceptions. +- Persists updates back to disk automatically. + +Usage +----- +from src.utils.ytsage_config_manager import ConfigManager + +# Load settings (auto-loads if not already loaded) +download_path = ConfigManager.get("download_path") + +# Update a value +ConfigManager.set("download_path", "D:/Downloads") + +# Retrieve nested value +last_check = ConfigManager.get("cached_versions.ytdlp.last_check") + +# Delete a key +ConfigManager.delete("cached_versions.ffmpeg.path") + +Design Notes +------------ +- Settings are stored in `ConfigManager.settings` (a dict). +- Default values are defined in `ConfigManager.default_config`. +- All modifications trigger a save (`_save`) to keep JSON in sync. +- Logs actions and errors using the app's central logger. +- Uses `RLock` to allow safe concurrent access from multiple threads. + +Exceptions +---------- +- Any issues during file I/O (permissions, disk errors, JSON corruption) + are caught and logged. The application continues running with defaults + when possible. +""" + +import json +import threading +from typing import Any + +from src.utils.ytsage_constants import APP_CONFIG_FILE, USER_HOME_DIR +from src.utils.ytsage_logger import logger + + +class ConfigManager: + """ + Thread-safe configuration manager for YTSage. + + Provides methods to load, save, get, set, and delete settings stored in a JSON file. + Supports nested keys via dot notation and automatically persists changes. + """ + + _lock = threading.RLock() + _config_file = APP_CONFIG_FILE + _settings: dict[str, Any] = {} + _default_config = { + "download_path": str(USER_HOME_DIR / "Downloads"), + "speed_limit_value": None, + "speed_limit_unit_index": 0, + "cookie_file_path": None, + "last_used_cookie_file": None, + "auto_update_ytdlp": True, + "auto_update_frequency": "daily", + "last_update_check": 0, + "cached_versions": { + "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, + "ffmpeg": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, + }, + } + + @classmethod + def _load(cls) -> None: + """ + Loads configuration settings from a JSON file if it exists and is valid. + If the file is missing or corrupt, loads default settings and creates or overwrites the config file as needed. + Logs actions and errors during the process. + """ + with cls._lock: + if cls._config_file.exists(): + try: + with open(cls._config_file, "r", encoding="utf-8") as f: + cls._settings = json.load(f) + logger.info("Config loaded from file.") + except json.JSONDecodeError: + cls._settings = cls._default_config.copy() + logger.warning("Config file corrupt, loaded defaults.") + else: + cls._settings = cls._default_config.copy() + cls._save() + logger.info("Config file not found, created default config.") + + @classmethod + def _save(cls) -> None: + """ + Save current settings to JSON file. + + Note: + May raise exceptions if the file cannot be written due to permission issues, + disk errors, or other I/O problems. + """ + with cls._lock: + try: + with open(cls._config_file, "w", encoding="utf-8") as f: + json.dump(cls._settings, f, indent=4) + logger.debug("Config saved to file.") + except (OSError, PermissionError) as e: + logger.exception(f"Failed to save config: {e}") + except Exception as e: + logger.exception(f"Unexpected error while saving config: {e}") + + @classmethod + def get(cls, key: str) -> Any: + """ + Retrieve a configuration value using a dotted key notation. + Args: + key (str): The dotted key string representing the path to the desired setting (e.g., "database.host"). + Any: The value associated with the given key, or None if the key does not exist. + Notes: + - If the configuration settings are not loaded, this method will load them before attempting retrieval. + - If any part of the dotted key path is missing, None is returned and a debug message is logged. + """ + with cls._lock: + if not cls._settings: + cls._load() + parts = key.split(".") + value = cls._settings + for part in parts: + if isinstance(value, dict) and part in value: + value = value[part] + else: + logger.debug(f"Config key '{key}' not found.") + return None + return value + + @classmethod + def set(cls, key: str, value: Any) -> None: + """ + Sets a configuration value for a given key. + If the configuration settings are not loaded, loads them first. + Supports nested keys using dot notation (e.g., "database.host"). + Updates the configuration dictionary with the provided value, + saves the updated settings, and logs the change. + Args: + key (str): The configuration key, possibly nested using dots. + value (Any): The value to set for the specified key. + Returns: + None + """ + with cls._lock: + if not cls._settings: + cls._load() + parts = key.split(".") + d = cls._settings + for part in parts[:-1]: + d = d.setdefault(part, {}) + d[parts[-1]] = value + cls._save() + logger.info(f"Config key '{key}' set to '{value}'.") + + @classmethod + def delete(cls, key: str) -> None: + """ + Deletes a configuration key from the settings. + If the key is nested (dot-separated), traverses the settings dictionary accordingly. + If the key exists, removes it and saves the updated settings. + Logs the deletion or if the key was not found. + Args: + key (str): The dot-separated configuration key to delete. + Returns: + None + """ + with cls._lock: + if not cls._settings: + cls._load() + parts = key.split(".") + d = cls._settings + for part in parts[:-1]: + if part not in d: + logger.debug(f"Config key '{key}' not found for deletion.") + return + d = d[part] + if parts[-1] in d: + d.pop(parts[-1], None) + cls._save() + logger.info(f"Config key '{key}' deleted.") + else: + logger.debug(f"Config key '{key}' not found for deletion.") diff --git a/src/utils/ytsage_constants.py b/src/utils/ytsage_constants.py index 62a0d7e..882584d 100644 --- a/src/utils/ytsage_constants.py +++ b/src/utils/ytsage_constants.py @@ -59,14 +59,18 @@ SOUND_PATH: Path = get_asset_path("assets/sound/notification.mp3") OS_NAME: str = platform.system() # Windows ; Darwin ; Linux +IS_FROZEN = getattr(sys, "frozen", False) USER_HOME_DIR: Path = Path.home() # OS Specific Constants if OS_NAME == "Windows": OS_FULL_NAME: str = f"{OS_NAME} {platform.release()}" - # APP_PATH will be from system environment path or fallback to Path.home() - APP_DIR: Path = Path(os.environ.get("LOCALAPPDATA", USER_HOME_DIR / "AppData" / "Local")) / "YTSage" + if IS_FROZEN: + APP_DIR: Path = Path(sys.executable).parent + else: + # APP_PATH will be from system environment path or fallback to Path.home() + APP_DIR: Path = Path(os.environ.get("LOCALAPPDATA", USER_HOME_DIR / "AppData" / "Local")) / "YTSage" APP_BIN_DIR: Path = APP_DIR / "bin" APP_DATA_DIR: Path = APP_DIR / "data" APP_LOG_DIR: Path = APP_DIR / "logs" @@ -74,9 +78,6 @@ if OS_NAME == "Windows": YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe" YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp.exe" - - # Documentation URLs - YTDLP_DOCS_URL: str = "https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#usage-and-options" SUBPROCESS_CREATIONFLAGS: int = subprocess.CREATE_NO_WINDOW @@ -84,7 +85,10 @@ elif OS_NAME == "Darwin": # macOS _mac_version = platform.mac_ver()[0] OS_FULL_NAME: str = f"macOS {_mac_version}" if _mac_version else "macOS" - APP_DIR: Path = USER_HOME_DIR / "Library" / "Application Support" / "YTSage" + if IS_FROZEN: + APP_DIR: Path = Path(sys.executable).parent + else: + APP_DIR: Path = USER_HOME_DIR / "Library" / "Application Support" / "YTSage" APP_BIN_DIR: Path = APP_DIR / "bin" APP_DATA_DIR: Path = APP_DIR / "data" APP_LOG_DIR: Path = APP_DIR / "logs" @@ -92,9 +96,6 @@ elif OS_NAME == "Darwin": # macOS YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos" YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp" - - # Documentation URLs - YTDLP_DOCS_URL: str = "https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#usage-and-options" SUBPROCESS_CREATIONFLAGS: int = 0 @@ -102,7 +103,10 @@ elif OS_NAME == "Darwin": # macOS else: # Linux and other UNIX-like OS_FULL_NAME: str = f"{OS_NAME} {platform.release()}" - APP_DIR: Path = USER_HOME_DIR / ".local" / "share" / "YTSage" + if IS_FROZEN: + APP_DIR: Path = Path(sys.executable).parent + else: + APP_DIR: Path = USER_HOME_DIR / ".local" / "share" / "YTSage" APP_BIN_DIR: Path = APP_DIR / "bin" APP_DATA_DIR: Path = APP_DIR / "data" APP_LOG_DIR: Path = APP_DIR / "logs" @@ -110,12 +114,11 @@ else: # Linux and other UNIX-like YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp" - - # Documentation URLs - YTDLP_DOCS_URL: str = "https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#usage-and-options" SUBPROCESS_CREATIONFLAGS: int = 0 +# Documentation URLs +YTDLP_DOCS_URL: str = "https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#usage-and-options" # ffmpeg download links FFMPEG_7Z_DOWNLOAD_URL = "https://github.com/GyanD/codexffmpeg/releases/download/7.1.1/ffmpeg-7.1.1-full_build.7z" @@ -124,6 +127,7 @@ FFMPEG_ZIP_DOWNLOAD_URL = "https://github.com/GyanD/codexffmpeg/releases/downloa if __name__ == "__main__": # If this file is run directly, print directory information; if imported, create the necessary directories for the application. + # for debug, to check os specific variable which can be different based on os. info = { "OS_NAME": OS_NAME, "OS_FULL_NAME": OS_FULL_NAME, @@ -135,7 +139,6 @@ if __name__ == "__main__": "APP_CONFIG_FILE": str(APP_CONFIG_FILE), "YTDLP_DOWNLOAD_URL": YTDLP_DOWNLOAD_URL, "YTDLP_APP_BIN_PATH": YTDLP_APP_BIN_PATH, - "YTDLP_DOCS_URL": YTDLP_DOCS_URL, "SUBPROCESS_CREATIONFLAGS": SUBPROCESS_CREATIONFLAGS, } for key, value in info.items(): diff --git a/src/utils/ytsage_logger.py b/src/utils/ytsage_logger.py new file mode 100644 index 0000000..a066454 --- /dev/null +++ b/src/utils/ytsage_logger.py @@ -0,0 +1,56 @@ +""" +YTSage centralized logging with loguru. + +- This module provides centralized logging configuration for the entire YTSage application. +- Two log files: ytsage.log (all logs) & ytsage_error.log (errors only). +""" + +import sys + +from loguru import logger + +from src.utils.ytsage_constants import APP_LOG_DIR, IS_FROZEN + +# Separate configs for each handler +CONSOLE_CONFIG = { + "sink": sys.stdout if sys.stdout else sys.stderr, + "level": "INFO", + "colorize": True, + "enqueue": True, +} + +ALL_LOGS_CONFIG = { + "sink": APP_LOG_DIR / "ytsage.log", + "level": "DEBUG", + "rotation": "10 MB", + "retention": "14 days", + "compression": "zip", + "enqueue": True, +} + +ERROR_LOGS_CONFIG = { + "sink": APP_LOG_DIR / "ytsage_error.log", + "level": "ERROR", + "rotation": "5 MB", + "retention": "30 days", + "compression": "zip", + "enqueue": True, +} + + +# Logger initialization +def init_logger() -> None: + """Configure loguru logger using separate configs for each handler.""" + logger.remove() # Remove default loguru handler + + if not IS_FROZEN: + logger.add(**CONSOLE_CONFIG) + logger.add(**ALL_LOGS_CONFIG) + logger.add(**ERROR_LOGS_CONFIG) + + logger.info("YTSage logger initialized") + + +init_logger() + +__all__ = ["logger"] From d6fb9266445c1081e7fa904af534e476b919f04b Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 22 Sep 2025 14:49:58 +0300 Subject: [PATCH 201/568] Add proxy configuration support to downloader and GUI Introduces proxy and geo-verification proxy options to the downloader and GUI dialogs, allowing users to specify network proxies for downloads and geo-restricted content. Updates the DownloadThread and main app logic to pass and apply these proxy settings, and adds validation and status indicators in the custom options dialog. --- src/core/ytsage_downloader.py | 18 ++ .../ytsage_dialogs_custom.py | 184 ++++++++++++++++++ src/gui/ytsage_gui_main.py | 38 ++++ 3 files changed, 240 insertions(+) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index e123ac5..d78f66c 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -59,6 +59,8 @@ class DownloadThread(QThread): rate_limit=None, download_section=None, force_keyframes=False, + proxy_url=None, + geo_proxy_url=None, ) -> None: super().__init__() self.url = url @@ -78,6 +80,8 @@ class DownloadThread(QThread): self.rate_limit = rate_limit self.download_section = download_section self.force_keyframes = force_keyframes + self.proxy_url = proxy_url + self.geo_proxy_url = geo_proxy_url self.paused = False self.cancelled = False self.process = None @@ -156,6 +160,13 @@ class DownloadThread(QThread): self.browser_cookies.split(":")[1] if ":" in self.browser_cookies else None, ) + # Add proxy settings if specified + if self.proxy_url: + ydl_opts_check["proxy"] = self.proxy_url + + if self.geo_proxy_url: + ydl_opts_check["geo_verification_proxy"] = self.geo_proxy_url + if YT_DLP_AVAILABLE: with yt_dlp.YoutubeDL(ydl_opts_check) as ydl: info = ydl.extract_info(self.url, download=False) @@ -324,6 +335,13 @@ class DownloadThread(QThread): elif self.browser_cookies: cmd.extend(["--cookies-from-browser", self.browser_cookies]) + # Add proxy settings if specified + if self.proxy_url: + cmd.extend(["--proxy", self.proxy_url]) + + if self.geo_proxy_url: + cmd.extend(["--geo-verification-proxy", self.geo_proxy_url]) + # Add rate limit if specified if self.rate_limit: cmd.extend(["-r", self.rate_limit]) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 4f166f0..ce78d59 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -326,9 +326,121 @@ class CustomOptionsDialog(QDialog): ) command_layout.addWidget(self.log_output) + # === Proxy Tab === + proxy_tab = QWidget() + proxy_layout = QVBoxLayout(proxy_tab) + + # Help text + proxy_help_text = QLabel( + "Configure proxy settings for network connections and geo-verification.\n" + "Proxy can help bypass regional restrictions and improve download performance." + ) + proxy_help_text.setWordWrap(True) + proxy_help_text.setStyleSheet("color: #999999; padding: 10px;") + proxy_layout.addWidget(proxy_help_text) + + # Main Proxy section + main_proxy_group = QGroupBox("Main Proxy") + main_proxy_layout = QVBoxLayout(main_proxy_group) + + main_proxy_help = QLabel("Use the specified HTTP/HTTPS/SOCKS proxy for all connections.") + main_proxy_help.setWordWrap(True) + main_proxy_help.setStyleSheet("color: #999999; font-size: 11px;") + main_proxy_layout.addWidget(main_proxy_help) + + # Main proxy input + main_proxy_input_layout = QHBoxLayout() + main_proxy_input_layout.addWidget(QLabel("Proxy URL:")) + self.proxy_url_input = QLineEdit() + self.proxy_url_input.setPlaceholderText("e.g., http://proxy.example.com:8080 or socks5://user:pass@127.0.0.1:1080") + self.proxy_url_input.textChanged.connect(self.validate_proxy_inputs) + main_proxy_input_layout.addWidget(self.proxy_url_input) + main_proxy_layout.addLayout(main_proxy_input_layout) + + # Example text + example_label = QLabel("Examples: http://proxy.com:8080, https://proxy.com:8080, socks5://127.0.0.1:1080") + example_label.setStyleSheet("color: #888888; font-size: 10px; font-style: italic;") + main_proxy_layout.addWidget(example_label) + + proxy_layout.addWidget(main_proxy_group) + + # Geo-verification Proxy section + geo_proxy_group = QGroupBox("Geo-verification Proxy") + geo_proxy_layout = QVBoxLayout(geo_proxy_group) + + geo_proxy_help = QLabel( + "Use this proxy to verify IP address for geo-restricted sites. " + "The main proxy (if set) is used for actual downloading." + ) + geo_proxy_help.setWordWrap(True) + geo_proxy_help.setStyleSheet("color: #999999; font-size: 11px;") + geo_proxy_layout.addWidget(geo_proxy_help) + + # Geo proxy input + geo_proxy_input_layout = QHBoxLayout() + geo_proxy_input_layout.addWidget(QLabel("Geo Proxy URL:")) + self.geo_proxy_url_input = QLineEdit() + self.geo_proxy_url_input.setPlaceholderText("e.g., http://us-proxy.example.com:8080") + self.geo_proxy_url_input.textChanged.connect(self.validate_proxy_inputs) + geo_proxy_input_layout.addWidget(self.geo_proxy_url_input) + geo_proxy_layout.addLayout(geo_proxy_input_layout) + + proxy_layout.addWidget(geo_proxy_group) + + # Proxy status indicator + self.proxy_status = QLabel("") + self.proxy_status.setStyleSheet("color: #999999; font-style: italic;") + proxy_layout.addWidget(self.proxy_status) + + # Clear buttons + clear_layout = QHBoxLayout() + clear_main_proxy_btn = QPushButton("Clear Main Proxy") + clear_main_proxy_btn.clicked.connect(lambda: self.proxy_url_input.clear()) + clear_main_proxy_btn.setStyleSheet( + """ + QPushButton { + padding: 6px 12px; + background-color: #444444; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #555555; + } + """ + ) + clear_layout.addWidget(clear_main_proxy_btn) + + clear_geo_proxy_btn = QPushButton("Clear Geo Proxy") + clear_geo_proxy_btn.clicked.connect(lambda: self.geo_proxy_url_input.clear()) + clear_geo_proxy_btn.setStyleSheet( + """ + QPushButton { + padding: 6px 12px; + background-color: #444444; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #555555; + } + """ + ) + clear_layout.addWidget(clear_geo_proxy_btn) + + clear_layout.addStretch() + proxy_layout.addLayout(clear_layout) + + proxy_layout.addStretch() + # Add tabs to the tab widget self.tab_widget.addTab(cookies_tab, "Login with Cookies") self.tab_widget.addTab(command_tab, "Custom Command") + self.tab_widget.addTab(proxy_tab, "Proxy") # Dialog buttons button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) @@ -523,6 +635,78 @@ class CustomOptionsDialog(QDialog): """Returns True if browser cookies mode is selected""" return self.cookie_browser_radio.isChecked() + def get_proxy_url(self) -> str | None: + """Returns the main proxy URL if specified""" + proxy_url = self.proxy_url_input.text().strip() + return proxy_url if proxy_url else None + + def get_geo_proxy_url(self) -> str | None: + """Returns the geo-verification proxy URL if specified""" + geo_proxy_url = self.geo_proxy_url_input.text().strip() + return geo_proxy_url if geo_proxy_url else None + + def validate_proxy_url(self, url: str) -> bool: + """Basic validation for proxy URL format""" + if not url: + return True # Empty is OK + + # Check if it starts with a valid scheme + valid_schemes = ['http://', 'https://', 'socks5://', 'socks4://'] + if not any(url.lower().startswith(scheme) for scheme in valid_schemes): + return False + + # Basic URL format check (contains at least host:port) + try: + # Remove the scheme to check host:port part + for scheme in valid_schemes: + if url.lower().startswith(scheme): + host_port = url[len(scheme):] + break + + # Skip user:pass@ part if present + if '@' in host_port: + host_port = host_port.split('@')[1] + + # Should have at least host:port + if ':' in host_port: + host, port = host_port.split(':', 1) + if host and port.isdigit(): + return True + + return False + except: + return False + + def validate_proxy_inputs(self) -> None: + """Validate proxy inputs and update status""" + main_proxy = self.proxy_url_input.text().strip() + geo_proxy = self.geo_proxy_url_input.text().strip() + + if not main_proxy and not geo_proxy: + self.proxy_status.setText("") + return + + issues = [] + + if main_proxy and not self.validate_proxy_url(main_proxy): + issues.append("Invalid main proxy URL format") + + if geo_proxy and not self.validate_proxy_url(geo_proxy): + issues.append("Invalid geo proxy URL format") + + if issues: + self.proxy_status.setText(" | ".join(issues)) + self.proxy_status.setStyleSheet("color: #ff6666; font-style: italic;") + else: + status_parts = [] + if main_proxy: + status_parts.append("Main proxy configured") + if geo_proxy: + status_parts.append("Geo proxy configured") + + self.proxy_status.setText(" | ".join(status_parts)) + self.proxy_status.setStyleSheet("color: #00cc00; font-style: italic;") + def run_custom_command(self) -> None: url = self._parent.url_input.text().strip() if not url: diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 5134433..37f07c3 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -110,6 +110,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Initialize cookie settings - ensure they start clean self.cookie_file_path = None self.browser_cookies_option = None + # Initialize proxy settings + self.proxy_url = None + self.geo_proxy_url = None self.speed_limit_value = None # Store speed limit value self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.download_section = None @@ -1023,6 +1026,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from rate_limit=rate_limit, # Pass the calculated rate limit download_section=self.download_section, # Pass the download section force_keyframes=self.force_keyframes, # Pass the force keyframes setting + proxy_url=self.proxy_url, # Pass the proxy URL + geo_proxy_url=self.geo_proxy_url, # Pass the geo-verification proxy URL ) # Connect signals @@ -1402,6 +1407,32 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from ) # If neither is selected, both remain None (cleared above) + # Handle proxy options + proxy_url = dialog.get_proxy_url() + geo_proxy_url = dialog.get_geo_proxy_url() + + # Clear existing proxy settings + self.proxy_url = None + self.geo_proxy_url = None + + if proxy_url: + self.proxy_url = proxy_url + logger.info(f"Main proxy set: {self.proxy_url}") + QMessageBox.information( + self, + "Proxy Set", + f"Main proxy set: {proxy_url}", + ) + + if geo_proxy_url: + self.geo_proxy_url = geo_proxy_url + logger.info(f"Geo-verification proxy set: {self.geo_proxy_url}") + QMessageBox.information( + self, + "Geo Proxy Set", + f"Geo-verification proxy set: {geo_proxy_url}", + ) + def show_about_dialog(self) -> None: # ADDED METHOD HERE dialog = AboutDialog(self) dialog.exec() @@ -1708,6 +1739,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from elif self.browser_cookies_option: cmd.extend(["--cookies-from-browser", self.browser_cookies_option]) + # Add proxy settings if available + if self.proxy_url: + cmd.extend(["--proxy", self.proxy_url]) + + if self.geo_proxy_url: + cmd.extend(["--geo-verification-proxy", self.geo_proxy_url]) + # Execute command with hidden console window on Windows # Extra logic moved to src\utils\ytsage_constants.py result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) From 16b50934abdc12b2ddafa54a6953c36619ac95f9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 22 Sep 2025 15:06:49 +0300 Subject: [PATCH 202/568] Persist proxy settings in config manager Proxy settings (main and geo-verification) are now loaded from and saved to the ConfigManager. The dialogs and main app have been updated to initialize and persist proxy values, and user feedback is improved for proxy changes and clearing. --- .../ytsage_dialogs_custom.py | 33 ++++++++++++++++++- src/gui/ytsage_gui_main.py | 32 ++++++++++++------ src/utils/ytsage_config_manager.py | 2 ++ 3 files changed, 56 insertions(+), 11 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index ce78d59..61218d0 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -30,6 +30,7 @@ from PySide6.QtWidgets import ( from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import YTDLP_DOCS_URL +from src.utils.ytsage_config_manager import ConfigManager if TYPE_CHECKING: from src.gui.ytsage_gui_main import YTSageApp # only for type hints (no runtime import) @@ -554,6 +555,7 @@ class CustomOptionsDialog(QDialog): # Initialize dialog with current settings (after all widgets and styles are set) self._initialize_cookie_settings() + self._initialize_proxy_settings() def _initialize_cookie_settings(self) -> None: """Initialize the dialog with current cookie settings from parent""" @@ -583,6 +585,22 @@ class CustomOptionsDialog(QDialog): # No cookies configured - ensure file radio is selected by default self.cookie_file_radio.setChecked(True) + def _initialize_proxy_settings(self) -> None: + """Initialize the dialog with current proxy settings from config""" + # Load proxy settings from config + proxy_url = ConfigManager.get("proxy_url") + geo_proxy_url = ConfigManager.get("geo_proxy_url") + + # Set proxy field values if they exist + if proxy_url: + self.proxy_url_input.setText(proxy_url) + + if geo_proxy_url: + self.geo_proxy_url_input.setText(geo_proxy_url) + + # Update validation status + self.validate_proxy_inputs() + def on_cookie_source_changed(self) -> None: """Handle cookie source radio button changes""" if self.cookie_file_radio.isChecked(): @@ -683,7 +701,20 @@ class CustomOptionsDialog(QDialog): geo_proxy = self.geo_proxy_url_input.text().strip() if not main_proxy and not geo_proxy: - self.proxy_status.setText("") + # Check if there are saved settings + saved_main = ConfigManager.get("proxy_url") + saved_geo = ConfigManager.get("geo_proxy_url") + + if saved_main or saved_geo: + status_parts = [] + if saved_main: + status_parts.append(f"Saved main proxy: {saved_main}") + if saved_geo: + status_parts.append(f"Saved geo proxy: {saved_geo}") + self.proxy_status.setText(" | ".join(status_parts)) + self.proxy_status.setStyleSheet("color: #888888; font-style: italic;") + else: + self.proxy_status.setText("") return issues = [] diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 37f07c3..8018773 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -45,6 +45,7 @@ from src.gui.ytsage_gui_format_table import FormatTableMixin from src.gui.ytsage_gui_video_info import VideoInfoMixin from src.utils.ytsage_constants import ICON_PATH, SOUND_PATH, SUBPROCESS_CREATIONFLAGS from src.utils.ytsage_logger import logger +from src.utils.ytsage_config_manager import ConfigManager try: import yt_dlp @@ -110,9 +111,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Initialize cookie settings - ensure they start clean self.cookie_file_path = None self.browser_cookies_option = None - # Initialize proxy settings - self.proxy_url = None - self.geo_proxy_url = None + # Initialize proxy settings from config + self.proxy_url = ConfigManager.get("proxy_url") + self.geo_proxy_url = ConfigManager.get("geo_proxy_url") self.speed_limit_value = None # Store speed limit value self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.download_section = None @@ -1411,26 +1412,37 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from proxy_url = dialog.get_proxy_url() geo_proxy_url = dialog.get_geo_proxy_url() - # Clear existing proxy settings - self.proxy_url = None - self.geo_proxy_url = None + # Update instance variables + self.proxy_url = proxy_url + self.geo_proxy_url = geo_proxy_url + # Save proxy settings to config + ConfigManager.set("proxy_url", proxy_url) + ConfigManager.set("geo_proxy_url", geo_proxy_url) + + # Show confirmation messages if proxy_url: - self.proxy_url = proxy_url logger.info(f"Main proxy set: {self.proxy_url}") QMessageBox.information( self, "Proxy Set", - f"Main proxy set: {proxy_url}", + f"Main proxy set and saved: {proxy_url}", ) if geo_proxy_url: - self.geo_proxy_url = geo_proxy_url logger.info(f"Geo-verification proxy set: {self.geo_proxy_url}") QMessageBox.information( self, "Geo Proxy Set", - f"Geo-verification proxy set: {geo_proxy_url}", + f"Geo-verification proxy set and saved: {geo_proxy_url}", + ) + + # Show a combined message if both are cleared + if not proxy_url and not geo_proxy_url and (ConfigManager.get("proxy_url") or ConfigManager.get("geo_proxy_url")): + QMessageBox.information( + self, + "Proxy Settings Cleared", + "All proxy settings have been cleared and saved.", ) def show_about_dialog(self) -> None: # ADDED METHOD HERE diff --git a/src/utils/ytsage_config_manager.py b/src/utils/ytsage_config_manager.py index 062d358..bf83ace 100644 --- a/src/utils/ytsage_config_manager.py +++ b/src/utils/ytsage_config_manager.py @@ -74,6 +74,8 @@ class ConfigManager: "speed_limit_unit_index": 0, "cookie_file_path": None, "last_used_cookie_file": None, + "proxy_url": None, + "geo_proxy_url": None, "auto_update_ytdlp": True, "auto_update_frequency": "daily", "last_update_check": 0, From 377157d4158886c9a9e69566d7b30623b7bff8b6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 22 Sep 2025 15:16:34 +0300 Subject: [PATCH 203/568] Improve partial file cleanup with retry and delays Added a _safe_delete_with_retry method to handle Windows file locking issues when deleting partial files. Introduced delays before cleanup after process termination to ensure file handles are released, reducing errors during file deletion. Error signal emission for cleanup failures is suppressed to avoid thread crashes. --- src/core/ytsage_downloader.py | 43 +++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index d78f66c..029b119 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -99,13 +99,31 @@ class DownloadThread(QThread): pattern = re.compile(r"\.f\d+\.") # Pattern to match format codes like .f243. for file_path in self.path.iterdir(): if file_path.suffix == ".part" or pattern.search(file_path.name): - try: - file_path.unlink(missing_ok=True) - except Exception as e: - logger.exception(f"Error deleting {file_path.name}: {e}") + self._safe_delete_with_retry(file_path) except Exception as e: logger.exception(f"Error cleaning partial files: {e}") - self.error_signal.emit(f"Error cleaning partial files: {e}") + # Don't emit error signal for cleanup issues to avoid crashing the thread + logger.error(f"Error cleaning partial files: {e}") + + def _safe_delete_with_retry(self, file_path: Path, max_retries: int = 3, delay: float = 1.0) -> None: + """Safely delete a file with retry mechanism for Windows file locking issues""" + for attempt in range(max_retries): + try: + if file_path.exists(): + file_path.unlink(missing_ok=True) + logger.info(f"Successfully deleted {file_path.name}") + return + except PermissionError as e: + if "being used by another process" in str(e) and attempt < max_retries - 1: + logger.warning(f"File {file_path.name} is locked, retrying in {delay} seconds... (attempt {attempt + 1}/{max_retries})") + time.sleep(delay) + delay *= 1.5 # Exponential backoff + else: + logger.error(f"Failed to delete {file_path.name} after {max_retries} attempts: {e}") + return + except Exception as e: + logger.error(f"Error deleting {file_path.name}: {e}") + return def cleanup_subtitle_files(self) -> None: """Delete subtitle files after they have been merged into the video file""" @@ -425,6 +443,16 @@ class DownloadThread(QThread): for line in iter(self.process.stdout.readline, ""): # type: ignore if self.cancelled: self.process.terminate() + # Wait for process to actually terminate before cleaning up files + try: + self.process.wait(timeout=5) # Wait up to 5 seconds + except subprocess.TimeoutExpired: + logger.warning("Process didn't terminate gracefully, forcing kill") + self.process.kill() + self.process.wait() + + # Add delay before cleanup to allow file handles to be released + time.sleep(1) self.cleanup_partial_files() self.status_signal.emit("Download cancelled") return @@ -473,11 +501,16 @@ class DownloadThread(QThread): ) else: self.error_signal.emit(f"Download failed with return code {return_code}") + + # Add delay before cleanup to allow file handles to be released + time.sleep(1) self.cleanup_partial_files() except Exception as e: logger.exception(f"Error in direct command: {e}") self.error_signal.emit(f"Error in direct command: {e}") + # Add delay before cleanup to allow file handles to be released + time.sleep(1) self.cleanup_partial_files() def _parse_output_line(self, line) -> None: From 55f7a90c760599948c987b9e8e4d4205ff974360 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 22 Sep 2025 15:19:08 +0300 Subject: [PATCH 204/568] Bump version to 4.9.0b Update version references from 4.8.3 to 4.9.0b in __init__.py, main app, and About dialog to prepare for the next beta release. --- src/__init__.py | 2 +- src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 2 +- src/gui/ytsage_gui_main.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/__init__.py b/src/__init__.py index dc97c83..b36dab2 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.8.3" +__version__ = "4.9.0b" __author__ = "oop7" diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index d38c8c2..e625171 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -157,7 +157,7 @@ class AboutDialog(QDialog): layout.addWidget(title_label) version_label = QLabel( - f"Version {getattr(self._parent, 'version', '4.8.3')}" + f"Version {getattr(self._parent, 'version', '4.9.0b')}" ) version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(version_label) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 8018773..63e449c 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -75,7 +75,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from else: logger.info(f"Using yt-dlp from: {ytdlp_path}") - self.version = "4.8.3" + self.version = "4.9.0b" self.check_for_updates() # Check for auto-updates if enabled From 0376c1c4cdf30af5970d3b25ff2b7e92f01de67b Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 22 Sep 2025 16:48:38 +0300 Subject: [PATCH 205/568] Add proxy support to feature list in README Updated the README to include proxy support as a listed feature, providing more accurate documentation of current capabilities. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ccebfc9..cd0039f 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader | ✨ Simple UI | 💾 Save Description | 🛠️ FFmpeg/yt-dlp Detection | | 📋 Playlist Support | 🖼️ Save thumbnail | ⚙️ Custom Commands | | 🖼️ Playlist Selector | 🚀 Speed Limiter | 🍪 Login with Cookies | -| 📑 Embed Chapters | ✂️ Trim Video Sections | | +| 📑 Embed Chapters | ✂️ Trim Video Sections | 🌐 Proxy Support |
From c5916d57c091a7de4d18077b8e181ec92c254c67 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 20:53:59 +0300 Subject: [PATCH 206/568] Add localization support and language selection Introduces English and Spanish translation files, integrates localization throughout dialogs, and adds a language selection tab to the custom options dialog. UI strings are now loaded via the localization manager, enabling dynamic language switching and improved internationalization. --- languages/en.json | 316 ++++++++++++++++++ languages/es.json | 313 +++++++++++++++++ .../ytsage_gui_dialogs/ytsage_dialogs_base.py | 34 +- .../ytsage_dialogs_custom.py | 211 ++++++++---- .../ytsage_dialogs_selection.py | 80 +++-- .../ytsage_dialogs_settings.py | 96 +++--- .../ytsage_dialogs_update.py | 67 ++-- src/gui/ytsage_gui_format_table.py | 84 ++--- src/gui/ytsage_gui_main.py | 105 +++--- src/gui/ytsage_gui_video_info.py | 31 +- src/utils/ytsage_config_manager.py | 1 + src/utils/ytsage_localization.py | 266 +++++++++++++++ 12 files changed, 1293 insertions(+), 311 deletions(-) create mode 100644 languages/en.json create mode 100644 languages/es.json create mode 100644 src/utils/ytsage_localization.py diff --git a/languages/en.json b/languages/en.json new file mode 100644 index 0000000..335cbca --- /dev/null +++ b/languages/en.json @@ -0,0 +1,316 @@ +{ + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Ready" + }, + "formats": { + "show_formats": "Show Formats:", + "video_format": "Video Format:", + "audio_format": "Audio Format:", + "no_formats": "No formats available", + "loading": "Loading formats...", + "select": "Select", + "quality": "Quality", + "extension": "Extension", + "resolution": "Resolution", + "file_size": "File Size", + "codec": "Codec", + "audio": "Audio", + "notes": "Notes", + "will_merge_audio": "Will merge audio", + "has_audio": "✓ Has Audio", + "audio_only": "Audio Only", + "large_size": "Large size", + "medium_size": "Medium size", + "standard_size": "Standard size", + "compatible": "Compatible", + "efficient": "Efficient", + "high_quality": "High quality", + "best_4k": "Best (4K)", + "best_2k": "Best (2K)", + "high_1080p": "High (1080p)", + "high_720p": "High (720p)", + "medium_480p": "Medium (480p)", + "low_quality": "Low Quality", + "best_audio": "Best Audio", + "high_audio": "High Audio", + "medium_audio": "Medium Audio", + "low_audio": "Low Audio", + "audio_only_resolution": "Audio only" + }, + "buttons": { + "download": "Download", + "pause": "Pause", + "resume": "Resume", + "cancel": "Cancel", + "browse": "Browse", + "clear": "Clear", + "ok": "OK", + "apply": "Apply", + "close": "Close", + "run_command": "Run Command", + "custom_command_help": "Help", + "about": "About", + "analyze": "Analyze", + "paste_url": "Paste URL", + "select_videos": "Select Videos...", + "video": "Video", + "audio_only": "Audio Only", + "custom_options": "Custom Options", + "trim_video": "Trim Video", + "download_settings": "Download Settings", + "update": "Update yt-dlp", + "select_defaults": "Select Defaults", + "select_all": "Select All", + "deselect_all": "Deselect All" + }, + "dialogs": { + "custom_options": "Custom Options", + "settings": "Settings", + "select_folder": "Select Download Folder", + "sponsorblock_categories": "SponsorBlock Categories", + "sponsorblock_description": "Select which types of video segments to automatically remove during download.\nSponsorBlock uses community-submitted data to identify these segments.", + "select_subtitles": "Select Subtitles", + "filter_languages_placeholder": "Filter languages (e.g., en, es)...", + "no_subtitles_available": "No subtitles available", + "matching": "matching" + }, + "tabs": { + "cookies": "Login with Cookies", + "custom_command": "Custom Command", + "proxy": "Proxy", + "language": "Language" + }, + "cookies": { + "help_text": "Choose how to provide cookies for logging in.\nThis allows downloading of private videos and premium quality audio.", + "cookie_source": "Cookie Source", + "use_cookie_file": "Use cookie file", + "extract_from_browser": "Extract from browser", + "cookie_file": "Cookie File", + "cookie_file_placeholder": "Path to cookies.txt file...", + "browser_selection": "Browser Selection", + "browser_help": "Select the browser to extract cookies from:", + "browser_label": "Browser:", + "profile_label": "Profile:", + "profile_placeholder": "default", + "browser_extract_message": "Browser cookies will be extracted when applied", + "file_selected_message": "Cookie file selected - Click OK to apply", + "select_file_title": "Select Cookie File", + "file_filter": "Cookies files (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Enter your custom yt-dlp command below. The current URL will be appended automatically.

For the full list of options and usage examples, click here to view the official yt-dlp documentation.

Note: Download path and filename template will be handled automatically.", + "input_label": "yt-dlp Arguments:", + "input_placeholder": "Enter yt-dlp arguments here...\n\ne.g. --extract-audio --audio-format mp3", + "output_label": "Command Output:", + "output_placeholder": "Command output will appear here...", + "command_placeholder": "Enter custom yt-dlp command...", + "command_help": "Available placeholders:\n{url} - Video URL\n{output} - Output directory\n\nExample: --write-info-json --write-thumbnail", + "full_command": "🔧 Full command: {command}", + "command_success": "✅ Custom command completed successfully!", + "command_failed": "❌ Command failed with exit code {code}", + "command_error": "❌ Error running custom command: {error}" + }, + "proxy": { + "help_text": "Configure proxy settings for downloading. Leave empty to use direct connection.", + "main_proxy": "Main Proxy", + "main_proxy_help": "Primary proxy server for all downloads. Supports HTTP/HTTPS and SOCKS5 protocols.", + "proxy_url_label": "Proxy URL:", + "proxy_url_placeholder": "http://proxy:port or socks5://proxy:port", + "proxy_examples": "Examples:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "Geo-bypass Proxy", + "geo_proxy_help": "Secondary proxy specifically for bypassing geographic restrictions.", + "geo_proxy_url_label": "Geo-bypass Proxy URL:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "Clear Main Proxy", + "clear_geo_proxy": "Clear Geo Proxy", + "proxy_url": "Proxy URL", + "proxy_placeholder": "http://proxy:port or socks5://proxy:port", + "geo_bypass": "Geo-bypass proxy (for geographic restrictions)", + "geo_bypass_placeholder": "http://proxy:port for bypassing geo-blocks", + "invalid_main_url": "Invalid main proxy URL format", + "invalid_geo_url": "Invalid geo proxy URL format", + "main_configured": "Main proxy configured", + "geo_configured": "Geo proxy configured" + }, + "language": { + "help_text": "Select your preferred language for the interface.", + "current_language": "Current Language:", + "restart_notice": "Language change will take effect after restarting the application." + }, + "download": { + "preparing": "Preparing download...", + "please_enter_url": "Please enter a URL first.", + "please_set_path": "Please set a download path first.", + "please_enter_url_and_path": "Please enter a URL and set download path.", + "please_select_format": "Please select a format first." + }, + "update": { + "title": "Update yt-dlp", + "checking": "Checking for updates...", + "update_available": "Update available!\nCurrent version: {current}\nLatest version: {latest}", + "up_to_date": "yt-dlp is up to date (version {version})", + "could_not_determine": "Could not determine versions.", + "error_comparing": "Error comparing versions: {error}", + "update_available_failed": "Update available! (Comparison failed)\nCurrent: {current}\nLatest: {latest}", + "updating": "Updating...", + "initializing": "🚀 Initializing update process...", + "checking_current": "🔍 Checking current installation...", + "found_at": "📍 Found yt-dlp at: {path}", + "error_getting_path": "❌ Error getting yt-dlp path: {error}", + "updating_binary": "📦 Updating app-managed yt-dlp binary...", + "updating_pip": "🐍 Updating system yt-dlp via pip...", + "update_failed": "❌ Failed to update yt-dlp. Please try again or check your internet connection.", + "binary_updated": "✅ Binary successfully updated!", + "update_failed_stderr": "❌ yt-dlp update failed: {error}", + "update_timeout": "❌ yt-dlp update timed out.", + "unexpected_error": "❌ Unexpected error during update: {error}", + "checking_pip": "🔍 Checking current pip installation...", + "current_version": "📋 Current version: {version}", + "not_found_pip": "⚠️ yt-dlp not found via pip, attempting installation...", + "checking_latest": "🌐 Checking for latest version...", + "failed_check_updates": "❌ Failed to check for updates", + "latest_version": "🆕 Latest version: {version}", + "updating_from_to": "⬆️ Updating from {current} to {latest}...", + "running_pip_install": "📦 Running pip install --upgrade...", + "pip_completed": "✅ Pip update completed successfully!", + "pip_failed": "❌ Pip update failed: {error}" + }, + "about": { + "title": "About YTSage", + "version": "Version: {version}", + "description": "A modern YouTube downloader with advanced features", + "author": "Created with ❤️", + "license": "License: MIT", + "system_info": "System Information", + "python_version": "Python Version: {version}", + "pyside_version": "PySide6 Version: {version}", + "ytdlp_version": "yt-dlp Version: {version}", + "ffmpeg_status": "FFmpeg Status: {status}", + "ffmpeg_available": "Available", + "ffmpeg_not_available": "Not Available", + "error_getting_info": "Error getting system information: {error}" + }, + "time_range": { + "title": "Trim Video", + "start_time": "Start Time (HH:MM:SS)", + "end_time": "End Time (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "help_text": "Set the start and end times to trim the video.\nLeave empty to download the full video.", + "invalid_format": "Invalid time format. Use HH:MM:SS format.", + "start_after_end": "Start time cannot be after end time." + }, + "settings": { + "title": "Download Settings", + "download_path": "Download Path", + "browse": "Browse...", + "speed_limit": "Speed Limit", + "speed_limit_placeholder": "None", + "auto_update_ytdlp": "Auto-Update yt-dlp", + "enable_auto_updates": "Enable automatic yt-dlp updates", + "update_frequency": "Update frequency:", + "check_startup": "Check on every startup (minimum 1 hour between checks)", + "check_daily": "Check daily", + "check_weekly": "Check weekly", + "check_updates_now": "Check for Updates Now", + "update_check_title": "Update Check", + "could_not_determine_version": "Could not determine current yt-dlp version.", + "update_available_dialog": "Update available!\n\nCurrent: {current}\nLatest: {latest}\n\nUse the 'Update yt-dlp' button in the main window to update.", + "up_to_date_dialog": "yt-dlp is up to date!\n\nCurrent version: {version}", + "error_checking_updates": "Error checking for updates: {error}", + "settings_saved_title": "Settings Saved", + "settings_saved_message": "Auto-update settings have been saved successfully!", + "error_title": "Error", + "failed_save_settings": "Failed to save auto-update settings.", + "error_saving_settings": "Error saving auto-update settings: {error}", + "auto_update_title": "Auto-Update Settings", + "auto_update_header": "🔄 Auto-Update Settings", + "auto_update_description": "Configure automatic updates for yt-dlp to ensure you always have the latest features and bug fixes.", + "current_status": "Current Status", + "current_version_label": "Current yt-dlp version: Checking...", + "last_check_label": "Last update check: Never", + "next_check_label": "Next check: Based on settings", + "manual_check_button": "🔍 Check for Updates Now", + "update_frequency_group": "Update Frequency", + "save_settings": "Save Settings", + "settings_saved_successfully": "✅ Settings saved successfully!", + "error_saving": "❌ Error saving settings: {error}" + }, + "main_ui": { + "url_placeholder": "Enter YouTube video or playlist URL", + "merge_subtitles": "Merge Subtitles", + "save_thumbnail": "Save Thumbnail", + "save_description": "Save Description", + "embed_chapters": "Embed Chapters", + "subtitles_selected": "{count} selected", + "all_selected": "All selected", + "select_videos_all": "Select Videos... (All selected)", + "please_enter_url": "Please enter a URL first", + "cookie_file_selected_title": "Cookie File Selected", + "cookie_file_selected_message": "Cookie file selected: {path}", + "browser_cookies_selected_title": "Browser Cookies Selected", + "browser_cookies_selected_message": "Browser cookies will be extracted from: {browser}", + "error_no_format_info": "Error: No format information available.", + "error_extract_info": "Error: Could not extract basic video information. Please check your link.", + "analyzing_preparing": "Analyzing (0%)... Preparing request", + "analyzing_extracting_basic": "Analyzing (15%)... Extracting basic info", + "analyzing_extracting_detailed": "Analyzing (30%)... Extracting detailed info", + "analyzing_processing_video": "Analyzing (45%)... Processing video data", + "analyzing_processing_formats": "Analyzing (60%)... Processing formats", + "analyzing_loading_thumbnail": "Analyzing (75%)... Loading thumbnail", + "analyzing_processing_subtitles": "Analyzing (85%)... Processing subtitles", + "analyzing_updating_table": "Analyzing (95%)... Updating format table", + "analysis_complete": "Analysis complete!", + "analyzing_extracting_ytdlp": "Analyzing (30%)... Extracting info with yt-dlp executable", + "analyzing_processing_data": "Analyzing (60%)... Processing data", + "analyzing_processing_formats_ytdlp": "Analyzing (75%)... Processing formats", + "analyzing_loading_thumbnail_ytdlp": "Analyzing (85%)... Loading thumbnail", + "analyzing_processing_subtitles_ytdlp": "Analyzing (90%)... Processing subtitles", + "select_subtitles": "Select Subtitles...", + "sponsorblock_categories": "SponsorBlock Categories..." + }, + "sponsorblock": { + "sponsor": "Sponsor", + "sponsor_desc": "Paid promotion, paid referrals and direct advertisements", + "selfpromo": "Unpaid/Self Promotion", + "selfpromo_desc": "Unpaid promotion of creators' own content", + "interaction": "Interaction Reminder", + "interaction_desc": "Asking viewers to like, subscribe, or follow social media", + "intro": "Intro", + "intro_desc": "Video introduction that can be skipped", + "outro": "Outro/End Cards", + "outro_desc": "Credits or when the video ends", + "preview": "Preview/Recap", + "preview_desc": "Quick recap of previous videos or preview of what's coming up", + "music_offtopic": "Non-Music Section", + "music_offtopic_desc": "Only for music videos. Marks non-music sections", + "filler": "Filler Tangent", + "filler_desc": "Tangential scenes added only for filler or humor" + }, + "video_info": { + "channel": "Channel", + "views": "Views", + "likes": "Likes", + "upload_date": "Upload date", + "duration": "Duration", + "unknown_channel": "Unknown channel", + "unknown_date": "Unknown date", + "unknown_title": "Unknown title" + }, + "command": { + "running": "Running...", + "run_command": "Run Command" + }, + "selection": { + "none_selected": "0 selected", + "one_selected": "1 category selected", + "count_selected": "{count} selected" + }, + "status": { + "ready": "Ready", + "file_exists": "⚠️ File already exists", + "cancelling": "Cancelling download..." + } +} \ No newline at end of file diff --git a/languages/es.json b/languages/es.json new file mode 100644 index 0000000..b5d2941 --- /dev/null +++ b/languages/es.json @@ -0,0 +1,313 @@ +{ + "language": { + "display_name": "Español (Spanish)", + "select_language": "Seleccionar idioma:", + "current_language": "Idioma actual: {language}", + "restart_required": "Los cambios de idioma tendrán efecto después de reiniciar la aplicación.", + "english": "Inglés", + "spanish": "Español (Spanish)" + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Listo" + }, + "buttons": { + "download": "Descargar", + "pause": "Pausar", + "resume": "Reanudar", + "cancel": "Cancelar", + "browse": "Examinar", + "clear": "Limpiar", + "ok": "Aceptar", + "apply": "Aplicar", + "close": "Cerrar", + "run_command": "Ejecutar Comando", + "about": "Acerca de", + "update": "Actualizar", + "analyze": "Analizar", + "paste_url": "Pegar URL", + "select_videos": "Seleccionar Videos...", + "video": "Video", + "audio_only": "Solo Audio", + "custom_options": "Opciones Personalizadas", + "trim_video": "Recortar Video", + "download_settings": "Configuración de Descarga", + "select_defaults": "Seleccionar Predeterminados", + "select_all": "Seleccionar Todos", + "deselect_all": "Deseleccionar Todos" + }, + "dialogs": { + "custom_options": "Opciones Personalizadas", + "settings": "Configuración", + "select_folder": "Seleccionar Carpeta de Descarga", + "sponsorblock_categories": "Categorías SponsorBlock", + "sponsorblock_description": "Selecciona qué tipos de segmentos de video se eliminarán automáticamente durante la descarga.\nSponsorBlock utiliza datos enviados por la comunidad para identificar estos segmentos.", + "select_subtitles": "Seleccionar Subtítulos", + "filter_languages_placeholder": "Filtrar idiomas (ej., en, es)...", + "no_subtitles_available": "No hay subtítulos disponibles", + "matching": "que coincidan con" + }, + "tabs": { + "cookies": "Iniciar sesión con Cookies", + "custom_command": "Comando Personalizado", + "proxy": "Proxy", + "language": "Idioma" + }, + "cookies": { + "help_text": "Elige cómo proporcionar cookies para iniciar sesión.\nEsto permite la descarga de videos privados y audio de calidad premium.", + "cookie_source": "Origen de Cookie", + "use_cookie_file": "Usar archivo de cookie (formato Netscape)", + "extract_from_browser": "Extraer cookies del navegador", + "cookie_file": "Archivo de Cookie", + "cookie_file_placeholder": "Ruta al archivo de cookies (formato Netscape)", + "browser_selection": "Selección de Navegador", + "browser_help": "Selecciona el navegador del cual extraer cookies. Asegúrate de que el navegador esté cerrado antes de la extracción.", + "browser_label": "Navegador:", + "profile_label": "Perfil (opcional):", + "profile_placeholder": "Nombre o ruta del perfil (dejar vacío para el predeterminado)", + "browser_extract_message": "Las cookies del navegador se extraerán al aplicar", + "file_selected_message": "Archivo de cookies seleccionado - Haz clic en Aceptar para aplicar", + "select_file_title": "Seleccionar Archivo de Cookies", + "file_filter": "Archivos de cookies (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Ingresa tu comando yt-dlp personalizado a continuación. La URL actual se añadirá automáticamente.

Para ver la lista completa de opciones y ejemplos de uso, haz clic aquí para ver la documentación oficial de yt-dlp.

Nota: La ruta de descarga y la plantilla de nombre de archivo se manejarán automáticamente.", + "input_label": "Argumentos de yt-dlp:", + "input_placeholder": "Ingresa argumentos de yt-dlp aquí...\n\nej. --extract-audio --audio-format mp3", + "output_label": "Salida del Comando:", + "output_placeholder": "La salida del comando aparecerá aquí...", + "full_command": "🔧 Comando completo: {command}", + "command_failed": "❌ El comando falló con código de salida {code}", + "command_success": "✅ ¡Comando completado exitosamente!", + "command_error": "❌ Error ejecutando comando: {error}" + }, + "proxy": { + "help_text": "Configurar ajustes de proxy para conexiones de red y geo-verificación.\nEl proxy puede ayudar a evitar restricciones regionales y mejorar el rendimiento de descarga.", + "main_proxy": "Proxy Principal", + "main_proxy_help": "Usar el proxy HTTP/HTTPS/SOCKS especificado para todas las conexiones.", + "proxy_url_label": "URL del Proxy:", + "proxy_url_placeholder": "ej., http://proxy.example.com:8080 o socks5://user:pass@127.0.0.1:1080", + "proxy_examples": "Ejemplos: http://proxy.com:8080, https://proxy.com:8080, socks5://127.0.0.1:1080", + "geo_proxy": "Proxy de Geo-verificación", + "geo_proxy_help": "Usar este proxy para verificar dirección IP para sitios con restricciones geográficas. El proxy principal (si está configurado) se usa para la descarga real.", + "geo_proxy_url_label": "URL del Geo Proxy:", + "geo_proxy_url_placeholder": "ej., http://us-proxy.example.com:8080", + "clear_main_proxy": "Limpiar Proxy Principal", + "clear_geo_proxy": "Limpiar Geo Proxy", + "invalid_main_url": "Formato de URL de proxy principal inválido", + "invalid_geo_url": "Formato de URL de geo proxy inválido", + "main_configured": "Proxy principal configurado", + "geo_configured": "Geo proxy configurado" + }, + "download": { + "preparing": "🚀 Preparando tu descarga...", + "completed": "✅ ¡Descarga completada!", + "video_completed": "✅ ¡Descarga de video completada!", + "audio_completed": "✅ ¡Descarga de audio completada!", + "subtitle_completed": "✅ ¡Descarga de subtítulos completada!", + "please_set_path": "Por favor establece una ruta de descarga usando 'Cambiar Ruta'", + "please_enter_url": "Por favor ingresa una URL", + "please_enter_url_and_path": "Por favor ingresa URL y establece ruta de descarga", + "please_select_format": "Por favor selecciona un formato" + }, + "formats": { + "show_formats": "Mostrar formatos:", + "select": "Seleccionar", + "quality": "Calidad", + "extension": "Extensión", + "resolution": "Resolución", + "file_size": "Tamaño", + "codec": "Códec", + "audio": "Audio", + "notes": "Notas", + "will_merge_audio": "Se combinará audio", + "has_audio": "✓ Tiene Audio", + "audio_only": "Solo Audio", + "large_size": "Tamaño grande", + "medium_size": "Tamaño mediano", + "standard_size": "Tamaño estándar", + "compatible": "Compatible", + "efficient": "Eficiente", + "high_quality": "Alta calidad", + "best_4k": "Óptima (4K)", + "best_2k": "Óptima (2K)", + "high_1080p": "Alta (1080p)", + "high_720p": "Alta (720p)", + "medium_480p": "Media (480p)", + "low_quality": "Baja Calidad", + "best_audio": "Mejor Audio", + "high_audio": "Audio Alto", + "medium_audio": "Audio Medio", + "low_audio": "Audio Bajo", + "audio_only_resolution": "Solo audio" + }, + "about": { + "title": "Acerca de YTSage", + "version": "Versión {version}", + "description": "Descargador moderno de YouTube con una interfaz limpia de PySide6.", + "author": "Por: {author}", + "github": "GitHub: {repo}", + "system_info": "Información del Sistema", + "loading": "🔄 Cargando información del sistema...", + "refresh": "🔄", + "refreshing": "🔄 Actualizando...", + "refresh_failed": "Actualización Fallida", + "refresh_failed_message": "No se pudo actualizar la información de versión.", + "detected": "✓ Detectado", + "missing": "✗ Faltante", + "not_available": "No Disponible" + }, + "time_range": { + "title": "Descargar Sección del Video", + "help_text": "Descarga solo partes específicas de un video especificando rangos de tiempo.\nUsa formato HH:MM:SS o segundos. Deja inicio o fin vacío para descargar desde el principio o hasta el final.", + "time_range_group": "Rango de Tiempo", + "start_time": "Tiempo de Inicio:", + "end_time": "Tiempo de Fin:", + "start_time_placeholder": "00:00:00 (o dejar vacío para inicio)", + "end_time_placeholder": "00:10:00 (o dejar vacío para fin)", + "force_keyframes": "Forzar fotogramas clave en cortes (mejor precisión, más lento)" + }, + "update": { + "title": "Actualizar yt-dlp", + "checking": "Verificando actualizaciones...", + "update_available": "¡Actualización disponible!\nVersión actual: {current}\nÚltima versión: {latest}", + "up_to_date": "yt-dlp está actualizado (versión {version})", + "could_not_determine": "No se pudieron determinar las versiones.", + "error_comparing": "Error al comparar versiones: {error}", + "update_available_failed": "¡Actualización disponible! (Comparación fallida)\nActual: {current}\nÚltima: {latest}", + "updating": "Actualizando...", + "initializing": "🚀 Inicializando proceso de actualización...", + "checking_current": "🔍 Verificando instalación actual...", + "found_at": "📍 Se encontró yt-dlp en: {path}", + "error_getting_path": "❌ Error al obtener la ruta de yt-dlp: {error}", + "updating_binary": "📦 Actualizando binario de yt-dlp administrado por la app...", + "updating_pip": "🐍 Actualizando yt-dlp del sistema vía pip...", + "update_failed": "❌ Falló la actualización de yt-dlp. Inténtalo de nuevo o verifica tu conexión a internet.", + "binary_updated": "✅ ¡Binario actualizado exitosamente!", + "update_failed_stderr": "❌ Falló la actualización de yt-dlp: {error}", + "update_timeout": "❌ Tiempo agotado en la actualización de yt-dlp.", + "unexpected_error": "❌ Error inesperado durante la actualización: {error}", + "checking_pip": "🔍 Verificando instalación actual de pip...", + "current_version": "📋 Versión actual: {version}", + "not_found_pip": "⚠️ yt-dlp no encontrado vía pip, intentando instalación...", + "checking_latest": "🌐 Verificando última versión...", + "failed_check_updates": "❌ Falló la verificación de actualizaciones", + "latest_version": "🆕 Última versión: {version}", + "updating_from_to": "⬆️ Actualizando de {current} a {latest}...", + "running_pip_install": "📦 Ejecutando pip install --upgrade...", + "pip_completed": "✅ ¡Actualización de pip completada exitosamente!", + "pip_failed": "❌ Actualización de pip falló: {error}" + }, + "settings": { + "title": "Configuración de Descarga", + "download_path": "Ruta de Descarga", + "browse": "Examinar...", + "speed_limit": "Límite de Velocidad", + "speed_limit_placeholder": "Ninguno", + "auto_update_ytdlp": "Auto-Actualizar yt-dlp", + "enable_auto_updates": "Habilitar actualizaciones automáticas de yt-dlp", + "update_frequency": "Frecuencia de actualización:", + "check_startup": "Verificar en cada inicio (mínimo 1 hora entre verificaciones)", + "check_daily": "Verificar diariamente", + "check_weekly": "Verificar semanalmente", + "check_updates_now": "Verificar Actualizaciones Ahora", + "update_check_title": "Verificación de Actualizaciones", + "could_not_determine_version": "No se pudo determinar la versión actual de yt-dlp.", + "update_available_dialog": "¡Actualización disponible!\n\nActual: {current}\nÚltima: {latest}\n\nUsa el botón 'Actualizar yt-dlp' en la ventana principal para actualizar.", + "up_to_date_dialog": "¡yt-dlp está actualizado!\n\nVersión actual: {version}", + "error_checking_updates": "Error al verificar actualizaciones: {error}", + "settings_saved_title": "Configuración Guardada", + "settings_saved_message": "¡La configuración de auto-actualización se ha guardado exitosamente!", + "error_title": "Error", + "failed_save_settings": "Falló al guardar la configuración de auto-actualización.", + "error_saving_settings": "Error al guardar la configuración de auto-actualización: {error}", + "auto_update_title": "Configuración de Auto-Actualización", + "auto_update_header": "🔄 Configuración de Auto-Actualización", + "auto_update_description": "Configura las actualizaciones automáticas de yt-dlp para asegurar que siempre tengas las últimas funciones y correcciones de errores.", + "current_status": "Estado Actual", + "current_version_label": "Versión actual de yt-dlp: Verificando...", + "last_check_label": "Última verificación de actualización: Nunca", + "next_check_label": "Próxima verificación: Basado en configuración", + "manual_check_button": "🔍 Verificar Actualizaciones Ahora", + "update_frequency_group": "Frecuencia de Actualización", + "save_settings": "Guardar Configuración", + "settings_saved_successfully": "✅ ¡Configuración guardada exitosamente!", + "error_saving": "❌ Error al guardar configuración: {error}" + }, + "main_ui": { + "url_placeholder": "Ingresa URL de video o lista de YouTube", + "merge_subtitles": "Combinar Subtítulos", + "save_thumbnail": "Guardar Miniatura", + "save_description": "Guardar Descripción", + "embed_chapters": "Incrustar Capítulos", + "subtitles_selected": "{count} seleccionados", + "all_selected": "Todos seleccionados", + "select_videos_all": "Seleccionar Videos... (Todos seleccionados)", + "please_enter_url": "Por favor ingresa primero una URL", + "cookie_file_selected_title": "Archivo de Cookies Seleccionado", + "cookie_file_selected_message": "Archivo de cookies seleccionado: {path}", + "browser_cookies_selected_title": "Cookies de Navegador Seleccionadas", + "browser_cookies_selected_message": "Las cookies del navegador serán extraídas de: {browser}", + "error_no_format_info": "Error: No hay información de formato disponible.", + "error_extract_info": "Error: No se pudo extraer la información básica del video. Por favor verifica tu enlace.", + "analyzing_preparing": "Analizando (0%)... Preparando solicitud", + "analyzing_extracting_basic": "Analizando (15%)... Extrayendo información básica", + "analyzing_extracting_detailed": "Analizando (30%)... Extrayendo información detallada", + "analyzing_processing_video": "Analizando (45%)... Procesando datos de video", + "analyzing_processing_formats": "Analizando (60%)... Procesando formatos", + "analyzing_loading_thumbnail": "Analizando (75%)... Cargando miniatura", + "analyzing_processing_subtitles": "Analizando (85%)... Procesando subtítulos", + "analyzing_updating_table": "Analizando (95%)... Actualizando tabla de formatos", + "analysis_complete": "¡Análisis completo!", + "analyzing_extracting_ytdlp": "Analizando (30%)... Extrayendo información con ejecutable yt-dlp", + "analyzing_processing_data": "Analizando (60%)... Procesando datos", + "analyzing_processing_formats_ytdlp": "Analizando (75%)... Procesando formatos", + "analyzing_loading_thumbnail_ytdlp": "Analizando (85%)... Cargando miniatura", + "analyzing_processing_subtitles_ytdlp": "Analizando (90%)... Procesando subtítulos", + "select_subtitles": "Seleccionar Subtítulos...", + "sponsorblock_categories": "Categorías SponsorBlock..." + }, + "sponsorblock": { + "sponsor": "Patrocinador", + "sponsor_desc": "Promoción pagada, referencias pagadas y anuncios directos", + "selfpromo": "Autopromoción No Pagada", + "selfpromo_desc": "Promoción no pagada del propio contenido del creador", + "interaction": "Recordatorio de Interacción", + "interaction_desc": "Pedir a los espectadores que den like, se suscriban o sigan en redes sociales", + "intro": "Introducción", + "intro_desc": "Introducción del video que se puede omitir", + "outro": "Outro/Tarjetas Finales", + "outro_desc": "Créditos o cuando termina el video", + "preview": "Vista Previa/Resumen", + "preview_desc": "Resumen rápido de videos anteriores o vista previa de lo que viene", + "music_offtopic": "Sección No Musical", + "music_offtopic_desc": "Solo para videos musicales. Marca secciones no musicales", + "filler": "Relleno/Tangente", + "filler_desc": "Escenas tangenciales agregadas solo como relleno o humor" + }, + "video_info": { + "channel": "Canal", + "views": "Visualizaciones", + "likes": "Me gusta", + "upload_date": "Fecha de subida", + "duration": "Duración", + "unknown_channel": "Canal desconocido", + "unknown_date": "Fecha desconocida", + "unknown_title": "Título desconocido" + }, + "command": { + "running": "Ejecutando...", + "run_command": "Ejecutar Comando" + }, + "selection": { + "none_selected": "0 seleccionados", + "one_selected": "1 categoría seleccionada", + "count_selected": "{count} seleccionados" + }, + "status": { + "ready": "Listo", + "file_exists": "⚠️ El archivo ya existe", + "cancelling": "Cancelando descarga..." + } +} \ No newline at end of file diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index e625171..712b7ed 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -19,6 +19,8 @@ from PySide6.QtWidgets import ( QWidget, ) +from src.utils.ytsage_localization import _ + from src.core.ytsage_ffmpeg import get_ffmpeg_path from src.core.ytsage_utils import _version_cache, check_ffmpeg, get_ffmpeg_version, get_ytdlp_version, refresh_version_cache from src.core.ytsage_yt_dlp import check_ytdlp_installed, get_yt_dlp_path @@ -60,7 +62,7 @@ class AboutDialog(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) self._parent = parent # Store parent to access version etc. - self.setWindowTitle("About YTSage") + self.setWindowTitle(_("about.title")) self.setMinimumSize(460, 420) # Slightly increased to accommodate paths self.resize(460, 440) # Slightly increased initial size self.setMaximumSize(500, 480) # Reasonable maximum size @@ -157,13 +159,13 @@ class AboutDialog(QDialog): layout.addWidget(title_label) version_label = QLabel( - f"Version {getattr(self._parent, 'version', '4.9.0b')}" + f"{_('about.version', version=getattr(self._parent, 'version', '4.9.0b'))}" ) version_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(version_label) # Description - more compact - description_label = QLabel("Modern YouTube downloader with a clean PySide6 interface.") + description_label = QLabel(_("about.description")) description_label.setWordWrap(True) description_label.setAlignment(Qt.AlignmentFlag.AlignCenter) description_label.setStyleSheet("color: #ffffff; font-size: 11px; margin: 6px 0;") @@ -174,13 +176,13 @@ class AboutDialog(QDialog): info_layout.setSpacing(15) author_label = QLabel( - "By: oop7" + f"{_('about.author', author='oop7')}" ) author_label.setOpenExternalLinks(True) info_layout.addWidget(author_label) repo_label = QLabel( - "GitHub: YTSage" + f"{_('about.github', repo='YTSage')}" ) repo_label.setOpenExternalLinks(True) info_layout.addWidget(repo_label) @@ -219,7 +221,7 @@ class AboutDialog(QDialog): header_layout.setContentsMargins(0, 0, 0, 5) # System Information title - title_label = QLabel("System Information") + title_label = QLabel(_("about.system_info")) title_label.setStyleSheet( """ QLabel { @@ -237,7 +239,7 @@ class AboutDialog(QDialog): header_layout.addStretch() # Create refresh button - self.refresh_btn = QPushButton("🔄") + self.refresh_btn = QPushButton(_("about.refresh")) self.refresh_btn.setFixedSize(16, 16) self.refresh_btn.setStyleSheet( """ @@ -283,7 +285,7 @@ class AboutDialog(QDialog): def _show_loading_message(self) -> None: """Show a compact loading message while system information is being gathered.""" - loading_label = QLabel("🔄 Loading system information...") + loading_label = QLabel(_("about.loading")) loading_label.setAlignment(Qt.AlignmentFlag.AlignCenter) loading_label.setStyleSheet( """ @@ -381,7 +383,7 @@ class AboutDialog(QDialog): # yt-dlp Status - compact version with path ytdlp_found = check_ytdlp_installed() ytdlp_status_text = ( - "✓ Detected" if ytdlp_found else "✗ Missing" + f"{_('about.detected')}" if ytdlp_found else f"{_('about.missing')}" ) ytdlp_version = get_ytdlp_version() @@ -409,11 +411,11 @@ class AboutDialog(QDialog): # FFmpeg Status - compact version with path ffmpeg_found = check_ffmpeg() ffmpeg_status_text = ( - "✓ Detected" + f"{_('about.detected')}" if ffmpeg_found - else "✗ Missing" + else f"{_('about.missing')}" ) - ffmpeg_version = get_ffmpeg_version() if ffmpeg_found else "Not Available" + ffmpeg_version = get_ffmpeg_version() if ffmpeg_found else _('about.not_available') # Get FFmpeg path ffmpeg_path_text = None @@ -440,7 +442,7 @@ class AboutDialog(QDialog): def refresh_version_info(self) -> None: """Refresh version information manually.""" - self.refresh_btn.setText("🔄 Refreshing...") + self.refresh_btn.setText(_('about.refreshing')) self.refresh_btn.setEnabled(False) # Perform refresh in a separate thread to avoid blocking UI @@ -457,7 +459,7 @@ class AboutDialog(QDialog): def on_refresh_finished(self, success) -> None: """Handle refresh completion.""" - self.refresh_btn.setText("🔄 Refresh") + self.refresh_btn.setText(_('about.refresh')) self.refresh_btn.setEnabled(True) if success: @@ -466,8 +468,8 @@ class AboutDialog(QDialog): # Show error message with proper styling msg_box = QMessageBox(self) msg_box.setIcon(QMessageBox.Icon.Warning) - msg_box.setWindowTitle("Refresh Failed") - msg_box.setText("Failed to refresh version information.") + msg_box.setWindowTitle(_('about.refresh_failed')) + msg_box.setText(_('about.refresh_failed_message')) msg_box.setWindowIcon(self.windowIcon()) msg_box.setStyleSheet( """ diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 61218d0..b3ef419 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -31,6 +31,8 @@ from PySide6.QtWidgets import ( from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import YTDLP_DOCS_URL from src.utils.ytsage_config_manager import ConfigManager +from src.utils.ytsage_localization import LocalizationManager, _ +from src.utils.ytsage_logger import logger if TYPE_CHECKING: from src.gui.ytsage_gui_main import YTSageApp # only for type hints (no runtime import) @@ -68,7 +70,7 @@ class CommandWorker(QObject): base_cmd.append(self.url) # Emit the full command - self.output_received.emit(f"🔧 Full command: {' '.join(str(cmd) for cmd in base_cmd)}") + self.output_received.emit(_('custom_command.full_command', command=' '.join(str(cmd) for cmd in base_cmd))) self.output_received.emit("=" * 50) # Run the command @@ -90,22 +92,22 @@ class CommandWorker(QObject): self.output_received.emit("=" * 50) if ret != 0: - self.output_received.emit(f"❌ Command failed with exit code {ret}") + self.output_received.emit(_('custom_command.command_failed', code=ret)) self.command_finished.emit(False, ret) else: - self.output_received.emit("✅ Command completed successfully!") + self.output_received.emit(_('custom_command.command_success')) self.command_finished.emit(True, ret) except Exception as e: self.output_received.emit("=" * 50) - self.error_occurred.emit(f"❌ Error executing command: {str(e)}") + self.error_occurred.emit(_('custom_command.command_error', error=str(e))) class CustomOptionsDialog(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) self._parent: YTSageApp = cast("YTSageApp", self.parent()) # cast will help with auto complete and type hint checking. - self.setWindowTitle("Custom Options") + self.setWindowTitle(_("dialogs.custom_options")) self.setMinimumSize(550, 400) # Made even shorter layout = QVBoxLayout(self) @@ -118,38 +120,35 @@ class CustomOptionsDialog(QDialog): cookies_layout = QVBoxLayout(cookies_tab) # Help text - help_text = QLabel( - "Choose how to provide cookies for logging in.\n" - "This allows downloading of private videos and premium quality audio." - ) + help_text = QLabel(_('cookies.help_text')) help_text.setWordWrap(True) help_text.setStyleSheet("color: #999999; padding: 10px;") cookies_layout.addWidget(help_text) # Cookie source selection - cookie_source_group = QGroupBox("Cookie Source") + cookie_source_group = QGroupBox(_('cookies.cookie_source')) cookie_source_layout = QVBoxLayout(cookie_source_group) # Radio buttons for cookie source - self.cookie_file_radio = QRadioButton("Use cookie file (Netscape format)") + self.cookie_file_radio = QRadioButton(_('cookies.use_cookie_file')) self.cookie_file_radio.setChecked(True) self.cookie_file_radio.toggled.connect(self.on_cookie_source_changed) cookie_source_layout.addWidget(self.cookie_file_radio) - self.cookie_browser_radio = QRadioButton("Extract cookies from browser") + self.cookie_browser_radio = QRadioButton(_('cookies.extract_from_browser')) self.cookie_browser_radio.toggled.connect(self.on_cookie_source_changed) cookie_source_layout.addWidget(self.cookie_browser_radio) cookies_layout.addWidget(cookie_source_group) # Cookie file section - self.cookie_file_group = QGroupBox("Cookie File") + self.cookie_file_group = QGroupBox(_('cookies.cookie_file')) file_layout = QVBoxLayout(self.cookie_file_group) # File path input and browse button path_layout = QHBoxLayout() self.cookie_path_input = QLineEdit() - self.cookie_path_input.setPlaceholderText("Path to cookies file (Netscape format)") + self.cookie_path_input.setPlaceholderText(_('cookies.cookie_file_placeholder')) if hasattr(self._parent, "cookie_file_path") and self._parent.cookie_file_path: # Convert Path to string properly and validate cookie_path_str = str(self._parent.cookie_file_path) @@ -158,7 +157,7 @@ class CustomOptionsDialog(QDialog): self.cookie_path_input.setText(cookie_path_str) path_layout.addWidget(self.cookie_path_input) - self.browse_button = QPushButton("Browse") + self.browse_button = QPushButton(_('buttons.browse')) self.browse_button.clicked.connect(self.browse_cookie_file) path_layout.addWidget(self.browse_button) file_layout.addLayout(path_layout) @@ -166,16 +165,16 @@ class CustomOptionsDialog(QDialog): cookies_layout.addWidget(self.cookie_file_group) # Browser selection section - self.cookie_browser_group = QGroupBox("Browser Selection") + self.cookie_browser_group = QGroupBox(_('cookies.browser_selection')) browser_layout = QVBoxLayout(self.cookie_browser_group) - browser_help = QLabel("Select the browser to extract cookies from. Make sure the browser is closed before extraction.") + browser_help = QLabel(_('cookies.browser_help')) browser_help.setWordWrap(True) browser_help.setStyleSheet("color: #999999; font-size: 11px;") browser_layout.addWidget(browser_help) browser_select_layout = QHBoxLayout() - browser_select_layout.addWidget(QLabel("Browser:")) + browser_select_layout.addWidget(QLabel(_('cookies.browser_label'))) self.browser_combo = QComboBox() self.browser_combo.addItems(["chrome", "firefox", "safari", "edge", "opera", "brave", "chromium", "vivaldi"]) @@ -184,9 +183,9 @@ class CustomOptionsDialog(QDialog): # Optional profile field profile_layout = QHBoxLayout() - profile_layout.addWidget(QLabel("Profile (optional):")) + profile_layout.addWidget(QLabel(_('cookies.profile_label'))) self.profile_input = QLineEdit() - self.profile_input.setPlaceholderText("Profile name or path (leave empty for default)") + self.profile_input.setPlaceholderText(_('cookies.profile_placeholder')) profile_layout.addWidget(self.profile_input) browser_layout.addLayout(profile_layout) @@ -207,12 +206,7 @@ class CustomOptionsDialog(QDialog): command_layout = QVBoxLayout(command_tab) # Improved help text - cmd_help_text = QLabel( - "Enter your custom yt-dlp command below. The current URL will be automatically appended.

" - "For complete list of options and usage examples, " - f'click here to view the official yt-dlp documentation.

' - "Note: Download path and output filename template will be automatically handled." - ) + cmd_help_text = QLabel(_('custom_command.help_text', docs_url=YTDLP_DOCS_URL)) cmd_help_text.setWordWrap(True) cmd_help_text.setOpenExternalLinks(True) # Enable clicking links cmd_help_text.setTextFormat(Qt.TextFormat.RichText) # Enable HTML rendering @@ -238,13 +232,13 @@ class CustomOptionsDialog(QDialog): command_layout.addWidget(cmd_help_text) # Command input label - input_label = QLabel("yt-dlp Arguments:") + input_label = QLabel(_('custom_command.input_label')) input_label.setStyleSheet("font-size: 14px; font-weight: bold; color: #ffffff; margin-top: 10px;") command_layout.addWidget(input_label) # Command input self.command_input = QPlainTextEdit() - self.command_input.setPlaceholderText("Enter yt-dlp arguments here...\n\n" "e.g. --extract-audio --audio-format mp3") + self.command_input.setPlaceholderText(_('custom_command.input_placeholder')) self.command_input.setMinimumHeight(80) # Reduced further from 100 self.command_input.setStyleSheet( """ @@ -269,7 +263,7 @@ class CustomOptionsDialog(QDialog): button_layout = QHBoxLayout() button_layout.setSpacing(10) - clear_btn = QPushButton("Clear") + clear_btn = QPushButton(_('buttons.clear')) clear_btn.clicked.connect(lambda: self.command_input.clear()) clear_btn.setStyleSheet( """ @@ -292,7 +286,7 @@ class CustomOptionsDialog(QDialog): button_layout.addStretch() # Push run button to the right # Run command button - self.run_btn = QPushButton("Run Command") + self.run_btn = QPushButton(_('buttons.run_command')) self.run_btn.clicked.connect(self.run_custom_command) self.run_btn.setDefault(True) button_layout.addWidget(self.run_btn) @@ -300,14 +294,14 @@ class CustomOptionsDialog(QDialog): command_layout.addLayout(button_layout) # Output label - output_label = QLabel("Command Output:") + output_label = QLabel(_('custom_command.output_label')) output_label.setStyleSheet("font-size: 14px; font-weight: bold; color: #ffffff; margin-top: 15px;") command_layout.addWidget(output_label) # Log output self.log_output = QTextEdit() self.log_output.setReadOnly(True) - self.log_output.setPlaceholderText("Command output will appear here...") + self.log_output.setPlaceholderText(_('custom_command.output_placeholder')) self.log_output.setMinimumHeight(100) # Reduced further from 120 self.log_output.setStyleSheet( """ @@ -332,56 +326,50 @@ class CustomOptionsDialog(QDialog): proxy_layout = QVBoxLayout(proxy_tab) # Help text - proxy_help_text = QLabel( - "Configure proxy settings for network connections and geo-verification.\n" - "Proxy can help bypass regional restrictions and improve download performance." - ) + proxy_help_text = QLabel(_('proxy.help_text')) proxy_help_text.setWordWrap(True) proxy_help_text.setStyleSheet("color: #999999; padding: 10px;") proxy_layout.addWidget(proxy_help_text) # Main Proxy section - main_proxy_group = QGroupBox("Main Proxy") + main_proxy_group = QGroupBox(_('proxy.main_proxy')) main_proxy_layout = QVBoxLayout(main_proxy_group) - main_proxy_help = QLabel("Use the specified HTTP/HTTPS/SOCKS proxy for all connections.") + main_proxy_help = QLabel(_('proxy.main_proxy_help')) main_proxy_help.setWordWrap(True) main_proxy_help.setStyleSheet("color: #999999; font-size: 11px;") main_proxy_layout.addWidget(main_proxy_help) # Main proxy input main_proxy_input_layout = QHBoxLayout() - main_proxy_input_layout.addWidget(QLabel("Proxy URL:")) + main_proxy_input_layout.addWidget(QLabel(_('proxy.proxy_url_label'))) self.proxy_url_input = QLineEdit() - self.proxy_url_input.setPlaceholderText("e.g., http://proxy.example.com:8080 or socks5://user:pass@127.0.0.1:1080") + self.proxy_url_input.setPlaceholderText(_('proxy.proxy_url_placeholder')) self.proxy_url_input.textChanged.connect(self.validate_proxy_inputs) main_proxy_input_layout.addWidget(self.proxy_url_input) main_proxy_layout.addLayout(main_proxy_input_layout) # Example text - example_label = QLabel("Examples: http://proxy.com:8080, https://proxy.com:8080, socks5://127.0.0.1:1080") + example_label = QLabel(_('proxy.proxy_examples')) example_label.setStyleSheet("color: #888888; font-size: 10px; font-style: italic;") main_proxy_layout.addWidget(example_label) proxy_layout.addWidget(main_proxy_group) # Geo-verification Proxy section - geo_proxy_group = QGroupBox("Geo-verification Proxy") + geo_proxy_group = QGroupBox(_('proxy.geo_proxy')) geo_proxy_layout = QVBoxLayout(geo_proxy_group) - geo_proxy_help = QLabel( - "Use this proxy to verify IP address for geo-restricted sites. " - "The main proxy (if set) is used for actual downloading." - ) + geo_proxy_help = QLabel(_('proxy.geo_proxy_help')) geo_proxy_help.setWordWrap(True) geo_proxy_help.setStyleSheet("color: #999999; font-size: 11px;") geo_proxy_layout.addWidget(geo_proxy_help) # Geo proxy input geo_proxy_input_layout = QHBoxLayout() - geo_proxy_input_layout.addWidget(QLabel("Geo Proxy URL:")) + geo_proxy_input_layout.addWidget(QLabel(_('proxy.geo_proxy_url_label'))) self.geo_proxy_url_input = QLineEdit() - self.geo_proxy_url_input.setPlaceholderText("e.g., http://us-proxy.example.com:8080") + self.geo_proxy_url_input.setPlaceholderText(_('proxy.geo_proxy_url_placeholder')) self.geo_proxy_url_input.textChanged.connect(self.validate_proxy_inputs) geo_proxy_input_layout.addWidget(self.geo_proxy_url_input) geo_proxy_layout.addLayout(geo_proxy_input_layout) @@ -395,7 +383,7 @@ class CustomOptionsDialog(QDialog): # Clear buttons clear_layout = QHBoxLayout() - clear_main_proxy_btn = QPushButton("Clear Main Proxy") + clear_main_proxy_btn = QPushButton(_('proxy.clear_main_proxy')) clear_main_proxy_btn.clicked.connect(lambda: self.proxy_url_input.clear()) clear_main_proxy_btn.setStyleSheet( """ @@ -414,7 +402,7 @@ class CustomOptionsDialog(QDialog): ) clear_layout.addWidget(clear_main_proxy_btn) - clear_geo_proxy_btn = QPushButton("Clear Geo Proxy") + clear_geo_proxy_btn = QPushButton(_('proxy.clear_geo_proxy')) clear_geo_proxy_btn.clicked.connect(lambda: self.geo_proxy_url_input.clear()) clear_geo_proxy_btn.setStyleSheet( """ @@ -438,13 +426,75 @@ class CustomOptionsDialog(QDialog): proxy_layout.addStretch() + # === Language Tab === + language_tab = QWidget() + language_layout = QVBoxLayout(language_tab) + + # Help text + language_help_text = QLabel(_("language.select_language")) + language_help_text.setWordWrap(True) + language_help_text.setStyleSheet("color: #ffffff; font-size: 14px; font-weight: bold; padding: 10px;") + language_layout.addWidget(language_help_text) + + # Current language info + current_lang = ConfigManager.get("language") or "en" + available_languages = LocalizationManager.get_available_languages() + current_lang_display = available_languages.get(current_lang, current_lang.upper()) + + current_lang_label = QLabel(_("language.current_language", language=current_lang_display)) + current_lang_label.setWordWrap(True) + current_lang_label.setStyleSheet("color: #999999; padding: 10px;") + language_layout.addWidget(current_lang_label) + + # Language selection group + language_group = QGroupBox(_("language.select_language")) + language_group_layout = QVBoxLayout(language_group) + + # Language selection combo box + language_select_layout = QHBoxLayout() + language_select_layout.addWidget(QLabel(_("language.select_language") + ":")) + + self.language_combo = QComboBox() + + # Populate language combo with available languages + for lang_code, display_name in available_languages.items(): + self.language_combo.addItem(display_name, lang_code) + + # Set current selection + current_index = self.language_combo.findData(current_lang) + if current_index >= 0: + self.language_combo.setCurrentIndex(current_index) + + # Connect language change event + self.language_combo.currentIndexChanged.connect(self.on_language_changed) + + language_select_layout.addWidget(self.language_combo) + language_group_layout.addLayout(language_select_layout) + + language_layout.addWidget(language_group) + + # Restart notice + self.restart_notice = QLabel(_("language.restart_required")) + self.restart_notice.setWordWrap(True) + self.restart_notice.setStyleSheet( + "color: #ffaa00; font-style: italic; padding: 10px; " + "background-color: #2a2d36; border-radius: 6px; margin: 10px;" + ) + self.restart_notice.setVisible(False) # Initially hidden + language_layout.addWidget(self.restart_notice) + + language_layout.addStretch() + # Add tabs to the tab widget - self.tab_widget.addTab(cookies_tab, "Login with Cookies") - self.tab_widget.addTab(command_tab, "Custom Command") - self.tab_widget.addTab(proxy_tab, "Proxy") + self.tab_widget.addTab(cookies_tab, _("tabs.cookies")) + self.tab_widget.addTab(command_tab, _("tabs.custom_command")) + self.tab_widget.addTab(proxy_tab, _("tabs.proxy")) + self.tab_widget.addTab(language_tab, _("tabs.language")) # Dialog buttons - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box = QDialogButtonBox() + ok_button = button_box.addButton(_("buttons.ok"), QDialogButtonBox.ButtonRole.AcceptRole) + cancel_button = button_box.addButton(_("buttons.cancel"), QDialogButtonBox.ButtonRole.RejectRole) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) layout.addWidget(button_box) @@ -524,7 +574,6 @@ class CustomOptionsDialog(QDialog): border: none; width: 12px; height: 12px; - background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMgNEw2IDdMOSA0IiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=); } QComboBox QAbstractItemView { background-color: #1d1e22; @@ -610,18 +659,18 @@ class CustomOptionsDialog(QDialog): else: self.cookie_file_group.setVisible(False) self.cookie_browser_group.setVisible(True) - self.cookie_status.setText("Browser cookies will be extracted when applied") + self.cookie_status.setText(_("cookies.browser_extract_message")) self.cookie_status.setStyleSheet("color: #ffaa00; font-style: italic;") def browse_cookie_file(self) -> None: # Open file dialog to select cookie file - selected_files, _ = QFileDialog.getOpenFileName(self, "Select Cookie File", "", "Cookies files (*.txt *.lwp)") + selected_files, _ = QFileDialog.getOpenFileName(self, _("cookies.select_file_title"), "", _("cookies.file_filter")) if selected_files: # Ensure we have a valid full path cookie_path = Path(selected_files).resolve() self.cookie_path_input.setText(str(cookie_path)) - self.cookie_status.setText("Cookie file selected - Click OK to apply") + self.cookie_status.setText(_("cookies.file_selected_message")) self.cookie_status.setStyleSheet("color: #00cc00; font-style: italic;") def get_cookie_file_path(self) -> Path | None: @@ -760,7 +809,7 @@ class CustomOptionsDialog(QDialog): self.log_output.append(f"📁 Download path: {path}") self.log_output.append("=" * 50) self.run_btn.setEnabled(False) - self.run_btn.setText("Running...") + self.run_btn.setText(_("command.running")) # Create worker and thread self.worker = CommandWorker(command, url, path) @@ -781,49 +830,63 @@ class CustomOptionsDialog(QDialog): def on_command_finished(self, success: bool, exit_code: int): """Slot for when command finishes""" self.run_btn.setEnabled(True) - self.run_btn.setText("Run Command") + self.run_btn.setText(_("command.run_command")) def on_error_occurred(self, error_msg: str): """Slot for handling errors""" self.log_output.append(error_msg) self.run_btn.setEnabled(True) - self.run_btn.setText("Run Command") + self.run_btn.setText(_("buttons.run_command")) + + def on_language_changed(self) -> None: + """Handle language selection change""" + selected_lang_code = self.language_combo.currentData() + if selected_lang_code: + current_lang = ConfigManager.get("language") or "en" + if selected_lang_code != current_lang: + # Save the new language preference + ConfigManager.set("language", selected_lang_code) + + # Update LocalizationManager + LocalizationManager.set_language(selected_lang_code) + + # Show restart notice + self.restart_notice.setVisible(True) + + logger.info(f"Language changed to: {selected_lang_code}") class TimeRangeDialog(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle("Download Video Section") + self.setWindowTitle(_('time_range.title')) self.setMinimumWidth(400) layout = QVBoxLayout(self) # Help text explaining the feature - help_text = QLabel( - "Download only specific parts of a video by specifying time ranges.\n" - "Use HH:MM:SS format or seconds. Leave start or end empty to download from beginning or to end." - ) + help_text = QLabel(_('time_range.help_text')) help_text.setWordWrap(True) help_text.setStyleSheet("color: #999999; padding: 10px;") layout.addWidget(help_text) # Time range section - time_group = QGroupBox("Time Range") + time_group = QGroupBox(_('time_range.time_range_group')) time_layout = QVBoxLayout() # Start time row start_layout = QHBoxLayout() - start_layout.addWidget(QLabel("Start Time:")) + start_layout.addWidget(QLabel(_('time_range.start_time'))) self.start_time_input = QLineEdit() - self.start_time_input.setPlaceholderText("00:00:00 (or leave empty for start)") + self.start_time_input.setPlaceholderText(_('time_range.start_time_placeholder')) start_layout.addWidget(self.start_time_input) time_layout.addLayout(start_layout) # End time row end_layout = QHBoxLayout() - end_layout.addWidget(QLabel("End Time:")) + end_layout.addWidget(QLabel(_('time_range.end_time'))) self.end_time_input = QLineEdit() - self.end_time_input.setPlaceholderText("00:10:00 (or leave empty for end)") + self.end_time_input.setPlaceholderText(_('time_range.end_time_placeholder')) end_layout.addWidget(self.end_time_input) time_layout.addLayout(end_layout) @@ -831,7 +894,7 @@ class TimeRangeDialog(QDialog): layout.addWidget(time_group) # Force keyframes option - self.force_keyframes = QCheckBox("Force keyframes at cuts (better accuracy, slower)") + self.force_keyframes = QCheckBox(_('time_range.force_keyframes')) self.force_keyframes.setChecked(True) self.force_keyframes.setStyleSheet( """ @@ -859,7 +922,9 @@ class TimeRangeDialog(QDialog): layout.addWidget(self.force_keyframes) # Buttons - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box = QDialogButtonBox() + ok_button = button_box.addButton(_("buttons.ok"), QDialogButtonBox.ButtonRole.AcceptRole) + cancel_button = button_box.addButton(_("buttons.cancel"), QDialogButtonBox.ButtonRole.RejectRole) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) layout.addWidget(button_box) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py index 876c606..946ea76 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py @@ -17,11 +17,13 @@ from PySide6.QtWidgets import ( QWidget, ) +from src.utils.ytsage_localization import _ + class SubtitleSelectionDialog(QDialog): def __init__(self, available_manual, available_auto, previously_selected, parent=None) -> None: super().__init__(parent) - self.setWindowTitle("Select Subtitles") + self.setWindowTitle(_("dialogs.select_subtitles")) self.setMinimumWidth(400) self.setMinimumHeight(300) @@ -35,7 +37,7 @@ class SubtitleSelectionDialog(QDialog): # Filter input self.filter_input = QLineEdit() - self.filter_input.setPlaceholderText("Filter languages (e.g., en, es)...") + self.filter_input.setPlaceholderText(_("dialogs.filter_languages_placeholder")) self.filter_input.textChanged.connect(self.filter_list) self.filter_input.setStyleSheet( """ @@ -72,7 +74,9 @@ class SubtitleSelectionDialog(QDialog): self.populate_list() # OK and Cancel buttons - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box = QDialogButtonBox() + ok_button = button_box.addButton(_("buttons.ok"), QDialogButtonBox.ButtonRole.AcceptRole) + cancel_button = button_box.addButton(_("buttons.cancel"), QDialogButtonBox.ButtonRole.RejectRole) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) @@ -128,7 +132,8 @@ class SubtitleSelectionDialog(QDialog): combined_subs[lang_code] = f"{lang_code} - Auto-generated" if not combined_subs: - no_subs_label = QLabel("No subtitles available" + (f" matching '{filter_text}'" if filter_text else "")) + matching_text = _("dialogs.matching") if filter_text else "" + no_subs_label = QLabel(_("dialogs.no_subtitles_available") + (f" {matching_text} '{filter_text}'" if filter_text else "")) no_subs_label.setStyleSheet("color: #aaaaaa; padding: 10px;") self.list_layout.addWidget(no_subs_label) return @@ -205,8 +210,8 @@ class PlaylistSelectionDialog(QDialog): # Top buttons (Select/Deselect All) button_layout = QHBoxLayout() - select_all_btn = QPushButton("Select All") - deselect_all_btn = QPushButton("Deselect All") + select_all_btn = QPushButton(_("buttons.select_all")) + deselect_all_btn = QPushButton(_("buttons.deselect_all")) select_all_btn.clicked.connect(self._select_all) deselect_all_btn.clicked.connect(self._deselect_all) # Style the buttons to match the subtitle dialog @@ -250,7 +255,9 @@ class PlaylistSelectionDialog(QDialog): self._populate_list(previously_selected_string) # Dialog buttons (OK/Cancel) - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box = QDialogButtonBox() + ok_button = button_box.addButton(_("buttons.ok"), QDialogButtonBox.ButtonRole.AcceptRole) + cancel_button = button_box.addButton(_("buttons.cancel"), QDialogButtonBox.ButtonRole.RejectRole) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) @@ -428,50 +435,50 @@ class SponsorBlockCategoryDialog(QDialog): # Default SponsorBlock categories with descriptions SPONSORBLOCK_CATEGORIES = { "sponsor": { - "name": "Sponsor", - "description": "Paid promotion, paid referrals and direct advertisements", + "name_key": "sponsorblock.sponsor", + "description_key": "sponsorblock.sponsor_desc", "default": True, }, "selfpromo": { - "name": "Unpaid/Self Promotion", - "description": "Unpaid promotion of creators' own content", + "name_key": "sponsorblock.selfpromo", + "description_key": "sponsorblock.selfpromo_desc", "default": True, }, "interaction": { - "name": "Interaction Reminder", - "description": "Asking viewers to like, subscribe, or follow social media", + "name_key": "sponsorblock.interaction", + "description_key": "sponsorblock.interaction_desc", "default": True, }, "intro": { - "name": "Intro", - "description": "Video introduction that can be skipped", + "name_key": "sponsorblock.intro", + "description_key": "sponsorblock.intro_desc", "default": False, }, "outro": { - "name": "Outro/End Cards", - "description": "Credits or when the video ends", + "name_key": "sponsorblock.outro", + "description_key": "sponsorblock.outro_desc", "default": False, }, "preview": { - "name": "Preview/Recap", - "description": "Quick recap of previous videos or preview of what's coming up", + "name_key": "sponsorblock.preview", + "description_key": "sponsorblock.preview_desc", "default": False, }, "music_offtopic": { - "name": "Non-Music Section", - "description": "Only for music videos. Marks non-music sections", + "name_key": "sponsorblock.music_offtopic", + "description_key": "sponsorblock.music_offtopic_desc", "default": False, }, "filler": { - "name": "Filler Tangent", - "description": "Tangential scenes added only for filler or humor", + "name_key": "sponsorblock.filler", + "description_key": "sponsorblock.filler_desc", "default": False, }, } def __init__(self, previously_selected=None, parent=None) -> None: super().__init__(parent) - self.setWindowTitle("SponsorBlock Categories") + self.setWindowTitle(_("dialogs.sponsorblock_categories")) self.setMinimumWidth(500) self.setMinimumHeight(400) @@ -489,15 +496,12 @@ class SponsorBlockCategoryDialog(QDialog): layout = QVBoxLayout(self) # Title and description - title_label = QLabel("SponsorBlock Categories") + title_label = QLabel(_("dialogs.sponsorblock_categories")) title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) title_label.setStyleSheet("font-size: 16px; font-weight: bold; color: #ffffff; margin: 10px;") layout.addWidget(title_label) - desc_label = QLabel( - "Select which types of video segments to automatically remove during download.\n" - "SponsorBlock uses community-submitted data to identify these segments." - ) + desc_label = QLabel(_("dialogs.sponsorblock_description")) desc_label.setWordWrap(True) desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) desc_label.setStyleSheet("color: #cccccc; margin: 10px; font-size: 11px;") @@ -521,8 +525,8 @@ class SponsorBlockCategoryDialog(QDialog): category_layout.setContentsMargins(0, 0, 0, 0) category_layout.setSpacing(2) - # Create checkbox with just the name - checkbox = QCheckBox(category_info["name"]) + # Create checkbox with localized name + checkbox = QCheckBox(_(category_info["name_key"])) checkbox.setProperty("category_id", category_id) # Determine if this category should be checked @@ -559,8 +563,8 @@ class SponsorBlockCategoryDialog(QDialog): """ ) - # Create description label - desc_label = QLabel(category_info["description"]) + # Create description label with localized text + desc_label = QLabel(_(category_info["description_key"])) desc_label.setStyleSheet("color: #aaaaaa; font-size: 11px; margin-left: 28px; margin-bottom: 8px;") desc_label.setWordWrap(True) @@ -577,15 +581,15 @@ class SponsorBlockCategoryDialog(QDialog): # Quick selection buttons button_layout = QHBoxLayout() - select_defaults_btn = QPushButton("Select Defaults") + select_defaults_btn = QPushButton(_("buttons.select_defaults")) select_defaults_btn.clicked.connect(self.select_defaults) select_defaults_btn.setStyleSheet(self._get_button_style()) - select_all_btn = QPushButton("Select All") + select_all_btn = QPushButton(_("buttons.select_all")) select_all_btn.clicked.connect(self.select_all) select_all_btn.setStyleSheet(self._get_button_style()) - deselect_all_btn = QPushButton("Deselect All") + deselect_all_btn = QPushButton(_("buttons.deselect_all")) deselect_all_btn.clicked.connect(self.deselect_all) deselect_all_btn.setStyleSheet(self._get_button_style()) @@ -597,7 +601,9 @@ class SponsorBlockCategoryDialog(QDialog): layout.addLayout(button_layout) # Dialog buttons - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box = QDialogButtonBox() + ok_button = button_box.addButton(_("buttons.ok"), QDialogButtonBox.ButtonRole.AcceptRole) + cancel_button = button_box.addButton(_("buttons.cancel"), QDialogButtonBox.ButtonRole.RejectRole) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index bac857d..958b03e 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -34,12 +34,13 @@ from src.core.ytsage_utils import ( update_auto_update_settings, ) from src.utils.ytsage_logger import logger +from src.utils.ytsage_localization import _ class DownloadSettingsDialog(QDialog): def __init__(self, current_path, current_limit, current_unit_index, parent=None) -> None: super().__init__(parent) - self.setWindowTitle("Download Settings") + self.setWindowTitle(_("settings.title")) self.setMinimumWidth(450) self.setMinimumHeight(400) self.current_path = current_path @@ -163,7 +164,7 @@ class DownloadSettingsDialog(QDialog): layout = QVBoxLayout(self) # --- Download Path Section --- - path_group_box = QGroupBox("Download Path") + path_group_box = QGroupBox(_("settings.download_path")) path_layout = QVBoxLayout() self.path_display = QLabel(str(self.current_path)) @@ -173,7 +174,8 @@ class DownloadSettingsDialog(QDialog): ) path_layout.addWidget(self.path_display) - browse_button = QPushButton("Browse...") + + browse_button = QPushButton(_("settings.browse")) browse_button.clicked.connect(self.browse_new_path) path_layout.addWidget(browse_button) @@ -181,11 +183,11 @@ class DownloadSettingsDialog(QDialog): layout.addWidget(path_group_box) # --- Speed Limit Section --- - speed_group_box = QGroupBox("Speed Limit") + speed_group_box = QGroupBox(_("settings.speed_limit")) speed_layout = QHBoxLayout() self.speed_limit_input = QLineEdit(str(self.current_limit)) - self.speed_limit_input.setPlaceholderText("None") + self.speed_limit_input.setPlaceholderText(_("settings.speed_limit_placeholder")) speed_layout.addWidget(self.speed_limit_input) self.speed_limit_unit = QComboBox() @@ -197,25 +199,25 @@ class DownloadSettingsDialog(QDialog): layout.addWidget(speed_group_box) # --- Auto-Update yt-dlp Section --- - auto_update_group_box = QGroupBox("Auto-Update yt-dlp") + auto_update_group_box = QGroupBox(_("settings.auto_update_ytdlp")) auto_update_layout = QVBoxLayout() # Load current auto-update settings auto_settings = get_auto_update_settings() # Enable/Disable auto-update checkbox - self.auto_update_enabled = QCheckBox("Enable automatic yt-dlp updates") + self.auto_update_enabled = QCheckBox(_("settings.enable_auto_updates")) self.auto_update_enabled.setChecked(auto_settings["enabled"]) auto_update_layout.addWidget(self.auto_update_enabled) # Frequency options - frequency_label = QLabel("Update frequency:") + frequency_label = QLabel(_("settings.update_frequency")) frequency_label.setStyleSheet("color: #ffffff; margin-top: 10px;") auto_update_layout.addWidget(frequency_label) - self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") - self.daily_radio = QRadioButton("Check daily") - self.weekly_radio = QRadioButton("Check weekly") + self.startup_radio = QRadioButton(_("settings.check_startup")) + self.daily_radio = QRadioButton(_("settings.check_daily")) + self.weekly_radio = QRadioButton(_("settings.check_weekly")) # Set current selection based on saved settings current_frequency = auto_settings["frequency"] @@ -232,7 +234,7 @@ class DownloadSettingsDialog(QDialog): # Test update button test_update_layout = QHBoxLayout() - test_update_button = QPushButton("Check for Updates Now") + test_update_button = QPushButton(_("settings.check_updates_now")) test_update_button.clicked.connect(self.test_update_check) test_update_layout.addWidget(test_update_button) test_update_layout.addStretch() @@ -242,13 +244,15 @@ class DownloadSettingsDialog(QDialog): layout.addWidget(auto_update_group_box) # Dialog buttons (OK/Cancel) - button_box = QDialogButtonBox(QDialogButtonBox.StandardButton.Ok | QDialogButtonBox.StandardButton.Cancel) + button_box = QDialogButtonBox() + ok_button = button_box.addButton(_("buttons.ok"), QDialogButtonBox.ButtonRole.AcceptRole) + cancel_button = button_box.addButton(_("buttons.cancel"), QDialogButtonBox.ButtonRole.RejectRole) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) layout.addWidget(button_box) def browse_new_path(self) -> None: - new_path = QFileDialog.getExistingDirectory(self, "Select Download Directory", str(self.current_path)) + new_path = QFileDialog.getExistingDirectory(self, _("dialogs.select_folder"), str(self.current_path)) if new_path: self.current_path = new_path self.path_display.setText(self.current_path) @@ -316,8 +320,8 @@ class DownloadSettingsDialog(QDialog): if "Error" in current_version: msg_box = self._create_styled_message_box( QMessageBox.Icon.Warning, - "Update Check", - "Could not determine current yt-dlp version.", + _("settings.update_check_title"), + _("settings.could_not_determine_version"), ) msg_box.exec() return @@ -334,22 +338,22 @@ class DownloadSettingsDialog(QDialog): if version_parser.parse(latest_version) > version_parser.parse(current_version): msg_box = self._create_styled_message_box( QMessageBox.Icon.Information, - "Update Check", - f"Update available!\n\nCurrent: {current_version}\nLatest: {latest_version}\n\nUse the 'Update yt-dlp' button in the main window to update.", + _("settings.update_check_title"), + _("settings.update_available_dialog", current=current_version, latest=latest_version), ) msg_box.exec() else: msg_box = self._create_styled_message_box( QMessageBox.Icon.Information, - "Update Check", - f"yt-dlp is up to date!\n\nCurrent version: {current_version}", + _("settings.update_check_title"), + _("settings.up_to_date_dialog", version=current_version), ) msg_box.exec() except Exception as e: msg_box = self._create_styled_message_box( QMessageBox.Icon.Warning, - "Update Check", - f"Error checking for updates: {e}", + _("settings.update_check_title"), + _("settings.error_checking_updates", error=str(e)), ) msg_box.exec() @@ -375,13 +379,13 @@ class DownloadSettingsDialog(QDialog): if update_auto_update_settings(enabled, frequency): QMessageBox.information( self, - "Settings Saved", - "Auto-update settings have been saved successfully!", + _("settings.settings_saved_title"), + _("settings.settings_saved_message"), ) else: - QMessageBox.warning(self, "Error", "Failed to save auto-update settings.") + QMessageBox.warning(self, _("settings.error_title"), _("settings.failed_save_settings")) except Exception as e: - QMessageBox.critical(self, "Error", f"Error saving auto-update settings: {e}") + QMessageBox.critical(self, _("settings.error_title"), _("settings.error_saving_settings", error=str(e))) # Call the parent accept method to close the dialog super().accept() @@ -390,7 +394,7 @@ class DownloadSettingsDialog(QDialog): class AutoUpdateSettingsDialog(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle("Auto-Update Settings") + self.setWindowTitle(_("settings.auto_update_title")) self.setMinimumWidth(400) self.setMinimumHeight(300) @@ -406,32 +410,32 @@ class AutoUpdateSettingsDialog(QDialog): layout = QVBoxLayout(self) # Title - title_label = QLabel("

🔄 Auto-Update Settings

") + title_label = QLabel(f"

{_("settings.auto_update_header")}

") title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(title_label) # Description - desc_label = QLabel("Configure automatic updates for yt-dlp to ensure you always have the latest features and bug fixes.") + desc_label = QLabel(_("settings.auto_update_description")) desc_label.setWordWrap(True) desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) desc_label.setStyleSheet("color: #cccccc; margin: 10px; font-size: 11px;") layout.addWidget(desc_label) # Enable/Disable auto-update - self.enable_checkbox = QCheckBox("Enable automatic yt-dlp updates") + self.enable_checkbox = QCheckBox(_("settings.enable_auto_updates")) self.enable_checkbox.setChecked(True) # Default enabled self.enable_checkbox.toggled.connect(self.on_enable_toggled) layout.addWidget(self.enable_checkbox) # Frequency options - frequency_group = QGroupBox("Update Frequency") + frequency_group = QGroupBox(_("settings.update_frequency_group")) frequency_layout = QVBoxLayout() self.frequency_group = QButtonGroup(self) - self.startup_radio = QRadioButton("Check on every startup (minimum 1 hour between checks)") - self.daily_radio = QRadioButton("Check daily") - self.weekly_radio = QRadioButton("Check weekly") + self.startup_radio = QRadioButton(_("settings.check_startup")) + self.daily_radio = QRadioButton(_("settings.check_daily")) + self.weekly_radio = QRadioButton(_("settings.check_weekly")) self.daily_radio.setChecked(True) # Default to daily @@ -447,12 +451,12 @@ class AutoUpdateSettingsDialog(QDialog): layout.addWidget(frequency_group) # Current status - status_group = QGroupBox("Current Status") + status_group = QGroupBox(_("settings.current_status")) status_layout = QVBoxLayout() - self.current_version_label = QLabel("Current yt-dlp version: Checking...") - self.last_check_label = QLabel("Last update check: Never") - self.next_check_label = QLabel("Next check: Based on settings") + self.current_version_label = QLabel(_("settings.current_version_label")) + self.last_check_label = QLabel(_("settings.last_check_label")) + self.next_check_label = QLabel(_("settings.next_check_label")) status_layout.addWidget(self.current_version_label) status_layout.addWidget(self.last_check_label) @@ -462,17 +466,17 @@ class AutoUpdateSettingsDialog(QDialog): layout.addWidget(status_group) # Manual check button - self.manual_check_btn = QPushButton("🔍 Check for Updates Now") + self.manual_check_btn = QPushButton(_("settings.manual_check_button")) self.manual_check_btn.clicked.connect(self.manual_check) layout.addWidget(self.manual_check_btn) # Buttons button_layout = QHBoxLayout() - self.save_btn = QPushButton("Save Settings") + self.save_btn = QPushButton(_("settings.save_settings")) self.save_btn.clicked.connect(self.save_settings) - self.cancel_btn = QPushButton("Cancel") + self.cancel_btn = QPushButton(_("buttons.cancel")) self.cancel_btn.clicked.connect(self.reject) button_layout.addWidget(self.save_btn) @@ -721,19 +725,19 @@ class AutoUpdateSettingsDialog(QDialog): if update_auto_update_settings(enabled, frequency): msg_box = self._create_styled_message_box( QMessageBox.Icon.Information, - "Settings Saved", - "✅ Auto-update settings have been saved successfully!", + _("settings.settings_saved_title"), + _("settings.settings_saved_successfully"), ) msg_box.exec() self.accept() else: msg_box = self._create_styled_message_box( QMessageBox.Icon.Warning, - "Error", - "❌ Failed to save auto-update settings.\nPlease try again.", + _("settings.error_title"), + _("settings.failed_save_settings"), ) msg_box.exec() except Exception as e: logger.exception(f"Error saving auto-update settings: {e}") - msg_box = self._create_styled_message_box(QMessageBox.Icon.Critical, "Error", f"❌ Error saving settings: {e}") + msg_box = self._create_styled_message_box(QMessageBox.Icon.Critical, _("settings.error_title"), _("settings", "error_saving", error=str(e))) msg_box.exec() diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py index 7b94f44..d0b38ce 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py @@ -18,6 +18,7 @@ from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QProgressBar, QPushB from src.core.ytsage_utils import get_ytdlp_version, load_config, save_config from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import OS_NAME, SUBPROCESS_CREATIONFLAGS, YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL +from src.utils.ytsage_localization import _ from src.utils.ytsage_logger import logger try: @@ -118,15 +119,15 @@ class UpdateThread(QThread): error_message = "" success = False try: - self.update_status.emit("🔍 Checking current installation...") + self.update_status.emit(_('update.checking_current')) self.update_progress.emit(10) # Get the yt-dlp path try: yt_dlp_path = get_yt_dlp_path() - self.update_status.emit(f"📍 Found yt-dlp at: {yt_dlp_path}") + self.update_status.emit(_('update.found_at', path=yt_dlp_path)) except Exception as e: - self.update_status.emit(f"❌ Error getting yt-dlp path: {e}") + self.update_status.emit(_('update.error_getting_path', error=e)) self.update_finished.emit(False, f"❌ Error getting yt-dlp path: {e}") return @@ -152,17 +153,17 @@ class UpdateThread(QThread): is_app_managed = False if is_app_managed: - self.update_status.emit("📦 Updating app-managed yt-dlp binary...") + self.update_status.emit(_('update.updating_binary')) success = self._update_binary(yt_dlp_path) else: - self.update_status.emit("🐍 Updating system yt-dlp via pip...") + self.update_status.emit(_('update.updating_pip')) success = self._update_via_pip() if success: self.update_progress.emit(100) error_message = "✅ yt-dlp has been successfully updated!" else: - error_message = "❌ Failed to update yt-dlp. Please try again or check your internet connection." + error_message = _('update.update_failed') except requests.RequestException as e: error_message = f"❌ Network error during update: {e}" @@ -196,61 +197,61 @@ class UpdateThread(QThread): logger.info("UpdateThread: yt-dlp update completed successfully.") if result.stdout: logger.debug(f"yt-dlp output: {result.stdout.strip()}") - self.update_status.emit("✅ Binary successfully updated!") + self.update_status.emit(_('update.binary_updated')) self.update_progress.emit(95) return True else: logger.error(f"UpdateThread: yt-dlp update failed. {result.stderr.strip()}") - self.update_status.emit(f"❌ yt-dlp update failed: {result.stderr.strip()}") + self.update_status.emit(_('update.update_failed_stderr', error=result.stderr.strip())) return False except subprocess.TimeoutExpired: logger.error("UpdateThread: yt-dlp update timed out.") - self.update_status.emit("❌ yt-dlp update timed out.") + self.update_status.emit(_('update.update_timeout')) return False except Exception as e: logger.exception(f"UpdateThread: Unexpected error during update: {e}") - self.update_status.emit(f"❌ Unexpected error during update: {e}") + self.update_status.emit(_('update.unexpected_error', error=e)) return False def _update_via_pip(self) -> bool: """Update yt-dlp via pip.""" try: - self.update_status.emit("🔍 Checking current pip installation...") + self.update_status.emit(_('update.checking_pip')) self.update_progress.emit(30) # Get current version try: current_version = get_version("yt-dlp") - self.update_status.emit(f"📋 Current version: {current_version}") + self.update_status.emit(_('update.current_version', version=current_version)) except PackageNotFoundError: - self.update_status.emit("⚠️ yt-dlp not found via pip, attempting installation...") + self.update_status.emit(_('update.not_found_pip')) current_version = "0.0.0" self.update_progress.emit(40) # Get the latest version from PyPI - self.update_status.emit("🌐 Checking for latest version...") + self.update_status.emit(_('update.checking_latest')) response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) if response.status_code != 200: - self.update_status.emit("❌ Failed to check for updates") + self.update_status.emit(_('update.failed_check_updates')) return False data = response.json() latest_version = data["info"]["version"] - self.update_status.emit(f"🆕 Latest version: {latest_version}") + self.update_status.emit(_('update.latest_version', version=latest_version)) self.update_progress.emit(50) # Compare versions if version.parse(latest_version) > version.parse(current_version): - self.update_status.emit(f"⬆️ Updating from {current_version} to {latest_version}...") + self.update_status.emit(_('update.updating_from_to', current=current_version, latest=latest_version)) self.update_progress.emit(60) try: # Run pip update with timeout - self.update_status.emit("📦 Running pip install --upgrade...") + self.update_status.emit(_('update.running_pip_install')) update_result = subprocess.run( [sys.executable, "-m", "pip", "install", "--upgrade", "yt-dlp"], capture_output=True, @@ -263,11 +264,11 @@ class UpdateThread(QThread): self.update_progress.emit(85) if update_result.returncode == 0: - self.update_status.emit("✅ Pip update completed successfully!") + self.update_status.emit(_('update.pip_completed')) self.update_progress.emit(95) return True else: - self.update_status.emit(f"❌ Pip update failed: {update_result.stderr}") + self.update_status.emit(_('update.pip_failed', error=update_result.stderr)) return False except subprocess.TimeoutExpired: @@ -289,7 +290,7 @@ class UpdateThread(QThread): class YTDLPUpdateDialog(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle("Update yt-dlp") + self.setWindowTitle(_('update.title')) self.setMinimumWidth(450) self.setMinimumHeight(200) self._closing = False # Flag to track if dialog is closing @@ -297,7 +298,7 @@ class YTDLPUpdateDialog(QDialog): layout = QVBoxLayout(self) # Status label - self.status_label = QLabel("Checking for updates...") + self.status_label = QLabel(_('update.checking')) self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) self.status_label.setWordWrap(True) self.status_label.setMinimumHeight(60) @@ -310,11 +311,11 @@ class YTDLPUpdateDialog(QDialog): # Buttons button_layout = QHBoxLayout() - self.update_btn = QPushButton("Update") + self.update_btn = QPushButton(_('buttons.update')) self.update_btn.clicked.connect(self.perform_update) self.update_btn.setEnabled(False) - self.close_btn = QPushButton("Close") + self.close_btn = QPushButton(_('buttons.close')) self.close_btn.clicked.connect(self.close) button_layout.addWidget(self.update_btn) @@ -370,7 +371,7 @@ class YTDLPUpdateDialog(QDialog): self.check_version() def check_version(self) -> None: - self.status_label.setText("Checking for updates...") + self.status_label.setText(_('update.checking')) self.update_btn.setEnabled(False) self.version_check_thread = VersionCheckThread() self.version_check_thread.finished.connect(self.on_version_check_finished) @@ -387,7 +388,7 @@ class YTDLPUpdateDialog(QDialog): return if not current_version or not latest_version: - self.status_label.setText("Could not determine versions.") + self.status_label.setText(_('update.could_not_determine')) self.update_btn.setEnabled(False) return @@ -398,7 +399,7 @@ class YTDLPUpdateDialog(QDialog): if current_ver < latest_ver: self.status_label.setText( - f"Update available!\nCurrent version: {current_version}\nLatest version: {latest_version}" + _('update.update_available', current=current_version, latest=latest_version) ) self.update_btn.setEnabled(True) else: @@ -408,22 +409,22 @@ class YTDLPUpdateDialog(QDialog): # If version parsing fails, do a simple string comparison if current_version != latest_version: self.status_label.setText( - f"Update available! (Comparison failed)\nCurrent: {current_version}\nLatest: {latest_version}" + _('update.update_available_failed', current=current_version, latest=latest_version) ) self.update_btn.setEnabled(True) else: - self.status_label.setText(f"yt-dlp is up to date (version {current_version})") + self.status_label.setText(_('update.up_to_date', version=current_version)) self.update_btn.setEnabled(False) except Exception as e: - self.status_label.setText(f"Error comparing versions: {e}") + self.status_label.setText(_('update.error_comparing', error=e)) self.update_btn.setEnabled(False) def perform_update(self) -> None: # Immediate visual feedback self.update_btn.setEnabled(False) self.close_btn.setEnabled(False) - self.update_btn.setText("Updating...") - self.status_label.setText("🚀 Initializing update process...") + self.update_btn.setText(_('update.updating')) + self.status_label.setText(_('update.initializing')) # Show progress bar immediately self.progress_bar.setRange(0, 100) @@ -461,7 +462,7 @@ class YTDLPUpdateDialog(QDialog): self.progress_bar.setValue(100) self.status_label.setText(message) self.close_btn.setEnabled(True) - self.update_btn.setText("Update") # Reset button text + self.update_btn.setText(_('buttons.update')) # Reset button text if success: # Show success briefly then auto-check version diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 012c14e..8c4cee5 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -4,6 +4,8 @@ from PySide6.QtCore import QObject, Qt, Signal from PySide6.QtGui import QColor from PySide6.QtWidgets import QCheckBox, QHBoxLayout, QHeaderView, QSizePolicy, QTableWidget, QTableWidgetItem, QWidget +from src.utils.ytsage_localization import _ + if TYPE_CHECKING: from src.gui.ytsage_gui_main import YTSageApp @@ -22,14 +24,14 @@ class FormatTableMixin: self.format_table.setColumnCount(8) self.format_table.setHorizontalHeaderLabels( [ - "Select", - "Quality", - "Extension", - "Resolution", - "File Size", - "Codec", - "Audio", - "Notes", + _("formats.select"), + _("formats.quality"), + _("formats.extension"), + _("formats.resolution"), + _("formats.file_size"), + _("formats.codec"), + _("formats.audio"), + _("formats.notes"), ] ) @@ -183,7 +185,7 @@ class FormatTableMixin: # Configure columns based on mode if is_playlist_mode: self.format_table.setColumnCount(5) - self.format_table.setHorizontalHeaderLabels(["Select", "Quality", "Resolution", "Notes", "Audio"]) + self.format_table.setHorizontalHeaderLabels([_("formats.select"), _("formats.quality"), _("formats.resolution"), _("formats.notes"), _("formats.audio")]) # Configure column visibility and resizing for playlist mode self.format_table.setColumnHidden(5, True) @@ -202,14 +204,14 @@ class FormatTableMixin: self.format_table.setColumnCount(8) self.format_table.setHorizontalHeaderLabels( [ - "Select", - "Quality", - "Extension", - "Resolution", - "File Size", - "Codec", - "Audio", - "Notes", + _("formats.select"), + _("formats.quality"), + _("formats.extension"), + _("formats.resolution"), + _("formats.file_size"), + _("formats.codec"), + _("formats.audio"), + _("formats.notes"), ] ) # Ensure all columns are visible @@ -262,14 +264,14 @@ class FormatTableMixin: # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) - # Set color based on quality - if "Best" in quality_text: + # Set color based on quality (check both English and Spanish terms) + if any(term in quality_text for term in ["Best", "Óptima", "Mejor"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif "High" in quality_text: + elif any(term in quality_text for term in ["High", "Alta", "Alto"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif "Medium" in quality_text: + elif any(term in quality_text for term in ["Medium", "Media", "Medio"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif "Low" in quality_text: + elif any(term in quality_text for term in ["Low", "Baja", "Bajo"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) @@ -278,7 +280,7 @@ class FormatTableMixin: # Column 2: Resolution (Always shown) resolution = f.get("resolution", "N/A") if f.get("vcodec") == "none": - resolution = "Audio only" + resolution = _("formats.audio_only_resolution") self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) # Column 3: Notes for playlist mode, Extension for normal mode @@ -299,11 +301,11 @@ class FormatTableMixin: # Column 4 in playlist mode, Column 6 in normal mode: Audio Status needs_audio = f.get("acodec") == "none" and f.get("vcodec") != "none" # Only mark video-only as needing merge - audio_status = "Will merge audio" if needs_audio else ("✓ Has Audio" if f.get("vcodec") != "none" else "Audio Only") + audio_status = _("formats.will_merge_audio") if needs_audio else (_("formats.has_audio") if f.get("vcodec") != "none" else _("formats.audio_only")) audio_item = QTableWidgetItem(audio_status) if needs_audio: audio_item.setForeground(QColor("#ffa500")) - elif audio_status == "Audio Only": + elif audio_status == _("formats.audio_only"): audio_item.setForeground(QColor("#cccccc")) # Neutral color for audio only else: # Has Audio (Video+Audio) audio_item.setForeground(QColor("#00cc00")) # Green for included audio @@ -369,13 +371,13 @@ class FormatTableMixin: # Audio quality abr = format_info.get("abr", 0) if abr >= 256: - return "Best Audio" + return _("formats.best_audio") elif abr >= 192: - return "High Audio" + return _("formats.high_audio") elif abr >= 128: - return "Medium Audio" + return _("formats.medium_audio") else: - return "Low Audio" + return _("formats.low_audio") else: # Video quality height = 0 @@ -387,17 +389,17 @@ class FormatTableMixin: pass if height >= 2160: - return "Best (4K)" + return _("formats.best_4k") elif height >= 1440: - return "Best (2K)" + return _("formats.best_2k") elif height >= 1080: - return "High (1080p)" + return _("formats.high_1080p") elif height >= 720: - return "High (720p)" + return _("formats.high_720p") elif height >= 480: - return "Medium (480p)" + return _("formats.medium_480p") else: - return "Low Quality" + return _("formats.low_quality") def _get_format_notes(self, format_info) -> str: """Generate helpful format notes based on format info.""" @@ -410,11 +412,11 @@ class FormatTableMixin: # Better file size categories if file_size > 50 * 1024 * 1024: # Over 50MB - notes.append("Large size") + notes.append(_("formats.large_size")) elif file_size > 15 * 1024 * 1024: # 15-50MB - notes.append("Medium size") + notes.append(_("formats.medium_size")) elif file_size > 5 * 1024 * 1024: # 5-15MB - notes.append("Standard size") + notes.append(_("formats.standard_size")) else: # Under 5MB notes.append("Small size") @@ -422,11 +424,11 @@ class FormatTableMixin: vcodec = format_info.get("vcodec", "") if vcodec != "none": if "avc1" in vcodec: # H.264 - notes.append("Compatible") + notes.append(_("formats.compatible")) elif "av01" in vcodec: # AV1 - notes.append("Efficient") + notes.append(_("formats.efficient")) elif "vp9" in vcodec: # VP9 - notes.append("High quality") + notes.append(_("formats.high_quality")) # Add quick mobile compatibility check if "avc1" in vcodec and file_size < 8 * 1024 * 1024: diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 63e449c..6d58965 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -46,6 +46,7 @@ from src.gui.ytsage_gui_video_info import VideoInfoMixin from src.utils.ytsage_constants import ICON_PATH, SOUND_PATH, SUBPROCESS_CREATIONFLAGS from src.utils.ytsage_logger import logger from src.utils.ytsage_config_manager import ConfigManager +from src.utils.ytsage_localization import LocalizationManager, _ try: import yt_dlp @@ -60,6 +61,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def __init__(self) -> None: super().__init__() + # Initialize localization system + saved_language = ConfigManager.get("language") or "en" + LocalizationManager.initialize(saved_language) + # Log startup warnings for missing dependencies if not YT_DLP_AVAILABLE: logger.warning("yt-dlp not available at startup, will be downloaded at runtime") @@ -316,7 +321,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from logger.exception(f"Error playing notification sound: {e}") def init_ui(self) -> None: - self.setWindowTitle(f"YTSage v{self.version}") + self.setWindowTitle(f"{_('app.title')} {_('app.version', version=self.version)}") self.setMinimumSize(900, 750) # Main widget and layout @@ -329,13 +334,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # URL input section url_layout = QHBoxLayout() self.url_input = QLineEdit() - self.url_input.setPlaceholderText("Enter YouTube video or playlist URL") + self.url_input.setPlaceholderText(_("main_ui.url_placeholder")) self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key - self.analyze_button = QPushButton("Analyze") + self.analyze_button = QPushButton(_("buttons.analyze")) self.analyze_button.clicked.connect(self.analyze_url) - self.paste_button = QPushButton("Paste URL") + self.paste_button = QPushButton(_("buttons.paste_url")) self.paste_button.clicked.connect(self.paste_url) url_layout.addWidget(self.url_input, 1) @@ -363,7 +368,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from layout.addWidget(self.playlist_info_label) # Add playlist selection BUTTON (initially hidden) - REPLACED QLineEdit - self.playlist_select_btn = QPushButton("Select Videos...") + self.playlist_select_btn = QPushButton(_("buttons.select_videos")) self.playlist_select_btn.clicked.connect(self.open_playlist_selection_dialog) self.playlist_select_btn.setVisible(False) self.playlist_select_btn.setStyleSheet( @@ -394,7 +399,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.format_layout = QHBoxLayout() # Show formats label - self.show_formats_label = QLabel("Show formats:") + self.show_formats_label = QLabel(_("formats.show_formats")) self.show_formats_label.setStyleSheet("color: white;") self.format_layout.addWidget(self.show_formats_label) @@ -403,7 +408,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.format_buttons.setExclusive(True) # Video button - self.video_button = QPushButton("Video") + self.video_button = QPushButton(_("buttons.video")) self.video_button.setCheckable(True) self.video_button.setChecked(True) # Set video as default self.video_button.setStyleSheet( @@ -431,7 +436,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.format_layout.addWidget(self.video_button) # Audio button - self.audio_button = QPushButton("Audio Only") + self.audio_button = QPushButton(_("buttons.audio_only")) self.audio_button.setCheckable(True) self.audio_button.setStyleSheet( """ @@ -458,7 +463,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.format_layout.addWidget(self.audio_button) # Add Merge Subtitles checkbox (Moved here) - self.merge_subs_checkbox = QCheckBox("Merge Subtitles") + self.merge_subs_checkbox = QCheckBox(_("main_ui.merge_subtitles")) self.merge_subs_checkbox.setStyleSheet( """ QCheckBox { @@ -491,7 +496,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.format_layout.addWidget(self.merge_subs_checkbox) # Add Save Thumbnail Checkbox (Moved here) - self.save_thumbnail_checkbox = QCheckBox("Save Thumbnail") + self.save_thumbnail_checkbox = QCheckBox(_("main_ui.save_thumbnail")) self.save_thumbnail_checkbox.setChecked(False) self.save_thumbnail_checkbox.stateChanged.connect(self.toggle_save_thumbnail) self.save_thumbnail_checkbox.setStyleSheet( @@ -511,7 +516,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.format_layout.addWidget(self.save_thumbnail_checkbox) # Add Save Description Checkbox (Moved here) - self.save_description_checkbox = QCheckBox("Save Description") + self.save_description_checkbox = QCheckBox(_("main_ui.save_description")) self.save_description_checkbox.setChecked(False) self.save_description_checkbox.stateChanged.connect(self.toggle_save_description) self.save_description_checkbox.setStyleSheet( @@ -531,7 +536,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.format_layout.addWidget(self.save_description_checkbox) # Add Embed Chapters Checkbox - self.embed_chapters_checkbox = QCheckBox("Embed Chapters") + self.embed_chapters_checkbox = QCheckBox(_("main_ui.embed_chapters")) self.embed_chapters_checkbox.setChecked(False) self.embed_chapters_checkbox.stateChanged.connect(self.toggle_embed_chapters) self.embed_chapters_checkbox.setStyleSheet( @@ -562,34 +567,34 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from download_layout = QHBoxLayout() # Replace the two separate buttons with a single Custom Options button - self.custom_options_btn = QPushButton("Custom Options") + self.custom_options_btn = QPushButton(_("buttons.custom_options")) self.custom_options_btn.clicked.connect(self.show_custom_options) - self.about_btn = QPushButton("About") + self.about_btn = QPushButton(_("buttons.about")) self.about_btn.clicked.connect(self.show_about_dialog) # Add new Time Range button - self.time_range_btn = QPushButton("Trim Video") + self.time_range_btn = QPushButton(_("buttons.trim_video")) self.time_range_btn.clicked.connect(self.show_time_range_dialog) - self.update_ytdlp_btn = QPushButton("Update yt-dlp") + self.update_ytdlp_btn = QPushButton(_("buttons.update")) self.update_ytdlp_btn.clicked.connect(self.update_ytdlp) # --- Rename Path Button to Settings Button --- - self.settings_button = QPushButton("Download Settings") # Renamed button + self.settings_button = QPushButton(_("buttons.download_settings")) # Renamed button self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: None") # Update initial tooltip # --- End Settings Button --- - self.download_btn = QPushButton("Download") + self.download_btn = QPushButton(_("buttons.download")) self.download_btn.clicked.connect(self.start_download) # Add pause and cancel buttons - self.pause_btn = QPushButton("Pause") + self.pause_btn = QPushButton(_("buttons.pause")) self.pause_btn.clicked.connect(self.toggle_pause) self.pause_btn.setVisible(False) # Hidden initially - self.cancel_btn = QPushButton("Cancel") + self.cancel_btn = QPushButton(_("buttons.cancel")) self.cancel_btn.clicked.connect(self.cancel_download) self.cancel_btn.setVisible(False) # Hidden initially @@ -640,7 +645,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from ) progress_layout.addWidget(self.download_details_label) - self.status_label = QLabel("Ready") + self.status_label = QLabel(_("app.ready")) self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) self.status_label.setStyleSheet( """ @@ -673,12 +678,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.update_status.emit("Invalid URL or please enter a URL.") return - self.signals.update_status.emit("Analyzing (0%)... Preparing request") + self.signals.update_status.emit(_("main_ui.analyzing_preparing")) threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() def _analyze_url_thread(self, url) -> None: try: - self.signals.update_status.emit("Analyzing (15%)... Extracting basic info") + self.signals.update_status.emit(_("main_ui.analyzing_extracting_basic")) # Clean up the URL to handle both playlist and video URLs if "list=" in url and "watch?v=" in url: @@ -719,7 +724,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if not basic_info: logger.error("Could not extract basic video information") self.signals.update_status.emit( - "Error: Could not extract basic video information. Please check your link." + _("main_ui.error_extract_info") ) # Hide playlist UI on error self.signals.playlist_info_label_visible.emit(False) @@ -733,7 +738,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.update_status.emit(user_friendly_error) return - self.signals.update_status.emit("Analyzing (30%)... Extracting detailed info") + self.signals.update_status.emit(_("main_ui.analyzing_extracting_detailed")) # Configure options for detailed extraction (keep other options) # Add no_warnings here as well, as this is where detailed info is fetched ydl_opts_detail = { @@ -762,7 +767,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Use a separate options dict for the detailed extraction with yt_dlp.YoutubeDL(ydl_opts_detail) as ydl_detail: try: - self.signals.update_status.emit("Analyzing (45%)... Processing video data") + self.signals.update_status.emit(_("main_ui.analyzing_processing_video")) if basic_info.get("_type") == "playlist": self.is_playlist = True self.playlist_info = basic_info @@ -806,7 +811,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Show playlist selection BUTTON # update signal method from QMetaObject.invokeMethod to signals - self.signals.playlist_select_btn_text.emit("Select Videos... (All selected)") + self.signals.playlist_select_btn_text.emit(_("main_ui.select_videos_all")) self.signals.playlist_select_btn_visible.emit(True) else: # Single video @@ -824,19 +829,19 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Verify we have format information if not self.video_info or "formats" not in self.video_info: logger.debug(f"video_info keys: {self.video_info.keys() if self.video_info else 'None'}") - self.signals.update_status.emit("Error: No format information available.") + self.signals.update_status.emit(_("main_ui.error_no_format_info")) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return - self.signals.update_status.emit("Analyzing (60%)... Processing formats") + self.signals.update_status.emit(_("main_ui.analyzing_processing_formats")) self.all_formats = self.video_info["formats"] # Update UI self.update_video_info(self.video_info) # Update thumbnail - self.signals.update_status.emit("Analyzing (75%)... Loading thumbnail") + self.signals.update_status.emit(_("main_ui.analyzing_loading_thumbnail")) # Try to get thumbnail from playlist info first # Fallback to video thumbnail if playlist thumbnail not found or not a playlist thumbnail_url = (self.playlist_info or {}).get("thumbnail") or (self.video_info or {}).get("thumbnail") @@ -849,14 +854,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from ) # --- Subtitle Handling --- - self.signals.update_status.emit("Analyzing (85%)... Processing subtitles") + self.signals.update_status.emit(_("main_ui.analyzing_processing_subtitles")) # Clear previous selections when analyzing a new video self.selected_subtitles = [] self.available_subtitles = self.video_info.get("subtitles", {}) self.available_automatic_subtitles = self.video_info.get("automatic_captions", {}) # Update the UI elements related to subtitle selection state # update signal method from QMetaObject.invokeMethod to signals - self.signals.selected_subs_label_text.emit("0 selected") + self.signals.selected_subs_label_text.emit(_("main_ui.subtitles_selected", count=0)) # QMetaObject.invokeMethod( # self.subtitle_select_btn, @@ -875,11 +880,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # ) # Update format table - self.signals.update_status.emit("Analyzing (95%)... Updating format table") + self.signals.update_status.emit(_("main_ui.analyzing_updating_table")) self.video_button.setChecked(True) self.audio_button.setChecked(False) self.filter_formats() - self.signals.update_status.emit("Analysis complete!") + self.signals.update_status.emit(_("main_ui.analysis_complete")) except Exception as e: logger.exception(f"Detailed extraction failed: {e}") @@ -948,22 +953,22 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if not url or not path: # More specific error message if path is missing if not path: - self.status_label.setText("Please set a download path using 'Change Path'") + self.status_label.setText(_('download.please_set_path')) elif not url: - self.status_label.setText("Please enter a URL") + self.status_label.setText(_('download.please_enter_url')) else: - self.status_label.setText("Please enter URL and set download path") + self.status_label.setText(_('download.please_enter_url_and_path')) return # --- End Path Change --- # Get selected format format_id = self.get_selected_format() if not format_id: - self.status_label.setText("Please select a format") + self.status_label.setText(_('download.please_select_format')) return # Show preparation message - self.status_label.setText("🚀 Preparing your download...") + self.status_label.setText(_('download.preparing')) self.progress_bar.setValue(0) # Get resolution for filename @@ -1044,7 +1049,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.download_cancelled = False # Show pause/cancel buttons - self.pause_btn.setText("Pause") + self.pause_btn.setText(_("buttons.pause")) self.pause_btn.setVisible(True) self.cancel_btn.setVisible(True) @@ -1066,16 +1071,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Video file extensions if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: - self.status_label.setText(f"✅ Video download completed!") + self.status_label.setText(_('download.video_completed')) # Audio file extensions elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: - self.status_label.setText(f"✅ Audio download completed!") + self.status_label.setText(_('download.audio_completed')) # Subtitle file extensions elif ext in [".vtt", ".srt", ".ass", ".ssa"]: - self.status_label.setText(f"✅ Subtitle download completed!") + self.status_label.setText(_('download.subtitle_completed')) # Default case else: - self.status_label.setText("✅ Download completed!") + self.status_label.setText(_('download.completed')) # Play notification sound when download completes self.play_notification_sound() @@ -1102,7 +1107,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.pause_btn.setText("Resume") self.signals.update_status.emit("Download paused") else: - self.pause_btn.setText("Pause") + self.pause_btn.setText(_("buttons.pause")) self.signals.update_status.emit("Download resumed") def check_for_updates(self) -> None: @@ -1735,7 +1740,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.playlist_select_btn_visible.emit(False) return - self.signals.update_status.emit("Analyzing (30%)... Extracting info with yt-dlp executable") + self.signals.update_status.emit(_("main_ui.analyzing_extracting_ytdlp")) # Clean up the URL to handle both playlist and video URLs if "list=" in url and "watch?v=" in url: @@ -1787,7 +1792,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.playlist_select_btn_visible.emit(False) return - self.signals.update_status.emit("Analyzing (60%)... Processing data") + self.signals.update_status.emit(_("main_ui.analyzing_processing_data")) if first_info.get("_type") == "playlist" or len(json_lines) > 1: # Handle playlist @@ -1852,14 +1857,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.playlist_select_btn_visible.emit(False) return - self.signals.update_status.emit("Analyzing (75%)... Processing formats") + self.signals.update_status.emit(_("main_ui.analyzing_processing_formats_ytdlp")) self.all_formats = self.video_info["formats"] # Update UI self.update_video_info(self.video_info) # Update thumbnail - self.signals.update_status.emit("Analyzing (85%)... Loading thumbnail") + self.signals.update_status.emit(_("main_ui.analyzing_loading_thumbnail_ytdlp")) # Try to get thumbnail from playlist info first # Fallback to video thumbnail if playlist thumbnail not found or not a playlist thumbnail_url = (self.playlist_info or {}).get("thumbnail") or (self.video_info or {}).get("thumbnail") @@ -1871,7 +1876,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.download_thumbnail_file(self.video_url, self.path_input.text()) # type: ignore[reportAttributeAccessIssue] # Handle subtitles - self.signals.update_status.emit("Analyzing (90%)... Processing subtitles") + self.signals.update_status.emit(_("main_ui.analyzing_processing_subtitles_ytdlp")) self.selected_subtitles = [] self.available_subtitles = self.video_info.get("subtitles", {}) self.available_automatic_subtitles = self.video_info.get("automatic_captions", {}) diff --git a/src/gui/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py index 56353ca..60270dc 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -14,6 +14,7 @@ from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__ SponsorBlockCategoryDialog, SubtitleSelectionDialog, ) +from src.utils.ytsage_localization import _ from src.utils.ytsage_logger import logger if TYPE_CHECKING: @@ -95,7 +96,7 @@ class VideoInfoMixin: subtitle_layout.setSpacing(10) # Subtitle selection button - self.subtitle_select_btn = QPushButton("Select Subtitles...") # Renamed & changed text + self.subtitle_select_btn = QPushButton(_("main_ui.select_subtitles")) # Renamed & changed text self.subtitle_select_btn.setFixedHeight(30) # self.subtitle_select_btn.setFixedWidth(150) # Let it size naturally or adjust as needed self.subtitle_select_btn.clicked.connect(self.open_subtitle_dialog) @@ -124,7 +125,7 @@ class VideoInfoMixin: subtitle_layout.addWidget(self.subtitle_select_btn) # Label to show number of selected subtitles - self.selected_subs_label = QLabel("0 selected") + self.selected_subs_label = QLabel(_("selection.none_selected")) self.selected_subs_label.setStyleSheet("color: #cccccc; padding-left: 5px;") subtitle_layout.addWidget(self.selected_subs_label) @@ -138,7 +139,7 @@ class VideoInfoMixin: # --- SponsorBlock Section --- sponsorblock_layout = QHBoxLayout() - self.sponsorblock_select_btn = QPushButton("SponsorBlock Categories...") + self.sponsorblock_select_btn = QPushButton(_("main_ui.sponsorblock_categories")) self.sponsorblock_select_btn.setFixedHeight(30) self.sponsorblock_select_btn.clicked.connect(self.open_sponsorblock_dialog) self.sponsorblock_select_btn.setStyleSheet( @@ -167,7 +168,7 @@ class VideoInfoMixin: sponsorblock_layout.addWidget(self.sponsorblock_select_btn) # Label to show selection count - self.selected_sponsorblock_label = QLabel("0 selected") + self.selected_sponsorblock_label = QLabel(_("selection.none_selected")) self.selected_sponsorblock_label.setStyleSheet("color: #cccccc; padding-left: 5px;") sponsorblock_layout.addWidget(self.selected_sponsorblock_label) @@ -253,7 +254,7 @@ class VideoInfoMixin: date_obj = datetime.strptime(upload_date, "%Y%m%d") formatted_date = date_obj.strftime("%B %d, %Y") else: - formatted_date = "Unknown date" + formatted_date = _("video_info.unknown_date") # Format duration duration = info.get("duration", 0) @@ -261,13 +262,13 @@ class VideoInfoMixin: seconds = duration % 60 duration_str = f"{minutes}:{seconds:02d}" - # Update labels - self.title_label.setText(info.get("title", "Unknown title")) - self.channel_label.setText(f"Channel: {info.get('uploader', 'Unknown channel')}") - self.views_label.setText(f"Views: {formatted_views}") - self.like_count_label.setText(f"Likes: {formatted_likes}") - self.date_label.setText(f"Upload date: {formatted_date}") - self.duration_label.setText(f"Duration: {duration_str}") + # Update labels with localized text + self.title_label.setText(info.get("title", _("video_info.unknown_title"))) + self.channel_label.setText(f"{_("video_info.channel")}: {info.get('uploader', _("video_info.unknown_channel"))}") + self.views_label.setText(f"{_("video_info.views")}: {formatted_views}") + self.like_count_label.setText(f"{_("video_info.likes")}: {formatted_likes}") + self.date_label.setText(f"{_("video_info.upload_date")}: {formatted_date}") + self.duration_label.setText(f"{_("video_info.duration")}: {duration_str}") def open_subtitle_dialog(self) -> None: self = cast("YTSageApp", self) # for autocompletion and type inference. @@ -341,11 +342,11 @@ class VideoInfoMixin: # Update label text if count == 0: - self.selected_sponsorblock_label.setText("0 selected") + self.selected_sponsorblock_label.setText(_("selection.none_selected")) elif count == 1: - self.selected_sponsorblock_label.setText("1 category selected") + self.selected_sponsorblock_label.setText(_("selection.one_selected")) else: - self.selected_sponsorblock_label.setText(f"{count} categories selected") + self.selected_sponsorblock_label.setText(_("selection.count_selected", count=count)) # Update button property for styling self.sponsorblock_select_btn.setProperty("sponsorBlockSelected", count > 0) diff --git a/src/utils/ytsage_config_manager.py b/src/utils/ytsage_config_manager.py index bf83ace..ff3a04b 100644 --- a/src/utils/ytsage_config_manager.py +++ b/src/utils/ytsage_config_manager.py @@ -79,6 +79,7 @@ class ConfigManager: "auto_update_ytdlp": True, "auto_update_frequency": "daily", "last_update_check": 0, + "language": "en", "cached_versions": { "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, "ffmpeg": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py new file mode 100644 index 0000000..b9d0756 --- /dev/null +++ b/src/utils/ytsage_localization.py @@ -0,0 +1,266 @@ +""" +Localization Manager Module +========================== + +This module provides centralized localization support for YTSage application. +It handles loading language files, switching languages, and retrieving localized strings. + +Features +-------- +- Thread-safe operations for getting localized text +- Fallback to English when translation is missing +- Support for multiple languages via JSON files +- Dynamic language switching without restart +- Nested key support with dot notation + +Usage +----- +from src.utils.ytsage_localization import LocalizationManager + +# Get localized text +text = LocalizationManager.get_text("download.ready") +button_text = LocalizationManager.get_text("buttons.download") + +# Change language +LocalizationManager.set_language("es") + +# Get available languages +languages = LocalizationManager.get_available_languages() +""" + +import json +import threading +from pathlib import Path +from typing import Any, Dict + +from src.utils.ytsage_logger import logger + + +class LocalizationManager: + """ + Thread-safe localization manager for YTSage. + + Handles loading, caching, and retrieving localized strings from JSON language files. + """ + + _lock = threading.RLock() + _current_language = "en" + _languages: Dict[str, Dict[str, Any]] = {} + _languages_dir = Path(__file__).parent.parent.parent / "languages" + + # Fallback English strings embedded in code + _fallback_strings = { + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Ready" + }, + "buttons": { + "download": "Download", + "pause": "Pause", + "resume": "Resume", + "cancel": "Cancel", + "browse": "Browse", + "clear": "Clear", + "ok": "OK", + "apply": "Apply", + "close": "Close" + }, + "dialogs": { + "custom_options": "Custom Options", + "settings": "Settings" + }, + "tabs": { + "cookies": "Login with Cookies", + "custom_command": "Custom Command", + "proxy": "Proxy", + "language": "Language" + }, + "language": { + "select_language": "Select Language:", + "current_language": "Current language: {language}", + "restart_required": "Language changes will take effect after restarting the application.", + "english": "English", + "spanish": "Español (Spanish)" + }, + "download": { + "preparing": "🚀 Preparing your download...", + "completed": "✅ Download completed!", + "video_completed": "✅ Video download completed!", + "audio_completed": "✅ Audio download completed!", + "subtitle_completed": "✅ Subtitle download completed!", + "please_set_path": "Please set a download path using 'Change Path'", + "please_enter_url": "Please enter a URL", + "please_enter_url_and_path": "Please enter URL and set download path", + "please_select_format": "Please select a format" + }, + "formats": { + "show_formats": "Show formats:" + } + } + + @classmethod + def _ensure_languages_dir(cls) -> None: + """Ensure the languages directory exists.""" + cls._languages_dir.mkdir(exist_ok=True) + + @classmethod + def _load_language(cls, language_code: str) -> Dict[str, Any]: + """ + Load a language file from disk. + + Args: + language_code: The language code (e.g., 'en', 'es') + + Returns: + Dictionary containing the language strings, or empty dict if not found + """ + language_file = cls._languages_dir / f"{language_code}.json" + + if not language_file.exists(): + logger.warning(f"Language file not found: {language_file}") + return {} + + try: + with open(language_file, "r", encoding="utf-8") as f: + return json.load(f) + except (json.JSONDecodeError, OSError) as e: + logger.error(f"Failed to load language file {language_file}: {e}") + return {} + + @classmethod + def _get_nested_value(cls, data: Dict[str, Any], key: str) -> Any: + """ + Get a nested value from dictionary using dot notation. + + Args: + data: Dictionary to search in + key: Dot-separated key (e.g., "app.title") + + Returns: + The value if found, None otherwise + """ + parts = key.split(".") + value = data + + for part in parts: + if isinstance(value, dict) and part in value: + value = value[part] + else: + return None + + return value + + @classmethod + def get_text(cls, key: str, **kwargs) -> str: + """ + Get localized text for the given key. + + Args: + key: Dot-separated key for the text (e.g., "app.title") + **kwargs: Format parameters for the text + + Returns: + Localized text, with fallback to English if not found + """ + with cls._lock: + # Load current language if not cached + if cls._current_language not in cls._languages: + cls._languages[cls._current_language] = cls._load_language(cls._current_language) + + # Try to get from current language + current_lang_data = cls._languages.get(cls._current_language, {}) + text = cls._get_nested_value(current_lang_data, key) + + # Fallback to embedded English strings + if text is None: + text = cls._get_nested_value(cls._fallback_strings, key) + + # Final fallback to key itself + if text is None: + logger.warning(f"Localization key not found: {key}") + text = key + + # Format the text with provided parameters + if kwargs and isinstance(text, str): + try: + text = text.format(**kwargs) + except (KeyError, ValueError) as e: + logger.warning(f"Failed to format localized text '{key}': {e}") + + return str(text) + + @classmethod + def set_language(cls, language_code: str) -> None: + """ + Set the current language. + + Args: + language_code: The language code to set (e.g., 'en', 'es') + """ + with cls._lock: + if language_code != cls._current_language: + cls._current_language = language_code + # Clear cache to force reload + cls._languages.clear() + logger.info(f"Language set to: {language_code}") + + @classmethod + def get_current_language(cls) -> str: + """Get the current language code.""" + return cls._current_language + + @classmethod + def get_available_languages(cls) -> Dict[str, str]: + """ + Get available languages from the languages directory. + + Returns: + Dictionary mapping language codes to display names + """ + cls._ensure_languages_dir() + + available_languages = {"en": cls.get_text("language.english")} + + # Scan for language files + for language_file in cls._languages_dir.glob("*.json"): + lang_code = language_file.stem + if lang_code != "en": # Skip English as it's already added + # Try to get language display name from the file + lang_data = cls._load_language(lang_code) + display_name = cls._get_nested_value(lang_data, "language.display_name") + if display_name: + available_languages[lang_code] = display_name + else: + # Fallback display name + available_languages[lang_code] = lang_code.upper() + + return available_languages + + @classmethod + def initialize(cls, language_code: str = "en") -> None: + """ + Initialize the localization system. + + Args: + language_code: Initial language code to use + """ + with cls._lock: + cls._ensure_languages_dir() + cls.set_language(language_code) + logger.info(f"Localization system initialized with language: {language_code}") + + +# Convenience function for getting localized text +def _(key: str, **kwargs) -> str: + """ + Convenience function to get localized text. + + Args: + key: Dot-separated key for the text + **kwargs: Format parameters + + Returns: + Localized text + """ + return LocalizationManager.get_text(key, **kwargs) \ No newline at end of file From 69507abf3229a6d53b906dc52e6f859da646a7fe Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:25:25 +0300 Subject: [PATCH 207/568] Update language files with new and revised strings Expanded and reorganized language keys in en.json, including improved labels for language selection, about dialog, and time range features. Added missing Portuguese language entry to es.json for consistency. Updated descriptions and placeholders for better clarity and user experience. --- languages/en.json | 44 ++++++++++++++++++++++++++++---------------- languages/es.json | 3 ++- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/languages/en.json b/languages/en.json index 335cbca..e1e7ec8 100644 --- a/languages/en.json +++ b/languages/en.json @@ -1,4 +1,15 @@ { + "language": { + "display_name": "English", + "select_language": "Select language:", + "current_language": "Current language: {language}", + "restart_required": "Language changes will take effect after restarting the application.", + "english": "English", + "spanish": "Español (Spanish)", + "portuguese": "Português (Portuguese)", + "help_text": "Select your preferred language for the interface.", + "restart_notice": "Language change will take effect after restarting the application." + }, "app": { "title": "YTSage", "version": "v{version}", @@ -134,11 +145,7 @@ "main_configured": "Main proxy configured", "geo_configured": "Geo proxy configured" }, - "language": { - "help_text": "Select your preferred language for the interface.", - "current_language": "Current Language:", - "restart_notice": "Language change will take effect after restarting the application." - }, + "download": { "preparing": "Preparing download...", "please_enter_url": "Please enter a URL first.", @@ -179,25 +186,30 @@ }, "about": { "title": "About YTSage", - "version": "Version: {version}", - "description": "A modern YouTube downloader with advanced features", - "author": "Created with ❤️", - "license": "License: MIT", + "version": "Version {version}", + "description": "Modern YouTube downloader with clean PySide6 interface.", + "author": "By: {author}", + "github": "GitHub: {repo}", "system_info": "System Information", - "python_version": "Python Version: {version}", - "pyside_version": "PySide6 Version: {version}", - "ytdlp_version": "yt-dlp Version: {version}", - "ffmpeg_status": "FFmpeg Status: {status}", - "ffmpeg_available": "Available", - "ffmpeg_not_available": "Not Available", - "error_getting_info": "Error getting system information: {error}" + "loading": "🔄 Loading system information...", + "refresh": "🔄", + "refreshing": "🔄 Refreshing...", + "refresh_failed": "Refresh Failed", + "refresh_failed_message": "Could not refresh version information.", + "detected": "✓ Detected", + "missing": "✗ Missing", + "not_available": "Not Available" }, "time_range": { "title": "Trim Video", + "time_range_group": "Time Range", "start_time": "Start Time (HH:MM:SS)", "end_time": "End Time (HH:MM:SS)", "start_placeholder": "00:00:00", "end_placeholder": "00:00:00", + "start_time_placeholder": "Start time (HH:MM:SS)", + "end_time_placeholder": "End time (HH:MM:SS)", + "force_keyframes": "Force keyframes at cut points", "help_text": "Set the start and end times to trim the video.\nLeave empty to download the full video.", "invalid_format": "Invalid time format. Use HH:MM:SS format.", "start_after_end": "Start time cannot be after end time." diff --git a/languages/es.json b/languages/es.json index b5d2941..4f344c8 100644 --- a/languages/es.json +++ b/languages/es.json @@ -5,7 +5,8 @@ "current_language": "Idioma actual: {language}", "restart_required": "Los cambios de idioma tendrán efecto después de reiniciar la aplicación.", "english": "Inglés", - "spanish": "Español (Spanish)" + "spanish": "Español (Spanish)", + "portuguese": "Português (Portuguese)" }, "app": { "title": "YTSage", From bb8bf033bfa6e3f819435c117b9a70cd75b184f3 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:25:30 +0300 Subject: [PATCH 208/568] Add Portuguese localization support Introduces a new Portuguese translation file (pt.json) and updates the localization manager to recognize Portuguese as a supported language. --- languages/pt.json | 328 +++++++++++++++++++++++++++++++ src/utils/ytsage_localization.py | 3 +- 2 files changed, 330 insertions(+), 1 deletion(-) create mode 100644 languages/pt.json diff --git a/languages/pt.json b/languages/pt.json new file mode 100644 index 0000000..6167a0d --- /dev/null +++ b/languages/pt.json @@ -0,0 +1,328 @@ +{ + "language": { + "display_name": "Português (Portuguese)", + "select_language": "Selecionar idioma:", + "current_language": "Idioma atual: {language}", + "restart_required": "As alterações de idioma terão efeito após reiniciar a aplicação.", + "english": "Inglês", + "spanish": "Espanhol", + "portuguese": "Português", + "help_text": "Selecione seu idioma preferido para a interface.", + "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Pronto" + }, + "formats": { + "show_formats": "Mostrar Formatos:", + "video_format": "Formato de Vídeo:", + "audio_format": "Formato de Áudio:", + "no_formats": "Nenhum formato disponível", + "loading": "Carregando formatos...", + "select": "Selecionar", + "quality": "Qualidade", + "extension": "Extensão", + "resolution": "Resolução", + "file_size": "Tamanho do Arquivo", + "codec": "Codec", + "audio": "Áudio", + "notes": "Notas", + "will_merge_audio": "Irá mesclar áudio", + "has_audio": "✓ Tem Áudio", + "audio_only": "Apenas Áudio", + "large_size": "Tamanho grande", + "medium_size": "Tamanho médio", + "standard_size": "Tamanho padrão", + "compatible": "Compatível", + "efficient": "Eficiente", + "high_quality": "Alta qualidade", + "best_4k": "Melhor (4K)", + "best_2k": "Melhor (2K)", + "high_1080p": "Alta (1080p)", + "high_720p": "Alta (720p)", + "medium_480p": "Média (480p)", + "low_quality": "Baixa Qualidade", + "best_audio": "Melhor Áudio", + "high_audio": "Áudio Alto", + "medium_audio": "Áudio Médio", + "low_audio": "Áudio Baixo", + "audio_only_resolution": "Apenas áudio" + }, + "buttons": { + "download": "Baixar", + "pause": "Pausar", + "resume": "Retomar", + "cancel": "Cancelar", + "browse": "Procurar", + "clear": "Limpar", + "ok": "OK", + "apply": "Aplicar", + "close": "Fechar", + "run_command": "Executar Comando", + "custom_command_help": "Ajuda", + "about": "Sobre", + "analyze": "Analisar", + "paste_url": "Colar URL", + "select_videos": "Selecionar Vídeos...", + "video": "Vídeo", + "audio_only": "Apenas Áudio", + "custom_options": "Opções Personalizadas", + "trim_video": "Cortar Vídeo", + "download_settings": "Configurações de Download", + "update": "Atualizar yt-dlp", + "select_defaults": "Selecionar Padrões", + "select_all": "Selecionar Tudo", + "deselect_all": "Desmarcar Tudo" + }, + "dialogs": { + "custom_options": "Opções Personalizadas", + "settings": "Configurações", + "select_folder": "Selecionar Pasta de Download", + "sponsorblock_categories": "Categorias SponsorBlock", + "sponsorblock_description": "Selecione quais tipos de segmentos de vídeo serão removidos automaticamente durante o download.\nO SponsorBlock usa dados enviados pela comunidade para identificar esses segmentos.", + "select_subtitles": "Selecionar Legendas", + "filter_languages_placeholder": "Filtrar idiomas (ex., en, pt)...", + "no_subtitles_available": "Nenhuma legenda disponível", + "matching": "correspondendo" + }, + "tabs": { + "cookies": "Entrar com Cookies", + "custom_command": "Comando Personalizado", + "proxy": "Proxy", + "language": "Idioma" + }, + "cookies": { + "help_text": "Escolha como fornecer cookies para fazer login.\nIsso permite baixar vídeos privados e áudio de qualidade premium.", + "cookie_source": "Fonte de Cookies", + "use_cookie_file": "Usar arquivo de cookies", + "extract_from_browser": "Extrair do navegador", + "cookie_file": "Arquivo de Cookies", + "cookie_file_placeholder": "Caminho para o arquivo cookies.txt...", + "browser_selection": "Seleção de Navegador", + "browser_help": "Selecione o navegador do qual extrair cookies:", + "browser_label": "Navegador:", + "profile_label": "Perfil:", + "profile_placeholder": "padrão", + "browser_extract_message": "Os cookies do navegador serão extraídos quando aplicados", + "file_selected_message": "Arquivo de cookies selecionado - Clique em OK para aplicar", + "select_file_title": "Selecionar Arquivo de Cookies", + "file_filter": "Arquivos de cookies (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Digite seu comando yt-dlp personalizado abaixo. A URL atual será anexada automaticamente.

Para a lista completa de opções e exemplos de uso, clique aqui para ver a documentação oficial do yt-dlp.

Nota: O caminho de download e modelo de nome de arquivo serão tratados automaticamente.", + "input_label": "Argumentos yt-dlp:", + "input_placeholder": "Digite os argumentos yt-dlp aqui...\n\nex. --extract-audio --audio-format mp3", + "output_label": "Saída do Comando:", + "output_placeholder": "A saída do comando aparecerá aqui...", + "command_placeholder": "Digite comando yt-dlp personalizado...", + "command_help": "Marcadores disponíveis:\n{url} - URL do Vídeo\n{output} - Diretório de saída\n\nExemplo: --write-info-json --write-thumbnail", + "full_command": "🔧 Comando completo: {command}", + "command_success": "✅ Comando personalizado executado com sucesso!", + "command_failed": "❌ Comando falhou com código de saída {code}", + "command_error": "❌ Erro ao executar comando personalizado: {error}" + }, + "proxy": { + "help_text": "Configure as definições de proxy para download. Deixe vazio para usar conexão direta.", + "main_proxy": "Proxy Principal", + "main_proxy_help": "Servidor proxy principal para todos os downloads. Suporta protocolos HTTP/HTTPS e SOCKS5.", + "proxy_url_label": "URL do Proxy:", + "proxy_url_placeholder": "http://proxy:porta ou socks5://proxy:porta", + "proxy_examples": "Exemplos:\n• HTTP: http://proxy.exemplo.com:8080\n• SOCKS5: socks5://proxy.exemplo.com:1080", + "geo_proxy": "Proxy de Contorno Geográfico", + "geo_proxy_help": "Proxy secundário especificamente para contornar restrições geográficas.", + "geo_proxy_url_label": "URL do Proxy de Contorno Geográfico:", + "geo_proxy_url_placeholder": "http://geo-proxy:porta", + "clear_main_proxy": "Limpar Proxy Principal", + "clear_geo_proxy": "Limpar Proxy Geográfico", + "proxy_url": "URL do Proxy", + "proxy_placeholder": "http://proxy:porta ou socks5://proxy:porta", + "geo_bypass": "Proxy de contorno geográfico (para restrições geográficas)", + "geo_bypass_placeholder": "http://proxy:porta para contornar bloqueios geográficos", + "invalid_main_url": "Formato de URL do proxy principal inválido", + "invalid_geo_url": "Formato de URL do proxy geográfico inválido", + "main_configured": "Proxy principal configurado", + "geo_configured": "Proxy geográfico configurado" + }, + + "download": { + "preparing": "Preparando download...", + "please_enter_url": "Por favor, digite uma URL primeiro.", + "please_set_path": "Por favor, defina um caminho de download primeiro.", + "please_enter_url_and_path": "Por favor, digite uma URL e defina o caminho de download.", + "please_select_format": "Por favor, selecione um formato primeiro." + }, + "update": { + "title": "Atualizar yt-dlp", + "checking": "Verificando atualizações...", + "update_available": "Atualização disponível!\nVersão atual: {current}\nÚltima versão: {latest}", + "up_to_date": "yt-dlp está atualizado (versão {version})", + "could_not_determine": "Não foi possível determinar as versões.", + "error_comparing": "Erro ao comparar versões: {error}", + "update_available_failed": "Atualização disponível! (Comparação falhou)\nAtual: {current}\nÚltima: {latest}", + "updating": "Atualizando...", + "initializing": "🚀 Inicializando processo de atualização...", + "checking_current": "🔍 Verificando instalação atual...", + "found_at": "📍 yt-dlp encontrado em: {path}", + "error_getting_path": "❌ Erro ao obter caminho do yt-dlp: {error}", + "updating_binary": "📦 Atualizando binário yt-dlp gerenciado pela aplicação...", + "updating_pip": "🐍 Atualizando yt-dlp do sistema via pip...", + "update_failed": "❌ Falha ao atualizar yt-dlp. Tente novamente ou verifique sua conexão com a internet.", + "binary_updated": "✅ Binário atualizado com sucesso!", + "update_failed_stderr": "❌ Atualização do yt-dlp falhou: {error}", + "update_timeout": "❌ Atualização do yt-dlp expirou.", + "unexpected_error": "❌ Erro inesperado durante atualização: {error}", + "checking_pip": "🔍 Verificando instalação pip atual...", + "current_version": "📋 Versão atual: {version}", + "not_found_pip": "⚠️ yt-dlp não encontrado via pip, tentando instalação...", + "checking_latest": "🌐 Verificando última versão...", + "failed_check_updates": "❌ Falha ao verificar atualizações", + "latest_version": "🆕 Última versão: {version}", + "updating_from_to": "⬆️ Atualizando de {current} para {latest}...", + "running_pip_install": "📦 Executando pip install --upgrade...", + "pip_completed": "✅ Atualização pip concluída com sucesso!", + "pip_failed": "❌ Atualização pip falhou: {error}" + }, + "about": { + "title": "Sobre YTSage", + "version": "Versão {version}", + "description": "Downloader moderno do YouTube com interface limpa em PySide6.", + "author": "Por: {author}", + "github": "GitHub: {repo}", + "system_info": "Informações do Sistema", + "loading": "🔄 Carregando informações do sistema...", + "refresh": "🔄", + "refreshing": "🔄 Atualizando...", + "refresh_failed": "Atualização Falhou", + "refresh_failed_message": "Não foi possível atualizar as informações de versão.", + "detected": "✓ Detectado", + "missing": "✗ Ausente", + "not_available": "Não Disponível" + }, + "time_range": { + "title": "Cortar Vídeo", + "time_range_group": "Intervalo de Tempo", + "start_time": "Tempo de Início (HH:MM:SS)", + "end_time": "Tempo de Fim (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "Tempo de início (HH:MM:SS)", + "end_time_placeholder": "Tempo de fim (HH:MM:SS)", + "force_keyframes": "Forçar quadros-chave nos pontos de corte", + "help_text": "Defina os tempos de início e fim para cortar o vídeo.\nDeixe vazio para baixar o vídeo completo.", + "invalid_format": "Formato de tempo inválido. Use o formato HH:MM:SS.", + "start_after_end": "O tempo de início não pode ser após o tempo de fim." + }, + "settings": { + "title": "Configurações de Download", + "download_path": "Caminho de Download", + "browse": "Procurar...", + "speed_limit": "Limite de Velocidade", + "speed_limit_placeholder": "Nenhum", + "auto_update_ytdlp": "Auto-Atualizar yt-dlp", + "enable_auto_updates": "Habilitar atualizações automáticas do yt-dlp", + "update_frequency": "Frequência de atualização:", + "check_startup": "Verificar a cada inicialização (mínimo 1 hora entre verificações)", + "check_daily": "Verificar diariamente", + "check_weekly": "Verificar semanalmente", + "check_updates_now": "Verificar Atualizações Agora", + "update_check_title": "Verificação de Atualização", + "could_not_determine_version": "Não foi possível determinar a versão atual do yt-dlp.", + "update_available_dialog": "Atualização disponível!\n\nAtual: {current}\nÚltima: {latest}\n\nUse o botão 'Atualizar yt-dlp' na janela principal para atualizar.", + "up_to_date_dialog": "yt-dlp está atualizado!\n\nVersão atual: {version}", + "error_checking_updates": "Erro ao verificar atualizações: {error}", + "settings_saved_title": "Configurações Salvas", + "settings_saved_message": "Configurações de auto-atualização foram salvas com sucesso!", + "error_title": "Erro", + "failed_save_settings": "Falha ao salvar configurações de auto-atualização.", + "error_saving_settings": "Erro ao salvar configurações de auto-atualização: {error}", + "auto_update_title": "Configurações de Auto-Atualização", + "auto_update_header": "🔄 Configurações de Auto-Atualização", + "auto_update_description": "Configure atualizações automáticas para o yt-dlp para garantir que você sempre tenha os recursos mais recentes e correções de bugs.", + "current_status": "Status Atual", + "current_version_label": "Versão atual do yt-dlp: Verificando...", + "last_check_label": "Última verificação de atualização: Nunca", + "next_check_label": "Próxima verificação: Baseada nas configurações", + "manual_check_button": "🔍 Verificar Atualizações Agora", + "update_frequency_group": "Frequência de Atualização", + "save_settings": "Salvar Configurações", + "settings_saved_successfully": "✅ Configurações salvas com sucesso!", + "error_saving": "❌ Erro ao salvar configurações: {error}" + }, + "main_ui": { + "url_placeholder": "Digite a URL do vídeo ou playlist do YouTube", + "merge_subtitles": "Mesclar Legendas", + "save_thumbnail": "Salvar Miniatura", + "save_description": "Salvar Descrição", + "embed_chapters": "Incorporar Capítulos", + "subtitles_selected": "{count} selecionadas", + "all_selected": "Todas selecionadas", + "select_videos_all": "Selecionar Vídeos... (Todas selecionadas)", + "please_enter_url": "Por favor, digite uma URL primeiro", + "cookie_file_selected_title": "Arquivo de Cookies Selecionado", + "cookie_file_selected_message": "Arquivo de cookies selecionado: {path}", + "browser_cookies_selected_title": "Cookies do Navegador Selecionados", + "browser_cookies_selected_message": "Os cookies do navegador serão extraídos de: {browser}", + "error_no_format_info": "Erro: Nenhuma informação de formato disponível.", + "error_extract_info": "Erro: Não foi possível extrair informações básicas do vídeo. Verifique seu link.", + "analyzing_preparing": "Analisando (0%)... Preparando solicitação", + "analyzing_extracting_basic": "Analisando (15%)... Extraindo informações básicas", + "analyzing_extracting_detailed": "Analisando (30%)... Extraindo informações detalhadas", + "analyzing_processing_video": "Analisando (45%)... Processando dados do vídeo", + "analyzing_processing_formats": "Analisando (60%)... Processando formatos", + "analyzing_loading_thumbnail": "Analisando (75%)... Carregando miniatura", + "analyzing_processing_subtitles": "Analisando (85%)... Processando legendas", + "analyzing_updating_table": "Analisando (95%)... Atualizando tabela de formatos", + "analysis_complete": "Análise completa!", + "analyzing_extracting_ytdlp": "Analisando (30%)... Extraindo informações com executável yt-dlp", + "analyzing_processing_data": "Analisando (60%)... Processando dados", + "analyzing_processing_formats_ytdlp": "Analisando (75%)... Processando formatos", + "analyzing_loading_thumbnail_ytdlp": "Analisando (85%)... Carregando miniatura", + "analyzing_processing_subtitles_ytdlp": "Analisando (90%)... Processando legendas", + "select_subtitles": "Selecionar Legendas...", + "sponsorblock_categories": "Categorias SponsorBlock..." + }, + "sponsorblock": { + "sponsor": "Patrocinador", + "sponsor_desc": "Promoção paga, referências pagas e anúncios diretos", + "selfpromo": "Promoção Não Paga/Própria", + "selfpromo_desc": "Promoção não paga do próprio conteúdo dos criadores", + "interaction": "Lembrete de Interação", + "interaction_desc": "Pedindo aos espectadores para curtir, se inscrever ou seguir nas redes sociais", + "intro": "Introdução", + "intro_desc": "Introdução do vídeo que pode ser pulada", + "outro": "Encerramento/Cards Finais", + "outro_desc": "Créditos ou quando o vídeo termina", + "preview": "Prévia/Recapitulação", + "preview_desc": "Recapitulação rápida de vídeos anteriores ou prévia do que está por vir", + "music_offtopic": "Seção Não Musical", + "music_offtopic_desc": "Apenas para vídeos musicais. Marca seções não musicais", + "filler": "Tangente de Preenchimento", + "filler_desc": "Cenas tangenciais adicionadas apenas para preenchimento ou humor" + }, + "video_info": { + "channel": "Canal", + "views": "Visualizações", + "likes": "Curtidas", + "upload_date": "Data de upload", + "duration": "Duração", + "unknown_channel": "Canal desconhecido", + "unknown_date": "Data desconhecida", + "unknown_title": "Título desconhecido" + }, + "command": { + "running": "Executando...", + "run_command": "Executar Comando" + }, + "selection": { + "none_selected": "0 selecionadas", + "one_selected": "1 categoria selecionada", + "count_selected": "{count} selecionadas" + }, + "status": { + "ready": "Pronto", + "file_exists": "⚠️ Arquivo já existe", + "cancelling": "Cancelando download..." + } +} \ No newline at end of file diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index b9d0756..188241d 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -81,7 +81,8 @@ class LocalizationManager: "current_language": "Current language: {language}", "restart_required": "Language changes will take effect after restarting the application.", "english": "English", - "spanish": "Español (Spanish)" + "spanish": "Español (Spanish)", + "portuguese": "Português (Portuguese)" }, "download": { "preparing": "🚀 Preparing your download...", From e5cc892dec0aa281e59d7adb239cf3d13dcc294a Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:42:17 +0300 Subject: [PATCH 209/568] Add Russian language option to language list Included 'Russian' in the available language options in en.json to support users who prefer Russian. --- languages/en.json | 1 + 1 file changed, 1 insertion(+) diff --git a/languages/en.json b/languages/en.json index e1e7ec8..8991bbb 100644 --- a/languages/en.json +++ b/languages/en.json @@ -7,6 +7,7 @@ "english": "English", "spanish": "Español (Spanish)", "portuguese": "Português (Portuguese)", + "russian": "Русский (Russian)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, From acd4bb192a63361839b63e575b3a8495cf2cd59e Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:42:21 +0300 Subject: [PATCH 210/568] Add Russian language option to Spanish translations Added the Russian language entry to the language selection section in the Spanish translation file (es.json). --- languages/es.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/languages/es.json b/languages/es.json index 4f344c8..d42a43b 100644 --- a/languages/es.json +++ b/languages/es.json @@ -6,7 +6,8 @@ "restart_required": "Los cambios de idioma tendrán efecto después de reiniciar la aplicación.", "english": "Inglés", "spanish": "Español (Spanish)", - "portuguese": "Português (Portuguese)" + "portuguese": "Português (Portuguese)", + "russian": "Русский (Russian)" }, "app": { "title": "YTSage", From acfa5df5270ecb87d8b6b126a2c276808f886d4c Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:42:26 +0300 Subject: [PATCH 211/568] Add Russian language option to Portuguese translations Included the Russian language entry in the Portuguese language file to support selection of Russian in the language menu. --- languages/pt.json | 1 + 1 file changed, 1 insertion(+) diff --git a/languages/pt.json b/languages/pt.json index 6167a0d..8a5e27c 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -7,6 +7,7 @@ "english": "Inglês", "spanish": "Espanhol", "portuguese": "Português", + "russian": "Русский (Russian)", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, From 0ff96e371d0a03415889b21caa005b3202170334 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:42:31 +0300 Subject: [PATCH 212/568] Add Russian language translation file Introduces a new ru.json file containing Russian translations for the application's UI and messages. --- languages/ru.json | 328 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 328 insertions(+) create mode 100644 languages/ru.json diff --git a/languages/ru.json b/languages/ru.json new file mode 100644 index 0000000..4c63ff6 --- /dev/null +++ b/languages/ru.json @@ -0,0 +1,328 @@ +{ + "language": { + "display_name": "Русский (Russian)", + "select_language": "Выберите язык:", + "current_language": "Текущий язык: {language}", + "restart_required": "Изменения языка вступят в силу после перезапуска приложения.", + "english": "Английский", + "spanish": "Испанский", + "portuguese": "Португальский", + "russian": "Русский", + "help_text": "Выберите предпочитаемый язык для интерфейса.", + "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Готово" + }, + "formats": { + "show_formats": "Показать форматы:", + "video_format": "Видео формат:", + "audio_format": "Аудио формат:", + "no_formats": "Форматы недоступны", + "loading": "Загрузка форматов...", + "select": "Выбрать", + "quality": "Качество", + "extension": "Расширение", + "resolution": "Разрешение", + "file_size": "Размер файла", + "codec": "Кодек", + "audio": "Аудио", + "notes": "Заметки", + "will_merge_audio": "Объединит аудио", + "has_audio": "✓ Есть аудио", + "audio_only": "Только аудио", + "large_size": "Большой размер", + "medium_size": "Средний размер", + "standard_size": "Стандартный размер", + "compatible": "Совместимый", + "efficient": "Эффективный", + "high_quality": "Высокое качество", + "best_4k": "Лучшее (4K)", + "best_2k": "Лучшее (2K)", + "high_1080p": "Высокое (1080p)", + "high_720p": "Высокое (720p)", + "medium_480p": "Среднее (480p)", + "low_quality": "Низкое качество", + "best_audio": "Лучшее аудио", + "high_audio": "Высокое аудио", + "medium_audio": "Среднее аудио", + "low_audio": "Низкое аудио", + "audio_only_resolution": "Только аудио" + }, + "buttons": { + "download": "Скачать", + "pause": "Пауза", + "resume": "Продолжить", + "cancel": "Отмена", + "browse": "Обзор", + "clear": "Очистить", + "ok": "OK", + "apply": "Применить", + "close": "Закрыть", + "run_command": "Выполнить команду", + "custom_command_help": "Помощь", + "about": "О программе", + "analyze": "Анализировать", + "paste_url": "Вставить URL", + "select_videos": "Выбрать видео...", + "video": "Видео", + "audio_only": "Только аудио", + "custom_options": "Пользовательские опции", + "trim_video": "Обрезать видео", + "download_settings": "Настройки загрузки", + "update": "Обновить yt-dlp", + "select_defaults": "Выбрать по умолчанию", + "select_all": "Выбрать всё", + "deselect_all": "Снять выделение" + }, + "dialogs": { + "custom_options": "Пользовательские опции", + "settings": "Настройки", + "select_folder": "Выбрать папку загрузки", + "sponsorblock_categories": "Категории SponsorBlock", + "sponsorblock_description": "Выберите типы сегментов видео, которые будут автоматически удалены во время загрузки.\nSponsorBlock использует данные, отправленные сообществом, для идентификации этих сегментов.", + "select_subtitles": "Выбрать субтитры", + "filter_languages_placeholder": "Фильтр языков (например, en, ru)...", + "no_subtitles_available": "Субтитры недоступны", + "matching": "соответствующие" + }, + "tabs": { + "cookies": "Войти через Cookie", + "custom_command": "Пользовательская команда", + "proxy": "Прокси", + "language": "Язык" + }, + "cookies": { + "help_text": "Выберите способ предоставления cookie для входа в систему.\nЭто позволяет загружать приватные видео и аудио премиум качества.", + "cookie_source": "Источник Cookie", + "use_cookie_file": "Использовать файл cookie", + "extract_from_browser": "Извлечь из браузера", + "cookie_file": "Файл Cookie", + "cookie_file_placeholder": "Путь к файлу cookies.txt...", + "browser_selection": "Выбор браузера", + "browser_help": "Выберите браузер для извлечения cookie:", + "browser_label": "Браузер:", + "profile_label": "Профиль:", + "profile_placeholder": "по умолчанию", + "browser_extract_message": "Cookie браузера будут извлечены при применении", + "file_selected_message": "Файл cookie выбран - Нажмите OK для применения", + "select_file_title": "Выбрать файл Cookie", + "file_filter": "Файлы cookie (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Введите пользовательскую команду yt-dlp ниже. Текущий URL будет добавлен автоматически.

Для полного списка опций и примеров использования, нажмите здесь для просмотра официальной документации yt-dlp.

Примечание: Путь загрузки и шаблон имени файла будут обработаны автоматически.", + "input_label": "Аргументы yt-dlp:", + "input_placeholder": "Введите аргументы yt-dlp здесь...\n\nнапример: --extract-audio --audio-format mp3", + "output_label": "Вывод команды:", + "output_placeholder": "Вывод команды появится здесь...", + "command_placeholder": "Введите пользовательскую команду yt-dlp...", + "command_help": "Доступные заполнители:\n{url} - URL видео\n{output} - Выходной каталог\n\nПример: --write-info-json --write-thumbnail", + "full_command": "🔧 Полная команда: {command}", + "command_success": "✅ Пользовательская команда выполнена успешно!", + "command_failed": "❌ Команда завершилась с кодом ошибки {code}", + "command_error": "❌ Ошибка выполнения пользовательской команды: {error}" + }, + "proxy": { + "help_text": "Настройте параметры прокси для загрузки. Оставьте пустым для прямого подключения.", + "main_proxy": "Основной прокси", + "main_proxy_help": "Основной прокси-сервер для всех загрузок. Поддерживает протоколы HTTP/HTTPS и SOCKS5.", + "proxy_url_label": "URL прокси:", + "proxy_url_placeholder": "http://proxy:port или socks5://proxy:port", + "proxy_examples": "Примеры:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "Прокси для обхода географических ограничений", + "geo_proxy_help": "Вторичный прокси специально для обхода географических ограничений.", + "geo_proxy_url_label": "URL прокси для обхода гео-ограничений:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "Очистить основной прокси", + "clear_geo_proxy": "Очистить гео-прокси", + "proxy_url": "URL прокси", + "proxy_placeholder": "http://proxy:port или socks5://proxy:port", + "geo_bypass": "Прокси для обхода гео-ограничений", + "geo_bypass_placeholder": "http://proxy:port для обхода гео-блокировок", + "invalid_main_url": "Неверный формат URL основного прокси", + "invalid_geo_url": "Неверный формат URL гео-прокси", + "main_configured": "Основной прокси настроен", + "geo_configured": "Гео-прокси настроен" + }, + "download": { + "preparing": "Подготовка загрузки...", + "please_enter_url": "Пожалуйста, введите URL сначала.", + "please_set_path": "Пожалуйста, установите путь загрузки сначала.", + "please_enter_url_and_path": "Пожалуйста, введите URL и установите путь загрузки.", + "please_select_format": "Пожалуйста, выберите формат сначала." + }, + "update": { + "title": "Обновить yt-dlp", + "checking": "Проверка обновлений...", + "update_available": "Доступно обновление!\nТекущая версия: {current}\nПоследняя версия: {latest}", + "up_to_date": "yt-dlp актуален (версия {version})", + "could_not_determine": "Не удалось определить версии.", + "error_comparing": "Ошибка сравнения версий: {error}", + "update_available_failed": "Доступно обновление! (Сравнение не удалось)\nТекущая: {current}\nПоследняя: {latest}", + "updating": "Обновление...", + "initializing": "🚀 Инициализация процесса обновления...", + "checking_current": "🔍 Проверка текущей установки...", + "found_at": "📍 yt-dlp найден в: {path}", + "error_getting_path": "❌ Ошибка получения пути yt-dlp: {error}", + "updating_binary": "📦 Обновление бинарного файла yt-dlp, управляемого приложением...", + "updating_pip": "🐍 Обновление системного yt-dlp через pip...", + "update_failed": "❌ Не удалось обновить yt-dlp. Попробуйте еще раз или проверьте подключение к интернету.", + "binary_updated": "✅ Бинарный файл успешно обновлен!", + "update_failed_stderr": "❌ Обновление yt-dlp не удалось: {error}", + "update_timeout": "❌ Время ожидания обновления yt-dlp истекло.", + "unexpected_error": "❌ Неожиданная ошибка во время обновления: {error}", + "checking_pip": "🔍 Проверка текущей установки pip...", + "current_version": "📋 Текущая версия: {version}", + "not_found_pip": "⚠️ yt-dlp не найден через pip, попытка установки...", + "checking_latest": "🌐 Проверка последней версии...", + "failed_check_updates": "❌ Не удалось проверить обновления", + "latest_version": "🆕 Последняя версия: {version}", + "updating_from_to": "⬆️ Обновление с {current} до {latest}...", + "running_pip_install": "📦 Выполнение pip install --upgrade...", + "pip_completed": "✅ Обновление pip завершено успешно!", + "pip_failed": "❌ Обновление pip не удалось: {error}" + }, + "about": { + "title": "О YTSage", + "version": "Версия {version}", + "description": "Современный загрузчик YouTube с чистым интерфейсом PySide6.", + "author": "Автор: {author}", + "github": "GitHub: {repo}", + "system_info": "Системная информация", + "loading": "🔄 Загрузка системной информации...", + "refresh": "🔄", + "refreshing": "🔄 Обновление...", + "refresh_failed": "Обновление не удалось", + "refresh_failed_message": "Не удалось обновить информацию о версии.", + "detected": "✓ Обнаружено", + "missing": "✗ Отсутствует", + "not_available": "Недоступно" + }, + "time_range": { + "title": "Обрезать видео", + "time_range_group": "Временной диапазон", + "start_time": "Время начала (HH:MM:SS)", + "end_time": "Время окончания (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "Время начала (HH:MM:SS)", + "end_time_placeholder": "Время окончания (HH:MM:SS)", + "force_keyframes": "Принудительные ключевые кадры в точках обрезки", + "help_text": "Установите время начала и окончания для обрезки видео.\nОставьте пустым для загрузки полного видео.", + "invalid_format": "Неверный формат времени. Используйте формат HH:MM:SS.", + "start_after_end": "Время начала не может быть после времени окончания." + }, + "settings": { + "title": "Настройки загрузки", + "download_path": "Путь загрузки", + "browse": "Обзор...", + "speed_limit": "Ограничение скорости", + "speed_limit_placeholder": "Нет", + "auto_update_ytdlp": "Автообновление yt-dlp", + "enable_auto_updates": "Включить автоматические обновления yt-dlp", + "update_frequency": "Частота обновления:", + "check_startup": "Проверять при каждом запуске (минимум 1 час между проверками)", + "check_daily": "Проверять ежедневно", + "check_weekly": "Проверять еженедельно", + "check_updates_now": "Проверить обновления сейчас", + "update_check_title": "Проверка обновлений", + "could_not_determine_version": "Не удалось определить текущую версию yt-dlp.", + "update_available_dialog": "Доступно обновление!\n\nТекущая: {current}\nПоследняя: {latest}\n\nИспользуйте кнопку 'Обновить yt-dlp' в главном окне для обновления.", + "up_to_date_dialog": "yt-dlp актуален!\n\nТекущая версия: {version}", + "error_checking_updates": "Ошибка проверки обновлений: {error}", + "settings_saved_title": "Настройки сохранены", + "settings_saved_message": "Настройки автообновления успешно сохранены!", + "error_title": "Ошибка", + "failed_save_settings": "Не удалось сохранить настройки автообновления.", + "error_saving_settings": "Ошибка сохранения настроек автообновления: {error}", + "auto_update_title": "Настройки автообновления", + "auto_update_header": "🔄 Настройки автообновления", + "auto_update_description": "Настройте автоматические обновления для yt-dlp, чтобы всегда иметь последние функции и исправления ошибок.", + "current_status": "Текущий статус", + "current_version_label": "Текущая версия yt-dlp: Проверка...", + "last_check_label": "Последняя проверка обновлений: Никогда", + "next_check_label": "Следующая проверка: Основана на настройках", + "manual_check_button": "🔍 Проверить обновления сейчас", + "update_frequency_group": "Частота обновления", + "save_settings": "Сохранить настройки", + "settings_saved_successfully": "✅ Настройки успешно сохранены!", + "error_saving": "❌ Ошибка сохранения настроек: {error}" + }, + "main_ui": { + "url_placeholder": "Введите URL видео или плейлиста YouTube", + "merge_subtitles": "Объединить субтитры", + "save_thumbnail": "Сохранить миниатюру", + "save_description": "Сохранить описание", + "embed_chapters": "Встроить главы", + "subtitles_selected": "выбрано: {count}", + "all_selected": "Все выбраны", + "select_videos_all": "Выбрать видео... (Все выбраны)", + "please_enter_url": "Пожалуйста, введите URL сначала", + "cookie_file_selected_title": "Файл Cookie выбран", + "cookie_file_selected_message": "Файл cookie выбран: {path}", + "browser_cookies_selected_title": "Cookie браузера выбраны", + "browser_cookies_selected_message": "Cookie браузера будут извлечены из: {browser}", + "error_no_format_info": "Ошибка: Информация о формате недоступна.", + "error_extract_info": "Ошибка: Не удалось извлечь базовую информацию о видео. Проверьте вашу ссылку.", + "analyzing_preparing": "Анализ (0%)... Подготовка запроса", + "analyzing_extracting_basic": "Анализ (15%)... Извлечение базовой информации", + "analyzing_extracting_detailed": "Анализ (30%)... Извлечение подробной информации", + "analyzing_processing_video": "Анализ (45%)... Обработка данных видео", + "analyzing_processing_formats": "Анализ (60%)... Обработка форматов", + "analyzing_loading_thumbnail": "Анализ (75%)... Загрузка миниатюры", + "analyzing_processing_subtitles": "Анализ (85%)... Обработка субтитров", + "analyzing_updating_table": "Анализ (95%)... Обновление таблицы форматов", + "analysis_complete": "Анализ завершен!", + "analyzing_extracting_ytdlp": "Анализ (30%)... Извлечение информации с исполняемым файлом yt-dlp", + "analyzing_processing_data": "Анализ (60%)... Обработка данных", + "analyzing_processing_formats_ytdlp": "Анализ (75%)... Обработка форматов", + "analyzing_loading_thumbnail_ytdlp": "Анализ (85%)... Загрузка миниатюры", + "analyzing_processing_subtitles_ytdlp": "Анализ (90%)... Обработка субтитров", + "select_subtitles": "Выбрать субтитры...", + "sponsorblock_categories": "Категории SponsorBlock..." + }, + "sponsorblock": { + "sponsor": "Спонсор", + "sponsor_desc": "Платная реклама, платные рефералы и прямая реклама", + "selfpromo": "Неоплачиваемая/Собственная реклама", + "selfpromo_desc": "Неоплачиваемая реклама собственного контента создателей", + "interaction": "Напоминание о взаимодействии", + "interaction_desc": "Просьба к зрителям поставить лайк, подписаться или подписаться в социальных сетях", + "intro": "Вступление", + "intro_desc": "Вступление к видео, которое можно пропустить", + "outro": "Концовка/Финальные карточки", + "outro_desc": "Титры или когда видео заканчивается", + "preview": "Предварительный просмотр/Краткое изложение", + "preview_desc": "Краткое изложение предыдущих видео или предварительный просмотр предстоящего", + "music_offtopic": "Немузыкальная секция", + "music_offtopic_desc": "Только для музыкальных видео. Отмечает немузыкальные секции", + "filler": "Отступление-заполнитель", + "filler_desc": "Касательные сцены, добавленные только для заполнения или юмора" + }, + "video_info": { + "channel": "Канал", + "views": "Просмотры", + "likes": "Лайки", + "upload_date": "Дата загрузки", + "duration": "Продолжительность", + "unknown_channel": "Неизвестный канал", + "unknown_date": "Неизвестная дата", + "unknown_title": "Неизвестный заголовок" + }, + "command": { + "running": "Выполняется...", + "run_command": "Выполнить команду" + }, + "selection": { + "none_selected": "0 выбрано", + "one_selected": "1 категория выбрана", + "count_selected": "выбрано: {count}" + }, + "status": { + "ready": "Готово", + "file_exists": "⚠️ Файл уже существует", + "cancelling": "Отмена загрузки..." + } +} \ No newline at end of file From acf65b01b2a9ef86560447bee239fa178e704f59 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:42:37 +0300 Subject: [PATCH 213/568] Expand quality label color support to more languages Added Portuguese and Russian terms for quality levels in the table, ensuring color coding works for a broader set of localized quality labels. --- src/gui/ytsage_gui_format_table.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 8c4cee5..5ff0a66 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -264,14 +264,14 @@ class FormatTableMixin: # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) - # Set color based on quality (check both English and Spanish terms) - if any(term in quality_text for term in ["Best", "Óptima", "Mejor"]): + # Set color based on quality (check English, Spanish, Portuguese, and Russian terms) + if any(term in quality_text for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term in quality_text for term in ["High", "Alta", "Alto"]): + elif any(term in quality_text for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term in quality_text for term in ["Medium", "Media", "Medio"]): + elif any(term in quality_text for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term in quality_text for term in ["Low", "Baja", "Bajo"]): + elif any(term in quality_text for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) From 3cdcfe2ce5ea205979881af55cd90ead18d3cb3b Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:42:43 +0300 Subject: [PATCH 214/568] Add Russian language option to localization Introduced a new 'russian' entry in the language selection dictionary, enabling support for Russian language labeling in the application. --- src/utils/ytsage_localization.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 188241d..10c0b69 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -82,7 +82,8 @@ class LocalizationManager: "restart_required": "Language changes will take effect after restarting the application.", "english": "English", "spanish": "Español (Spanish)", - "portuguese": "Português (Portuguese)" + "portuguese": "Português (Portuguese)", + "russian": "Русский (Russian)" }, "download": { "preparing": "🚀 Preparing your download...", From 9005bb61c1f0b90bfa9e03d085f6474bef789390 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 21:49:24 +0300 Subject: [PATCH 215/568] Add Chinese localization and update language support Added a new Simplified Chinese translation file (zh.json) and updated all language files to include Chinese as a selectable language. Updated format quality color logic in the format table to recognize Chinese quality terms, ensuring proper color coding for quality labels in the UI. Also updated the localization manager to include Chinese in the language selection. --- languages/en.json | 1 + languages/es.json | 3 +- languages/pt.json | 1 + languages/ru.json | 1 + languages/zh.json | 329 +++++++++++++++++++++++++++++ src/gui/ytsage_gui_format_table.py | 10 +- src/utils/ytsage_localization.py | 3 +- 7 files changed, 341 insertions(+), 7 deletions(-) create mode 100644 languages/zh.json diff --git a/languages/en.json b/languages/en.json index 8991bbb..2becc63 100644 --- a/languages/en.json +++ b/languages/en.json @@ -8,6 +8,7 @@ "spanish": "Español (Spanish)", "portuguese": "Português (Portuguese)", "russian": "Русский (Russian)", + "chinese": "中文 (简体) (Chinese Simplified)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index d42a43b..78411b5 100644 --- a/languages/es.json +++ b/languages/es.json @@ -7,7 +7,8 @@ "english": "Inglés", "spanish": "Español (Spanish)", "portuguese": "Português (Portuguese)", - "russian": "Русский (Russian)" + "russian": "Русский (Russian)", + "chinese": "中文 (简体) (Chinese Simplified)" }, "app": { "title": "YTSage", diff --git a/languages/pt.json b/languages/pt.json index 8a5e27c..9692b3f 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -8,6 +8,7 @@ "spanish": "Espanhol", "portuguese": "Português", "russian": "Русский (Russian)", + "chinese": "中文 (简体) (Chinese Simplified)", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index 4c63ff6..c29b222 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -8,6 +8,7 @@ "spanish": "Испанский", "portuguese": "Португальский", "russian": "Русский", + "chinese": "中文 (简体) (Chinese Simplified)", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/zh.json b/languages/zh.json new file mode 100644 index 0000000..ae7910c --- /dev/null +++ b/languages/zh.json @@ -0,0 +1,329 @@ +{ + "language": { + "display_name": "中文 (简体) (Chinese Simplified)", + "select_language": "选择语言:", + "current_language": "当前语言:{language}", + "restart_required": "语言更改将在重启应用程序后生效。", + "english": "英语", + "spanish": "西班牙语", + "portuguese": "葡萄牙语", + "russian": "俄语", + "chinese": "中文", + "help_text": "选择您喜欢的界面语言。", + "restart_notice": "语言更改将在重启应用程序后生效。" + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "准备就绪" + }, + "formats": { + "show_formats": "显示格式:", + "video_format": "视频格式:", + "audio_format": "音频格式:", + "no_formats": "无可用格式", + "loading": "正在加载格式...", + "select": "选择", + "quality": "质量", + "extension": "扩展名", + "resolution": "分辨率", + "file_size": "文件大小", + "codec": "编解码器", + "audio": "音频", + "notes": "备注", + "will_merge_audio": "将合并音频", + "has_audio": "✓ 有音频", + "audio_only": "仅音频", + "large_size": "大尺寸", + "medium_size": "中等尺寸", + "standard_size": "标准尺寸", + "compatible": "兼容", + "efficient": "高效", + "high_quality": "高质量", + "best_4k": "最佳 (4K)", + "best_2k": "最佳 (2K)", + "high_1080p": "高清 (1080p)", + "high_720p": "高清 (720p)", + "medium_480p": "中等 (480p)", + "low_quality": "低质量", + "best_audio": "最佳音频", + "high_audio": "高质量音频", + "medium_audio": "中等音频", + "low_audio": "低质量音频", + "audio_only_resolution": "仅音频" + }, + "buttons": { + "download": "下载", + "pause": "暂停", + "resume": "恢复", + "cancel": "取消", + "browse": "浏览", + "clear": "清除", + "ok": "确定", + "apply": "应用", + "close": "关闭", + "run_command": "运行命令", + "custom_command_help": "帮助", + "about": "关于", + "analyze": "分析", + "paste_url": "粘贴网址", + "select_videos": "选择视频...", + "video": "视频", + "audio_only": "仅音频", + "custom_options": "自定义选项", + "trim_video": "裁剪视频", + "download_settings": "下载设置", + "update": "更新 yt-dlp", + "select_defaults": "选择默认值", + "select_all": "全选", + "deselect_all": "取消全选" + }, + "dialogs": { + "custom_options": "自定义选项", + "settings": "设置", + "select_folder": "选择下载文件夹", + "sponsorblock_categories": "SponsorBlock 分类", + "sponsorblock_description": "选择在下载期间自动删除的视频片段类型。\nSponsorBlock 使用社区提交的数据来识别这些片段。", + "select_subtitles": "选择字幕", + "filter_languages_placeholder": "过滤语言(例如:en, zh)...", + "no_subtitles_available": "无可用字幕", + "matching": "匹配" + }, + "tabs": { + "cookies": "使用 Cookie 登录", + "custom_command": "自定义命令", + "proxy": "代理", + "language": "语言" + }, + "cookies": { + "help_text": "选择如何提供 cookie 来登录。\n这允许下载私人视频和高级质量音频。", + "cookie_source": "Cookie 来源", + "use_cookie_file": "使用 cookie 文件", + "extract_from_browser": "从浏览器提取", + "cookie_file": "Cookie 文件", + "cookie_file_placeholder": "cookies.txt 文件路径...", + "browser_selection": "浏览器选择", + "browser_help": "选择要从中提取 cookie 的浏览器:", + "browser_label": "浏览器:", + "profile_label": "配置文件:", + "profile_placeholder": "默认", + "browser_extract_message": "应用时将提取浏览器 cookie", + "file_selected_message": "已选择 Cookie 文件 - 点击确定应用", + "select_file_title": "选择 Cookie 文件", + "file_filter": "Cookie 文件 (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "在下面输入您的自定义 yt-dlp 命令。当前网址将自动附加。

有关选项和使用示例的完整列表,点击此处查看官方 yt-dlp 文档

注意:下载路径和文件名模板将自动处理。", + "input_label": "yt-dlp 参数:", + "input_placeholder": "在此输入 yt-dlp 参数...\n\n例如:--extract-audio --audio-format mp3", + "output_label": "命令输出:", + "output_placeholder": "命令输出将显示在此处...", + "command_placeholder": "输入自定义 yt-dlp 命令...", + "command_help": "可用占位符:\n{url} - 视频网址\n{output} - 输出目录\n\n示例:--write-info-json --write-thumbnail", + "full_command": "🔧 完整命令:{command}", + "command_success": "✅ 自定义命令执行成功!", + "command_failed": "❌ 命令失败,退出代码 {code}", + "command_error": "❌ 执行自定义命令时出错:{error}" + }, + "proxy": { + "help_text": "配置下载的代理设置。留空使用直接连接。", + "main_proxy": "主代理", + "main_proxy_help": "所有下载的主代理服务器。支持 HTTP/HTTPS 和 SOCKS5 协议。", + "proxy_url_label": "代理网址:", + "proxy_url_placeholder": "http://proxy:port 或 socks5://proxy:port", + "proxy_examples": "示例:\n• HTTP:http://proxy.example.com:8080\n• SOCKS5:socks5://proxy.example.com:1080", + "geo_proxy": "地理绕过代理", + "geo_proxy_help": "专门用于绕过地理限制的辅助代理。", + "geo_proxy_url_label": "地理绕过代理网址:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "清除主代理", + "clear_geo_proxy": "清除地理代理", + "proxy_url": "代理网址", + "proxy_placeholder": "http://proxy:port 或 socks5://proxy:port", + "geo_bypass": "地理绕过代理(用于地理限制)", + "geo_bypass_placeholder": "http://proxy:port 用于绕过地理封锁", + "invalid_main_url": "主代理网址格式无效", + "invalid_geo_url": "地理代理网址格式无效", + "main_configured": "主代理已配置", + "geo_configured": "地理代理已配置" + }, + "download": { + "preparing": "正在准备下载...", + "please_enter_url": "请先输入网址。", + "please_set_path": "请先设置下载路径。", + "please_enter_url_and_path": "请输入网址并设置下载路径。", + "please_select_format": "请先选择格式。" + }, + "update": { + "title": "更新 yt-dlp", + "checking": "正在检查更新...", + "update_available": "有可用更新!\n当前版本:{current}\n最新版本:{latest}", + "up_to_date": "yt-dlp 已是最新版本(版本 {version})", + "could_not_determine": "无法确定版本。", + "error_comparing": "比较版本时出错:{error}", + "update_available_failed": "有可用更新!(比较失败)\n当前:{current}\n最新:{latest}", + "updating": "正在更新...", + "initializing": "🚀 初始化更新过程...", + "checking_current": "🔍 检查当前安装...", + "found_at": "📍 在以下位置找到 yt-dlp:{path}", + "error_getting_path": "❌ 获取 yt-dlp 路径时出错:{error}", + "updating_binary": "📦 正在更新应用程序管理的 yt-dlp 二进制文件...", + "updating_pip": "🐍 正在通过 pip 更新系统 yt-dlp...", + "update_failed": "❌ 更新 yt-dlp 失败。请重试或检查您的互联网连接。", + "binary_updated": "✅ 二进制文件更新成功!", + "update_failed_stderr": "❌ yt-dlp 更新失败:{error}", + "update_timeout": "❌ yt-dlp 更新超时。", + "unexpected_error": "❌ 更新期间出现意外错误:{error}", + "checking_pip": "🔍 检查当前 pip 安装...", + "current_version": "📋 当前版本:{version}", + "not_found_pip": "⚠️ 通过 pip 未找到 yt-dlp,尝试安装...", + "checking_latest": "🌐 检查最新版本...", + "failed_check_updates": "❌ 检查更新失败", + "latest_version": "🆕 最新版本:{version}", + "updating_from_to": "⬆️ 从 {current} 更新到 {latest}...", + "running_pip_install": "📦 运行 pip install --upgrade...", + "pip_completed": "✅ pip 更新完成成功!", + "pip_failed": "❌ pip 更新失败:{error}" + }, + "about": { + "title": "关于 YTSage", + "version": "版本 {version}", + "description": "具有简洁 PySide6 界面的现代 YouTube 下载器。", + "author": "作者:{author}", + "github": "GitHub:{repo}", + "system_info": "系统信息", + "loading": "🔄 正在加载系统信息...", + "refresh": "🔄", + "refreshing": "🔄 正在刷新...", + "refresh_failed": "刷新失败", + "refresh_failed_message": "无法刷新版本信息。", + "detected": "✓ 已检测到", + "missing": "✗ 缺失", + "not_available": "不可用" + }, + "time_range": { + "title": "裁剪视频", + "time_range_group": "时间范围", + "start_time": "开始时间 (HH:MM:SS)", + "end_time": "结束时间 (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "开始时间 (HH:MM:SS)", + "end_time_placeholder": "结束时间 (HH:MM:SS)", + "force_keyframes": "在切割点强制关键帧", + "help_text": "设置开始和结束时间来裁剪视频。\n留空下载完整视频。", + "invalid_format": "时间格式无效。请使用 HH:MM:SS 格式。", + "start_after_end": "开始时间不能晚于结束时间。" + }, + "settings": { + "title": "下载设置", + "download_path": "下载路径", + "browse": "浏览...", + "speed_limit": "速度限制", + "speed_limit_placeholder": "无", + "auto_update_ytdlp": "自动更新 yt-dlp", + "enable_auto_updates": "启用 yt-dlp 自动更新", + "update_frequency": "更新频率:", + "check_startup": "每次启动时检查(检查间隔最少 1 小时)", + "check_daily": "每日检查", + "check_weekly": "每周检查", + "check_updates_now": "立即检查更新", + "update_check_title": "更新检查", + "could_not_determine_version": "无法确定当前 yt-dlp 版本。", + "update_available_dialog": "有可用更新!\\n\\n当前:{current}\\n最新:{latest}\\n\\n使用主窗口中的'更新 yt-dlp'按钮进行更新。", + "up_to_date_dialog": "yt-dlp 已是最新版本!\n\n当前版本:{version}", + "error_checking_updates": "检查更新时出错:{error}", + "settings_saved_title": "设置已保存", + "settings_saved_message": "自动更新设置已成功保存!", + "error_title": "错误", + "failed_save_settings": "保存自动更新设置失败。", + "error_saving_settings": "保存自动更新设置时出错:{error}", + "auto_update_title": "自动更新设置", + "auto_update_header": "🔄 自动更新设置", + "auto_update_description": "为 yt-dlp 配置自动更新,以确保您始终拥有最新功能和错误修复。", + "current_status": "当前状态", + "current_version_label": "当前 yt-dlp 版本:检查中...", + "last_check_label": "上次更新检查:从未", + "next_check_label": "下次检查:基于设置", + "manual_check_button": "🔍 立即检查更新", + "update_frequency_group": "更新频率", + "save_settings": "保存设置", + "settings_saved_successfully": "✅ 设置保存成功!", + "error_saving": "❌ 保存设置时出错:{error}" + }, + "main_ui": { + "url_placeholder": "输入 YouTube 视频或播放列表网址", + "merge_subtitles": "合并字幕", + "save_thumbnail": "保存缩略图", + "save_description": "保存描述", + "embed_chapters": "嵌入章节", + "subtitles_selected": "已选择 {count} 个", + "all_selected": "全部已选择", + "select_videos_all": "选择视频...(全部已选择)", + "please_enter_url": "请先输入网址", + "cookie_file_selected_title": "已选择 Cookie 文件", + "cookie_file_selected_message": "已选择 Cookie 文件:{path}", + "browser_cookies_selected_title": "已选择浏览器 Cookie", + "browser_cookies_selected_message": "将从以下浏览器提取 Cookie:{browser}", + "error_no_format_info": "错误:无可用格式信息。", + "error_extract_info": "错误:无法提取基本视频信息。请检查您的链接。", + "analyzing_preparing": "分析中 (0%)... 正在准备请求", + "analyzing_extracting_basic": "分析中 (15%)... 正在提取基本信息", + "analyzing_extracting_detailed": "分析中 (30%)... 正在提取详细信息", + "analyzing_processing_video": "分析中 (45%)... 正在处理视频数据", + "analyzing_processing_formats": "分析中 (60%)... 正在处理格式", + "analyzing_loading_thumbnail": "分析中 (75%)... 正在加载缩略图", + "analyzing_processing_subtitles": "分析中 (85%)... 正在处理字幕", + "analyzing_updating_table": "分析中 (95%)... 正在更新格式表", + "analysis_complete": "分析完成!", + "analyzing_extracting_ytdlp": "分析中 (30%)... 使用 yt-dlp 可执行文件提取信息", + "analyzing_processing_data": "分析中 (60%)... 正在处理数据", + "analyzing_processing_formats_ytdlp": "分析中 (75%)... 正在处理格式", + "analyzing_loading_thumbnail_ytdlp": "分析中 (85%)... 正在加载缩略图", + "analyzing_processing_subtitles_ytdlp": "分析中 (90%)... 正在处理字幕", + "select_subtitles": "选择字幕...", + "sponsorblock_categories": "SponsorBlock 分类..." + }, + "sponsorblock": { + "sponsor": "赞助商", + "sponsor_desc": "付费推广、付费推荐和直接广告", + "selfpromo": "非付费/自我推广", + "selfpromo_desc": "创作者对自己内容的非付费推广", + "interaction": "互动提醒", + "interaction_desc": "要求观众点赞、订阅或关注社交媒体", + "intro": "开头", + "intro_desc": "可以跳过的视频开头", + "outro": "结尾/片尾卡片", + "outro_desc": "制作人员名单或视频结束时", + "preview": "预览/回顾", + "preview_desc": "对以前视频的快速回顾或即将到来内容的预览", + "music_offtopic": "非音乐部分", + "music_offtopic_desc": "仅适用于音乐视频。标记非音乐部分", + "filler": "填充切线", + "filler_desc": "仅为填充或幽默而添加的切线场景" + }, + "video_info": { + "channel": "频道", + "views": "观看次数", + "likes": "点赞数", + "upload_date": "上传日期", + "duration": "时长", + "unknown_channel": "未知频道", + "unknown_date": "未知日期", + "unknown_title": "未知标题" + }, + "command": { + "running": "正在运行...", + "run_command": "运行命令" + }, + "selection": { + "none_selected": "未选择", + "one_selected": "已选择 1 个分类", + "count_selected": "已选择 {count} 个" + }, + "status": { + "ready": "准备就绪", + "file_exists": "⚠️ 文件已存在", + "cancelling": "正在取消下载..." + } +} \ No newline at end of file diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 5ff0a66..89529d5 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -264,14 +264,14 @@ class FormatTableMixin: # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) - # Set color based on quality (check English, Spanish, Portuguese, and Russian terms) - if any(term in quality_text for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее"]): + # Set color based on quality (check English, Spanish, Portuguese, Russian, and Chinese terms) + if any(term in quality_text for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term in quality_text for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое"]): + elif any(term in quality_text for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term in quality_text for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее"]): + elif any(term in quality_text for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term in quality_text for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое"]): + elif any(term in quality_text for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 10c0b69..79a90bc 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -83,7 +83,8 @@ class LocalizationManager: "english": "English", "spanish": "Español (Spanish)", "portuguese": "Português (Portuguese)", - "russian": "Русский (Russian)" + "russian": "Русский (Russian)", + "chinese": "中文 (简体) (Chinese Simplified)" }, "download": { "preparing": "🚀 Preparing your download...", From 47cdd0649400d19c1346ea9964d3b7700278ad62 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 22:00:03 +0300 Subject: [PATCH 216/568] Add German translation and update language support Added a new German (de) translation file and updated all language JSON files to include German in the language selection. Updated format quality color mapping in the GUI to recognize German quality terms. Ensured localization manager and UI support the new language. --- languages/de.json | 330 +++++++++++++++++++++++++++++ languages/en.json | 1 + languages/es.json | 3 +- languages/pt.json | 1 + languages/ru.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 8 +- src/utils/ytsage_localization.py | 3 +- 8 files changed, 342 insertions(+), 6 deletions(-) create mode 100644 languages/de.json diff --git a/languages/de.json b/languages/de.json new file mode 100644 index 0000000..17fd0ee --- /dev/null +++ b/languages/de.json @@ -0,0 +1,330 @@ +{ + "language": { + "display_name": "Deutsch (German)", + "select_language": "Sprache auswählen:", + "current_language": "Aktuelle Sprache: {language}", + "restart_required": "Sprachänderungen werden nach dem Neustart der Anwendung wirksam.", + "english": "Englisch", + "spanish": "Spanisch", + "portuguese": "Portugiesisch", + "russian": "Russisch", + "chinese": "Chinesisch", + "german": "Deutsch", + "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", + "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Bereit" + }, + "formats": { + "show_formats": "Formate anzeigen:", + "video_format": "Videoformat:", + "audio_format": "Audioformat:", + "no_formats": "Keine Formate verfügbar", + "loading": "Lade Formate...", + "select": "Auswählen", + "quality": "Qualität", + "extension": "Erweiterung", + "resolution": "Auflösung", + "file_size": "Dateigröße", + "codec": "Codec", + "audio": "Audio", + "notes": "Notizen", + "will_merge_audio": "Audio wird zusammengeführt", + "has_audio": "✓ Hat Audio", + "audio_only": "Nur Audio", + "large_size": "Große Größe", + "medium_size": "Mittlere Größe", + "standard_size": "Standardgröße", + "compatible": "Kompatibel", + "efficient": "Effizient", + "high_quality": "Hohe Qualität", + "best_4k": "Beste (4K)", + "best_2k": "Beste (2K)", + "high_1080p": "Hoch (1080p)", + "high_720p": "Hoch (720p)", + "medium_480p": "Mittel (480p)", + "low_quality": "Niedrige Qualität", + "best_audio": "Bestes Audio", + "high_audio": "Hohes Audio", + "medium_audio": "Mittleres Audio", + "low_audio": "Niedriges Audio", + "audio_only_resolution": "Nur Audio" + }, + "buttons": { + "download": "Herunterladen", + "pause": "Pausieren", + "resume": "Fortsetzen", + "cancel": "Abbrechen", + "browse": "Durchsuchen", + "clear": "Löschen", + "ok": "OK", + "apply": "Anwenden", + "close": "Schließen", + "run_command": "Befehl ausführen", + "custom_command_help": "Hilfe", + "about": "Über", + "analyze": "Analysieren", + "paste_url": "URL einfügen", + "select_videos": "Videos auswählen...", + "video": "Video", + "audio_only": "Nur Audio", + "custom_options": "Benutzerdefinierte Optionen", + "trim_video": "Video schneiden", + "download_settings": "Download-Einstellungen", + "update": "yt-dlp aktualisieren", + "select_defaults": "Standard auswählen", + "select_all": "Alle auswählen", + "deselect_all": "Alle abwählen" + }, + "dialogs": { + "custom_options": "Benutzerdefinierte Optionen", + "settings": "Einstellungen", + "select_folder": "Download-Ordner auswählen", + "sponsorblock_categories": "SponsorBlock-Kategorien", + "sponsorblock_description": "Wählen Sie aus, welche Arten von Videosegmenten während des Downloads automatisch entfernt werden sollen.\nSponsorBlock verwendet von der Community übermittelte Daten, um diese Segmente zu identifizieren.", + "select_subtitles": "Untertitel auswählen", + "filter_languages_placeholder": "Sprachen filtern (z.B. en, de)...", + "no_subtitles_available": "Keine Untertitel verfügbar", + "matching": "passend" + }, + "tabs": { + "cookies": "Mit Cookies anmelden", + "custom_command": "Benutzerdefinierter Befehl", + "proxy": "Proxy", + "language": "Sprache" + }, + "cookies": { + "help_text": "Wählen Sie aus, wie Cookies für die Anmeldung bereitgestellt werden sollen.\nDies ermöglicht das Herunterladen privater Videos und hochwertiger Audio-Dateien.", + "cookie_source": "Cookie-Quelle", + "use_cookie_file": "Cookie-Datei verwenden", + "extract_from_browser": "Aus Browser extrahieren", + "cookie_file": "Cookie-Datei", + "cookie_file_placeholder": "Pfad zur cookies.txt-Datei...", + "browser_selection": "Browser-Auswahl", + "browser_help": "Wählen Sie den Browser aus, aus dem Cookies extrahiert werden sollen:", + "browser_label": "Browser:", + "profile_label": "Profil:", + "profile_placeholder": "Standard", + "browser_extract_message": "Browser-Cookies werden beim Anwenden extrahiert", + "file_selected_message": "Cookie-Datei ausgewählt - Klicken Sie OK zum Anwenden", + "select_file_title": "Cookie-Datei auswählen", + "file_filter": "Cookie-Dateien (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Geben Sie Ihren benutzerdefinierten yt-dlp-Befehl unten ein. Die aktuelle URL wird automatisch angehängt.

Für die vollständige Liste der Optionen und Verwendungsbeispiele klicken Sie hier, um die offizielle yt-dlp-Dokumentation anzuzeigen.

Hinweis: Download-Pfad und Dateinamen-Vorlage werden automatisch behandelt.", + "input_label": "yt-dlp-Argumente:", + "input_placeholder": "Geben Sie yt-dlp-Argumente hier ein...\n\nz.B.: --extract-audio --audio-format mp3", + "output_label": "Befehlsausgabe:", + "output_placeholder": "Die Befehlsausgabe wird hier erscheinen...", + "command_placeholder": "Benutzerdefinierten yt-dlp-Befehl eingeben...", + "command_help": "Verfügbare Platzhalter:\n{url} - Video-URL\n{output} - Ausgabeordner\n\nBeispiel: --write-info-json --write-thumbnail", + "full_command": "🔧 Vollständiger Befehl: {command}", + "command_success": "✅ Benutzerdefinierter Befehl erfolgreich ausgeführt!", + "command_failed": "❌ Befehl fehlgeschlagen mit Exit-Code {code}", + "command_error": "❌ Fehler beim Ausführen des benutzerdefinierten Befehls: {error}" + }, + "proxy": { + "help_text": "Proxy-Einstellungen für Downloads konfigurieren. Leer lassen für direkte Verbindung.", + "main_proxy": "Haupt-Proxy", + "main_proxy_help": "Primärer Proxy-Server für alle Downloads. Unterstützt HTTP/HTTPS- und SOCKS5-Protokolle.", + "proxy_url_label": "Proxy-URL:", + "proxy_url_placeholder": "http://proxy:port oder socks5://proxy:port", + "proxy_examples": "Beispiele:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "Geo-Umgehungs-Proxy", + "geo_proxy_help": "Sekundärer Proxy speziell zur Umgehung geografischer Beschränkungen.", + "geo_proxy_url_label": "Geo-Umgehungs-Proxy-URL:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "Haupt-Proxy löschen", + "clear_geo_proxy": "Geo-Proxy löschen", + "proxy_url": "Proxy-URL", + "proxy_placeholder": "http://proxy:port oder socks5://proxy:port", + "geo_bypass": "Geo-Umgehungs-Proxy (für geografische Beschränkungen)", + "geo_bypass_placeholder": "http://proxy:port zur Umgehung von Geo-Blockierungen", + "invalid_main_url": "Ungültiges Haupt-Proxy-URL-Format", + "invalid_geo_url": "Ungültiges Geo-Proxy-URL-Format", + "main_configured": "Haupt-Proxy konfiguriert", + "geo_configured": "Geo-Proxy konfiguriert" + }, + "download": { + "preparing": "Download wird vorbereitet...", + "please_enter_url": "Bitte geben Sie zuerst eine URL ein.", + "please_set_path": "Bitte setzen Sie zuerst einen Download-Pfad.", + "please_enter_url_and_path": "Bitte geben Sie eine URL ein und setzen Sie einen Download-Pfad.", + "please_select_format": "Bitte wählen Sie zuerst ein Format aus." + }, + "update": { + "title": "yt-dlp aktualisieren", + "checking": "Suche nach Updates...", + "update_available": "Update verfügbar!\nAktuelle Version: {current}\nNeueste Version: {latest}", + "up_to_date": "yt-dlp ist aktuell (Version {version})", + "could_not_determine": "Versionen konnten nicht bestimmt werden.", + "error_comparing": "Fehler beim Vergleichen der Versionen: {error}", + "update_available_failed": "Update verfügbar! (Vergleich fehlgeschlagen)\nAktuell: {current}\nNeuest: {latest}", + "updating": "Wird aktualisiert...", + "initializing": "🚀 Update-Prozess wird initialisiert...", + "checking_current": "🔍 Aktuelle Installation wird überprüft...", + "found_at": "📍 yt-dlp gefunden in: {path}", + "error_getting_path": "❌ Fehler beim Abrufen des yt-dlp-Pfads: {error}", + "updating_binary": "📦 App-verwaltete yt-dlp-Binärdatei wird aktualisiert...", + "updating_pip": "🐍 System-yt-dlp wird über pip aktualisiert...", + "update_failed": "❌ yt-dlp-Update fehlgeschlagen. Bitte versuchen Sie es erneut oder überprüfen Sie Ihre Internetverbindung.", + "binary_updated": "✅ Binärdatei erfolgreich aktualisiert!", + "update_failed_stderr": "❌ yt-dlp-Update fehlgeschlagen: {error}", + "update_timeout": "❌ yt-dlp-Update-Zeitüberschreitung.", + "unexpected_error": "❌ Unerwarteter Fehler während des Updates: {error}", + "checking_pip": "🔍 Aktuelle pip-Installation wird überprüft...", + "current_version": "📋 Aktuelle Version: {version}", + "not_found_pip": "⚠️ yt-dlp über pip nicht gefunden, Installation wird versucht...", + "checking_latest": "🌐 Neueste Version wird überprüft...", + "failed_check_updates": "❌ Überprüfung auf Updates fehlgeschlagen", + "latest_version": "🆕 Neueste Version: {version}", + "updating_from_to": "⬆️ Update von {current} auf {latest}...", + "running_pip_install": "📦 pip install --upgrade wird ausgeführt...", + "pip_completed": "✅ Pip-Update erfolgreich abgeschlossen!", + "pip_failed": "❌ Pip-Update fehlgeschlagen: {error}" + }, + "about": { + "title": "Über YTSage", + "version": "Version {version}", + "description": "Moderner YouTube-Downloader mit sauberer PySide6-Oberfläche.", + "author": "Von: {author}", + "github": "GitHub: {repo}", + "system_info": "Systeminformationen", + "loading": "🔄 Systeminformationen werden geladen...", + "refresh": "🔄", + "refreshing": "🔄 Wird aktualisiert...", + "refresh_failed": "Aktualisierung fehlgeschlagen", + "refresh_failed_message": "Versionsinformationen konnten nicht aktualisiert werden.", + "detected": "✓ Erkannt", + "missing": "✗ Fehlend", + "not_available": "Nicht verfügbar" + }, + "time_range": { + "title": "Video schneiden", + "time_range_group": "Zeitbereich", + "start_time": "Startzeit (HH:MM:SS)", + "end_time": "Endzeit (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "Startzeit (HH:MM:SS)", + "end_time_placeholder": "Endzeit (HH:MM:SS)", + "force_keyframes": "Keyframes an Schnittpunkten erzwingen", + "help_text": "Setzen Sie Start- und Endzeit, um das Video zu schneiden.\nLeer lassen, um das vollständige Video herunterzuladen.", + "invalid_format": "Ungültiges Zeitformat. Verwenden Sie das Format HH:MM:SS.", + "start_after_end": "Startzeit kann nicht nach der Endzeit liegen." + }, + "settings": { + "title": "Download-Einstellungen", + "download_path": "Download-Pfad", + "browse": "Durchsuchen...", + "speed_limit": "Geschwindigkeitsbegrenzung", + "speed_limit_placeholder": "Keine", + "auto_update_ytdlp": "yt-dlp automatisch aktualisieren", + "enable_auto_updates": "Automatische yt-dlp-Updates aktivieren", + "update_frequency": "Update-Häufigkeit:", + "check_startup": "Bei jedem Start prüfen (mindestens 1 Stunde zwischen Prüfungen)", + "check_daily": "Täglich prüfen", + "check_weekly": "Wöchentlich prüfen", + "check_updates_now": "Jetzt nach Updates suchen", + "update_check_title": "Update-Prüfung", + "could_not_determine_version": "Aktuelle yt-dlp-Version konnte nicht bestimmt werden.", + "update_available_dialog": "Update verfügbar!\n\nAktuell: {current}\nNeuest: {latest}\n\nVerwenden Sie die Schaltfläche 'yt-dlp aktualisieren' im Hauptfenster zum Aktualisieren.", + "up_to_date_dialog": "yt-dlp ist aktuell!\n\nAktuelle Version: {version}", + "error_checking_updates": "Fehler bei der Update-Prüfung: {error}", + "settings_saved_title": "Einstellungen gespeichert", + "settings_saved_message": "Auto-Update-Einstellungen wurden erfolgreich gespeichert!", + "error_title": "Fehler", + "failed_save_settings": "Speichern der Auto-Update-Einstellungen fehlgeschlagen.", + "error_saving_settings": "Fehler beim Speichern der Auto-Update-Einstellungen: {error}", + "auto_update_title": "Auto-Update-Einstellungen", + "auto_update_header": "🔄 Auto-Update-Einstellungen", + "auto_update_description": "Konfigurieren Sie automatische Updates für yt-dlp, um sicherzustellen, dass Sie immer die neuesten Funktionen und Fehlerbehebungen haben.", + "current_status": "Aktueller Status", + "current_version_label": "Aktuelle yt-dlp-Version: Wird überprüft...", + "last_check_label": "Letzte Update-Prüfung: Nie", + "next_check_label": "Nächste Prüfung: Basierend auf Einstellungen", + "manual_check_button": "🔍 Jetzt nach Updates suchen", + "update_frequency_group": "Update-Häufigkeit", + "save_settings": "Einstellungen speichern", + "settings_saved_successfully": "✅ Einstellungen erfolgreich gespeichert!", + "error_saving": "❌ Fehler beim Speichern der Einstellungen: {error}" + }, + "main_ui": { + "url_placeholder": "YouTube-Video- oder Playlist-URL eingeben", + "merge_subtitles": "Untertitel zusammenführen", + "save_thumbnail": "Thumbnail speichern", + "save_description": "Beschreibung speichern", + "embed_chapters": "Kapitel einbetten", + "subtitles_selected": "{count} ausgewählt", + "all_selected": "Alle ausgewählt", + "select_videos_all": "Videos auswählen... (Alle ausgewählt)", + "please_enter_url": "Bitte geben Sie zuerst eine URL ein", + "cookie_file_selected_title": "Cookie-Datei ausgewählt", + "cookie_file_selected_message": "Cookie-Datei ausgewählt: {path}", + "browser_cookies_selected_title": "Browser-Cookies ausgewählt", + "browser_cookies_selected_message": "Browser-Cookies werden aus folgendem Browser extrahiert: {browser}", + "error_no_format_info": "Fehler: Keine Formatinformationen verfügbar.", + "error_extract_info": "Fehler: Grundlegende Videoinformationen konnten nicht extrahiert werden. Bitte überprüfen Sie Ihren Link.", + "analyzing_preparing": "Analysiere (0%)... Anfrage wird vorbereitet", + "analyzing_extracting_basic": "Analysiere (15%)... Grundlegende Informationen werden extrahiert", + "analyzing_extracting_detailed": "Analysiere (30%)... Detaillierte Informationen werden extrahiert", + "analyzing_processing_video": "Analysiere (45%)... Videodaten werden verarbeitet", + "analyzing_processing_formats": "Analysiere (60%)... Formate werden verarbeitet", + "analyzing_loading_thumbnail": "Analysiere (75%)... Thumbnail wird geladen", + "analyzing_processing_subtitles": "Analysiere (85%)... Untertitel werden verarbeitet", + "analyzing_updating_table": "Analysiere (95%)... Formattabelle wird aktualisiert", + "analysis_complete": "Analyse abgeschlossen!", + "analyzing_extracting_ytdlp": "Analysiere (30%)... Informationen mit yt-dlp-Ausführbarer Datei werden extrahiert", + "analyzing_processing_data": "Analysiere (60%)... Daten werden verarbeitet", + "analyzing_processing_formats_ytdlp": "Analysiere (75%)... Formate werden verarbeitet", + "analyzing_loading_thumbnail_ytdlp": "Analysiere (85%)... Thumbnail wird geladen", + "analyzing_processing_subtitles_ytdlp": "Analysiere (90%)... Untertitel werden verarbeitet", + "select_subtitles": "Untertitel auswählen...", + "sponsorblock_categories": "SponsorBlock-Kategorien..." + }, + "sponsorblock": { + "sponsor": "Sponsor", + "sponsor_desc": "Bezahlte Werbung, bezahlte Empfehlungen und direkte Werbung", + "selfpromo": "Unbezahlte/Eigenwerbung", + "selfpromo_desc": "Unbezahlte Werbung für eigene Inhalte der Ersteller", + "interaction": "Interaktions-Erinnerung", + "interaction_desc": "Zuschauer werden gebeten zu liken, zu abonnieren oder sozialen Medien zu folgen", + "intro": "Intro", + "intro_desc": "Video-Einleitung, die übersprungen werden kann", + "outro": "Outro/Abspann-Karten", + "outro_desc": "Credits oder wenn das Video endet", + "preview": "Vorschau/Zusammenfassung", + "preview_desc": "Kurze Zusammenfassung vorheriger Videos oder Vorschau auf kommende Inhalte", + "music_offtopic": "Nicht-Musik-Bereich", + "music_offtopic_desc": "Nur für Musikvideos. Markiert Nicht-Musik-Bereiche", + "filler": "Füller-Exkurs", + "filler_desc": "Abschweifende Szenen, die nur als Füller oder für Humor hinzugefügt wurden" + }, + "video_info": { + "channel": "Kanal", + "views": "Aufrufe", + "likes": "Gefällt mir", + "upload_date": "Upload-Datum", + "duration": "Dauer", + "unknown_channel": "Unbekannter Kanal", + "unknown_date": "Unbekanntes Datum", + "unknown_title": "Unbekannter Titel" + }, + "command": { + "running": "Läuft...", + "run_command": "Befehl ausführen" + }, + "selection": { + "none_selected": "0 ausgewählt", + "one_selected": "1 Kategorie ausgewählt", + "count_selected": "{count} ausgewählt" + }, + "status": { + "ready": "Bereit", + "file_exists": "⚠️ Datei existiert bereits", + "cancelling": "Download wird abgebrochen..." + } +} \ No newline at end of file diff --git a/languages/en.json b/languages/en.json index 2becc63..a852430 100644 --- a/languages/en.json +++ b/languages/en.json @@ -9,6 +9,7 @@ "portuguese": "Português (Portuguese)", "russian": "Русский (Russian)", "chinese": "中文 (简体) (Chinese Simplified)", + "german": "Deutsch (German)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index 78411b5..4339bad 100644 --- a/languages/es.json +++ b/languages/es.json @@ -8,7 +8,8 @@ "spanish": "Español (Spanish)", "portuguese": "Português (Portuguese)", "russian": "Русский (Russian)", - "chinese": "中文 (简体) (Chinese Simplified)" + "chinese": "中文 (简体) (Chinese Simplified)", + "german": "Deutsch (German)" }, "app": { "title": "YTSage", diff --git a/languages/pt.json b/languages/pt.json index 9692b3f..29f9727 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -9,6 +9,7 @@ "portuguese": "Português", "russian": "Русский (Russian)", "chinese": "中文 (简体) (Chinese Simplified)", + "german": "Alemão", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index c29b222..e48501d 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -9,6 +9,7 @@ "portuguese": "Португальский", "russian": "Русский", "chinese": "中文 (简体) (Chinese Simplified)", + "german": "Немецкий", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/zh.json b/languages/zh.json index ae7910c..96ea952 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -9,6 +9,7 @@ "portuguese": "葡萄牙语", "russian": "俄语", "chinese": "中文", + "german": "德语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 89529d5..e3180c0 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -265,13 +265,13 @@ class FormatTableMixin: quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) # Set color based on quality (check English, Spanish, Portuguese, Russian, and Chinese terms) - if any(term in quality_text for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳"]): + if any(term in quality_text for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term in quality_text for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量"]): + elif any(term in quality_text for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term in quality_text for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等"]): + elif any(term in quality_text for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term in quality_text for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量"]): + elif any(term in quality_text for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 79a90bc..a31c4c8 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -84,7 +84,8 @@ class LocalizationManager: "spanish": "Español (Spanish)", "portuguese": "Português (Portuguese)", "russian": "Русский (Russian)", - "chinese": "中文 (简体) (Chinese Simplified)" + "chinese": "中文 (简体) (Chinese Simplified)", + "german": "Deutsch (German)" }, "download": { "preparing": "🚀 Preparing your download...", From 4b212c08e27137058153bdff5b0286fc36f7392f Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 22:10:36 +0300 Subject: [PATCH 217/568] Add French localization and update language support Added a complete French translation file (fr.json) and updated all other language files to include 'French' as a selectable language. Updated format table color logic to recognize French and German quality terms for better internationalization. Also updated the default English language map to include French. --- languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 3 +- languages/fr.json | 331 +++++++++++++++++++++++++++++ languages/pt.json | 1 + languages/ru.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 11 +- src/utils/ytsage_localization.py | 3 +- 9 files changed, 346 insertions(+), 7 deletions(-) create mode 100644 languages/fr.json diff --git a/languages/de.json b/languages/de.json index 17fd0ee..a707cb1 100644 --- a/languages/de.json +++ b/languages/de.json @@ -10,6 +10,7 @@ "russian": "Russisch", "chinese": "Chinesisch", "german": "Deutsch", + "french": "Französisch", "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." }, diff --git a/languages/en.json b/languages/en.json index a852430..e1b598f 100644 --- a/languages/en.json +++ b/languages/en.json @@ -10,6 +10,7 @@ "russian": "Русский (Russian)", "chinese": "中文 (简体) (Chinese Simplified)", "german": "Deutsch (German)", + "french": "Français (French)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index 4339bad..c3519f0 100644 --- a/languages/es.json +++ b/languages/es.json @@ -9,7 +9,8 @@ "portuguese": "Português (Portuguese)", "russian": "Русский (Russian)", "chinese": "中文 (简体) (Chinese Simplified)", - "german": "Deutsch (German)" + "german": "Deutsch (German)", + "french": "Français (French)" }, "app": { "title": "YTSage", diff --git a/languages/fr.json b/languages/fr.json new file mode 100644 index 0000000..439e03a --- /dev/null +++ b/languages/fr.json @@ -0,0 +1,331 @@ +{ + "language": { + "display_name": "Français (French)", + "select_language": "Sélectionner la langue :", + "current_language": "Langue actuelle : {language}", + "restart_required": "Les modifications de langue prendront effet après le redémarrage de l'application.", + "english": "Anglais", + "spanish": "Espagnol", + "portuguese": "Portugais", + "russian": "Russe", + "chinese": "Chinois", + "german": "Allemand", + "french": "Français", + "help_text": "Sélectionnez votre langue préférée pour l'interface.", + "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Prêt" + }, + "formats": { + "show_formats": "Afficher les formats :", + "video_format": "Format vidéo :", + "audio_format": "Format audio :", + "no_formats": "Aucun format disponible", + "loading": "Chargement des formats...", + "select": "Sélectionner", + "quality": "Qualité", + "extension": "Extension", + "resolution": "Résolution", + "file_size": "Taille du fichier", + "codec": "Codec", + "audio": "Audio", + "notes": "Notes", + "will_merge_audio": "L'audio sera fusionné", + "has_audio": "✓ Contient de l'audio", + "audio_only": "Audio uniquement", + "large_size": "Taille importante", + "medium_size": "Taille moyenne", + "standard_size": "Taille standard", + "compatible": "Compatible", + "efficient": "Efficace", + "high_quality": "Haute qualité", + "best_4k": "Meilleure (4K)", + "best_2k": "Meilleure (2K)", + "high_1080p": "Haute (1080p)", + "high_720p": "Haute (720p)", + "medium_480p": "Moyenne (480p)", + "low_quality": "Qualité faible", + "best_audio": "Meilleur audio", + "high_audio": "Audio élevé", + "medium_audio": "Audio moyen", + "low_audio": "Audio faible", + "audio_only_resolution": "Audio uniquement" + }, + "buttons": { + "download": "Télécharger", + "pause": "Pause", + "resume": "Reprendre", + "cancel": "Annuler", + "browse": "Parcourir", + "clear": "Effacer", + "ok": "OK", + "apply": "Appliquer", + "close": "Fermer", + "run_command": "Exécuter la commande", + "custom_command_help": "Aide", + "about": "À propos", + "analyze": "Analyser", + "paste_url": "Coller l'URL", + "select_videos": "Sélectionner les vidéos...", + "video": "Vidéo", + "audio_only": "Audio uniquement", + "custom_options": "Options personnalisées", + "trim_video": "Découper la vidéo", + "download_settings": "Paramètres de téléchargement", + "update": "Mettre à jour yt-dlp", + "select_defaults": "Sélectionner par défaut", + "select_all": "Tout sélectionner", + "deselect_all": "Tout désélectionner" + }, + "dialogs": { + "custom_options": "Options personnalisées", + "settings": "Paramètres", + "select_folder": "Sélectionner le dossier de téléchargement", + "sponsorblock_categories": "Catégories SponsorBlock", + "sponsorblock_description": "Choisissez les types de segments vidéo à supprimer automatiquement pendant le téléchargement.\nSponsorBlock utilise des données soumises par la communauté pour identifier ces segments.", + "select_subtitles": "Sélectionner les sous-titres", + "filter_languages_placeholder": "Filtrer les langues (ex: en, fr)...", + "no_subtitles_available": "Aucun sous-titre disponible", + "matching": "correspondant" + }, + "tabs": { + "cookies": "Se connecter avec des cookies", + "custom_command": "Commande personnalisée", + "proxy": "Proxy", + "language": "Langue" + }, + "cookies": { + "help_text": "Choisissez comment fournir les cookies pour l'authentification.\nCeci permet de télécharger des vidéos privées et des fichiers audio de haute qualité.", + "cookie_source": "Source des cookies", + "use_cookie_file": "Utiliser un fichier de cookies", + "extract_from_browser": "Extraire du navigateur", + "cookie_file": "Fichier de cookies", + "cookie_file_placeholder": "Chemin vers le fichier cookies.txt...", + "browser_selection": "Sélection du navigateur", + "browser_help": "Sélectionnez le navigateur depuis lequel extraire les cookies :", + "browser_label": "Navigateur :", + "profile_label": "Profil :", + "profile_placeholder": "Par défaut", + "browser_extract_message": "Les cookies du navigateur seront extraits lors de l'application", + "file_selected_message": "Fichier de cookies sélectionné - Cliquez sur OK pour appliquer", + "select_file_title": "Sélectionner le fichier de cookies", + "file_filter": "Fichiers de cookies (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Entrez votre commande yt-dlp personnalisée ci-dessous. L'URL actuelle sera automatiquement ajoutée.

Pour la liste complète des options et exemples d'utilisation cliquez ici pour voir la documentation officielle yt-dlp.

Note : Le chemin de téléchargement et le modèle de nom de fichier sont gérés automatiquement.", + "input_label": "Arguments yt-dlp :", + "input_placeholder": "Entrez les arguments yt-dlp ici...\n\nEx : --extract-audio --audio-format mp3", + "output_label": "Sortie de la commande :", + "output_placeholder": "La sortie de la commande apparaîtra ici...", + "command_placeholder": "Entrer une commande yt-dlp personnalisée...", + "command_help": "Espaces réservés disponibles :\n{url} - URL de la vidéo\n{output} - Dossier de sortie\n\nExemple : --write-info-json --write-thumbnail", + "full_command": "🔧 Commande complète : {command}", + "command_success": "✅ Commande personnalisée exécutée avec succès !", + "command_failed": "❌ Commande échouée avec le code de sortie {code}", + "command_error": "❌ Erreur lors de l'exécution de la commande personnalisée : {error}" + }, + "proxy": { + "help_text": "Configurer les paramètres proxy pour les téléchargements. Laisser vide pour une connexion directe.", + "main_proxy": "Proxy principal", + "main_proxy_help": "Serveur proxy principal pour tous les téléchargements. Prend en charge les protocoles HTTP/HTTPS et SOCKS5.", + "proxy_url_label": "URL du proxy :", + "proxy_url_placeholder": "http://proxy:port ou socks5://proxy:port", + "proxy_examples": "Exemples :\n• HTTP : http://proxy.example.com:8080\n• SOCKS5 : socks5://proxy.example.com:1080", + "geo_proxy": "Proxy de contournement géographique", + "geo_proxy_help": "Proxy secondaire spécialement pour contourner les restrictions géographiques.", + "geo_proxy_url_label": "URL du proxy de contournement géographique :", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "Effacer le proxy principal", + "clear_geo_proxy": "Effacer le proxy géographique", + "proxy_url": "URL du proxy", + "proxy_placeholder": "http://proxy:port ou socks5://proxy:port", + "geo_bypass": "Proxy de contournement géographique (pour les restrictions géographiques)", + "geo_bypass_placeholder": "http://proxy:port pour contourner le géo-blocage", + "invalid_main_url": "Format d'URL de proxy principal invalide", + "invalid_geo_url": "Format d'URL de proxy géographique invalide", + "main_configured": "Proxy principal configuré", + "geo_configured": "Proxy géographique configuré" + }, + "download": { + "preparing": "Préparation du téléchargement...", + "please_enter_url": "Veuillez d'abord entrer une URL.", + "please_set_path": "Veuillez d'abord définir un chemin de téléchargement.", + "please_enter_url_and_path": "Veuillez entrer une URL et définir un chemin de téléchargement.", + "please_select_format": "Veuillez d'abord sélectionner un format." + }, + "update": { + "title": "Mettre à jour yt-dlp", + "checking": "Vérification des mises à jour...", + "update_available": "Mise à jour disponible !\nVersion actuelle : {current}\nDernière version : {latest}", + "up_to_date": "yt-dlp est à jour (Version {version})", + "could_not_determine": "Impossible de déterminer les versions.", + "error_comparing": "Erreur lors de la comparaison des versions : {error}", + "update_available_failed": "Mise à jour disponible ! (Comparaison échouée)\nActuelle : {current}\nDernière : {latest}", + "updating": "Mise à jour...", + "initializing": "🚀 Initialisation du processus de mise à jour...", + "checking_current": "🔍 Vérification de l'installation actuelle...", + "found_at": "📍 yt-dlp trouvé à : {path}", + "error_getting_path": "❌ Erreur lors de la récupération du chemin yt-dlp : {error}", + "updating_binary": "📦 Mise à jour du binaire yt-dlp géré par l'application...", + "updating_pip": "🐍 Mise à jour du yt-dlp système via pip...", + "update_failed": "❌ Échec de la mise à jour yt-dlp. Veuillez réessayer ou vérifier votre connexion Internet.", + "binary_updated": "✅ Binaire mis à jour avec succès !", + "update_failed_stderr": "❌ Échec de la mise à jour yt-dlp : {error}", + "update_timeout": "❌ Délai d'attente de la mise à jour yt-dlp dépassé.", + "unexpected_error": "❌ Erreur inattendue lors de la mise à jour : {error}", + "checking_pip": "🔍 Vérification de l'installation pip actuelle...", + "current_version": "📋 Version actuelle : {version}", + "not_found_pip": "⚠️ yt-dlp non trouvé via pip, tentative d'installation...", + "checking_latest": "🌐 Vérification de la dernière version...", + "failed_check_updates": "❌ Échec de la vérification des mises à jour", + "latest_version": "🆕 Dernière version : {version}", + "updating_from_to": "⬆️ Mise à jour de {current} vers {latest}...", + "running_pip_install": "📦 Exécution de pip install --upgrade...", + "pip_completed": "✅ Mise à jour pip terminée avec succès !", + "pip_failed": "❌ Échec de la mise à jour pip : {error}" + }, + "about": { + "title": "À propos de YTSage", + "version": "Version {version}", + "description": "Téléchargeur YouTube moderne avec une interface PySide6 propre.", + "author": "Par : {author}", + "github": "GitHub : {repo}", + "system_info": "Informations système", + "loading": "🔄 Chargement des informations système...", + "refresh": "🔄", + "refreshing": "🔄 Actualisation...", + "refresh_failed": "Échec de l'actualisation", + "refresh_failed_message": "Impossible d'actualiser les informations de version.", + "detected": "✓ Détecté", + "missing": "✗ Manquant", + "not_available": "Non disponible" + }, + "time_range": { + "title": "Découper la vidéo", + "time_range_group": "Plage horaire", + "start_time": "Heure de début (HH:MM:SS)", + "end_time": "Heure de fin (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "Heure de début (HH:MM:SS)", + "end_time_placeholder": "Heure de fin (HH:MM:SS)", + "force_keyframes": "Forcer les images clés aux points de coupe", + "help_text": "Définissez les heures de début et de fin pour découper la vidéo.\nLaissez vide pour télécharger la vidéo complète.", + "invalid_format": "Format d'heure invalide. Utilisez le format HH:MM:SS.", + "start_after_end": "L'heure de début ne peut pas être après l'heure de fin." + }, + "settings": { + "title": "Paramètres de téléchargement", + "download_path": "Chemin de téléchargement", + "browse": "Parcourir...", + "speed_limit": "Limite de vitesse", + "speed_limit_placeholder": "Aucune", + "auto_update_ytdlp": "Mise à jour automatique de yt-dlp", + "enable_auto_updates": "Activer les mises à jour automatiques de yt-dlp", + "update_frequency": "Fréquence de mise à jour :", + "check_startup": "Vérifier à chaque démarrage (minimum 1 heure entre les vérifications)", + "check_daily": "Vérifier quotidiennement", + "check_weekly": "Vérifier hebdomadairement", + "check_updates_now": "Vérifier les mises à jour maintenant", + "update_check_title": "Vérification de mise à jour", + "could_not_determine_version": "Impossible de déterminer la version actuelle de yt-dlp.", + "update_available_dialog": "Mise à jour disponible !\n\nActuelle : {current}\nDernière : {latest}\n\nUtilisez le bouton 'Mettre à jour yt-dlp' dans la fenêtre principale pour mettre à jour.", + "up_to_date_dialog": "yt-dlp est à jour !\n\nVersion actuelle : {version}", + "error_checking_updates": "Erreur lors de la vérification des mises à jour : {error}", + "settings_saved_title": "Paramètres sauvegardés", + "settings_saved_message": "Les paramètres de mise à jour automatique ont été sauvegardés avec succès !", + "error_title": "Erreur", + "failed_save_settings": "Échec de la sauvegarde des paramètres de mise à jour automatique.", + "error_saving_settings": "Erreur lors de la sauvegarde des paramètres de mise à jour automatique : {error}", + "auto_update_title": "Paramètres de mise à jour automatique", + "auto_update_header": "🔄 Paramètres de mise à jour automatique", + "auto_update_description": "Configurez les mises à jour automatiques pour yt-dlp afin de vous assurer d'avoir toujours les dernières fonctionnalités et corrections de bogues.", + "current_status": "État actuel", + "current_version_label": "Version actuelle de yt-dlp : Vérification...", + "last_check_label": "Dernière vérification de mise à jour : Jamais", + "next_check_label": "Prochaine vérification : Basée sur les paramètres", + "manual_check_button": "🔍 Vérifier les mises à jour maintenant", + "update_frequency_group": "Fréquence de mise à jour", + "save_settings": "Sauvegarder les paramètres", + "settings_saved_successfully": "✅ Paramètres sauvegardés avec succès !", + "error_saving": "❌ Erreur lors de la sauvegarde des paramètres : {error}" + }, + "main_ui": { + "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", + "merge_subtitles": "Fusionner les sous-titres", + "save_thumbnail": "Sauvegarder la miniature", + "save_description": "Sauvegarder la description", + "embed_chapters": "Intégrer les chapitres", + "subtitles_selected": "{count} sélectionné(s)", + "all_selected": "Tous sélectionnés", + "select_videos_all": "Sélectionner les vidéos... (Tous sélectionnés)", + "please_enter_url": "Veuillez d'abord entrer une URL", + "cookie_file_selected_title": "Fichier de cookies sélectionné", + "cookie_file_selected_message": "Fichier de cookies sélectionné : {path}", + "browser_cookies_selected_title": "Cookies de navigateur sélectionnés", + "browser_cookies_selected_message": "Les cookies du navigateur seront extraits depuis : {browser}", + "error_no_format_info": "Erreur : Aucune information de format disponible.", + "error_extract_info": "Erreur : Impossible d'extraire les informations de base de la vidéo. Veuillez vérifier votre lien.", + "analyzing_preparing": "Analyse (0%)... Préparation de la requête", + "analyzing_extracting_basic": "Analyse (15%)... Extraction des informations de base", + "analyzing_extracting_detailed": "Analyse (30%)... Extraction des informations détaillées", + "analyzing_processing_video": "Analyse (45%)... Traitement des données vidéo", + "analyzing_processing_formats": "Analyse (60%)... Traitement des formats", + "analyzing_loading_thumbnail": "Analyse (75%)... Chargement de la miniature", + "analyzing_processing_subtitles": "Analyse (85%)... Traitement des sous-titres", + "analyzing_updating_table": "Analyse (95%)... Mise à jour du tableau des formats", + "analysis_complete": "Analyse terminée !", + "analyzing_extracting_ytdlp": "Analyse (30%)... Extraction d'informations avec l'exécutable yt-dlp", + "analyzing_processing_data": "Analyse (60%)... Traitement des données", + "analyzing_processing_formats_ytdlp": "Analyse (75%)... Traitement des formats", + "analyzing_loading_thumbnail_ytdlp": "Analyse (85%)... Chargement de la miniature", + "analyzing_processing_subtitles_ytdlp": "Analyse (90%)... Traitement des sous-titres", + "select_subtitles": "Sélectionner les sous-titres...", + "sponsorblock_categories": "Catégories SponsorBlock..." + }, + "sponsorblock": { + "sponsor": "Sponsor", + "sponsor_desc": "Publicité payante, recommandations payantes et publicité directe", + "selfpromo": "Auto-promotion non payante", + "selfpromo_desc": "Publicité non payante pour le contenu propre du créateur", + "interaction": "Rappel d'interaction", + "interaction_desc": "Les spectateurs sont invités à aimer, s'abonner ou suivre sur les réseaux sociaux", + "intro": "Intro", + "intro_desc": "Introduction de la vidéo qui peut être ignorée", + "outro": "Outro/Cartes de fin", + "outro_desc": "Crédits ou fin de la vidéo", + "preview": "Aperçu/Récapitulatif", + "preview_desc": "Bref récapitulatif des vidéos précédentes ou aperçu du contenu à venir", + "music_offtopic": "Section hors-musique", + "music_offtopic_desc": "Uniquement pour les vidéos musicales. Marque les sections non-musicales", + "filler": "Digression de remplissage", + "filler_desc": "Scènes de diversion ajoutées uniquement comme remplissage ou pour l'humour" + }, + "video_info": { + "channel": "Chaîne", + "views": "Vues", + "likes": "J'aime", + "upload_date": "Date de mise en ligne", + "duration": "Durée", + "unknown_channel": "Chaîne inconnue", + "unknown_date": "Date inconnue", + "unknown_title": "Titre inconnu" + }, + "command": { + "running": "En cours...", + "run_command": "Exécuter la commande" + }, + "selection": { + "none_selected": "0 sélectionné", + "one_selected": "1 catégorie sélectionnée", + "count_selected": "{count} sélectionné(s)" + }, + "status": { + "ready": "Prêt", + "file_exists": "⚠️ Le fichier existe déjà", + "cancelling": "Annulation du téléchargement..." + } +} \ No newline at end of file diff --git a/languages/pt.json b/languages/pt.json index 29f9727..6bc935e 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -10,6 +10,7 @@ "russian": "Русский (Russian)", "chinese": "中文 (简体) (Chinese Simplified)", "german": "Alemão", + "french": "Francês", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index e48501d..b4db0ca 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -10,6 +10,7 @@ "russian": "Русский", "chinese": "中文 (简体) (Chinese Simplified)", "german": "Немецкий", + "french": "Французский", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/zh.json b/languages/zh.json index 96ea952..b89adc3 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -10,6 +10,7 @@ "russian": "俄语", "chinese": "中文", "german": "德语", + "french": "法语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index e3180c0..f04f86b 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -264,14 +264,15 @@ class FormatTableMixin: # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) - # Set color based on quality (check English, Spanish, Portuguese, Russian, and Chinese terms) - if any(term in quality_text for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste"]): + # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, and French terms) + quality_lower = quality_text.lower() # Make comparison case-insensitive + if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term in quality_text for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term in quality_text for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term in quality_text for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio"]): + elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index a31c4c8..5826694 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -85,7 +85,8 @@ class LocalizationManager: "portuguese": "Português (Portuguese)", "russian": "Русский (Russian)", "chinese": "中文 (简体) (Chinese Simplified)", - "german": "Deutsch (German)" + "german": "Deutsch (German)", + "french": "Français (French)" }, "download": { "preparing": "🚀 Preparing your download...", From b02ca9ae01c55216985ff496577a0baa5d9c2472 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 22:16:31 +0300 Subject: [PATCH 218/568] Add Hindi localization and update language support Introduces a new Hindi translation file (hi.json) and adds Hindi as a selectable language in all existing language files. Updates the format table to recognize Hindi quality terms for color coding, and includes Hindi in the default language list in the localization manager. --- languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 3 +- languages/fr.json | 1 + languages/hi.json | 332 +++++++++++++++++++++++++++++ languages/pt.json | 1 + languages/ru.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 8 +- src/utils/ytsage_localization.py | 3 +- 10 files changed, 346 insertions(+), 6 deletions(-) create mode 100644 languages/hi.json diff --git a/languages/de.json b/languages/de.json index a707cb1..5345c6c 100644 --- a/languages/de.json +++ b/languages/de.json @@ -11,6 +11,7 @@ "chinese": "Chinesisch", "german": "Deutsch", "french": "Französisch", + "hindi": "Hindi", "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." }, diff --git a/languages/en.json b/languages/en.json index e1b598f..0ba9ccc 100644 --- a/languages/en.json +++ b/languages/en.json @@ -11,6 +11,7 @@ "chinese": "中文 (简体) (Chinese Simplified)", "german": "Deutsch (German)", "french": "Français (French)", + "hindi": "हिन्दी (Hindi)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index c3519f0..d83674e 100644 --- a/languages/es.json +++ b/languages/es.json @@ -10,7 +10,8 @@ "russian": "Русский (Russian)", "chinese": "中文 (简体) (Chinese Simplified)", "german": "Deutsch (German)", - "french": "Français (French)" + "french": "Français (French)", + "hindi": "Hindi" }, "app": { "title": "YTSage", diff --git a/languages/fr.json b/languages/fr.json index 439e03a..3bf1b77 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -11,6 +11,7 @@ "chinese": "Chinois", "german": "Allemand", "french": "Français", + "hindi": "Hindi", "help_text": "Sélectionnez votre langue préférée pour l'interface.", "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." }, diff --git a/languages/hi.json b/languages/hi.json new file mode 100644 index 0000000..0e47e0f --- /dev/null +++ b/languages/hi.json @@ -0,0 +1,332 @@ +{ + "language": { + "display_name": "हिन्दी (Hindi)", + "select_language": "भाषा चुनें:", + "current_language": "वर्तमान भाषा: {language}", + "restart_required": "भाषा परिवर्तन एप्लिकेशन पुनरारंभ के बाद प्रभावी होगा।", + "english": "अंग्रेजी", + "spanish": "स्पेनिश", + "portuguese": "पुर्तगाली", + "russian": "रूसी", + "chinese": "चीनी", + "german": "जर्मन", + "french": "फ्रेंच", + "hindi": "हिन्दी", + "help_text": "इंटरफेस के लिए अपनी पसंदीदा भाषा चुनें।", + "restart_notice": "भाषा परिवर्तन एप्लिकेशन पुनरारंभ के बाद प्रभावी होगा।" + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "तैयार" + }, + "formats": { + "show_formats": "प्रारूप दिखाएं:", + "video_format": "वीडियो प्रारूप:", + "audio_format": "ऑडियो प्रारूप:", + "no_formats": "कोई प्रारूप उपलब्ध नहीं", + "loading": "प्रारूप लोड हो रहे हैं...", + "select": "चुनें", + "quality": "गुणवत्ता", + "extension": "एक्सटेंशन", + "resolution": "रिज़ॉल्यूशन", + "file_size": "फ़ाइल आकार", + "codec": "कोडेक", + "audio": "ऑडियो", + "notes": "नोट्स", + "will_merge_audio": "ऑडियो मर्ज किया जाएगा", + "has_audio": "✓ ऑडियो है", + "audio_only": "केवल ऑडियो", + "large_size": "बड़ा आकार", + "medium_size": "मध्यम आकार", + "standard_size": "मानक आकार", + "compatible": "संगत", + "efficient": "कुशल", + "high_quality": "उच्च गुणवत्ता", + "best_4k": "सर्वोत्तम (4K)", + "best_2k": "सर्वोत्तम (2K)", + "high_1080p": "उच्च (1080p)", + "high_720p": "उच्च (720p)", + "medium_480p": "मध्यम (480p)", + "low_quality": "निम्न गुणवत्ता", + "best_audio": "सर्वोत्तम ऑडियो", + "high_audio": "उच्च ऑडियो", + "medium_audio": "मध्यम ऑडियो", + "low_audio": "निम्न ऑडियो", + "audio_only_resolution": "केवल ऑडियो" + }, + "buttons": { + "download": "डाउनलोड", + "pause": "रोकें", + "resume": "जारी रखें", + "cancel": "रद्द करें", + "browse": "ब्राउज़", + "clear": "साफ़ करें", + "ok": "ठीक है", + "apply": "लागू करें", + "close": "बंद करें", + "run_command": "कमांड चलाएं", + "custom_command_help": "सहायता", + "about": "के बारे में", + "analyze": "विश्लेषण", + "paste_url": "URL पेस्ट करें", + "select_videos": "वीडियो चुनें...", + "video": "वीडियो", + "audio_only": "केवल ऑडियो", + "custom_options": "कस्टम विकल्प", + "trim_video": "वीडियो ट्रिम करें", + "download_settings": "डाउनलोड सेटिंग्स", + "update": "yt-dlp अपडेट करें", + "select_defaults": "डिफ़ॉल्ट चुनें", + "select_all": "सभी चुनें", + "deselect_all": "सभी को अचयनित करें" + }, + "dialogs": { + "custom_options": "कस्टम विकल्प", + "settings": "सेटिंग्स", + "select_folder": "डाउनलोड फ़ोल्डर चुनें", + "sponsorblock_categories": "SponsorBlock श्रेणियां", + "sponsorblock_description": "डाउनलोड के दौरान अपने आप हटाए जाने वाले वीडियो सेगमेंट के प्रकार चुनें।\nSponsorBlock इन सेगमेंट की पहचान के लिए समुदाय द्वारा प्रस्तुत डेटा का उपयोग करता है।", + "select_subtitles": "उपशीर्षक चुनें", + "filter_languages_placeholder": "भाषाएं फ़िल्टर करें (जैसे: hi, en)...", + "no_subtitles_available": "कोई उपशीर्षक उपलब्ध नहीं", + "matching": "मेल खाता" + }, + "tabs": { + "cookies": "कुकीज़ के साथ लॉगिन", + "custom_command": "कस्टम कमांड", + "proxy": "प्रॉक्सी", + "language": "भाषा" + }, + "cookies": { + "help_text": "प्रमाणीकरण के लिए कुकीज़ प्रदान करने का तरीका चुनें।\nयह निजी वीडियो और उच्च गुणवत्ता वाली ऑडियो फ़ाइलें डाउनलोड करने की अनुमति देता है।", + "cookie_source": "कुकी स्रोत", + "use_cookie_file": "कुकी फ़ाइल का उपयोग करें", + "extract_from_browser": "ब्राउज़र से निकालें", + "cookie_file": "कुकी फ़ाइल", + "cookie_file_placeholder": "cookies.txt फ़ाइल का पथ...", + "browser_selection": "ब्राउज़र चयन", + "browser_help": "वह ब्राउज़र चुनें जिससे कुकीज़ निकालनी हैं:", + "browser_label": "ब्राउज़र:", + "profile_label": "प्रोफ़ाइल:", + "profile_placeholder": "डिफ़ॉल्ट", + "browser_extract_message": "लागू करने पर ब्राउज़र कुकीज़ निकाली जाएंगी", + "file_selected_message": "कुकी फ़ाइल चुनी गई - लागू करने के लिए OK दबाएं", + "select_file_title": "कुकी फ़ाइल चुनें", + "file_filter": "कुकी फ़ाइलें (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "नीचे अपना कस्टम yt-dlp कमांड दर्ज करें। वर्तमान URL स्वचालित रूप से जोड़ा जाएगा।

विकल्पों की पूरी सूची और उपयोग के उदाहरणों के लिए आधिकारिक yt-dlp दस्तावेज़ देखने के लिए यहाँ क्लिक करें

नोट: डाउनलोड पथ और फ़ाइलनाम टेम्प्लेट स्वचालित रूप से संभाले जाते हैं।", + "input_label": "yt-dlp आर्गुमेंट्स:", + "input_placeholder": "यहाँ yt-dlp आर्गुमेंट्स दर्ज करें...\n\nउदाहरण: --extract-audio --audio-format mp3", + "output_label": "कमांड आउटपुट:", + "output_placeholder": "कमांड आउटपुट यहाँ दिखाई देगा...", + "command_placeholder": "कस्टम yt-dlp कमांड दर्ज करें...", + "command_help": "उपलब्ध प्लेसहोल्डर:\n{url} - वीडियो URL\n{output} - आउटपुट फ़ोल्डर\n\nउदाहरण: --write-info-json --write-thumbnail", + "full_command": "🔧 पूरा कमांड: {command}", + "command_success": "✅ कस्टम कमांड सफलतापूर्वक निष्पादित!", + "command_failed": "❌ कमांड असफल, एग्जिट कोड {code}", + "command_error": "❌ कस्टम कमांड निष्पादित करने में त्रुटि: {error}" + }, + "proxy": { + "help_text": "डाउनलोड के लिए प्रॉक्सी सेटिंग्स कॉन्फ़िगर करें। प्रत्यक्ष कनेक्शन के लिए खाली छोड़ें।", + "main_proxy": "मुख्य प्रॉक्सी", + "main_proxy_help": "सभी डाउनलोड के लिए प्राथमिक प्रॉक्सी सर्वर। HTTP/HTTPS और SOCKS5 प्रोटोकॉल समर्थित।", + "proxy_url_label": "प्रॉक्सी URL:", + "proxy_url_placeholder": "http://proxy:port या socks5://proxy:port", + "proxy_examples": "उदाहरण:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "भू-बाईपास प्रॉक्सी", + "geo_proxy_help": "भौगोलिक प्रतिबंधों को बायपास करने के लिए द्वितीयक प्रॉक्सी।", + "geo_proxy_url_label": "भू-बाईपास प्रॉक्सी URL:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "मुख्य प्रॉक्सी साफ़ करें", + "clear_geo_proxy": "भू-प्रॉक्सी साफ़ करें", + "proxy_url": "प्रॉक्सी URL", + "proxy_placeholder": "http://proxy:port या socks5://proxy:port", + "geo_bypass": "भू-बाईपास प्रॉक्सी (भौगोलिक प्रतिबंधों के लिए)", + "geo_bypass_placeholder": "http://proxy:port भू-ब्लॉकिंग बायपास के लिए", + "invalid_main_url": "अमान्य मुख्य प्रॉक्सी URL प्रारूप", + "invalid_geo_url": "अमान्य भू-प्रॉक्सी URL प्रारूप", + "main_configured": "मुख्य प्रॉक्सी कॉन्फ़िगर की गई", + "geo_configured": "भू-प्रॉक्सी कॉन्फ़िगर की गई" + }, + "download": { + "preparing": "डाउनलोड तैयार हो रहा है...", + "please_enter_url": "कृपया पहले URL दर्ज करें।", + "please_set_path": "कृपया पहले डाउनलोड पथ सेट करें।", + "please_enter_url_and_path": "कृपया URL दर्ज करें और डाउनलोड पथ सेट करें।", + "please_select_format": "कृपया पहले प्रारूप चुनें।" + }, + "update": { + "title": "yt-dlp अपडेट करें", + "checking": "अपडेट की जांच हो रही है...", + "update_available": "अपडेट उपलब्ध!\nवर्तमान संस्करण: {current}\nनवीनतम संस्करण: {latest}", + "up_to_date": "yt-dlp अप टू डेट है (संस्करण {version})", + "could_not_determine": "संस्करण निर्धारित नहीं हो सके।", + "error_comparing": "संस्करण तुलना में त्रुटि: {error}", + "update_available_failed": "अपडेट उपलब्ध! (तुलना असफल)\nवर्तमान: {current}\nनवीनतम: {latest}", + "updating": "अपडेट हो रहा है...", + "initializing": "🚀 अपडेट प्रक्रिया प्रारंभ हो रही है...", + "checking_current": "🔍 वर्तमान इंस्टॉलेशन की जांच हो रही है...", + "found_at": "📍 yt-dlp मिला: {path}", + "error_getting_path": "❌ yt-dlp पथ प्राप्त करने में त्रुटि: {error}", + "updating_binary": "📦 ऐप-प्रबंधित yt-dlp बाइनरी अपडेट हो रही है...", + "updating_pip": "🐍 pip के माध्यम से सिस्टम yt-dlp अपडेट हो रहा है...", + "update_failed": "❌ yt-dlp अपडेट असफल। कृपया पुनः प्रयास करें या अपना इंटरनेट कनेक्शन जांचें।", + "binary_updated": "✅ बाइनरी सफलतापूर्वक अपडेट हुई!", + "update_failed_stderr": "❌ yt-dlp अपडेट असफल: {error}", + "update_timeout": "❌ yt-dlp अपडेट टाइमआउट।", + "unexpected_error": "❌ अपडेट के दौरान अनपेक्षित त्रुटि: {error}", + "checking_pip": "🔍 वर्तमान pip इंस्टॉलेशन की जांच हो रही है...", + "current_version": "📋 वर्तमान संस्करण: {version}", + "not_found_pip": "⚠️ pip के माध्यम से yt-dlp नहीं मिला, इंस्टॉल करने का प्रयास हो रहा है...", + "checking_latest": "🌐 नवीनतम संस्करण की जांच हो रही है...", + "failed_check_updates": "❌ अपडेट जांच असफल", + "latest_version": "🆕 नवीनतम संस्करण: {version}", + "updating_from_to": "⬆️ {current} से {latest} पर अपडेट हो रहा है...", + "running_pip_install": "📦 pip install --upgrade चल रहा है...", + "pip_completed": "✅ Pip अपडेट सफलतापूर्वक पूर्ण!", + "pip_failed": "❌ Pip अपडेट असफल: {error}" + }, + "about": { + "title": "YTSage के बारे में", + "version": "संस्करण {version}", + "description": "साफ PySide6 इंटरफेस के साथ आधुनिक YouTube डाउनलोडर।", + "author": "द्वारा: {author}", + "github": "GitHub: {repo}", + "system_info": "सिस्टम जानकारी", + "loading": "🔄 सिस्टम जानकारी लोड हो रही है...", + "refresh": "🔄", + "refreshing": "🔄 रिफ्रेश हो रहा है...", + "refresh_failed": "रिफ्रेश असफल", + "refresh_failed_message": "संस्करण जानकारी रिफ्रेश करने में असमर्थ।", + "detected": "✓ पता चला", + "missing": "✗ गुम", + "not_available": "उपलब्ध नहीं" + }, + "time_range": { + "title": "वीडियो ट्रिम करें", + "time_range_group": "समय सीमा", + "start_time": "प्रारंभ समय (HH:MM:SS)", + "end_time": "समाप्ति समय (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "प्रारंभ समय (HH:MM:SS)", + "end_time_placeholder": "समाप्ति समय (HH:MM:SS)", + "force_keyframes": "कट पॉइंट्स पर कीफ्रेम्स को बाध्य करें", + "help_text": "वीडियो ट्रिम करने के लिए प्रारंभ और समाप्ति समय सेट करें।\nपूरा वीडियो डाउनलोड करने के लिए खाली छोड़ें।", + "invalid_format": "अमान्य समय प्रारूप। HH:MM:SS प्रारूप का उपयोग करें।", + "start_after_end": "प्रारंभ समय समाप्ति समय के बाद नहीं हो सकता।" + }, + "settings": { + "title": "डाउनलोड सेटिंग्स", + "download_path": "डाउनलोड पथ", + "browse": "ब्राउज़ करें...", + "speed_limit": "गति सीमा", + "speed_limit_placeholder": "कोई नहीं", + "auto_update_ytdlp": "yt-dlp स्वचालित अपडेट", + "enable_auto_updates": "yt-dlp स्वचालित अपडेट सक्षम करें", + "update_frequency": "अपडेट आवृत्ति:", + "check_startup": "हर स्टार्टअप पर जांचें (जांच के बीच कम से कम 1 घंटा)", + "check_daily": "दैनिक जांचें", + "check_weekly": "साप्ताहिक जांचें", + "check_updates_now": "अभी अपडेट की जांच करें", + "update_check_title": "अपडेट जांच", + "could_not_determine_version": "वर्तमान yt-dlp संस्करण निर्धारित नहीं हो सका।", + "update_available_dialog": "अपडेट उपलब्ध!\n\nवर्तमान: {current}\nनवीनतम: {latest}\n\nअपडेट करने के लिए मुख्य विंडो में 'yt-dlp अपडेट करें' बटन का उपयोग करें।", + "up_to_date_dialog": "yt-dlp अप टू डेट है!\n\nवर्तमान संस्करण: {version}", + "error_checking_updates": "अपडेट जांचने में त्रुटि: {error}", + "settings_saved_title": "सेटिंग्स सेव की गईं", + "settings_saved_message": "स्वचालित अपडेट सेटिंग्स सफलतापूर्वक सेव हुईं!", + "error_title": "त्रुटि", + "failed_save_settings": "स्वचालित अपडेट सेटिंग्स सेव करना असफल।", + "error_saving_settings": "स्वचालित अपडेट सेटिंग्स सेव करने में त्रुटि: {error}", + "auto_update_title": "स्वचालित अपडेट सेटिंग्स", + "auto_update_header": "🔄 स्वचालित अपडेट सेटिंग्स", + "auto_update_description": "yt-dlp के लिए स्वचालित अपडेट कॉन्फ़िगर करें ताकि आपके पास हमेशा नवीनतम सुविधाएं और बग फिक्स हों।", + "current_status": "वर्तमान स्थिति", + "current_version_label": "वर्तमान yt-dlp संस्करण: जांच रहे हैं...", + "last_check_label": "अंतिम अपडेट जांच: कभी नहीं", + "next_check_label": "अगली जांच: सेटिंग्स के आधार पर", + "manual_check_button": "🔍 अभी अपडेट की जांच करें", + "update_frequency_group": "अपडेट आवृत्ति", + "save_settings": "सेटिंग्स सेव करें", + "settings_saved_successfully": "✅ सेटिंग्स सफलतापूर्वक सेव हुईं!", + "error_saving": "❌ सेटिंग्स सेव करने में त्रुटि: {error}" + }, + "main_ui": { + "url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें", + "merge_subtitles": "उपशीर्षक मर्ज करें", + "save_thumbnail": "थंबनेल सेव करें", + "save_description": "विवरण सेव करें", + "embed_chapters": "चैप्टर एम्बेड करें", + "subtitles_selected": "{count} चुना गया", + "all_selected": "सभी चुने गए", + "select_videos_all": "वीडियो चुनें... (सभी चुने गए)", + "please_enter_url": "कृपया पहले URL दर्ज करें", + "cookie_file_selected_title": "कुकी फ़ाइल चुनी गई", + "cookie_file_selected_message": "कुकी फ़ाइल चुनी गई: {path}", + "browser_cookies_selected_title": "ब्राउज़र कुकीज़ चुनी गईं", + "browser_cookies_selected_message": "ब्राउज़र कुकीज़ निकाली जाएंगी: {browser}", + "error_no_format_info": "त्रुटि: कोई प्रारूप जानकारी उपलब्ध नहीं।", + "error_extract_info": "त्रुटि: बुनियादी वीडियो जानकारी निकालने में असमर्थ। कृपया अपना लिंक जांचें।", + "analyzing_preparing": "विश्लेषण (0%)... अनुरोध तैयार हो रहा है", + "analyzing_extracting_basic": "विश्लेषण (15%)... बुनियादी जानकारी निकाली जा रही है", + "analyzing_extracting_detailed": "विश्लेषण (30%)... विस्तृत जानकारी निकाली जा रही है", + "analyzing_processing_video": "विश्लेषण (45%)... वीडियो डेटा प्रोसेस हो रहा है", + "analyzing_processing_formats": "विश्लेषण (60%)... प्रारूप प्रोसेस हो रहे हैं", + "analyzing_loading_thumbnail": "विश्लेषण (75%)... थंबनेल लोड हो रहा है", + "analyzing_processing_subtitles": "विश्लेषण (85%)... उपशीर्षक प्रोसेस हो रहे हैं", + "analyzing_updating_table": "विश्लेषण (95%)... प्रारूप तालिका अपडेट हो रही है", + "analysis_complete": "विश्लेषण पूर्ण!", + "analyzing_extracting_ytdlp": "विश्लेषण (30%)... yt-dlp executable के साथ जानकारी निकाली जा रही है", + "analyzing_processing_data": "विश्लेषण (60%)... डेटा प्रोसेस हो रहा है", + "analyzing_processing_formats_ytdlp": "विश्लेषण (75%)... प्रारूप प्रोसेस हो रहे हैं", + "analyzing_loading_thumbnail_ytdlp": "विश्लेषण (85%)... थंबनेल लोड हो रहा है", + "analyzing_processing_subtitles_ytdlp": "विश्लेषण (90%)... उपशीर्षक प्रोसेस हो रहे हैं", + "select_subtitles": "उपशीर्षक चुनें...", + "sponsorblock_categories": "SponsorBlock श्रेणियां..." + }, + "sponsorblock": { + "sponsor": "प्रायोजक", + "sponsor_desc": "पेड विज्ञापन, पेड सिफारिशें और प्रत्यक्ष विज्ञापन", + "selfpromo": "अवैतनिक/स्व-प्रचार", + "selfpromo_desc": "निर्माता की अपनी सामग्री के लिए अवैतनिक प्रचार", + "interaction": "इंटरैक्शन रिमाइंडर", + "interaction_desc": "दर्शकों से लाइक, सब्स्क्राइब या सोशल मीडिया फॉलो करने के लिए कहा जाता है", + "intro": "परिचय", + "intro_desc": "वीडियो परिचय जिसे छोड़ा जा सकता है", + "outro": "आउट्रो/एंड कार्ड", + "outro_desc": "क्रेडिट या जब वीडियो समाप्त होता है", + "preview": "पूर्वावलोकन/सारांश", + "preview_desc": "पिछले वीडियो का संक्षिप्त सारांश या आगामी सामग्री का पूर्वावलोकन", + "music_offtopic": "गैर-संगीत खंड", + "music_offtopic_desc": "केवल संगीत वीडियो के लिए। गैर-संगीत खंडों को चिह्नित करता है", + "filler": "फिलर टैंजेंट", + "filler_desc": "केवल फिलर या हास्य के लिए जोड़े गए विचलन दृश्य" + }, + "video_info": { + "channel": "चैनल", + "views": "दृश्य", + "likes": "पसंद", + "upload_date": "अपलोड दिनांक", + "duration": "अवधि", + "unknown_channel": "अज्ञात चैनल", + "unknown_date": "अज्ञात दिनांक", + "unknown_title": "अज्ञात शीर्षक" + }, + "command": { + "running": "चल रहा है...", + "run_command": "कमांड चलाएं" + }, + "selection": { + "none_selected": "0 चुना गया", + "one_selected": "1 श्रेणी चुनी गई", + "count_selected": "{count} चुने गए" + }, + "status": { + "ready": "तैयार", + "file_exists": "⚠️ फ़ाइल पहले से मौजूद है", + "cancelling": "डाउनलोड रद्द हो रहा है..." + } +} \ No newline at end of file diff --git a/languages/pt.json b/languages/pt.json index 6bc935e..51926f9 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -11,6 +11,7 @@ "chinese": "中文 (简体) (Chinese Simplified)", "german": "Alemão", "french": "Francês", + "hindi": "Hindi", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index b4db0ca..8496465 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -11,6 +11,7 @@ "chinese": "中文 (简体) (Chinese Simplified)", "german": "Немецкий", "french": "Французский", + "hindi": "Хинди", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/zh.json b/languages/zh.json index b89adc3..22fbd41 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -11,6 +11,7 @@ "chinese": "中文", "german": "德语", "french": "法语", + "hindi": "印地语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index f04f86b..c95f9e5 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -266,13 +266,13 @@ class FormatTableMixin: quality_item = QTableWidgetItem(quality_text) # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, and French terms) quality_lower = quality_text.lower() # Make comparison case-insensitive - if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure"]): + if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible"]): + elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 5826694..a424c29 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -86,7 +86,8 @@ class LocalizationManager: "russian": "Русский (Russian)", "chinese": "中文 (简体) (Chinese Simplified)", "german": "Deutsch (German)", - "french": "Français (French)" + "french": "Français (French)", + "hindi": "हिन्दी (Hindi)" }, "download": { "preparing": "🚀 Preparing your download...", From b9e8e34e8fae34ac457bb375b5d9f574004c4a3e Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 22:22:53 +0300 Subject: [PATCH 219/568] Add Indonesian localization and update language support Introduces Indonesian translations by adding languages/id.json and updating all language files to include 'indonesian' in the language selection. Updates format table color logic in ytsage_gui_format_table.py to recognize Indonesian quality terms. Also updates ytsage_localization.py to include Indonesian in the default language list. --- languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 3 +- languages/fr.json | 1 + languages/hi.json | 1 + languages/id.json | 333 +++++++++++++++++++++++++++++ languages/pt.json | 1 + languages/ru.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 8 +- src/utils/ytsage_localization.py | 3 +- 11 files changed, 348 insertions(+), 6 deletions(-) create mode 100644 languages/id.json diff --git a/languages/de.json b/languages/de.json index 5345c6c..cd5afd5 100644 --- a/languages/de.json +++ b/languages/de.json @@ -12,6 +12,7 @@ "german": "Deutsch", "french": "Französisch", "hindi": "Hindi", + "indonesian": "Indonesisch", "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." }, diff --git a/languages/en.json b/languages/en.json index 0ba9ccc..6afc55d 100644 --- a/languages/en.json +++ b/languages/en.json @@ -12,6 +12,7 @@ "german": "Deutsch (German)", "french": "Français (French)", "hindi": "हिन्दी (Hindi)", + "indonesian": "Bahasa Indonesia (Indonesian)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index d83674e..f946981 100644 --- a/languages/es.json +++ b/languages/es.json @@ -11,7 +11,8 @@ "chinese": "中文 (简体) (Chinese Simplified)", "german": "Deutsch (German)", "french": "Français (French)", - "hindi": "Hindi" + "hindi": "Hindi", + "indonesian": "Indonesio" }, "app": { "title": "YTSage", diff --git a/languages/fr.json b/languages/fr.json index 3bf1b77..7cb1d51 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -12,6 +12,7 @@ "german": "Allemand", "french": "Français", "hindi": "Hindi", + "indonesian": "Indonésien", "help_text": "Sélectionnez votre langue préférée pour l'interface.", "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." }, diff --git a/languages/hi.json b/languages/hi.json index 0e47e0f..24b08b5 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -12,6 +12,7 @@ "german": "जर्मन", "french": "फ्रेंच", "hindi": "हिन्दी", + "indonesian": "इंडोनेशियाई", "help_text": "इंटरफेस के लिए अपनी पसंदीदा भाषा चुनें।", "restart_notice": "भाषा परिवर्तन एप्लिकेशन पुनरारंभ के बाद प्रभावी होगा।" }, diff --git a/languages/id.json b/languages/id.json new file mode 100644 index 0000000..2346e5b --- /dev/null +++ b/languages/id.json @@ -0,0 +1,333 @@ +{ + "language": { + "display_name": "Bahasa Indonesia (Indonesian)", + "select_language": "Pilih Bahasa:", + "current_language": "Bahasa saat ini: {language}", + "restart_required": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi.", + "english": "Bahasa Inggris", + "spanish": "Bahasa Spanyol", + "portuguese": "Bahasa Portugis", + "russian": "Bahasa Rusia", + "chinese": "Bahasa Mandarin", + "german": "Bahasa Jerman", + "french": "Bahasa Prancis", + "hindi": "Bahasa Hindi", + "indonesian": "Bahasa Indonesia", + "help_text": "Pilih bahasa yang diinginkan untuk antarmuka.", + "restart_notice": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Siap" + }, + "formats": { + "show_formats": "Tampilkan format:", + "video_format": "Format video:", + "audio_format": "Format audio:", + "no_formats": "Tidak ada format yang tersedia", + "loading": "Memuat format...", + "select": "Pilih", + "quality": "Kualitas", + "extension": "Ekstensi", + "resolution": "Resolusi", + "file_size": "Ukuran file", + "codec": "Codec", + "audio": "Audio", + "notes": "Catatan", + "will_merge_audio": "Audio akan digabungkan", + "has_audio": "✓ Memiliki audio", + "audio_only": "Audio saja", + "large_size": "Ukuran besar", + "medium_size": "Ukuran sedang", + "standard_size": "Ukuran standar", + "compatible": "Kompatibel", + "efficient": "Efisien", + "high_quality": "Kualitas tinggi", + "best_4k": "Terbaik (4K)", + "best_2k": "Terbaik (2K)", + "high_1080p": "Tinggi (1080p)", + "high_720p": "Tinggi (720p)", + "medium_480p": "Sedang (480p)", + "low_quality": "Kualitas rendah", + "best_audio": "Audio terbaik", + "high_audio": "Audio tinggi", + "medium_audio": "Audio sedang", + "low_audio": "Audio rendah", + "audio_only_resolution": "Audio saja" + }, + "buttons": { + "download": "Unduh", + "pause": "Jeda", + "resume": "Lanjutkan", + "cancel": "Batal", + "browse": "Jelajahi", + "clear": "Bersihkan", + "ok": "OK", + "apply": "Terapkan", + "close": "Tutup", + "run_command": "Jalankan perintah", + "custom_command_help": "Bantuan", + "about": "Tentang", + "analyze": "Analisis", + "paste_url": "Tempel URL", + "select_videos": "Pilih video...", + "video": "Video", + "audio_only": "Audio saja", + "custom_options": "Opsi khusus", + "trim_video": "Potong video", + "download_settings": "Pengaturan unduhan", + "update": "Perbarui yt-dlp", + "select_defaults": "Pilih default", + "select_all": "Pilih semua", + "deselect_all": "Batalkan pilihan semua" + }, + "dialogs": { + "custom_options": "Opsi khusus", + "settings": "Pengaturan", + "select_folder": "Pilih folder unduhan", + "sponsorblock_categories": "Kategori SponsorBlock", + "sponsorblock_description": "Pilih jenis segmen video yang akan dihapus secara otomatis selama pengunduhan.\nSponsorBlock menggunakan data yang dikirimkan komunitas untuk mengidentifikasi segmen ini.", + "select_subtitles": "Pilih subtitle", + "filter_languages_placeholder": "Filter bahasa (misalnya: id, en)...", + "no_subtitles_available": "Tidak ada subtitle yang tersedia", + "matching": "yang cocok" + }, + "tabs": { + "cookies": "Masuk dengan cookies", + "custom_command": "Perintah khusus", + "proxy": "Proxy", + "language": "Bahasa" + }, + "cookies": { + "help_text": "Pilih cara memberikan cookies untuk autentikasi.\nIni memungkinkan pengunduhan video pribadi dan file audio berkualitas tinggi.", + "cookie_source": "Sumber cookie", + "use_cookie_file": "Gunakan file cookie", + "extract_from_browser": "Ekstrak dari browser", + "cookie_file": "File cookie", + "cookie_file_placeholder": "Jalur ke file cookies.txt...", + "browser_selection": "Pilihan browser", + "browser_help": "Pilih browser untuk mengekstrak cookies:", + "browser_label": "Browser:", + "profile_label": "Profil:", + "profile_placeholder": "Default", + "browser_extract_message": "Cookies browser akan diekstrak saat diterapkan", + "file_selected_message": "File cookie dipilih - Klik OK untuk menerapkan", + "select_file_title": "Pilih file cookie", + "file_filter": "File cookie (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Masukkan perintah yt-dlp khusus Anda di bawah. URL saat ini akan ditambahkan secara otomatis.

Untuk daftar lengkap opsi dan contoh penggunaan klik di sini untuk melihat dokumentasi resmi yt-dlp.

Catatan: Jalur unduhan dan template nama file ditangani secara otomatis.", + "input_label": "Argumen yt-dlp:", + "input_placeholder": "Masukkan argumen yt-dlp di sini...\n\nContoh: --extract-audio --audio-format mp3", + "output_label": "Output perintah:", + "output_placeholder": "Output perintah akan muncul di sini...", + "command_placeholder": "Masukkan perintah yt-dlp khusus...", + "command_help": "Placeholder yang tersedia:\n{url} - URL video\n{output} - Folder output\n\nContoh: --write-info-json --write-thumbnail", + "full_command": "🔧 Perintah lengkap: {command}", + "command_success": "✅ Perintah khusus berhasil dijalankan!", + "command_failed": "❌ Perintah gagal dengan kode keluar {code}", + "command_error": "❌ Kesalahan menjalankan perintah khusus: {error}" + }, + "proxy": { + "help_text": "Konfigurasi pengaturan proxy untuk unduhan. Biarkan kosong untuk koneksi langsung.", + "main_proxy": "Proxy utama", + "main_proxy_help": "Server proxy utama untuk semua unduhan. Mendukung protokol HTTP/HTTPS dan SOCKS5.", + "proxy_url_label": "URL Proxy:", + "proxy_url_placeholder": "http://proxy:port atau socks5://proxy:port", + "proxy_examples": "Contoh:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "Proxy bypass geografis", + "geo_proxy_help": "Proxy sekunder khusus untuk mem-bypass pembatasan geografis.", + "geo_proxy_url_label": "URL proxy bypass geografis:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "Hapus proxy utama", + "clear_geo_proxy": "Hapus proxy geografis", + "proxy_url": "URL Proxy", + "proxy_placeholder": "http://proxy:port atau socks5://proxy:port", + "geo_bypass": "Proxy bypass geografis (untuk pembatasan geografis)", + "geo_bypass_placeholder": "http://proxy:port untuk mem-bypass geo-blocking", + "invalid_main_url": "Format URL proxy utama tidak valid", + "invalid_geo_url": "Format URL proxy geografis tidak valid", + "main_configured": "Proxy utama dikonfigurasi", + "geo_configured": "Proxy geografis dikonfigurasi" + }, + "download": { + "preparing": "Mempersiapkan unduhan...", + "please_enter_url": "Silakan masukkan URL terlebih dahulu.", + "please_set_path": "Silakan atur jalur unduhan terlebih dahulu.", + "please_enter_url_and_path": "Silakan masukkan URL dan atur jalur unduhan.", + "please_select_format": "Silakan pilih format terlebih dahulu." + }, + "update": { + "title": "Perbarui yt-dlp", + "checking": "Memeriksa pembaruan...", + "update_available": "Pembaruan tersedia!\nVersi saat ini: {current}\nVersi terbaru: {latest}", + "up_to_date": "yt-dlp sudah terbaru (Versi {version})", + "could_not_determine": "Tidak dapat menentukan versi.", + "error_comparing": "Kesalahan membandingkan versi: {error}", + "update_available_failed": "Pembaruan tersedia! (Perbandingan gagal)\nSaat ini: {current}\nTerbaru: {latest}", + "updating": "Memperbarui...", + "initializing": "🚀 Menginisialisasi proses pembaruan...", + "checking_current": "🔍 Memeriksa instalasi saat ini...", + "found_at": "📍 yt-dlp ditemukan di: {path}", + "error_getting_path": "❌ Kesalahan mendapatkan jalur yt-dlp: {error}", + "updating_binary": "📦 Memperbarui binary yt-dlp yang dikelola aplikasi...", + "updating_pip": "🐍 Memperbarui yt-dlp sistem melalui pip...", + "update_failed": "❌ Pembaruan yt-dlp gagal. Silakan coba lagi atau periksa koneksi internet Anda.", + "binary_updated": "✅ Binary berhasil diperbarui!", + "update_failed_stderr": "❌ Pembaruan yt-dlp gagal: {error}", + "update_timeout": "❌ Timeout pembaruan yt-dlp.", + "unexpected_error": "❌ Kesalahan tak terduga selama pembaruan: {error}", + "checking_pip": "🔍 Memeriksa instalasi pip saat ini...", + "current_version": "📋 Versi saat ini: {version}", + "not_found_pip": "⚠️ yt-dlp tidak ditemukan melalui pip, mencoba menginstal...", + "checking_latest": "🌐 Memeriksa versi terbaru...", + "failed_check_updates": "❌ Gagal memeriksa pembaruan", + "latest_version": "🆕 Versi terbaru: {version}", + "updating_from_to": "⬆️ Memperbarui dari {current} ke {latest}...", + "running_pip_install": "📦 Menjalankan pip install --upgrade...", + "pip_completed": "✅ Pembaruan pip berhasil diselesaikan!", + "pip_failed": "❌ Pembaruan pip gagal: {error}" + }, + "about": { + "title": "Tentang YTSage", + "version": "Versi {version}", + "description": "Pengunduh YouTube modern dengan antarmuka PySide6 yang bersih.", + "author": "Oleh: {author}", + "github": "GitHub: {repo}", + "system_info": "Informasi sistem", + "loading": "🔄 Memuat informasi sistem...", + "refresh": "🔄", + "refreshing": "🔄 Menyegarkan...", + "refresh_failed": "Gagal menyegarkan", + "refresh_failed_message": "Tidak dapat menyegarkan informasi versi.", + "detected": "✓ Terdeteksi", + "missing": "✗ Hilang", + "not_available": "Tidak tersedia" + }, + "time_range": { + "title": "Potong video", + "time_range_group": "Rentang waktu", + "start_time": "Waktu mulai (HH:MM:SS)", + "end_time": "Waktu selesai (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "Waktu mulai (HH:MM:SS)", + "end_time_placeholder": "Waktu selesai (HH:MM:SS)", + "force_keyframes": "Paksa keyframe pada titik potong", + "help_text": "Atur waktu mulai dan selesai untuk memotong video.\nBiarkan kosong untuk mengunduh video penuh.", + "invalid_format": "Format waktu tidak valid. Gunakan format HH:MM:SS.", + "start_after_end": "Waktu mulai tidak boleh setelah waktu selesai." + }, + "settings": { + "title": "Pengaturan unduhan", + "download_path": "Jalur unduhan", + "browse": "Jelajahi...", + "speed_limit": "Batas kecepatan", + "speed_limit_placeholder": "Tidak ada", + "auto_update_ytdlp": "Pembaruan otomatis yt-dlp", + "enable_auto_updates": "Aktifkan pembaruan otomatis yt-dlp", + "update_frequency": "Frekuensi pembaruan:", + "check_startup": "Periksa setiap startup (minimal 1 jam antara pemeriksaan)", + "check_daily": "Periksa harian", + "check_weekly": "Periksa mingguan", + "check_updates_now": "Periksa pembaruan sekarang", + "update_check_title": "Pemeriksaan pembaruan", + "could_not_determine_version": "Tidak dapat menentukan versi yt-dlp saat ini.", + "update_available_dialog": "Pembaruan tersedia!\n\nSaat ini: {current}\nTerbaru: {latest}\n\nGunakan tombol 'Perbarui yt-dlp' di jendela utama untuk memperbarui.", + "up_to_date_dialog": "yt-dlp sudah terbaru!\n\nVersi saat ini: {version}", + "error_checking_updates": "Kesalahan memeriksa pembaruan: {error}", + "settings_saved_title": "Pengaturan disimpan", + "settings_saved_message": "Pengaturan pembaruan otomatis berhasil disimpan!", + "error_title": "Kesalahan", + "failed_save_settings": "Gagal menyimpan pengaturan pembaruan otomatis.", + "error_saving_settings": "Kesalahan menyimpan pengaturan pembaruan otomatis: {error}", + "auto_update_title": "Pengaturan pembaruan otomatis", + "auto_update_header": "🔄 Pengaturan pembaruan otomatis", + "auto_update_description": "Konfigurasi pembaruan otomatis untuk yt-dlp untuk memastikan Anda selalu memiliki fitur dan perbaikan bug terbaru.", + "current_status": "Status saat ini", + "current_version_label": "Versi yt-dlp saat ini: Memeriksa...", + "last_check_label": "Pemeriksaan pembaruan terakhir: Tidak pernah", + "next_check_label": "Pemeriksaan berikutnya: Berdasarkan pengaturan", + "manual_check_button": "🔍 Periksa pembaruan sekarang", + "update_frequency_group": "Frekuensi pembaruan", + "save_settings": "Simpan pengaturan", + "settings_saved_successfully": "✅ Pengaturan berhasil disimpan!", + "error_saving": "❌ Kesalahan menyimpan pengaturan: {error}" + }, + "main_ui": { + "url_placeholder": "Masukkan URL video atau playlist YouTube", + "merge_subtitles": "Gabungkan subtitle", + "save_thumbnail": "Simpan thumbnail", + "save_description": "Simpan deskripsi", + "embed_chapters": "Sematkan bab", + "subtitles_selected": "{count} dipilih", + "all_selected": "Semua dipilih", + "select_videos_all": "Pilih video... (Semua dipilih)", + "please_enter_url": "Silakan masukkan URL terlebih dahulu", + "cookie_file_selected_title": "File cookie dipilih", + "cookie_file_selected_message": "File cookie dipilih: {path}", + "browser_cookies_selected_title": "Cookies browser dipilih", + "browser_cookies_selected_message": "Cookies browser akan diekstrak dari: {browser}", + "error_no_format_info": "Kesalahan: Tidak ada informasi format yang tersedia.", + "error_extract_info": "Kesalahan: Tidak dapat mengekstrak informasi video dasar. Silakan periksa tautan Anda.", + "analyzing_preparing": "Menganalisis (0%)... Mempersiapkan permintaan", + "analyzing_extracting_basic": "Menganalisis (15%)... Mengekstrak informasi dasar", + "analyzing_extracting_detailed": "Menganalisis (30%)... Mengekstrak informasi detail", + "analyzing_processing_video": "Menganalisis (45%)... Memproses data video", + "analyzing_processing_formats": "Menganalisis (60%)... Memproses format", + "analyzing_loading_thumbnail": "Menganalisis (75%)... Memuat thumbnail", + "analyzing_processing_subtitles": "Menganalisis (85%)... Memproses subtitle", + "analyzing_updating_table": "Menganalisis (95%)... Memperbarui tabel format", + "analysis_complete": "Analisis selesai!", + "analyzing_extracting_ytdlp": "Menganalisis (30%)... Mengekstrak informasi dengan executable yt-dlp", + "analyzing_processing_data": "Menganalisis (60%)... Memproses data", + "analyzing_processing_formats_ytdlp": "Menganalisis (75%)... Memproses format", + "analyzing_loading_thumbnail_ytdlp": "Menganalisis (85%)... Memuat thumbnail", + "analyzing_processing_subtitles_ytdlp": "Menganalisis (90%)... Memproses subtitle", + "select_subtitles": "Pilih subtitle...", + "sponsorblock_categories": "Kategori SponsorBlock..." + }, + "sponsorblock": { + "sponsor": "Sponsor", + "sponsor_desc": "Iklan berbayar, rekomendasi berbayar dan iklan langsung", + "selfpromo": "Promosi diri tidak berbayar", + "selfpromo_desc": "Iklan tidak berbayar untuk konten kreator sendiri", + "interaction": "Pengingat interaksi", + "interaction_desc": "Pemirsa diminta untuk menyukai, berlangganan atau mengikuti media sosial", + "intro": "Intro", + "intro_desc": "Intro video yang dapat dilewati", + "outro": "Outro/Kartu akhir", + "outro_desc": "Kredit atau saat video berakhir", + "preview": "Pratinjau/Ringkasan", + "preview_desc": "Ringkasan singkat video sebelumnya atau pratinjau konten mendatang", + "music_offtopic": "Bagian non-musik", + "music_offtopic_desc": "Hanya untuk video musik. Menandai bagian non-musik", + "filler": "Tangensial pengisi", + "filler_desc": "Adegan tangensial yang ditambahkan hanya sebagai pengisi atau untuk humor" + }, + "video_info": { + "channel": "Saluran", + "views": "Tayangan", + "likes": "Suka", + "upload_date": "Tanggal upload", + "duration": "Durasi", + "unknown_channel": "Saluran tidak diketahui", + "unknown_date": "Tanggal tidak diketahui", + "unknown_title": "Judul tidak diketahui" + }, + "command": { + "running": "Berjalan...", + "run_command": "Jalankan perintah" + }, + "selection": { + "none_selected": "0 dipilih", + "one_selected": "1 kategori dipilih", + "count_selected": "{count} dipilih" + }, + "status": { + "ready": "Siap", + "file_exists": "⚠️ File sudah ada", + "cancelling": "Membatalkan unduhan..." + } +} \ No newline at end of file diff --git a/languages/pt.json b/languages/pt.json index 51926f9..f543a70 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -12,6 +12,7 @@ "german": "Alemão", "french": "Francês", "hindi": "Hindi", + "indonesian": "Indonésio", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index 8496465..a7957d2 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -12,6 +12,7 @@ "german": "Немецкий", "french": "Французский", "hindi": "Хинди", + "indonesian": "Индонезийский", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/zh.json b/languages/zh.json index 22fbd41..b4f548a 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -12,6 +12,7 @@ "german": "德语", "french": "法语", "hindi": "印地语", + "indonesian": "印尼语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index c95f9e5..8341b76 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -266,13 +266,13 @@ class FormatTableMixin: quality_item = QTableWidgetItem(quality_text) # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, and French terms) quality_lower = quality_text.lower() # Make comparison case-insensitive - if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम"]): + if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता"]): + elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index a424c29..767be24 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -87,7 +87,8 @@ class LocalizationManager: "chinese": "中文 (简体) (Chinese Simplified)", "german": "Deutsch (German)", "french": "Français (French)", - "hindi": "हिन्दी (Hindi)" + "hindi": "हिन्दी (Hindi)", + "indonesian": "Bahasa Indonesia (Indonesian)" }, "download": { "preparing": "🚀 Preparing your download...", From fdbb4a6972661a1ab2cb2c64a04dc3936391815c Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 22:28:27 +0300 Subject: [PATCH 220/568] Add Turkish localization and update language support Added Turkish translations in languages/tr.json and updated all other language files to include Turkish in the language selection. Updated format table color logic in ytsage_gui_format_table.py to recognize Turkish quality terms. Also updated ytsage_localization.py to include Turkish in the default language list. --- languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 3 +- languages/fr.json | 1 + languages/hi.json | 1 + languages/id.json | 1 + languages/pt.json | 1 + languages/ru.json | 1 + languages/tr.json | 334 +++++++++++++++++++++++++++++ languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 8 +- src/utils/ytsage_localization.py | 3 +- 12 files changed, 350 insertions(+), 6 deletions(-) create mode 100644 languages/tr.json diff --git a/languages/de.json b/languages/de.json index cd5afd5..20ba41e 100644 --- a/languages/de.json +++ b/languages/de.json @@ -13,6 +13,7 @@ "french": "Französisch", "hindi": "Hindi", "indonesian": "Indonesisch", + "turkish": "Türkisch", "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." }, diff --git a/languages/en.json b/languages/en.json index 6afc55d..079a9b1 100644 --- a/languages/en.json +++ b/languages/en.json @@ -13,6 +13,7 @@ "french": "Français (French)", "hindi": "हिन्दी (Hindi)", "indonesian": "Bahasa Indonesia (Indonesian)", + "turkish": "Türkçe (Turkish)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index f946981..8b6a406 100644 --- a/languages/es.json +++ b/languages/es.json @@ -12,7 +12,8 @@ "german": "Deutsch (German)", "french": "Français (French)", "hindi": "Hindi", - "indonesian": "Indonesio" + "indonesian": "Indonesio", + "turkish": "Turco" }, "app": { "title": "YTSage", diff --git a/languages/fr.json b/languages/fr.json index 7cb1d51..5bc33b4 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -13,6 +13,7 @@ "french": "Français", "hindi": "Hindi", "indonesian": "Indonésien", + "turkish": "Turc", "help_text": "Sélectionnez votre langue préférée pour l'interface.", "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." }, diff --git a/languages/hi.json b/languages/hi.json index 24b08b5..13d9abe 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -13,6 +13,7 @@ "french": "फ्रेंच", "hindi": "हिन्दी", "indonesian": "इंडोनेशियाई", + "turkish": "तुर्की", "help_text": "इंटरफेस के लिए अपनी पसंदीदा भाषा चुनें।", "restart_notice": "भाषा परिवर्तन एप्लिकेशन पुनरारंभ के बाद प्रभावी होगा।" }, diff --git a/languages/id.json b/languages/id.json index 2346e5b..d450e2f 100644 --- a/languages/id.json +++ b/languages/id.json @@ -13,6 +13,7 @@ "french": "Bahasa Prancis", "hindi": "Bahasa Hindi", "indonesian": "Bahasa Indonesia", + "turkish": "Bahasa Turki", "help_text": "Pilih bahasa yang diinginkan untuk antarmuka.", "restart_notice": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi." }, diff --git a/languages/pt.json b/languages/pt.json index f543a70..44d7b17 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -13,6 +13,7 @@ "french": "Francês", "hindi": "Hindi", "indonesian": "Indonésio", + "turkish": "Turco", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index a7957d2..60cb2c7 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -13,6 +13,7 @@ "french": "Французский", "hindi": "Хинди", "indonesian": "Индонезийский", + "turkish": "Турецкий", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/tr.json b/languages/tr.json new file mode 100644 index 0000000..de30198 --- /dev/null +++ b/languages/tr.json @@ -0,0 +1,334 @@ +{ + "language": { + "display_name": "Türkçe (Turkish)", + "select_language": "Dil Seç:", + "current_language": "Mevcut dil: {language}", + "restart_required": "Dil değişikliği uygulamayı yeniden başlattıktan sonra geçerli olacaktır.", + "english": "İngilizce", + "spanish": "İspanyolca", + "portuguese": "Portekizce", + "russian": "Rusça", + "chinese": "Çince", + "german": "Almanca", + "french": "Fransızca", + "hindi": "Hintçe", + "indonesian": "Endonezce", + "turkish": "Türkçe", + "help_text": "Arayüz için tercih ettiğiniz dili seçin.", + "restart_notice": "Dil değişikliği uygulamayı yeniden başlattıktan sonra geçerli olacaktır." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Hazır" + }, + "formats": { + "show_formats": "Formatları göster:", + "video_format": "Video formatı:", + "audio_format": "Ses formatı:", + "no_formats": "Kullanılabilir format yok", + "loading": "Formatlar yükleniyor...", + "select": "Seç", + "quality": "Kalite", + "extension": "Uzantı", + "resolution": "Çözünürlük", + "file_size": "Dosya boyutu", + "codec": "Codec", + "audio": "Ses", + "notes": "Notlar", + "will_merge_audio": "Ses birleştirilecek", + "has_audio": "✓ Ses var", + "audio_only": "Sadece ses", + "large_size": "Büyük boyut", + "medium_size": "Orta boyut", + "standard_size": "Standart boyut", + "compatible": "Uyumlu", + "efficient": "Verimli", + "high_quality": "Yüksek kalite", + "best_4k": "En iyi (4K)", + "best_2k": "En iyi (2K)", + "high_1080p": "Yüksek (1080p)", + "high_720p": "Yüksek (720p)", + "medium_480p": "Orta (480p)", + "low_quality": "Düşük kalite", + "best_audio": "En iyi ses", + "high_audio": "Yüksek ses", + "medium_audio": "Orta ses", + "low_audio": "Düşük ses", + "audio_only_resolution": "Sadece ses" + }, + "buttons": { + "download": "İndir", + "pause": "Duraklat", + "resume": "Devam Et", + "cancel": "İptal", + "browse": "Gözat", + "clear": "Temizle", + "ok": "Tamam", + "apply": "Uygula", + "close": "Kapat", + "run_command": "Komutu çalıştır", + "custom_command_help": "Yardım", + "about": "Hakkında", + "analyze": "Analiz Et", + "paste_url": "URL Yapıştır", + "select_videos": "Video seç...", + "video": "Video", + "audio_only": "Sadece ses", + "custom_options": "Özel seçenekler", + "trim_video": "Videoyu kırp", + "download_settings": "İndirme ayarları", + "update": "yt-dlp'yi güncelle", + "select_defaults": "Varsayılanları seç", + "select_all": "Tümünü seç", + "deselect_all": "Tüm seçimi kaldır" + }, + "dialogs": { + "custom_options": "Özel seçenekler", + "settings": "Ayarlar", + "select_folder": "İndirme klasörünü seç", + "sponsorblock_categories": "SponsorBlock kategorileri", + "sponsorblock_description": "İndirme sırasında otomatik olarak kaldırılacak video bölümlerinin türlerini seçin.\nSponsorBlock bu bölümleri belirlemek için topluluk tarafından gönderilen verileri kullanır.", + "select_subtitles": "Altyazı seç", + "filter_languages_placeholder": "Dilleri filtrele (örn: tr, en)...", + "no_subtitles_available": "Altyazı mevcut değil", + "matching": "eşleşen" + }, + "tabs": { + "cookies": "Çerezlerle giriş yap", + "custom_command": "Özel komut", + "proxy": "Proxy", + "language": "Dil" + }, + "cookies": { + "help_text": "Kimlik doğrulama için çerezlerin nasıl sağlanacağını seçin.\nBu, özel videoları ve yüksek kaliteli ses dosyalarını indirmeyi sağlar.", + "cookie_source": "Çerez kaynağı", + "use_cookie_file": "Çerez dosyası kullan", + "extract_from_browser": "Tarayıcıdan çıkar", + "cookie_file": "Çerez dosyası", + "cookie_file_placeholder": "cookies.txt dosya yolu...", + "browser_selection": "Tarayıcı seçimi", + "browser_help": "Çerezleri çıkaracak tarayıcıyı seçin:", + "browser_label": "Tarayıcı:", + "profile_label": "Profil:", + "profile_placeholder": "Varsayılan", + "browser_extract_message": "Tarayıcı çerezleri uygulandığında çıkarılacak", + "file_selected_message": "Çerez dosyası seçildi - Uygulamak için Tamam'a tıklayın", + "select_file_title": "Çerez dosyası seç", + "file_filter": "Çerez dosyaları (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Özel yt-dlp komutunuzu aşağıya girin. Mevcut URL otomatik olarak eklenecektir.

Seçeneklerin tam listesi ve kullanım örnekleri için resmi yt-dlp belgelerini görmek için buraya tıklayın.

Not: İndirme yolu ve dosya adı şablonu otomatik olarak işlenir.", + "input_label": "yt-dlp argümanları:", + "input_placeholder": "yt-dlp argümanlarını buraya girin...\n\nÖrnek: --extract-audio --audio-format mp3", + "output_label": "Komut çıktısı:", + "output_placeholder": "Komut çıktısı burada görünecek...", + "command_placeholder": "Özel yt-dlp komutunu girin...", + "command_help": "Mevcut yer tutucular:\n{url} - Video URL'si\n{output} - Çıktı klasörü\n\nÖrnek: --write-info-json --write-thumbnail", + "full_command": "🔧 Tam komut: {command}", + "command_success": "✅ Özel komut başarıyla çalıştırıldı!", + "command_failed": "❌ Komut {code} çıkış koduyla başarısız oldu", + "command_error": "❌ Özel komut çalıştırma hatası: {error}" + }, + "proxy": { + "help_text": "İndirmeler için proxy ayarlarını yapılandırın. Doğrudan bağlantı için boş bırakın.", + "main_proxy": "Ana proxy", + "main_proxy_help": "Tüm indirmeler için birincil proxy sunucusu. HTTP/HTTPS ve SOCKS5 protokollerini destekler.", + "proxy_url_label": "Proxy URL:", + "proxy_url_placeholder": "http://proxy:port veya socks5://proxy:port", + "proxy_examples": "Örnekler:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "Coğrafi atlama proxy'si", + "geo_proxy_help": "Coğrafi kısıtlamaları atlamak için ikincil proxy.", + "geo_proxy_url_label": "Coğrafi atlama proxy URL'si:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "Ana proxy'yi temizle", + "clear_geo_proxy": "Coğrafi proxy'yi temizle", + "proxy_url": "Proxy URL", + "proxy_placeholder": "http://proxy:port veya socks5://proxy:port", + "geo_bypass": "Coğrafi atlama proxy'si (coğrafi kısıtlamalar için)", + "geo_bypass_placeholder": "http://proxy:port coğrafi engellemeyi atlamak için", + "invalid_main_url": "Geçersiz ana proxy URL formatı", + "invalid_geo_url": "Geçersiz coğrafi proxy URL formatı", + "main_configured": "Ana proxy yapılandırıldı", + "geo_configured": "Coğrafi proxy yapılandırıldı" + }, + "download": { + "preparing": "İndirme hazırlanıyor...", + "please_enter_url": "Lütfen önce bir URL girin.", + "please_set_path": "Lütfen önce indirme yolunu ayarlayın.", + "please_enter_url_and_path": "Lütfen bir URL girin ve indirme yolunu ayarlayın.", + "please_select_format": "Lütfen önce bir format seçin." + }, + "update": { + "title": "yt-dlp'yi güncelle", + "checking": "Güncellemeler kontrol ediliyor...", + "update_available": "Güncelleme mevcut!\nMevcut sürüm: {current}\nEn son sürüm: {latest}", + "up_to_date": "yt-dlp güncel (Sürüm {version})", + "could_not_determine": "Sürümler belirlenemedi.", + "error_comparing": "Sürüm karşılaştırma hatası: {error}", + "update_available_failed": "Güncelleme mevcut! (Karşılaştırma başarısız)\nMevcut: {current}\nEn son: {latest}", + "updating": "Güncelleniyor...", + "initializing": "🚀 Güncelleme işlemi başlatılıyor...", + "checking_current": "🔍 Mevcut kurulum kontrol ediliyor...", + "found_at": "📍 yt-dlp bulundu: {path}", + "error_getting_path": "❌ yt-dlp yolu alma hatası: {error}", + "updating_binary": "📦 Uygulama yönetimli yt-dlp binary'si güncelleniyor...", + "updating_pip": "🐍 pip aracılığıyla sistem yt-dlp'si güncelleniyor...", + "update_failed": "❌ yt-dlp güncellemesi başarısız. Lütfen tekrar deneyin veya internet bağlantınızı kontrol edin.", + "binary_updated": "✅ Binary başarıyla güncellendi!", + "update_failed_stderr": "❌ yt-dlp güncellemesi başarısız: {error}", + "update_timeout": "❌ yt-dlp güncelleme zaman aşımı.", + "unexpected_error": "❌ Güncelleme sırasında beklenmeyen hata: {error}", + "checking_pip": "🔍 Mevcut pip kurulumu kontrol ediliyor...", + "current_version": "📋 Mevcut sürüm: {version}", + "not_found_pip": "⚠️ yt-dlp pip aracılığıyla bulunamadı, kurulum deneniyor...", + "checking_latest": "🌐 En son sürüm kontrol ediliyor...", + "failed_check_updates": "❌ Güncelleme kontrolü başarısız", + "latest_version": "🆕 En son sürüm: {version}", + "updating_from_to": "⬆️ {current}'den {latest}'e güncelleniyor...", + "running_pip_install": "📦 pip install --upgrade çalıştırılıyor...", + "pip_completed": "✅ Pip güncellemesi başarıyla tamamlandı!", + "pip_failed": "❌ Pip güncellemesi başarısız: {error}" + }, + "about": { + "title": "YTSage Hakkında", + "version": "Sürüm {version}", + "description": "Temiz PySide6 arayüzü ile modern YouTube indiricisi.", + "author": "Yapımcı: {author}", + "github": "GitHub: {repo}", + "system_info": "Sistem bilgileri", + "loading": "🔄 Sistem bilgileri yükleniyor...", + "refresh": "🔄", + "refreshing": "🔄 Yenileniyor...", + "refresh_failed": "Yenileme başarısız", + "refresh_failed_message": "Sürüm bilgileri yenilenemedi.", + "detected": "✓ Algılandı", + "missing": "✗ Eksik", + "not_available": "Mevcut değil" + }, + "time_range": { + "title": "Videoyu kırp", + "time_range_group": "Zaman aralığı", + "start_time": "Başlama zamanı (SS:DD:SS)", + "end_time": "Bitiş zamanı (SS:DD:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "Başlama zamanı (SS:DD:SS)", + "end_time_placeholder": "Bitiş zamanı (SS:DD:SS)", + "force_keyframes": "Kesim noktalarında anahtar kareleri zorla", + "help_text": "Videoyu kırpmak için başlama ve bitiş zamanlarını ayarlayın.\nTam videoyu indirmek için boş bırakın.", + "invalid_format": "Geçersiz zaman formatı. SS:DD:SS formatını kullanın.", + "start_after_end": "Başlama zamanı bitiş zamanından sonra olamaz." + }, + "settings": { + "title": "İndirme ayarları", + "download_path": "İndirme yolu", + "browse": "Gözat...", + "speed_limit": "Hız sınırı", + "speed_limit_placeholder": "Yok", + "auto_update_ytdlp": "yt-dlp otomatik güncelleme", + "enable_auto_updates": "yt-dlp otomatik güncellemelerini etkinleştir", + "update_frequency": "Güncelleme sıklığı:", + "check_startup": "Her başlangıçta kontrol et (kontroller arası en az 1 saat)", + "check_daily": "Günlük kontrol et", + "check_weekly": "Haftalık kontrol et", + "check_updates_now": "Şimdi güncellemeleri kontrol et", + "update_check_title": "Güncelleme kontrolü", + "could_not_determine_version": "Mevcut yt-dlp sürümü belirlenemedi.", + "update_available_dialog": "Güncelleme mevcut!\n\nMevcut: {current}\nEn son: {latest}\n\nGüncellemek için ana penceredeki 'yt-dlp'yi güncelle' düğmesini kullanın.", + "up_to_date_dialog": "yt-dlp güncel!\n\nMevcut sürüm: {version}", + "error_checking_updates": "Güncelleme kontrol hatası: {error}", + "settings_saved_title": "Ayarlar kaydedildi", + "settings_saved_message": "Otomatik güncelleme ayarları başarıyla kaydedildi!", + "error_title": "Hata", + "failed_save_settings": "Otomatik güncelleme ayarları kaydedilemedi.", + "error_saving_settings": "Otomatik güncelleme ayarları kaydetme hatası: {error}", + "auto_update_title": "Otomatik güncelleme ayarları", + "auto_update_header": "🔄 Otomatik güncelleme ayarları", + "auto_update_description": "En son özelliklere ve hata düzeltmelerine sahip olmak için yt-dlp otomatik güncellemelerini yapılandırın.", + "current_status": "Mevcut durum", + "current_version_label": "Mevcut yt-dlp sürümü: Kontrol ediliyor...", + "last_check_label": "Son güncelleme kontrolü: Hiç", + "next_check_label": "Sonraki kontrol: Ayarlara göre", + "manual_check_button": "🔍 Şimdi güncellemeleri kontrol et", + "update_frequency_group": "Güncelleme sıklığı", + "save_settings": "Ayarları kaydet", + "settings_saved_successfully": "✅ Ayarlar başarıyla kaydedildi!", + "error_saving": "❌ Ayarları kaydetme hatası: {error}" + }, + "main_ui": { + "url_placeholder": "YouTube video veya oynatma listesi URL'sini girin", + "merge_subtitles": "Altyazıları birleştir", + "save_thumbnail": "Küçük resmi kaydet", + "save_description": "Açıklamayı kaydet", + "embed_chapters": "Bölümleri göm", + "subtitles_selected": "{count} seçildi", + "all_selected": "Tümü seçildi", + "select_videos_all": "Video seç... (Tümü seçildi)", + "please_enter_url": "Lütfen önce bir URL girin", + "cookie_file_selected_title": "Çerez dosyası seçildi", + "cookie_file_selected_message": "Çerez dosyası seçildi: {path}", + "browser_cookies_selected_title": "Tarayıcı çerezleri seçildi", + "browser_cookies_selected_message": "Tarayıcı çerezleri şuradan çıkarılacak: {browser}", + "error_no_format_info": "Hata: Format bilgisi mevcut değil.", + "error_extract_info": "Hata: Temel video bilgileri çıkarılamadı. Lütfen bağlantınızı kontrol edin.", + "analyzing_preparing": "Analiz ediliyor (0%)... İstek hazırlanıyor", + "analyzing_extracting_basic": "Analiz ediliyor (15%)... Temel bilgiler çıkarılıyor", + "analyzing_extracting_detailed": "Analiz ediliyor (30%)... Ayrıntılı bilgiler çıkarılıyor", + "analyzing_processing_video": "Analiz ediliyor (45%)... Video verisi işleniyor", + "analyzing_processing_formats": "Analiz ediliyor (60%)... Formatlar işleniyor", + "analyzing_loading_thumbnail": "Analiz ediliyor (75%)... Küçük resim yükleniyor", + "analyzing_processing_subtitles": "Analiz ediliyor (85%)... Altyazılar işleniyor", + "analyzing_updating_table": "Analiz ediliyor (95%)... Format tablosu güncelleniyor", + "analysis_complete": "Analiz tamamlandı!", + "analyzing_extracting_ytdlp": "Analiz ediliyor (30%)... yt-dlp çalıştırılabiliri ile bilgiler çıkarılıyor", + "analyzing_processing_data": "Analiz ediliyor (60%)... Veriler işleniyor", + "analyzing_processing_formats_ytdlp": "Analiz ediliyor (75%)... Formatlar işleniyor", + "analyzing_loading_thumbnail_ytdlp": "Analiz ediliyor (85%)... Küçük resim yükleniyor", + "analyzing_processing_subtitles_ytdlp": "Analiz ediliyor (90%)... Altyazılar işleniyor", + "select_subtitles": "Altyazı seç...", + "sponsorblock_categories": "SponsorBlock kategorileri..." + }, + "sponsorblock": { + "sponsor": "Sponsor", + "sponsor_desc": "Ücretli reklamlar, ücretli öneriler ve doğrudan reklamlar", + "selfpromo": "Ücretsiz/Kendi tanıtımı", + "selfpromo_desc": "Yaratıcının kendi içeriği için ücretsiz tanıtım", + "interaction": "Etkileşim hatırlatıcısı", + "interaction_desc": "İzleyicilerden beğeni, abone olma veya sosyal medya takibi istenir", + "intro": "Giriş", + "intro_desc": "Atlanabilir video girişi", + "outro": "Son/Son kartları", + "outro_desc": "Jenerik veya video bittiğinde", + "preview": "Önizleme/Özet", + "preview_desc": "Önceki videoların kısa özeti veya gelecek içeriğin önizlemesi", + "music_offtopic": "Müzik dışı bölüm", + "music_offtopic_desc": "Sadece müzik videoları için. Müzik dışı bölümleri işaretler", + "filler": "Dolgu teğet", + "filler_desc": "Sadece dolgu veya mizah için eklenen teğet sahneler" + }, + "video_info": { + "channel": "Kanal", + "views": "Görüntülenme", + "likes": "Beğeni", + "upload_date": "Yükleme tarihi", + "duration": "Süre", + "unknown_channel": "Bilinmeyen kanal", + "unknown_date": "Bilinmeyen tarih", + "unknown_title": "Bilinmeyen başlık" + }, + "command": { + "running": "Çalışıyor...", + "run_command": "Komutu çalıştır" + }, + "selection": { + "none_selected": "0 seçildi", + "one_selected": "1 kategori seçildi", + "count_selected": "{count} seçildi" + }, + "status": { + "ready": "Hazır", + "file_exists": "⚠️ Dosya zaten mevcut", + "cancelling": "İndirme iptal ediliyor..." + } +} \ No newline at end of file diff --git a/languages/zh.json b/languages/zh.json index b4f548a..c1cc026 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -13,6 +13,7 @@ "french": "法语", "hindi": "印地语", "indonesian": "印尼语", + "turkish": "土耳其语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 8341b76..07101d7 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -266,13 +266,13 @@ class FormatTableMixin: quality_item = QTableWidgetItem(quality_text) # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, and French terms) quality_lower = quality_text.lower() # Make comparison case-insensitive - if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik"]): + if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah"]): + elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 767be24..772cc5e 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -88,7 +88,8 @@ class LocalizationManager: "german": "Deutsch (German)", "french": "Français (French)", "hindi": "हिन्दी (Hindi)", - "indonesian": "Bahasa Indonesia (Indonesian)" + "indonesian": "Bahasa Indonesia (Indonesian)", + "turkish": "Türkçe (Turkish)" }, "download": { "preparing": "🚀 Preparing your download...", From 828f105c927ad1b63894759bfaf88c633f45e810 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 22:38:29 +0300 Subject: [PATCH 221/568] Add Polish localization and update quality color mapping Added Polish translations in a new pl.json file and updated all language files to include 'polish' in the language selection. Extended the quality color mapping in ytsage_gui_format_table.py to recognize Polish terms for best, high, medium, and low quality. Updated the default language list in ytsage_localization.py to include Polish. --- languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 3 +- languages/fr.json | 1 + languages/hi.json | 1 + languages/id.json | 1 + languages/pl.json | 335 +++++++++++++++++++++++++++++ languages/pt.json | 1 + languages/ru.json | 1 + languages/tr.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 10 +- src/utils/ytsage_localization.py | 3 +- 13 files changed, 353 insertions(+), 7 deletions(-) create mode 100644 languages/pl.json diff --git a/languages/de.json b/languages/de.json index 20ba41e..ec5bf7a 100644 --- a/languages/de.json +++ b/languages/de.json @@ -14,6 +14,7 @@ "hindi": "Hindi", "indonesian": "Indonesisch", "turkish": "Türkisch", + "polish": "Polnisch", "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." }, diff --git a/languages/en.json b/languages/en.json index 079a9b1..3703c12 100644 --- a/languages/en.json +++ b/languages/en.json @@ -14,6 +14,7 @@ "hindi": "हिन्दी (Hindi)", "indonesian": "Bahasa Indonesia (Indonesian)", "turkish": "Türkçe (Turkish)", + "polish": "Polski (Polish)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index 8b6a406..1ac9ea2 100644 --- a/languages/es.json +++ b/languages/es.json @@ -13,7 +13,8 @@ "french": "Français (French)", "hindi": "Hindi", "indonesian": "Indonesio", - "turkish": "Turco" + "turkish": "Turco", + "polish": "Polaco" }, "app": { "title": "YTSage", diff --git a/languages/fr.json b/languages/fr.json index 5bc33b4..080642f 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -14,6 +14,7 @@ "hindi": "Hindi", "indonesian": "Indonésien", "turkish": "Turc", + "polish": "Polonais", "help_text": "Sélectionnez votre langue préférée pour l'interface.", "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." }, diff --git a/languages/hi.json b/languages/hi.json index 13d9abe..59a5fd6 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -14,6 +14,7 @@ "hindi": "हिन्दी", "indonesian": "इंडोनेशियाई", "turkish": "तुर्की", + "polish": "पोलिश", "help_text": "इंटरफेस के लिए अपनी पसंदीदा भाषा चुनें।", "restart_notice": "भाषा परिवर्तन एप्लिकेशन पुनरारंभ के बाद प्रभावी होगा।" }, diff --git a/languages/id.json b/languages/id.json index d450e2f..349d0b7 100644 --- a/languages/id.json +++ b/languages/id.json @@ -14,6 +14,7 @@ "hindi": "Bahasa Hindi", "indonesian": "Bahasa Indonesia", "turkish": "Bahasa Turki", + "polish": "Bahasa Polandia", "help_text": "Pilih bahasa yang diinginkan untuk antarmuka.", "restart_notice": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi." }, diff --git a/languages/pl.json b/languages/pl.json new file mode 100644 index 0000000..05afb02 --- /dev/null +++ b/languages/pl.json @@ -0,0 +1,335 @@ +{ + "language": { + "display_name": "Polski (Polish)", + "select_language": "Wybierz język:", + "current_language": "Aktualny język: {language}", + "restart_required": "Zmiana języka zostanie zastosowana po ponownym uruchomieniu aplikacji.", + "english": "Angielski", + "spanish": "Hiszpański", + "portuguese": "Portugalski", + "russian": "Rosyjski", + "chinese": "Chiński", + "german": "Niemiecki", + "french": "Francuski", + "hindi": "Hindi", + "indonesian": "Indonezyjski", + "turkish": "Turecki", + "polish": "Polski", + "help_text": "Wybierz preferowany język interfejsu.", + "restart_notice": "Zmiana języka zostanie zastosowana po ponownym uruchomieniu aplikacji." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Gotowy" + }, + "formats": { + "show_formats": "Pokaż formaty:", + "video_format": "Format wideo:", + "audio_format": "Format dźwięku:", + "no_formats": "Brak dostępnych formatów", + "loading": "Ładowanie formatów...", + "select": "Wybierz", + "quality": "Jakość", + "extension": "Rozszerzenie", + "resolution": "Rozdzielczość", + "file_size": "Rozmiar pliku", + "codec": "Kodek", + "audio": "Dźwięk", + "notes": "Notatki", + "will_merge_audio": "Dźwięk zostanie połączony", + "has_audio": "✓ Zawiera dźwięk", + "audio_only": "Tylko dźwięk", + "large_size": "Duży rozmiar", + "medium_size": "Średni rozmiar", + "standard_size": "Standardowy rozmiar", + "compatible": "Zgodny", + "efficient": "Wydajny", + "high_quality": "Wysoka jakość", + "best_4k": "Najlepsza (4K)", + "best_2k": "Najlepsza (2K)", + "high_1080p": "Wysoka (1080p)", + "high_720p": "Wysoka (720p)", + "medium_480p": "Średnia (480p)", + "low_quality": "Niska jakość", + "best_audio": "Najlepszy dźwięk", + "high_audio": "Wysoki dźwięk", + "medium_audio": "Średni dźwięk", + "low_audio": "Niski dźwięk", + "audio_only_resolution": "Tylko dźwięk" + }, + "buttons": { + "download": "Pobierz", + "pause": "Wstrzymaj", + "resume": "Wznów", + "cancel": "Anuluj", + "browse": "Przeglądaj", + "clear": "Wyczyść", + "ok": "OK", + "apply": "Zastosuj", + "close": "Zamknij", + "run_command": "Uruchom polecenie", + "custom_command_help": "Pomoc", + "about": "O programie", + "analyze": "Analizuj", + "paste_url": "Wklej URL", + "select_videos": "Wybierz wideo...", + "video": "Wideo", + "audio_only": "Tylko dźwięk", + "custom_options": "Opcje niestandardowe", + "trim_video": "Przytnij wideo", + "download_settings": "Ustawienia pobierania", + "update": "Zaktualizuj yt-dlp", + "select_defaults": "Wybierz domyślne", + "select_all": "Zaznacz wszystko", + "deselect_all": "Odznacz wszystko" + }, + "dialogs": { + "custom_options": "Opcje niestandardowe", + "settings": "Ustawienia", + "select_folder": "Wybierz folder pobierania", + "sponsorblock_categories": "Kategorie SponsorBlock", + "sponsorblock_description": "Wybierz typy segmentów wideo do automatycznego usunięcia podczas pobierania.\nSponsorBlock używa danych przesyłanych przez społeczność do identyfikacji tych segmentów.", + "select_subtitles": "Wybierz napisy", + "filter_languages_placeholder": "Filtruj języki (np: pl, en)...", + "no_subtitles_available": "Brak dostępnych napisów", + "matching": "dopasowujące" + }, + "tabs": { + "cookies": "Zaloguj za pomocą ciasteczek", + "custom_command": "Polecenie niestandardowe", + "proxy": "Proxy", + "language": "Język" + }, + "cookies": { + "help_text": "Wybierz sposób dostarczania ciasteczek do uwierzytelniania.\nUmożliwia to pobieranie prywatnych filmów i wysokiej jakości plików audio.", + "cookie_source": "Źródło ciasteczek", + "use_cookie_file": "Użyj pliku ciasteczek", + "extract_from_browser": "Wyodrębnij z przeglądarki", + "cookie_file": "Plik ciasteczek", + "cookie_file_placeholder": "Ścieżka do pliku cookies.txt...", + "browser_selection": "Wybór przeglądarki", + "browser_help": "Wybierz przeglądarkę do wyodrębnienia ciasteczek:", + "browser_label": "Przeglądarka:", + "profile_label": "Profil:", + "profile_placeholder": "Domyślny", + "browser_extract_message": "Ciasteczka przeglądarki zostaną wyodrębnione po zastosowaniu", + "file_selected_message": "Wybrano plik ciasteczek - Kliknij OK, aby zastosować", + "select_file_title": "Wybierz plik ciasteczek", + "file_filter": "Pliki ciasteczek (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Wprowadź niestandardowe polecenie yt-dlp poniżej. Aktualny URL zostanie automatycznie dodany.

Aby uzyskać pełną listę opcji i przykładów użycia kliknij tutaj, aby zobaczyć oficjalną dokumentację yt-dlp.

Uwaga: Ścieżka pobierania i szablon nazwy pliku są obsługiwane automatycznie.", + "input_label": "Argumenty yt-dlp:", + "input_placeholder": "Wprowadź argumenty yt-dlp tutaj...\n\nPrzykład: --extract-audio --audio-format mp3", + "output_label": "Wynik polecenia:", + "output_placeholder": "Wynik polecenia pojawi się tutaj...", + "command_placeholder": "Wprowadź niestandardowe polecenie yt-dlp...", + "command_help": "Dostępne placeholdery:\n{url} - URL wideo\n{output} - Folder wyjściowy\n\nPrzykład: --write-info-json --write-thumbnail", + "full_command": "🔧 Pełne polecenie: {command}", + "command_success": "✅ Polecenie niestandardowe wykonane pomyślnie!", + "command_failed": "❌ Polecenie nie powiodło się z kodem wyjścia {code}", + "command_error": "❌ Błąd wykonywania polecenia niestandardowego: {error}" + }, + "proxy": { + "help_text": "Skonfiguruj ustawienia proxy dla pobierania. Pozostaw puste dla bezpośredniego połączenia.", + "main_proxy": "Główny proxy", + "main_proxy_help": "Główny serwer proxy dla wszystkich pobierań. Obsługuje protokoły HTTP/HTTPS i SOCKS5.", + "proxy_url_label": "URL Proxy:", + "proxy_url_placeholder": "http://proxy:port lub socks5://proxy:port", + "proxy_examples": "Przykłady:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "Proxy omijania geograficznego", + "geo_proxy_help": "Dodatkowy proxy specjalnie do omijania ograniczeń geograficznych.", + "geo_proxy_url_label": "URL proxy omijania geograficznego:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "Wyczyść główny proxy", + "clear_geo_proxy": "Wyczyść proxy geograficzny", + "proxy_url": "URL Proxy", + "proxy_placeholder": "http://proxy:port lub socks5://proxy:port", + "geo_bypass": "Proxy omijania geograficznego (dla ograniczeń geograficznych)", + "geo_bypass_placeholder": "http://proxy:port do omijania geo-blokowania", + "invalid_main_url": "Nieprawidłowy format URL głównego proxy", + "invalid_geo_url": "Nieprawidłowy format URL proxy geograficznego", + "main_configured": "Główny proxy skonfigurowany", + "geo_configured": "Proxy geograficzny skonfigurowany" + }, + "download": { + "preparing": "Przygotowywanie pobierania...", + "please_enter_url": "Proszę najpierw wprowadzić URL.", + "please_set_path": "Proszę najpierw ustawić ścieżkę pobierania.", + "please_enter_url_and_path": "Proszę wprowadzić URL i ustawić ścieżkę pobierania.", + "please_select_format": "Proszę najpierw wybrać format." + }, + "update": { + "title": "Zaktualizuj yt-dlp", + "checking": "Sprawdzanie aktualizacji...", + "update_available": "Dostępna aktualizacja!\nAktualna wersja: {current}\nNajnowsza wersja: {latest}", + "up_to_date": "yt-dlp jest aktualny (Wersja {version})", + "could_not_determine": "Nie można określić wersji.", + "error_comparing": "Błąd porównywania wersji: {error}", + "update_available_failed": "Dostępna aktualizacja! (Porównanie nie powiodło się)\nAktualna: {current}\nNajnowsza: {latest}", + "updating": "Aktualizowanie...", + "initializing": "🚀 Inicjalizacja procesu aktualizacji...", + "checking_current": "🔍 Sprawdzanie aktualnej instalacji...", + "found_at": "📍 yt-dlp znaleziony w: {path}", + "error_getting_path": "❌ Błąd pobierania ścieżki yt-dlp: {error}", + "updating_binary": "📦 Aktualizowanie binarki yt-dlp zarządzanej przez aplikację...", + "updating_pip": "🐍 Aktualizowanie systemowego yt-dlp przez pip...", + "update_failed": "❌ Aktualizacja yt-dlp nie powiodła się. Spróbuj ponownie lub sprawdź połączenie internetowe.", + "binary_updated": "✅ Binarka została pomyślnie zaktualizowana!", + "update_failed_stderr": "❌ Aktualizacja yt-dlp nie powiodła się: {error}", + "update_timeout": "❌ Limit czasu aktualizacji yt-dlp.", + "unexpected_error": "❌ Nieoczekiwany błąd podczas aktualizacji: {error}", + "checking_pip": "🔍 Sprawdzanie aktualnej instalacji pip...", + "current_version": "📋 Aktualna wersja: {version}", + "not_found_pip": "⚠️ yt-dlp nie znaleziony przez pip, próba instalacji...", + "checking_latest": "🌐 Sprawdzanie najnowszej wersji...", + "failed_check_updates": "❌ Sprawdzanie aktualizacji nie powiodło się", + "latest_version": "🆕 Najnowsza wersja: {version}", + "updating_from_to": "⬆️ Aktualizacja z {current} do {latest}...", + "running_pip_install": "📦 Uruchamianie pip install --upgrade...", + "pip_completed": "✅ Aktualizacja pip zakończona pomyślnie!", + "pip_failed": "❌ Aktualizacja pip nie powiodła się: {error}" + }, + "about": { + "title": "O YTSage", + "version": "Wersja {version}", + "description": "Nowoczesny pobieracz YouTube z czystym interfejsem PySide6.", + "author": "Autor: {author}", + "github": "GitHub: {repo}", + "system_info": "Informacje systemowe", + "loading": "🔄 Ładowanie informacji systemowych...", + "refresh": "🔄", + "refreshing": "🔄 Odświeżanie...", + "refresh_failed": "Odświeżanie nie powiodło się", + "refresh_failed_message": "Nie można odświeżyć informacji o wersji.", + "detected": "✓ Wykryto", + "missing": "✗ Brakuje", + "not_available": "Niedostępne" + }, + "time_range": { + "title": "Przytnij wideo", + "time_range_group": "Zakres czasu", + "start_time": "Czas rozpoczęcia (GG:MM:SS)", + "end_time": "Czas zakończenia (GG:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "Czas rozpoczęcia (GG:MM:SS)", + "end_time_placeholder": "Czas zakończenia (GG:MM:SS)", + "force_keyframes": "Wymuś klatki kluczowe w punktach cięcia", + "help_text": "Ustaw czasy rozpoczęcia i zakończenia, aby przyciąć wideo.\nPozostaw puste, aby pobrać pełne wideo.", + "invalid_format": "Nieprawidłowy format czasu. Użyj formatu GG:MM:SS.", + "start_after_end": "Czas rozpoczęcia nie może być po czasie zakończenia." + }, + "settings": { + "title": "Ustawienia pobierania", + "download_path": "Ścieżka pobierania", + "browse": "Przeglądaj...", + "speed_limit": "Limit prędkości", + "speed_limit_placeholder": "Brak", + "auto_update_ytdlp": "Automatyczne aktualizacje yt-dlp", + "enable_auto_updates": "Włącz automatyczne aktualizacje yt-dlp", + "update_frequency": "Częstotliwość aktualizacji:", + "check_startup": "Sprawdzaj przy każdym uruchomieniu (minimum 1 godzina między sprawdzeniami)", + "check_daily": "Sprawdzaj codziennie", + "check_weekly": "Sprawdzaj co tydzień", + "check_updates_now": "Sprawdź aktualizacje teraz", + "update_check_title": "Sprawdzanie aktualizacji", + "could_not_determine_version": "Nie można określić aktualnej wersji yt-dlp.", + "update_available_dialog": "Dostępna aktualizacja!\n\nAktualna: {current}\nNajnowsza: {latest}\n\nUżyj przycisku 'Zaktualizuj yt-dlp' w głównym oknie, aby zaktualizować.", + "up_to_date_dialog": "yt-dlp jest aktualny!\n\nAktualna wersja: {version}", + "error_checking_updates": "Błąd sprawdzania aktualizacji: {error}", + "settings_saved_title": "Ustawienia zapisane", + "settings_saved_message": "Ustawienia automatycznych aktualizacji zostały pomyślnie zapisane!", + "error_title": "Błąd", + "failed_save_settings": "Nie udało się zapisać ustawień automatycznych aktualizacji.", + "error_saving_settings": "Błąd zapisywania ustawień automatycznych aktualizacji: {error}", + "auto_update_title": "Ustawienia automatycznych aktualizacji", + "auto_update_header": "🔄 Ustawienia automatycznych aktualizacji", + "auto_update_description": "Skonfiguruj automatyczne aktualizacje dla yt-dlp, aby zapewnić najnowsze funkcje i poprawki błędów.", + "current_status": "Aktualny status", + "current_version_label": "Aktualna wersja yt-dlp: Sprawdzanie...", + "last_check_label": "Ostatnie sprawdzenie aktualizacji: Nigdy", + "next_check_label": "Następne sprawdzenie: Na podstawie ustawień", + "manual_check_button": "🔍 Sprawdź aktualizacje teraz", + "update_frequency_group": "Częstotliwość aktualizacji", + "save_settings": "Zapisz ustawienia", + "settings_saved_successfully": "✅ Ustawienia zapisane pomyślnie!", + "error_saving": "❌ Błąd zapisywania ustawień: {error}" + }, + "main_ui": { + "url_placeholder": "Wprowadź URL wideo YouTube lub playlisty", + "merge_subtitles": "Połącz napisy", + "save_thumbnail": "Zapisz miniaturę", + "save_description": "Zapisz opis", + "embed_chapters": "Osadź rozdziały", + "subtitles_selected": "{count} wybrano", + "all_selected": "Wszystkie wybrane", + "select_videos_all": "Wybierz wideo... (Wszystkie wybrane)", + "please_enter_url": "Proszę najpierw wprowadzić URL", + "cookie_file_selected_title": "Wybrano plik ciasteczek", + "cookie_file_selected_message": "Wybrano plik ciasteczek: {path}", + "browser_cookies_selected_title": "Wybrano ciasteczka przeglądarki", + "browser_cookies_selected_message": "Ciasteczka przeglądarki zostaną wyodrębnione z: {browser}", + "error_no_format_info": "Błąd: Brak dostępnych informacji o formacie.", + "error_extract_info": "Błąd: Nie można wyodrębnić podstawowych informacji o wideo. Sprawdź swój link.", + "analyzing_preparing": "Analizowanie (0%)... Przygotowywanie żądania", + "analyzing_extracting_basic": "Analizowanie (15%)... Wyodrębnianie podstawowych informacji", + "analyzing_extracting_detailed": "Analizowanie (30%)... Wyodrębnianie szczegółowych informacji", + "analyzing_processing_video": "Analizowanie (45%)... Przetwarzanie danych wideo", + "analyzing_processing_formats": "Analizowanie (60%)... Przetwarzanie formatów", + "analyzing_loading_thumbnail": "Analizowanie (75%)... Ładowanie miniatury", + "analyzing_processing_subtitles": "Analizowanie (85%)... Przetwarzanie napisów", + "analyzing_updating_table": "Analizowanie (95%)... Aktualizowanie tabeli formatów", + "analysis_complete": "Analiza zakończona!", + "analyzing_extracting_ytdlp": "Analizowanie (30%)... Wyodrębnianie informacji za pomocą pliku wykonywalnego yt-dlp", + "analyzing_processing_data": "Analizowanie (60%)... Przetwarzanie danych", + "analyzing_processing_formats_ytdlp": "Analizowanie (75%)... Przetwarzanie formatów", + "analyzing_loading_thumbnail_ytdlp": "Analizowanie (85%)... Ładowanie miniatury", + "analyzing_processing_subtitles_ytdlp": "Analizowanie (90%)... Przetwarzanie napisów", + "select_subtitles": "Wybierz napisy...", + "sponsorblock_categories": "Kategorie SponsorBlock..." + }, + "sponsorblock": { + "sponsor": "Sponsor", + "sponsor_desc": "Płatne reklamy, płatne rekomendacje i bezpośrednie reklamy", + "selfpromo": "Nieobłożona/Samopromocja", + "selfpromo_desc": "Nieobłożona promocja własnych treści twórcy", + "interaction": "Przypomnienie o interakcji", + "interaction_desc": "Widzowie są proszeni o polubienie, subskrypcję lub śledzenie w mediach społecznościowych", + "intro": "Intro", + "intro_desc": "Wprowadzenie do wideo, które można pominąć", + "outro": "Outro/Karty końcowe", + "outro_desc": "Napisy końcowe lub gdy wideo się kończy", + "preview": "Podgląd/Podsumowanie", + "preview_desc": "Krótkie podsumowanie poprzednich wideo lub podgląd nadchodzącej treści", + "music_offtopic": "Sekcja niemuzyczna", + "music_offtopic_desc": "Tylko dla wideo muzycznych. Oznacza sekcje niemuzyczne", + "filler": "Wypełniacz poboczny", + "filler_desc": "Sceny poboczne dodane tylko jako wypełniacz lub dla humoru" + }, + "video_info": { + "channel": "Kanał", + "views": "Wyświetlenia", + "likes": "Polubienia", + "upload_date": "Data przesłania", + "duration": "Czas trwania", + "unknown_channel": "Nieznany kanał", + "unknown_date": "Nieznana data", + "unknown_title": "Nieznany tytuł" + }, + "command": { + "running": "Uruchamianie...", + "run_command": "Uruchom polecenie" + }, + "selection": { + "none_selected": "0 wybrano", + "one_selected": "1 kategoria wybrana", + "count_selected": "{count} wybrano" + }, + "status": { + "ready": "Gotowy", + "file_exists": "⚠️ Plik już istnieje", + "cancelling": "Anulowanie pobierania..." + } +} \ No newline at end of file diff --git a/languages/pt.json b/languages/pt.json index 44d7b17..861ce66 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -14,6 +14,7 @@ "hindi": "Hindi", "indonesian": "Indonésio", "turkish": "Turco", + "polish": "Polonês", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index 60cb2c7..1d739ab 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -14,6 +14,7 @@ "hindi": "Хинди", "indonesian": "Индонезийский", "turkish": "Турецкий", + "polish": "Польский", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/tr.json b/languages/tr.json index de30198..a8e8642 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -14,6 +14,7 @@ "hindi": "Hintçe", "indonesian": "Endonezce", "turkish": "Türkçe", + "polish": "Lehçe", "help_text": "Arayüz için tercih ettiğiniz dili seçin.", "restart_notice": "Dil değişikliği uygulamayı yeniden başlattıktan sonra geçerli olacaktır." }, diff --git a/languages/zh.json b/languages/zh.json index c1cc026..860c066 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -14,6 +14,7 @@ "hindi": "印地语", "indonesian": "印尼语", "turkish": "土耳其语", + "polish": "波兰语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 07101d7..6def03f 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -264,15 +264,15 @@ class FormatTableMixin: # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) - # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, and French terms) + # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, French, Hindi, Indonesian, Turkish, and Polish terms) quality_lower = quality_text.lower() # Make comparison case-insensitive - if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi"]): + if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi", "Najlepsza", "Najlepszy", "Najlepsze"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite"]): + elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite", "Niska", "Niski", "Niskie"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 772cc5e..24df2ca 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -89,7 +89,8 @@ class LocalizationManager: "french": "Français (French)", "hindi": "हिन्दी (Hindi)", "indonesian": "Bahasa Indonesia (Indonesian)", - "turkish": "Türkçe (Turkish)" + "turkish": "Türkçe (Turkish)", + "polish": "Polski (Polish)" }, "download": { "preparing": "🚀 Preparing your download...", From 8d0bcf60c12aabae6c2f4a2c2032657ef309d057 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 30 Sep 2025 22:44:12 +0300 Subject: [PATCH 222/568] Add Italian language support and update quality labels Introduces Italian translations by adding languages/it.json and updating all language files to include 'italian' in the language selection. Updates quality label color logic in ytsage_gui_format_table.py to recognize Italian terms for best, high, medium, and low quality. Also updates the default language list in ytsage_localization.py to include Italian. --- languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 3 +- languages/fr.json | 1 + languages/hi.json | 1 + languages/id.json | 1 + languages/it.json | 336 +++++++++++++++++++++++++++++ languages/pl.json | 1 + languages/pt.json | 1 + languages/ru.json | 1 + languages/tr.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 10 +- src/utils/ytsage_localization.py | 3 +- 14 files changed, 355 insertions(+), 7 deletions(-) create mode 100644 languages/it.json diff --git a/languages/de.json b/languages/de.json index ec5bf7a..4aaf420 100644 --- a/languages/de.json +++ b/languages/de.json @@ -15,6 +15,7 @@ "indonesian": "Indonesisch", "turkish": "Türkisch", "polish": "Polnisch", + "italian": "Italienisch", "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." }, diff --git a/languages/en.json b/languages/en.json index 3703c12..f09eb5b 100644 --- a/languages/en.json +++ b/languages/en.json @@ -15,6 +15,7 @@ "indonesian": "Bahasa Indonesia (Indonesian)", "turkish": "Türkçe (Turkish)", "polish": "Polski (Polish)", + "italian": "Italiano (Italian)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index 1ac9ea2..4769b72 100644 --- a/languages/es.json +++ b/languages/es.json @@ -14,7 +14,8 @@ "hindi": "Hindi", "indonesian": "Indonesio", "turkish": "Turco", - "polish": "Polaco" + "polish": "Polaco", + "italian": "Italiano" }, "app": { "title": "YTSage", diff --git a/languages/fr.json b/languages/fr.json index 080642f..8e362b4 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -15,6 +15,7 @@ "indonesian": "Indonésien", "turkish": "Turc", "polish": "Polonais", + "italian": "Italien", "help_text": "Sélectionnez votre langue préférée pour l'interface.", "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." }, diff --git a/languages/hi.json b/languages/hi.json index 59a5fd6..bdd349e 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -15,6 +15,7 @@ "indonesian": "इंडोनेशियाई", "turkish": "तुर्की", "polish": "पोलिश", + "italian": "इतालवी", "help_text": "इंटरफेस के लिए अपनी पसंदीदा भाषा चुनें।", "restart_notice": "भाषा परिवर्तन एप्लिकेशन पुनरारंभ के बाद प्रभावी होगा।" }, diff --git a/languages/id.json b/languages/id.json index 349d0b7..ef9def4 100644 --- a/languages/id.json +++ b/languages/id.json @@ -15,6 +15,7 @@ "indonesian": "Bahasa Indonesia", "turkish": "Bahasa Turki", "polish": "Bahasa Polandia", + "italian": "Bahasa Italia", "help_text": "Pilih bahasa yang diinginkan untuk antarmuka.", "restart_notice": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi." }, diff --git a/languages/it.json b/languages/it.json new file mode 100644 index 0000000..146c95d --- /dev/null +++ b/languages/it.json @@ -0,0 +1,336 @@ +{ + "language": { + "display_name": "Italiano (Italian)", + "select_language": "Seleziona lingua:", + "current_language": "Lingua attuale: {language}", + "restart_required": "Il cambio di lingua avrà effetto dopo il riavvio dell'applicazione.", + "english": "Inglese", + "spanish": "Spagnolo", + "portuguese": "Portoghese", + "russian": "Russo", + "chinese": "Cinese", + "german": "Tedesco", + "french": "Francese", + "hindi": "Hindi", + "indonesian": "Indonesiano", + "turkish": "Turco", + "polish": "Polacco", + "italian": "Italiano", + "help_text": "Seleziona la lingua preferita per l'interfaccia.", + "restart_notice": "Il cambio di lingua avrà effetto dopo il riavvio dell'applicazione." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "Pronto" + }, + "formats": { + "show_formats": "Mostra formati:", + "video_format": "Formato video:", + "audio_format": "Formato audio:", + "no_formats": "Nessun formato disponibile", + "loading": "Caricamento formati...", + "select": "Seleziona", + "quality": "Qualità", + "extension": "Estensione", + "resolution": "Risoluzione", + "file_size": "Dimensione file", + "codec": "Codec", + "audio": "Audio", + "notes": "Note", + "will_merge_audio": "L'audio verrà unito", + "has_audio": "✓ Contiene audio", + "audio_only": "Solo audio", + "large_size": "Dimensione grande", + "medium_size": "Dimensione media", + "standard_size": "Dimensione standard", + "compatible": "Compatibile", + "efficient": "Efficiente", + "high_quality": "Alta qualità", + "best_4k": "Migliore (4K)", + "best_2k": "Migliore (2K)", + "high_1080p": "Alta (1080p)", + "high_720p": "Alta (720p)", + "medium_480p": "Media (480p)", + "low_quality": "Bassa qualità", + "best_audio": "Miglior audio", + "high_audio": "Audio alto", + "medium_audio": "Audio medio", + "low_audio": "Audio basso", + "audio_only_resolution": "Solo audio" + }, + "buttons": { + "download": "Scarica", + "pause": "Pausa", + "resume": "Riprendi", + "cancel": "Annulla", + "browse": "Sfoglia", + "clear": "Cancella", + "ok": "OK", + "apply": "Applica", + "close": "Chiudi", + "run_command": "Esegui comando", + "custom_command_help": "Aiuto", + "about": "Informazioni", + "analyze": "Analizza", + "paste_url": "Incolla URL", + "select_videos": "Seleziona video...", + "video": "Video", + "audio_only": "Solo audio", + "custom_options": "Opzioni personalizzate", + "trim_video": "Taglia video", + "download_settings": "Impostazioni download", + "update": "Aggiorna yt-dlp", + "select_defaults": "Seleziona predefiniti", + "select_all": "Seleziona tutto", + "deselect_all": "Deseleziona tutto" + }, + "dialogs": { + "custom_options": "Opzioni personalizzate", + "settings": "Impostazioni", + "select_folder": "Seleziona cartella di download", + "sponsorblock_categories": "Categorie SponsorBlock", + "sponsorblock_description": "Seleziona i tipi di segmenti video da rimuovere automaticamente durante il download.\nSponsorBlock utilizza dati inviati dalla comunità per identificare questi segmenti.", + "select_subtitles": "Seleziona sottotitoli", + "filter_languages_placeholder": "Filtra lingue (es: it, en)...", + "no_subtitles_available": "Nessun sottotitolo disponibile", + "matching": "corrispondenti" + }, + "tabs": { + "cookies": "Accedi con i cookie", + "custom_command": "Comando personalizzato", + "proxy": "Proxy", + "language": "Lingua" + }, + "cookies": { + "help_text": "Seleziona un metodo per fornire i cookie per l'autenticazione.\nCiò consente di scaricare video privati e file audio di alta qualità.", + "cookie_source": "Fonte cookie", + "use_cookie_file": "Usa file cookie", + "extract_from_browser": "Estrai dal browser", + "cookie_file": "File cookie", + "cookie_file_placeholder": "Percorso al file cookies.txt...", + "browser_selection": "Selezione browser", + "browser_help": "Seleziona il browser da cui estrarre i cookie:", + "browser_label": "Browser:", + "profile_label": "Profilo:", + "profile_placeholder": "Predefinito", + "browser_extract_message": "I cookie del browser verranno estratti dopo l'applicazione", + "file_selected_message": "File cookie selezionato - Clicca OK per applicare", + "select_file_title": "Seleziona file cookie", + "file_filter": "File cookie (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "Inserisci un comando yt-dlp personalizzato qui sotto. L'URL corrente verrà aggiunto automaticamente.

Per l'elenco completo delle opzioni ed esempi di utilizzo clicca qui per vedere la documentazione ufficiale yt-dlp.

Nota: Il percorso di download e il modello del nome file sono gestiti automaticamente.", + "input_label": "Argomenti yt-dlp:", + "input_placeholder": "Inserisci gli argomenti yt-dlp qui...\n\nEsempio: --extract-audio --audio-format mp3", + "output_label": "Output comando:", + "output_placeholder": "L'output del comando apparirà qui...", + "command_placeholder": "Inserisci comando yt-dlp personalizzato...", + "command_help": "Placeholder disponibili:\n{url} - URL del video\n{output} - Cartella di output\n\nEsempio: --write-info-json --write-thumbnail", + "full_command": "🔧 Comando completo: {command}", + "command_success": "✅ Comando personalizzato eseguito con successo!", + "command_failed": "❌ Comando fallito con codice di uscita {code}", + "command_error": "❌ Errore nell'esecuzione del comando personalizzato: {error}" + }, + "proxy": { + "help_text": "Configura le impostazioni proxy per i download. Lascia vuoto per connessione diretta.", + "main_proxy": "Proxy principale", + "main_proxy_help": "Server proxy principale per tutti i download. Supporta protocolli HTTP/HTTPS e SOCKS5.", + "proxy_url_label": "URL Proxy:", + "proxy_url_placeholder": "http://proxy:porta o socks5://proxy:porta", + "proxy_examples": "Esempi:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "Proxy geo-bypass", + "geo_proxy_help": "Proxy aggiuntivo specificamente per aggirare le restrizioni geografiche.", + "geo_proxy_url_label": "URL proxy geo-bypass:", + "geo_proxy_url_placeholder": "http://geo-proxy:porta", + "clear_main_proxy": "Cancella proxy principale", + "clear_geo_proxy": "Cancella proxy geo", + "proxy_url": "URL Proxy", + "proxy_placeholder": "http://proxy:porta o socks5://proxy:porta", + "geo_bypass": "Proxy geo-bypass (per restrizioni geografiche)", + "geo_bypass_placeholder": "http://proxy:porta per aggirare il geo-blocking", + "invalid_main_url": "Formato URL proxy principale non valido", + "invalid_geo_url": "Formato URL proxy geo non valido", + "main_configured": "Proxy principale configurato", + "geo_configured": "Proxy geo configurato" + }, + "download": { + "preparing": "Preparazione download...", + "please_enter_url": "Inserisci prima un URL.", + "please_set_path": "Imposta prima un percorso di download.", + "please_enter_url_and_path": "Inserisci un URL e imposta un percorso di download.", + "please_select_format": "Seleziona prima un formato." + }, + "update": { + "title": "Aggiorna yt-dlp", + "checking": "Controllo aggiornamenti...", + "update_available": "Aggiornamento disponibile!\nVersione corrente: {current}\nUltima versione: {latest}", + "up_to_date": "yt-dlp è aggiornato (Versione {version})", + "could_not_determine": "Impossibile determinare la versione.", + "error_comparing": "Errore nel confronto versioni: {error}", + "update_available_failed": "Aggiornamento disponibile! (Confronto fallito)\nCorrente: {current}\nUltima: {latest}", + "updating": "Aggiornamento...", + "initializing": "🚀 Inizializzazione processo di aggiornamento...", + "checking_current": "🔍 Controllo installazione corrente...", + "found_at": "📍 yt-dlp trovato in: {path}", + "error_getting_path": "❌ Errore nel recupero del percorso yt-dlp: {error}", + "updating_binary": "📦 Aggiornamento binario yt-dlp gestito dall'app...", + "updating_pip": "🐍 Aggiornamento yt-dlp di sistema via pip...", + "update_failed": "❌ Aggiornamento yt-dlp fallito. Riprova o controlla la connessione internet.", + "binary_updated": "✅ Binario aggiornato con successo!", + "update_failed_stderr": "❌ Aggiornamento yt-dlp fallito: {error}", + "update_timeout": "❌ Timeout aggiornamento yt-dlp.", + "unexpected_error": "❌ Errore inaspettato durante l'aggiornamento: {error}", + "checking_pip": "🔍 Controllo installazione pip corrente...", + "current_version": "📋 Versione corrente: {version}", + "not_found_pip": "⚠️ yt-dlp non trovato via pip, tentativo di installazione...", + "checking_latest": "🌐 Controllo ultima versione...", + "failed_check_updates": "❌ Controllo aggiornamenti fallito", + "latest_version": "🆕 Ultima versione: {version}", + "updating_from_to": "⬆️ Aggiornamento da {current} a {latest}...", + "running_pip_install": "📦 Esecuzione pip install --upgrade...", + "pip_completed": "✅ Aggiornamento pip completato con successo!", + "pip_failed": "❌ Aggiornamento pip fallito: {error}" + }, + "about": { + "title": "Informazioni su YTSage", + "version": "Versione {version}", + "description": "Downloader YouTube moderno con interfaccia PySide6 pulita.", + "author": "Autore: {author}", + "github": "GitHub: {repo}", + "system_info": "Informazioni sistema", + "loading": "🔄 Caricamento informazioni sistema...", + "refresh": "🔄", + "refreshing": "🔄 Aggiornamento...", + "refresh_failed": "Aggiornamento fallito", + "refresh_failed_message": "Impossibile aggiornare le informazioni sulla versione.", + "detected": "✓ Rilevato", + "missing": "✗ Mancante", + "not_available": "Non disponibile" + }, + "time_range": { + "title": "Taglia video", + "time_range_group": "Intervallo di tempo", + "start_time": "Tempo di inizio (HH:MM:SS)", + "end_time": "Tempo di fine (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "Tempo di inizio (HH:MM:SS)", + "end_time_placeholder": "Tempo di fine (HH:MM:SS)", + "force_keyframes": "Forza keyframe ai punti di taglio", + "help_text": "Imposta i tempi di inizio e fine per tagliare il video.\nLascia vuoto per scaricare il video completo.", + "invalid_format": "Formato tempo non valido. Usa il formato HH:MM:SS.", + "start_after_end": "Il tempo di inizio non può essere dopo il tempo di fine." + }, + "settings": { + "title": "Impostazioni download", + "download_path": "Percorso download", + "browse": "Sfoglia...", + "speed_limit": "Limite velocità", + "speed_limit_placeholder": "Nessuno", + "auto_update_ytdlp": "Aggiornamenti automatici yt-dlp", + "enable_auto_updates": "Abilita aggiornamenti automatici yt-dlp", + "update_frequency": "Frequenza aggiornamenti:", + "check_startup": "Controlla ad ogni avvio (minimo 1 ora tra i controlli)", + "check_daily": "Controlla giornalmente", + "check_weekly": "Controlla settimanalmente", + "check_updates_now": "Controlla aggiornamenti ora", + "update_check_title": "Controllo aggiornamenti", + "could_not_determine_version": "Impossibile determinare la versione corrente di yt-dlp.", + "update_available_dialog": "Aggiornamento disponibile!\n\nCorrente: {current}\nUltima: {latest}\n\nUsa il pulsante 'Aggiorna yt-dlp' nella finestra principale per aggiornare.", + "up_to_date_dialog": "yt-dlp è aggiornato!\n\nVersione corrente: {version}", + "error_checking_updates": "Errore nel controllo aggiornamenti: {error}", + "settings_saved_title": "Impostazioni salvate", + "settings_saved_message": "Le impostazioni di aggiornamento automatico sono state salvate con successo!", + "error_title": "Errore", + "failed_save_settings": "Impossibile salvare le impostazioni di aggiornamento automatico.", + "error_saving_settings": "Errore nel salvataggio delle impostazioni di aggiornamento automatico: {error}", + "auto_update_title": "Impostazioni aggiornamenti automatici", + "auto_update_header": "🔄 Impostazioni aggiornamenti automatici", + "auto_update_description": "Configura gli aggiornamenti automatici per yt-dlp per garantire le ultime funzionalità e correzioni bug.", + "current_status": "Stato attuale", + "current_version_label": "Versione corrente yt-dlp: Controllo...", + "last_check_label": "Ultimo controllo aggiornamenti: Mai", + "next_check_label": "Prossimo controllo: Basato sulle impostazioni", + "manual_check_button": "🔍 Controlla aggiornamenti ora", + "update_frequency_group": "Frequenza aggiornamenti", + "save_settings": "Salva impostazioni", + "settings_saved_successfully": "✅ Impostazioni salvate con successo!", + "error_saving": "❌ Errore nel salvataggio impostazioni: {error}" + }, + "main_ui": { + "url_placeholder": "Inserisci URL video YouTube o playlist", + "merge_subtitles": "Unisci sottotitoli", + "save_thumbnail": "Salva miniatura", + "save_description": "Salva descrizione", + "embed_chapters": "Incorpora capitoli", + "subtitles_selected": "{count} selezionati", + "all_selected": "Tutti selezionati", + "select_videos_all": "Seleziona video... (Tutti selezionati)", + "please_enter_url": "Inserisci prima un URL", + "cookie_file_selected_title": "File cookie selezionato", + "cookie_file_selected_message": "File cookie selezionato: {path}", + "browser_cookies_selected_title": "Cookie browser selezionati", + "browser_cookies_selected_message": "I cookie del browser verranno estratti da: {browser}", + "error_no_format_info": "Errore: Nessuna informazione formato disponibile.", + "error_extract_info": "Errore: Impossibile estrarre informazioni base del video. Controlla il tuo link.", + "analyzing_preparing": "Analisi (0%)... Preparazione richiesta", + "analyzing_extracting_basic": "Analisi (15%)... Estrazione informazioni base", + "analyzing_extracting_detailed": "Analisi (30%)... Estrazione informazioni dettagliate", + "analyzing_processing_video": "Analisi (45%)... Elaborazione dati video", + "analyzing_processing_formats": "Analisi (60%)... Elaborazione formati", + "analyzing_loading_thumbnail": "Analisi (75%)... Caricamento miniatura", + "analyzing_processing_subtitles": "Analisi (85%)... Elaborazione sottotitoli", + "analyzing_updating_table": "Analisi (95%)... Aggiornamento tabella formati", + "analysis_complete": "Analisi completata!", + "analyzing_extracting_ytdlp": "Analisi (30%)... Estrazione informazioni usando eseguibile yt-dlp", + "analyzing_processing_data": "Analisi (60%)... Elaborazione dati", + "analyzing_processing_formats_ytdlp": "Analisi (75%)... Elaborazione formati", + "analyzing_loading_thumbnail_ytdlp": "Analisi (85%)... Caricamento miniatura", + "analyzing_processing_subtitles_ytdlp": "Analisi (90%)... Elaborazione sottotitoli", + "select_subtitles": "Seleziona sottotitoli...", + "sponsorblock_categories": "Categorie SponsorBlock..." + }, + "sponsorblock": { + "sponsor": "Sponsor", + "sponsor_desc": "Pubblicità a pagamento, raccomandazioni a pagamento e pubblicità dirette", + "selfpromo": "Non remunerata/Autopromozione", + "selfpromo_desc": "Promozione non remunerata dei propri contenuti del creatore", + "interaction": "Promemoria interazione", + "interaction_desc": "Gli spettatori vengono invitati a mettere mi piace, iscriversi o seguire sui social media", + "intro": "Intro", + "intro_desc": "Introduzione al video che può essere saltata", + "outro": "Outro/Schede finali", + "outro_desc": "Titoli di coda o quando il video finisce", + "preview": "Anteprima/Ricapitolazione", + "preview_desc": "Breve ricapitolazione di video precedenti o anteprima di contenuti futuri", + "music_offtopic": "Sezione non musicale", + "music_offtopic_desc": "Solo per video musicali. Indica sezioni non musicali", + "filler": "Riempitivo tangenziale", + "filler_desc": "Scene tangenziali aggiunte solo come riempitivo o per umorismo" + }, + "video_info": { + "channel": "Canale", + "views": "Visualizzazioni", + "likes": "Mi piace", + "upload_date": "Data caricamento", + "duration": "Durata", + "unknown_channel": "Canale sconosciuto", + "unknown_date": "Data sconosciuta", + "unknown_title": "Titolo sconosciuto" + }, + "command": { + "running": "Esecuzione...", + "run_command": "Esegui comando" + }, + "selection": { + "none_selected": "0 selezionati", + "one_selected": "1 categoria selezionata", + "count_selected": "{count} selezionati" + }, + "status": { + "ready": "Pronto", + "file_exists": "⚠️ File già esistente", + "cancelling": "Annullamento download..." + } +} \ No newline at end of file diff --git a/languages/pl.json b/languages/pl.json index 05afb02..f7eb923 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -15,6 +15,7 @@ "indonesian": "Indonezyjski", "turkish": "Turecki", "polish": "Polski", + "italian": "Włoski", "help_text": "Wybierz preferowany język interfejsu.", "restart_notice": "Zmiana języka zostanie zastosowana po ponownym uruchomieniu aplikacji." }, diff --git a/languages/pt.json b/languages/pt.json index 861ce66..2f53c57 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -15,6 +15,7 @@ "indonesian": "Indonésio", "turkish": "Turco", "polish": "Polonês", + "italian": "Italiano", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index 1d739ab..a6cb6fd 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -15,6 +15,7 @@ "indonesian": "Индонезийский", "turkish": "Турецкий", "polish": "Польский", + "italian": "Итальянский", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/tr.json b/languages/tr.json index a8e8642..70c8764 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -15,6 +15,7 @@ "indonesian": "Endonezce", "turkish": "Türkçe", "polish": "Lehçe", + "italian": "İtalyanca", "help_text": "Arayüz için tercih ettiğiniz dili seçin.", "restart_notice": "Dil değişikliği uygulamayı yeniden başlattıktan sonra geçerli olacaktır." }, diff --git a/languages/zh.json b/languages/zh.json index 860c066..9d18921 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -15,6 +15,7 @@ "indonesian": "印尼语", "turkish": "土耳其语", "polish": "波兰语", + "italian": "意大利语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 6def03f..89f5ed3 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -264,15 +264,15 @@ class FormatTableMixin: # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) - # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, French, Hindi, Indonesian, Turkish, and Polish terms) + # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, French, Hindi, Indonesian, Turkish, Polish, and Italian terms) quality_lower = quality_text.lower() # Make comparison case-insensitive - if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi", "Najlepsza", "Najlepszy", "Najlepsze"]): + if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi", "Najlepsza", "Najlepszy", "Najlepsze", "Migliore", "Miglior"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie", "Alta", "Audio alto"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie", "Media", "Audio medio"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite", "Niska", "Niski", "Niskie"]): + elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite", "Niska", "Niski", "Niskie", "Bassa", "Audio basso", "Bassa qualità"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 24df2ca..6b9bb1c 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -90,7 +90,8 @@ class LocalizationManager: "hindi": "हिन्दी (Hindi)", "indonesian": "Bahasa Indonesia (Indonesian)", "turkish": "Türkçe (Turkish)", - "polish": "Polski (Polish)" + "polish": "Polski (Polish)", + "italian": "Italiano (Italian)" }, "download": { "preparing": "🚀 Preparing your download...", From 0ccb9747087caad9997b5ee1122a1011a0f0b922 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 2 Oct 2025 18:20:50 +0300 Subject: [PATCH 223/568] Add Arabic translation and update language support Added a new Arabic translation file (ar.json) and updated all other language files to include 'arabic' in the language selection list. Also updated quality label color detection in the format table to support Arabic terms, ensuring proper highlighting for quality levels in Arabic. --- languages/ar.json | 337 +++++++++++++++++++++++++++++ languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 3 +- languages/fr.json | 1 + languages/hi.json | 1 + languages/id.json | 1 + languages/it.json | 1 + languages/pl.json | 1 + languages/pt.json | 1 + languages/ru.json | 1 + languages/tr.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 10 +- src/utils/ytsage_localization.py | 3 +- 15 files changed, 357 insertions(+), 7 deletions(-) create mode 100644 languages/ar.json diff --git a/languages/ar.json b/languages/ar.json new file mode 100644 index 0000000..d235e30 --- /dev/null +++ b/languages/ar.json @@ -0,0 +1,337 @@ +{ + "language": { + "display_name": "العربية (Arabic)", + "select_language": "اختر اللغة:", + "current_language": "اللغة الحالية: {language}", + "restart_required": "سيتم تطبيق تغيير اللغة بعد إعادة تشغيل التطبيق.", + "english": "الإنجليزية", + "spanish": "الإسبانية", + "portuguese": "البرتغالية", + "russian": "الروسية", + "chinese": "الصينية", + "german": "الألمانية", + "french": "الفرنسية", + "hindi": "الهندية", + "indonesian": "الإندونيسية", + "turkish": "التركية", + "polish": "البولندية", + "italian": "الإيطالية", + "arabic": "العربية", + "help_text": "اختر اللغة المفضلة للواجهة.", + "restart_notice": "سيتم تطبيق تغيير اللغة بعد إعادة تشغيل التطبيق." + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "جاهز" + }, + "formats": { + "show_formats": "إظهار التنسيقات:", + "video_format": "تنسيق الفيديو:", + "audio_format": "تنسيق الصوت:", + "no_formats": "لا توجد تنسيقات متاحة", + "loading": "جاري تحميل التنسيقات...", + "select": "اختر", + "quality": "الجودة", + "extension": "الامتداد", + "resolution": "الدقة", + "file_size": "حجم الملف", + "codec": "الترميز", + "audio": "الصوت", + "notes": "ملاحظات", + "will_merge_audio": "سيتم دمج الصوت", + "has_audio": "✓ يحتوي على صوت", + "audio_only": "صوت فقط", + "large_size": "حجم كبير", + "medium_size": "حجم متوسط", + "standard_size": "حجم قياسي", + "compatible": "متوافق", + "efficient": "فعال", + "high_quality": "جودة عالية", + "best_4k": "الأفضل (4K)", + "best_2k": "الأفضل (2K)", + "high_1080p": "عالية (1080p)", + "high_720p": "عالية (720p)", + "medium_480p": "متوسطة (480p)", + "low_quality": "جودة منخفضة", + "best_audio": "أفضل صوت", + "high_audio": "صوت عالي", + "medium_audio": "صوت متوسط", + "low_audio": "صوت منخفض", + "audio_only_resolution": "صوت فقط" + }, + "buttons": { + "download": "تنزيل", + "pause": "إيقاف مؤقت", + "resume": "استئناف", + "cancel": "إلغاء", + "browse": "تصفح", + "clear": "مسح", + "ok": "موافق", + "apply": "تطبيق", + "close": "إغلاق", + "run_command": "تشغيل الأمر", + "custom_command_help": "مساعدة", + "about": "حول", + "analyze": "تحليل", + "paste_url": "لصق الرابط", + "select_videos": "اختر الفيديوهات...", + "video": "فيديو", + "audio_only": "صوت فقط", + "custom_options": "خيارات مخصصة", + "trim_video": "قص الفيديو", + "download_settings": "إعدادات التنزيل", + "update": "تحديث yt-dlp", + "select_defaults": "اختر الافتراضي", + "select_all": "تحديد الكل", + "deselect_all": "إلغاء تحديد الكل" + }, + "dialogs": { + "custom_options": "خيارات مخصصة", + "settings": "الإعدادات", + "select_folder": "اختر مجلد التنزيل", + "sponsorblock_categories": "فئات SponsorBlock", + "sponsorblock_description": "اختر أنواع مقاطع الفيديو المراد إزالتها تلقائياً أثناء التنزيل.\nيستخدم SponsorBlock بيانات مقدمة من المجتمع لتحديد هذه المقاطع.", + "select_subtitles": "اختر الترجمات", + "filter_languages_placeholder": "تصفية اللغات (مثال: ar، en)...", + "no_subtitles_available": "لا توجد ترجمات متاحة", + "matching": "مطابقة" + }, + "tabs": { + "cookies": "تسجيل الدخول بالكوكيز", + "custom_command": "أمر مخصص", + "proxy": "بروكسي", + "language": "اللغة" + }, + "cookies": { + "help_text": "اختر طريقة لتوفير ملفات تعريف الارتباط للمصادقة.\nيسمح هذا بتنزيل مقاطع الفيديو الخاصة وملفات الصوت عالية الجودة.", + "cookie_source": "مصدر الكوكيز", + "use_cookie_file": "استخدام ملف كوكيز", + "extract_from_browser": "استخراج من المتصفح", + "cookie_file": "ملف الكوكيز", + "cookie_file_placeholder": "مسار ملف cookies.txt...", + "browser_selection": "اختيار المتصفح", + "browser_help": "اختر المتصفح لاستخراج ملفات تعريف الارتباط منه:", + "browser_label": "المتصفح:", + "profile_label": "الملف الشخصي:", + "profile_placeholder": "افتراضي", + "browser_extract_message": "سيتم استخراج كوكيز المتصفح بعد التطبيق", + "file_selected_message": "تم تحديد ملف الكوكيز - انقر على موافق للتطبيق", + "select_file_title": "اختر ملف الكوكيز", + "file_filter": "ملفات الكوكيز (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "أدخل أمر yt-dlp مخصص أدناه. سيتم إضافة الرابط الحالي تلقائياً.

للحصول على قائمة كاملة بالخيارات وأمثلة الاستخدام انقر هنا لمشاهدة الوثائق الرسمية لـ yt-dlp.

ملاحظة: يتم التعامل مع مسار التنزيل ونموذج اسم الملف تلقائياً.", + "input_label": "معاملات yt-dlp:", + "input_placeholder": "أدخل معاملات yt-dlp هنا...\n\nمثال: --extract-audio --audio-format mp3", + "output_label": "مخرجات الأمر:", + "output_placeholder": "ستظهر مخرجات الأمر هنا...", + "command_placeholder": "أدخل أمر yt-dlp مخصص...", + "command_help": "العناصر المتاحة:\n{url} - رابط الفيديو\n{output} - مجلد الإخراج\n\nمثال: --write-info-json --write-thumbnail", + "full_command": "🔧 الأمر الكامل: {command}", + "command_success": "✅ تم تنفيذ الأمر المخصص بنجاح!", + "command_failed": "❌ فشل الأمر برمز الخروج {code}", + "command_error": "❌ خطأ في تنفيذ الأمر المخصص: {error}" + }, + "proxy": { + "help_text": "قم بتكوين إعدادات البروكسي للتنزيلات. اتركه فارغاً للاتصال المباشر.", + "main_proxy": "البروكسي الرئيسي", + "main_proxy_help": "خادم البروكسي الرئيسي لجميع التنزيلات. يدعم بروتوكولات HTTP/HTTPS و SOCKS5.", + "proxy_url_label": "رابط البروكسي:", + "proxy_url_placeholder": "http://proxy:port أو socks5://proxy:port", + "proxy_examples": "أمثلة:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "بروكسي تجاوز الموقع الجغرافي", + "geo_proxy_help": "بروكسي إضافي خصيصاً لتجاوز القيود الجغرافية.", + "geo_proxy_url_label": "رابط بروكسي تجاوز الموقع:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "مسح البروكسي الرئيسي", + "clear_geo_proxy": "مسح بروكسي الموقع", + "proxy_url": "رابط البروكسي", + "proxy_placeholder": "http://proxy:port أو socks5://proxy:port", + "geo_bypass": "بروكسي تجاوز الموقع الجغرافي (للقيود الجغرافية)", + "geo_bypass_placeholder": "http://proxy:port لتجاوز الحظر الجغرافي", + "invalid_main_url": "تنسيق رابط البروكسي الرئيسي غير صالح", + "invalid_geo_url": "تنسيق رابط بروكسي الموقع غير صالح", + "main_configured": "تم تكوين البروكسي الرئيسي", + "geo_configured": "تم تكوين بروكسي الموقع" + }, + "download": { + "preparing": "جاري التحضير للتنزيل...", + "please_enter_url": "الرجاء إدخال رابط أولاً.", + "please_set_path": "الرجاء تحديد مسار التنزيل أولاً.", + "please_enter_url_and_path": "الرجاء إدخال رابط وتحديد مسار التنزيل.", + "please_select_format": "الرجاء اختيار تنسيق أولاً." + }, + "update": { + "title": "تحديث yt-dlp", + "checking": "جاري التحقق من التحديثات...", + "update_available": "تحديث متاح!\nالإصدار الحالي: {current}\nأحدث إصدار: {latest}", + "up_to_date": "yt-dlp محدث (الإصدار {version})", + "could_not_determine": "تعذر تحديد الإصدار.", + "error_comparing": "خطأ في مقارنة الإصدارات: {error}", + "update_available_failed": "تحديث متاح! (فشلت المقارنة)\nالحالي: {current}\nالأحدث: {latest}", + "updating": "جاري التحديث...", + "initializing": "🚀 جاري تهيئة عملية التحديث...", + "checking_current": "🔍 جاري التحقق من التثبيت الحالي...", + "found_at": "📍 تم العثور على yt-dlp في: {path}", + "error_getting_path": "❌ خطأ في الحصول على مسار yt-dlp: {error}", + "updating_binary": "📦 جاري تحديث ملف yt-dlp الثنائي المدار بواسطة التطبيق...", + "updating_pip": "🐍 جاري تحديث yt-dlp النظام عبر pip...", + "update_failed": "❌ فشل تحديث yt-dlp. حاول مرة أخرى أو تحقق من اتصال الإنترنت.", + "binary_updated": "✅ تم تحديث الملف الثنائي بنجاح!", + "update_failed_stderr": "❌ فشل تحديث yt-dlp: {error}", + "update_timeout": "❌ انتهت مهلة تحديث yt-dlp.", + "unexpected_error": "❌ خطأ غير متوقع أثناء التحديث: {error}", + "checking_pip": "🔍 جاري التحقق من تثبيت pip الحالي...", + "current_version": "📋 الإصدار الحالي: {version}", + "not_found_pip": "⚠️ لم يتم العثور على yt-dlp عبر pip، جاري محاولة التثبيت...", + "checking_latest": "🌐 جاري التحقق من أحدث إصدار...", + "failed_check_updates": "❌ فشل التحقق من التحديثات", + "latest_version": "🆕 أحدث إصدار: {version}", + "updating_from_to": "⬆️ جاري التحديث من {current} إلى {latest}...", + "running_pip_install": "📦 جاري تشغيل pip install --upgrade...", + "pip_completed": "✅ اكتمل تحديث pip بنجاح!", + "pip_failed": "❌ فشل تحديث pip: {error}" + }, + "about": { + "title": "حول YTSage", + "version": "الإصدار {version}", + "description": "برنامج تنزيل يوتيوب حديث مع واجهة PySide6 نظيفة.", + "author": "المطور: {author}", + "github": "GitHub: {repo}", + "system_info": "معلومات النظام", + "loading": "🔄 جاري تحميل معلومات النظام...", + "refresh": "🔄", + "refreshing": "🔄 جاري التحديث...", + "refresh_failed": "فشل التحديث", + "refresh_failed_message": "تعذر تحديث معلومات الإصدار.", + "detected": "✓ تم الكشف", + "missing": "✗ مفقود", + "not_available": "غير متاح" + }, + "time_range": { + "title": "قص الفيديو", + "time_range_group": "النطاق الزمني", + "start_time": "وقت البدء (HH:MM:SS)", + "end_time": "وقت الانتهاء (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "وقت البدء (HH:MM:SS)", + "end_time_placeholder": "وقت الانتهاء (HH:MM:SS)", + "force_keyframes": "فرض الإطارات الرئيسية عند نقاط القص", + "help_text": "حدد أوقات البدء والانتهاء لقص الفيديو.\nاتركه فارغاً لتنزيل الفيديو كاملاً.", + "invalid_format": "تنسيق الوقت غير صالح. استخدم تنسيق HH:MM:SS.", + "start_after_end": "لا يمكن أن يكون وقت البدء بعد وقت الانتهاء." + }, + "settings": { + "title": "إعدادات التنزيل", + "download_path": "مسار التنزيل", + "browse": "تصفح...", + "speed_limit": "حد السرعة", + "speed_limit_placeholder": "بدون", + "auto_update_ytdlp": "التحديثات التلقائية لـ yt-dlp", + "enable_auto_updates": "تفعيل التحديثات التلقائية لـ yt-dlp", + "update_frequency": "تكرار التحديثات:", + "check_startup": "تحقق عند كل بداية تشغيل (ساعة واحدة على الأقل بين الفحوصات)", + "check_daily": "تحقق يومياً", + "check_weekly": "تحقق أسبوعياً", + "check_updates_now": "تحقق من التحديثات الآن", + "update_check_title": "التحقق من التحديثات", + "could_not_determine_version": "تعذر تحديد الإصدار الحالي لـ yt-dlp.", + "update_available_dialog": "تحديث متاح!\n\nالحالي: {current}\nالأحدث: {latest}\n\nاستخدم زر 'تحديث yt-dlp' في النافذة الرئيسية للتحديث.", + "up_to_date_dialog": "yt-dlp محدث!\n\nالإصدار الحالي: {version}", + "error_checking_updates": "خطأ في التحقق من التحديثات: {error}", + "settings_saved_title": "تم حفظ الإعدادات", + "settings_saved_message": "تم حفظ إعدادات التحديث التلقائي بنجاح!", + "error_title": "خطأ", + "failed_save_settings": "فشل حفظ إعدادات التحديث التلقائي.", + "error_saving_settings": "خطأ في حفظ إعدادات التحديث التلقائي: {error}", + "auto_update_title": "إعدادات التحديثات التلقائية", + "auto_update_header": "🔄 إعدادات التحديثات التلقائية", + "auto_update_description": "قم بتكوين التحديثات التلقائية لـ yt-dlp لضمان الحصول على أحدث الميزات وإصلاحات الأخطاء.", + "current_status": "الحالة الحالية", + "current_version_label": "إصدار yt-dlp الحالي: جاري التحقق...", + "last_check_label": "آخر فحص للتحديثات: أبداً", + "next_check_label": "الفحص التالي: بناءً على الإعدادات", + "manual_check_button": "🔍 تحقق من التحديثات الآن", + "update_frequency_group": "تكرار التحديثات", + "save_settings": "حفظ الإعدادات", + "settings_saved_successfully": "✅ تم حفظ الإعدادات بنجاح!", + "error_saving": "❌ خطأ في حفظ الإعدادات: {error}" + }, + "main_ui": { + "url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل", + "merge_subtitles": "دمج الترجمات", + "save_thumbnail": "حفظ الصورة المصغرة", + "save_description": "حفظ الوصف", + "embed_chapters": "تضمين الفصول", + "subtitles_selected": "{count} محدد", + "all_selected": "تم تحديد الكل", + "select_videos_all": "اختر الفيديوهات... (تم تحديد الكل)", + "please_enter_url": "الرجاء إدخال رابط أولاً", + "cookie_file_selected_title": "تم تحديد ملف الكوكيز", + "cookie_file_selected_message": "ملف الكوكيز المحدد: {path}", + "browser_cookies_selected_title": "تم تحديد كوكيز المتصفح", + "browser_cookies_selected_message": "سيتم استخراج كوكيز المتصفح من: {browser}", + "error_no_format_info": "خطأ: لا توجد معلومات تنسيق متاحة.", + "error_extract_info": "خطأ: تعذر استخراج معلومات الفيديو الأساسية. تحقق من الرابط.", + "analyzing_preparing": "التحليل (0%)... جاري التحضير للطلب", + "analyzing_extracting_basic": "التحليل (15%)... جاري استخراج المعلومات الأساسية", + "analyzing_extracting_detailed": "التحليل (30%)... جاري استخراج المعلومات التفصيلية", + "analyzing_processing_video": "التحليل (45%)... جاري معالجة بيانات الفيديو", + "analyzing_processing_formats": "التحليل (60%)... جاري معالجة التنسيقات", + "analyzing_loading_thumbnail": "التحليل (75%)... جاري تحميل الصورة المصغرة", + "analyzing_processing_subtitles": "التحليل (85%)... جاري معالجة الترجمات", + "analyzing_updating_table": "التحليل (95%)... جاري تحديث جدول التنسيقات", + "analysis_complete": "اكتمل التحليل!", + "analyzing_extracting_ytdlp": "التحليل (30%)... جاري استخراج المعلومات باستخدام yt-dlp", + "analyzing_processing_data": "التحليل (60%)... جاري معالجة البيانات", + "analyzing_processing_formats_ytdlp": "التحليل (75%)... جاري معالجة التنسيقات", + "analyzing_loading_thumbnail_ytdlp": "التحليل (85%)... جاري تحميل الصورة المصغرة", + "analyzing_processing_subtitles_ytdlp": "التحليل (90%)... جاري معالجة الترجمات", + "select_subtitles": "اختر الترجمات...", + "sponsorblock_categories": "فئات SponsorBlock..." + }, + "sponsorblock": { + "sponsor": "الراعي", + "sponsor_desc": "الإعلانات المدفوعة والتوصيات المدفوعة والإعلانات المباشرة", + "selfpromo": "غير مدفوع/ترويج ذاتي", + "selfpromo_desc": "الترويج غير المدفوع لمحتوى المنشئ الخاص", + "interaction": "تذكير التفاعل", + "interaction_desc": "يُطلب من المشاهدين الإعجاب أو الاشتراك أو المتابعة على وسائل التواصل الاجتماعي", + "intro": "المقدمة", + "intro_desc": "مقدمة الفيديو التي يمكن تخطيها", + "outro": "الخاتمة/البطاقات النهائية", + "outro_desc": "الاعتمادات النهائية أو عندما ينتهي الفيديو", + "preview": "المعاينة/الملخص", + "preview_desc": "ملخص موجز لمقاطع الفيديو السابقة أو معاينة المحتوى القادم", + "music_offtopic": "قسم غير موسيقي", + "music_offtopic_desc": "لمقاطع الفيديو الموسيقية فقط. يشير إلى أقسام غير موسيقية", + "filler": "حشو جانبي", + "filler_desc": "مشاهد جانبية تُضاف فقط كحشو أو للفكاهة" + }, + "video_info": { + "channel": "القناة", + "views": "المشاهدات", + "likes": "الإعجابات", + "upload_date": "تاريخ الرفع", + "duration": "المدة", + "unknown_channel": "قناة غير معروفة", + "unknown_date": "تاريخ غير معروف", + "unknown_title": "عنوان غير معروف" + }, + "command": { + "running": "جاري التشغيل...", + "run_command": "تشغيل الأمر" + }, + "selection": { + "none_selected": "0 محدد", + "one_selected": "فئة واحدة محددة", + "count_selected": "{count} محدد" + }, + "status": { + "ready": "جاهز", + "file_exists": "⚠️ الملف موجود بالفعل", + "cancelling": "جاري إلغاء التنزيل..." + } +} \ No newline at end of file diff --git a/languages/de.json b/languages/de.json index 4aaf420..1056157 100644 --- a/languages/de.json +++ b/languages/de.json @@ -16,6 +16,7 @@ "turkish": "Türkisch", "polish": "Polnisch", "italian": "Italienisch", + "arabic": "Arabisch", "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." }, diff --git a/languages/en.json b/languages/en.json index f09eb5b..67070f2 100644 --- a/languages/en.json +++ b/languages/en.json @@ -16,6 +16,7 @@ "turkish": "Türkçe (Turkish)", "polish": "Polski (Polish)", "italian": "Italiano (Italian)", + "arabic": "العربية (Arabic)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index 4769b72..86b4f5e 100644 --- a/languages/es.json +++ b/languages/es.json @@ -15,7 +15,8 @@ "indonesian": "Indonesio", "turkish": "Turco", "polish": "Polaco", - "italian": "Italiano" + "italian": "Italiano", + "arabic": "Árabe" }, "app": { "title": "YTSage", diff --git a/languages/fr.json b/languages/fr.json index 8e362b4..9296916 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -16,6 +16,7 @@ "turkish": "Turc", "polish": "Polonais", "italian": "Italien", + "arabic": "Arabe", "help_text": "Sélectionnez votre langue préférée pour l'interface.", "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." }, diff --git a/languages/hi.json b/languages/hi.json index bdd349e..9c3762a 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -16,6 +16,7 @@ "turkish": "तुर्की", "polish": "पोलिश", "italian": "इतालवी", + "arabic": "अरबी", "help_text": "इंटरफेस के लिए अपनी पसंदीदा भाषा चुनें।", "restart_notice": "भाषा परिवर्तन एप्लिकेशन पुनरारंभ के बाद प्रभावी होगा।" }, diff --git a/languages/id.json b/languages/id.json index ef9def4..b97a885 100644 --- a/languages/id.json +++ b/languages/id.json @@ -16,6 +16,7 @@ "turkish": "Bahasa Turki", "polish": "Bahasa Polandia", "italian": "Bahasa Italia", + "arabic": "Bahasa Arab", "help_text": "Pilih bahasa yang diinginkan untuk antarmuka.", "restart_notice": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi." }, diff --git a/languages/it.json b/languages/it.json index 146c95d..52c5311 100644 --- a/languages/it.json +++ b/languages/it.json @@ -16,6 +16,7 @@ "turkish": "Turco", "polish": "Polacco", "italian": "Italiano", + "arabic": "Arabo", "help_text": "Seleziona la lingua preferita per l'interfaccia.", "restart_notice": "Il cambio di lingua avrà effetto dopo il riavvio dell'applicazione." }, diff --git a/languages/pl.json b/languages/pl.json index f7eb923..8ab0bbb 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -16,6 +16,7 @@ "turkish": "Turecki", "polish": "Polski", "italian": "Włoski", + "arabic": "Arabski", "help_text": "Wybierz preferowany język interfejsu.", "restart_notice": "Zmiana języka zostanie zastosowana po ponownym uruchomieniu aplikacji." }, diff --git a/languages/pt.json b/languages/pt.json index 2f53c57..6a9dd93 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -16,6 +16,7 @@ "turkish": "Turco", "polish": "Polonês", "italian": "Italiano", + "arabic": "Árabe", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index a6cb6fd..f3c3030 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -16,6 +16,7 @@ "turkish": "Турецкий", "polish": "Польский", "italian": "Итальянский", + "arabic": "Арабский", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/tr.json b/languages/tr.json index 70c8764..e06b6d6 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -16,6 +16,7 @@ "turkish": "Türkçe", "polish": "Lehçe", "italian": "İtalyanca", + "arabic": "Arapça", "help_text": "Arayüz için tercih ettiğiniz dili seçin.", "restart_notice": "Dil değişikliği uygulamayı yeniden başlattıktan sonra geçerli olacaktır." }, diff --git a/languages/zh.json b/languages/zh.json index 9d18921..39702f1 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -16,6 +16,7 @@ "turkish": "土耳其语", "polish": "波兰语", "italian": "意大利语", + "arabic": "阿拉伯语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 89f5ed3..b4c79ec 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -264,15 +264,15 @@ class FormatTableMixin: # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) - # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, French, Hindi, Indonesian, Turkish, Polish, and Italian terms) + # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, French, Hindi, Indonesian, Turkish, Polish, Italian, and Arabic terms) quality_lower = quality_text.lower() # Make comparison case-insensitive - if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi", "Najlepsza", "Najlepszy", "Najlepsze", "Migliore", "Miglior"]): + if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi", "Najlepsza", "Najlepszy", "Najlepsze", "Migliore", "Miglior", "الأفضل", "أفضل"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie", "Alta", "Audio alto"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie", "Alta", "Audio alto", "عالية", "عالي", "صوت عالي"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie", "Media", "Audio medio"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie", "Media", "Audio medio", "متوسطة", "متوسط", "صوت متوسط"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite", "Niska", "Niski", "Niskie", "Bassa", "Audio basso", "Bassa qualità"]): + elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite", "Niska", "Niski", "Niskie", "Bassa", "Audio basso", "Bassa qualità", "منخفضة", "منخفض", "صوت منخفض", "جودة منخفضة"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 6b9bb1c..48544b9 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -91,7 +91,8 @@ class LocalizationManager: "indonesian": "Bahasa Indonesia (Indonesian)", "turkish": "Türkçe (Turkish)", "polish": "Polski (Polish)", - "italian": "Italiano (Italian)" + "italian": "Italiano (Italian)", + "arabic": "العربية (Arabic)" }, "download": { "preparing": "🚀 Preparing your download...", From f85e3a6a8311dda29a4306904f092a5163cc03b2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 2 Oct 2025 18:28:04 +0300 Subject: [PATCH 224/568] Add Japanese localization and update language support Added a new Japanese translation file (ja.json) and updated all language files to include Japanese in the language selection. Updated quality label color detection in ytsage_gui_format_table.py to support Japanese terms, and registered Japanese in the default language list in ytsage_localization.py. --- languages/ar.json | 1 + languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 3 +- languages/fr.json | 1 + languages/hi.json | 1 + languages/id.json | 1 + languages/it.json | 1 + languages/ja.json | 338 +++++++++++++++++++++++++++++ languages/pl.json | 1 + languages/pt.json | 1 + languages/ru.json | 1 + languages/tr.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 10 +- src/utils/ytsage_localization.py | 3 +- 16 files changed, 359 insertions(+), 7 deletions(-) create mode 100644 languages/ja.json diff --git a/languages/ar.json b/languages/ar.json index d235e30..95cf234 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -17,6 +17,7 @@ "polish": "البولندية", "italian": "الإيطالية", "arabic": "العربية", + "japanese": "اليابانية", "help_text": "اختر اللغة المفضلة للواجهة.", "restart_notice": "سيتم تطبيق تغيير اللغة بعد إعادة تشغيل التطبيق." }, diff --git a/languages/de.json b/languages/de.json index 1056157..e2afb9e 100644 --- a/languages/de.json +++ b/languages/de.json @@ -17,6 +17,7 @@ "polish": "Polnisch", "italian": "Italienisch", "arabic": "Arabisch", + "japanese": "Japanisch", "help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.", "restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam." }, diff --git a/languages/en.json b/languages/en.json index 67070f2..f515192 100644 --- a/languages/en.json +++ b/languages/en.json @@ -17,6 +17,7 @@ "polish": "Polski (Polish)", "italian": "Italiano (Italian)", "arabic": "العربية (Arabic)", + "japanese": "日本語 (Japanese)", "help_text": "Select your preferred language for the interface.", "restart_notice": "Language change will take effect after restarting the application." }, diff --git a/languages/es.json b/languages/es.json index 86b4f5e..68ce558 100644 --- a/languages/es.json +++ b/languages/es.json @@ -16,7 +16,8 @@ "turkish": "Turco", "polish": "Polaco", "italian": "Italiano", - "arabic": "Árabe" + "arabic": "Árabe", + "japanese": "Japonés" }, "app": { "title": "YTSage", diff --git a/languages/fr.json b/languages/fr.json index 9296916..be3cc05 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -17,6 +17,7 @@ "polish": "Polonais", "italian": "Italien", "arabic": "Arabe", + "japanese": "Japonais", "help_text": "Sélectionnez votre langue préférée pour l'interface.", "restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application." }, diff --git a/languages/hi.json b/languages/hi.json index 9c3762a..0daaa7a 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -17,6 +17,7 @@ "polish": "पोलिश", "italian": "इतालवी", "arabic": "अरबी", + "japanese": "जापानी", "help_text": "इंटरफेस के लिए अपनी पसंदीदा भाषा चुनें।", "restart_notice": "भाषा परिवर्तन एप्लिकेशन पुनरारंभ के बाद प्रभावी होगा।" }, diff --git a/languages/id.json b/languages/id.json index b97a885..1e0cebf 100644 --- a/languages/id.json +++ b/languages/id.json @@ -17,6 +17,7 @@ "polish": "Bahasa Polandia", "italian": "Bahasa Italia", "arabic": "Bahasa Arab", + "japanese": "Bahasa Jepang", "help_text": "Pilih bahasa yang diinginkan untuk antarmuka.", "restart_notice": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi." }, diff --git a/languages/it.json b/languages/it.json index 52c5311..379661b 100644 --- a/languages/it.json +++ b/languages/it.json @@ -17,6 +17,7 @@ "polish": "Polacco", "italian": "Italiano", "arabic": "Arabo", + "japanese": "Giapponese", "help_text": "Seleziona la lingua preferita per l'interfaccia.", "restart_notice": "Il cambio di lingua avrà effetto dopo il riavvio dell'applicazione." }, diff --git a/languages/ja.json b/languages/ja.json new file mode 100644 index 0000000..4736feb --- /dev/null +++ b/languages/ja.json @@ -0,0 +1,338 @@ +{ + "language": { + "display_name": "日本語 (Japanese)", + "select_language": "言語を選択:", + "current_language": "現在の言語: {language}", + "restart_required": "言語の変更はアプリケーションの再起動後に有効になります。", + "english": "英語", + "spanish": "スペイン語", + "portuguese": "ポルトガル語", + "russian": "ロシア語", + "chinese": "中国語", + "german": "ドイツ語", + "french": "フランス語", + "hindi": "ヒンディー語", + "indonesian": "インドネシア語", + "turkish": "トルコ語", + "polish": "ポーランド語", + "italian": "イタリア語", + "arabic": "アラビア語", + "japanese": "日本語", + "help_text": "インターフェースの言語を選択してください。", + "restart_notice": "言語の変更はアプリケーションの再起動後に有効になります。" + }, + "app": { + "title": "YTSage", + "version": "v{version}", + "ready": "準備完了" + }, + "formats": { + "show_formats": "フォーマットを表示:", + "video_format": "動画フォーマット:", + "audio_format": "音声フォーマット:", + "no_formats": "利用可能なフォーマットがありません", + "loading": "フォーマットを読み込み中...", + "select": "選択", + "quality": "品質", + "extension": "拡張子", + "resolution": "解像度", + "file_size": "ファイルサイズ", + "codec": "コーデック", + "audio": "音声", + "notes": "備考", + "will_merge_audio": "音声が結合されます", + "has_audio": "✓ 音声あり", + "audio_only": "音声のみ", + "large_size": "大サイズ", + "medium_size": "中サイズ", + "standard_size": "標準サイズ", + "compatible": "互換性あり", + "efficient": "効率的", + "high_quality": "高品質", + "best_4k": "最高 (4K)", + "best_2k": "最高 (2K)", + "high_1080p": "高 (1080p)", + "high_720p": "高 (720p)", + "medium_480p": "中 (480p)", + "low_quality": "低品質", + "best_audio": "最高音質", + "high_audio": "高音質", + "medium_audio": "中音質", + "low_audio": "低音質", + "audio_only_resolution": "音声のみ" + }, + "buttons": { + "download": "ダウンロード", + "pause": "一時停止", + "resume": "再開", + "cancel": "キャンセル", + "browse": "参照", + "clear": "クリア", + "ok": "OK", + "apply": "適用", + "close": "閉じる", + "run_command": "コマンド実行", + "custom_command_help": "ヘルプ", + "about": "バージョン情報", + "analyze": "解析", + "paste_url": "URLを貼り付け", + "select_videos": "動画を選択...", + "video": "動画", + "audio_only": "音声のみ", + "custom_options": "カスタムオプション", + "trim_video": "動画をトリミング", + "download_settings": "ダウンロード設定", + "update": "yt-dlpを更新", + "select_defaults": "デフォルトを選択", + "select_all": "すべて選択", + "deselect_all": "すべて解除" + }, + "dialogs": { + "custom_options": "カスタムオプション", + "settings": "設定", + "select_folder": "ダウンロードフォルダを選択", + "sponsorblock_categories": "SponsorBlockカテゴリ", + "sponsorblock_description": "ダウンロード時に自動的に削除する動画セグメントの種類を選択してください。\nSponsorBlockはコミュニティ提供のデータを使用してこれらのセグメントを識別します。", + "select_subtitles": "字幕を選択", + "filter_languages_placeholder": "言語でフィルタ (例: ja, en)...", + "no_subtitles_available": "利用可能な字幕がありません", + "matching": "一致" + }, + "tabs": { + "cookies": "Cookieでログイン", + "custom_command": "カスタムコマンド", + "proxy": "プロキシ", + "language": "言語" + }, + "cookies": { + "help_text": "認証用のCookieを提供する方法を選択してください。\nこれにより、プライベート動画や高品質の音声ファイルをダウンロードできます。", + "cookie_source": "Cookieソース", + "use_cookie_file": "Cookieファイルを使用", + "extract_from_browser": "ブラウザから抽出", + "cookie_file": "Cookieファイル", + "cookie_file_placeholder": "cookies.txtへのパス...", + "browser_selection": "ブラウザ選択", + "browser_help": "Cookieを抽出するブラウザを選択してください:", + "browser_label": "ブラウザ:", + "profile_label": "プロファイル:", + "profile_placeholder": "デフォルト", + "browser_extract_message": "ブラウザのCookieは適用後に抽出されます", + "file_selected_message": "Cookieファイルが選択されました - OKをクリックして適用", + "select_file_title": "Cookieファイルを選択", + "file_filter": "Cookieファイル (*.txt *.lwp)" + }, + "custom_command": { + "help_text": "以下にカスタムyt-dlpコマンドを入力してください。現在のURLは自動的に追加されます。

オプションの完全なリストと使用例については、こちらをクリックしてyt-dlp公式ドキュメントを参照してください

注: ダウンロードパスとファイル名テンプレートは自動的に処理されます。", + "input_label": "yt-dlp引数:", + "input_placeholder": "yt-dlp引数をここに入力...\n\n例: --extract-audio --audio-format mp3", + "output_label": "コマンド出力:", + "output_placeholder": "コマンド出力がここに表示されます...", + "command_placeholder": "カスタムyt-dlpコマンドを入力...", + "command_help": "使用可能なプレースホルダー:\n{url} - 動画URL\n{output} - 出力フォルダ\n\n例: --write-info-json --write-thumbnail", + "full_command": "🔧 完全なコマンド: {command}", + "command_success": "✅ カスタムコマンドが正常に実行されました!", + "command_failed": "❌ コマンドが終了コード{code}で失敗しました", + "command_error": "❌ カスタムコマンドの実行エラー: {error}" + }, + "proxy": { + "help_text": "ダウンロード用のプロキシ設定を構成します。直接接続の場合は空白のままにしてください。", + "main_proxy": "メインプロキシ", + "main_proxy_help": "すべてのダウンロード用のメインプロキシサーバー。HTTP/HTTPSおよびSOCKS5プロトコルをサポートします。", + "proxy_url_label": "プロキシURL:", + "proxy_url_placeholder": "http://proxy:port または socks5://proxy:port", + "proxy_examples": "例:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080", + "geo_proxy": "地域制限回避プロキシ", + "geo_proxy_help": "地域制限を回避するための追加プロキシ。", + "geo_proxy_url_label": "地域制限回避プロキシURL:", + "geo_proxy_url_placeholder": "http://geo-proxy:port", + "clear_main_proxy": "メインプロキシをクリア", + "clear_geo_proxy": "地域プロキシをクリア", + "proxy_url": "プロキシURL", + "proxy_placeholder": "http://proxy:port または socks5://proxy:port", + "geo_bypass": "地域制限回避プロキシ (地域制限用)", + "geo_bypass_placeholder": "http://proxy:port 地域ブロック回避用", + "invalid_main_url": "メインプロキシのURL形式が無効です", + "invalid_geo_url": "地域プロキシのURL形式が無効です", + "main_configured": "メインプロキシが設定されました", + "geo_configured": "地域プロキシが設定されました" + }, + "download": { + "preparing": "ダウンロードを準備中...", + "please_enter_url": "最初にURLを入力してください。", + "please_set_path": "最初にダウンロードパスを設定してください。", + "please_enter_url_and_path": "URLを入力してダウンロードパスを設定してください。", + "please_select_format": "最初にフォーマットを選択してください。" + }, + "update": { + "title": "yt-dlpを更新", + "checking": "アップデートを確認中...", + "update_available": "アップデートが利用可能です!\n現在のバージョン: {current}\n最新バージョン: {latest}", + "up_to_date": "yt-dlpは最新です (バージョン {version})", + "could_not_determine": "バージョンを確認できませんでした。", + "error_comparing": "バージョン比較エラー: {error}", + "update_available_failed": "アップデートが利用可能です!(比較失敗)\n現在: {current}\n最新: {latest}", + "updating": "更新中...", + "initializing": "🚀 更新プロセスを初期化中...", + "checking_current": "🔍 現在のインストールを確認中...", + "found_at": "📍 yt-dlpが見つかりました: {path}", + "error_getting_path": "❌ yt-dlpパスの取得エラー: {error}", + "updating_binary": "📦 アプリ管理のyt-dlpバイナリを更新中...", + "updating_pip": "🐍 pipでシステムyt-dlpを更新中...", + "update_failed": "❌ yt-dlpの更新に失敗しました。もう一度試すか、インターネット接続を確認してください。", + "binary_updated": "✅ バイナリが正常に更新されました!", + "update_failed_stderr": "❌ yt-dlpの更新に失敗しました: {error}", + "update_timeout": "❌ yt-dlp更新がタイムアウトしました。", + "unexpected_error": "❌ 更新中に予期しないエラーが発生しました: {error}", + "checking_pip": "🔍 現在のpipインストールを確認中...", + "current_version": "📋 現在のバージョン: {version}", + "not_found_pip": "⚠️ pipでyt-dlpが見つかりません、インストールを試みています...", + "checking_latest": "🌐 最新バージョンを確認中...", + "failed_check_updates": "❌ アップデートの確認に失敗しました", + "latest_version": "🆕 最新バージョン: {version}", + "updating_from_to": "⬆️ {current}から{latest}に更新中...", + "running_pip_install": "📦 pip install --upgradeを実行中...", + "pip_completed": "✅ pipの更新が正常に完了しました!", + "pip_failed": "❌ pipの更新に失敗しました: {error}" + }, + "about": { + "title": "YTSageについて", + "version": "バージョン {version}", + "description": "クリーンなPySide6インターフェースを備えたモダンなYouTubeダウンローダー。", + "author": "作成者: {author}", + "github": "GitHub: {repo}", + "system_info": "システム情報", + "loading": "🔄 システム情報を読み込み中...", + "refresh": "🔄", + "refreshing": "🔄 更新中...", + "refresh_failed": "更新に失敗しました", + "refresh_failed_message": "バージョン情報を更新できませんでした。", + "detected": "✓ 検出済み", + "missing": "✗ 不足", + "not_available": "利用不可" + }, + "time_range": { + "title": "動画をトリミング", + "time_range_group": "時間範囲", + "start_time": "開始時間 (HH:MM:SS)", + "end_time": "終了時間 (HH:MM:SS)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "start_time_placeholder": "開始時間 (HH:MM:SS)", + "end_time_placeholder": "終了時間 (HH:MM:SS)", + "force_keyframes": "カットポイントでキーフレームを強制", + "help_text": "動画をトリミングするには開始時間と終了時間を設定してください。\n完全な動画をダウンロードする場合は空白のままにしてください。", + "invalid_format": "時間フォーマットが無効です。HH:MM:SSフォーマットを使用してください。", + "start_after_end": "開始時間を終了時間より後にすることはできません。" + }, + "settings": { + "title": "ダウンロード設定", + "download_path": "ダウンロードパス", + "browse": "参照...", + "speed_limit": "速度制限", + "speed_limit_placeholder": "なし", + "auto_update_ytdlp": "yt-dlp自動更新", + "enable_auto_updates": "yt-dlp自動更新を有効化", + "update_frequency": "更新頻度:", + "check_startup": "起動時に毎回確認 (チェック間隔は最低1時間)", + "check_daily": "毎日確認", + "check_weekly": "毎週確認", + "check_updates_now": "今すぐ更新を確認", + "update_check_title": "更新確認", + "could_not_determine_version": "yt-dlpの現在のバージョンを確認できませんでした。", + "update_available_dialog": "アップデートが利用可能です!\n\n現在: {current}\n最新: {latest}\n\nメインウィンドウの「yt-dlpを更新」ボタンを使用して更新してください。", + "up_to_date_dialog": "yt-dlpは最新です!\n\n現在のバージョン: {version}", + "error_checking_updates": "更新確認エラー: {error}", + "settings_saved_title": "設定を保存しました", + "settings_saved_message": "自動更新設定が正常に保存されました!", + "error_title": "エラー", + "failed_save_settings": "自動更新設定の保存に失敗しました。", + "error_saving_settings": "自動更新設定の保存エラー: {error}", + "auto_update_title": "自動更新設定", + "auto_update_header": "🔄 自動更新設定", + "auto_update_description": "yt-dlpの自動更新を設定して、最新の機能とバグ修正を確実に入手してください。", + "current_status": "現在のステータス", + "current_version_label": "現在のyt-dlpバージョン: 確認中...", + "last_check_label": "最終更新確認: なし", + "next_check_label": "次回確認: 設定に基づく", + "manual_check_button": "🔍 今すぐ更新を確認", + "update_frequency_group": "更新頻度", + "save_settings": "設定を保存", + "settings_saved_successfully": "✅ 設定が正常に保存されました!", + "error_saving": "❌ 設定の保存エラー: {error}" + }, + "main_ui": { + "url_placeholder": "YouTubeの動画URLまたはプレイリストURLを入力", + "merge_subtitles": "字幕を結合", + "save_thumbnail": "サムネイルを保存", + "save_description": "説明を保存", + "embed_chapters": "チャプターを埋め込む", + "subtitles_selected": "{count}個選択", + "all_selected": "すべて選択済み", + "select_videos_all": "動画を選択... (すべて選択済み)", + "please_enter_url": "最初にURLを入力してください", + "cookie_file_selected_title": "Cookieファイルが選択されました", + "cookie_file_selected_message": "選択されたCookieファイル: {path}", + "browser_cookies_selected_title": "ブラウザCookieが選択されました", + "browser_cookies_selected_message": "ブラウザCookieが抽出されます: {browser}", + "error_no_format_info": "エラー: 利用可能なフォーマット情報がありません。", + "error_extract_info": "エラー: 基本的な動画情報を抽出できませんでした。リンクを確認してください。", + "analyzing_preparing": "解析中 (0%)... リクエストを準備中", + "analyzing_extracting_basic": "解析中 (15%)... 基本情報を抽出中", + "analyzing_extracting_detailed": "解析中 (30%)... 詳細情報を抽出中", + "analyzing_processing_video": "解析中 (45%)... 動画データを処理中", + "analyzing_processing_formats": "解析中 (60%)... フォーマットを処理中", + "analyzing_loading_thumbnail": "解析中 (75%)... サムネイルを読み込み中", + "analyzing_processing_subtitles": "解析中 (85%)... 字幕を処理中", + "analyzing_updating_table": "解析中 (95%)... フォーマットテーブルを更新中", + "analysis_complete": "解析完了!", + "analyzing_extracting_ytdlp": "解析中 (30%)... yt-dlp実行ファイルを使用して情報を抽出中", + "analyzing_processing_data": "解析中 (60%)... データを処理中", + "analyzing_processing_formats_ytdlp": "解析中 (75%)... フォーマットを処理中", + "analyzing_loading_thumbnail_ytdlp": "解析中 (85%)... サムネイルを読み込み中", + "analyzing_processing_subtitles_ytdlp": "解析中 (90%)... 字幕を処理中", + "select_subtitles": "字幕を選択...", + "sponsorblock_categories": "SponsorBlockカテゴリ..." + }, + "sponsorblock": { + "sponsor": "スポンサー", + "sponsor_desc": "有料広告、有料推薦、直接広告", + "selfpromo": "無報酬/自己宣伝", + "selfpromo_desc": "クリエイター自身のコンテンツの無報酬プロモーション", + "interaction": "インタラクションリマインダー", + "interaction_desc": "視聴者に「いいね」、登録、ソーシャルメディアでのフォローを求める", + "intro": "イントロ", + "intro_desc": "スキップ可能な動画のイントロ", + "outro": "アウトロ/エンドカード", + "outro_desc": "エンドクレジットまたは動画の終了", + "preview": "プレビュー/要約", + "preview_desc": "前回の動画の短い要約または今後のコンテンツのプレビュー", + "music_offtopic": "非音楽セクション", + "music_offtopic_desc": "音楽動画のみ。非音楽セクションを示す", + "filler": "余談フィラー", + "filler_desc": "フィラーやユーモアのためだけに追加された余談シーン" + }, + "video_info": { + "channel": "チャンネル", + "views": "視聴回数", + "likes": "いいね", + "upload_date": "アップロード日", + "duration": "長さ", + "unknown_channel": "不明なチャンネル", + "unknown_date": "不明な日付", + "unknown_title": "不明なタイトル" + }, + "command": { + "running": "実行中...", + "run_command": "コマンド実行" + }, + "selection": { + "none_selected": "0個選択", + "one_selected": "1カテゴリ選択", + "count_selected": "{count}個選択" + }, + "status": { + "ready": "準備完了", + "file_exists": "⚠️ ファイルが既に存在します", + "cancelling": "ダウンロードをキャンセル中..." + } +} \ No newline at end of file diff --git a/languages/pl.json b/languages/pl.json index 8ab0bbb..9ac5bf3 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -17,6 +17,7 @@ "polish": "Polski", "italian": "Włoski", "arabic": "Arabski", + "japanese": "Japoński", "help_text": "Wybierz preferowany język interfejsu.", "restart_notice": "Zmiana języka zostanie zastosowana po ponownym uruchomieniu aplikacji." }, diff --git a/languages/pt.json b/languages/pt.json index 6a9dd93..3e2bfd3 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -17,6 +17,7 @@ "polish": "Polonês", "italian": "Italiano", "arabic": "Árabe", + "japanese": "Japonês", "help_text": "Selecione seu idioma preferido para a interface.", "restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação." }, diff --git a/languages/ru.json b/languages/ru.json index f3c3030..21bc797 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -17,6 +17,7 @@ "polish": "Польский", "italian": "Итальянский", "arabic": "Арабский", + "japanese": "Японский", "help_text": "Выберите предпочитаемый язык для интерфейса.", "restart_notice": "Изменение языка вступит в силу после перезапуска приложения." }, diff --git a/languages/tr.json b/languages/tr.json index e06b6d6..78a075e 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -17,6 +17,7 @@ "polish": "Lehçe", "italian": "İtalyanca", "arabic": "Arapça", + "japanese": "Japonca", "help_text": "Arayüz için tercih ettiğiniz dili seçin.", "restart_notice": "Dil değişikliği uygulamayı yeniden başlattıktan sonra geçerli olacaktır." }, diff --git a/languages/zh.json b/languages/zh.json index 39702f1..e49884f 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -17,6 +17,7 @@ "polish": "波兰语", "italian": "意大利语", "arabic": "阿拉伯语", + "japanese": "日语", "help_text": "选择您喜欢的界面语言。", "restart_notice": "语言更改将在重启应用程序后生效。" }, diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index b4c79ec..c4f0467 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -264,15 +264,15 @@ class FormatTableMixin: # Column 1: Quality (Always shown) quality_text = self.get_quality_label(f) quality_item = QTableWidgetItem(quality_text) - # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, French, Hindi, Indonesian, Turkish, Polish, Italian, and Arabic terms) + # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, French, Hindi, Indonesian, Turkish, Polish, Italian, Arabic, and Japanese terms) quality_lower = quality_text.lower() # Make comparison case-insensitive - if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi", "Najlepsza", "Najlepszy", "Najlepsze", "Migliore", "Miglior", "الأفضل", "أفضل"]): + if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi", "Najlepsza", "Najlepszy", "Najlepsze", "Migliore", "Miglior", "الأفضل", "أفضل", "最高"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie", "Alta", "Audio alto", "عالية", "عالي", "صوت عالي"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie", "Alta", "Audio alto", "عالية", "عالي", "صوت عالي", "高", "高音質"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie", "Media", "Audio medio", "متوسطة", "متوسط", "صوت متوسط"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie", "Media", "Audio medio", "متوسطة", "متوسط", "صوت متوسط", "中", "中音質"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality - elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite", "Niska", "Niski", "Niskie", "Bassa", "Audio basso", "Bassa qualità", "منخفضة", "منخفض", "صوت منخفض", "جودة منخفضة"]): + elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite", "Niska", "Niski", "Niskie", "Bassa", "Audio basso", "Bassa qualità", "منخفضة", "منخفض", "صوت منخفض", "جودة منخفضة", "低", "低音質", "低品質"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 48544b9..1116fb5 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -92,7 +92,8 @@ class LocalizationManager: "turkish": "Türkçe (Turkish)", "polish": "Polski (Polish)", "italian": "Italiano (Italian)", - "arabic": "العربية (Arabic)" + "arabic": "العربية (Arabic)", + "japanese": "日本語 (Japanese)" }, "download": { "preparing": "🚀 Preparing your download...", From f461e9480b948ac772ac9621a893271998ea8d14 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 2 Oct 2025 19:37:11 +0300 Subject: [PATCH 225/568] Increase select column width in format table The select column width in the format table was increased from 50 to 80 pixels to better accommodate longer translations. This change ensures consistent column sizing across different table setups. --- src/gui/ytsage_gui_format_table.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index c4f0467..9be5186 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -40,7 +40,7 @@ class FormatTableMixin: # Set specific column widths and resize modes self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) # Select - self.format_table.setColumnWidth(0, 50) # Select column width + self.format_table.setColumnWidth(0, 80) # Select column width (increased for longer translations) self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) # Quality self.format_table.setColumnWidth(1, 100) # Quality width @@ -194,7 +194,7 @@ class FormatTableMixin: # Set specific resize modes for playlist columns self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(0, 50) + self.format_table.setColumnWidth(0, 80) # Match the width set in setup_format_table self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch) self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Stretch) @@ -220,7 +220,7 @@ class FormatTableMixin: # Reapply resize modes for non-playlist mode if needed (optional, might be okay without) self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(0, 50) + self.format_table.setColumnWidth(0, 80) # Match the width set in setup_format_table self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) self.format_table.setColumnWidth(1, 100) self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) From d81adc4781b8f7468cdfdda971052a2c91bb4fef Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 2 Oct 2025 21:16:27 +0300 Subject: [PATCH 226/568] Replace notes column with FPS in format table The format table now displays FPS (frame rate) instead of notes in both playlist and normal modes. All translations were updated to remove the 'notes' and related size/quality fields, replacing them with 'fps'. The table column widths were adjusted for better visibility, and FPS values are color-coded based on their value. The obsolete _get_format_notes method was removed. --- languages/ar.json | 9 +- languages/de.json | 9 +- languages/en.json | 9 +- languages/es.json | 9 +- languages/fr.json | 9 +- languages/hi.json | 9 +- languages/id.json | 9 +- languages/it.json | 9 +- languages/ja.json | 9 +- languages/pl.json | 9 +- languages/pt.json | 9 +- languages/ru.json | 9 +- languages/tr.json | 9 +- languages/zh.json | 9 +- src/gui/ytsage_gui_format_table.py | 148 +++++++++++++---------------- 15 files changed, 95 insertions(+), 179 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index 95cf234..e7253ea 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -39,16 +39,11 @@ "file_size": "حجم الملف", "codec": "الترميز", "audio": "الصوت", - "notes": "ملاحظات", + "fps": "إطار/ث", "will_merge_audio": "سيتم دمج الصوت", "has_audio": "✓ يحتوي على صوت", "audio_only": "صوت فقط", - "large_size": "حجم كبير", - "medium_size": "حجم متوسط", - "standard_size": "حجم قياسي", - "compatible": "متوافق", - "efficient": "فعال", - "high_quality": "جودة عالية", + "best_4k": "الأفضل (4K)", "best_2k": "الأفضل (2K)", "high_1080p": "عالية (1080p)", diff --git a/languages/de.json b/languages/de.json index e2afb9e..9f98326 100644 --- a/languages/de.json +++ b/languages/de.json @@ -39,16 +39,11 @@ "file_size": "Dateigröße", "codec": "Codec", "audio": "Audio", - "notes": "Notizen", + "fps": "FPS", "will_merge_audio": "Audio wird zusammengeführt", "has_audio": "✓ Hat Audio", "audio_only": "Nur Audio", - "large_size": "Große Größe", - "medium_size": "Mittlere Größe", - "standard_size": "Standardgröße", - "compatible": "Kompatibel", - "efficient": "Effizient", - "high_quality": "Hohe Qualität", + "best_4k": "Beste (4K)", "best_2k": "Beste (2K)", "high_1080p": "Hoch (1080p)", diff --git a/languages/en.json b/languages/en.json index f515192..bb5f6c6 100644 --- a/languages/en.json +++ b/languages/en.json @@ -39,16 +39,11 @@ "file_size": "File Size", "codec": "Codec", "audio": "Audio", - "notes": "Notes", + "fps": "FPS", "will_merge_audio": "Will merge audio", "has_audio": "✓ Has Audio", "audio_only": "Audio Only", - "large_size": "Large size", - "medium_size": "Medium size", - "standard_size": "Standard size", - "compatible": "Compatible", - "efficient": "Efficient", - "high_quality": "High quality", + "best_4k": "Best (4K)", "best_2k": "Best (2K)", "high_1080p": "High (1080p)", diff --git a/languages/es.json b/languages/es.json index 68ce558..05dbf62 100644 --- a/languages/es.json +++ b/languages/es.json @@ -132,16 +132,11 @@ "file_size": "Tamaño", "codec": "Códec", "audio": "Audio", - "notes": "Notas", + "fps": "FPS", "will_merge_audio": "Se combinará audio", "has_audio": "✓ Tiene Audio", "audio_only": "Solo Audio", - "large_size": "Tamaño grande", - "medium_size": "Tamaño mediano", - "standard_size": "Tamaño estándar", - "compatible": "Compatible", - "efficient": "Eficiente", - "high_quality": "Alta calidad", + "best_4k": "Óptima (4K)", "best_2k": "Óptima (2K)", "high_1080p": "Alta (1080p)", diff --git a/languages/fr.json b/languages/fr.json index be3cc05..365d266 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -39,16 +39,11 @@ "file_size": "Taille du fichier", "codec": "Codec", "audio": "Audio", - "notes": "Notes", + "fps": "IPS", "will_merge_audio": "L'audio sera fusionné", "has_audio": "✓ Contient de l'audio", "audio_only": "Audio uniquement", - "large_size": "Taille importante", - "medium_size": "Taille moyenne", - "standard_size": "Taille standard", - "compatible": "Compatible", - "efficient": "Efficace", - "high_quality": "Haute qualité", + "best_4k": "Meilleure (4K)", "best_2k": "Meilleure (2K)", "high_1080p": "Haute (1080p)", diff --git a/languages/hi.json b/languages/hi.json index 0daaa7a..253449e 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -39,16 +39,11 @@ "file_size": "फ़ाइल आकार", "codec": "कोडेक", "audio": "ऑडियो", - "notes": "नोट्स", + "fps": "फ्रेम दर", "will_merge_audio": "ऑडियो मर्ज किया जाएगा", "has_audio": "✓ ऑडियो है", "audio_only": "केवल ऑडियो", - "large_size": "बड़ा आकार", - "medium_size": "मध्यम आकार", - "standard_size": "मानक आकार", - "compatible": "संगत", - "efficient": "कुशल", - "high_quality": "उच्च गुणवत्ता", + "best_4k": "सर्वोत्तम (4K)", "best_2k": "सर्वोत्तम (2K)", "high_1080p": "उच्च (1080p)", diff --git a/languages/id.json b/languages/id.json index 1e0cebf..54375c6 100644 --- a/languages/id.json +++ b/languages/id.json @@ -39,16 +39,11 @@ "file_size": "Ukuran file", "codec": "Codec", "audio": "Audio", - "notes": "Catatan", + "fps": "FPS", "will_merge_audio": "Audio akan digabungkan", "has_audio": "✓ Memiliki audio", "audio_only": "Audio saja", - "large_size": "Ukuran besar", - "medium_size": "Ukuran sedang", - "standard_size": "Ukuran standar", - "compatible": "Kompatibel", - "efficient": "Efisien", - "high_quality": "Kualitas tinggi", + "best_4k": "Terbaik (4K)", "best_2k": "Terbaik (2K)", "high_1080p": "Tinggi (1080p)", diff --git a/languages/it.json b/languages/it.json index 379661b..501a5dc 100644 --- a/languages/it.json +++ b/languages/it.json @@ -39,16 +39,11 @@ "file_size": "Dimensione file", "codec": "Codec", "audio": "Audio", - "notes": "Note", + "fps": "FPS", "will_merge_audio": "L'audio verrà unito", "has_audio": "✓ Contiene audio", "audio_only": "Solo audio", - "large_size": "Dimensione grande", - "medium_size": "Dimensione media", - "standard_size": "Dimensione standard", - "compatible": "Compatibile", - "efficient": "Efficiente", - "high_quality": "Alta qualità", + "best_4k": "Migliore (4K)", "best_2k": "Migliore (2K)", "high_1080p": "Alta (1080p)", diff --git a/languages/ja.json b/languages/ja.json index 4736feb..d03c55f 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -39,16 +39,11 @@ "file_size": "ファイルサイズ", "codec": "コーデック", "audio": "音声", - "notes": "備考", + "fps": "FPS", "will_merge_audio": "音声が結合されます", "has_audio": "✓ 音声あり", "audio_only": "音声のみ", - "large_size": "大サイズ", - "medium_size": "中サイズ", - "standard_size": "標準サイズ", - "compatible": "互換性あり", - "efficient": "効率的", - "high_quality": "高品質", + "best_4k": "最高 (4K)", "best_2k": "最高 (2K)", "high_1080p": "高 (1080p)", diff --git a/languages/pl.json b/languages/pl.json index 9ac5bf3..f560a4d 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -39,16 +39,11 @@ "file_size": "Rozmiar pliku", "codec": "Kodek", "audio": "Dźwięk", - "notes": "Notatki", + "fps": "KL/S", "will_merge_audio": "Dźwięk zostanie połączony", "has_audio": "✓ Zawiera dźwięk", "audio_only": "Tylko dźwięk", - "large_size": "Duży rozmiar", - "medium_size": "Średni rozmiar", - "standard_size": "Standardowy rozmiar", - "compatible": "Zgodny", - "efficient": "Wydajny", - "high_quality": "Wysoka jakość", + "best_4k": "Najlepsza (4K)", "best_2k": "Najlepsza (2K)", "high_1080p": "Wysoka (1080p)", diff --git a/languages/pt.json b/languages/pt.json index 3e2bfd3..7f9cefe 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -39,16 +39,11 @@ "file_size": "Tamanho do Arquivo", "codec": "Codec", "audio": "Áudio", - "notes": "Notas", + "fps": "FPS", "will_merge_audio": "Irá mesclar áudio", "has_audio": "✓ Tem Áudio", "audio_only": "Apenas Áudio", - "large_size": "Tamanho grande", - "medium_size": "Tamanho médio", - "standard_size": "Tamanho padrão", - "compatible": "Compatível", - "efficient": "Eficiente", - "high_quality": "Alta qualidade", + "best_4k": "Melhor (4K)", "best_2k": "Melhor (2K)", "high_1080p": "Alta (1080p)", diff --git a/languages/ru.json b/languages/ru.json index 21bc797..9759dd2 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -39,16 +39,11 @@ "file_size": "Размер файла", "codec": "Кодек", "audio": "Аудио", - "notes": "Заметки", + "fps": "Кадр/с", "will_merge_audio": "Объединит аудио", "has_audio": "✓ Есть аудио", "audio_only": "Только аудио", - "large_size": "Большой размер", - "medium_size": "Средний размер", - "standard_size": "Стандартный размер", - "compatible": "Совместимый", - "efficient": "Эффективный", - "high_quality": "Высокое качество", + "best_4k": "Лучшее (4K)", "best_2k": "Лучшее (2K)", "high_1080p": "Высокое (1080p)", diff --git a/languages/tr.json b/languages/tr.json index 78a075e..105717a 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -39,16 +39,11 @@ "file_size": "Dosya boyutu", "codec": "Codec", "audio": "Ses", - "notes": "Notlar", + "fps": "FPS", "will_merge_audio": "Ses birleştirilecek", "has_audio": "✓ Ses var", "audio_only": "Sadece ses", - "large_size": "Büyük boyut", - "medium_size": "Orta boyut", - "standard_size": "Standart boyut", - "compatible": "Uyumlu", - "efficient": "Verimli", - "high_quality": "Yüksek kalite", + "best_4k": "En iyi (4K)", "best_2k": "En iyi (2K)", "high_1080p": "Yüksek (1080p)", diff --git a/languages/zh.json b/languages/zh.json index e49884f..3a34211 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -39,16 +39,11 @@ "file_size": "文件大小", "codec": "编解码器", "audio": "音频", - "notes": "备注", + "fps": "帧率", "will_merge_audio": "将合并音频", "has_audio": "✓ 有音频", "audio_only": "仅音频", - "large_size": "大尺寸", - "medium_size": "中等尺寸", - "standard_size": "标准尺寸", - "compatible": "兼容", - "efficient": "高效", - "high_quality": "高质量", + "best_4k": "最佳 (4K)", "best_2k": "最佳 (2K)", "high_1080p": "高清 (1080p)", diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 9be5186..ecfc410 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -31,7 +31,7 @@ class FormatTableMixin: _("formats.file_size"), _("formats.codec"), _("formats.audio"), - _("formats.notes"), + _("formats.fps"), ] ) @@ -40,27 +40,28 @@ class FormatTableMixin: # Set specific column widths and resize modes self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) # Select - self.format_table.setColumnWidth(0, 80) # Select column width (increased for longer translations) + self.format_table.setColumnWidth(0, 70) # Select column width (slightly reduced) self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) # Quality - self.format_table.setColumnWidth(1, 100) # Quality width + self.format_table.setColumnWidth(1, 110) # Quality width (increased for better visibility) self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) # Extension - self.format_table.setColumnWidth(2, 80) # Extension width + self.format_table.setColumnWidth(2, 85) # Extension width (slightly increased) self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) # Resolution - self.format_table.setColumnWidth(3, 100) # Resolution width + self.format_table.setColumnWidth(3, 110) # Resolution width (increased for better visibility) self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) # File Size - self.format_table.setColumnWidth(4, 100) # File Size width + self.format_table.setColumnWidth(4, 110) # File Size width (increased for better readability) self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) # Codec - self.format_table.setColumnWidth(5, 150) # Codec width + self.format_table.setColumnWidth(5, 160) # Codec width (increased for codec names) self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) # Audio - self.format_table.setColumnWidth(6, 120) # Audio width + self.format_table.setColumnWidth(6, 140) # Audio width (increased for better text visibility) - self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) # Notes (will stretch) + self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) # FPS column stretches to fill + # FPS column will stretch to fill remaining space # Set vertical header (row numbers) visible to false self.format_table.verticalHeader().setVisible(False) @@ -185,7 +186,7 @@ class FormatTableMixin: # Configure columns based on mode if is_playlist_mode: self.format_table.setColumnCount(5) - self.format_table.setHorizontalHeaderLabels([_("formats.select"), _("formats.quality"), _("formats.resolution"), _("formats.notes"), _("formats.audio")]) + self.format_table.setHorizontalHeaderLabels([_("formats.select"), _("formats.quality"), _("formats.resolution"), _("formats.fps"), _("formats.audio")]) # Configure column visibility and resizing for playlist mode self.format_table.setColumnHidden(5, True) @@ -211,37 +212,32 @@ class FormatTableMixin: _("formats.file_size"), _("formats.codec"), _("formats.audio"), - _("formats.notes"), + _("formats.fps"), ] ) # Ensure all columns are visible for i in range(2, 8): self.format_table.setColumnHidden(i, False) - # Reapply resize modes for non-playlist mode if needed (optional, might be okay without) + # Reapply optimized resize modes for non-playlist mode self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(0, 80) # Match the width set in setup_format_table + self.format_table.setColumnWidth(0, 70) # Match the optimized width self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(1, 100) + self.format_table.setColumnWidth(1, 110) self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(2, 80) + self.format_table.setColumnWidth(2, 85) self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(3, 100) + self.format_table.setColumnWidth(3, 110) self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(4, 100) + self.format_table.setColumnWidth(4, 110) self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(5, 150) + self.format_table.setColumnWidth(5, 160) self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(6, 120) + self.format_table.setColumnWidth(6, 140) self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) + # FPS column stretches to fill remaining space + - # Find best quality format for recommendations (only needed for non-playlist mode notes) - best_video_size = 0 - if not is_playlist_mode: - best_video_size = max( - (f.get("filesize", 0) for f in formats if f.get("vcodec") != "none"), - default=0, - ) for f in formats: row = self.format_table.rowCount() @@ -284,18 +280,30 @@ class FormatTableMixin: resolution = _("formats.audio_only_resolution") self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) - # Column 3: Notes for playlist mode, Extension for normal mode + # Column 3: FPS for playlist mode, Extension for normal mode if is_playlist_mode: - # Get notes for playlist mode - notes = self._get_format_notes(f) - notes_item = QTableWidgetItem(notes) - if "✨ Recommended" in notes: - notes_item.setForeground(QColor("#00ff00")) # Green for recommended - elif "💾 Storage friendly" in notes: - notes_item.setForeground(QColor("#00ccff")) # Blue for storage friendly - elif "📱 Mobile friendly" in notes: - notes_item.setForeground(QColor("#ff9900")) # Orange for mobile - self.format_table.setItem(row, 3, notes_item) + # Get FPS for playlist mode + fps_value = f.get("fps") + if fps_value is not None: + # Format FPS value appropriately + if fps_value >= 1: + fps_text = f"{fps_value:.0f}fps" + else: + fps_text = "N/A" # Very low fps like storyboards + else: + fps_text = "N/A" + + fps_item = QTableWidgetItem(fps_text) + # Color code based on FPS value + if fps_value and fps_value >= 60: + fps_item.setForeground(QColor("#00ff00")) # Green for 60+ fps + elif fps_value and fps_value >= 30: + fps_item.setForeground(QColor("#ffaa00")) # Orange for 30+ fps + elif fps_value and fps_value >= 1: + fps_item.setForeground(QColor("#ff5555")) # Red for low fps + else: + fps_item.setForeground(QColor("#888888")) # Gray for N/A + self.format_table.setItem(row, 3, fps_item) else: # Extension for normal mode (column 2) self.format_table.setItem(row, 2, QTableWidgetItem(f.get("ext", "").upper())) @@ -332,16 +340,28 @@ class FormatTableMixin: codec += f" / {f.get('acodec', 'N/A')}" self.format_table.setItem(row, 5, QTableWidgetItem(codec)) - # Column 7: Notes - notes = self._get_format_notes(f) - notes_item = QTableWidgetItem(notes) - if "✨ Recommended" in notes: - notes_item.setForeground(QColor("#00ff00")) # Green for recommended - elif "💾 Storage friendly" in notes: - notes_item.setForeground(QColor("#00ccff")) # Blue for storage friendly - elif "📱 Mobile friendly" in notes: - notes_item.setForeground(QColor("#ff9900")) # Orange for mobile - self.format_table.setItem(row, 7, notes_item) + # Column 7: FPS (Frame Rate) + fps_value = f.get("fps") + if fps_value is not None: + # Format FPS value appropriately + if fps_value >= 1: + fps_text = f"{fps_value:.0f}fps" + else: + fps_text = "N/A" # Very low fps like storyboards + else: + fps_text = "N/A" + + fps_item = QTableWidgetItem(fps_text) + # Color code based on FPS value + if fps_value and fps_value >= 60: + fps_item.setForeground(QColor("#00ff00")) # Green for 60+ fps + elif fps_value and fps_value >= 30: + fps_item.setForeground(QColor("#ffaa00")) # Orange for 30+ fps + elif fps_value and fps_value >= 1: + fps_item.setForeground(QColor("#ff5555")) # Red for low fps + else: + fps_item.setForeground(QColor("#888888")) # Gray for N/A + self.format_table.setItem(row, 7, fps_item) def handle_checkbox_click(self, clicked_checkbox) -> None: self = cast("YTSageApp", self) # for autocompletion and type inference. @@ -402,38 +422,4 @@ class FormatTableMixin: else: return _("formats.low_quality") - def _get_format_notes(self, format_info) -> str: - """Generate helpful format notes based on format info.""" - self = cast("YTSageApp", self) # for autocompletion and type inference. - - notes = [] - # Add storage indicator with more granular categories - file_size = format_info.get("filesize") or format_info.get("filesize_approx", 0) - - # Better file size categories - if file_size > 50 * 1024 * 1024: # Over 50MB - notes.append(_("formats.large_size")) - elif file_size > 15 * 1024 * 1024: # 15-50MB - notes.append(_("formats.medium_size")) - elif file_size > 5 * 1024 * 1024: # 5-15MB - notes.append(_("formats.standard_size")) - else: # Under 5MB - notes.append("Small size") - - # Add codec quality indicator - vcodec = format_info.get("vcodec", "") - if vcodec != "none": - if "avc1" in vcodec: # H.264 - notes.append(_("formats.compatible")) - elif "av01" in vcodec: # AV1 - notes.append(_("formats.efficient")) - elif "vp9" in vcodec: # VP9 - notes.append(_("formats.high_quality")) - - # Add quick mobile compatibility check - if "avc1" in vcodec and file_size < 8 * 1024 * 1024: - notes.append("Mobile") - - # Return simple string - return " • ".join(notes) From be122d77fe3502009a4a8ecb4c857e953a9f0101 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 2 Oct 2025 21:22:08 +0300 Subject: [PATCH 227/568] Fix resolution parsing in format quality sorting Improves robustness of the get_quality function by handling None and non-string resolution values, and catching IndexError in addition to ValueError when parsing resolution. --- src/gui/ytsage_gui_format_table.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index ecfc410..0130261 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -162,10 +162,13 @@ class FormatTableMixin: # Sort formats by quality def get_quality(f): if f.get("vcodec") != "none": - res = f.get("resolution", "0x0").split("x")[-1] + resolution = f.get("resolution", "0x0") + if resolution is None or not isinstance(resolution, str): + return 0 try: + res = resolution.split("x")[-1] return int(res) - except ValueError: + except (ValueError, IndexError): return 0 else: return f.get("abr", 0) From 3164c074167fd4a9d9d392f81dfde5f91ab17c81 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 2 Oct 2025 22:03:21 +0300 Subject: [PATCH 228/568] Add localization for status and error messages Replaced hardcoded status and error messages with localized strings throughout the downloader, main GUI, update dialog, and video info components. Updated English and Spanish language files with new keys for download statuses, errors, playlist info, and UI labels to improve internationalization and maintainability. --- languages/en.json | 45 ++++++++++++++ languages/es.json | 51 ++++++++++++++-- src/core/ytsage_downloader.py | 56 +++++++++-------- .../ytsage_dialogs_update.py | 6 +- src/gui/ytsage_gui_main.py | 60 +++++++++---------- src/gui/ytsage_gui_video_info.py | 6 +- 6 files changed, 159 insertions(+), 65 deletions(-) diff --git a/languages/en.json b/languages/en.json index bb5f6c6..1e69b7d 100644 --- a/languages/en.json +++ b/languages/en.json @@ -154,6 +154,22 @@ "download": { "preparing": "Preparing download...", + "starting": "🚀 Starting download...", + "fetching_info": "🔍 Fetching video information...", + "preparing_streams": "🎯 Preparing video streams...", + "downloading_audio": "⏬ Downloading audio...", + "downloading_video": "⏬ Downloading video...", + "downloading_subtitle": "⏬ Downloading subtitle...", + "downloading": "⏬ Downloading...", + "completed": "✅ Download completed!", + "video_completed": "✅ Video download completed!", + "audio_completed": "✅ Audio download completed!", + "subtitle_completed": "✅ Subtitle download completed!", + "completed_cleaning": "✅ Download completed! Cleaning up...", + "cancelled": "Download cancelled", + "processing_playlist": "📋 Processing playlist data...", + "paused": "Download paused", + "resumed": "Download resumed", "please_enter_url": "Please enter a URL first.", "please_set_path": "Please set a download path first.", "please_enter_url_and_path": "Please enter a URL and set download path.", @@ -164,6 +180,7 @@ "checking": "Checking for updates...", "update_available": "Update available!\nCurrent version: {current}\nLatest version: {latest}", "up_to_date": "yt-dlp is up to date (version {version})", + "already_up_to_date": "✅ yt-dlp is already up to date!", "could_not_determine": "Could not determine versions.", "error_comparing": "Error comparing versions: {error}", "update_available_failed": "Update available! (Comparison failed)\nCurrent: {current}\nLatest: {latest}", @@ -329,6 +346,34 @@ "status": { "ready": "Ready", "file_exists": "⚠️ File already exists", + "video_file_exists": "⚠️ Video file already exists", + "audio_file_exists": "⚠️ Audio file already exists", + "subtitle_file_exists": "⚠️ Subtitle file already exists", "cancelling": "Cancelling download..." + }, + "errors": { + "playlist_no_videos": "Error: Playlist contains no valid videos.", + "playlist_no_url": "Error: Could not get URL for the first playlist video.", + "ytdlp_not_found": "Error: yt-dlp executable not found. Please install yt-dlp first.", + "ytdlp_not_found_path": "Error: yt-dlp executable not found. This could be due to improper installation or a PATH issue.", + "no_data_returned": "Error: No data returned from yt-dlp", + "no_format_info": "Error: No format information available.", + "analysis_timeout": "Error: Analysis timed out. Please try again.", + "invalid_speed_limit": "❌ Error: Invalid speed limit value set in settings.", + "ytdlp_failed": "Error: yt-dlp failed: {error}", + "parse_failed": "Error: Failed to parse yt-dlp output: {error}", + "analysis_failed": "Error: Analysis failed: {error}", + "generic_error": "Error: {error}" + }, + "update_dialog": { + "title": "Update Available" + }, + "playlist": { + "unknown": "Unknown Playlist", + "total_videos": "Total Videos: {count}", + "display_format": "Playlist: {title} | {count} videos" + }, + "subtitle_selection": { + "count_selected": "{count} selected" } } \ No newline at end of file diff --git a/languages/es.json b/languages/es.json index 05dbf62..6dbbb41 100644 --- a/languages/es.json +++ b/languages/es.json @@ -113,15 +113,27 @@ "geo_configured": "Geo proxy configurado" }, "download": { - "preparing": "🚀 Preparando tu descarga...", + "preparing": "Preparando descarga...", + "starting": "🚀 Iniciando descarga...", + "fetching_info": "🔍 Obteniendo información del video...", + "preparing_streams": "🎯 Preparando flujos de video...", + "downloading_audio": "⏬ Descargando audio...", + "downloading_video": "⏬ Descargando video...", + "downloading_subtitle": "⏬ Descargando subtítulos...", + "downloading": "⏬ Descargando...", "completed": "✅ ¡Descarga completada!", "video_completed": "✅ ¡Descarga de video completada!", "audio_completed": "✅ ¡Descarga de audio completada!", "subtitle_completed": "✅ ¡Descarga de subtítulos completada!", - "please_set_path": "Por favor establece una ruta de descarga usando 'Cambiar Ruta'", - "please_enter_url": "Por favor ingresa una URL", - "please_enter_url_and_path": "Por favor ingresa URL y establece ruta de descarga", - "please_select_format": "Por favor selecciona un formato" + "completed_cleaning": "✅ ¡Descarga completada! Limpiando...", + "cancelled": "Descarga cancelada", + "processing_playlist": "📋 Procesando datos de lista de reproducción...", + "paused": "Descarga pausada", + "resumed": "Descarga reanudada", + "please_enter_url": "Por favor ingresa una URL primero.", + "please_set_path": "Por favor establece una ruta de descarga primero.", + "please_enter_url_and_path": "Por favor ingresa URL y establece ruta de descarga.", + "please_select_format": "Por favor selecciona un formato primero." }, "formats": { "show_formats": "Mostrar formatos:", @@ -180,6 +192,7 @@ "checking": "Verificando actualizaciones...", "update_available": "¡Actualización disponible!\nVersión actual: {current}\nÚltima versión: {latest}", "up_to_date": "yt-dlp está actualizado (versión {version})", + "already_up_to_date": "✅ ¡yt-dlp ya está actualizado!", "could_not_determine": "No se pudieron determinar las versiones.", "error_comparing": "Error al comparar versiones: {error}", "update_available_failed": "¡Actualización disponible! (Comparación fallida)\nActual: {current}\nÚltima: {latest}", @@ -315,6 +328,34 @@ "status": { "ready": "Listo", "file_exists": "⚠️ El archivo ya existe", + "video_file_exists": "⚠️ El archivo de video ya existe", + "audio_file_exists": "⚠️ El archivo de audio ya existe", + "subtitle_file_exists": "⚠️ El archivo de subtítulos ya existe", "cancelling": "Cancelando descarga..." + }, + "errors": { + "playlist_no_videos": "Error: La lista de reproducción no contiene videos válidos.", + "playlist_no_url": "Error: No se pudo obtener la URL del primer video de la lista.", + "ytdlp_not_found": "Error: Ejecutable de yt-dlp no encontrado. Por favor instala yt-dlp primero.", + "ytdlp_not_found_path": "Error: Ejecutable de yt-dlp no encontrado. Esto podría deberse a una instalación incorrecta o un problema de PATH.", + "no_data_returned": "Error: yt-dlp no devolvió datos", + "no_format_info": "Error: No hay información de formato disponible.", + "analysis_timeout": "Error: Se agotó el tiempo de análisis. Por favor inténtalo de nuevo.", + "invalid_speed_limit": "❌ Error: Valor de límite de velocidad inválido en configuración.", + "ytdlp_failed": "Error: yt-dlp falló: {error}", + "parse_failed": "Error: Falló al analizar salida de yt-dlp: {error}", + "analysis_failed": "Error: Análisis falló: {error}", + "generic_error": "Error: {error}" + }, + "update_dialog": { + "title": "Actualización disponible" + }, + "playlist": { + "unknown": "Lista de reproducción desconocida", + "total_videos": "Total de Videos: {count}", + "display_format": "Lista de reproducción: {title} | {count} videos" + }, + "subtitle_selection": { + "count_selected": "{count} seleccionados" } } \ No newline at end of file diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index 029b119..b62bf13 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -9,8 +9,12 @@ from PySide6.QtCore import QObject, QThread, Signal from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import SUBPROCESS_CREATIONFLAGS +from src.utils.ytsage_localization import LocalizationManager from src.utils.ytsage_logger import logger +# Shorthand for localization +_ = LocalizationManager.get_text + try: import yt_dlp # Keep yt_dlp import here - only downloader uses it. @@ -423,7 +427,7 @@ class DownloadThread(QThread): cmd_str = " ".join(shlex.quote(str(arg)) for arg in cmd) logger.debug(f"Executing command: {cmd_str}") - self.status_signal.emit("🚀 Starting download...") + self.status_signal.emit(_("download.starting")) self.progress_signal.emit(0) # Start the process @@ -454,7 +458,7 @@ class DownloadThread(QThread): # Add delay before cleanup to allow file handles to be released time.sleep(1) self.cleanup_partial_files() - self.status_signal.emit("Download cancelled") + self.status_signal.emit(_("download.cancelled")) return # Wait if paused @@ -471,20 +475,20 @@ class DownloadThread(QThread): # return code 127 typically means command not found if return_code == 127: self.error_signal.emit( - "Error: yt-dlp executable not found. This could be due to improper installation or a PATH issue." + _("errors.ytdlp_not_found_path") ) return if return_code == 0: self.progress_signal.emit(100) - self.status_signal.emit("✅ Download completed!") + self.status_signal.emit(_("download.completed")) # Clean up subtitle files if they were merged, with a small delay # to ensure the embedding process has completed if self.merge_subs: # Add a significant delay to ensure ffmpeg has released all file handles # and any post-processing is complete - self.status_signal.emit("✅ Download completed! Cleaning up...") + self.status_signal.emit(_("download.completed_cleaning")) time.sleep(3) # Increased delay to 3 seconds self.cleanup_subtitle_files() @@ -492,7 +496,7 @@ class DownloadThread(QThread): else: # Check if it was cancelled if self.cancelled: - self.status_signal.emit("Download cancelled") + self.status_signal.emit(_("download.cancelled")) else: # Provide more descriptive error message for possible yt-dlp conflicts if return_code == 1: @@ -549,19 +553,19 @@ class DownloadThread(QThread): # Check if this is explicitly an audio stream download if is_audio_download or "Downloading audio" in line: - self.status_signal.emit(f"⏬ Downloading audio...") + self.status_signal.emit(_("download.downloading_audio")) # Video file extensions with likely video content elif ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: - self.status_signal.emit(f"⏬ Downloading video...") + self.status_signal.emit(_("download.downloading_video")) # Audio file extensions elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: - self.status_signal.emit(f"⏬ Downloading audio...") + self.status_signal.emit(_("download.downloading_audio")) # Subtitle file extensions elif ext in [".vtt", ".srt", ".ass", ".ssa"]: - self.status_signal.emit(f"⏬ Downloading subtitle...") + self.status_signal.emit(_("download.downloading_subtitle")) # Default case else: - self.status_signal.emit(f"⏬ Downloading...") + self.status_signal.emit(_("download.downloading")) except Exception as e: logger.exception(f"Error extracting filename from line '{line}': {e}") self.status_signal.emit("⚡ Downloading...") # Fallback status @@ -569,11 +573,11 @@ class DownloadThread(QThread): # Check for specific download types in the output if "Downloading video" in line: - self.status_signal.emit(f"⏬ Downloading video...") + self.status_signal.emit(_("download.downloading_video")) return elif "Downloading audio" in line: - self.status_signal.emit(f"⏬ Downloading audio...") + self.status_signal.emit(_("download.downloading_audio")) return # Detect subtitle file creation @@ -596,7 +600,7 @@ class DownloadThread(QThread): subtitle_file = colon_parts[-1].strip() # Show subtitle download message - self.status_signal.emit(f"⏬ Downloading subtitle...") + self.status_signal.emit(_("download.downloading_subtitle")) # Store the subtitle file path for later deletion if merging is enabled if self.merge_subs: subtitle_path = Path(subtitle_file) @@ -609,24 +613,24 @@ class DownloadThread(QThread): # Send status updates based on output line content if "Downloading webpage" in line or "Extracting URL" in line: - self.status_signal.emit("🔍 Fetching video information...") + self.status_signal.emit(_("download.fetching_info")) self.progress_signal.emit(0) elif "Downloading API JSON" in line: - self.status_signal.emit("📋 Processing playlist data...") + self.status_signal.emit(_("download.processing_playlist")) self.progress_signal.emit(0) elif "Downloading m3u8 information" in line: - self.status_signal.emit("🎯 Preparing video streams...") + self.status_signal.emit(_("download.preparing_streams")) self.progress_signal.emit(0) elif "[download] Downloading video " in line: - self.status_signal.emit("⏬ Downloading video...") + self.status_signal.emit(_("download.downloading_video")) elif "[download] Downloading audio " in line: - self.status_signal.emit("⏬ Downloading audio...") + self.status_signal.emit(_("download.downloading_audio")) elif "Downloading format" in line: # Try to detect if it's audio or video format if " - audio only" in line: - self.status_signal.emit("⏬ Downloading audio...") + self.status_signal.emit(_("download.downloading_audio")) elif " - video only" in line: - self.status_signal.emit("⏬ Downloading video...") + self.status_signal.emit(_("download.downloading_video")) else: # Don't emit generic message - format is unclear pass @@ -699,18 +703,18 @@ class DownloadThread(QThread): # Video file extensions if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: - self.status_signal.emit(f"✅ Video download completed!") + self.status_signal.emit(_("download.video_completed")) # Audio file extensions elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: - self.status_signal.emit(f"✅ Audio download completed!") + self.status_signal.emit(_("download.audio_completed")) # Subtitle file extensions elif ext in [".vtt", ".srt", ".ass", ".ssa"]: - self.status_signal.emit(f"✅ Subtitle download completed!") + self.status_signal.emit(_("download.subtitle_completed")) # Default case else: - self.status_signal.emit("✅ Download completed!") + self.status_signal.emit(_("download.completed")) else: - self.status_signal.emit("✅ Download completed!") + self.status_signal.emit(_("download.completed")) self.update_details.emit("") # Clear details label on completion diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py index d0b38ce..532262c 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py @@ -18,6 +18,10 @@ from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QProgressBar, QPushB from src.core.ytsage_utils import get_ytdlp_version, load_config, save_config from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import OS_NAME, SUBPROCESS_CREATIONFLAGS, YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL +from src.utils.ytsage_localization import LocalizationManager + +# Shorthand for localization +_ = LocalizationManager.get_text from src.utils.ytsage_localization import _ from src.utils.ytsage_logger import logger @@ -278,7 +282,7 @@ class UpdateThread(QThread): self.update_status.emit(f"❌ Error during pip update: {e}") return False else: - self.update_status.emit("✅ yt-dlp is already up to date!") + self.update_status.emit(_("update.already_up_to_date")) self.update_progress.emit(95) return True diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 6d58965..f4a745c 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -777,7 +777,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Ensure there are entries before proceeding if not self.playlist_entries: logger.error("Playlist contains no valid videos.") - self.signals.update_status.emit("Error: Playlist contains no valid videos.") + self.signals.update_status.emit(_("errors.playlist_no_videos")) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return @@ -786,7 +786,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from first_video_url = self.playlist_entries[0].get("url") if not first_video_url: logger.error("Could not get URL for the first playlist video.") - self.signals.update_status.emit("Error: Could not get URL for the first playlist video.") + self.signals.update_status.emit(_("errors.playlist_no_url")) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return @@ -801,9 +801,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.update_status.emit(user_friendly_error) return # Update playlist info label text (remains the same) - playlist_text = ( - f"Playlist: {basic_info.get('title', 'Unknown Playlist')} | " f"{len(self.playlist_entries)} videos" - ) # Simplified label + playlist_text = _("playlist.display_format", + title=basic_info.get('title', _('playlist.unknown')), + count=len(self.playlist_entries)) # update signal method from QMetaObject.invokeMethod to signals self.signals.playlist_info_label_text.emit(playlist_text) @@ -897,7 +897,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from except Exception as e: logger.exception(f"Error in analysis: {e}") - self.signals.update_status.emit(f"Error: {e}") + self.signals.update_status.emit(_("errors.generic_error", error=str(e))) # Ensure playlist UI is hidden on error too # update signal method from QMetaObject.invokeMethod to signals self.signals.playlist_info_label_visible.emit(False) @@ -999,7 +999,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from rate_limit = f"{int(limit_value * 1024 * 1024)}" except ValueError: # Use a signal to show error in status bar, similar to URL/Path errors - self.signals.update_status.emit("❌ Error: Invalid speed limit value set in settings.") + self.signals.update_status.emit(_("errors.invalid_speed_limit")) return # --- End speed limit update --- @@ -1089,7 +1089,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) - self.status_label.setText(f"Error: {error_message}") + self.status_label.setText(_("errors.generic_error", error=error_message)) self.download_details_label.setText("") # Clear details label on error def update_progress_bar(self, value) -> None: @@ -1104,11 +1104,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if self.current_download: self.current_download.paused = not self.current_download.paused if self.current_download.paused: - self.pause_btn.setText("Resume") - self.signals.update_status.emit("Download paused") + self.pause_btn.setText(_("buttons.resume")) + self.signals.update_status.emit(_("download.paused")) else: self.pause_btn.setText(_("buttons.pause")) - self.signals.update_status.emit("Download resumed") + self.signals.update_status.emit(_("download.resumed")) def check_for_updates(self) -> None: try: @@ -1131,7 +1131,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def show_update_dialog(self, latest_version, release_url, changelog) -> None: # Added changelog parameter msg = QDialog(self) - msg.setWindowTitle("Update Available") + msg.setWindowTitle(_("update_dialog.title")) msg.setMinimumWidth(600) # Increased width for better layout msg.setMinimumHeight(450) # Increased height for better spacing @@ -1160,7 +1160,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from header_layout.addWidget(icon_label) # Title - title_label = QLabel("

Update Available

") + title_label = QLabel(f"

{_('update_dialog.title')}

") header_layout.addWidget(title_label) header_layout.addStretch() @@ -1466,16 +1466,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Video file extensions if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: - self.status_label.setText(f"⚠️ Video file already exists") + self.status_label.setText(_("status.video_file_exists")) # Audio file extensions elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: - self.status_label.setText(f"⚠️ Audio file already exists") + self.status_label.setText(_("status.audio_file_exists")) # Subtitle file extensions elif ext in [".vtt", ".srt", ".ass", ".ssa"]: - self.status_label.setText(f"⚠️ Subtitle file already exists") + self.status_label.setText(_("status.subtitle_file_exists")) # Default case else: - self.status_label.setText("⚠️ File already exists") + self.status_label.setText(_("status.file_exists")) # Show a simple message dialog msg_box = QMessageBox() @@ -1579,7 +1579,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Clear progress/status when controls are re-enabled if enabled: self.progress_bar.setValue(0) - self.status_label.setText("Ready") + self.status_label.setText(_("status.ready")) self.download_details_label.setText("") # Clear details label def handle_format_selection(self, button) -> None: @@ -1655,7 +1655,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def cancel_download(self) -> None: if self.current_download: self.current_download.cancelled = True - self.status_label.setText("Cancelling download...") # Set status directly + self.status_label.setText(_("status.cancelling")) # Set status directly self.download_details_label.setText("") # Clear details label on cancellation def show_ffmpeg_dialog(self) -> None: @@ -1735,7 +1735,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from yt_dlp_path = get_yt_dlp_path() if not yt_dlp_path: logger.error("yt-dlp executable not found. Please install yt-dlp first.") - self.signals.update_status.emit("Error: yt-dlp executable not found. Please install yt-dlp first.") + self.signals.update_status.emit(_("errors.ytdlp_not_found")) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return @@ -1769,7 +1769,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if result.returncode != 0: logger.error(f"yt-dlp failed: {result.stderr}") - self.signals.update_status.emit(f"Error: yt-dlp failed: {result.stderr}") + self.signals.update_status.emit(_("errors.ytdlp_failed", error=result.stderr)) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return @@ -1778,7 +1778,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if not json_lines: logger.error("No data returned from yt-dlp") - self.signals.update_status.emit("Error: No data returned from yt-dlp") + self.signals.update_status.emit(_("errors.no_data_returned")) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return @@ -1787,7 +1787,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from first_info = json.loads(json_lines[0]) except json.JSONDecodeError as e: logger.error(f"Failed to parse yt-dlp output: {e}") - self.signals.update_status.emit(f"Error: Failed to parse yt-dlp output: {e}") + self.signals.update_status.emit(_("errors.parse_failed", error=str(e))) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return @@ -1812,7 +1812,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if not self.playlist_entries: logger.error("Playlist contains no valid videos.") - self.signals.update_status.emit("Error: Playlist contains no valid videos.") + self.signals.update_status.emit(_("errors.playlist_no_videos")) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return @@ -1821,9 +1821,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.video_info = self.playlist_entries[0] # Update playlist info label - playlist_text = ( - f"Playlist: {first_info.get('title', 'Unknown Playlist')} | " f"{len(self.playlist_entries)} videos" - ) + playlist_text = _("playlist.display_format", + title=first_info.get('title', _('playlist.unknown')), + count=len(self.playlist_entries)) # update signal method from QMetaObject.invokeMethod to signals self.signals.playlist_info_label_text.emit(playlist_text) self.signals.playlist_info_label_visible.emit(True) @@ -1852,7 +1852,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Verify we have format information if not self.video_info or "formats" not in self.video_info: logger.error("No format information available") - self.signals.update_status.emit("Error: No format information available.") + self.signals.update_status.emit(_("errors.no_format_info")) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) return @@ -1895,7 +1895,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from except subprocess.TimeoutExpired: logger.error("Analysis timed out. Please try again.") - self.signals.update_status.emit("Error: Analysis timed out. Please try again.") + self.signals.update_status.emit(_("errors.analysis_timeout")) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) except json.JSONDecodeError as e: @@ -1905,6 +1905,6 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.playlist_select_btn_visible.emit(False) except Exception as e: logger.error(f"Analysis failed: {e}") - self.signals.update_status.emit(f"Error: Analysis failed: {e}") + self.signals.update_status.emit(_("errors.analysis_failed", error=str(e))) self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) diff --git a/src/gui/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py index 60270dc..465194c 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -218,10 +218,10 @@ class VideoInfoMixin: if hasattr(self, "is_playlist") and self.is_playlist: # Playlist Mode: Show playlist title and video count - self.title_label.setText(self.playlist_info.get("title", "Unknown Playlist")) + self.title_label.setText(self.playlist_info.get("title", _("playlist.unknown"))) num_videos = len(getattr(self, "playlist_entries", [])) - self.duration_label.setText(f"Total Videos: {num_videos}") + self.duration_label.setText(_("playlist.total_videos", count=num_videos)) # Hide video-specific info self.channel_label.setText("") @@ -295,7 +295,7 @@ class VideoInfoMixin: logger.info(f"Selected subtitles: {self.selected_subtitles}") # Update UI to reflect selection count = len(self.selected_subtitles) - self.selected_subs_label.setText(f"{count} selected") + self.selected_subs_label.setText(_("subtitle_selection.count_selected", count=count)) self.subtitle_select_btn.setProperty("subtitlesSelected", count > 0) # Enable/disable the merge checkbox in the parent window From 67d1ad1fbc70afde442fc82b76f1cba04c25cf2e Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 4 Oct 2025 12:40:05 +0300 Subject: [PATCH 229/568] Add new download and error messages to translations Expanded translation files (ar, de, fr, hi, id, it, pl) with additional download status messages, error messages, playlist info, and subtitle selection strings to improve localization coverage and user feedback. --- languages/ar.json | 47 ++++++++++++++++++++++++++++++++++++++++++++++- languages/de.json | 47 ++++++++++++++++++++++++++++++++++++++++++++++- languages/fr.json | 47 ++++++++++++++++++++++++++++++++++++++++++++++- languages/hi.json | 47 ++++++++++++++++++++++++++++++++++++++++++++++- languages/id.json | 47 ++++++++++++++++++++++++++++++++++++++++++++++- languages/it.json | 47 ++++++++++++++++++++++++++++++++++++++++++++++- languages/pl.json | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 7 files changed, 322 insertions(+), 7 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index e7253ea..1ad30c4 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "جاري التحضير للتنزيل...", + "starting": "🚀 بدء التنزيل...", + "fetching_info": "🔍 جاري الحصول على معلومات الفيديو...", + "preparing_streams": "🎯 جاري تحضير تدفقات الفيديو...", + "downloading_audio": "⏬ جاري تنزيل الصوت...", + "downloading_video": "⏬ جاري تنزيل الفيديو...", + "downloading_subtitle": "⏬ جاري تنزيل الترجمات...", + "downloading": "⏬ جاري التنزيل...", + "completed": "✅ اكتمل التنزيل!", + "video_completed": "✅ اكتمل تنزيل الفيديو!", + "audio_completed": "✅ اكتمل تنزيل الصوت!", + "subtitle_completed": "✅ اكتمل تنزيل الترجمات!", + "completed_cleaning": "✅ اكتمل التنزيل! جاري التنظيف...", + "cancelled": "تم إلغاء التنزيل", + "processing_playlist": "📋 جاري معالجة بيانات قائمة التشغيل...", + "paused": "تم إيقاف التنزيل مؤقتاً", + "resumed": "تم استئناف التنزيل", "please_enter_url": "الرجاء إدخال رابط أولاً.", "please_set_path": "الرجاء تحديد مسار التنزيل أولاً.", "please_enter_url_and_path": "الرجاء إدخال رابط وتحديد مسار التنزيل.", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ جاري التحديث من {current} إلى {latest}...", "running_pip_install": "📦 جاري تشغيل pip install --upgrade...", "pip_completed": "✅ اكتمل تحديث pip بنجاح!", - "pip_failed": "❌ فشل تحديث pip: {error}" + "pip_failed": "❌ فشل تحديث pip: {error}", + "already_up_to_date": "✅ yt-dlp محدث بالفعل!" }, "about": { "title": "حول YTSage", @@ -328,6 +345,34 @@ "status": { "ready": "جاهز", "file_exists": "⚠️ الملف موجود بالفعل", + "video_file_exists": "⚠️ ملف الفيديو موجود بالفعل", + "audio_file_exists": "⚠️ ملف الصوت موجود بالفعل", + "subtitle_file_exists": "⚠️ ملف الترجمات موجود بالفعل", "cancelling": "جاري إلغاء التنزيل..." + }, + "errors": { + "playlist_no_videos": "خطأ: قائمة التشغيل لا تحتوي على مقاطع فيديو صالحة.", + "playlist_no_url": "خطأ: تعذر الحصول على رابط أول فيديو في قائمة التشغيل.", + "ytdlp_not_found": "خطأ: لم يتم العثور على ملف yt-dlp التنفيذي. الرجاء تثبيت yt-dlp أولاً.", + "ytdlp_not_found_path": "خطأ: لم يتم العثور على ملف yt-dlp التنفيذي. قد يكون ذلك بسبب تثبيت غير صحيح أو مشكلة في PATH.", + "no_data_returned": "خطأ: لم يتم إرجاع بيانات من yt-dlp", + "no_format_info": "خطأ: لا توجد معلومات تنسيق متاحة.", + "analysis_timeout": "خطأ: انتهت مهلة التحليل. الرجاء المحاولة مرة أخرى.", + "invalid_speed_limit": "❌ خطأ: قيمة حد السرعة غير صالحة في الإعدادات.", + "ytdlp_failed": "خطأ: فشل yt-dlp: {error}", + "parse_failed": "خطأ: فشل تحليل مخرجات yt-dlp: {error}", + "analysis_failed": "خطأ: فشل التحليل: {error}", + "generic_error": "خطأ: {error}" + }, + "update_dialog": { + "title": "تحديث متاح" + }, + "playlist": { + "unknown": "قائمة تشغيل غير معروفة", + "total_videos": "إجمالي الفيديوهات: {count}", + "display_format": "قائمة التشغيل: {title} | {count} فيديوهات" + }, + "subtitle_selection": { + "count_selected": "{count} محدد" } } \ No newline at end of file diff --git a/languages/de.json b/languages/de.json index 9f98326..f8ed362 100644 --- a/languages/de.json +++ b/languages/de.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "Download wird vorbereitet...", + "starting": "🚀 Download wird gestartet...", + "fetching_info": "🔍 Video-Informationen werden abgerufen...", + "preparing_streams": "🎯 Video-Streams werden vorbereitet...", + "downloading_audio": "⏬ Audio wird heruntergeladen...", + "downloading_video": "⏬ Video wird heruntergeladen...", + "downloading_subtitle": "⏬ Untertitel werden heruntergeladen...", + "downloading": "⏬ Wird heruntergeladen...", + "completed": "✅ Download abgeschlossen!", + "video_completed": "✅ Video-Download abgeschlossen!", + "audio_completed": "✅ Audio-Download abgeschlossen!", + "subtitle_completed": "✅ Untertitel-Download abgeschlossen!", + "completed_cleaning": "✅ Download abgeschlossen! Wird aufgeräumt...", + "cancelled": "Download abgebrochen", + "processing_playlist": "📋 Playlist-Daten werden verarbeitet...", + "paused": "Download pausiert", + "resumed": "Download fortgesetzt", "please_enter_url": "Bitte geben Sie zuerst eine URL ein.", "please_set_path": "Bitte setzen Sie zuerst einen Download-Pfad.", "please_enter_url_and_path": "Bitte geben Sie eine URL ein und setzen Sie einen Download-Pfad.", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ Update von {current} auf {latest}...", "running_pip_install": "📦 pip install --upgrade wird ausgeführt...", "pip_completed": "✅ Pip-Update erfolgreich abgeschlossen!", - "pip_failed": "❌ Pip-Update fehlgeschlagen: {error}" + "pip_failed": "❌ Pip-Update fehlgeschlagen: {error}", + "already_up_to_date": "✅ yt-dlp ist bereits auf dem neuesten Stand!" }, "about": { "title": "Über YTSage", @@ -328,6 +345,34 @@ "status": { "ready": "Bereit", "file_exists": "⚠️ Datei existiert bereits", + "video_file_exists": "⚠️ Video-Datei existiert bereits", + "audio_file_exists": "⚠️ Audio-Datei existiert bereits", + "subtitle_file_exists": "⚠️ Untertitel-Datei existiert bereits", "cancelling": "Download wird abgebrochen..." + }, + "errors": { + "playlist_no_videos": "Fehler: Playlist enthält keine gültigen Videos.", + "playlist_no_url": "Fehler: URL für das erste Playlist-Video konnte nicht abgerufen werden.", + "ytdlp_not_found": "Fehler: yt-dlp-Ausführbare Datei nicht gefunden. Bitte installieren Sie zuerst yt-dlp.", + "ytdlp_not_found_path": "Fehler: yt-dlp-Ausführbare Datei nicht gefunden. Dies könnte auf eine fehlerhafte Installation oder ein PATH-Problem zurückzuführen sein.", + "no_data_returned": "Fehler: Keine Daten von yt-dlp zurückgegeben", + "no_format_info": "Fehler: Keine Formatinformationen verfügbar.", + "analysis_timeout": "Fehler: Analyse-Zeitüberschreitung. Bitte versuchen Sie es erneut.", + "invalid_speed_limit": "❌ Fehler: Ungültiger Geschwindigkeitsbegrenzungswert in den Einstellungen.", + "ytdlp_failed": "Fehler: yt-dlp fehlgeschlagen: {error}", + "parse_failed": "Fehler: Fehler beim Parsen der yt-dlp-Ausgabe: {error}", + "analysis_failed": "Fehler: Analyse fehlgeschlagen: {error}", + "generic_error": "Fehler: {error}" + }, + "update_dialog": { + "title": "Update verfügbar" + }, + "playlist": { + "unknown": "Unbekannte Playlist", + "total_videos": "Gesamtanzahl Videos: {count}", + "display_format": "Playlist: {title} | {count} Videos" + }, + "subtitle_selection": { + "count_selected": "{count} ausgewählt" } } \ No newline at end of file diff --git a/languages/fr.json b/languages/fr.json index 365d266..934c485 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "Préparation du téléchargement...", + "starting": "🚀 Démarrage du téléchargement...", + "fetching_info": "🔍 Récupération des informations vidéo...", + "preparing_streams": "🎯 Préparation des flux vidéo...", + "downloading_audio": "⏬ Téléchargement audio...", + "downloading_video": "⏬ Téléchargement vidéo...", + "downloading_subtitle": "⏬ Téléchargement des sous-titres...", + "downloading": "⏬ Téléchargement...", + "completed": "✅ Téléchargement terminé !", + "video_completed": "✅ Téléchargement vidéo terminé !", + "audio_completed": "✅ Téléchargement audio terminé !", + "subtitle_completed": "✅ Téléchargement des sous-titres terminé !", + "completed_cleaning": "✅ Téléchargement terminé ! Nettoyage...", + "cancelled": "Téléchargement annulé", + "processing_playlist": "📋 Traitement des données de la playlist...", + "paused": "Téléchargement en pause", + "resumed": "Téléchargement repris", "please_enter_url": "Veuillez d'abord entrer une URL.", "please_set_path": "Veuillez d'abord définir un chemin de téléchargement.", "please_enter_url_and_path": "Veuillez entrer une URL et définir un chemin de téléchargement.", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ Mise à jour de {current} vers {latest}...", "running_pip_install": "📦 Exécution de pip install --upgrade...", "pip_completed": "✅ Mise à jour pip terminée avec succès !", - "pip_failed": "❌ Échec de la mise à jour pip : {error}" + "pip_failed": "❌ Échec de la mise à jour pip : {error}", + "already_up_to_date": "✅ yt-dlp est déjà à jour !" }, "about": { "title": "À propos de YTSage", @@ -328,6 +345,34 @@ "status": { "ready": "Prêt", "file_exists": "⚠️ Le fichier existe déjà", + "video_file_exists": "⚠️ Le fichier vidéo existe déjà", + "audio_file_exists": "⚠️ Le fichier audio existe déjà", + "subtitle_file_exists": "⚠️ Le fichier de sous-titres existe déjà", "cancelling": "Annulation du téléchargement..." + }, + "errors": { + "playlist_no_videos": "Erreur : La playlist ne contient aucune vidéo valide.", + "playlist_no_url": "Erreur : Impossible d'obtenir l'URL de la première vidéo de la playlist.", + "ytdlp_not_found": "Erreur : Exécutable yt-dlp introuvable. Veuillez d'abord installer yt-dlp.", + "ytdlp_not_found_path": "Erreur : Exécutable yt-dlp introuvable. Cela pourrait être dû à une installation incorrecte ou à un problème de PATH.", + "no_data_returned": "Erreur : Aucune donnée renvoyée par yt-dlp", + "no_format_info": "Erreur : Aucune information de format disponible.", + "analysis_timeout": "Erreur : Délai d'analyse dépassé. Veuillez réessayer.", + "invalid_speed_limit": "❌ Erreur : Valeur de limite de vitesse invalide définie dans les paramètres.", + "ytdlp_failed": "Erreur : yt-dlp a échoué : {error}", + "parse_failed": "Erreur : Échec de l'analyse de la sortie yt-dlp : {error}", + "analysis_failed": "Erreur : Échec de l'analyse : {error}", + "generic_error": "Erreur : {error}" + }, + "update_dialog": { + "title": "Mise à jour disponible" + }, + "playlist": { + "unknown": "Playlist inconnue", + "total_videos": "Total des vidéos : {count}", + "display_format": "Playlist : {title} | {count} vidéos" + }, + "subtitle_selection": { + "count_selected": "{count} sélectionné(s)" } } \ No newline at end of file diff --git a/languages/hi.json b/languages/hi.json index 253449e..22b2c45 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "डाउनलोड तैयार हो रहा है...", + "starting": "🚀 डाउनलोड शुरू हो रहा है...", + "fetching_info": "🔍 वीडियो जानकारी प्राप्त कर रहे हैं...", + "preparing_streams": "🎯 वीडियो स्ट्रीम तैयार हो रही है...", + "downloading_audio": "⏬ ऑडियो डाउनलोड हो रहा है...", + "downloading_video": "⏬ वीडियो डाउनलोड हो रहा है...", + "downloading_subtitle": "⏬ उपशीर्षक डाउनलोड हो रहे हैं...", + "downloading": "⏬ डाउनलोड हो रहा है...", + "completed": "✅ डाउनलोड पूर्ण!", + "video_completed": "✅ वीडियो डाउनलोड पूर्ण!", + "audio_completed": "✅ ऑडियो डाउनलोड पूर्ण!", + "subtitle_completed": "✅ उपशीर्षक डाउनलोड पूर्ण!", + "completed_cleaning": "✅ डाउनलोड पूर्ण! साफ़ कर रहे हैं...", + "cancelled": "डाउनलोड रद्द किया गया", + "processing_playlist": "📋 प्लेलिस्ट डेटा प्रोसेस हो रहा है...", + "paused": "डाउनलोड रोका गया", + "resumed": "डाउनलोड जारी रखा गया", "please_enter_url": "कृपया पहले URL दर्ज करें।", "please_set_path": "कृपया पहले डाउनलोड पथ सेट करें।", "please_enter_url_and_path": "कृपया URL दर्ज करें और डाउनलोड पथ सेट करें।", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ {current} से {latest} पर अपडेट हो रहा है...", "running_pip_install": "📦 pip install --upgrade चल रहा है...", "pip_completed": "✅ Pip अपडेट सफलतापूर्वक पूर्ण!", - "pip_failed": "❌ Pip अपडेट असफल: {error}" + "pip_failed": "❌ Pip अपडेट असफल: {error}", + "already_up_to_date": "✅ yt-dlp पहले से अप टू डेट है!" }, "about": { "title": "YTSage के बारे में", @@ -328,6 +345,34 @@ "status": { "ready": "तैयार", "file_exists": "⚠️ फ़ाइल पहले से मौजूद है", + "video_file_exists": "⚠️ वीडियो फ़ाइल पहले से मौजूद है", + "audio_file_exists": "⚠️ ऑडियो फ़ाइल पहले से मौजूद है", + "subtitle_file_exists": "⚠️ उपशीर्षक फ़ाइल पहले से मौजूद है", "cancelling": "डाउनलोड रद्द हो रहा है..." + }, + "errors": { + "playlist_no_videos": "त्रुटि: प्लेलिस्ट में कोई वैध वीडियो नहीं है।", + "playlist_no_url": "त्रुटि: प्लेलिस्ट के पहले वीडियो के लिए URL प्राप्त नहीं कर सके।", + "ytdlp_not_found": "त्रुटि: yt-dlp executable नहीं मिला। कृपया पहले yt-dlp इंस्टॉल करें।", + "ytdlp_not_found_path": "त्रुटि: yt-dlp executable नहीं मिला। यह अनुचित इंस्टॉलेशन या PATH समस्या के कारण हो सकता है।", + "no_data_returned": "त्रुटि: yt-dlp से कोई डेटा वापस नहीं आया", + "no_format_info": "त्रुटि: कोई प्रारूप जानकारी उपलब्ध नहीं।", + "analysis_timeout": "त्रुटि: विश्लेषण टाइमआउट। कृपया पुनः प्रयास करें।", + "invalid_speed_limit": "❌ त्रुटि: सेटिंग्स में अमान्य गति सीमा मान।", + "ytdlp_failed": "त्रुटि: yt-dlp असफल: {error}", + "parse_failed": "त्रुटि: yt-dlp आउटपुट पार्स करने में विफल: {error}", + "analysis_failed": "त्रुटि: विश्लेषण विफल: {error}", + "generic_error": "त्रुटि: {error}" + }, + "update_dialog": { + "title": "अपडेट उपलब्ध" + }, + "playlist": { + "unknown": "अज्ञात प्लेलिस्ट", + "total_videos": "कुल वीडियो: {count}", + "display_format": "प्लेलिस्ट: {title} | {count} वीडियो" + }, + "subtitle_selection": { + "count_selected": "{count} चुना गया" } } \ No newline at end of file diff --git a/languages/id.json b/languages/id.json index 54375c6..ed7bb3a 100644 --- a/languages/id.json +++ b/languages/id.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "Mempersiapkan unduhan...", + "starting": "🚀 Memulai unduhan...", + "fetching_info": "🔍 Mengambil informasi video...", + "preparing_streams": "🎯 Mempersiapkan aliran video...", + "downloading_audio": "⏬ Mengunduh audio...", + "downloading_video": "⏬ Mengunduh video...", + "downloading_subtitle": "⏬ Mengunduh subtitle...", + "downloading": "⏬ Mengunduh...", + "completed": "✅ Unduhan selesai!", + "video_completed": "✅ Unduhan video selesai!", + "audio_completed": "✅ Unduhan audio selesai!", + "subtitle_completed": "✅ Unduhan subtitle selesai!", + "completed_cleaning": "✅ Unduhan selesai! Membersihkan...", + "cancelled": "Unduhan dibatalkan", + "processing_playlist": "📋 Memproses data playlist...", + "paused": "Unduhan dijeda", + "resumed": "Unduhan dilanjutkan", "please_enter_url": "Silakan masukkan URL terlebih dahulu.", "please_set_path": "Silakan atur jalur unduhan terlebih dahulu.", "please_enter_url_and_path": "Silakan masukkan URL dan atur jalur unduhan.", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ Memperbarui dari {current} ke {latest}...", "running_pip_install": "📦 Menjalankan pip install --upgrade...", "pip_completed": "✅ Pembaruan pip berhasil diselesaikan!", - "pip_failed": "❌ Pembaruan pip gagal: {error}" + "pip_failed": "❌ Pembaruan pip gagal: {error}", + "already_up_to_date": "✅ yt-dlp sudah terbaru!" }, "about": { "title": "Tentang YTSage", @@ -328,6 +345,34 @@ "status": { "ready": "Siap", "file_exists": "⚠️ File sudah ada", + "video_file_exists": "⚠️ File video sudah ada", + "audio_file_exists": "⚠️ File audio sudah ada", + "subtitle_file_exists": "⚠️ File subtitle sudah ada", "cancelling": "Membatalkan unduhan..." + }, + "errors": { + "playlist_no_videos": "Kesalahan: Playlist tidak berisi video yang valid.", + "playlist_no_url": "Kesalahan: Tidak dapat mendapatkan URL untuk video playlist pertama.", + "ytdlp_not_found": "Kesalahan: Executable yt-dlp tidak ditemukan. Silakan instal yt-dlp terlebih dahulu.", + "ytdlp_not_found_path": "Kesalahan: Executable yt-dlp tidak ditemukan. Ini bisa karena instalasi yang tidak tepat atau masalah PATH.", + "no_data_returned": "Kesalahan: Tidak ada data yang dikembalikan dari yt-dlp", + "no_format_info": "Kesalahan: Tidak ada informasi format yang tersedia.", + "analysis_timeout": "Kesalahan: Analisis timeout. Silakan coba lagi.", + "invalid_speed_limit": "❌ Kesalahan: Nilai batas kecepatan tidak valid yang diatur dalam pengaturan.", + "ytdlp_failed": "Kesalahan: yt-dlp gagal: {error}", + "parse_failed": "Kesalahan: Gagal mengurai output yt-dlp: {error}", + "analysis_failed": "Kesalahan: Analisis gagal: {error}", + "generic_error": "Kesalahan: {error}" + }, + "update_dialog": { + "title": "Pembaruan Tersedia" + }, + "playlist": { + "unknown": "Playlist Tidak Dikenal", + "total_videos": "Total Video: {count}", + "display_format": "Playlist: {title} | {count} video" + }, + "subtitle_selection": { + "count_selected": "{count} dipilih" } } \ No newline at end of file diff --git a/languages/it.json b/languages/it.json index 501a5dc..eb21866 100644 --- a/languages/it.json +++ b/languages/it.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "Preparazione download...", + "starting": "🚀 Avvio download...", + "fetching_info": "🔍 Recupero informazioni video...", + "preparing_streams": "🎯 Preparazione stream video...", + "downloading_audio": "⏬ Download audio...", + "downloading_video": "⏬ Download video...", + "downloading_subtitle": "⏬ Download sottotitoli...", + "downloading": "⏬ Download...", + "completed": "✅ Download completato!", + "video_completed": "✅ Download video completato!", + "audio_completed": "✅ Download audio completato!", + "subtitle_completed": "✅ Download sottotitoli completato!", + "completed_cleaning": "✅ Download completato! Pulizia in corso...", + "cancelled": "Download annullato", + "processing_playlist": "📋 Elaborazione dati playlist...", + "paused": "Download in pausa", + "resumed": "Download ripreso", "please_enter_url": "Inserisci prima un URL.", "please_set_path": "Imposta prima un percorso di download.", "please_enter_url_and_path": "Inserisci un URL e imposta un percorso di download.", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ Aggiornamento da {current} a {latest}...", "running_pip_install": "📦 Esecuzione pip install --upgrade...", "pip_completed": "✅ Aggiornamento pip completato con successo!", - "pip_failed": "❌ Aggiornamento pip fallito: {error}" + "pip_failed": "❌ Aggiornamento pip fallito: {error}", + "already_up_to_date": "✅ yt-dlp è già aggiornato!" }, "about": { "title": "Informazioni su YTSage", @@ -328,6 +345,34 @@ "status": { "ready": "Pronto", "file_exists": "⚠️ File già esistente", + "video_file_exists": "⚠️ File video già esistente", + "audio_file_exists": "⚠️ File audio già esistente", + "subtitle_file_exists": "⚠️ File sottotitoli già esistente", "cancelling": "Annullamento download..." + }, + "errors": { + "playlist_no_videos": "Errore: La playlist non contiene video validi.", + "playlist_no_url": "Errore: Impossibile ottenere l'URL del primo video della playlist.", + "ytdlp_not_found": "Errore: Eseguibile yt-dlp non trovato. Installare prima yt-dlp.", + "ytdlp_not_found_path": "Errore: Eseguibile yt-dlp non trovato. Ciò potrebbe essere dovuto a un'installazione errata o a un problema di PATH.", + "no_data_returned": "Errore: Nessun dato restituito da yt-dlp", + "no_format_info": "Errore: Nessuna informazione formato disponibile.", + "analysis_timeout": "Errore: Timeout analisi. Riprovare.", + "invalid_speed_limit": "❌ Errore: Valore limite velocità non valido impostato nelle impostazioni.", + "ytdlp_failed": "Errore: yt-dlp fallito: {error}", + "parse_failed": "Errore: Impossibile analizzare l'output di yt-dlp: {error}", + "analysis_failed": "Errore: Analisi fallita: {error}", + "generic_error": "Errore: {error}" + }, + "update_dialog": { + "title": "Aggiornamento disponibile" + }, + "playlist": { + "unknown": "Playlist sconosciuta", + "total_videos": "Video totali: {count}", + "display_format": "Playlist: {title} | {count} video" + }, + "subtitle_selection": { + "count_selected": "{count} selezionati" } } \ No newline at end of file diff --git a/languages/pl.json b/languages/pl.json index f560a4d..56e888f 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "Przygotowywanie pobierania...", + "starting": "🚀 Rozpoczynanie pobierania...", + "fetching_info": "🔍 Pobieranie informacji o wideo...", + "preparing_streams": "🎯 Przygotowywanie strumieni wideo...", + "downloading_audio": "⏬ Pobieranie dźwięku...", + "downloading_video": "⏬ Pobieranie wideo...", + "downloading_subtitle": "⏬ Pobieranie napisów...", + "downloading": "⏬ Pobieranie...", + "completed": "✅ Pobieranie zakończone!", + "video_completed": "✅ Pobieranie wideo zakończone!", + "audio_completed": "✅ Pobieranie dźwięku zakończone!", + "subtitle_completed": "✅ Pobieranie napisów zakończone!", + "completed_cleaning": "✅ Pobieranie zakończone! Czyszczenie...", + "cancelled": "Pobieranie anulowane", + "processing_playlist": "📋 Przetwarzanie danych playlisty...", + "paused": "Pobieranie wstrzymane", + "resumed": "Pobieranie wznowione", "please_enter_url": "Proszę najpierw wprowadzić URL.", "please_set_path": "Proszę najpierw ustawić ścieżkę pobierania.", "please_enter_url_and_path": "Proszę wprowadzić URL i ustawić ścieżkę pobierania.", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ Aktualizacja z {current} do {latest}...", "running_pip_install": "📦 Uruchamianie pip install --upgrade...", "pip_completed": "✅ Aktualizacja pip zakończona pomyślnie!", - "pip_failed": "❌ Aktualizacja pip nie powiodła się: {error}" + "pip_failed": "❌ Aktualizacja pip nie powiodła się: {error}", + "already_up_to_date": "✅ yt-dlp jest już aktualny!" }, "about": { "title": "O YTSage", @@ -328,6 +345,34 @@ "status": { "ready": "Gotowy", "file_exists": "⚠️ Plik już istnieje", + "video_file_exists": "⚠️ Plik wideo już istnieje", + "audio_file_exists": "⚠️ Plik audio już istnieje", + "subtitle_file_exists": "⚠️ Plik napisów już istnieje", "cancelling": "Anulowanie pobierania..." + }, + "errors": { + "playlist_no_videos": "Błąd: Playlista nie zawiera prawidłowych wideo.", + "playlist_no_url": "Błąd: Nie można pobrać URL pierwszego wideo z playlisty.", + "ytdlp_not_found": "Błąd: Plik wykonywalny yt-dlp nie został znaleziony. Proszę najpierw zainstalować yt-dlp.", + "ytdlp_not_found_path": "Błąd: Plik wykonywalny yt-dlp nie został znaleziony. Może to być spowodowane niepoprawną instalacją lub problemem z PATH.", + "no_data_returned": "Błąd: Brak danych zwróconych z yt-dlp", + "no_format_info": "Błąd: Brak dostępnych informacji o formacie.", + "analysis_timeout": "Błąd: Limit czasu analizy. Spróbuj ponownie.", + "invalid_speed_limit": "❌ Błąd: Nieprawidłowa wartość limitu prędkości ustawiona w ustawieniach.", + "ytdlp_failed": "Błąd: yt-dlp nie powiodło się: {error}", + "parse_failed": "Błąd: Nie udało się przeanalizować wyjścia yt-dlp: {error}", + "analysis_failed": "Błąd: Analiza nie powiodła się: {error}", + "generic_error": "Błąd: {error}" + }, + "update_dialog": { + "title": "Dostępna aktualizacja" + }, + "playlist": { + "unknown": "Nieznana playlista", + "total_videos": "Wszystkich wideo: {count}", + "display_format": "Playlista: {title} | {count} wideo" + }, + "subtitle_selection": { + "count_selected": "{count} wybrano" } } \ No newline at end of file From 720c315d33be27d575d4fa418b5456eba3651cf3 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 4 Oct 2025 12:47:33 +0300 Subject: [PATCH 230/568] Add and update strings for download and errors Expanded and updated translation files (ja, pt, ru, tr, zh) with new keys for download progress, error messages, playlist info, and subtitle selection. This improves localization coverage and user feedback during download and error scenarios. --- languages/ja.json | 51 ++++++++++++++++++++++++++++++++++++++++++++--- languages/pt.json | 47 ++++++++++++++++++++++++++++++++++++++++++- languages/ru.json | 47 ++++++++++++++++++++++++++++++++++++++++++- languages/tr.json | 47 ++++++++++++++++++++++++++++++++++++++++++- languages/zh.json | 47 ++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 232 insertions(+), 7 deletions(-) diff --git a/languages/ja.json b/languages/ja.json index d03c55f..d60efaa 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -153,9 +153,25 @@ }, "download": { "preparing": "ダウンロードを準備中...", + "starting": "🚀 ダウンロードを開始しています...", + "fetching_info": "🔍 動画情報を取得中...", + "preparing_streams": "🎯 動画ストリームを準備中...", + "downloading_audio": "⏬ 音声をダウンロード中...", + "downloading_video": "⏬ 動画をダウンロード中...", + "downloading_subtitle": "⏬ 字幕をダウンロード中...", + "downloading": "⏬ ダウンロード中...", + "completed": "✅ ダウンロード完了!", + "video_completed": "✅ 動画ダウンロード完了!", + "audio_completed": "✅ 音声ダウンロード完了!", + "subtitle_completed": "✅ 字幕ダウンロード完了!", + "completed_cleaning": "✅ ダウンロード完了!クリーンアップ中...", + "cancelled": "ダウンロードがキャンセルされました", + "processing_playlist": "📋 再生リストデータを処理中...", + "paused": "ダウンロードが一時停止されました", + "resumed": "ダウンロードが再開されました", "please_enter_url": "最初にURLを入力してください。", "please_set_path": "最初にダウンロードパスを設定してください。", - "please_enter_url_and_path": "URLを入力してダウンロードパスを設定してください。", + "please_enter_url_and_path": "URLを入力し、ダウンロードパスを設定してください。", "please_select_format": "最初にフォーマットを選択してください。" }, "update": { @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ {current}から{latest}に更新中...", "running_pip_install": "📦 pip install --upgradeを実行中...", "pip_completed": "✅ pipの更新が正常に完了しました!", - "pip_failed": "❌ pipの更新に失敗しました: {error}" + "pip_failed": "❌ pipの更新に失敗しました: {error}", + "already_up_to_date": "✅ yt-dlpはすでに最新です!" }, "about": { "title": "YTSageについて", @@ -327,7 +344,35 @@ }, "status": { "ready": "準備完了", - "file_exists": "⚠️ ファイルが既に存在します", + "file_exists": "⚠️ ファイルがすでに存在します", + "video_file_exists": "⚠️ 動画ファイルがすでに存在します", + "audio_file_exists": "⚠️ 音声ファイルがすでに存在します", + "subtitle_file_exists": "⚠️ 字幕ファイルがすでに存在します", "cancelling": "ダウンロードをキャンセル中..." + }, + "errors": { + "playlist_no_videos": "エラー: 再生リストに有効な動画が含まれていません。", + "playlist_no_url": "エラー: 再生リストの最初の動画のURLを取得できませんでした。", + "ytdlp_not_found": "エラー: yt-dlp実行ファイルが見つかりません。最初にyt-dlpをインストールしてください。", + "ytdlp_not_found_path": "エラー: yt-dlp実行ファイルが見つかりません。不適切なインストールまたはPATHの問題が原因の可能性があります。", + "no_data_returned": "エラー: yt-dlpからデータが返されませんでした", + "no_format_info": "エラー: 利用可能なフォーマット情報がありません。", + "analysis_timeout": "エラー: 解析がタイムアウトしました。もう一度試してください。", + "invalid_speed_limit": "❌ エラー: 設定で無効な速度制限値が設定されています。", + "ytdlp_failed": "エラー: yt-dlpが失敗しました: {error}", + "parse_failed": "エラー: yt-dlp出力の解析に失敗しました: {error}", + "analysis_failed": "エラー: 解析が失敗しました: {error}", + "generic_error": "エラー: {error}" + }, + "update_dialog": { + "title": "アップデートが利用可能です" + }, + "playlist": { + "unknown": "不明な再生リスト", + "total_videos": "総動画数: {count}", + "display_format": "再生リスト: {title} | {count}個の動画" + }, + "subtitle_selection": { + "count_selected": "{count}個選択" } } \ No newline at end of file diff --git a/languages/pt.json b/languages/pt.json index 7f9cefe..41b6a01 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -154,6 +154,22 @@ "download": { "preparing": "Preparando download...", + "starting": "🚀 Iniciando download...", + "fetching_info": "🔍 Buscando informações do vídeo...", + "preparing_streams": "🎯 Preparando streams de vídeo...", + "downloading_audio": "⏬ Baixando áudio...", + "downloading_video": "⏬ Baixando vídeo...", + "downloading_subtitle": "⏬ Baixando legendas...", + "downloading": "⏬ Baixando...", + "completed": "✅ Download concluído!", + "video_completed": "✅ Download de vídeo concluído!", + "audio_completed": "✅ Download de áudio concluído!", + "subtitle_completed": "✅ Download de legendas concluído!", + "completed_cleaning": "✅ Download concluído! Limpando...", + "cancelled": "Download cancelado", + "processing_playlist": "📋 Processando dados da playlist...", + "paused": "Download pausado", + "resumed": "Download retomado", "please_enter_url": "Por favor, digite uma URL primeiro.", "please_set_path": "Por favor, defina um caminho de download primeiro.", "please_enter_url_and_path": "Por favor, digite uma URL e defina o caminho de download.", @@ -188,7 +204,8 @@ "updating_from_to": "⬆️ Atualizando de {current} para {latest}...", "running_pip_install": "📦 Executando pip install --upgrade...", "pip_completed": "✅ Atualização pip concluída com sucesso!", - "pip_failed": "❌ Atualização pip falhou: {error}" + "pip_failed": "❌ Atualização pip falhou: {error}", + "already_up_to_date": "✅ yt-dlp já está atualizado!" }, "about": { "title": "Sobre YTSage", @@ -329,6 +346,34 @@ "status": { "ready": "Pronto", "file_exists": "⚠️ Arquivo já existe", + "video_file_exists": "⚠️ Arquivo de vídeo já existe", + "audio_file_exists": "⚠️ Arquivo de áudio já existe", + "subtitle_file_exists": "⚠️ Arquivo de legendas já existe", "cancelling": "Cancelando download..." + }, + "errors": { + "playlist_no_videos": "Erro: A playlist não contém vídeos válidos.", + "playlist_no_url": "Erro: Não foi possível obter a URL do primeiro vídeo da playlist.", + "ytdlp_not_found": "Erro: Executável yt-dlp não encontrado. Por favor, instale o yt-dlp primeiro.", + "ytdlp_not_found_path": "Erro: Executável yt-dlp não encontrado. Isso pode ser devido a uma instalação inadequada ou problema de PATH.", + "no_data_returned": "Erro: Nenhum dado retornado do yt-dlp", + "no_format_info": "Erro: Nenhuma informação de formato disponível.", + "analysis_timeout": "Erro: Tempo de análise esgotado. Por favor, tente novamente.", + "invalid_speed_limit": "❌ Erro: Valor de limite de velocidade inválido definido nas configurações.", + "ytdlp_failed": "Erro: yt-dlp falhou: {error}", + "parse_failed": "Erro: Falha ao analisar a saída do yt-dlp: {error}", + "analysis_failed": "Erro: Análise falhou: {error}", + "generic_error": "Erro: {error}" + }, + "update_dialog": { + "title": "Atualização Disponível" + }, + "playlist": { + "unknown": "Playlist Desconhecida", + "total_videos": "Total de Vídeos: {count}", + "display_format": "Playlist: {title} | {count} vídeos" + }, + "subtitle_selection": { + "count_selected": "{count} selecionadas" } } \ No newline at end of file diff --git a/languages/ru.json b/languages/ru.json index 9759dd2..ee7eff4 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "Подготовка загрузки...", + "starting": "🚀 Начинается загрузка...", + "fetching_info": "🔍 Получение информации о видео...", + "preparing_streams": "🎯 Подготовка видеопотоков...", + "downloading_audio": "⏬ Загрузка аудио...", + "downloading_video": "⏬ Загрузка видео...", + "downloading_subtitle": "⏬ Загрузка субтитров...", + "downloading": "⏬ Загрузка...", + "completed": "✅ Загрузка завершена!", + "video_completed": "✅ Загрузка видео завершена!", + "audio_completed": "✅ Загрузка аудио завершена!", + "subtitle_completed": "✅ Загрузка субтитров завершена!", + "completed_cleaning": "✅ Загрузка завершена! Очистка...", + "cancelled": "Загрузка отменена", + "processing_playlist": "📋 Обработка данных плейлиста...", + "paused": "Загрузка приостановлена", + "resumed": "Загрузка возобновлена", "please_enter_url": "Пожалуйста, введите URL сначала.", "please_set_path": "Пожалуйста, установите путь загрузки сначала.", "please_enter_url_and_path": "Пожалуйста, введите URL и установите путь загрузки.", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ Обновление с {current} до {latest}...", "running_pip_install": "📦 Выполнение pip install --upgrade...", "pip_completed": "✅ Обновление pip завершено успешно!", - "pip_failed": "❌ Обновление pip не удалось: {error}" + "pip_failed": "❌ Обновление pip не удалось: {error}", + "already_up_to_date": "✅ yt-dlp уже актуален!" }, "about": { "title": "О YTSage", @@ -328,6 +345,34 @@ "status": { "ready": "Готово", "file_exists": "⚠️ Файл уже существует", + "video_file_exists": "⚠️ Видеофайл уже существует", + "audio_file_exists": "⚠️ Аудиофайл уже существует", + "subtitle_file_exists": "⚠️ Файл субтитров уже существует", "cancelling": "Отмена загрузки..." + }, + "errors": { + "playlist_no_videos": "Ошибка: Плейлист не содержит действительных видео.", + "playlist_no_url": "Ошибка: Не удалось получить URL для первого видео плейлиста.", + "ytdlp_not_found": "Ошибка: Исполняемый файл yt-dlp не найден. Пожалуйста, сначала установите yt-dlp.", + "ytdlp_not_found_path": "Ошибка: Исполняемый файл yt-dlp не найден. Это может быть связано с неправильной установкой или проблемой PATH.", + "no_data_returned": "Ошибка: Данные от yt-dlp не возвращены", + "no_format_info": "Ошибка: Информация о формате недоступна.", + "analysis_timeout": "Ошибка: Тайм-аут анализа. Пожалуйста, попробуйте снова.", + "invalid_speed_limit": "❌ Ошибка: Неверное значение ограничения скорости в настройках.", + "ytdlp_failed": "Ошибка: yt-dlp завершился с ошибкой: {error}", + "parse_failed": "Ошибка: Не удалось разобрать вывод yt-dlp: {error}", + "analysis_failed": "Ошибка: Анализ не удался: {error}", + "generic_error": "Ошибка: {error}" + }, + "update_dialog": { + "title": "Доступно обновление" + }, + "playlist": { + "unknown": "Неизвестный плейлист", + "total_videos": "Всего видео: {count}", + "display_format": "Плейлист: {title} | {count} видео" + }, + "subtitle_selection": { + "count_selected": "выбрано: {count}" } } \ No newline at end of file diff --git a/languages/tr.json b/languages/tr.json index 105717a..19ce103 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "İndirme hazırlanıyor...", + "starting": "🚀 İndirme başlatılıyor...", + "fetching_info": "🔍 Video bilgileri alınıyor...", + "preparing_streams": "🎯 Video akışları hazırlanıyor...", + "downloading_audio": "⏬ Ses indiriliyor...", + "downloading_video": "⏬ Video indiriliyor...", + "downloading_subtitle": "⏬ Altyazı indiriliyor...", + "downloading": "⏬ İndiriliyor...", + "completed": "✅ İndirme tamamlandı!", + "video_completed": "✅ Video indirmesi tamamlandı!", + "audio_completed": "✅ Ses indirmesi tamamlandı!", + "subtitle_completed": "✅ Altyazı indirmesi tamamlandı!", + "completed_cleaning": "✅ İndirme tamamlandı! Temizleniyor...", + "cancelled": "İndirme iptal edildi", + "processing_playlist": "📋 Oynatma listesi verileri işleniyor...", + "paused": "İndirme duraklatıldı", + "resumed": "İndirme devam ettirildi", "please_enter_url": "Lütfen önce bir URL girin.", "please_set_path": "Lütfen önce indirme yolunu ayarlayın.", "please_enter_url_and_path": "Lütfen bir URL girin ve indirme yolunu ayarlayın.", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ {current}'den {latest}'e güncelleniyor...", "running_pip_install": "📦 pip install --upgrade çalıştırılıyor...", "pip_completed": "✅ Pip güncellemesi başarıyla tamamlandı!", - "pip_failed": "❌ Pip güncellemesi başarısız: {error}" + "pip_failed": "❌ Pip güncellemesi başarısız: {error}", + "already_up_to_date": "✅ yt-dlp zaten güncel!" }, "about": { "title": "YTSage Hakkında", @@ -328,6 +345,34 @@ "status": { "ready": "Hazır", "file_exists": "⚠️ Dosya zaten mevcut", + "video_file_exists": "⚠️ Video dosyası zaten mevcut", + "audio_file_exists": "⚠️ Ses dosyası zaten mevcut", + "subtitle_file_exists": "⚠️ Altyazı dosyası zaten mevcut", "cancelling": "İndirme iptal ediliyor..." + }, + "errors": { + "playlist_no_videos": "Hata: Oynatma listesi geçerli video içermiyor.", + "playlist_no_url": "Hata: Oynatma listesinin ilk videosu için URL alınamadı.", + "ytdlp_not_found": "Hata: yt-dlp çalıştırılabilir dosyası bulunamadı. Lütfen önce yt-dlp'yi yükleyin.", + "ytdlp_not_found_path": "Hata: yt-dlp çalıştırılabilir dosyası bulunamadı. Bu, hatalı kurulum veya PATH sorunu nedeniyle olabilir.", + "no_data_returned": "Hata: yt-dlp'den veri döndürülmedi", + "no_format_info": "Hata: Kullanılabilir format bilgisi yok.", + "analysis_timeout": "Hata: Analiz zaman aşımına uğradı. Lütfen tekrar deneyin.", + "invalid_speed_limit": "❌ Hata: Ayarlarda geçersiz hız sınırı değeri ayarlandı.", + "ytdlp_failed": "Hata: yt-dlp başarısız oldu: {error}", + "parse_failed": "Hata: yt-dlp çıktısı ayrıştırılamadı: {error}", + "analysis_failed": "Hata: Analiz başarısız oldu: {error}", + "generic_error": "Hata: {error}" + }, + "update_dialog": { + "title": "Güncelleme Mevcut" + }, + "playlist": { + "unknown": "Bilinmeyen Oynatma Listesi", + "total_videos": "Toplam Video: {count}", + "display_format": "Oynatma Listesi: {title} | {count} video" + }, + "subtitle_selection": { + "count_selected": "{count} seçildi" } } \ No newline at end of file diff --git a/languages/zh.json b/languages/zh.json index 3a34211..20cb6db 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -153,6 +153,22 @@ }, "download": { "preparing": "正在准备下载...", + "starting": "🚀 正在开始下载...", + "fetching_info": "🔍 正在获取视频信息...", + "preparing_streams": "🎯 正在准备视频流...", + "downloading_audio": "⏬ 正在下载音频...", + "downloading_video": "⏬ 正在下载视频...", + "downloading_subtitle": "⏬ 正在下载字幕...", + "downloading": "⏬ 正在下载...", + "completed": "✅ 下载完成!", + "video_completed": "✅ 视频下载完成!", + "audio_completed": "✅ 音频下载完成!", + "subtitle_completed": "✅ 字幕下载完成!", + "completed_cleaning": "✅ 下载完成!正在清理...", + "cancelled": "下载已取消", + "processing_playlist": "📋 正在处理播放列表数据...", + "paused": "下载已暂停", + "resumed": "下载已恢复", "please_enter_url": "请先输入网址。", "please_set_path": "请先设置下载路径。", "please_enter_url_and_path": "请输入网址并设置下载路径。", @@ -187,7 +203,8 @@ "updating_from_to": "⬆️ 从 {current} 更新到 {latest}...", "running_pip_install": "📦 运行 pip install --upgrade...", "pip_completed": "✅ pip 更新完成成功!", - "pip_failed": "❌ pip 更新失败:{error}" + "pip_failed": "❌ pip 更新失败:{error}", + "already_up_to_date": "✅ yt-dlp已是最新版本!" }, "about": { "title": "关于 YTSage", @@ -328,6 +345,34 @@ "status": { "ready": "准备就绪", "file_exists": "⚠️ 文件已存在", + "video_file_exists": "⚠️ 视频文件已存在", + "audio_file_exists": "⚠️ 音频文件已存在", + "subtitle_file_exists": "⚠️ 字幕文件已存在", "cancelling": "正在取消下载..." + }, + "errors": { + "playlist_no_videos": "错误:播放列表不包含有效视频。", + "playlist_no_url": "错误:无法获取播放列表第一个视频的URL。", + "ytdlp_not_found": "错误:未找到yt-dlp可执行文件。请先安装yt-dlp。", + "ytdlp_not_found_path": "错误:未找到yt-dlp可执行文件。这可能是由于安装不当或PATH问题。", + "no_data_returned": "错误:yt-dlp未返回数据", + "no_format_info": "错误:无可用格式信息。", + "analysis_timeout": "错误:分析超时。请重试。", + "invalid_speed_limit": "❌ 错误:设置中设置了无效的速度限制值。", + "ytdlp_failed": "错误:yt-dlp失败:{error}", + "parse_failed": "错误:解析yt-dlp输出失败:{error}", + "analysis_failed": "错误:分析失败:{error}", + "generic_error": "错误:{error}" + }, + "update_dialog": { + "title": "有可用更新" + }, + "playlist": { + "unknown": "未知播放列表", + "total_videos": "总视频数:{count}", + "display_format": "播放列表:{title} | {count}个视频" + }, + "subtitle_selection": { + "count_selected": "已选择{count}个" } } \ No newline at end of file From d48a474e0059d1ffe4fd3e8b629176f40f8ebec1 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 4 Oct 2025 13:10:56 +0300 Subject: [PATCH 231/568] Add speed and ETA translations; localize status message Added 'speed' and 'eta' translation keys to all language files for download status. Updated ytsage_downloader.py to use localized labels for speed and ETA in the status message. --- languages/ar.json | 7 ++++--- languages/de.json | 7 ++++--- languages/en.json | 2 ++ languages/es.json | 2 ++ languages/fr.json | 2 ++ languages/hi.json | 7 ++++--- languages/id.json | 7 ++++--- languages/it.json | 2 ++ languages/ja.json | 2 ++ languages/pl.json | 9 +++++---- languages/pt.json | 2 ++ languages/ru.json | 2 ++ languages/tr.json | 2 ++ languages/zh.json | 2 ++ src/core/ytsage_downloader.py | 2 +- 15 files changed, 40 insertions(+), 17 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index 1ad30c4..f0cbf3c 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -43,7 +43,6 @@ "will_merge_audio": "سيتم دمج الصوت", "has_audio": "✓ يحتوي على صوت", "audio_only": "صوت فقط", - "best_4k": "الأفضل (4K)", "best_2k": "الأفضل (2K)", "high_1080p": "عالية (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "تنزيل", "pause": "إيقاف مؤقت", - "resume": "استئناف", + "resume": "استئناف", "cancel": "إلغاء", "browse": "تصفح", "clear": "مسح", @@ -96,7 +95,7 @@ "tabs": { "cookies": "تسجيل الدخول بالكوكيز", "custom_command": "أمر مخصص", - "proxy": "بروكسي", + "proxy": "بروكسي", "language": "اللغة" }, "cookies": { @@ -169,6 +168,8 @@ "processing_playlist": "📋 جاري معالجة بيانات قائمة التشغيل...", "paused": "تم إيقاف التنزيل مؤقتاً", "resumed": "تم استئناف التنزيل", + "speed": "السرعة", + "eta": "الوقت المتبقي", "please_enter_url": "الرجاء إدخال رابط أولاً.", "please_set_path": "الرجاء تحديد مسار التنزيل أولاً.", "please_enter_url_and_path": "الرجاء إدخال رابط وتحديد مسار التنزيل.", diff --git a/languages/de.json b/languages/de.json index f8ed362..42ad666 100644 --- a/languages/de.json +++ b/languages/de.json @@ -43,7 +43,6 @@ "will_merge_audio": "Audio wird zusammengeführt", "has_audio": "✓ Hat Audio", "audio_only": "Nur Audio", - "best_4k": "Beste (4K)", "best_2k": "Beste (2K)", "high_1080p": "Hoch (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "Herunterladen", "pause": "Pausieren", - "resume": "Fortsetzen", + "resume": "Fortsetzen", "cancel": "Abbrechen", "browse": "Durchsuchen", "clear": "Löschen", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Mit Cookies anmelden", "custom_command": "Benutzerdefinierter Befehl", - "proxy": "Proxy", + "proxy": "Proxy", "language": "Sprache" }, "cookies": { @@ -169,6 +168,8 @@ "processing_playlist": "📋 Playlist-Daten werden verarbeitet...", "paused": "Download pausiert", "resumed": "Download fortgesetzt", + "speed": "Geschwindigkeit", + "eta": "Verbleibende Zeit", "please_enter_url": "Bitte geben Sie zuerst eine URL ein.", "please_set_path": "Bitte setzen Sie zuerst einen Download-Pfad.", "please_enter_url_and_path": "Bitte geben Sie eine URL ein und setzen Sie einen Download-Pfad.", diff --git a/languages/en.json b/languages/en.json index 1e69b7d..ce7b574 100644 --- a/languages/en.json +++ b/languages/en.json @@ -170,6 +170,8 @@ "processing_playlist": "📋 Processing playlist data...", "paused": "Download paused", "resumed": "Download resumed", + "speed": "Speed", + "eta": "ETA", "please_enter_url": "Please enter a URL first.", "please_set_path": "Please set a download path first.", "please_enter_url_and_path": "Please enter a URL and set download path.", diff --git a/languages/es.json b/languages/es.json index 6dbbb41..e1b046d 100644 --- a/languages/es.json +++ b/languages/es.json @@ -130,6 +130,8 @@ "processing_playlist": "📋 Procesando datos de lista de reproducción...", "paused": "Descarga pausada", "resumed": "Descarga reanudada", + "speed": "Velocidad", + "eta": "Tiempo restante", "please_enter_url": "Por favor ingresa una URL primero.", "please_set_path": "Por favor establece una ruta de descarga primero.", "please_enter_url_and_path": "Por favor ingresa URL y establece ruta de descarga.", diff --git a/languages/fr.json b/languages/fr.json index 934c485..138921e 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -169,6 +169,8 @@ "processing_playlist": "📋 Traitement des données de la playlist...", "paused": "Téléchargement en pause", "resumed": "Téléchargement repris", + "speed": "Vitesse", + "eta": "Temps restant", "please_enter_url": "Veuillez d'abord entrer une URL.", "please_set_path": "Veuillez d'abord définir un chemin de téléchargement.", "please_enter_url_and_path": "Veuillez entrer une URL et définir un chemin de téléchargement.", diff --git a/languages/hi.json b/languages/hi.json index 22b2c45..a9317c4 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -43,7 +43,6 @@ "will_merge_audio": "ऑडियो मर्ज किया जाएगा", "has_audio": "✓ ऑडियो है", "audio_only": "केवल ऑडियो", - "best_4k": "सर्वोत्तम (4K)", "best_2k": "सर्वोत्तम (2K)", "high_1080p": "उच्च (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "डाउनलोड", "pause": "रोकें", - "resume": "जारी रखें", + "resume": "जारी रखें", "cancel": "रद्द करें", "browse": "ब्राउज़", "clear": "साफ़ करें", @@ -96,7 +95,7 @@ "tabs": { "cookies": "कुकीज़ के साथ लॉगिन", "custom_command": "कस्टम कमांड", - "proxy": "प्रॉक्सी", + "proxy": "प्रॉक्सी", "language": "भाषा" }, "cookies": { @@ -169,6 +168,8 @@ "processing_playlist": "📋 प्लेलिस्ट डेटा प्रोसेस हो रहा है...", "paused": "डाउनलोड रोका गया", "resumed": "डाउनलोड जारी रखा गया", + "speed": "गति", + "eta": "शेष समय", "please_enter_url": "कृपया पहले URL दर्ज करें।", "please_set_path": "कृपया पहले डाउनलोड पथ सेट करें।", "please_enter_url_and_path": "कृपया URL दर्ज करें और डाउनलोड पथ सेट करें।", diff --git a/languages/id.json b/languages/id.json index ed7bb3a..e9b4834 100644 --- a/languages/id.json +++ b/languages/id.json @@ -43,7 +43,6 @@ "will_merge_audio": "Audio akan digabungkan", "has_audio": "✓ Memiliki audio", "audio_only": "Audio saja", - "best_4k": "Terbaik (4K)", "best_2k": "Terbaik (2K)", "high_1080p": "Tinggi (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "Unduh", "pause": "Jeda", - "resume": "Lanjutkan", + "resume": "Lanjutkan", "cancel": "Batal", "browse": "Jelajahi", "clear": "Bersihkan", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Masuk dengan cookies", "custom_command": "Perintah khusus", - "proxy": "Proxy", + "proxy": "Proxy", "language": "Bahasa" }, "cookies": { @@ -169,6 +168,8 @@ "processing_playlist": "📋 Memproses data playlist...", "paused": "Unduhan dijeda", "resumed": "Unduhan dilanjutkan", + "speed": "Kecepatan", + "eta": "Waktu tersisa", "please_enter_url": "Silakan masukkan URL terlebih dahulu.", "please_set_path": "Silakan atur jalur unduhan terlebih dahulu.", "please_enter_url_and_path": "Silakan masukkan URL dan atur jalur unduhan.", diff --git a/languages/it.json b/languages/it.json index eb21866..3e4f528 100644 --- a/languages/it.json +++ b/languages/it.json @@ -169,6 +169,8 @@ "processing_playlist": "📋 Elaborazione dati playlist...", "paused": "Download in pausa", "resumed": "Download ripreso", + "speed": "Velocità", + "eta": "Tempo rimanente", "please_enter_url": "Inserisci prima un URL.", "please_set_path": "Imposta prima un percorso di download.", "please_enter_url_and_path": "Inserisci un URL e imposta un percorso di download.", diff --git a/languages/ja.json b/languages/ja.json index d60efaa..75c50cb 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -169,6 +169,8 @@ "processing_playlist": "📋 再生リストデータを処理中...", "paused": "ダウンロードが一時停止されました", "resumed": "ダウンロードが再開されました", + "speed": "速度", + "eta": "予想時間", "please_enter_url": "最初にURLを入力してください。", "please_set_path": "最初にダウンロードパスを設定してください。", "please_enter_url_and_path": "URLを入力し、ダウンロードパスを設定してください。", diff --git a/languages/pl.json b/languages/pl.json index 56e888f..2f2c019 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -39,11 +39,10 @@ "file_size": "Rozmiar pliku", "codec": "Kodek", "audio": "Dźwięk", - "fps": "KL/S", + "fps": "KL/S", "will_merge_audio": "Dźwięk zostanie połączony", "has_audio": "✓ Zawiera dźwięk", "audio_only": "Tylko dźwięk", - "best_4k": "Najlepsza (4K)", "best_2k": "Najlepsza (2K)", "high_1080p": "Wysoka (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "Pobierz", "pause": "Wstrzymaj", - "resume": "Wznów", + "resume": "Wznów", "cancel": "Anuluj", "browse": "Przeglądaj", "clear": "Wyczyść", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Zaloguj za pomocą ciasteczek", "custom_command": "Polecenie niestandardowe", - "proxy": "Proxy", + "proxy": "Proxy", "language": "Język" }, "cookies": { @@ -169,6 +168,8 @@ "processing_playlist": "📋 Przetwarzanie danych playlisty...", "paused": "Pobieranie wstrzymane", "resumed": "Pobieranie wznowione", + "speed": "Prędkość", + "eta": "Pozostały czas", "please_enter_url": "Proszę najpierw wprowadzić URL.", "please_set_path": "Proszę najpierw ustawić ścieżkę pobierania.", "please_enter_url_and_path": "Proszę wprowadzić URL i ustawić ścieżkę pobierania.", diff --git a/languages/pt.json b/languages/pt.json index 41b6a01..245b3ad 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -170,6 +170,8 @@ "processing_playlist": "📋 Processando dados da playlist...", "paused": "Download pausado", "resumed": "Download retomado", + "speed": "Velocidade", + "eta": "Tempo restante", "please_enter_url": "Por favor, digite uma URL primeiro.", "please_set_path": "Por favor, defina um caminho de download primeiro.", "please_enter_url_and_path": "Por favor, digite uma URL e defina o caminho de download.", diff --git a/languages/ru.json b/languages/ru.json index ee7eff4..71e8304 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -169,6 +169,8 @@ "processing_playlist": "📋 Обработка данных плейлиста...", "paused": "Загрузка приостановлена", "resumed": "Загрузка возобновлена", + "speed": "Скорость", + "eta": "Осталось", "please_enter_url": "Пожалуйста, введите URL сначала.", "please_set_path": "Пожалуйста, установите путь загрузки сначала.", "please_enter_url_and_path": "Пожалуйста, введите URL и установите путь загрузки.", diff --git a/languages/tr.json b/languages/tr.json index 19ce103..624466e 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -169,6 +169,8 @@ "processing_playlist": "📋 Oynatma listesi verileri işleniyor...", "paused": "İndirme duraklatıldı", "resumed": "İndirme devam ettirildi", + "speed": "Hız", + "eta": "Kalan süre", "please_enter_url": "Lütfen önce bir URL girin.", "please_set_path": "Lütfen önce indirme yolunu ayarlayın.", "please_enter_url_and_path": "Lütfen bir URL girin ve indirme yolunu ayarlayın.", diff --git a/languages/zh.json b/languages/zh.json index 20cb6db..3e5aa55 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -169,6 +169,8 @@ "processing_playlist": "📋 正在处理播放列表数据...", "paused": "下载已暂停", "resumed": "下载已恢复", + "speed": "速度", + "eta": "预计时间", "please_enter_url": "请先输入网址。", "please_set_path": "请先设置下载路径。", "please_enter_url_and_path": "请输入网址并设置下载路径。", diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index b62bf13..8caca99 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -657,7 +657,7 @@ class DownloadThread(QThread): eta_str = eta_match.group(1) if eta_match else "N/A" # Simplify status message to only show the speed and ETA - status = f"Speed: {speed_str} | ETA: {eta_str}" + status = f"{_('download.speed')}: {speed_str} | {_('download.eta')}: {eta_str}" self.update_details.emit(status) except Exception as e: # If parsing fails, just show basic status (maybe log the error) From a627dfbf64f478ef3d487b4cf487c3bed4816a73 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 4 Oct 2025 13:25:17 +0300 Subject: [PATCH 232/568] Add new translation keys for file exists and auto-update dialogs Introduces new translation keys for file exists and auto-update dialogs in all supported languages. Updates the settings and main GUI to use these i18n strings instead of hardcoded English text, improving localization and user experience. --- languages/ar.json | 16 +++++++++++++ languages/de.json | 16 +++++++++++++ languages/en.json | 24 +++++++++++++++---- languages/es.json | 21 +++++++++++++--- languages/fr.json | 21 +++++++++++++--- languages/hi.json | 16 +++++++++++++ languages/id.json | 16 +++++++++++++ languages/it.json | 21 +++++++++++++--- languages/ja.json | 21 +++++++++++++--- languages/pl.json | 16 +++++++++++++ languages/pt.json | 22 +++++++++++++---- languages/ru.json | 21 +++++++++++++--- languages/tr.json | 21 +++++++++++++--- languages/zh.json | 21 +++++++++++++--- .../ytsage_dialogs_settings.py | 18 +++++++------- src/gui/ytsage_gui_main.py | 6 ++--- 16 files changed, 255 insertions(+), 42 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index f0cbf3c..f3d0aed 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -375,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} محدد" + }, + "file_exists_dialog": { + "title": "الملف موجود بالفعل", + "message": "الملف موجود بالفعل:\n{filename}", + "info": "تم تنزيل هذا الفيديو بالفعل." + }, + "auto_update": { + "last_check_never": "آخر فحص للتحديث: أبداً", + "last_check": "آخر فحص للتحديث: {time}", + "next_check_disabled": "الفحص التالي: معطل", + "next_check_startup": "الفحص التالي: عند بدء التشغيل", + "next_check_overdue": "الفحص التالي: الآن (متأخر)", + "next_check": "الفحص التالي: {time}", + "next_check_error": "الفحص التالي: خطأ في الحساب", + "checking": "🔄 جاري الفحص...", + "check_now": "🔍 التحقق من التحديثات الآن" } } \ No newline at end of file diff --git a/languages/de.json b/languages/de.json index 42ad666..0b9eaf7 100644 --- a/languages/de.json +++ b/languages/de.json @@ -375,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} ausgewählt" + }, + "file_exists_dialog": { + "title": "Datei existiert bereits", + "message": "Die Datei existiert bereits:\n{filename}", + "info": "Dieses Video wurde bereits heruntergeladen." + }, + "auto_update": { + "last_check_never": "Letzte Aktualisierungsprüfung: Nie", + "last_check": "Letzte Aktualisierungsprüfung: {time}", + "next_check_disabled": "Nächste Prüfung: Deaktiviert", + "next_check_startup": "Nächste Prüfung: Beim Start", + "next_check_overdue": "Nächste Prüfung: Jetzt (überfällig)", + "next_check": "Nächste Prüfung: {time}", + "next_check_error": "Nächste Prüfung: Fehler bei Berechnung", + "checking": "🔄 Prüfen...", + "check_now": "🔍 Jetzt nach Updates suchen" } } \ No newline at end of file diff --git a/languages/en.json b/languages/en.json index ce7b574..6300430 100644 --- a/languages/en.json +++ b/languages/en.json @@ -43,7 +43,6 @@ "will_merge_audio": "Will merge audio", "has_audio": "✓ Has Audio", "audio_only": "Audio Only", - "best_4k": "Best (4K)", "best_2k": "Best (2K)", "high_1080p": "High (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "Download", "pause": "Pause", - "resume": "Resume", + "resume": "Resume", "cancel": "Cancel", "browse": "Browse", "clear": "Clear", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Login with Cookies", "custom_command": "Custom Command", - "proxy": "Proxy", + "proxy": "Proxy", "language": "Language" }, "cookies": { @@ -151,7 +150,6 @@ "main_configured": "Main proxy configured", "geo_configured": "Geo proxy configured" }, - "download": { "preparing": "Preparing download...", "starting": "🚀 Starting download...", @@ -349,7 +347,7 @@ "ready": "Ready", "file_exists": "⚠️ File already exists", "video_file_exists": "⚠️ Video file already exists", - "audio_file_exists": "⚠️ Audio file already exists", + "audio_file_exists": "⚠️ Audio file already exists", "subtitle_file_exists": "⚠️ Subtitle file already exists", "cancelling": "Cancelling download..." }, @@ -377,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} selected" + }, + "file_exists_dialog": { + "title": "File Already Exists", + "message": "The file already exists:\n{filename}", + "info": "This video has already been downloaded." + }, + "auto_update": { + "last_check_never": "Last update check: Never", + "last_check": "Last update check: {time}", + "next_check_disabled": "Next check: Disabled", + "next_check_startup": "Next check: On next startup", + "next_check_overdue": "Next check: Now (overdue)", + "next_check": "Next check: {time}", + "next_check_error": "Next check: Error calculating", + "checking": "🔄 Checking...", + "check_now": "🔍 Check for Updates Now" } } \ No newline at end of file diff --git a/languages/es.json b/languages/es.json index e1b046d..c798011 100644 --- a/languages/es.json +++ b/languages/es.json @@ -28,7 +28,7 @@ "download": "Descargar", "pause": "Pausar", "resume": "Reanudar", - "cancel": "Cancelar", + "cancel": "Cancelar", "browse": "Examinar", "clear": "Limpiar", "ok": "Aceptar", @@ -150,9 +150,8 @@ "will_merge_audio": "Se combinará audio", "has_audio": "✓ Tiene Audio", "audio_only": "Solo Audio", - "best_4k": "Óptima (4K)", - "best_2k": "Óptima (2K)", + "best_2k": "Óptima (2K)", "high_1080p": "Alta (1080p)", "high_720p": "Alta (720p)", "medium_480p": "Media (480p)", @@ -359,5 +358,21 @@ }, "subtitle_selection": { "count_selected": "{count} seleccionados" + }, + "file_exists_dialog": { + "title": "El archivo ya existe", + "message": "El archivo ya existe:\n{filename}", + "info": "Este video ya ha sido descargado." + }, + "auto_update": { + "last_check_never": "Última verificación: Nunca", + "last_check": "Última verificación: {time}", + "next_check_disabled": "Próxima verificación: Deshabilitada", + "next_check_startup": "Próxima verificación: Al iniciar", + "next_check_overdue": "Próxima verificación: Ahora (atrasada)", + "next_check": "Próxima verificación: {time}", + "next_check_error": "Próxima verificación: Error al calcular", + "checking": "🔄 Verificando...", + "check_now": "🔍 Verificar actualizaciones ahora" } } \ No newline at end of file diff --git a/languages/fr.json b/languages/fr.json index 138921e..b6d1512 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -43,7 +43,6 @@ "will_merge_audio": "L'audio sera fusionné", "has_audio": "✓ Contient de l'audio", "audio_only": "Audio uniquement", - "best_4k": "Meilleure (4K)", "best_2k": "Meilleure (2K)", "high_1080p": "Haute (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "Télécharger", "pause": "Pause", - "resume": "Reprendre", + "resume": "Reprendre", "cancel": "Annuler", "browse": "Parcourir", "clear": "Effacer", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Se connecter avec des cookies", "custom_command": "Commande personnalisée", - "proxy": "Proxy", + "proxy": "Proxy", "language": "Langue" }, "cookies": { @@ -376,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} sélectionné(s)" + }, + "file_exists_dialog": { + "title": "Le fichier existe déjà", + "message": "Le fichier existe déjà :\n{filename}", + "info": "Cette vidéo a déjà été téléchargée." + }, + "auto_update": { + "last_check_never": "Dernière vérification : Jamais", + "last_check": "Dernière vérification : {time}", + "next_check_disabled": "Prochaine vérification : Désactivée", + "next_check_startup": "Prochaine vérification : Au démarrage", + "next_check_overdue": "Prochaine vérification : Maintenant (en retard)", + "next_check": "Prochaine vérification : {time}", + "next_check_error": "Prochaine vérification : Erreur de calcul", + "checking": "🔄 Vérification...", + "check_now": "🔍 Vérifier les mises à jour maintenant" } } \ No newline at end of file diff --git a/languages/hi.json b/languages/hi.json index a9317c4..3ac1595 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -375,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} चुना गया" + }, + "file_exists_dialog": { + "title": "फ़ाइल पहले से मौजूद है", + "message": "फ़ाइल पहले से मौजूद है:\n{filename}", + "info": "यह वीडियो पहले ही डाउनलोड किया जा चुका है।" + }, + "auto_update": { + "last_check_never": "अंतिम अपडेट जांच: कभी नहीं", + "last_check": "अंतिम अपडेट जांच: {time}", + "next_check_disabled": "अगली जांच: अक्षम", + "next_check_startup": "अगली जांच: स्टार्टअप पर", + "next_check_overdue": "अगली जांच: अभी (विलंबित)", + "next_check": "अगली जांच: {time}", + "next_check_error": "अगली जांच: गणना त्रुटि", + "checking": "🔄 जांच रहे हैं...", + "check_now": "🔍 अभी अपडेट की जांच करें" } } \ No newline at end of file diff --git a/languages/id.json b/languages/id.json index e9b4834..d5cfb0f 100644 --- a/languages/id.json +++ b/languages/id.json @@ -375,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} dipilih" + }, + "file_exists_dialog": { + "title": "File Sudah Ada", + "message": "File sudah ada:\n{filename}", + "info": "Video ini sudah pernah diunduh." + }, + "auto_update": { + "last_check_never": "Pemeriksaan terakhir: Tidak pernah", + "last_check": "Pemeriksaan terakhir: {time}", + "next_check_disabled": "Pemeriksaan berikutnya: Dinonaktifkan", + "next_check_startup": "Pemeriksaan berikutnya: Saat startup", + "next_check_overdue": "Pemeriksaan berikutnya: Sekarang (terlambat)", + "next_check": "Pemeriksaan berikutnya: {time}", + "next_check_error": "Pemeriksaan berikutnya: Kesalahan perhitungan", + "checking": "🔄 Memeriksa...", + "check_now": "🔍 Periksa pembaruan sekarang" } } \ No newline at end of file diff --git a/languages/it.json b/languages/it.json index 3e4f528..1bec284 100644 --- a/languages/it.json +++ b/languages/it.json @@ -43,7 +43,6 @@ "will_merge_audio": "L'audio verrà unito", "has_audio": "✓ Contiene audio", "audio_only": "Solo audio", - "best_4k": "Migliore (4K)", "best_2k": "Migliore (2K)", "high_1080p": "Alta (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "Scarica", "pause": "Pausa", - "resume": "Riprendi", + "resume": "Riprendi", "cancel": "Annulla", "browse": "Sfoglia", "clear": "Cancella", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Accedi con i cookie", "custom_command": "Comando personalizzato", - "proxy": "Proxy", + "proxy": "Proxy", "language": "Lingua" }, "cookies": { @@ -376,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} selezionati" + }, + "file_exists_dialog": { + "title": "Il file esiste già", + "message": "Il file esiste già:\n{filename}", + "info": "Questo video è già stato scaricato." + }, + "auto_update": { + "last_check_never": "Ultimo controllo aggiornamenti: Mai", + "last_check": "Ultimo controllo aggiornamenti: {time}", + "next_check_disabled": "Prossimo controllo: Disabilitato", + "next_check_startup": "Prossimo controllo: All'avvio", + "next_check_overdue": "Prossimo controllo: Ora (in ritardo)", + "next_check": "Prossimo controllo: {time}", + "next_check_error": "Prossimo controllo: Errore di calcolo", + "checking": "🔄 Controllo...", + "check_now": "🔍 Controlla aggiornamenti ora" } } \ No newline at end of file diff --git a/languages/ja.json b/languages/ja.json index 75c50cb..c6eb70c 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -43,7 +43,6 @@ "will_merge_audio": "音声が結合されます", "has_audio": "✓ 音声あり", "audio_only": "音声のみ", - "best_4k": "最高 (4K)", "best_2k": "最高 (2K)", "high_1080p": "高 (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "ダウンロード", "pause": "一時停止", - "resume": "再開", + "resume": "再開", "cancel": "キャンセル", "browse": "参照", "clear": "クリア", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Cookieでログイン", "custom_command": "カスタムコマンド", - "proxy": "プロキシ", + "proxy": "プロキシ", "language": "言語" }, "cookies": { @@ -376,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count}個選択" + }, + "file_exists_dialog": { + "title": "ファイルが既に存在します", + "message": "ファイルが既に存在します:\n{filename}", + "info": "この動画は既にダウンロードされています。" + }, + "auto_update": { + "last_check_never": "最終更新確認: なし", + "last_check": "最終更新確認: {time}", + "next_check_disabled": "次回確認: 無効", + "next_check_startup": "次回確認: 起動時", + "next_check_overdue": "次回確認: 今すぐ (遅延)", + "next_check": "次回確認: {time}", + "next_check_error": "次回確認: 計算エラー", + "checking": "🔄 確認中...", + "check_now": "🔍 今すぐ更新を確認" } } \ No newline at end of file diff --git a/languages/pl.json b/languages/pl.json index 2f2c019..c336f0e 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -375,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} wybrano" + }, + "file_exists_dialog": { + "title": "Plik już istnieje", + "message": "Plik już istnieje:\n{filename}", + "info": "Ten film został już pobrany." + }, + "auto_update": { + "last_check_never": "Ostatnie sprawdzenie: Nigdy", + "last_check": "Ostatnie sprawdzenie: {time}", + "next_check_disabled": "Następne sprawdzenie: Wyłączone", + "next_check_startup": "Następne sprawdzenie: Przy starcie", + "next_check_overdue": "Następne sprawdzenie: Teraz (zaległe)", + "next_check": "Następne sprawdzenie: {time}", + "next_check_error": "Następne sprawdzenie: Błąd obliczania", + "checking": "🔄 Sprawdzanie...", + "check_now": "🔍 Sprawdź aktualizacje teraz" } } \ No newline at end of file diff --git a/languages/pt.json b/languages/pt.json index 245b3ad..80a3eac 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -43,7 +43,6 @@ "will_merge_audio": "Irá mesclar áudio", "has_audio": "✓ Tem Áudio", "audio_only": "Apenas Áudio", - "best_4k": "Melhor (4K)", "best_2k": "Melhor (2K)", "high_1080p": "Alta (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "Baixar", "pause": "Pausar", - "resume": "Retomar", + "resume": "Retomar", "cancel": "Cancelar", "browse": "Procurar", "clear": "Limpar", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Entrar com Cookies", "custom_command": "Comando Personalizado", - "proxy": "Proxy", + "proxy": "Proxy", "language": "Idioma" }, "cookies": { @@ -151,7 +150,6 @@ "main_configured": "Proxy principal configurado", "geo_configured": "Proxy geográfico configurado" }, - "download": { "preparing": "Preparando download...", "starting": "🚀 Iniciando download...", @@ -377,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} selecionadas" + }, + "file_exists_dialog": { + "title": "Arquivo já existe", + "message": "O arquivo já existe:\n{filename}", + "info": "Este vídeo já foi baixado." + }, + "auto_update": { + "last_check_never": "Última verificação: Nunca", + "last_check": "Última verificação: {time}", + "next_check_disabled": "Próxima verificação: Desativada", + "next_check_startup": "Próxima verificação: Na inicialização", + "next_check_overdue": "Próxima verificação: Agora (atrasada)", + "next_check": "Próxima verificação: {time}", + "next_check_error": "Próxima verificação: Erro ao calcular", + "checking": "🔄 Verificando...", + "check_now": "🔍 Verificar atualizações agora" } } \ No newline at end of file diff --git a/languages/ru.json b/languages/ru.json index 71e8304..05c790c 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -43,7 +43,6 @@ "will_merge_audio": "Объединит аудио", "has_audio": "✓ Есть аудио", "audio_only": "Только аудио", - "best_4k": "Лучшее (4K)", "best_2k": "Лучшее (2K)", "high_1080p": "Высокое (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "Скачать", "pause": "Пауза", - "resume": "Продолжить", + "resume": "Продолжить", "cancel": "Отмена", "browse": "Обзор", "clear": "Очистить", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Войти через Cookie", "custom_command": "Пользовательская команда", - "proxy": "Прокси", + "proxy": "Прокси", "language": "Язык" }, "cookies": { @@ -376,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "выбрано: {count}" + }, + "file_exists_dialog": { + "title": "Файл уже существует", + "message": "Файл уже существует:\n{filename}", + "info": "Это видео уже было загружено." + }, + "auto_update": { + "last_check_never": "Последняя проверка: Никогда", + "last_check": "Последняя проверка: {time}", + "next_check_disabled": "Следующая проверка: Отключена", + "next_check_startup": "Следующая проверка: При запуске", + "next_check_overdue": "Следующая проверка: Сейчас (просрочено)", + "next_check": "Следующая проверка: {time}", + "next_check_error": "Следующая проверка: Ошибка расчета", + "checking": "🔄 Проверка...", + "check_now": "🔍 Проверить обновления сейчас" } } \ No newline at end of file diff --git a/languages/tr.json b/languages/tr.json index 624466e..9042115 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -43,7 +43,6 @@ "will_merge_audio": "Ses birleştirilecek", "has_audio": "✓ Ses var", "audio_only": "Sadece ses", - "best_4k": "En iyi (4K)", "best_2k": "En iyi (2K)", "high_1080p": "Yüksek (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "İndir", "pause": "Duraklat", - "resume": "Devam Et", + "resume": "Devam Et", "cancel": "İptal", "browse": "Gözat", "clear": "Temizle", @@ -96,7 +95,7 @@ "tabs": { "cookies": "Çerezlerle giriş yap", "custom_command": "Özel komut", - "proxy": "Proxy", + "proxy": "Proxy", "language": "Dil" }, "cookies": { @@ -376,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "{count} seçildi" + }, + "file_exists_dialog": { + "title": "Dosya zaten mevcut", + "message": "Dosya zaten mevcut:\n{filename}", + "info": "Bu video zaten indirilmiş." + }, + "auto_update": { + "last_check_never": "Son güncelleme kontrolü: Hiç", + "last_check": "Son güncelleme kontrolü: {time}", + "next_check_disabled": "Sonraki kontrol: Devre dışı", + "next_check_startup": "Sonraki kontrol: Başlangıçta", + "next_check_overdue": "Sonraki kontrol: Şimdi (gecikmiş)", + "next_check": "Sonraki kontrol: {time}", + "next_check_error": "Sonraki kontrol: Hesaplama hatası", + "checking": "🔄 Kontrol ediliyor...", + "check_now": "🔍 Şimdi güncellemeleri kontrol et" } } \ No newline at end of file diff --git a/languages/zh.json b/languages/zh.json index 3e5aa55..5a6758e 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -43,7 +43,6 @@ "will_merge_audio": "将合并音频", "has_audio": "✓ 有音频", "audio_only": "仅音频", - "best_4k": "最佳 (4K)", "best_2k": "最佳 (2K)", "high_1080p": "高清 (1080p)", @@ -59,7 +58,7 @@ "buttons": { "download": "下载", "pause": "暂停", - "resume": "恢复", + "resume": "恢复", "cancel": "取消", "browse": "浏览", "clear": "清除", @@ -96,7 +95,7 @@ "tabs": { "cookies": "使用 Cookie 登录", "custom_command": "自定义命令", - "proxy": "代理", + "proxy": "代理", "language": "语言" }, "cookies": { @@ -376,5 +375,21 @@ }, "subtitle_selection": { "count_selected": "已选择{count}个" + }, + "file_exists_dialog": { + "title": "文件已存在", + "message": "文件已存在:\n{filename}", + "info": "该视频已被下载。" + }, + "auto_update": { + "last_check_never": "上次检查更新: 从未", + "last_check": "上次检查更新: {time}", + "next_check_disabled": "下次检查: 已禁用", + "next_check_startup": "下次检查: 启动时", + "next_check_overdue": "下次检查: 现在 (已逾期)", + "next_check": "下次检查: {time}", + "next_check_error": "下次检查: 计算错误", + "checking": "🔄 检查中...", + "check_now": "🔍 立即检查更新" } } \ No newline at end of file diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 958b03e..da24d60 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -575,9 +575,9 @@ class AutoUpdateSettingsDialog(QDialog): last_check = settings["last_check"] if last_check > 0: last_check_time = datetime.fromtimestamp(last_check).strftime("%Y-%m-%d %H:%M:%S") - self.last_check_label.setText(f"Last update check: {last_check_time}") + self.last_check_label.setText(_("auto_update.last_check", time=last_check_time)) else: - self.last_check_label.setText("Last update check: Never") + self.last_check_label.setText(_("auto_update.last_check_never")) # Calculate next check time self.update_next_check_label() @@ -592,7 +592,7 @@ class AutoUpdateSettingsDialog(QDialog): """Update the next check label based on current settings.""" try: if not self.enable_checkbox.isChecked(): - self.next_check_label.setText("Next check: Disabled") + self.next_check_label.setText(_("auto_update.next_check_disabled")) return settings = get_auto_update_settings() @@ -600,7 +600,7 @@ class AutoUpdateSettingsDialog(QDialog): frequency = self.get_selected_frequency() if last_check == 0: - self.next_check_label.setText("Next check: On next startup") + self.next_check_label.setText(_("auto_update.next_check_startup")) return next_check_time = last_check @@ -613,13 +613,13 @@ class AutoUpdateSettingsDialog(QDialog): current_time = time.time() if next_check_time <= current_time: - self.next_check_label.setText("Next check: Now (overdue)") + self.next_check_label.setText(_("auto_update.next_check_overdue")) else: next_check_datetime = datetime.fromtimestamp(next_check_time) - self.next_check_label.setText(f"Next check: {next_check_datetime.strftime('%Y-%m-%d %H:%M:%S')}") + self.next_check_label.setText(_("auto_update.next_check", time=next_check_datetime.strftime('%Y-%m-%d %H:%M:%S'))) except Exception as e: - self.next_check_label.setText("Next check: Error calculating") + self.next_check_label.setText(_("auto_update.next_check_error")) logger.exception(f"Error calculating next check time: {e}") def on_enable_toggled(self, enabled) -> None: @@ -642,7 +642,7 @@ class AutoUpdateSettingsDialog(QDialog): def manual_check(self) -> None: """Perform a manual update check.""" self.manual_check_btn.setEnabled(False) - self.manual_check_btn.setText("🔄 Checking...") + self.manual_check_btn.setText(_("auto_update.checking")) # Force an immediate update check def check_in_thread() -> None: @@ -696,7 +696,7 @@ class AutoUpdateSettingsDialog(QDialog): def manual_check_finished(self, success) -> None: """Handle completion of manual update check.""" self.manual_check_btn.setEnabled(True) - self.manual_check_btn.setText("🔍 Check for Updates Now") + self.manual_check_btn.setText(_("auto_update.check_now")) if success: msg_box = self._create_styled_message_box( diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index f4a745c..0f2270f 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -1480,9 +1480,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Show a simple message dialog msg_box = QMessageBox() msg_box.setIcon(QMessageBox.Icon.Information) - msg_box.setWindowTitle("File Already Exists") - msg_box.setText(f"The file already exists:\n{filename}") - msg_box.setInformativeText("This video has already been downloaded.") + msg_box.setWindowTitle(_("file_exists_dialog.title")) + msg_box.setText(_("file_exists_dialog.message", filename=filename)) + msg_box.setInformativeText(_("file_exists_dialog.info")) msg_box.setStandardButtons(QMessageBox.StandardButton.Ok) # Set the window icon to match the main application From 4bc677add396ef3d102c596070d02aa0f7bad16b Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 4 Oct 2025 13:42:50 +0300 Subject: [PATCH 233/568] Make format table column widths responsive Refactored column width and resize logic in the format table to use responsive sizing based on header text length and font metrics. Introduced helper methods to calculate and apply column widths for both normal and playlist modes, improving adaptability to localization and UI consistency. --- src/gui/ytsage_gui_format_table.py | 159 +++++++++++++++-------------- 1 file changed, 84 insertions(+), 75 deletions(-) diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 0130261..786136c 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -1,7 +1,7 @@ from typing import TYPE_CHECKING, cast from PySide6.QtCore import QObject, Qt, Signal -from PySide6.QtGui import QColor +from PySide6.QtGui import QColor, QFontMetrics from PySide6.QtWidgets import QCheckBox, QHBoxLayout, QHeaderView, QSizePolicy, QTableWidget, QTableWidgetItem, QWidget from src.utils.ytsage_localization import _ @@ -15,6 +15,56 @@ class FormatSignals(QObject): class FormatTableMixin: + def _calculate_column_width(self, label: str, min_width: int, padding: int) -> int: + """Calculate responsive column width based on header text length.""" + self = cast("YTSageApp", self) + font_metrics = QFontMetrics(self.format_table.horizontalHeader().font()) + text_width = font_metrics.horizontalAdvance(label) + return max(text_width + padding, min_width) + + def _apply_column_widths(self, header_labels: list[str], is_playlist_mode: bool = False) -> None: + """Apply responsive column widths to format table.""" + self = cast("YTSageApp", self) + + if is_playlist_mode: + # Playlist mode: 5 columns + configs = [ + {"min_width": 70, "padding": 40}, # Select + {"min_width": 100, "padding": 30}, # Quality + {"min_width": 100, "padding": 30}, # Resolution + {"min_width": 60, "padding": 30}, # FPS + {"min_width": 100, "padding": 30}, # Audio + ] + + self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) + calculated_width = self._calculate_column_width(header_labels[0], configs[0]["min_width"], configs[0]["padding"]) + self.format_table.setColumnWidth(0, calculated_width) + + # Remaining columns stretch + for i in range(1, 5): + self.format_table.horizontalHeader().setSectionResizeMode(i, QHeaderView.ResizeMode.Stretch) + else: + # Normal mode: 8 columns + configs = [ + {"min_width": 70, "padding": 40}, # Select - needs space for checkbox + {"min_width": 100, "padding": 30}, # Quality + {"min_width": 85, "padding": 30}, # Extension + {"min_width": 100, "padding": 30}, # Resolution + {"min_width": 90, "padding": 30}, # File Size + {"min_width": 100, "padding": 30}, # Codec + {"min_width": 100, "padding": 30}, # Audio + {"min_width": 60, "padding": 30}, # FPS + ] + + for col_index, (label, config) in enumerate(zip(header_labels, configs)): + calculated_width = self._calculate_column_width(label, config["min_width"], config["padding"]) + + if col_index < 7: # All columns except the last one are fixed + self.format_table.horizontalHeader().setSectionResizeMode(col_index, QHeaderView.ResizeMode.Fixed) + self.format_table.setColumnWidth(col_index, calculated_width) + else: # FPS column stretches to fill remaining space + self.format_table.horizontalHeader().setSectionResizeMode(col_index, QHeaderView.ResizeMode.Stretch) + def setup_format_table(self) -> QTableWidget: self = cast("YTSageApp", self) # for autocompletion and type inference. @@ -22,46 +72,25 @@ class FormatTableMixin: # Format table with improved styling self.format_table = QTableWidget() self.format_table.setColumnCount(8) - self.format_table.setHorizontalHeaderLabels( - [ - _("formats.select"), - _("formats.quality"), - _("formats.extension"), - _("formats.resolution"), - _("formats.file_size"), - _("formats.codec"), - _("formats.audio"), - _("formats.fps"), - ] - ) + + # Get translated header labels + header_labels = [ + _("formats.select"), + _("formats.quality"), + _("formats.extension"), + _("formats.resolution"), + _("formats.file_size"), + _("formats.codec"), + _("formats.audio"), + _("formats.fps"), + ] + self.format_table.setHorizontalHeaderLabels(header_labels) # Enable alternating row colors self.format_table.setAlternatingRowColors(True) - # Set specific column widths and resize modes - self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) # Select - self.format_table.setColumnWidth(0, 70) # Select column width (slightly reduced) - - self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) # Quality - self.format_table.setColumnWidth(1, 110) # Quality width (increased for better visibility) - - self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) # Extension - self.format_table.setColumnWidth(2, 85) # Extension width (slightly increased) - - self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) # Resolution - self.format_table.setColumnWidth(3, 110) # Resolution width (increased for better visibility) - - self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) # File Size - self.format_table.setColumnWidth(4, 110) # File Size width (increased for better readability) - - self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) # Codec - self.format_table.setColumnWidth(5, 160) # Codec width (increased for codec names) - - self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) # Audio - self.format_table.setColumnWidth(6, 140) # Audio width (increased for better text visibility) - - self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) # FPS column stretches to fill - # FPS column will stretch to fill remaining space + # Apply responsive column widths + self._apply_column_widths(header_labels, is_playlist_mode=False) # Set vertical header (row numbers) visible to false self.format_table.verticalHeader().setVisible(False) @@ -189,57 +218,37 @@ class FormatTableMixin: # Configure columns based on mode if is_playlist_mode: self.format_table.setColumnCount(5) - self.format_table.setHorizontalHeaderLabels([_("formats.select"), _("formats.quality"), _("formats.resolution"), _("formats.fps"), _("formats.audio")]) + header_labels = [_("formats.select"), _("formats.quality"), _("formats.resolution"), _("formats.fps"), _("formats.audio")] + self.format_table.setHorizontalHeaderLabels(header_labels) # Configure column visibility and resizing for playlist mode self.format_table.setColumnHidden(5, True) self.format_table.setColumnHidden(6, True) self.format_table.setColumnHidden(7, True) - # Set specific resize modes for playlist columns - self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(0, 80) # Match the width set in setup_format_table - self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Stretch) - self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Stretch) - self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Stretch) - self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Stretch) + # Apply responsive column widths for playlist mode + self._apply_column_widths(header_labels, is_playlist_mode=True) else: self.format_table.setColumnCount(8) - self.format_table.setHorizontalHeaderLabels( - [ - _("formats.select"), - _("formats.quality"), - _("formats.extension"), - _("formats.resolution"), - _("formats.file_size"), - _("formats.codec"), - _("formats.audio"), - _("formats.fps"), - ] - ) + header_labels = [ + _("formats.select"), + _("formats.quality"), + _("formats.extension"), + _("formats.resolution"), + _("formats.file_size"), + _("formats.codec"), + _("formats.audio"), + _("formats.fps"), + ] + self.format_table.setHorizontalHeaderLabels(header_labels) + # Ensure all columns are visible for i in range(2, 8): self.format_table.setColumnHidden(i, False) - # Reapply optimized resize modes for non-playlist mode - self.format_table.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(0, 70) # Match the optimized width - self.format_table.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(1, 110) - self.format_table.horizontalHeader().setSectionResizeMode(2, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(2, 85) - self.format_table.horizontalHeader().setSectionResizeMode(3, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(3, 110) - self.format_table.horizontalHeader().setSectionResizeMode(4, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(4, 110) - self.format_table.horizontalHeader().setSectionResizeMode(5, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(5, 160) - self.format_table.horizontalHeader().setSectionResizeMode(6, QHeaderView.ResizeMode.Fixed) - self.format_table.setColumnWidth(6, 140) - self.format_table.horizontalHeader().setSectionResizeMode(7, QHeaderView.ResizeMode.Stretch) - # FPS column stretches to fill remaining space - + # Apply responsive column widths for normal mode + self._apply_column_widths(header_labels, is_playlist_mode=False) for f in formats: From 79b03bd083b74e7e679bdb1e690618cab422255e Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 4 Oct 2025 14:03:29 +0300 Subject: [PATCH 234/568] Add HDR column to format table and translations Introduces an HDR (High Dynamic Range) column to the format table in both playlist and normal modes, updating column counts, widths, and item population logic accordingly. Also adds the 'hdr' translation key to all supported languages. --- languages/ar.json | 1 + languages/de.json | 1 + languages/en.json | 1 + languages/es.json | 1 + languages/fr.json | 1 + languages/hi.json | 1 + languages/id.json | 1 + languages/it.json | 1 + languages/ja.json | 1 + languages/pl.json | 1 + languages/pt.json | 1 + languages/ru.json | 1 + languages/tr.json | 1 + languages/zh.json | 1 + src/gui/ytsage_gui_format_table.py | 64 ++++++++++++++++++++++++------ 15 files changed, 66 insertions(+), 12 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index f3d0aed..1a8e363 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -40,6 +40,7 @@ "codec": "الترميز", "audio": "الصوت", "fps": "إطار/ث", + "hdr": "HDR", "will_merge_audio": "سيتم دمج الصوت", "has_audio": "✓ يحتوي على صوت", "audio_only": "صوت فقط", diff --git a/languages/de.json b/languages/de.json index 0b9eaf7..f95ec15 100644 --- a/languages/de.json +++ b/languages/de.json @@ -40,6 +40,7 @@ "codec": "Codec", "audio": "Audio", "fps": "FPS", + "hdr": "HDR", "will_merge_audio": "Audio wird zusammengeführt", "has_audio": "✓ Hat Audio", "audio_only": "Nur Audio", diff --git a/languages/en.json b/languages/en.json index 6300430..068c470 100644 --- a/languages/en.json +++ b/languages/en.json @@ -40,6 +40,7 @@ "codec": "Codec", "audio": "Audio", "fps": "FPS", + "hdr": "HDR", "will_merge_audio": "Will merge audio", "has_audio": "✓ Has Audio", "audio_only": "Audio Only", diff --git a/languages/es.json b/languages/es.json index c798011..e521742 100644 --- a/languages/es.json +++ b/languages/es.json @@ -147,6 +147,7 @@ "codec": "Códec", "audio": "Audio", "fps": "FPS", + "hdr": "HDR", "will_merge_audio": "Se combinará audio", "has_audio": "✓ Tiene Audio", "audio_only": "Solo Audio", diff --git a/languages/fr.json b/languages/fr.json index b6d1512..f54722f 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -40,6 +40,7 @@ "codec": "Codec", "audio": "Audio", "fps": "IPS", + "hdr": "HDR", "will_merge_audio": "L'audio sera fusionné", "has_audio": "✓ Contient de l'audio", "audio_only": "Audio uniquement", diff --git a/languages/hi.json b/languages/hi.json index 3ac1595..69c056c 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -40,6 +40,7 @@ "codec": "कोडेक", "audio": "ऑडियो", "fps": "फ्रेम दर", + "hdr": "HDR", "will_merge_audio": "ऑडियो मर्ज किया जाएगा", "has_audio": "✓ ऑडियो है", "audio_only": "केवल ऑडियो", diff --git a/languages/id.json b/languages/id.json index d5cfb0f..9661c3b 100644 --- a/languages/id.json +++ b/languages/id.json @@ -40,6 +40,7 @@ "codec": "Codec", "audio": "Audio", "fps": "FPS", + "hdr": "HDR", "will_merge_audio": "Audio akan digabungkan", "has_audio": "✓ Memiliki audio", "audio_only": "Audio saja", diff --git a/languages/it.json b/languages/it.json index 1bec284..804c2cc 100644 --- a/languages/it.json +++ b/languages/it.json @@ -40,6 +40,7 @@ "codec": "Codec", "audio": "Audio", "fps": "FPS", + "hdr": "HDR", "will_merge_audio": "L'audio verrà unito", "has_audio": "✓ Contiene audio", "audio_only": "Solo audio", diff --git a/languages/ja.json b/languages/ja.json index c6eb70c..4d5ec9d 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -40,6 +40,7 @@ "codec": "コーデック", "audio": "音声", "fps": "FPS", + "hdr": "HDR", "will_merge_audio": "音声が結合されます", "has_audio": "✓ 音声あり", "audio_only": "音声のみ", diff --git a/languages/pl.json b/languages/pl.json index c336f0e..21379c3 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -40,6 +40,7 @@ "codec": "Kodek", "audio": "Dźwięk", "fps": "KL/S", + "hdr": "HDR", "will_merge_audio": "Dźwięk zostanie połączony", "has_audio": "✓ Zawiera dźwięk", "audio_only": "Tylko dźwięk", diff --git a/languages/pt.json b/languages/pt.json index 80a3eac..9586834 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -40,6 +40,7 @@ "codec": "Codec", "audio": "Áudio", "fps": "FPS", + "hdr": "HDR", "will_merge_audio": "Irá mesclar áudio", "has_audio": "✓ Tem Áudio", "audio_only": "Apenas Áudio", diff --git a/languages/ru.json b/languages/ru.json index 05c790c..b8e11d6 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -40,6 +40,7 @@ "codec": "Кодек", "audio": "Аудио", "fps": "Кадр/с", + "hdr": "HDR", "will_merge_audio": "Объединит аудио", "has_audio": "✓ Есть аудио", "audio_only": "Только аудио", diff --git a/languages/tr.json b/languages/tr.json index 9042115..2c33d0e 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -40,6 +40,7 @@ "codec": "Codec", "audio": "Ses", "fps": "FPS", + "hdr": "HDR", "will_merge_audio": "Ses birleştirilecek", "has_audio": "✓ Ses var", "audio_only": "Sadece ses", diff --git a/languages/zh.json b/languages/zh.json index 5a6758e..0c4cc0e 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -40,6 +40,7 @@ "codec": "编解码器", "audio": "音频", "fps": "帧率", + "hdr": "HDR", "will_merge_audio": "将合并音频", "has_audio": "✓ 有音频", "audio_only": "仅音频", diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 786136c..bda62a2 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -27,12 +27,13 @@ class FormatTableMixin: self = cast("YTSageApp", self) if is_playlist_mode: - # Playlist mode: 5 columns + # Playlist mode: 6 columns configs = [ {"min_width": 70, "padding": 40}, # Select {"min_width": 100, "padding": 30}, # Quality {"min_width": 100, "padding": 30}, # Resolution {"min_width": 60, "padding": 30}, # FPS + {"min_width": 60, "padding": 30}, # HDR {"min_width": 100, "padding": 30}, # Audio ] @@ -41,10 +42,10 @@ class FormatTableMixin: self.format_table.setColumnWidth(0, calculated_width) # Remaining columns stretch - for i in range(1, 5): + for i in range(1, 6): self.format_table.horizontalHeader().setSectionResizeMode(i, QHeaderView.ResizeMode.Stretch) else: - # Normal mode: 8 columns + # Normal mode: 9 columns configs = [ {"min_width": 70, "padding": 40}, # Select - needs space for checkbox {"min_width": 100, "padding": 30}, # Quality @@ -54,15 +55,16 @@ class FormatTableMixin: {"min_width": 100, "padding": 30}, # Codec {"min_width": 100, "padding": 30}, # Audio {"min_width": 60, "padding": 30}, # FPS + {"min_width": 60, "padding": 30}, # HDR ] for col_index, (label, config) in enumerate(zip(header_labels, configs)): calculated_width = self._calculate_column_width(label, config["min_width"], config["padding"]) - if col_index < 7: # All columns except the last one are fixed + if col_index < 8: # All columns except the last one are fixed self.format_table.horizontalHeader().setSectionResizeMode(col_index, QHeaderView.ResizeMode.Fixed) self.format_table.setColumnWidth(col_index, calculated_width) - else: # FPS column stretches to fill remaining space + else: # HDR column stretches to fill remaining space self.format_table.horizontalHeader().setSectionResizeMode(col_index, QHeaderView.ResizeMode.Stretch) def setup_format_table(self) -> QTableWidget: @@ -71,7 +73,7 @@ class FormatTableMixin: self.format_signals = FormatSignals() # Format table with improved styling self.format_table = QTableWidget() - self.format_table.setColumnCount(8) + self.format_table.setColumnCount(9) # Get translated header labels header_labels = [ @@ -83,6 +85,7 @@ class FormatTableMixin: _("formats.codec"), _("formats.audio"), _("formats.fps"), + _("formats.hdr"), ] self.format_table.setHorizontalHeaderLabels(header_labels) @@ -217,20 +220,20 @@ class FormatTableMixin: # Configure columns based on mode if is_playlist_mode: - self.format_table.setColumnCount(5) - header_labels = [_("formats.select"), _("formats.quality"), _("formats.resolution"), _("formats.fps"), _("formats.audio")] + self.format_table.setColumnCount(6) + header_labels = [_("formats.select"), _("formats.quality"), _("formats.resolution"), _("formats.fps"), _("formats.hdr"), _("formats.audio")] self.format_table.setHorizontalHeaderLabels(header_labels) # Configure column visibility and resizing for playlist mode - self.format_table.setColumnHidden(5, True) self.format_table.setColumnHidden(6, True) self.format_table.setColumnHidden(7, True) + self.format_table.setColumnHidden(8, True) # Apply responsive column widths for playlist mode self._apply_column_widths(header_labels, is_playlist_mode=True) else: - self.format_table.setColumnCount(8) + self.format_table.setColumnCount(9) header_labels = [ _("formats.select"), _("formats.quality"), @@ -240,11 +243,12 @@ class FormatTableMixin: _("formats.codec"), _("formats.audio"), _("formats.fps"), + _("formats.hdr"), ] self.format_table.setHorizontalHeaderLabels(header_labels) # Ensure all columns are visible - for i in range(2, 8): + for i in range(2, 9): self.format_table.setColumnHidden(i, False) # Apply responsive column widths for normal mode @@ -316,6 +320,24 @@ class FormatTableMixin: else: fps_item.setForeground(QColor("#888888")) # Gray for N/A self.format_table.setItem(row, 3, fps_item) + + # Column 4: HDR for playlist mode + if f.get("vcodec") == "none": + # Audio-only formats don't have HDR + hdr_text = "N/A" + hdr_item = QTableWidgetItem(hdr_text) + hdr_item.setForeground(QColor("#888888")) # Gray for N/A + else: + hdr_value = f.get("dynamic_range") + if hdr_value and hdr_value != "SDR": + hdr_text = hdr_value + hdr_item = QTableWidgetItem(hdr_text) + hdr_item.setForeground(QColor("#00ffff")) # Cyan for HDR + else: + hdr_text = "SDR" + hdr_item = QTableWidgetItem(hdr_text) + hdr_item.setForeground(QColor("#888888")) # Gray for SDR + self.format_table.setItem(row, 4, hdr_item) else: # Extension for normal mode (column 2) self.format_table.setItem(row, 2, QTableWidgetItem(f.get("ext", "").upper())) @@ -331,7 +353,7 @@ class FormatTableMixin: else: # Has Audio (Video+Audio) audio_item.setForeground(QColor("#00cc00")) # Green for included audio # Set item for correct column based on mode - audio_column_index = 4 if is_playlist_mode else 6 + audio_column_index = 5 if is_playlist_mode else 6 self.format_table.setItem(row, audio_column_index, audio_item) # --- Populate columns only shown in non-playlist mode --- @@ -374,6 +396,24 @@ class FormatTableMixin: else: fps_item.setForeground(QColor("#888888")) # Gray for N/A self.format_table.setItem(row, 7, fps_item) + + # Column 8: HDR (Dynamic Range) + if f.get("vcodec") == "none": + # Audio-only formats don't have HDR + hdr_text = "N/A" + hdr_item = QTableWidgetItem(hdr_text) + hdr_item.setForeground(QColor("#888888")) # Gray for N/A + else: + hdr_value = f.get("dynamic_range") + if hdr_value and hdr_value != "SDR": + hdr_text = hdr_value + hdr_item = QTableWidgetItem(hdr_text) + hdr_item.setForeground(QColor("#00ffff")) # Cyan for HDR + else: + hdr_text = "SDR" + hdr_item = QTableWidgetItem(hdr_text) + hdr_item.setForeground(QColor("#888888")) # Gray for SDR + self.format_table.setItem(row, 8, hdr_item) def handle_checkbox_click(self, clicked_checkbox) -> None: self = cast("YTSageApp", self) # for autocompletion and type inference. From 400b0e1f2f7b89f495a29095f3d562e76381fa15 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 6 Oct 2025 16:06:21 +0300 Subject: [PATCH 235/568] Update application screenshots Replaced screenshots for audio format, main, playlist, and subtitle options to reflect recent UI or feature changes. --- assets/branding/screenshots/audio_format.png | Bin 711566 -> 817668 bytes assets/branding/screenshots/main.png | Bin 663623 -> 787784 bytes assets/branding/screenshots/playlist.png | Bin 607601 -> 704350 bytes .../branding/screenshots/subtitle_options.png | Bin 692588 -> 834556 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/branding/screenshots/audio_format.png b/assets/branding/screenshots/audio_format.png index 943e773cdfb50c4ac36872015e8410341eb523e5..275e6904f126bc91d6dd1623b230c22906c7fb04 100644 GIT binary patch literal 817668 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≺}Vz#$J3_C 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�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

X`Y& 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⁢0!WwQ2G|O4GA_j%wg5XC||JV}@L@j64 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 z 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�X-~tp4(-k=Vns6Q}Tt_C4SQ!Q>|5otr9%l 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≪7do3#L*uY0#A3h1L%Xm2AEZhFRW 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

O0Lg3|5a7zD5jml7%}2D<7iSi( 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

q!JCuj=rk<-UmyWM$ppXV`xLTqjQr90Di5{-As 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%0AEO^#xnqnPkGUT# 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 literal 711566 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 $<{)$1z`Ehz{xD8oVey(${&+Fxz zhoy_=Vu@pX+DUb(yB`~a+>*%q{m;}5*hkm>0+Rmr4f>dH+}R&Ln(`6%#s9#0clfaTtNUbF&Iy@Xzc%PwmksTTF1(5HY`==kyXE|SlNzEiN`ph`rZ>E{A zk^()+IP8kS0Z&`j2C;T(oGCtz(d2mgwW1mSbs{G}>{_%K&)pD6$A zJ;4j~`sV46zPeD#oxjLGzox%T=1rZwH#2PN=9dn<_ILE# z?C{;Z8xjLg8TPqzF3}&eoa;(lm6`EFf|l1SGp#WR6Tw+yQo#wkTUdJwzK}34W=>Hq z{k_UojD1bz#Fjh7vj(VH1dSm|Qh>DET2|12l=@iP!XK{bguRQS_T9^oU1v6*uESfe z;C0089WJ0xPmP=nY(ID`LpcVxG3(v9;sHx~aIDBb_#?E49jTSBS13w4D@{Z<^MpKj z;OojPcXhGihe!!|Me0EQ;PodunpB>rTB?_3e`q7=ola->bn3D0g&5a&HehwB~%ZKsG ztL-E7Td$|&G{Pb=WjQlsPqe1a38_o!td+H|FTAhiT}YzE@qr3SvjEG6oi_34uU1|8{{OMj9i(oC4+S zm(RXPg=wR7a-eOcqKS-Y;DFW)t`s6<@nDQGGr{d6DNO_poWWzzpuk*mj}Ej*UkC!mIS1w{~5oe9J3i`uF66>6+<)t zw1scW0iM1RYxa2=qOez$`va(CgE9F0{OodkT?sN$QSsUrtufyIP+I@K!tKmUXEgis zvZ|IFBs zm)w8nMl)|5YlH-~J_2m0Rpba-S=qPJsJC!_(NKJkXQEsNGyDh59#|-SHDd4aXs>YA zC=Jr++J<^hQ(yOOr-r4t+GIHz@|d#jL+Lh_S7xZd;OrB=a=B&Yr$$&L*7=J#?87+nIjK3@}E!tDla#d@!6DaDa5@PP7rsowtsPPENtk~@FP8i|8= z^r)sccb4Xsp6d$M<6S7cfQP9prTPB2f=DlcSERH5AQO_FoQj&L`38ml?y6dj**DlGdo&`ynen%&PdB+|BOkRv6KjQuOO5YkTS6TX_!Ca|uqSr+tp z&IAYG#kbe1Sa^Z4bES;Pz7x(*r-DAPZMVDR$OHmoFnN!*0S(^9XOs*+qf5bby&DRv ztDXUR6hqDw(AIwt%Vkbx&txs#Mx|u-kY4Z3_OI2YVJ~u3F_-aI^r^BRi8{mS2wnV0 zD%7cGTJvvi@wraC`>L%`k%bZ9`9jTfQa_)a1&q&uOtW4yS#>>22|?WQdxm+BzKrg9 zh%Ok`J|N0z*x9&WdM9BOZea+L@UV^yT-|+@bIC}r`VuFEDfGob^t9@T+ga=YISX{ffYYf^1-~%b%hYDC?b!#X zQ}s|Ld}r~mA~`+(b>Rnh^co7>e}K{5VZ}YxNjR`LSpY&qDm^(^&8|U(CztaS4NZ{8 zLT2>!%9oL)ZJh1`79sRlrAAFwzroq4lym)}n<;4~h zhMXD@^Il*Wv+)eMRtf=7PH9$Y^C<4_RYQHo@qR{<2;vLtoQ(ic zMRHV{_nZA^<+h2ySK-BwAPbw%e-Gh{t{(gNfA_UOaG6@goX7*FicK#dGZ}Kam!tJ_ z4hCJ0W(2_pTTzWPMB30zle%P-dXSuIB|-$>CcrIu&sIXSg-aZXDD-FJ3qYsy=#}lKmbjM^O6Kz!`Kt z{T`2ye!suRfu!zkF}Sa>*cFe^trB6NwNh1x@WTY4R;6B>V+=b>k6=`T!ZD(hk_m*D zJ!|pmz@{(lFdl;VK<}a|5u;p`+j`!^BIwB}ZbN>&XtS-B>{PB|KPjo-LI90r!+Fn_ zMg*E90M9ifn&~?)PI3V6<6NM@)twhe@%q(WAW#o5%leFwUpq1CL=sW!ksTt5cl$i` zc?x($@=~~+eNypRNF?OI!^>j8mRxb~`B?j{hzk@&v{M%T``s2$6=%kVEepZP3=2%^ z{|cZzu-#Wac1dqHJ*F)3+xQ9flo{zQ8Gp~GRQE?)@$m*Kat*Z1C|Rq7VxHkQBx_XT zno&n_)eq`9LT>J9ES>i^LUK>+hW^?1SOn+yHXT07QyY~qC>L;|&GwkXO2?1SFz4kJ zM79`!SKhaPVN7>EsS<0idS@L919vA%_?a;kAOk-KG2!BdGA(s(%3O>=o-5_wP!ft) zQ?N8iq?cK8^w?o7+RSC5xM{32_d~=(= zwKcOX@LNGTtkZ%FN?%LFg_w!7_2q zoC+{AKNR=`&h^S+bSV}*|918MO|a-lU-jNe)nhSZ2L<`0-KmYlVdgC6DhA}dBJxB^( zbcB(`kJG@lWe#Lrds=VlgYn{dSc_{f$mQ1E%-92tS9-g9Z)y>y64 z0ZWuuqXPo54vT&ZB1xj(9JRZnL}HX!@k-a%z!$)H(S*w3r#Xkzpr=5PqBkPlThziL@&eNfu%Cfs#ju*GOF>tp|%5ir#7)A$I7s^2rS@#hW zTd~(0J0P)@PmW#%c2E(mmuVIJpBI?m;WEH2vd24R1_5;C+PckUi@!G{`mwd zcl5V@Bg+vfTrih#*#~Tc*waLUR|=uJ-%SWC6sDfAJs8MA#iwDz^!Z$Kyb~zDMrMDc za8lx-)PFNd7wT|7R1=k_r^Ff@l;ll?AA=artjB$(=t$otl4$v>x65zo(#C~`*5L0Y zek77cIvvIA!{xVLWftxGdSsV!y78hcI4I@QCHo*{!gDGs!tq2a3qBl6xwB{ z(7B%ix4*IFoh$#TvVY3(|BH0Lk8z1!Lk!5gLgghn@Mah`c~_h&Bt7J1BiKU29mU;P z!q#g{;G?dcDsK$=?rSwalM$}bx^?@})$Q8gD}gv!&Y4CG#sCZ!dmI~-iE)qK+sSFm zm33W)1}~RyCXv6kWb+QegjO#MaI-cW$rE~9VX`cAxQrH^TjqJI=#}T}zxP%sp-MYt z)=TlXPKCNNVqr@OQ7Cbs%<((k~xy$j%2-Zkn@c1&?-k=F)+G2><`_u zB4sm29HHSzlleeJUlymrW^uA8#wfa27{a zx_vlA|95~Y*WrG1zR$K5^~fptf%|5_lqX2_&+RMEV3P;+BXcI!D&7p?XNPVUl;3u_ zQLz{(M)xoEj4;fqgGUxcw9-jYNzQH73m#nC!&G zT6ys@3b}=}>w~9al$@cfK>}ic3Z+@Rt7|wWL9@jdqsZBZKlfe5^xYx9d8z2+(bW+sb)W!0KURvH0wp)5bC%GiTW8JI@@x{lt1p;S5a3t^bJe zD-xOHoKZ4esOIeD>=5t_a8hP6+wDg-v?q7hqivDm7`vf`_)LB0&56R1Y z9C6x{gb#t)aY>=*Fc%;bj`faaZ zna7Fis+9g{NCqKlM~wU7P7w8qB#_kegnU%r$$v@G)mrfrD!dSwnIscDrE`8+aIaFs zh1S&y-NqXD#Es5v@z89pN0p?1mM$2q;z!Hz^l~jOWguExt-v7HjD!&EP8;Q!>SIRt z?LNA^Nr4W6&PCA|fWFS~#jr*=k67Sx)pF5td6yV|cn+RMnSOMS|3f$|kO>N+d5qRF zW0N4TKbYw~Kd9L4zNy?aS+o0d(*S<-z!-xavUEz6y6Jo$RzTrz-{b@wqZHoNVEB?;}zS)JN z#Uy5WK_t~SVkBa`q8z9o^*-MN_+A@W+Dn`93C5?}^>b-S1C1p?h_o%(U1! zHrFi{Q{W%_2`nyaa5tIFOi)^}p8_A%jqa5HU$_5nas?DWdJrvKfX}Vmr-6NC^osw> zH!Ru{@qjQ#m3QS?kkF}t%Z6<+-bpy)dCJK*-H2FeRZQEV4wiYFuU8$j71wm~VD+xT zS_JG*3Tx(Di~#-6s?Lt+VK6Kn6yrRv=}hfAF45mM`@tK}9N`e$HOqSU@$m1yjHdG0B-KKhI~vEjq|#fh zUiIJlw9>m?tM?bvpP=!ka}zgM7nrDB*$CrUIf1+xd1Nbp0Zl}&Xh&f)w6PT0s#Px4 z4CwHWHt@r+KRei~bTsF`K=#)|%H11(8b#EE8kk*nL$gkjh0ltoOH<*Z5Ch?f!e+;cSGjbu6G>&MyFS)u$CHJzATKS=iyl_ujVRKFqQkw_#DG(h z|LW*l{UJUC(qREu_X8)ZxU$243mE6K1Y=nx7|z6B8avV3?YwXrL7A^P&Zb|>YEzDF zT_sMUbaitOtb@(xy!|Ah5EKE=^Gv^Mx&PHuMgI||x(8YI&mYW)YzH(8QqROqF;RR|<|9f8ikj)^>r^P2Hu z#N*-dk$+CwZSxvy_Ue!8>dcb}6kVsVkD1a;L{Wi*+bFa5;&mu1Kieh*fd8p3gm``=1D+U@b>EXe*%b77v4GlS#U_X_Hre4DeVy@u-`sTSJX;cmGCJ4ks;|#Y_c~=sf0J#WeCBJ6*=cCo*^)T=kly3m6K^lX~N*xYj z=MaX{+7ohLHu^Hj9#BIaYm|aG34ETL6Uf5*McM_mN$^siBu4c}vR>Wy=62KfenzcV`*VPs9@1XN z6#U1r#O`6j7Xe;=w&qBD^JUZrt9g&+kZrkz@j{_BM3YwzSQvUe>ML-!+?}QkTvGfJ z5$Mhi;Lbk|)g*e@WL)|r>7J`U6{l9q`cvomuf|t$IgSjClC`_Fr$9YRG{cSFEVE88 zv2_5$`?{Roqv*eUe`Ix(blllXl%$9h3M@LNUh zgf>xuulRayqLTfw@eEe{om6Nw34jJl(it!lBfbtVC0>hH&D8G*BgE#+`q-AUuSpod z%#T407f{Oc?X2TQ8>+*cOUBIeUHJI!9EMq0F_`}UEoW1CRq+Cj7Uu9_b|cccI$^QGdLujQwKG5w$a zEl^(`5I}1I)_0ET`EPy)_Aosu7l@h2kSV$pTvkOZBH0#lJI769pX1qC!(4NgB+7QV z8|)LQ{5Yyq6N9X+ERZ%U>j{U*=SMUmeE6qPH@33$Yhhvk2= z%pHpz8(b^SN~jUMAFXf5*P$*J{YAkyS@zYEDF!|LMYiK;H*PepH(u4w-6XX;`dyYOJR0jUyFcLe!2MU+@o&Km zBbOfD@r$ef`+$v2ve!rm)8N+GU-I6Ky-!M28I*ASE1_7YLCiz7ihwKXo6eo(SPX%! zGJ4wVWIg%KVa&GtHtk$9MiIU8hwi*I{j>;+fT!T3tCOmgt5Y*I9wzQYga} za&_?3zYZhJ_~&9o$yFYRu+Yp@N@vDZIKT{Py?eh^(K|Xu=k8(X%U$yka~;1h1jgx? z>0V+rdeQwACqfmbnNZ7(xqso0s>_gj_^MjEFs14jq`uIXvV#Pwh~7J3SPcACG5%MK zdk<3=|5q=-{|*BJ4jhN-xcDKhF`xvL~w}ELJ2g5*?ah-?*Ur*^P z>Pk$QPjyvqEty*paGzZE6rnG~kv*#aUdH#JUSG!9b7Sb-k$x>Di9<`ath2{v)j{RR zFD$&4S_NB*~gOK&xS*&As%)8o<$7NjN zd9+b|&2F+$zaszysfkiD8@B^r%{51QI1gvl)9Bk1$w3jw2Vwe$<0~?ztTY@KX2!p- zfYys$qeRnx$@;&`2iHKkJhITa)4$bMs1j+=+0aWdliw5>=O+W>6gk@&2XKJ z=MG&Hx2sgD(!}hts9@+*3y0BRN^(P$z8rRtttbtCt3DQ+7S?nAdj9#t>$7~IFwfBYZLo*5pX z9yjZ8@(jcAlfK3?XDwZmB->hkk34jq*0*xKY6rgED&;smT*6;fwa7L;@Vyxcj0cD9 zF{ECPdT~BIZ7McW>Cr?ZSpiq@*`4E217%{a}O;nNoZ9#460ehHCFU-Gk;g{6AUkczqG3h@} zC9;KKg;u&2C}|ErdnZ%Dw9UUWH17R9n^l@S_NdzLdf{nhpZNR|XXvm<8RL4)ZRu^W zB~klNwTD#k%p=S0W!)ob6C=|DQ=NnKx7bBnP-20B)33;D`b<BS_+#Ha~b9%*ClBFRiIg2Z8RU zO+RJn%Ad(mzOyMk`UWq;R|2XCTP&Ud#($fyC0S-29NzIG^a+l9PeS^rP%X|#Ipw9( zuD0fn^yFE}GN6bb3c;2e=c-l&yU~{|1s7R+?l|POx2QHpwVt)) z#m334RFVG=28xh2RL}#=4IpRRK%*oJ|1kWn*XJv%sts0LX*R3u2x}>?agGQbF?|S@ z4&?zLgLpG$T+u0yQs1{Pvac87Qz0F7!C44D(|?QY*4DGbNimX1=6Q43(S@@)W8<)t ztPSW`#swIT8PbU8XZwF4(vH?FkGi^#3qv$D?Nsb#y0P<|b;SU+g^rFQJ~dJ)+b1Qh z#IUlcrIR0^GVm7%c(OggK3N@l+#D7aC7obZk&Y;;w>~lh#VP@965rskF->|t_)&Nc zdycALzyFc>+*ZP%l+@2_SJ()hLF^Y?p7H;}V-VNY#dl=_Qr4ur=A zvSzDYkJgr7H9E)@RZX7rqB^V;+aX3`>g^_~S;TGlv-~(vkKss11fiMvTlq~uo51%q zup;ev@|LJ+2yuK@m`nc|vrKHQ@Rzhfc+PvDDg0zoM3Kt(4|w3hl#;(<7sSZcSXa#D z(Ai7zwncvURJ~v`?SB_jarA;$YrIX2YV%l)f->y;__zxbOI2Od;#Dwel(RTqkMa`1 zTVD&uFn>Y8s9W$&mBeb62s>6ZroG|_UR&EA34%?1J-tS2`^YG6#GXC$nHmb~$!-(5 zSxE*>+yv-Y*=h&<3*e2&v^wElf9 z+Q-WZ@;oIOmh)0Mlud(`-B{qqD)UN!!LL;Y5d7J-NM&(iT*@`A{Ak8Egglm(75w6} z;;%P_GJ0JaBv5`YMh>=bG0_3W3LD*9WlFi_#A@NSrW1jA;!(COR7oX@us$hT$UH43 z5J1W1$Rmc5W1)GVp=!tqfllF7?jq`~cY~jU5IrM$^Y?9=Sd+W|aTablpizFbXR|@i zj&lS=u}C_X=@^n<3O!aQ$9dlbY)~gxL^1+YE-qcX{*lWhAo8n9X>u}O+Jpk$>g8&{ zEF@iTN?69n(aY_=h#qhUTv|sQkDtNsL7DmiCIy4Ru=bLYwh8PZ_rp{bgsqC3&4|C+ z0f?YfNO{9OvsJm3EI9Qw?EO({BP{HA&A)qC9-2M5nMifB2l)f?WDzq7&6%`m-$U)+ zinwp2peshz8TT;BFvZDIgP1X)g1BPH^-!i5OR-_$sFHFDw@e{qFHvf~0&nYqIrLK8 zTpZ}mfL7|Ank0~CT_xx{3@I|Nl03e{W|H5y<0yR2D#R`Ucc#NnikNP22WIBxgT}in z^e6rkGTdfDFC{>*C%-XDXh}n54;g%N)woR~fiFzn4i42_-6ZL3-|m_UVXO1v{18mG z>q?1UX^d!=6Qc!}sIK?Ubr7`Hq`EcYWNUuyg6@-utqi_F(cw(R-+x}g=HxiLwN?Z4 zr^@*zFbo34O^Vga7_d$-BM>Fkm1W=sfl;q7-!N)$H|~e`kHtOVzjt4TxYTNg#Z&Yt(3Xophs)4D&>Zs1OBo`7@N8RE-pbs@H@-(bktfgm4zRKJ`P9wm^ovgTAyAMLn4@j!9D|~M z7M>(Xy^W75SQho-SNrHM51+8%hSnMizr+Pz7UV<|)1Qx^_qy-PGcK#n^WY|JQL-L$ zqroQbnE-7B^y!2RyG@Qc{XT)Kc1u;BC-o&K*g;vUx)sp1;&7ou;Bca*l9vUrBz|m~ zm({sXzp*s7%Js8FM+p72@Ob_oQ2OCL#%(r$be9wUkpv)^VUvS7&*9^FEeYx$4|eWn z(G<{7Vg5P=3HK`DGqXKAEZ>wg;IRZqYJVa8``i$%)D*1U}b|nn`=?hWr5t|i;<0n2WB1(G# zhNk;Ea|{KNFe4C-`X{?^Gv#EDhZ*ulFk7h>_ zv5&V??5_faqDO5>(9K{aNc?N(B#%|2^cIJkmQRU+I8{@#o)P-87w3iK z%DMknBl2#XnfiQYAaUX3K6M#w?sBPpeJt!SFu-tjm;`7l~Q#*&B&Jjb#u z=Eyb)y2JrKEF-WfYYzGkyJ`MP2XxZIA90`cbheYyze9x;+Hg22aDN|`hYGLkz0AZ0 z0w|=bKNb}i3#B-_71RXsRi*7`4G%A-O@_CNu0myR?602zO@56!^4d2VdD!wQ^xZhtF0N%FD} zYTn4> zk!8eCLY3$5Jmxa!THXVce#?nqcY%m2Kow~`B#~!BC-ZCykAhyu>N)5AhYgG>N@D}T z54;m##I)sYIVxN_m=K8C>*XyL-YST@QgIr%ADG>ev&v{%_Z2sEF{-C%D2_$c$920a z!ZDOfi+){L{E&L_?Twl7gxTv?NJCN#8~#@@D9w&U+hh(#2il(R4?hL6gO?PrS{d&b z#w)LfUjmnuc{o)G$8XOKESr%b6y)9OuUe(#r>^K{#fz_vI-u^jF&+U-R2VlcN*J2d z=B|O`pgN2I`BiYX;NuEEcJx4NmH9dM2s!vry}%398jiBSIjP8(=7T@!jDU`eb}Fp0 z%wM54gp(r=YaEZ{kUVg<`Je7U3Gy94UeJ<0233ikWg}n(4%(A$X67HVQ zEzE72I6o8dCTF_Iat$Q^*SBDa6RVPy+gZM4)hU>dM8?hasLtYttT~hqJt{b>I96h? z$m+V~Nw_#LGVzy$B^~E=(pxPCM91t@$^u4cmwRaW@gLv87+(%T?$)jDE8(wXfy9+^ zd6Ms9-T11?g=f=SK8WXdzm~g8)uewR!R=+XGHO~y3_h<$xvR@NYvKqE`F2b_^eCL5 zWfo^M>=!A6Sm;IKJi9@uDC){?C4WoAzk@@Bcf>z!xbsn|k2ZV=1>}$>q>1UbsZFCK z^P5dq+EivC?iJ`zp+8Lz#EyEke|hy(nf-`l(gR*21E1X3$Ymvam^_E?Pgh|o-4A1w z#$EFzsLNjn%iGAJ?6Tze!2@Btq~x9#R!~#n(Clx$sE0;z!8v+9Zn%+ z%-_GrPbpbuKA%sz(y(iDF_&Whe^lnt;k-0oe|Fk6gAIH^S_McWfKJ_mvhD(cJ z1BtI=-){WoKVi2U_H8biWQm=?Zunu5??4?K;_4@wJF5Asdk0E!P*4*+A5rlQ8 zWlZSC4sM9sbRUDjCde!ipYK1yN!N zn?YIT*ZcNF?yit2r(y68BXof8Pe;oB2Yl&1>ILEU7eAm-VUW#0RK}YS=i!$)2H4E1 zGd9&m5c5+Lc*%J;HQMP?_T2ZB!n?~;xZ8BVD1-_HQNo5GAsx401?Ng-FCTIO+TO`N z0mZ@m7{LK6g|!Nc;rBjaqvc2DKN8u3UsOEcCPcVt2EL$`cO~@|N(wFXVL6b0mwP2+ z*>QH-zGGTdJBl}4*11D-)xRmp%k$+yfo6uxW8=X;RReb+fYUT^NUFMhn(8#M_u=== z!vosbcd3(;GpUNtl?Q3tuQ%{S>&T~nT*lwdo!oXh1z6LXF6#U0elo5M_PuTM9tqeC zy69Jv6b-&lvp=rPTDI;zTMxT(94(ge)jYF)5QW_9fe^P8TMfAy4_FTpxq;HKUuudH zuz<^@W)#{*sW$nX2U7^ZcYKwOBwn?9yLzwk^sX?ztqFi4J79BJrL`;k>zyfuvG5-O zG>qC@Uu$N`eMy3SIqHAW)q z;?8RcA#u=JOBnU-u}jG(2)lqxb{B2blV|fLswk|YFfWAYFej!1yQE2bPNL?JB0?7; z*arJ8uc_s)aPKP_0_k)?b%~Z!MP)rj)rx_0TM!W?q0v(rKaX1xz}&#k1H!sM3b$W_ zy*><%Qh^-Ixj+>WC7!2~a^gEZ3`(vZJ^@Kj>iip|TQ3<51Z_Afnt7!z%FVZI zQRG?`8BgLhpUC;MP_%2KIWHexMy=MQQzA5s=N9pv`0{#dlXcAt#8F(?eFdvEewEr4_4H0tL>DYPXWTVLHC)Y4f30!K zB=v)vCQ9MzWk(1#*$>xC=iP9-FA4NK{1gdXp1fz80$G)&=(SFzn?wx3x~9LlX`>yV zGg~ajj_ywp3Z9==Jr#o#EBv&StDiC$J`R)oSs?e7`SW-~Fe+nWOws%+@{u9h5MFHW zwbw2(r^Z4M+_i=;%Dujg7wkjAk!5>}T7G@Zaom>}?>}8zv@dGx!Cs=CzBM5}>YXxQ zIzPcEuy4>wl(#kiNh4u%(DOc5$&$g)pJMmxT%$oTZ~be*?hm@ZkDRtOFV!V+LY27E zl=SkM(9TP+dt1KnT8z^y;MB>GE@OTiFXKsRob5a~hHThYlhYl}#$V)oC+@8>-Y1aC zBT}FZ3PF;yf3Y;iKH(DV`19JcimM2OHry9x={RS8g>n*PgWxvK{8BY3QueV4k8Eh9 zH|NGdZePDG|L~g_MuM48#V3P+FQ^sMWpLMN4E`V1$I}NlcP4)P-$*0(!vx#U z(>GbOkyv^f#u2q4cBT>I!Oz8Jp6(=K`X82Q>!oIsMyvI9oXk;tWN;0uz64AtwxN2S?QPc1-M5NVsb(Pg-=H3x<>}8VpIDz0- zrO8D8)#(dcV^#s9eFvAI0J=*qobWi%?j{`k$>;IkuqqRGOPm)8 zu^_K$q2?^|?43d3CU|N2tm1-Op-qgpv2KXWliBnht!=u^Y5G>-p%Y*@#WlDVIyhjIF9BI04)G4JX3cTz(+2Uf)3?Q$sW})#ekN1u1G7zTsJixO3#fm)=PaE@j^xmlU zA+8)Nclx;AWsx82W&Lt^TeNfFua@9Oz|0&y$D?qpNRiiwW(hm_#U!VarE)W9}1I}hbNuq z@v>q1wMliW+6K2wAQ;If)$AxzWN#-{+Dvwnz|?IXFor`?E7^YSdg7WmMLQ=>S@HC9 z1QWW%xVfVtvC2nseFeexToest!b6H7f>-7xr`QtiSJRx%xY5U(&DK+P5}IQBDtpU~ z6gCdKW)6z9d)YNO=!ebkuC^~9zYVn%oC>*XcQ@dx#@AbZk1sy;N~^(8-@`7I+Pet9 z%a$4N`PDwOjq3Wf*PyI16}3~tTgK(*4!K`9nhDpD59R3rw?x2gbl6RXT5AgcUkh}p z>QUjRX{6A20jjz(hn_zz32lhY%-t#2bvf;aD?fb%CTC4ERJv=++(4NG`n0GeZ$%nv znh-^lE;o4y$~QIPu%L4y&E^vd-=Lsjt--{6d8f6Ghz1Om1yZqw&5pIQ^6Kt9E^C^~ zXzVjPi=IKNzO8w(=kCkx$j$dIYwt&w+ZX^Vhe-9eHWoYThL2-q2%DNABlQmNA}(4B zayG#T_pZAc>fPe4_9bRdo^58ct)0+k`*W-Ne|d$kW!!^x0hf?SMK7xXB&GV2QsT3C z$}h_Kh9AX{oD-h*Aw2@I3|@y;sz%MEZ4z;LTj+eCm9E5(Uf;sKVpdUs^bJ_S{}9KYjI#xLo^5r67%B{_8qT&H(glPT_c4 zLhh4a`!eL>9TjJ#F4v}aMo6Zu&n8rC>nfp zOS!OD!>vjpB^(QUP4s@tW()hzP|O>`+K4$P{T@2O(wbw~2PRu0_tx#U2S6%;&q#3p zx6!QY0H$p$vxRiBs`NZ3no#SfXd9? z{+5kS<;VUBmkQ3l+6fxD+w3EY{sLd~06`i-1w}&cID*|k z0?B$7>)Uhip|QQ?ZO=gC>{nb;BfPFs9(x}~7YMz@>dFpAY>BrI5mmU*>XD1vMQCIu zkppH!Uy?pDu|`qW1{-qImWM&5#w4ROLq`7Ytc^;c&;Pw$j z%#g_s;U#c>926g3#X74fXdz}eGdl-69(HdIK__fXwou!$JDuNB2%qT~L3tAF6n~z9 zm$y5_;ZhX2bXhg+qp~m7^s{}O9V^dS7P-`cX;Pu*bHPQGrjEI?Z-H;W=@*UB6{hcs zd@+gfzFs%XG*a(la5t?6IEsH(q?0dMD61rlw;%-_-8a{Y(hcxg>Zs7YaY;|`5AcDS zphm2Fw4hTV65%?^YP2=KSziz@96x43H^`TZf&tCQ6eM4DT$TFuSc?T1-tJLK+SQL*(eiul-{v$gy zuS_t}@IAX+EQQ%MlKSUcc~XV8&%X;$a_Qc2mV@Ryr(GT<#N!NHi4M1M-1>B%7!RaB zPbM^JthbaT$Q-JfAs?BWW>!2 zRv?dE^OfXrsJ4U52&h9E+CdmWHkdZ}`oc2??Q=0%3g>GEZ3ULpSF=b?%(5vwkI^F- zXAWJIykGhL>e?naa>g42tMCSonhal*>u5teroLWUM~P=C{7-K#b?^%C@r+@_>o74e zZ!=JpfeLUEs&YRIT6n+3aA=wG`lFO6-;_6tV&BQd<=ekp{Md7#(KwBei85mPes(-imt*EBZEUK3SihtEMST*P58-8Ykhf71 ztcinqnN@hAsS}Bf?HeoH3qiW%7St+aVKHbMpy`<=7n*>hDqbCzwc z717%5gCUE37D!2cU^Hyueg@m;K_qmIHSLB!g`CC-|AH}o1&5Cm3i+lpFzu)qm@V)VQe>ms=3-?$}YDSj6Qf)P>I^yJO7tlTsn@(EdIV z8-j568*j_~rC5w8E(>9R`R938wMArdT_>}_oajpL$l%yh3#gq&+fnq*zG0VGV|)9Q z2d=_o%bsHv(VgIgv(O!RmkU)VrXmyYp|fC~3#l%9!FRpr=~C?ejGZda+)Bh1`A$rX zW!r>?oGMOp6H-&Oyc162QeRuN{(<_l5Wl=_up5x|B9iWg6yb&O`Q}C{bdrrEX4*bx zZac^92yrD$l!Jo%Q(rC=z0JJWMC!U6t39*fIB5581Tl@=h*DC_N_X+;aSIIjKo9WG z~H5eqMqf?N*7p^JHnM)njmhdE{sp+d3oPmc0lfaRwPQwVzX(?xLU zeWh_!*_j_3KPg>3!}rzeyS;l%CQa+bI*$>p(DxWFqQm^xnJ&va%yk?aiPSxBEQ|(!dDJ%K1y{OSd(x`Tn@42* z4m?u1mv*2KAW}4WqxgRHY4X``iDs2FTq*raOd4mCwX-AN5-Cx%u*B~j9Lodber(wg z+?avAvZ&hlxiz?oFBGUNu z_-A+fQu`B=w|oref0Z0CxZi!dnn>DACd}UQ%X4T5Jk6E=Uu=B?b7o<;>>Jy*ZQC{{ z$;6o0cJjtHC!E;!#I|itY&$pKJ#|jqI(7fSuKo10_S&nvSKDDu-lFSfRd?F_K$;I zPY}APzSjAOb?PcT_7OdB{KHv+-C7NYh9Lr6Z!;(*>aj0RlrDMvA0i&9`_}J8&@`zYu-b)YXTDU$Okq^vXLBn zioJw?4R!|4gi(bBNdUxbURP`3@OKS=`nSB&{VD}>9?xQ2;}({-M)WI5BhCE-T*b_G zDs^}oZ4{9H{fr17YTw-q`I*k@Pp2pVowj7`3<88s)AW_!+J;7{P$Uzn^KpoS?fYlD zPmPNc?DHTG+Ji&7cM-Z2^fZW(-aUnikk%OTQGelZsSfJL&~EZ6_NwAcAE{zJ%E|A; z#~RBJ_12$8+NDjPWpfOiecSG3RHI?9F@W9D)G%3lm8)e~LDeg*q1d(;d1JA5cobAy z)=Q|=<(fGC4Y#zL3N7f2rol0{i>(A=5#F^A*XRFFWQR)W{7e8wsvz-?c+e~Lj_d$& z71bWmB|50Ejp)J!A6(TPxnw@OBllbd2(PVgbgNHLZTFEidqo>`!U?YN%A8gBnkU8< zgmeGLCK~=aGfonhc%Ha7?-EaXIFv`xIP~%`9*glDE50XyTrL4Q8P=@$YiM^;O{k-Z z35ZGdx6e9>>Gc9S#P;;Pbh8%IiGMYar@JlR>P(wDa}z9YIhRDx9F$*+A5v|ZFYh6A z8x5dERG~^#^ZT{ckCoCkT9gL0a?I>YoXDOh|0YXDx~-f+5??0v(;JHT&%8}xx<1S> z-D7`ICBjTWC&l5L9T1^m*`FA&K`ye(Q~$cuH?4@pY_kWaj=c;mn0D2}VD07MMHzP1 zlu)|p&L?VnrXt=#Lz?;pd6nxQs3s1$%+iW08MP`<=OkL`?unSp$68=h1#A@z zZ751(UPF%hcAWH5BJeZaOTAR{-K2sije#xYyV}XE3=NX*jEOc9xZ$42a!Eu<5^{5y z(aF?|T_f4=>Z z(Ej+Mfz&X~S2ZRVGbh{x**F-!nSW&K=&x(T^R|PHToAJc;l|OWvu8r^(Op^S|FOKY z`Y_oLoEblk4tcD#U@bvJGlzhu4|n<&Oax;)J>(_xF@ z*xlKTRdI~l%&?A%aqHDbNgsRJvWo2Q$LI!GDAKFD8c%Hr+iE}%!`s=sW)M-G|sP}GVDoY#;_SeH*K<`?aSY+-WhgzfwgC>b&%_2$faoZv1bs{vrP-A ztbmBxhr70zz**tCgvm`_zVUgr5-%!6%w20U{CBQ!Qm2H%{EJwhKsHvK?zNZ9k=;0m z6xrVlH%FpLG*S}6@Cq|7y`2iV*@vCyD5tk-9JQ? zjT{89&cUmeU>cW6+~#-cHH}=~YjlLiUv~J*uS9e}6#QcRuX{reE&INx3YmmIoQ@G8 z4A&lqM&c>iF}lvUy`0CGTOAQ0di4{vo^|Lg;}0VDNCNRr4m>L>yuE9apb2~>yR(tY z*T;fc;6OO^V3z=s03sBD77oJcdhtNl{rDbJF2bq@(LUBPBg-^oH&3;`jD>(}S6|1H zO%`q!!U%NRB7hz>r6iu zI@&On6jaGKCRJp^5t5MDkZk?-UsH-(sg~=R0*8XRRuOF)srzT#dwMh(0P}<&@93Hz)EhbG` z>cB|mWUZl+t*)gWVgZvksoZbOV-+@#NBGRhG$9{Zz#m5@&#-c~Z#l!5$xxAEE(##S z=zb&7gTtRbw9+GTBY2-_l+frQD@l5>10j-oqo*so#z=oUn zZ5GE&yS*iU)-2pUVuPpRYM&~Ax4<>T!-kLrgYM(bcpzLAI$aQj4Jqk3p^B{esZL}& zmCYfA@Xg!R44n9dfyW^s+ggFG+p$Vr-J~M zC^tNU{ww`U--jN+-g9nZYuN6^%^N2GcLmEZQx?eP7Mm5-BB7nHc*BjF?6zb2*Qqp7 z5b+I*p|^RQX2z8O4FI{<5`B+MC;+ZkVi0Egdo*3=0v-~nUUI!jXy2s-q&1_6Cxhw> zK|qQqkN-ovG<}-jXjy((gqJ`UHAST1^CAA<3FL%sE0N~MHrZ4jtl8xykgK4)U^|ET zmt8%mT>FYi9SPvqVACiaNRNwg9gaTCZ$?LI;$_ot4GON##x3 z2o;j$)jD1>pYCI>EdLQqjT#)4g~nzON-%#7oD*dl-tfUi3Y!XVB@0R?my=s@I1PShT{^^7 zKKX{Fgu*4P8WunXu%VW?4m5cN)t&qPgn!<};f?$G5&$q1Ibisz$($8%LH>(R6O3X~ zzweNns)d(~<;wRUVOnC6E@%Z-N!KD(r9NF}d`XJmVNI+29eeA3Uy*8?gZR)tazP@UQo?`AF^RN% zHjQHJ4rARiSl|@2=RoOby;RHw4R4a_*?wu(TZPz#u2{Z3dV+wL)Zo}_BE20<(^l4a<>1jlYZI*B z-E81mt^a!erL1(>iAVpRMdT`)H2S4BfwO*L;dX_=EU6THwE=f9g7?(UC>hoJh6pr( z&P-1t(ydD6d&1qm28xi@{N4eGw-q|Aag@ycG`;cgQi^72-_|%;fw862F&rN$)4E~h z3XQXfp(oFAN$&vjqggk(s>EN>DgrwcWQu|4fCQicaE;cghr$h5Pz4S*qz;S0nBR|( z>2cVw8;DHBh6!EcKM&31bua^A3)Vuz%pGEK+9~yh2F~4=rFnzs1zgL0w6jRnB_yk{{DWMSgAlZ+8-1#g*TxK;W zWaBndoRY|7Qabnu!qtFA^;F1niZfisXwtb6A9w-w$~*D%7G7vAjM9>jf}DOZ)x73}4|(w+_gjyZ);k-8>jwFtfc+ZLiP^eIm{`-o2@w z>~Ko=6xU`IY5xaJ?&qq({?n>!#$M#Yb$zTAR*1OejzDLGa;m#K?`NbB3?w=Mj)$1mg z@@R+bSBK$_GNSF1#fOJ+2ce|N;@JOtnx{P;7JK?|FQjmn^mO`FcDsHR@)!dK@Qa?9 z11RzOb6~S}`7XRuHy6dOxqdBY`4Mdukrp9v+GGR{0yYf5q}Kz71Wn3RjCqg)3IeZ2 z*&1%BDu+HIN{GB~9@UmDYSW(uPJd<~KQGJ?2roh!`)DfWOu51)6Yw}nOA+}SG@Z7O z4)Bgu0`lGpDGYM2y9IffDP?l|`0Kdy>swJPdCbC$f#`N3GpmaCi*XaY3C?qOFNYv} z`V&sJ#82uao6GTI4rjvyJ>1<4DbuH z`sz76ts-rlT4y+Zk*%Sb-Y$H}C#T>}K7ajt>)$ORU zramg|f1nugDeLt+5y}f2!~j3>w;LF@HX}gpo_6ZG)hQbuduFR}m}zY3Y*hOlu0<{l z*7B@j{3mQ!5Y91E^W>cu#`Xi@@Q{d&Ob%5INeBI&L(qGBCNB)xTDXQTyo2M9X|)_m z&@Mk!VNI?mdXa2j^Dp}oj{lzU{Nzu{7Y@-bP2>T`stHceAxE0yRq1-W0BDuSK;d;0 zX!#zqY?L>N*AOKpK`i3X+O|+Vie~>9nSxj0M1}oaFHk$v?dcpA@5tF5>04a!+M@&&Zua?B zRd!@Rp-~<6|5b!busx9Xnqi9aj5{@9M+0QI^?)qHTC9+BR4c7Vr4zxC6fNRZYPmu7 zR!69`$v}M*caa+>`Hl{~HuQX6c)evhM*9{_(YEX;B{Uh9cOodlhk%jDg5>2dW@`rZ zDcn$NF8Tyk3HsP-o)C2gZBi&SfTG7A-)Wy#PAgswT_1qt$!$wkoE?tRZm14MM~)I{ zzok=2VF9Q&+ue?bwNpHQt>l_0hf0em=Z0PbdIH6p-%}-ErauEQ#W!L$hZf#^!IpHIxKE z1|0XtGNGCjV{e(1h$M?3937H6ZWDS+&3mLuO=-Gb(-HQDAB-NBjPf;>!2$z8Y*m9I ziD}TOw6{6YVUm{1ms%Ky0h>+E0(y%V=HQ=kb)CRPfW<*n)z-sIl@V(eHaG5>0XK>J zpjBx+A7P2+w#aS$DzfJja`UC5=sZ#+fH!X`S%BL4FY8)$aoF{HigJmDi1-yzkP4r; z3J>{2w9|#8kyf*JI%hr~Pcdu$1QUlci!*$+en%)B*7W{Tzl%k;I4>YD%48}Pm0PzA z;jrtMyRmgE1v%AP@f`PjG1gR}ZDh01W`C)m^$oNc2S9^g{F5_f$H!0rGrp&HZdvYe z6KFO4W;n9ei0#v-4n8x*!;_J4ooZu?a=%U|aw{998nael8HuGO=n02!MGImG#z^@L zvG3ckx9}+S>?lmpk-I=pp%ypLL4K!Vv7=JHY7)1gP;BBhW_#=)$Q8Qe8;0XL4AYy< zbW+x1!G?a<5&Z*wlOHQR4t#y-nuimPjWcJs!Ql>9n1W?n2?p@M;^c{vWwV7Jbx9$< zRj;t4vkuEg6Joo37hSs5$pgEVJ9Jxx@;t~z^}bX+m^yzD8T1pSXV|s&!O*C3WEGfY zTFEpeEm7vs9Xl3IMh>WaOzZxN$lv*joy*v>H@ds6YDLK)bPeSaIi1(3`!thuIkt(T z5YyOo5?+zAbj0AMhbR?LLM;-Cu;aj z+L-L3*C_}m>Cv#MWliKpV-`@v z(#Zb*C};$t*BLpG$D#oB=s*q+U0XPO&56L43z&}cEu5OC_MV6B9YF0g;EAw5p;AXi zORzO$1WToMGzaYQG3~n5Ob(pq?OeB)2k(upME%aY*eFoSHCw$#JNd0X4vCOCa^F zr;7_sGT0NyMXX~ukr~b#FjV~5kXRme%&@MZMV&k^+y<2#NV1f0hm6gKdIF`3j=YGQ zP9S_>B+dLI5!4;5whuT*Ks=D-uZq%B^F1n19$}qKg>w`}jS;~gt3;WIw zUxsIw8WX4qI5m|eHo5o27j%Z1Mmv=7YGJ3&xaUlz-wFp)w{72BxuJHtB1}}3xZj#Y z%zsW)x!&@`dh!1o{g~ZC%IRygaJ7KAnuGZ{wEy2)fUKU)nM`iCX@XTabg8Z9b#8An zE{#jSkO9y6K9*y_OMaMOofnmKjbL3+w_g-p3m6ZWn;|B}Q(A5GSe!p@D2#dtY3@== zpmId7GkFM=oH)cL`*v4&99bVj(8a@gC*yawtR|k3poCST1z6B;I_18%5#RiJxQM2> z^Y3BI0i6N&4K?j6^Aljc3gwGb`PFGP1hCO@M8V1AEIhu@pU`fE;}TOh^Cmr@Pav$* zl+miI3E|+g+J~RaVxCgccD6+$m1^TWR-q!S;6>=KRz`YPFMy#XN9zAHodCI}02RiO z_tt?43i}M!^L-77l$$q>Qy0<@u3B46_;+EM)#i-hcXN_J^FtBc;i-WC)pmtY8=g(_ zu;<2r%J|`q9lNy)tM6^8uQtjI5$J6vtREL89WN5HG@YafsW zTn|RpR#F>euH^;#bLIZr8I5hz^8OI;k!2SiM!jtPYb2z9WEGBkGHvoN+Ljwl69Enj zb0~*#v$l^36vp|fze7TOV`2itq0yHK|Asb7n_L^cp(A8F)_!P%L#32o3l=ae131a_~P8q*NpevlcIhcVCon;Qar?#8qY zRr4F(dnzY@i`X22*sT8|2KXBKaB{X7@>&(PK`U-!u< zwvTRMz={$F&GFV@oi#@tX88OPtub`OI>%md9!`W8V&mEpYz*1^i7`Z?LuxE&E2 zKX{#4BF?0<{I5;abgm+HP8W-?3&|U9oz|ksxN?Tfg2+iSeEtpqU5h||GF1G|&x)Ij$go}C zF>hhhYV3&vRYQosef667=@?$_Q4)N0jUw%DNDNc`eV^&*Uzf$-2t*uY^)U*LIEFg? znpn=tpf>b7hphjGvZj^BtQ95h&h5GW%Hu)<1a>IbdK$3HTgN1u&hI#FH)G?hqe`tq zB89ygItlZ@TV$fQwBz37U3lF2ka zt;h9PD`5#GPzt*A9wvRr$iZff8wibq0EX>7bt8T(9mKSU3nb?^*}QQuvQs{{;f1C| z_aLO@k9eBE`sw*$f?Rdw^R~a(YIJ`tlU{$(0akjuWWC8V`C((-i}zQ%3|p5hkXpE$ z9lDRygI7`|SPcw3IB8(p|6sKKZXl~XJdW)=t={mmnRTN*m!q$fqLPN zH>eNbpt+=L>22h2{3Y_D^{3U)=L`5u?i<3DN(6;lY)FJ4WDZp$S_9ai01S``A^f_@ zA+nD@d*K_LAaU*XK??i+eh7dl`IH2YXA8x-Tz4Gc^7{KOtCgT?^JrMOW7GAutI00{ z%`Y;Lo+vY_)5sPf24T`CwCh|J2$Z%^GE>5G0>eXq$A&p(KJ1fZq}_|*3nxmY0pn07 zr5FlsGPHgJ7pd#yK(gvGVM`{x82cic10@KtuQgNf)F}|k*KN-6rf^@hNjES@c@tRE z&EM4q5N?8x?z>5}h{WzB-VBVCgW{v=$eM`!QoH^g_N`+Sdd%B(Oha)Ix&F;z&`1J$ zz&bNE2!4Vb|HgUaio>iap7Rt414lo{#9eLJlX!lc#+qz*3}@WUPm(kI@5CF5k4^(< zfGF!j(wx%Ixvs^|Wb@>M9~g1IUpaPlpl__1|WBJ!2SN>alZfG%aC%i8Gj!t?T z3U;K`&c=7JFLXU>e&gHSlku{AKFW1GLC_);vQB#K&F#x8+Xb7>imFHzlY!qfh+)7G z9VO{<+v3W{x=Q8eB%at)v{ZgfQtizF!}DNDZ|(0QlzLOJ1UIB#BgY{l<9M|mn#73* z6S2|i@8fiuB!yiK1Py_uyp96a`d~Y{hdJqLhH&L-moz%`7n|{Ido>pSnvzMoicxPA zPa+FM)~8CX+@TxH8T%ZMa4qHw>74|A1{y^n?XHbWKda-${M@`HwUU5ZFmS=6DNTHP zHpsuRkuh*tdq-{FI#DiPly({YM9wUZ?W^zUC_Rz;HEPU+$@nu)uZ1;#^L|O%&kn?_ ziZ5nZF@!nVrt1Z@YcQ)?ul7VRDqeN#rjYPglU|g7I$)H}RQnnHsy`5i3Pr6HGh^X3 z;WjO9msEmER{ax%<*nFcE)j~F*@ihXG<&#=%$sHnJCL-WTGXlzTy8|>Fut4}SEFgz ziV?s*ID=C}9-9+fKt;-g5?i59Dv^C?@neYqsYbV7!0ZjFHA1f>F>m@Y6`E)Uo=lPZ zk8TT$Ma~QS(xtZ|X07sufH(GZwoKu%E~cOo($2)$fOOIt4oOK%!XgKvsb_ZJwmV>> zLWPh{Ev~OeJ!;lwjAP%$Njd>(QRhjrU;L={*DL&aBomy0fs++@O+ooWyJMsuG}Qx5 zOf6iR0~ISxc{4STj)0ogg9I;>C<~sbT)q9|00Q6pG>Eq~J-0&0>8CURyB_q@6E9E1QnRDe znc&HUZFktk-r@dhr5&+{cC6Anu_LkLUY7WtlHlYI@Q*Q89o=JSb#*ntIYwo;wdOg5 z<6!7YEf7c?d5@Tv7QZzv_cq^>ReA)IScn2x?Gfjdi z&E|^`^!oWc3ie(;~OJUvp;MEf;PH8Rhaa#^_<+qcA+p6R-TagxrI@&{ehL^=L9LMgV1+kP6W37iga`M2HvUS>#!IcHEZ=~ zoqny45-Q}uHO2UaRZL$lsv2hEI2NJevF{DugORSf01}2aptnE+RU_|(epO{3!A1bO z1L0*j-G*AyxCOk@V5TVymTNqVF=BBIKc0nrVd@^#x}DT&s6w*K@Ino|>WH0on;Tzd z31aPbXMS1rx$nGn%Hm-M9TzeH#<=P+SDGUV`ntdh7Cv3wJ0pp_iBn!TQkK;q7>{<_ z^)LMM396gBfXa^6so_aHJ167+7;)Cph!4#f&W*c^{gY<+&wVBE!}0k>ApT+RqSb$` zC0ytpbHmMukG=%d%-Iy#S27#os-0{1w(N{Ue)qGCDnHWXJMNapAlPPF0t+?JMTCKb2sJ68L+6C9gEY-|^K2RgnA2=XLQr49CD;>;8RO9jD(FDga5`Af(0a zGI-h`GpwA`mpOPZ>8bh+0vs?7cny6=IEp)u&bROC*GN6C5QB_uJCzsj@*q_7a6&-M zi0cVKn-Y6Mu-}WyJ~}{hu4~wj9T9F21wAe9XN?ygO&F`!H zEBg*ICFFii2kqdy6!DS8P%MS*`3uN!=Yut=#)&nil<~Pe(}w5%q}TOv;;Qs~k_eUc ziDWQUh1lW6KR1Z`>AXzJWri&Ipcgw_Dz4?a=d9&3r?_!VYybE5L+?jGVD``OOJDle zqU!#R7o&SauKtV`bE8Zyhzr*AfNmZC#??;>eXkPuVSXpAQh3Aj-ib0NKPK_XXV9o; z1wx!fG%=*LprdMkSiHozUI-H$gYHY;iD}yi!G0v+z2*}S<30HWA}$=T%xUG+pcfSG~}4qi-;DGqcyAhV{f|x z!*|@0m3$H93sBbhp;$Y19@|mWJ}F_%Y{e1!nb}?wsIxs7+&cau?#93X88!cOtk+5V zAIcQ65UEY+Dg7ZmQD^Tg;0m1I64~u&DqXEhpZ2Rz*1Ik!D*ZODooBKFRj!HLc`~-y zFauoS!&*&IBhwqFonOgavK&B2xrBhOSMCzSI&ncy-mpOQacPd$esy(S{9ni!RDwf{C@11QqJO17-Tn~XN=l+OktxhFWwPy#1y}@rAmIR0 zA2P2m0#jD>W^wzcxdAG4Lc>`T-`x?|MEZ2q@&d4+ZSd!>}W^mwCjK$ zwbu`lf)Nbvh8=hsIN{2QtUnqKnBGUwAqIOR;)d3HUuX7z8G7v$hjLX0{2j7?XOSuh$%vcF;KYaSh{yn6eLI%{IsyE14J>;=0=yezR zJVd$vpBSui8Ts2PLGk+as>A7etEn(}Na6#5IO&78bSX{rPj36l=pC$hIGP5Lf6W<( zqv$;`)=1}P+P)0$Wk!4Zl#YzS){KtBKP?hlz@0IxO@DTh-xnl5{!vsw)~koeJT}3H`A+Gp^3ISK0IftVvwNw)@>r1AZM#t6K*y>?hQjLgu^{-t4{9MMcy#l@P^# zUTEEjxYG>e(@gK~Phx1Rt)E@RpfR3>64ZQi^P;0Odo$%aLife|9*a~4#=gEf-@OPn zq`UnPd2W%`+e!Pg%P6KsuEXnjbW-(MWDMGNpX%22UV7v0?zEx=ND@Bg@L&Ny6&jqN zAHkhREbk*8knto$i!-YJNtrsbaUPOvN&q>>Ua0T9$NjGe=_-#8LT4%7DUH} zn!G2U3Laqnr5GY%Z0|*q^3WI>fmCyU>=EJM0aBW=J2QsZ6n+dzRl0*>mygqt$*r0J zv+h9DbFv^j(Q%A$4%Q?LK+dgt2YY)TTkZF|BjB&AT?FNpg@z`xiBFu#!Wh~{2D~5? zmdkof8uwMUu29a11w6MM{9g<|V2P{1P`+uJ-|>1CVZ{kV%rOh#!otZzePar-PpgPp}nBjl9C|7Zd(hi`~lS>3Ag-kzr9%7dHPlbF%#f zO$VDa>p25(k)IfvV{*?MWiB_2)VTgzEr~>%{4Qs{H_pLBKfMe=r6&{&c*XI_na7vX z^+60Uq)sq!QL*mCUN3;yn zl1Z6npf6&WYdA9QJrvMlwI;mfjp+*s(jnE-h)Z|zs_VpK{`XkI(#=iKDFr_~15&9r zx$idCrjHl4D}^KhWj2-e&~QVRn)DvalF_BleRG?$@^TxMK5RXcHUr;@h#L@#5q0x9 zfg#Oz&mYZGkCxiSfl@P-mdXDEH2Ik;&Pek4fO||@VC8+az{5lZB{57tItp>8bJea1 zV{k-!c;baTG$?9&@H~qh-$9sYU{Q>Jx=BdS?Slx!E%IjL6S8@4mZNFys5W%~mh*&c>`W zM_$Yec?qPP{Uvnt)z|1gOR-F&b*Y+!Ka8S3G}(rD6V2$h+KH~JQ#AK?Z(*`53nYDhFsUvJPC?j?> zd^c$m)SiFi3FB9F8}7wB^9ujGx*wi+5cXq}?HM%!X~qXLce?fAx)kL&^JkZxFK?5C_NdIO5DUV#FK2E3O@A}R|Rht!f$u7h9<7e1n zQtHP_g%29OQkig6$2Kqs)_TSRwcb(1NAHjd;(z_{-4rh5|8D-8DxYsQyKB!b6s{i# zLXwlbtTCqK)VJKU_who1y;1eO;6Y~WR*PdU0p8G|K2MNcNl1SqyISIY# z9BjT(((Y%H$ciE#kCYy;`TS612PN~q&78DpvKA8Ax^L5VJYBYX3k4V!rGSvdJJ{GS zF!>RM5*po7Ei zkh}iTe{?-vcXaXsy)VH2kgShzWIC8e?Q>9a5}#(;w-|Gkk*VNOv!c0q z_)2f%^G11+8}vE(2HDSRsl5%{pNQ!E>X>~Zd{^dU;a->-O8``>alM_;F-`VnqLP4U^#yZ}+zg%s;XL;KE{v!0oNM+^Z3y?-4vdm>7Wl0Pu{_ za3@}%@KxZrHG-J_^z1Q_%$!eTGa0HM%2#t7NP+ehp@~%~CARfyFdNr?HmyzEaU#O~ z)u<1hd^HegX4*!4*&KIxfQM8>tl#m)J}@9Zk|T7bDi1rD^ny83CjjSTn#A){hR>q|l+ zsp65#H1I%*Tt2V!aNK_CT!sO@OUeLveAG4-J9l`g1~)^YX51^U)|~){*^<>Z4C^H_ zR~W;*yXTO7q3Y)de)biN4zFZph*UR47@+vbcKFwd+pn@RFkdgHNHe z%BO)~j`c9iFn^@faJVVpMJ*xKF$}3H3^ymX68J4vfTptY1#B8NFLamN%y>B906U z7ZWN;xmVfzrhmJ{ebB&(6Z6)ANoEPc>g^Z4iqmF@FB@IXEA1F;+ZHPxKH2%P8-?Tvc}|zCr^KFnQiWWiDQO~E$@cy|1lDqDSDUdxSpfZO8v36llOr(IY4lF z)dG|Qy!+vO>caU;g7$EQ)5f4N6_WM^?JX0EFVQ)x=%FW?e{LlEKOK2z0!B=sg-1|q ze_S6nK|Dd0^LBagW)3E80~KP-bs9fnorJSCG#H4(w9VToyEXBxImss7Ying3m}=x< zL>l5kL8aTZ7Zv#*QRnUPpAavIM{lyha3jENm^8AlsE>-is6zqRpnWdC$nj8x3|BxE zYD>UcCTV7{vMxuE;fawFz;452KN(DR!SCQmjM#{*K*7TdnKyZ?{7iht{~ouBl7JyL z?AFp4Yk^&6BZpim=!tPp9A$vdWJs(by)Qd`pW4HexGW99Y=b?$n_m-f?sj`^is)af z*17u*^1aQ;@S`UiO$+_oxYySgwfTX+2|m1HUukVd^HftIZx=~5dqmF43Gpc=SS9!{AzmKJC8W_m5q7zpa4=ZY7#*!?H_BbTz5gQOY4FcdEPX%OBog2w&o>;^rC%f8W$@3MZ6kY`*8YauV`t}A zG&r#2%y8iG1krww7JW)T+HmTsB-cNt=!p{~p6Lew-9wvsYvjT{Yx0ndib}6436D67 z(4)6S6dhaGcJT=EzQS28`8d`}*x=iYg(!?cZV&zj`Ib>F+V)#C0umf7YECclI5V37 zzNRtAQquP|qjtvY0>O?;(bXG!9KZ@LECWf4FtcJ5I` z^+)@X(uqid1RS<~ilk2+8G!%foZFKt!;W@O6VMuD8MGQg7p@i4f#G_);TzBA-s@jD zFhF1Xl-x_B8Zj?K) z)KEkA%vBCR8zzqQN2TSJPD)ia1vkUD8BXSpS7bo>6I6)8QIKz{<|0oCRUk89s6;u8 zleF-wrfS{b4l)DdzqJ5q;0`seXPgKB`!(!n8|MCBFqC;VIi>-gA2_$x!GUF-s+ac1m=ThuP6^JkUwMM`9WpiT%8X<)0V2NTwX zSj@o9IdE8SQ=<7?oIJ##dg#!UnccM~{7>OBD8vnwXS(lga$nIGtWXw^A`$&1B?d@K z>gl(+K;Qk$WklN}Qc-3R@KhQ{N%E`X>c|7UQzY3pAI%u51K>53;(0fjqw*O}|8G!8 zPAFh7*b2*<`$RMlg=qeJ&$-Pc`*Z+W&jz{{@18uXqSu zP{VD!H41=VXUu<)K1~Z461x0#s|mEasoF2%>e*H=W&5M&Sa$kgn*s<_nB1$u)~c-} z@8$BZpj!hu!~Bhh)8!b(b&QzxY4ZhY$dL`SRC1^rg){t%9Bqexh*^+H=?X^y?a~JV zzuiL%&_8@`VRCVB0xtdDBf{lp3NR@4%PZ47Ca0|R^ThkI4@XU^RT6k$)#CG{S_~kI zU}k}t!=yla*J-cg-nxaBWXwzS#gjGUMx=mrai_a;PehOflNIMq^yhP|qBI;u`^emn zQgFinbbqQk$2t6Ous_rN+$n(u2GPJy}o|^pZ`i>EH(m=S&y)kalt|YZeTG)?t z{iXyZ5twq^!ulN!jZ;2Fjm2M*g^=Al5+FyWIE%O7XXFi%0JzEa6C_R{l9DQIU1Nw7 z*D*&1k8Ig=HGfR%>R_7v^39%?D?`olV-u9e{X#Mg=_RN&flh359NY6I(dOInRFZZ^ zlIE|>_5RMH^3$x9yy7L&9QU0KZ6pBi;aEGm|E>c6Qx^Q`;oi|fX4tesSOz65e(W## zzf_qsPx6ESz>z`qv=q1QX#bzUTpf0Wj+_ zW0njwWP2YKCtnh7hwk-aQ&c!L2R1=otot?!8W$`Ci^7gbot~s2(j-7rt+=z^(N!4r zdQ(G+@;0Ec-NJ$$6WoQ#5+A2etguh@#fr)R5KIlv$WfB{>tvuz1!wJ0g-zJpo&PtC zzH25K<}(c_aj0U`KD4|NJzc;wL`k<7g3SGGOM;3AEhk|c3T^kNe@k%_2exKQD|pY zRsSWqv%w?jR^v*UcMy?4fgLJ}4JRgE`m2v6pQFAU!lj`cLP|8xejOi-Hh1UP78uOR zz2>)~j{tK0>YFDH?`@0m7oqL@Tk=0B`Y%{LGieLwWLH%9bu_p41ZV|D^uj}MSLVYr zSXu43M*wpLOqvEry`i76#3hX-i6wixgKR##g9fJ*EZ38y8^3R%s8e?1_3}DwX{y%l z-R?s=H^i5aX@h}vHopdl19MexkEB|)st>3ERo52CL?VJ%6cO{C)GDa@@$sD%)}WnNYy?2OoH}5+*dtafi@%<4_s;Sf zS43%g1_s5Ym&uDWN|Ys_ z&=&o|DnZTV|O2p-z^Ctn%&@o2bA)7>$$iF>Cg1DJ3ng74)i~_g7g5OfC?G*5FfA~xzMtpLF=pe+kGbdVLV1<~JFzM*} zIal!M{`khg`Bv1BMh=W+H^^(aG0`#Y=*@&|(N1Y|^`jeNzv2Xa&C_gtlN8o--p|Y- zPt;@a7*Qd-tvz$h)9jO8`Sqlz4G7b+INqlIM^P+{ze7S3P%xoc(lz+RdPpq;T1vfo z3Q7-S=zJ0)i@?1KPT<-t{rUrFZ-F3(ttD*NPo4~2yNa4!53X9Sv`5NLk_$h;j;so6 z5hx}wgsWx%H=f5w)4w}|HWterfleOwf9QJ4usDNYOL%4&+}+(RSa5fDm*DOa+y-|i z1PdNKNN{)e;O-XOA=q;7?){$KyZilr-yi*SclD{NbLs@$FQDDA6a|N?E&0#w3D8)w zXaUhKS*Rdw|F0utR4d|8lS$ulUz~dvIKX}`@V3a5nA@~!yrO3+$rl5Cmc`^9EjK@8 zB%R1`K|ii(0de_6$YfVOIYNF1;};HS7i|p}iJV^Y^S0SR{(!sW0%KF31#_TJm9G8u z3q|-k~O}+T#2#-*x8n@ONK;xTp zfKsyyPfth%pC@v|7wjAMZzW@dpmZ6^!4ER}_bH!pW|1{Wic<3_cyb`UKM|ya46F@8 zO8W<$az0H5s8s8AM)+_q>P0;@RwN0;|6T*v=MLoA1V`-VQixJmf5x%qCX`Kku>1Xd!duMf&5bLVleh= zVJi}RoG_nvKj#jd4ln@T8@~PZIQ_qo=l??FU1K2cabRB7-4_3)T9TRgA3mr72SeT` zP1^mpIZaZz2&66+0!?2uKpU50!eEb6uRduk9jGGoI{RGlwRf(X7GfeNQS4;3oG&D$O%F?|K({o)7UfBn!988^ucPs ztZlb~gR%uy4jIWkmqBfU0*BZ>Q6{N{?0~hKop^%LEV)L#Fpz;=vBMtrQ@LNQF%I#o zTWBb1yf$1~?FNJ`1Y%D`j7C^W2q0&3=3CqVgMIW&K~W9BLfi%3MDV+csj!_&(7$5# zV&Y;8j%))6O$p?7494CEa7Zeh>RQ`QOs1|8L1%i=Y-HAeul~ z#_jyO1JPLVA4Bo%j@`|LY1gE6yWtjO4o{*}&{~x2JnE-BAu(6m^wjtAG~AMAleQWzI=L7~YsaV)c90MJ6;zDGPlOyy*O{ee8r&X$I+7Aws~^?vZ9eXFaG zTmg9Oz>W58|G(d?|4b|2PH~2(tWW@wNrN`T*Qxs5wlAyXP7Tn9;WVt?2VW!5I=_7{ z5aa%N{LA*sH)xn=0_(L8B}ccH3DM^+$W9ypb*m~CJ=yhE0tZP@=#&g6w?taFFa~KYWx#;>g@k>sG9{Qx8ySoEeThU~+ zic!#8ij*o6X^Q;;G8%Lh?Tx{31Su?WSuUCJ?!QMZBZ+#c@SOi4#fkqzQ8Z|QsSCrn z#}9%eGkDA{jw0dNiZ0_4M~ibUb%?J7I!u>CD@4$Yb&(UrULmcTC@0)g)kP|Lz(b^p zJ>S3ncd+(9(Ob9CAJ7xDF2fWzfo>CHDoKZo9 zs$m1VNJ$b(W@O*x4TaB({$m#(L-a+?zc*A~7+@n&;8ivv-I4lDpI`o0VESM8_<0!A z;_VxWIe^KGrqR9!Dnd^CYyupdb#mQ|DqMpp#B5r)YT#Rk1`;-kxKyIS6L>lquAuJu z$Ha*v0A-Dxl3_xLj{XXBliy?tBs!Gctdk?2HWQ=*7kF8|log1iLg6s3?gfYAvy$A` z&>aA#sbG3Zc+7CB+b9peKg<<6LIEq0L|~1r5$bG~0z(9PAny2K`1MrW&iCAx8%f-s zxzfu>$cDm_nT`Sm-8RYmS&KqyE8K$jnq>XRkm(YP6|E?cnPj^k3LZ@HMRFHoQuibz z_`ncd;74`!Kb9CITm&7eSyjdc7WoilGB8vaU~Hj!7q5x_AK>d99x zW%g(wTcc{lO=ai@0^8kv?AG}SpIK0D;Ie3^0O~`67h7h#cetcpP!Y!28+zAMBUy`Z z?SvxsJO6(A!x}~KJMh~E{D@Ztm+l(=_&a#44CIyZ6z#wpVW%ig&8s)R2H_1#sKaOOiow4z zo#YpV@otz4f6gG3l-$Y|u%Y!~IRMDW%4vY|oSXXN@nj=E0V)Pqw=twp3jCrJ)YB=> zk4-k9P&ZT9d>-@r-Mm^Ni&({x>L_3y1KPQXk_=70H`hO6Vq-`BF~(-7sAy?|9eA_G z;&zBv;iBBh)yPbfRR)#W9U}%Dc>-t7v zZAAJUzjHW4#U)^BdcX5MOhZ48{mo0jFkV$Ddwhu9gq`|Lm-s*w`kn4qRlZLlO44ax zAExTqgZW!hwv(7W1X7r6W)gT>l6k{)BaxpyG?(_>Ho_G@YF%I(eI*`TmLBuxlX-)- zV7tBY;1G6f|0B4lVOWIh6HL!Ht`D zKU*Go2>tvf{e*rvHtjavc0z$VPC$Y6_)zFzZQ+@68(xB3W#UF7HR5k1YwGYngoVF~ zWOOH-3~7fLDcUhezu zUikie5sow$O|H#MGvt{{-9REJPR-6?GLE7q|UXE$J8_6fG}rExqz* zS6b7Ys=PxW`LHuOia+?Sp|lF6ptv~_rYuPNlxerRd`p>kv6G6U_5qogaS?WkR+5{p z1X)ErB1dsoRZA=CcQlzArT?%@q(sUb&!cxIT8~h9xvHUFcxAAw`8SOlgRnl_NC|=J z%{2Vu$U7H|_C^6JxRXEneJP0w&jegEsuWLhF{*7=h<}5rOD&C-vl5rapWSd3VeFFx5cU;5ouylB9GFK4`9GbetR2X%K7 zW~FW%#JlBmV0SG~-DMb%%sMo;fCS&@AW2r5m|fLVXV=5Fx%J|o9Na7U$(BE#2pBOg zBvCTGc^I4^D{sQY$!F2v=MAj4hV=9VU+sO@x=K0p6cSz;299CN;EPanhO?y~5GIqP zQya^|A#O~B{&-;iw3|IqufW>*nS!#3DT1K;8i`LJ2+M<%!*I5Gn@9|k<1di$_JfpL z#_3f-gd;kFu$p*2L_D8)PX?=^tAC*gEmCoS58e+r)v1+R#!gxsb)xkU7s>yQdSWPa zi^!8~p)v;RgO)9QEt>t9BO=}X8&Kl&RwW5aVWGk-rlzeU}d&y1&yF1e+l zqZ>~^O-NBI$cMh#dMlwT$9L^{CYmUWz1*gvsh20hka$w!$nFrZH|JVn9DZ)ZSa1G{9$gOcFhwkcJ< zGY`Kaz?Hkfbw_5SjWtm=tA_#f&vD0c59p)lC`78Uk|Ab{$_k=2inLg`I26A7YN6UG z=_(nBK7Q~5WES!b~vnY1xF1|8EvP^3dLDA1Hh)EN5Sd_S+ICbC~P zJ@{G<1Bh);84VUmu$-u&F#=kB!Nf#%5)+`1ah${XUeH*IXEOioR1U%tWb1_$ zoCH>mVr%DmDg9I}qQAnGFM#STu-VoZB}NHVdi76b@JbrIgTBy2%MfuZu6cq}`jgp$ zSITics$1HqyX(?U0=ot^ncejYnl}lqD$II?ue>uFqUR;yrnHxg?JAie3hhtD_(*vY zjUx)(^9A1lA8RL4`iU6SjR8ZElEkRISo~He5gxug485IbcJOa*7{9|&ggy8q?pgAZ z6VV~jI%(ca2F|So9dc6&c#hwm7#!*p5E%NMW+vm)FA0l=xx4s=I4TD>&ZvTo9+k&} zv+oi`mk=dwA%-C59bXQ9!Ntk*S>=M9tnS856H%e}xJoQwq|O2eD2mp92foQ(VZ3zu zU_pCdkWY7RF9DZo92pxO#|Gb+F=ouV4u-8~kqkj6dKjkj-zA1YBLY3|j3RV+O1Q;6nV-3JNL+XB zQrn;_2HUNB7(Ul4OSvK-FvzJ4G+>KkOwm%IJj9X1W9&a1-_c3PTS!uO-u^VjRX)A{ z()L6m3;Ms}1@uR}V6*`2>rSPD1c&$o{lAvRW^4%rWB<)cELH8I5< zFZw)7o`JzZe=^^+7vxoly$Y{MwikpXV6H$8AV|l+M9eRhT-A0RtWCt*Y!#W<8!(f) z_-BX&JeqF&=JVV0m%&d%9iUzVUx0W3+|k388}Qf8x0G%0u|?&sxL1*~-*GZ$P`9#x z$IGg+c}l{Uf;h(xC` z$aw7KAnIa(FS6CY`s-7<9D%kKHxQQx~6Avs2_Dipr%CH|Foy*kYN}b>oeERMa=_ z_>JFE3s|$U#O*=t6YOZB$_z(ARr!2*o%N}PhK)wJK`ZHCP_JX@iIlNSwnnWvbnE$e zXcrIe^32uJk6ttWMoC3KB!;H_LPslV5-u1U&Q*x#6~=lCu>h`>vgBv@Cvt$kV3z?Zrvai^75K@!p_Cbn z$Ee%w|J0_{(*g1MiH<~AN~N(ov4*l&FjJvbP3-m>EiJ4D4_GmDjJ{T0tZ(`BQ*#mk zT;U{p9b0N%7;tkMoLbzI+SB8vg6WtQ)AItA#wtj}m2#@7srGVeiMoq?F%)VSa4Mx) z!tRae4}P47I+c%vRmB(%-BS|d3ojz5#{Df$t=T^4rMT|-kJVnMGk!FI2)!OA~A)i_JIoJpAn#AN=kQ%U@=Gs2M?%)*z=!GI zj(nwFUC^FP9EQ*yU*fQDc*66-RY|N|rVnWpCx!?AJr)@=8@wVWrp!HdA;gY5`jAo* zj;xB4{6%fIFfj*9-W?iVa`NO@fRtVK$YG;V+zt5OE81Jt)}6Hfsx7)6OO(g&iC;yFeLf)9jhSB$$lN=2H*IlYqBC3tZO8*^IWOMx zS-}Zwv=>Wfs8tA8e~WQiT^1U4nvltM7=gqB8)+r$08rDtT+f2~MAH%kV5R09&kt8s zQR{hQCedZKGNvsq3dZZ{$3H4;y?3xcAfM{GX%UR?>gSN15W4W8At z^tTvoStizbID(GeE4g8ampe6j_;4$fA4@pNAr%Hp?XCGD2U1?mZ#|2{ev(uSU#vtp zy3fhx>{ep!M;PQwlsve37^2hU5~6AffPq_~XboK@S@*9yu#S2h5dmwA}KnzC2$?t3jTPvE9 zab|eXq<<=dINeEo^gpR=k`h?ucKvN+e;cbPTZm8zE+vrwXTTBdcm-aVQH4WX$yB1e zeHe0&-oJP}6OsOl3jlG3?Vt6~T&oT*4xvyC@#CbM^r zo*lFOisw7&$$0EumABZMV^?k{rfqwibU<+B`a%NIZsFQHU|4KSG&LY6AW{D%tBr(8 zIMRSc9ttl^R~8MaE(UQEEnv2BJJKAZ#S5+Lla<+Eh7M8HcF2Xg#0~q(pOl?qNSbs5t?eKgjju{@8dcG3$P^{Fq^K)#XBW^J-_Xgz>Q7V;BDCc3W z9_yBbJ#tYR?;wyjcTq9%B!e6sDFXiD5B><7>hSOi)WsyTf%?8oyk%$d92QmajnD2= zW^)zjME<14=Hz};22ekkf0!MvO4+JX3*HNSMj%ON$JKXbun+~pz96%F5lDOx#t7Lr z+AU+7G7%r#Zhq<9O>93VRPcSV@oO16C0I%J-A=7j>P7cIVfEcXOz$+uL

    JVL1VY`FDdmtO`j;c4lkq{7()98UI=9Ig@7Tp7JvtMC`xu;+-XE%qZDUIGx!~K+N&~_P9ad68MV8ehU$5X zBN#Wuff~XU5k%n;h`dT=6F4t_NcKu7(Yf=uZcNS`sx6@}9v!#m$u6S{R3RVSe7mWa zc~=F^pJ0&x6bN0WFofiv~E1S zbt7Jp+u-_McU1EjzYH>ZdG+SSJs&L}W`R!v`9*S%YfnpQoTB7bue=G*xFM%IHP`qn z&ii&s1B6lWA;Z750Cx)>PrVcnDU9N{dizpDIFE>=l0meNQG=|gF38OPhl|(cTE`#R zKLtCfGyMgW$@&H7Ws2>{1%Ym+zvtlQ4!5rYUnSFHC4b7KxLO1uLmQ$B`2y&}>AmU~ z!`b^9kJ?|k?z*mgW63Q>r5ZalH>7=D!l%}18dkDj80}?gR{T|NN-4R4K392Rd8wNi zqO4>Mt}>`3QGGK6<}bneD|HR$NhM#QdCI`=^oPAaBb5W@e9pOA7Ru#-}(#E0$g9c zenpuqG6$g-{%mRoke!HGPc|++DQ=h;{fca%J_2sa@@M=$QvOOJO+Z+y9BbE21K_2f zOC)kEldk`|7+pjo5pdD}YAvU>_J|NZNL!_{$k26XEn#^tV2x8-hQoiFHLugdczS1KUaXv$B)cjK>1XD5S%Q34K#c$gz%Z?kM&U1RKg1PJ-vgl%T!7&nTYq%2mdC1r{k zY6~qS3x4)Fsx%brL2+roqodvQ3_LFp8oO@KZx#*2(+Gv2zxxT~k52?T37$AbX|XW- zS9BgwsW)_2&>huDD(nwFdiuC&U=2E3dLB1MuLgRwv6`E)Pw)}`2S@KrGDm#nK`oj zHI`z6@cG>1Ft$Sv{`Ox-Z5jg+gsH;~aH|%gx0cYX0IZN0M=hTrVX6wi^m`-*YXq8S z>TPZEuQiV-1}k1s{Q-CO@NUo_ zAi6ys73ja-6tjD6m*AohHASaIi&IQcTri~b)x0l3u__ToaXcbG|L~RY!LkOEKh{qY z6lRN5T1g0JPa+~FHXEAA{P#7@3TX|h3+?^r=KDjJ$*)y0@u_mU2( zst!tlva^vgilRItsUGdtm}kGYSqP-DTH3E33eXE7*R;jsW`uRF84jJV15 zHukeNZ7mdMB!B2m!!P& zu$75fq;Ps@2#VcmloNp4{J9;1`3Y}4jCZ;L#+U83_;xz>UstuA^S88FpSi<`A=i4b z$uQA#_B?D_6j*Y})$d&W-7s=h?^9+R*p_VG*BYy^{kJP2dvPLSo1^u8-rb}bH55;W5oWa|cml$jPcp)D4Nsol6ao!HSNP*N?fEPDU90Ug8d5qCMd5hzLvITb&w9$P6@H8o@Q363iox_i=#%7oSNMx`lOsCI*W>w zpwtV#&9|(DJugcooHgKe0GYHR{D&1sd&>|Gxodq z0J3bGH*-m&rzRn}-YGXFQ9;+-Or1+bTbls*?w(^032xKf;u_0(wLBT z{+e;$i;V6ESE`Dy{)Jb+BTp+1{j9nOd=7XyHL|la_2?7cq%o$0rgs5*Uf}|?_vsFP zX)B;dXp3qOYc#e6^U3n{(U+<7PAct4pxbr>Y*#?;S#wbh!pAC2ox`eO6>_9jFM%#7 zX~2^C#fpK(rQ6$8Up5p|ZKe}%hF5)+>M?v2%c!B6N-hbi3i$UCkhY+Zj(7w)`i32= z4C+6|u$dh}r|u6LjT1<989a54CozzE;j=w13}taddoC##yKwxVx314&{V3>kFBS?_kkKepbA%4A;OSO3F`$0Q5WG6sfl3`8@f9mEolUcx{=BNv$f&ekm{>qT{>UwI zgjB9`R^&xR*OeaK35vbYmjxL3+7}Y*?Xd`!h$Y(cAyqp>=KE`}ts}j!c6$9ZneVA6 zJ6O9(eHvAHHA@qw?&e~48a_AG`H|s|`q@wZCdC_sdv$koj6Y~nvuw}QN&si|5|>Qjbp|rnjZN=Fi9)nS_Ka9|;BvC#X=b}Nd8I1vw>eXT6fmb(yS&~{Nvj&Nc%YJ^^Wg`iN9I2P+RpuTgplg|8yFLB2WWxSASv-%d|9>Y|Wnf*{Dv~6jMlC<{% zSE<-u({`qVuJ42U_66->d{CA3#cz+|@Qoa;8x@#u@V3vAfWzcq>mX*T@a$|IlZKD{ zSlrUsm^gEUo)WGMwt)=ybxfF^77`kG>}%@x!6YQctGK-~V!Z}DQyE-{sOx|d!F3N5 zRhnnc*ijxC;F@~**~4hu@5bEO!CCQ^j_{TdVZKRkKYI^?^pPEe)R#BmusdvA$KP_s zJ4wFnr@cAQu&+Tp!xf><*NW}$tLMoLuMJ8!-g0ljZ+Y3OoXKIff;EcU4pqe(ROgl_ zF-?hBH*^jz2e)hq{!_fl(?B5MZco|H9b^SnsGeD=uAbITfm_%0FrwJ0hI^o$+_J{| za|@q>`ZgU4c*pL9q4&?Kc>@#g*G!C!PM zn4*CYgGN zj}QKt7Q|nS>YHsKu6{!d&z{92eXwW0k{d}!Y1DP{{P+@F4U%^lXMZM*xdRP}AD`Vx z#i9A9QI*iX>_*l>h%2GiwWBaMa4Rop-IyPhG#j`QR0f&N#}MW{CLP;W5`s{@&h(w| zder4$I8N0z)RoWy$89$tkm-t$iQ35u4MJ1UFWc>j$d%aI$y&#KGcQtO`)vDZAvtEF zvHgC__xiKKwqpj@hRvLi+y-o7abpKzB4e`gr0n&e27VJ0ZFi?byJcUP|Bva(U@3+R zq56?JEC1i^6^8fYvd6Th}Xb z!H94jh>vOk@oNRN6{E7xi}~(DxT}ig#(Q@7$0O>BiF@)>kV&seXv80xhQ3zp7^WGa z)W+*KGgbE%5f}vdKH`XyZi;LGS_^rP)>Rv_?ROe4gtjA{Es7DgSeRy4C` z>pc_HzMzL0#pljyg!d#jI-YzypU>XDY&Pi#-F<{fMYUMBtfL)9971slQ@q=C9c`-} z9hJF$H21!|clcKt_l-JA-Eo@@U{tnVL6GC`s=znZE1!_%XAs2tZI?@9wY=`2o$a$+ zp22=nTyF3E^wrIB;3NNy&qtZP6whX+4XJI~2s_iMnB^a{LndPewt3f>w z-Gj8gy;9zWk5JRUpggAPP@@L*Qm{ z)JUiq!2%4!o-joiL6#fPb<}6W)L~@vNf=xH;FzEjC`22wD<(Z$i6TE#ojc;e+(xPu zw&B-!8X&VoZ_M(hLp5&;+KEuy5#mDFN7V<#_a0w>F*&pli;HuHW>5L^#%BZPdoT-T zY6We(!Ddg(EJ40hZ$Fz>APrgn%Gk{s%{h=5#f~ z4I9$M!;|D`2mTKmaHPdNG2%#GqToh}f8nivkRZz;i7vH6DoWpVO-Ziz=q_^DadFqY zUM~GwGY@Xg+v#;!-@n~(9%maO_w>}h&!Qind^0_=9lT?m0kVC5K8bV6M*c%2&~gC#;R3|R!o#mLiv?J2%zz4VibP+}+sOQ^7I?J~p!i8(aq z?yf4I(C+1rk3#>DxMtW@z+iXO=tD;k*TUiBJca`N04 z;`mju#$=5Xa3e=VnC%o~EV~{8Ub~5z&Hz^s_x((P)@2J@J z4+PB~qr90S_u6ie%^wjOUBQR%F=I?&?huX$7`c}tBIszNk+DHIX?nJu_}XXpQvPA> zf2bw?OHniGp!|BbiX(zjhXh)GJ)-g|>{dQzjCjVmvCdRQmrspVGDz_QFS_Ig$9Dtx z)mm;|OFO33w($q(wd-F{TCj4>l6gn^WjDBwuoKvgpEfpB3`k4T!UBR`8od7g7-PRbu9{l%nrc0 zj{(llP~T{+3-f}|Ey!m%C%vfm+^%dTIa)En^;+o$O-4@O)C)#$x74?vflG4A(H#F~ z%7!M*W)Z{%8T*>Hjbz6^v!w3`74bGZ$o$*LkG#jN)b;4d4d@#{=};K+OOdqRfL`+P zDsIJ=;A)wg{ig`Y2+!hvHh_2yaP0Wi;eia9V4HMp2uB`&3Q{3oZkr#R;! z%xGccra;N_*=nyx4^WgPx^rd6cD3ieWkG*S;zPh*`{Kh~iTu0PV?aAKn)Xvz-cQP{ z1+xnk7x@AfVk2Bu`^jGk8FSV7K-+{O3Bb;amiuQ=1&SS zmT`7iqNb${>%Uy#koQ4nZzH_pD0}j)!;vDU9I;GZxI}>a4*dlonMiue(BaX+>xV^?fHXwvyz9Fb(F3b-y(E#=ihMs0mc6~f? zCqCdG%iG0Pj-c!Ir^M#`-3cReP<_>nq+n~Zc?{{dY3rs;T?=XX2_X%?j{DpTu5CMN z$1&B2@bh_Y5URQ3o>0tfvj|_v$s8}LGIZ0?vx7L4-7tf>kCDelctN^q z9fnK^zpW>|_z&97oyGodNP{rAwIbK|>ys%I^6aka;k^itPJ+x#rD7Y^P6XyTrk$xB z+JZvbS3I~d`?L4#GclvM{R6Lmd~cm&%Z&AuDCrnlcOIKi4fK_JFkG?Om-{VJ?<}N` zj0oM1;12cUI^#+dAl-KVU-%^PQk3x_9S}RIR+p?5q8-HlD?VR65YJeoKk@+4l65cpBrFU_Ve>#zpBvoT(NOk$j#7P0nZu-{Ir0|Lnr&89ug8%G%CU+UB zel_V7==c@{h|>EOb%DH@oX7-*!QR|liFUV13>I|Ck;VA{gJ~e<(XaAwGk4=Z#=#BWm5rmq&4}$bbv!}@+~%LSJX^4Q~cq{ zSFOnCV~SO4kojxwi2;As%?cpB1}LC84SYme>u{W#kP`f|5lFARm8=zsVdgX>BNGt9 zZ{KqTF54;CRml9S9KiIv6Bo2Rtl#*tGAJ2$L>_5knTaRq zmrFQKl#6UBfj$fYMcc&M-BSG;br1@UW}&R){!#y#(YG6}8M*o{N$-Zi@vF1kyG}gm zyx_P0nUa)a0#%vl~i|P_3IihCLsU2P9?|tl~=i zJG~bD0d21!^Yth^)s6zSnuy?iy2}BU0L!%4Ewln!w7tw7rijPVwzzSwb4I3S(cHQ7Ll6Bg1OBhVm68?BWfT%H&zxMk+YV?VemfuiG^nFq zt2A=m8u%W98M95O_=dYgCTZ@f(M3ODLe_M^pD|HlyTtZ633n%|Gh}vb+gbfVRCt>n z>>d>hX2&u9g3D|B=I7OeU~NneNS1olgkfG=#jLcW^oei99z~&WI6|KDdnUyhASwLh zw?NeCLHP@Qq{@*QKj@`mKU8GbNt32>eZhtjzp!exQq_TJJ78lT#!(|1{pjpM+N#o{sOd>Vrzw@gXL_wZXCG^ zt@>U=2x;ylVZ*B&+ZZ~_j<#qV;R zB;nQBIr91!0vq65}LF zM&IOBx?3zUzSbiND%;TXeid5!!HYq7rjD+8eXyaH-*&F=NT-QE8>Q~V$b z-26q&cgN0S4+y)wi}E3^^GW&dt9{seSY=w2_~yn050#iY<0)6wKx#QC;;uE+q5Rg{ zbC9b@`|7dI2GvG*#LRHw48ec)Txn0aX0D*c+Yb-))$3!E@etFt26mKDlug}piKlE% zuIBdX!8$zOFAT!gj1QkXymY^~63oAxcYG}2@k4?nFwV=kn`JEEt5CO^pu^bn=S2>E ziU%>T4T9nVz+_*VcJVis`LF%NUy4$XpocM{NA3kl44A2vJq8AW&X?+_ zics#3&uG?~CFQtJFVlDFz!5f8$?0Jl87^%Rd@Cm^mu0)YNKi?XKk-d=^@wxOf@(hq z{`n|+_FdBENZZvEvxkvMxXp7ED;nc$=rC_XC3qKUOxzy+Llrnn%48(7QUIBm?_e*k zOOU&2#u}yrRq`wk?lA~kN%51T*6EANo-uis-6}Kb%VE;AEF+sw*%)#U|Et3?5P&rT z;-`A0t>b5Gb1EUd@CzQj5^W#MBajvmYKg-x4=2m^E*uqW<6|QC`D~Y(Z7O|pi62=2 zYck?(GN}O9ObpYjw{J}@maEC6^kQCcx3|GCcrdG(zmyUsAR{!yPCVn*{KV@r`-+!| zJI;2O_(pv!5(4f;-`3J7Zh+61a?S2PSfOoNO`~Sy?0y|+?qtE^|5EtC#B0Fk;tw10 z5rZBP!-asK=auzq0GMU6DdF#yxEM8qj?fZ4cx6+M&|m|?nscH(dd6D^n1i%!$H--c z(6bRX%m^XS1pDeale7U6 zmE+tJez8zNO?zw&O0gxxb=Kv-CS#o5FQnbwPUxbiUT#V`i8hj2&YH%6cw8(u)5AW2 zM^|o%f~s$&c6nJ5bx+9kFGzHW3KsEtCF%AU0T(JO%>Kgx{Fgvr-d7J`1OAY8y2)*# z?2l~9f0B-oeAcMwkikLy&ez04x?{GOnk{}%^E3L>u7{Bq?)fp1u;1Ood)a-Vv!eNo z)@O*I`aBFS)B$u-F8x3dI}bLbuvsns1OzNx1MV;R<39DI8+6X?^Ff(EbW_qe(|wKg zV$OYe7-2T!BSLjc*gz)b)MU0mGwIUa{gZRaz!m(0T%UNI89Dg8wi2hmiTqEB@n6Bg zms6-y9;m6mEQyJv*Nm&C8Ra$GV+a@#Qq;Mv@vZjko~pUbw2o?Nr0aJGN!q8!nMdt` zCh^#(yWD_#bZYx@4ElR;h=lQs5r;UfZwe0)f>jUA51?eB&1Z~)R*Jr^8es!yzYHH= zu0v99zhKGOPh2yi*fG-2$k#CBV3oXQ|Ut{@~u_t5uLONU&FXH zZ`vo=TChaR+-yt$#R^TfrJe(VX0#{b0TKsL%%pSt z*Z_NvbV05EY*%GK4)5I=vc)#Dwj++56FXZK@>ytS8LoaAC&kOSJ zt>x-YeA-1`=+1ars5e>3$)bTUzqXFh&f*)7_^Het*Z|}Gzs3da^W#I!EGFb+ zMhS3~wE4i}_pdgMzf_4-mc~6&{)Xg3Ervv-pQ_%eVs1adkR1>D)tpa$op+!<7VPbm zj)?fBdPKMW@Td<`zlf;3!wh4fnJ|)lL}-n6x<7RfE9GmbZM0JR9vg2FToqWK_Y)M@ z4L`}*{3)YkX~9Nu>~KUg##e4z8W|mqI1n3oq*nIK$(ZX_E{}OJN!b5eK*EdjXOK(M zjUo|$b3*?t)0%_wQ`o7ArD^;mk$|4Sv0{(0TzY6?X{@qOdP30qfla{s)X{^8_7co(Z)?f?mV;V2eya&TD9eD9x#X6o2 z7OLM>7n?_p4|x%+^86;ZR*&YV3tzGFB~JIbqA2#g;ROB~1p!(r^G$NPAxndw4Kd~& zyL@qxmb@3%Y#C3+=!C`*&kXPy#ZKqhn=EQi;q-6!VTgIc-`fljaC2qRj3)|O%?$4E zFdq0$Np3R6G=H7@c*3hbiBl#KwS$%=UkywF5>^$3Csv?*V?Dh6F#3HXStJJCOYL($ zA5TK^`dWENXi`J2lmQI};45W-o57g3*O~#WSf(vjKl0-qUD7Xom#@Wauf|C9tOX)W zoYOu(DMzm-IutTZTI0ajeSGZ?o_z3SpW_{fly z?A?0KiWR?#53U(RP*0tT2@_c5g1KK2`*v>`$?8vg=w77hwr!%y093V)KwNSUj_j2u zI|=S*I_S(r;70yH>?e@!q@F+FNwaT0`JQIiQu)d{G2&5~zEqkvvk&6HzmESz3;P_T z1@B}HUABU0rMh8qeP2Erl@w=qlyVYJB+eeMMO`lHw4-l);(O>$(WZZgCUguOO51?( z2%lBvaPd9m^|)aYN$oBQy!-IiYaQ2_w|{aU*ocUvd*c7;vW{uxseeYB_AG{2NBsP} zH<)Jma1u;>WqH)7Jm?~uq(eG?;XSUIh^o)djo3(!4D`*%I&0^Xp!zvYteF#5 zkzv%Xg?@?66hF&J_mK(^5qMGEr}OwT`5~i${?7ejxGjfo;4CUUGmm@b3mKxn8+db- zuJJqbahC4RK0N*R4k$8d@vWMHV`y3_>rxK>Mh)VQvN`06h2W6P){OtL==$Hnf|Hzn#peb1AG~Q`Cul+FDWvXhjXlK2wE^tg-FuA!L-YzkVSGXd7#15kvrYQ+5 z(Nwn*Hl3F?m-tbsezIR*$B`P53MTh27Rfo}Ot|7VzxvjG0v<~-%#%)Wd4h4|VWr3q z+vcck_#SH*@@rI3y(CFjmE_^5+OHSE0R7u7zuZo98Pb2<3&nM=or_53J+y&*&j}F~ zkU-tBKpJjFflmo@$Fa;l@KXvbU3 zsgfgWkg9d{&CcTw!`R@hIPwhT?Uxv!MrPCXZzef+ypj|Rcs;an?ta|$RlBuut#FB5 z)NzoVB(H5Im%@v?*>qxEbxdQ}4jCFp@cWJHo=w&;_iRVZBn|Te)evY~*{oUI` zOKV=LDLF&!kzV|nOMgVD!=|$J=dCGqtO0SId{!WE&xvuSZzF8+ss0-60oU|WOL>p# zVKuWYBpoWe)+@kLXNF`sn@&KQnpk}md_e~Tol+hhZH-0#7RjIB>yy7#59$e7Swf7r zpB?(}*=V;@wfu(z|6k6GcnH;ZY^_H|7||2ONocyZ@e$r-Il1qKr_@zC{F1mNXsA7Z z^wAl(e4D?&Idu9;ey8L8-)wU>FFHt%I+4EYY-C0PYrdLZ@SAfTR!5cnpEq1Uj?g(L8PGySAYgO>q!+EB!*ro6wcHp{s`Tx}e?ylpO3$#+Ok) z%n#utcLF{>wSMZEe!+cY}RLL&Ye%5xPhC1H|w8Lz8WpCN24amarN$r^i zJDa4s?ELe=pOea%d@pjwTGci;M(`H3G8HeGk{o4GN{o5@5jXi>=jXb)R9FYs0U@)y zl}a{Xkd67JMdFl9&+ARjT^ z>~E`j)>}C_2qv9EpFC=N{{Po9{+Au^Gfza68rNgsXX4IxdEdwL^B%-IF&9*@A6V8P zc5XbpzG%3GnoEix7|^(7D04J&z2EC5Me^bgp`0Q66`;@8oP7Gp#b*N;hg}gDTe5Z{tfT zWwEHZAD4acS&;T6K`mH%kj3IBP47HgB6FRjrG+b<>>%$$%M)!fI2$$zx(7`_^E2yrga5H2u~q_t5E%!~^qGhBI>JpUX`u(`NuopbV8Q1vHk zgEc?bQQCutWiI0TL^yBC)YH?_pLf1gjTqFs1XcPLu;2FLc+lopqQBEPS@ki}^D&upI7ofGPr~P=R1;L~zH`;AC*Nz8;dQ@} z)c3tyQ?5rE4}bsh;IWY0 z66)JUnZAInd662%^UXGRuHMB1sQbqOT6gM_6e0W z)Q8#L6Yd7Pp1t2ZwQqgyoOm4q;)&>V&ig}0pbEQ6$Q#|H;I3E1&$YiIu~PJH`wXfuFuUP0}-@pNFHnu4vScqthYsGBEX)sPAV zkNN5Es;68@X#o)OLP9gCeKr~<{GPI`H68{=vGyneZ%iF8$N=r zgIl195p46Mzqj1EzIOc9#~g?AiBYok?eo?SE-%A)j=tEvGgUQq_wwoaoZTaGS35&C zsZUTXRw1x|#$x$vy&wCze=zIgC( zc1S{Ip4;x09BoE8bpy?r#e?r+7I*#mxEUNjkXO^zsBVS5V`v?(;Hj$dn!gY@-g;=h zPfU3*+!N=L4IO5EfQs=`JBXPTO<0Zi9^!jtFB&$w0+Q$?l=$S-b(YJ5mC&(^sPdI3&bh8>*` zVtoCAe@Cg~68+V(Gbu{(X3+;v;w{=>N-s$yJ2N1lLc;sg!~5*7g|BTk(q3h~!oWFq z&-a(dlI=SY4H@?zMy3JY&~34gS)!1JSJ&akk+0uF&7NLLZ=%Yop3r*r zo;_OOtnQjXeEdd{Qs{^gg)EV=Ep+i-q+XHyK8Hvy9gXj-wh} zQaoEGM#GZTrl+m3iQ)M%j$sPxuLb#N zDd=gR=(576g@;QDLZ$;|UGHUBzB6iM;Yqa3aWWFs9YZ{h<2jdcy6y zMRvuwT8c%kXwQC>_gS?3@I#@Pcd$8{#ngP*<0@qHRe$WAhPw3n=X$aRP z(+g}b>K+&&JS(N%J2wP&b~mJjObj1tc=cV5Q)I`y|MtarszY*4=}BA~uX?dQ=EsnY z0eKw;c{kLA`i*A2q9}Ere8zXWI$FusPY%j)Yp*yH4&*O$>%8ukE8Eq*-)2MuqRP`> z3XiGsb%8a1XD$-~c|DJNrFPNuG(%UYWYduTbXC!_s{if1o39P$c4L=6pY+9?w`^3c zE0$M&nkBrH;^&zwHYyk%YabN$JPvp_tykJmL9J52b$3I>?N&|fuBY1VU!QbXRVM>- z{05whS9fah*)G!gGb#PW0>9Z~{yzXzK&!vcCJ1482YGf+GM#eH$=?iFgOli(XJQR_ z;zUpa2?=z!0dcOS+ptqgpuxWY$N9xHzkTt{eujlauwL{5zR~ToeJyXO%8GAN~q0tTw3LR=mzzC|w z7~48q!AefBStU5i$(Lk#>~7WIuy4C9a&aV|+i*x2BrP`B`p$N06_A1<{c?1!0AEs? zX_s_ZO_lW3|Jd8MeVQ-XrYr_6cKLZ$968j{tBknSV z!<9=|yp#n&%qmRXHutj1yi@`Jbd!k)STUM#FIbJa!LWKR!~N3#u#``de%No#O1rvExp;4T7q21k z#rLqGLx+F^v4F|3yRE#K_@j1hOCT2}t&)r;f$IVmBk|II%-7QnZ!m&X63_<@z)lJ$ zx@){m6#+!2U!%AJ%aUi$JMd=!C0Gra1WzeGmU-A3>Xk$^^SAQ-{T^oP(1B&0GBoVI z$dMFFH-%}$uDfMtc?&><+yl^ac3@-Ns2!s-HR~Haau7ujGpnFe6Bpx<89iVW0(2W< zIo$5}Ra^`jc|Pse7KG4c=bGeaqG4x4+H3YRon)S$i}u!-!W1=8V~@~C^Co<73-BElQz_C(OELV8NPqvKz#0xUE`stl7P)lefl$p z7o1C;aj!egHS*1v&PtY8&&wwOLaS2#*ndQcA>{QDFpe`JD3w@ z<-=M5SG!%&l1pRhWuToLB|)9Nv9S)ra_i9!!#OR{P&bGh_uz6DPa_;G$RSXo%`7Gp_+66s!%bRJB`GS5^(jiaj@g$iNdKp3u%oFa!MHh1h$8hEtiALTiBl%44Z9UL$3NY zt?!fhRFM=jXbhGKi@XFuP9&Yhvh#R_l5D7;mC%Hz7N-$ISVmbX2>HV!8}e%W&87rA zoG!Q;W*IISlVQks6_dds)EI$*rgH@+wR%g@lmu4xAF_`XpqN`|xE7vbZalr~0ISH^F#m-=w6!OyM888TW5)G3 z+ilUGz=Hr;Hr1hY!PBiq%l|77@(Ox+;@0Ph_iW8N$}o#Oj(A8%OLQfI`teO#oy&{5 z`bFAD2(|Ac$@P@z#lJmLVO51~3x1`Vg#3>Bn*-5zFqvr}w>hkYZBRwBBM6TSuxE}z zI9fV}kdQddhocD8fwBjkAl#y6#LX;Y#V4F}z+*}r$1Yl)V_zJAB*Dt6t(vQ)+pH9b zZ(xlU<{kTTIW6R@2#Coo12L{ueM7Q+cCO}h)byRIiFZjtSpb8XYLI245Pxe9{JJvT8dyOg)20`+|W%c{nuFjqip;R~IF1v$L6?h7M`OD^{lltPUv{ zHnKHjOL-2wF_>HoQu{Oj^oa2+`X#}hogG-(u@vuyVYd}8GNKNH$;N&|cF??5 z{5AvssonIK8NbGp_AGlPW1GrTlUSZh)5Uw^E9utH%(GHP1P8{WtgYoQ3Pd)P$Lhw0 zD3z69KjGOl)>3eP$A0?voLok8qS1e|EsQwZ!411=|eF-e-G0!q?%nJh(!(U;bzuc(y=+~xFQ8U_n z2s`G1P1qE#Ox#u(n&ri--b#MQYDhWs(;b9Y<~NFZUyNbqVt z7}W=4yl4TX9!rre!7%?U#8#P&$_Vha>|xv?J5L1BH3M8$l#K{xgJz9WbQ^5wF$46$ zFRgNbB+H6d!?>Ey$RL3Vg-oWILD+cbafR_Lh1K`NK^^vpJf850!Q-WpcY!|mBJyeo z##JPP&)zCwb>m91b#kN^gn8PipuCz6uj%d&xwH+5DG47LKq4RjE$quYm>fjr@(7;? z>}iQK;1WgH2?D|eo=C4#y};EalAXkvxS{(Hfb@G&5SomO?SK*o!_rA-q`#$eTv3)z zMe0*}jlYvpU64Exy zic~U<_)gU;mJ$B)d_^}3_lf(qMaHlvH+Y>Gs6UyJ$a(ncRbcA<_+H6S$w2)mn(R7e zUnO9qw4U;>;5E<6M!NFCHik)ruGbrdo@hErC?To7_#<#-Zy-ne6x`w>0@?(xX6#53 z3=Kg-ib-bbPgXW1dq&>9c+BQ!Fmbp)f@eHw9y3A6;1P3z2f_rCgJ#R`NI}S~L1vk( zGXwd(g_Q}0J}x8;xdL0O$qw4VQ^PdaqLZZn03ZNKL_t(6CwT0wROCMT0H`X#&fH^* z=dQL2uI99I!z~ww93)4mdumLiOmRXedq z!;=sSgNL;xq_mpZ6Y++!55Ad#7y=2`5H;#P6bp-jPIkdo^;?eU_ULG<0Ul9+E1gpA zt3T^&V%dbRdCsIf?XcuVb~_aXj+J03`*p290oY-s;x>hRLdW|=Bkwd#7AML%QvPh)h0UQ+QWH85}9;JCBizO5+Tc9wo2zB!i zckJj=!_9D0L?X&`lV;%Y*#^y{*61z!WkISbli~8O(l$=c{ku63sL9TKM$m{K24HC~ zI&sZ(g(Df4Nf&p}o`a!inWl#VVPl*XDEsS7HtZwpH6{rZXHc`c$bNC3u_VNhVDe?O zCFwDazQ4X6;#6I41XfZ6`R+? z-2lg!f#A2Z5e#hoWyU?rScJ7aiD+6em5*1EGlz_Syj3EQ zUB4DX<8nS>YwRb;mGr=5jc4p_u?LSq8+O%ibgTlZjL*hB*yMQ*+RtqrBV{bZv7S^V zj`>O*GAKzirbNA-wahxp$VTVBN`KNGW%H@Z_4KzUq3k1-OlFlhtMUle{UM3QgkVHpmfoIHS=e(&LJUa25RGf7CJK z)5^UA**t3zi^HIjaO*63vp91_+cUdZV&21q#hFQxd1D$GvczBkPW@C3=OOx>mhM#Z zp74H*AB1G@X8Ptn!q^P~LX_m>7U6|of@`kK0&Cun))X|%?;+-Ef59=TyB#-?!_^RN zMSU$hJ79u92+bIsljFE+}SY4#R(87}vApjbrrcSbs=zFz{Dnl7ZN!G8E4$Re_Gq&CZ1hvOmRYn7O^_`1NJc0MkTVx0 zS|GPXFrs}fQjqXjcG%v~PkK*~+1Wq#Js6(WzzJl966rU|StX%`OxZDxPkKwtk#K+x zF+pa#U|ES?NpgfM<-`_*dMz`cDm6af*`=_y-62au_mJOUz z$0e4rdEgz|!C;T>BRrb+Lp+L)kjj{><7y7~T*pdEB|s#__|gIaOihxF9KTL(B}`&_ z_MfPW-~{DFc10{PUz5aSjzNheZl#LW%BUI=@LKXs3&88Z-TY@y`Of^O4Hkbz7tL}B zzig=R@`RbmLUPNm^?c?FwqhBx1VAf~@mM^jsEb)vQcyUjt%MFgPcZd;7RXVbTv}V8#g8`@1m<`}tX>{dtQq<&%_Y^ITq$`$F4N$W58r zqAQWvB5QhvdSQ9tAnXtu&a$dB!j_?ATsi*WJTbXgpYPFMG2gUK{9#|ks4)n$_CJYepUYOG05IVZJ!Vqe* z%GXf8l3d|tZGme|Ia8pbTj11To?$>>j4F_DGtvaLNXHuZgNJs%+8kSP*oXCjriZePzSUu^jzt!X0}tWsHg!9<<0v4=bY4LO+q0gcISvawN;^jt z(QsUeQTisL(h+kHQld6!7mSga$G<5TN(!X6gaZtF$cyp4JWtCAk_B|;(QX`g>nM}+ zssu{F#EKP+yN``k12R97QOJ-PCXB-~f1tgllGoHz@8Py=vnA_0pXLB9*d_ngPue1U z4I-xdIF7MB1fA(LauPb4H3~90sm4)v>~Ul689ZTi4s=OkrEvpe(<_(4_JlTb*lCU( z+G(3Ax@%%2k8Mem05jZ!@sTO_TfTb$w}c?j>V%-;PCuG+s$vOrK|XgTnJG+V(Lj&% ziD0m;j3HW&tz|kkk)YxRh90pyk_W__)PJ;&m29#~LNnW7vqeqWFDl)KEr2ZsRGy@3 z*dR3^l?+WhX1rCkAjV>{USS#`3a{7^=i$+kFr-DXzES2YfZdq&9KuM>W%H!J8X($| zAIax^07A`;mgUlQ87ck%10(>@#CQ6CI2YiO{jZ&rSyT#Of&~5QOLC0ixNq7f0hPpr zXtGDIBSIEH+=HJo zgwywIC;g^93v0$BYd0)VGKd7l157|TTP#Y!+?N0x97t-v)n&B3ilEUm<|kV<15O--;| znC9jvqGgHv$~EvM^qJQgT#YmG>1P=5hW@m}K@MEPvhXkR>IqKI+u5eWi6Lq7C>%12 zZHQU~w%;4x6)2|3hP7lO&levi`Y%l8f;FF;9;Oq5e*5)GX!$cU`@nTlrou6Nn)MLR zZE1h&q>*GsVHu(64`!PVXr0@cai?SGa%?6nw#e;9UFam#UPY`4hhG_Q;+2L3l*$XU zx!AT~TB#KbCaji3AS<>%ndB@&rCVhiO*d^%t&N4*<`(QL923kumha-XpO?^?7AkcH zFic7rTk%m;=U)Y}nYBFaX{x0BGW6@eHIXLhrL;Lv)U>MdUVO}ok5)?4;)Yok@#O&6 zhSGLejyb()H9{%{rxhzIaI-=Sy2X2Ib>6OeF#aO2CVMu`Zake+briIk88(aC_ql87;*crwWZBACF)zK7UR$U1nVpebqP zOk3^K_fRRvp1%{S)CzO?B>kJt^CSR7pX66UJ?mPzfxargORMN3K$sqp7`iQB%lO#r z7;=U&OE>ha=L@PTf}jBwq=-mRw~Qs^&w9j3A@Yqzb&4SrX2@V^t^#Mx!Pd)3Z=9{F zfSr03-ju9mF2`54auw_jUMgwl;h~MmR#SwXkctigQNHAfLyxpb=dCD$D#5bV2jk>9 z9-S7^i<`vLQAMIA^oA5sC6lEfJ?y86*%Sd&l0e7x+l1C->4`N8)Z7(r?hmanr)t% zus%sZN*_2p|EcSWO-2O;#wV^&(x?~e&k>dA2XZs!xYv9XcCrhE!Z=$3jj!i8!79C< z{d(FuZ{8ri>a+Y2+F8l?9A0J1AZ0nhcKFPBM7pHi%-h-#{kx;P?ME1i!vVFuQPoPs zu;K~%7`|GlE0DJjkACdqXRgJ!3Q+^PEPtvIq-vUjwIxmqQL40)O$rH|SJ-o>6Se|R zCUI19p?OQ|V7S9{$D9%q@zc}4ILieNU#DF#&ERwRg0aP=w(Mj}SHJ#w9Jlz9PVF_x zEBpv;Yj}hZl5XcSRIoAM9A~+>D##^pCHouV$iAqR{hwNWCx`WHX^E|aCsolo5j$&B z0Hr{nEn0&zXv0cC(g3Q*oc1!2Rr3RQ-nsS6uHaRHk7=EhOfzKqsSh5X4N^+mYFwZl zZBd;yUR#_|`X1W)?}`m(CR+7pd_soI1o=VdBY{-}t@sHX(f%~Cmyo!zTIwXXO|t0- zIbo)SRh~qK7J)NcLrVlPv`}7V{M-P?=Z^4o5-7YC7ko|zZBs_D zl35YM+%o}9=hBAHlX{JEav(IsN#V-5v)m?lkDP5NXU4Lj7-CAsY2#OHA4+B7XFP$` z94OC%lg|WLxT>S+v&WI~DcX_2%Mc?=GjHi##`B$MhY{t9u=`A+qV!3D%cy>^91s@p zynmn*89k4@*zqg*vwk^1A#@u?3;m>=3tvJnagS{xR*kYjH?+dIhUB>o%BR~0 zQe|T`!E071FWP*C?nw75D775PImQ3O3*Zp_(6#KXoTP5(51z9g$XSPd%5x5`{CYBd zFZpG_Nasj>jp88LH;^E<$aNEb=*xJPa~xZziBek=0FggKmM{iCuO>t%9U|Lrk*pOV zQ4c$3a%u1IS?y>Q!2wbQrx~-^&F1~eJvcFT8dR>X`U$B-bg}p6N-)w(5eCn!V;uJM z3@=ZqZ1ll#gLa32feH=>`<0xJ1cCIjTrjL6A($XMa{Ou)Aw2LZPp$qCIJH6*qI$*4 zjl`q}tC`!fi^N1unQ-2M)--X_@j^l(a^@*2;kxFzd>?;9RSw!usqu+M{Mbpi-O_5B z#w!3Z?i3D32!o%>Vz>8bZGV^P>Gfuby!9;sHg7B*P~R->Y_d1N z;EiQ2%Unam2YoLw3OathK!&c(q`M8icO7x7c<#J5ydm>F6{rj5}U zYs$Br${DAkDM-utFn&hK9$@4BwbT#MBRLliM7V#kAJq>@3fo54e3nr`wj9tfL1O&% zW&|ZDO7AVVq@JsIwnKQ1)4l6#c!TVo%%b#~CbFo9U zU?E>6)=MS^Hb)GSxf!}*t5Z5FQihz?Ge9*f!m;Ts%^nv!?-Fdun(LFB~t&&T*YhsoX@|>)D`-)XC7Svav z3gD>zJq`)n95ujt6medKj$kxU^lb+j0 zLubJ{#Pe%gaeSM@SYL>H>*jQ~i!X-2=37hmn&rJr$oohfcFlG4pXEnxK>SuE1BEV&N zB#pY&-cjB^I;338sCuG`Rl*QUYn9QMwjhi4@g1|P#WjLgxwK%!aZSMxWy0g!7}N9z z>6gH9d|_Bv&f%HXv8-VYcKgr}H#6w6icuR)u9a-0_;5WBMzm(y=JE9J$wLX9G|;r+ z(V7u(pXuRk>EG9BO~N<37O@l@CZ3HTdE6l_U8CK3Or=}{Dt^AGI7|UZ#Jp zTF5}>r$jpw3m?fiCYg!FBQM2Tw!^lKAz=%D`c1TcGj7x8U~I^>fz5-DP6fZr?!_1L zC^AGj#q*#IM@c6Q*sqnL@Ss5xk5Je$`CCT0516u!pE#AE+m?@GjOFRq>3l_J@SX3i zaYa6iQ)Ga;$HvqZe?|8EIW|I;R^L;sjcYuoSr*C1;69r7fYe4h>^KmQme$Gd%`4gQ2YmG3Xs^%#_g6nW|VsyEI-2p z;FUM@ljHv!uf=MDi5-UxXQg5yYiB3+w z3Tbpeod07m#X*<3)M}Dt!_Knk#BDAqXRx3(Lt!@s{kaBt!1d_2Mc>3(O&rt`&xA9E zJ2r~g$L3hii2WpG)G?2WGLJ81i$s~7H})g`anYLJS$wLR!ZH8{$~jBPSjmNv4Q08Mu+#^!-)8f$<^$qne7ddQw|hMrDkH zObrWm80U7L$Mk^T8B45k3+Kgu&Z(b%Qpk`Zn7 z0ghc)tY7L?;E&W5WN-w(92%=h+!e6upZ6o6C(sT?aUaD*?kVVrDU4H_Dk1S&J(uiT zj)qN0h~t107)&-o2^h-|+cAOG2XCY>;^C~Q!+Xs^Jga2F3EGa>hv;i6Dlqmq*a!|V zJSQWGm1MLI9OGPoTcVVDUSdqe5Wo8O`Y753i5+s#g7@6hz79??0LQ_MtWXh8YukX; zWOj+zJZZNQ;CZqw3a%h1k{+cr)Mk>#p{Z7%>wAo=w~3=S#@kCI7vc|qu+AX>fxK9M zgHBdR)fupaZNr=-SyO-(KSOlqSp|VgZh9E@**8FwUBIgxDJP~YJZEDPuySRCTLwxy z;=Zw^OU+moY9!M|%XZqWE@V$kf$@bn$~wrtXkL~O`4)*3uR$NnO@KYdlm4D^Zvn^x z0GXAsLS8pkoCD^tWl2nM1X#4m{AW8t49Ohvp0W#@0^4UFa6k%M+j;4?IngiS0`KSr zqe^teWGLrWV5Wvvq^H`D`-{FkZi#{9jyf^uh{BUL>i|B8t!6Ya5cV5y zQOStFi~gDRr3Q%xB&)&^ZN-135dCdW;O=~FC;twljzN+-(ahdIGw?y`*ThgMKt2AO zoc>Hs8Dyl8ox&+DTBf$hE%jN!Q>dR5x>oVS$Vpiu6lp&(6Wf!Li;MXzVJvzGNW?KT zdVF)xNC&F8qcLpsF?}}~TL~;M^ehrW-_D1_*8lFAO2h&xR1|Do2rHnBv zk%16I^7Dj&z?h^Yf0snEvth6t3~AOFo)s;kE=g)T-OMz*J!!OW@Yu;4B8R4le+1vZxcL#E+O*>OgobSGkg8)$}BzT&4GT*pAyO%M|Rk z(uStd4h6zwZ@DLJIUp-B#3M2 z$b6iztsz7JbaRy!llDmlImRvHp7pUNQ|L=@GS6~fY~eJC70+m*`*V!c4S6tUw_9{u z9@VBCl|wSF$5G;>7#Z+ffXujF#Us(kge>!8N6e1i2oT{A3P=5`!Rh`Ay+kjZ8avPY z>(nZN%33Lb<^vBo>fdP^ zjR3{rg>xe48M>!WxC(UOF-~ECGJVLj*zDv1=Urh18^i6WDm$;>O}&9IGjVj6zE!OEn8A)Ax0UkHhcxTMf)Kc&7q1Z<);m? zNoKMl_mU^(x$lY0GUNdcmgQj=Ohe(MMie9__*2l5HxeXx5pO`FW!<(cip8@Gb-Ld`%cgmUC|NR zJQ}I0&YI5=(O2S=B6bLtXf_-U>I+d)?K`{a5ToP@jm=TI$ z%k_o>3oQ43pqjwjT_m=|Zo}NqhQQLI-eSK^tBqm~*bUBcy*XO@*c_R4TT`X(B1$JUO!8idP3}kpg3s4Pcnh=AFg|{l?ZxBR$4; z7h)q37Zwmc$sC$gLRa&&FqLd=RM+)yvc@d`Mlxe#sd1s2!q=3vEtEIBU0Y+0LXs4l z$3Lxoxo#b%pR1%=tdtH*q_WqwPR56ODsRWLx)S^cjb>7mawa5L6q4u&{M%&d}D8)?sNI5RWa4-`{>R*Zr*W5Wdop`nM`GN4Rt2*+z- zkVe(`+2%Z~0K;o|#w_+gG6LV@dUKTfPX>*>eBQ-;Ie7v285`nS-PlQi>T z!aUw~F)Qs(OiUl4F?3~YMP&flLU(Bs+79NSXOf{3E^(+LMtourCgTZ!UlY|tR=}b>qG^PmMtc5U;#ajctoJv zA~n!8j}qt-BV!y{w*mK&>lQ%BTCg-95X>-R>wagRvqSSO@S?AjSXSV^mA@Av2c>dm zj&*eCp9dM;h+IypT6z@zMkg{Wl3eRcu#O&lmy8M5I^4yR=E%B64=^_47X2nqtiPpR z;R&Gb_oMCX#l~2j6(^pY82mfNC439ycIq~4iYK#y*^ILvv^;X3Y$u{h)FYQ51N$aTUOU2Zvq>2RTU^dgzbpVFJQc@lpTE(atIbuQ1bYtk`y+m}~iP(=i{xAxiUX zeB$h46rSWGBKj?bVHf}st=6&?-Qi|nDzVln$qKA0IE<6bfXic<^md%9;N;UZ7MV#j z9GL+@!x0^7s`1Z3M4UODwl96u3Y@eKglSlypx5vrqo{GhzR72 znL~uu&=1`emIl=wi{LoC;~ay25s8Sdf3@yha)J*U8^^$vtN!Ep8-K~1U{9wKCXu*s zQ|1fIk<8B9FKTZlq$GN1;Bz3K{zPCg%zo%lf07-^$UHvDgW{aQ2SUZ`7;S(11V-(9 zip^GtR0hORS2?$005DYm03ZNKL_t*D5eE#U&%s)z65$SD?6UTI30e409OOqTc`7G5 zCQd8V1a^q9nK{C;lB&UGK30;!hlz3ef_&l@JMol}^ub^#e3l%~8Y%hBHa5v0572`+ zKtxT&ydpnLqU?q^g$MfmKIBwZF=+zXVbVoRyxdGm5}Z*WcqM`;JK~@I%jgKZYpvJD9j$*Slv#JAHW7eXUtTMTy1C-juy#Z$MfE@_WGCRD0qE_tBj7&YEP zRMQh>#CFQ}r36|gK>;IIcDY&{*%SA)LaU0YAx~hKm6!C>D8fzko1{2^sSy#m17$=Ps0#=`=HgOFZI7p$9`!YmsJy^v~YoyAiQ$HC|FFa=AHvH4WC zO*3%Wu!uW&YJY_C7-5Lg&?c4*%3wuvrcKHnv5|e^ zcxeA(y95gXnI=nlJ)SG7>DU)x=wXZJ0VvHj8g>J!sovJ{!XEPW%3k-=H+aY`&ofsB%XA!-7A1KoT% zIVl8jNQqjHLj~r|v)~xD?I1ZLya-;jg1jGyQg}d*6);{H`kAW%h_cjOszPGaI4gUt zHR)#_s~*z*c#tcxkz`zm6NYl^aC#Gfj8vfG~Ly*mDw(GGIhLTV};RX~9OiJW?GZw-WEapf3Tv=n| zF^^XkMGqCd7-um@n3xqKVc=(?*u`I+9_|KAOq_mrXZ^VffFmDUXiuA=3#}v@SXi3w zvJf-a!EG8-@w*z>{E`zRE=}VqPs`((CZo9(F{YR*=FXV%Z|eb_0U1i^v1Km&&oG8{ zwXn~N5bE$wBT z)qMuzTPN`o?<2cg#zff|ROBU$c9sm^z=c*|y32JD0m=TQ|IIh0AO z!wz^lQA#{Sius}BnN$!`>llZa0KvAh=#-o!;AJ;#On6XStrL<7_hsDj`aRte2U090 zTcT4WApu+DUOWkJN5G~&G!E;4M<;GM@ex~vD-OO$H7Z=NYVL&jMsn8l7g`*ww1deL z$UAxI8_Rgax`bzT`!JLk9JXZ)=w=yfK0<&PXb^8FP~zV4wQ&Srf)uM(+W;a|7%Ofu zpV*pZk9v(my<7pLm_7#s;zm#44q({JlS5kkIHZ%R&XU z_VJRiWm{yV@!@zJY||x-d?c+98zy@vv{ar`&}Imv4D z7JXxYvTYe*5~i`$WC#97?7`O#+{QU%D$7q*DwF7}>M{wmow2`;7cR`7iar{boxKI@ zQ;($SQ?Qq8p%-@TY7LziV(i9%9L>j)gPf>eiwnJ7 z*!ullh>q$~bn)KMPOCh)R93+1ps8H)Dg7CVmC#FDY*)WD2G`(=6#FEPdHY5V*+)OJ8IlP}Ons+rEYsF{>Ux%eJaCE}=b-=6k5t@o z?~cq%HarLh#THMrsAY!UazzoNa)jT_$;ia@$i=P^;LznRUB&VUZ_%bPAqJ#~jH1RSsNOg#g5^YaBj(v?cSu@Y1 zKa)+|n0yHn+7&(;itQ0sRXgrHZCvtHP+?N=q+O+!cRdZ zf97>e3QOj^chTlWyivOh&Z$;j0pK@yraQg$3MJeNT09Y=LzY?Q?Es+FW9FnejKh%3 zp-XiFvT=e2W!)jcTa_MSodlS;PfqroZtcVF#M@5k;2@W&6E2NWVW#ev3QBgUwSG@M z%SUZ{`Bc=w>ZM8m(J#EkVOB*@Os%(WKLJ-9JUPnZQmrx$kD{DC1=>*S*x$*X`BjQE z3&5+Y_3R`^mdZ0xTU^yAd3ewRGk>y5s1_x;a7?p@lb4L5 z$%!LdCd>jMi-hOVwdYXFqs+7Brz-FF7VZMBl8Q#L6fUFi!FE}I5U&pxl@7u!O5GZWW+!0ej^{R^kBqc+z)Nli|Ky zU2ZPcKlYOe&tX;_Syf*{4Kko z`IbpV3Zv(0+APtcR}d>{Xk!y2%RiAY#A|p{1tZ%SzQ^CQy^Sq*`!Mz0j{jWWJkf60 zKfXUJ--a6X%z{=q(pezh7kKgEM zx~HBq-lWH$r}^JrTfrXI1>%BpGF>&k+Tvlk-N?>P!7oKB@?$n`;9#EQS41Xq&%Xhl zZ{Ysn+4vh0d~apm(qe?fb{-A#G`@*RdBXA^`~g6f-L#IhNxJsAv-9h!9Tp)yKs*TbTE8SkXFlHj?BqQ%!Pl%X~z) z)9qJ~gN9J0p?BKjK&~8ym{mtr7{p;#z=~dz)WK=TLfPf}gc)9mwr3Rf3d|x(@|Zk%w|Y8L(~Mt+Nq~pJ|fI zAZOIvHs7NQ7)u|QgSIg)eXn3ripPR_tlU~wI1CF)xg*#n0C}LCONUrm3SMG>Sa~Gv z7_*Wp;0=RpX98HE5nDiq5QJdGSSgKBCz0{nS@!r-H^FJ$h?Y}nJ}9_wP|bdYPWHj? zCyllxkq*lJEU%QX^dJ$TwyC+`UTV(oZD))vM+0YA5BDGN0x~IGp{`knhR2zZX6Qp-_zJUzxbPzw~0I^HL`QPH3Zn#>vCU6DD)4c)U1+}`b`CK3hw zYzhDH^^mx(q<;=RWl~H+OnrgOG7-@4Iig=Zraz3|FuAyl`(=wXe!V>e^l7x(x@FQf z<^##2QV5th(NL6JG|3`a_y~^eg7#&EB_se<^pth9iZ{}5sxWb+-?|8#5wGEUik+;2 zl47QFAX(SuDOhwU>9g~|{u@a$c5eSd|Kf6b0^@S$2{1^pnZ+B1P~{OlC?mmpqg`w- z+?$x52k9^oOFc{Oh`IWWXDbpI?OL$ZPwt;1$Pi${?Vt%L7~6ht1pzYy`}by21vLpI z*apBhvuD(6#`pNyPru)eIBBfc2nMH;uED@~F`n?sC~tT-rSaB?{2l&bY!*K93K)fE z&}D(CVT8F7>SEwV;Ou+ybqp`@@N-+7f$C>+nr!z5&(lsYrPH4_O)E34aa|%?lZ@Eu z8e_zmb%L{J3XgvlOv`w!W?TNk&xD?6AmrK3UD0KIiOiOATV89t>B}-m zwrwb0EY=uLWxO$-7$fsL<>s83L6_xD%IcUav_(cHec7-pkf*d^c_T(v-jaXwr4nz^ zL+iy>T?I{8%F9p5D%wGRGhh4}_ma$6Zp}|wZ^{tOW|}SonP-ewoSx7hr=mIz%xDrec=m3=reiSYWsj*s9 zjt)gpu9uh;eUoxWv#I+&5Lc`2c_o?pqRRQr8F+>w$fiJ$+eJV9Z^$o_W^|gA-IA=- zcpR{R2b3*2faEmVMDkeJwg9U3F+HoN-> zK4jl2=)?C29%h`~pn?jrwd|SZCbWSwIxswZS2}!=_4i7++8-lFc?czBI6bmBw-DrzNJtS~OZRvK(!rd-Nx z%MZPZOsq9xJri39eP#uhTVo;xx+ex$JtrkKPQxvZF3OJUY?tU1xmUV9SLJ2SBsG?0 zQ6?DzeM$Ohgt=+Rw$4hy{Z6KuHZDu{%SZHYkM19i*W_s9rK$B#2I~j?$ty4 z_I`WcZa%W(h#fE9f8gNHQMZEBY)ESu=~ISNhTVj)GoxIhG39IG|tmv6XwFXLe>b*()Z7yTJl@qLf@q zGzKqY3H|tO;u5Wdj8fESFxv4frN~JCk*?h1-{Hm9K!%3Uw3ap-Kt3Y@*H3s%jj-ms zuUO5pK>d0JoTe$O%e1^{fRbrh@%8F2!29>`CdT+ednF)hfa)V{X9)7bOni*j)IOD| z2B$BGKeW_Ihk|y-x!=PjxM|`}U^gtvmH`>kNl}MtP5jHOl&49LAL6eF2=EgxXQ(FY zYQ80ybpPp!htfHKp(hgjCIT}n@%J>GR8FvS^E3A($fYcqKOh19vTirBHI0K}p((D+ z$Hr=*^>mIFBfn@ywXOr;!VK5Vf2yFz!At4i*J*p)Myex%dqjw21gBZ1XIA?<+6weZ z{$-ZrEt6hF2h!gFTR^10Rz1Zu2ZHL*fH;QT|B zWT&L{ct8Om?qP61)1kmFt1B`)5kU2zAs53fu3kN~(#D4^}b5K8?@8C=rox%Q?#G(`NZ!Ifj6uyfOseS)~&c z<)**^i! z0bvr^rr?`TmEg$r)K7SekGh`YaOgni&a?#|l3WQn);c2X>;EW|{5 zm{nn6McTsZnx}>$>S5s-ecnubP@b4f5iihor4Edx z);H`D(%C0t#Bmcqx#{EI(XZ#U{&E{I9<0tWArd?l0F_#he^Ka2lEy?qXJVv>bEsk< zpT!%}-h~>KEs+^I|NPE|Zd#=dzce(BrQX;fuJr#zXKaS|9_eo@wSpVTrp!AT1fpE# zuNEw=D$k|OcGySR#H-0*t8%aLjBXM4Dc}XoP7sAQvVser@li>Fv6PV@6(kRQ5T1EW zZ{7$(4RbY*9w^3YoHBEWaO{TL4p9!EPa`=X+W>5$tF{U37taMFI|xxwLzL|e9R1t$(1oB3~LiFt%v;Y~UXTYxmt@AMxY4*{q9og%1MMToR#}Qkhb!%Hoj8kc^VUL% zzvmP;&T*AGjd_{4TTe6x!d8fCVnhQdDq~e+E5o2*hANwES))Wn_Id|L^mdM+uJ$Uf zUTujNui-~$TT9l_rR2-{Ogm+v1|Cdw8%MIl7J`c;paL|?W<{cc5aeKtAM&Wm%J?+W za^M)*k8Km3XfvBPG+qj-zmz|bS9{COK|V3JLI!#M#!LR`oBQvhUXIxQ>%FTdP%~@7 z)qo@=7xKf*s>-QrvWbNN$9MvcAGbiV#Ac(!I$(l!FuMOu>lw+&c*qG^k9p;p!ekoF zfDKK_*JZffpLnC67(sHx*C(e&T=GvmK%NR=Pb-rgZprvl_fv*94Pbo0CElKCuW_&u zLk?ch^2h25BhrrNJwa^H2X@$a<~nHzMst6@UZ>;(TVrf8iv2TvH4B6;YNvkqok6S# zGJ@$b2m4fo;C^OQ{oBS(<&lvK!BR3V8)I4VXFHsdxyYG~eF6;LnmvP48~b#*Jj;wH zY-8u{)CQ^iieSax#y9lk?*PfK`#)?ye4cn>*roVK3>N_8c7nb+(deaxW4nu)M+BD!(tWvYC-Ku&nkzCP_ zv7tZPks)U zGj;*iGJ{fFLa5!i!yafYSvJ|aJP%P`qbBJo*w18?{qLDtHO-n<^GK#Zq0%_u&H6^C zNZ<4Qz?QX$`y_G0OqVENn$q}isI1s4epYbjB~$JF6}uCZl=F{PY86f9%9qZ6z?MixEx-ZH9zQijA@IV-7Fz|@F+kYa-Z3H@PbF*c>!UzRZ%B$;ik z-J@ZxR`=%;)R7NzDENvsCzK!&DhkDQlucVKtnwJ3k{*Ls9`1@2Xv=k^|Za3h9X05V0ZHwIdi~ z-&R17Km@xQgWB+dc9bM)&xT461Y7o_u^}jE!y8@_qrsjn?FdKDrE2eTj`57~&UgJ) zxt!pCPVMje)|zY1_cGqwoO7+!QH{RyIzy6^oUi;XA{E7~E(7u!4nQW6e7dZmZ|Fh0))@$L$WFuU05q^Z<&)`ZQmS`^j4t&(=o)dBSfj)W z$owii#yDMeWm|Bkq&%mYLMWw_Y2!hY=UkR~sc(g~@ElWesM^Biq;hWuR}%L;EQ;eAm{Uc1^D_wFn zKFN>NAy|h|kZ~z`>pzA-YOd55L7n-n4k9(YuNMa>Dw#m%&$ySL_2d(J7{r^NBw*H4 zc8i4s_wUoyUwBNu;eJx1O%4<{-<=P#b*J0$<@LY?YA37lNO0HPQnL%m$1u}9H0-ZfgdzJY!>;A89449CaeJP6pi_JLv1T>Vy# zRdRl}{ho|4*2123y5!*#8Y{O|*p`AnKpLzDCrx}dY_@B$A6Pi6PiSB6uJ~-<>L9k{ zfU^BU81l!$PBZkZk_=Ci5k)S=_e?H^yy>sw72^xD6>a^?Wca7kZZmac5XsS3C%?*X z9QhUE=0SW0cjJ$u4=20D!BqpIOH#09(u6q)h66@cVX+l5=dM2S@G5AY0F~7@2YLr^ zaKdUy-`%<~001BWNkli75wXd)mh@W)N2z;n`e4s!1)tJ5LMiCo>E$=tqBy?M99 zt>j?4NrjptpLf`Tb9 z)M0We)9LiWvIz9mlL`#?n?&0?MgpCtdpIixyn=|1h#ag%M#u-IZk*n_>#-5R1u?*jy*x0#PBz{v2 z?2l(h#6}Z~ny43wm0URUXgC2e8*tk$uvdn?{aU;0MExrTmK~*ES4`K&rtMzE zA@*+^TI|B%@g35`icw(E1jWvRyUR#yia6IW#V0;vwoi-2>k@-|(S>~NrBBYxGfYY| zHj1xg&^|2C<*ap_;>Wu-je1|xw1W|3u352`T+O@s!hhWfi+r!2@wIA04b(|UyJ72& zVyw@LpaP3Z)xQJI^?4@EydnGI;^F~*X7#=8<4Yt!_r}ov?sbp&5nruygw26ef>&e{ zJNGWon=23-8E|e}F=n9Ia9Yagyfr`%3)~NGy%V&zB&q>1E_iC* z0I0Dq#15E>r_y*dc8>7NIMb|+p(VUh_yk*%jbW$;?B zAAkArAO26@{q8RW;^*9_=Q#jhuIB(Cp>(ndt%Hj}h?P-XNi!+~m|9V!(&K9C=F9Q5 zm~Y}7r*skA`>_DPo|Kq}suYi?slV$)oI|3p3)u&tsWU0WQ|f+ws#A|B7bVR@HgY=^71Qwa0VQUUaa5f({gy# zhvgM|k|f@Yw#SQy$WNfP(Kk4q^RwDoe1$j5KZch>7QjQ)>zY;oySObZdwt~==P!5bo9Vix10Pkyxk)m?hdy__{!#L zi^Zfb4L@7Y)mM*gIanmOcq5W7dm2ELoZ>dWB~LAzO=Q?S#-}thB;$6$b`AGev7@0i zwDh-mwjrGVWX!=--%pc?Q<`bK=*X3rE+e2MSBdQf7H*o^WCawdHur+9T$FB_$lq*$ zqHF8QL@;yj2WJIKH`rnMK||awiQmj{C&?QZ=uGSIV&5clYH>y4g6ZK?KFX@Q8oJ0y z(!h*;WMGjHJb{JmSQOWfq;2>p9H81k%Kzt`;5Qjc_hbF0Amr*k$ba)EN``(zy1jM9~b7D1&Pe`piZcGKD#Y3^tLbD!%RkP!BgSVb11!sI0sHVSH#eiaqUK8|_ zlQU8DIsr>isin=+h2;;sN;qq@I1R-5K`z!WkzZdQ*f{v>=vHE%$5x050uWhBvNeTfZia za(8n4na^6E=!c?2vI)K|({t=p44R`KdrwhR*N{+sw#9poMp-k@ofHfP?Ti?wx7pmnGm}^d zD}N&9{O3F}baf|4T1=sSe$O=AtcYUOP7NfF*p7XicW%g^>s%&Ag^L*(40%%0w`4K# zi)!)Nz2Ce%w@C7&TQJz&5zT+;M-SY@*YfNM;gNwude9PCRM*0Vd~N7pk}~Lx-Hbo9 z4PvuRKO^|y?_8TV<|GKfyDtesmM-CkiP7qiB6>zl}%2>=^Bx6pWR;kdg_5D-ti ztEmpd`G$U)A&z@u2`Ko;5Q;A`&-ygp3*Z=O+h(VDyPe6E_}A_-scjJ7mhVW8d{@m= zI1i>I9{dwUJd^LAodZ8$n%}>C5udcvdSQyEP=JBEW+a|a$UGyav>IT-fd-Gnom-%# zf>@W|oet6K_)z4-GY*6W{mKrj?y9#~+iT=$dg9N#+t3$&=eK?D!w>zlmzQsi>ArmO z@y{M@{AseOBsm5IKyTpitZNIBuDoaEXsGYlzP>-yZLau=8 ztzOBaW7Z=&!qq!onU-G53Wwhqaihd2rb>;s*>s|FR%xpG=wsu+S>)iCc)?0M3lk@JTs2s|d`|22xLsp=! z9p5%{4|kw3HBIrO<0h3p@4tc5JS*2urc=LSqbt3_N8nmzl9c9y7&8&&{W?fd-#lNfyDxPMaIEl zNVy4ctYcgQNnYJ8DoCPPe~lF+luPTn?-qaW^?b=eBsgy}c$hyD%pDgbE3LZXvKWFS z-PELtp$6^bhWbgdjd?B$3(dOTJ4u+>!c1eEr{gBBOeA6ZJ&$;ju=)~s_WjsuU%W>i zzD|j$WD;0AR83I|R_V9ifNkVc5Lqkgo1)a*2TyDlpQ*Pb(y>v)61;dflUYWPNRVO| znwgeFsrs2tvG%w~c=Z||*G5xR!d4i(d+k8xr_wlwBM^<-aO8!`2rBtRToFS~Rn?x)4KSx5@) z-E{KLB106SIaiev1312B5UX9OuEqo3^>zHLALhC7iNsG z9OH;;Gfwqf95G3xG$S<1)EwvO^OJM_vopp!@A!-2g8}3ro#a|e=<>C9bXk+JpNWT( zd9cfP$k}}7xG^HJWv3Q?u*i`7is3nosx0dWSeLk)ywcl~a-2K*`WwIa-7kJJ!$i-Y ze)^*?AHMi`4>rkpDFFzqwAFYk-HZhFA%gZJy9^O3=>zX0l`d`NX9LLyD#sl}daX{* zBem(Tbhqp76YaZVO+cMd1YQ!lYUZF^gof8C>?E5Okzqqgqahz$RJ0^%=hFC`@yKBWF078gkecJMwF? zunc^!!nPoa_|Vx?%@i9euuayPcFRacc2%(T(^oV4{Vox%UBuO~CqnkXm5F*>*-9~x znexV3is>3A4sTXhD;JA>EVxs(tl*ZRcSdW?IjWa#|o?jz^2WfSGtMZywZ@teXOk{PSX)re8@ZBkNIX}g+|2oHhYU%R`T zBq0(^J4RRdDKH7r=VE_Op|O*5`gS5}I@tc{*XW!ttZ2n2Hi?msF)t}F#u15Jf;qf4 zk-ggly}8{9NctotA(``Kq@`$@ewY-AuAHn~?OL8`s}#=(oJ1CU!Iuux@2v7ADdjc` zbwJYAO;hxt6%5IZ$r+H=Vk+E#VatTgraWq^)^E(Lw?i;uZild1q`#Ez#f|H-9B(1fA zQQg9Wk2VDr1(R|F&&~<)X{bHLr4>{pytGR@kW&EM3=@N+i(n@ zY2k3lc$T*zqxciqCB{2`CLTtV=8M}=#v2c&Ep3e@n?LO|0VkDwd@laMGu)?KYHUti z@E8aqYP@uNQZKhJxZma;+eJhx2A+7r$ItDEu}yp&b}u5j>9fxnu`llIvE^a#x-ZFT zc0XBITj%a%@mZ@?mKEwZeNdA>qSOW3t{+N)oa-pPZj zl?Qfo-&XH`EZ+B=L4#2X!jXUR(0(hY%Hb!XU-h2P>~{KL|1ee3wD?T=c(cRQKbQ=qs{ zUPekOR!{%EN4TN13F1!dFe&kMH>}<#z&H4zzugZ({cf$#av-kO0WvyszyvQOMr?8Q zTL9L!RoNd;>t!rI3qbDTT;V626Dpl#mF7Dp35e5;xa>ZlhxcvPVl zX-pzyy5kW8r-ogyr+8!BD^JNpJm|G&!g-2rac-Q^0q&Z@5qEl57r`Y|I@CBOk;LnO zB_4k{lP_%%TKeFwDR}B%qiYv?(u3&8x!EBySrWzHZ_F{74 zpNiI)vM#@6a6J@QHl1!~=7VwI$piDCf#S>pxGt%#V*4RuAy_$|w%;jiVncSX^`{iB z-O}&m*Ca-+Y>_c~EGv~9V-E&@Fv!Z_N4`4V`r9*-^6v4N3C<&*A>TKR1kB3EQ1J?Z+K z^V@ji?;2|APk4q(d|~w0!qQa22C}qCU`NpuS5{^F=p`b2ig$7_lY?TAZ&Yn2Zuq2K za9Gbj)s82$w>^&UeKc>@wp~Ix5A=Ci9a(IG=BAGqi=Gof%M;ciu*2X61Z;< zHGo=>`3-(iI&_2{)7-XENY8hB^mJZNmkzJM=&!43>Q4$8#}x!`M>dYps6r)HZi>M6 z?N}R2Rl6j#SJvUFG*-PW(7sl{>!ACLOp+W{zfBfLR!IOZ4ap|Vz^;&xIaZ`BqQ((E zE%QxSf2W@*k~UMtmHL&w(!a;4{?7NknrwOMSh4r2ZRog3SM^%H+<6>pWIz1$A&;mo zpyK;O6g{AJ8vvW1%7r9qs)pJU#+ET&jb|2f-rwiFbAUb=o_y3Y(SMDk42eA3&yw%( zmUfR1U&N8xOzp{uK#q$oZ}PK0SoZtc*G$o&K4P;aW@K8X zOXOnAyez#}Z6+=K69PC`MNRG=U23Va3FIREypPo?`kqd!6e5P+qLhC8Z&{jNlYg}MrJJ>W)-uE zw~3S3vdUG}c$g+r_z+h6}j@j>p-y1R#i;iE#toGW(q}jl6KX1-9Q0BVtmFi9w53p=yv#V-RHDxq$NwX z7oS@ZtkO&-#1G7~K*XC}L$-CBezv9yPhN|yFBo~yJ{;b{sd8P#fm^w7YaEKL88cW0 z+nKAo$i6PoqK$2hJef@FtGcXrw+}#01?y`@7opXM;O!CL60?lAJWaG%L~rR=n7F~% z{6C*Hfl|4o6D@3(H;t7UCWM-0v$ALFEtr^VQ&-z)z~f(8Uk~ zU99x#5}>9aV(%ite zCU!={NuN8BkwQ%|H9JKb#~Wvxd-%Bnp7iTqVzITEXcCcF7U#P)WIxR{)KQ7?$AEzQ zL-MH4eHNqCGBh?`j^Q0Py8B&FGYJ11FiLTdnWzFx-k$JKy>97fA!E^X0d^{LYtezxhX}>F=Aue~c}}Pf@d!ScMxt4M$7CWxVF$ zQ*rd2lC7RCC z5cwnlxjT__-XGT)APUhNS(t?K9K!tZ+E~htj*l`Hk2PL^X&Knq{9dX!T>&DrPjM2l zmYf)C2u%N>x5K&(#$wt#&9_w*HfwN+is>&6Z4@0iV~niSe~czh+KoMSEf>INnj2+y zR?RY4Pr`I}>96uPKaodO8a<{8%0yW7(;$b-h(U+W=?gNJ*AC6gF7gCc=n>!Y%+dEa z4SVW(=C6@c#@J9$`~LQlm-OD($1GVJdja?qGNIeJ30=-qrQ*nYU>|H*54|p*rXT!q zUv>EC4vE+}Xbpab?&U*@ul=TsMg`Aymxc5{mj)A_FbtiwIkO#^76Wb`EEkU>pB5Kt zGlB(kqvVX&)hvrdcBZj#CJqkib5fD9Zwim+hPOK-J-%${e#(3LX2~R>%SsEK%dQ*{ z@E-&$Ry_SJvECw%e`^s_ld$WK?PG=%g6(aRXq#S=f_T++s-Y&B-0LoPL@UE`6sY+U*|WEsYx=Dq?&x=`o_moq=SJ@Jg^#foBJvkdbvLS zqk+C>Ea?>A3r)NJl3#z2M&b zTmtT`NFv2WeSbJVP8ze$TaVJQTt{Gr{4(IH+h@uV(!qcA{?_6m8$H{bIpdEB1B$rF z0BEL266s1@W3Mhs)wBuJ!EN8etzLu6$xEX%Cb;lt{$73@b4m5QmTkQ7CKkD`YQb`< zPhP&ZA-ew2&m=hX-M3vBxD#GFnd5oTNs#qJlX7Yr4`BY$+cjYUJ+Fwgtdk6SwJGA1 z?bo(+sazytUFgSPt~|yp^&L=}{}^iRhMf!evRgo*I;&d8yYnn@%UHCIP%M)!5!%Gz z6cV-#VT5a{qE-40w!K@&@{Ihe(=g6NS92J6#U*C^f>`ZzZHr@*21DHQe?00r&&Gn< zUSAR0q6!2|!PqX~7(Y{%b8ccl^tq<2@r7z{e1Su5HKU*fK=o-k?@1+*ecF04tNAHB zL&Ku5HriJr+I|U8eWOEDIec;AQl!o*dSo)eE2-SdTX{$#(wThE%*S|6TkT}=n?LM^ zz(C^;+zN{qGwKWVHRcOq1*B#u|4qtX&wEH}qRhu@&qA!@859=+^Lc!5=RdC-LRkN&2Sw=5m2w zBnEwQuKa=XpPmt*(n1raBtXfgj$9hjfF+&OA8O@4t^wcX8G7jfe#u>=Ut&pp5qfQZ zxkbobhi8p(oB@;8YWqcWEnWHCzkm0Q&;RIu{NFGCJ!**6^p`$Ae)AX3(Z5mxqb`XG zLY70EHl`BdOiG;Xw5=AGUqwkqP&JI4TC{crH-?t|ZlSat$w2MZuhJcnBNWqNi@j{9 zv3E6uP#c;4(Oao|g8c&H`d&<|}|7{8WD$FV~M@M9&+0yD#H8bhM3SlHe3r%wq;{8{xM! z8h}IAV0*H!8btZ7!Is|!Lg~Kv5e<=P4J)b!o7d<)_U3PlFm$y+3)?!K9@jVyPWmU$ zQz%YuCJm3a+c0Y#-NT%&Z3&C9&osF-1~+BF{4JTM58q=w_Sj#;axf5Cxr|dv*au)j~N$S1# z6l1*4mq6?7*yb6X@~|9{)u{%#O7Kh3Rg(osKs3R6wPQ6>-KJDaFq~Cw$eMnw@r;eQ znh3D6sdwZm__B?fzR4Su)FV?g6r7FEDfXA2s=qVw*EhJ&@I#iw^Gf#ie&Mq(9Abl) zFZ#at!%?RI|R(Z^1-u2-x* z#%|9wzDIwV+Bl_iuq!5GYKC5?4g?UFeklNW>ULMDpaXdm4s%`2p)@CEBbxZnrINAq zb52jeH_rSW>;c;&|MTQ9hvDL;PR@y@iY_CTel&5*=mN1$ZKk%tQQOgVj)f zbFI3E9*Xnq9KhuHYceZ2M@B80o8*Qq67vGXHdJ3A8W^ws!>gg^7&kTAcrPF4Iz&oq zY#Sxjji&~~*3lqN$Je1h7d0WS?+35SNU?%*jbe4hpC!-5)uv4rDcC27fRJkc)B!f> z>)iK>Bi<>HYLKSr?|f&nmST)o_r;^S`DtKfRzMlgem8}<4w_A3mw#KUf}%54g-@O{Ca7I>6tFmpV`b-`GTt_#W9=eW~e6Z56nK zL38b!pXXh2OcXeVFthk)KB;~8Tw%44K6P>UQyk79{^ zt#~RD0t^ro7zAInNRKCc;m@%(y6{Bj`7UTMp{|Jd(aSdvpM4rx{nm_BKvul5Uv9gT z_yLR{gP!D1>$3u4`PtNfLDTXb!LoU*SCLQ3?hm(QaKY(}`xpQ7_dfj9Es3v6=iSTi zIh6gQqlDib_TyxidHJg-jRUm74EnG26`5m>q9+_8=@?`b)#RzGgiWBQt*+IIUd9Iz zao}SG^xI^@1#^+s@y9(N<$(VRhU-Jzl2>Hl(`!8UAM3DAVs#Nd><2~l^gf0RA4&T} zPz?KuZpo@cc?RmVGXf*e8e*sQhOBFNGi^;IW(=l}(W^g0my5XG!=1L^jY8jvkG&+< zRdla)|B!LU82&>0mW`W4K6CAoe+L@_4;FI2;a7DUq6fR7)lNR=inp28ua2e9wp-Up z2p&KDhpkcEYZ%1|qf?!X{OW0L*t(w4MP>TmSV!8>RlFtm3}|XM)#+YM^0m`R>~hIB z_U#s}ftm$*%oLB#di7n$a{ZXs!cvEN=v;gSYaXZij^G}XgSDSk1eY%lQ=2PpB;M%F zV=jA2ep8Z=W9GqXGjt+1as82Zw8U2}0%cDDbk+)cv><3Y;)(G)xe_sZUCv*Oi6 zk1xUONhdBBDWYxn!Bwzh@8DJX-fv5x!vqX+#N~-se2IIu*f?JgvlEd{Ab9JYn0YomD><2W;vD8QE%Vo=!L32HOH6eAo9~@a6t*mKDg&p6c zdOlIb)f_#N#^33c3J099vnM;ktXlZjaY>w~&?i~9_c?GDxY^*emi_cQ;^CWR~xptO} zlB`%Ur;p_uWJitHkl9hgvaN}Ay6#udS*?$I>EAbA8B!t-RxD4xo z9`1JY`dam&0?Th9G48>qSBGPJlina=itXWn)n1-(evyNl$&LzLW?5Xqm=KFo)Gbs; z?|KS8b{bnYxLD0x;lz6KyXzy9>w);jE}Hs@@KgMvo=C*O#8|p-r$MOQNwqi9)*7Y* zLB_I+&WzzkUa;-hSafy=3-_W}-Zu{uRnoUXIFljZ+Gj?KadG?>*1}MqpHl8}q5I?N z6pD@^XPom&;=UfvxC&N@H)f*-AAiK0Z6Azk#t^xBjYcA&_pOHIs^;^U>f291_Uu@q9j#;%a&o7`5WBSa3)&HUkvX z)GgJo*-aab@7oYGu#WX%c?DD|1(OoG10wf0tJNhtF~S*Kktn%(32XF)|hn0AB z_}6`JIiGU_EjcFHNB(LXmQfGp%Xr%2VxM2~tNw@f*lT4umG`LtZ)0mUN*lXfIiuF5l&uJ73pO>m>MUJYetjrklS$iYcUMG`8sLG|>UYs% zQA;<$p{YVo{_9euwZQDd-n;v~PtqdsfT!Kry_r0s*^BAX`H{Jd#0^r>bi zah=HvuLw(q3GY@rzr{FfKv{QGqH-!P>)04ZP9Q}|2iu@~W&8CO!HMXCQ(pIF__kOQ zc(j_XWL%;JkFy;$BUwH(`6>z|-$3L1Vl#-w)1*h*N?e(7=-V>v!fQTV$yD-?f{9la z#tyXoTm?}~z?=s=P1B7R($8g^4Q-pZm=LlTsvsHbG}R-L4|N3Nw`G56i!D!lL}k>%G4i%=FI|zZZ5zsN z0t=l@PI)Uv97vU~7P8wL+&rpR8f6QTt%mboiVoX0VuF#aeTZF3A_bsEepd5}7RCL-?}KyS4q;)@ zLl?d5FJk8!Uh?q+6!BMxIzH<(bHVC@-N6PN25J;`@w8O62fhSbc&lB8w;=~S+HZ~T zv1Qu-sF<3k#s}B46T~*65$^35UpXp+`xR7e%q5i?T@oF!R>~8T6{)j`EvD(k;1&fswT!aI910hl# zVcNJ2UaXbox&%qLrZCo6<0hWi z7pmW}AJlpM1FBV@o>pEy#FlOyAaln-;cKTe!Ja3e?bBsv@f(rVOpIDrI;hFTPBJmR zEZp|`L0_Q z_1B!E+xZy}EX;$5t7653SINFCn7l&YPqGri_>JN;dwCUC&tRmb5 z8J1_p_gERk$h1{mG)|&oDO0rT&vYl*HGp=P1!=~c^rmC3@dC^#{Of$`N|4v5V5f_P}DfKYui|MX<1~#ZR>M%)$7+7O?nS9`0 zuK0qnOXN%*ys^Rf4O#?|1QoMEf(E~_RR?R)qvHwK^}9+Q6jFRMuHcXYCUi`4sg%LV zDt&f!Z#GOOG1D+cs$qrv{aPyp#KJb2##IG8@H*CfXU2*Ig0I)b&dNlS-SjQKz3h%& z{dz3XV_ujTnAa3Jq1N#heNh=IVJv!5hBy%) z!@Rm$v9}LXYOd(^wlgJ=lsD|Y1QWBWB@s`Jtc38&zrGR`Wd$Pk+2oehkoaA*nWEl! zhz%unu?mQMc)~u#o4XXd<~I{DNRU1pyTL-kB6o^eV7a40$s+njZ^eEwe6gTAqA3JZ zypzE#92Q4=nECqDGXc?g&xx?UxMbb8PL)Rxt#}8qYh`fBEaGn z4Se+#P_P@|6`L?n9|hU0y=Nk1aMki0>37?G$F$v#hgFpZps;LQHCUYp6=kObS35MY_jLkG6y0A+9G{jyO$F$izR{pWA8Vx-yWa_?p^R z)E!%jNksl4g`GR5-s6)?;Et<%;wd|DQmoA+jpA@?BBqn?+jJ1E|C%Sw0RYkUDkc;# znC^0mHD8M~2Dy&*&{FaEwxowHA_qDJ|FgR*SiV7KWIRQ)g|+roC4aa(}QW~d@#Nx@qRrMyh+IWIckZ+wFIpFfZg(ITz7fj!z!ocrC12rV;y|F9f z{bDzrWmZS7nq51eoa=tz^z-g~b~Bh<5|^^0lv~W$Sy#Iq^GdynJc|6gFfp}pa;r+b zyOnJBa~%lecAhu?;s-x`{^S4lyDz`8kOr<^ADG{teDV`#=KJsT0T~`V30;tyrt5eq zzh3MHGF!gd-Y^LT$B^c!OX0i`e=PhCHQr+!QjI>`beBLAB|EchcWb}H_M)X;DP}|W zalX?YV}gd|aK^gg%I3TtCL|KAF>P&jf7sMN&j(rTsM(@jBq?^?^}w&$3xgy z+$Lb&NzxSS?YlA?a?30HQvaP}t2Rem<54qC<@&1O$TZenmSS8Dloyk_K>wv5GQ$Lh z^ZhZw6Wvs2>#~Z#bXtT_c6qUr(e*k>;y!zFD*uRaU{abrUS!||zPm``*^2w=r|r0p*sG#%R%pu)*RnM`^4Soqj@_*1D^JPSSuQl#aTY4I z&&u%YJ_i{&8U0sIBO}R9vQA`!U1V7fCuhR`F2i z$0nS-k6&B`i%qfjUXo0>t!-fIhk{9JU={lEIQma2s>{6E1t`hV-Keu1OfCaH5upyP%~5^HZR!J&2s27(Wy zO{czdpz^K@B|&PT1B5SR*^!{$JuxyYEZcDhV5{3{c_l9bkp?<1iH_huRr@@tTSXH^MMO8gEgt0@PAv3l zF1Fgq4_mwJ$;ytex1u$KG;- z8f)U8f+gG1-L@%QE#opIm2 z`m5iyYA_*>b7F>zP|J{jijRf8pA^b&K%qu|HgNVwmJ^k zw9eSn;vaLK$@8!pT-RTT7jFoO4O-TY!+;2Xvc7v4VsxTzB`dmzHk%kY)^0yPT<{#^ zR)%$Bl^`f+Io8pMp-N5aaNJ-;>TXF4)y=Kb4Os6A}!nVv9w{ z2`;+3&`gGYe~KRU8Z0*c96R}mU;4kF|Gl=~pEb9yJNNO+ySG1gB=E-w>~Xepg~_Yb zK){-{CZa(AQ9!Q0`o2eFNjm6EyRPI`QliM)Tce&D0xtXZOZIT-Pr$5Gxf(9LqUU&> zKA_ABtflB&(QAf-j3wrYzOgoUyV|0OrJ7xVgqHz+n}s&>JV?3y>UfQ`r1TQ;;es`E zTi&5(-U&Ml)V}rELTYFWZ`JkV9--67`+JOT9GRSaWm?Cd+KOU4Z5u?~ zZ{@z^n51hWu0P3StXQ6c8;*t^J?Kw~(015BHgq-ZCy?)l6_))+Ar_oD z5w#>zGNowUMG8nrVrIW5oygzFM=H_C_0HNz-oR2dgR zfZIv36&gHDTp!Sdj)A)5<3cRkDU}cf69dZ#u#me67@gZoc1KrWaGx6ijwuzuyjeSX z^V5}$s~kfqxM{Z&2Ec064)x2W-gp7lb*}GDH+7Z?z{M0Je@Hn60125Vb96h!pdMSl zMRErPS^QC`l2o3Si7k^6WGuD2lTcB6Onv;84;LfIK>F@;h&_>2T0>Wb;`%+;^7^%` z@TcG~7Z!}<+LkwYh85W=vSJDdd2v6z6^ENwDw42e30dBJ@=(#P^GYP~UzJsgZ>Q2J z`td1P9iUu=gbSxzv|}Xyb9bE(ACey z6c4dQP^LPxH=j<$k@KO@1q_sSn|~)<@Cmn|^n{fCAT}0riQSL5;KDTP%@)aNG6o?y z#p2pcX*^nwk-hUcY=Xj)embE@v4KUX0lo^Hp_8^i7k$2lb<=aPMco^IBMWkwcee*i z*Du`ia*C@=AQ6MmzgtbLG^sHU{7;|pfGr$M$>+IECR5^9qM36X@53Z{5t@?A{*nIs zfJ=5_VHoymgHtfn=d6HX9nuA-UGrhb&5j2K{1=<_j)G8Pe>%5AB7QoJql|Cahv&AQ z=&x@xaSm_%NE8A~ZqqYrm?$NtByP88)^L_f{_Ou$CEp1$m+JDZria#zd!SCT>TR-D z(%~GB7U$3RbIk<%@OlWtj%uejSWJv{nXU;YJ&U9=f)=~W=D&%7_4%T(4*;A60N`x= zygNGhrtR~imoJW?o#*=ck4Hy@SF=feRv*!NNxJs}N=Y6+jy;1mNs5|lEFlvBmi~vA zfAC}9d;jBq`Q_z{s$zdumS1=7<>j}&{EqWlz<+uA`R$A)X#g|3NAGVa2r-=bvjOCM ztzn8#jB&vu02RUUFmck1*&(IGO89kh-?7w{rMV^#a;%Vy(5wq&LHM=<@)#M7ek8-~W%C-Rz4B`;}lJGY5g?Zr+~*qWPUC$1#N z#u;+}rmNZ@DcFjSQ9IG%$tViGd1#zr!RjVEaWqDt6S-J_XH2i+opvP0;N2lNw;7?Y zDA*qqg}wj3w6*}Ke0$lzAj~``Id=i0D>ps|>Vt9Y3e5MOa?-=|JI|)67O!q{{dt5o0?MATk{$KPB=lYK?KGUy84Zd!sJ% zLAaCgYO;eJxbDL;LU!XM%o;Kk_4tAmQrSm zeFyeFKKdO$9h}&S-^qpM4A?|sM08I58w`&xhZo0}0#CZ~t`Q8f69|sdraRya?Eoh9 z7kXWcaXf|o*&!BQ@5DB?qF1asHYlE`yFM1lK8V0fN!v*d#>DSdO7IO_h+#;mDatu2 zwU}p}AT~6%-MU1&*YV1p@AzA4lD%V2O*H{HlTk7+QPt4y;G>DVye+_*`10i&=ikq4 zil7jj;cq`^XQc50?#hUfXL-eE1lxwE>+W-|X=NnCju;66nvTrA_2s*FfAE+8_y7IZ zfy!4tilJZa{CUjbyB~Y`{EMGH4Sv`X_Fo8%!z!q+SBa6e&@3Qlhd_Wd{dk(@fia(I z5N@&h*kO>O(GGoS-wKJ>@No=svV%5Oba@-}nWYYRj_dk6@dV2)T%8aA6hvVZhV>lt zNBWzLLrQBp7BL#Jp>H%0ewy*sh@144r*VK8e0WVkmGNVi%Q`fWy#&YlXIjL|Ix#y7 zzDD2b;K6sUvp!Poy07!!?2rJsHv%PDu5+10=o$h^SafaD*GC(!$^ZZ$07*naRQ0x; zt>1+^wXL2?huek*_a&Uj=?o+3FLe97u<5kU&JC=GKC3fh_ILwKuC6SmMdb{-oN zKjp=<&LjX%ikt|=4Vt{_WhX8wYEQD`J2;qe_6DIOEWARm<_$fi$d==kUa`t+yz~@v zw>Sscx^|1;20zG1^44*j5Ga||xg-YTzZEpWiSIe~2&avc9b|f4z)kRsn6!bjQXUvu zm89r;yRKl#iZZK^b%uRtUMDv!AA|&iEOYslxXH-9@uVvvPDxv=h#v8IhtXNE+c;EQ z8)i4L@oOT-j*2Oig!@!tCWQmR9ZrpV>o9g?@~tE%Nb_Je!z(t|Ycz!9DXf^bg~`z) zPc9b@tYdG{bcSR4dhhqs#ex&l6=q1Uwv@9Y zg)QI0u=bkNqms79u41#5;dA2fj$d8Q^F}ORXayHZNE5$2LRQX9O5CrlDG9R_h;?Dt z)~6Hg_!l2wLW?3&{G8?~2q%}!n4lGGutFS;E63o%t<;x&nyu^nK6d9KZ>{!O-X75D z!Q1n|MThqKi1f=t21O%ffN8e6FHVgnn-t1!A9l5{ZhHX&ly*JFFvtnNf(GAsFZ%Ue zoh(_cTT4H$_qKHv$V?pFT@CS@rf>VXu1ZS|tn&MOeXj8p8ov(0AgIEheQqz&AuHa?Scz@A->j_Q+w;L zqQr(UokRrhLSbcprpyhvq?eU@_`3J!3wNh~;b7fBIW4f3#|9y>r_NX*ee)<=3Ic-Nc&;#57tawg1Rwe~5BTnQxz0354mz)UuhP!E zCpi23SbX}4>}ry3TP2P%!*}(uVA0~+heB5ir$znwIMMgIWhAuvyo{04#k3RMIECA7 zY$D_%cH!qV^j7dTR;^% z;Y~j3sO&BdWahJ>(@BjBZV3w6 z_CDVUg*p}fEI&i)?waUZ1*&7;+R)XWnc$5*4t?qdf5T)$kfVu$xReUhq&fi=J}7Q` zOw6N6HRAru@?NQc?X(Flm>fgL-DRNm^KN)!9YVaCGgyKa@i;|-lKOM4?)PlsIk}T$ zH5S}mBM-A2H&iR@O1(6$t*d$~MZ;CyBkHT{JP3NVn6Eq#6h*!#ZNyI=UxWs5%B-lh zI10vMQ)~~GaKyF&LQ!<^`$6~3r^u!Fz~-Qi47*lG3R_>LcG>ExL%roZ{vy_Ce;`B9 zrxD@;5Se=KfoY~-!7d_)@ZEy(zAXf69(|g73i{#!y1*v80b1asoy(=@)&5!I*Pp;K zm%}5gu^0|mJaV!8;`WDU?9A^v50<1*R;KCSp2$U0hKc>uFB`8p->vVoy`HZVup;vM z`;4jUG4V@7k5tx{mrVdZ`QWO=d`l%erW(Pp$I&dm?j^wnvTV*i&nQse;e$7KV3UNw zj2@ge0)aMcqJwcSbr>w8ZYM(W%F4m)vZG9{&=+=Oj7Jc?H{ZBOUgxGQGFOOacaw}r z=jHI_Tu)!A8+IB`8U+^3YV_aIs;MfNUiO~}y6yYwKY3Dq)TNKe0aoOHkK{s@OOli| zk>V|A-Ny*mwy8w~%7N^tlGvY*B6rHC zi7RTUXH+0^(_?#z9FpfCW*Z=?kw4SV!bkMfuhf=}Y?3KS>yYpm&kN?^U zUw?M2*;Z*Smg5i-g8+%QNE(Uf#2D5q$=M;qBAWPBBa&?2y*U(b7E;-H`)5t`YF8Q6`WiS#cA>w# z64`GT-HzJpHdgE`LwDt+b}q6ir^+_R%8!KRL+V4aTsm06{W0M~xIp|#)Xx5w1cT7s z{@rIQL0u+KlLyCH7MTDUI>PcAdlH}02*FQUt)9qXSY5n2Q_P9c!MUcBHx<>eFWpAp zje2Gyf^Q_--m*Gzb{P40BA^jl$Cc^#{ESgB2WJmFONP}?bd=TN!M^1x`pSs2wq+;c zCkEnVL#(`#VGG}F-wQ%FgOQHKSY}El*^cmr))s4_C9D~68{5^Lj@$MkXM4}!w}EFS zNtPb0AMp~Lc|}alGx+KRfiUxs+cu(C-)m133`zXPK~JF*J^NJqk9jQIlbGmyWmI5n z%(8v)@#JtPgA{7ShD?YyP>c@Kz$&hMImU=nHjT?fY@B!cZc$6->VvPNrX-49vCLEU zZ;u36;X{FLT#piV-#&0UYC#cvnkEJFV}E_TAS#g0H>F9i`$(>`&dE`CX zu{RR&I+)@b+3y_yJY86A!4waIW905s7&;_I%l0PnEoOYJ8H#$SO$-w!6`e zFn#FsYQBa-S1Ls8+eTiQ6dCT43X&O4XmcOZcUP}Od(|~Wp^M@Wv|=bm>$!#^GJLeH zRO~Gctm}ET*mzJft5u$(4M?`{Y5^DvU@bvh;SN)7AAkV0hhO}iL1(-+ z^>Hssy5)lxBJ>NnV^5wSkSfm+vQ20Qe#Kw?U|_}7*pu5G8vUxUlp&(olvcm#uat=X zrl`TWNB86rg}Z&%`QWw*1kY|OH~>T_idEWJUu@>)D|WfO_-FpWm}M#~Sr3X69m(kD zBE1sR0>szO%62W+egZk@!G5#jA~N!W?Zl18Yut()gG=`i$6zkvvv@dWy-NH$tcK?H z!}ZZ>s0o0~3BK3D+T~Sx9Sf~-XwjcX@D-k%D-RI?Hc`8RN8aob%P<(#H@ND3 zEp&L&KCgj9s__>IVwOhyLU+7i!@5pzjjn6Uovbz%fONEFj>M7z~;Zoh-FdJtc8j!=Y6&Fn@j|n$%_f!Mj(G@ zKFnMe2tm##=lo}f=y$@$1z$=kd=xS$zRM%rBcs?vjq?u~FQk239foLv@ zAsY*QR#1{d27+EIJ*2mIs01dN5N$zcls(Tsn0{A6?(5UPjUxj%qG~+oobI>y43N{# zh^=M;7=Mu;sFO9pKcCd9lFG=*MpZfFyV_P~0k>)V zir!1Fx_=F|Scr~aZ&y!Xx|lJKu4Ay!8 zyf;ZI7_FOOcxMt|&Vg;Iub612ViJ}GzsA~_R%un+9?a0i@+^mKykzX5qxc6a6&p!! z@zZO@b8?_dFB-l)Jravt*AHVOa-RMPg4cJ*F61GTaWc>q*jKg{g#R9|EUFh{Ay}zR z8(YD?z2#G7<3-1=BBOE0WhivD-QLYIJWXc0+`ze@g|)k$C=kCSdn#@>ju)M~7_$72 z?!5XFcFp%nux2(y$J76awM8x4RV9!n?G7nTDy@<`Md^@}6)(E%8{FCYNHDEmQm-T% z$h#P4RmFE&Y8Cz*_Pc-GM4jpy9xBvG>{YNPEGllNU=1Ih?bdbRm8b5LJkJIpov*%} z2rBVq>m`A-fKCc#+sG?bl;k$~b#_3?=T&gY&cQi+>$@Qa24|Afezm4cV83P@M`aty zYG0n}2CQzOfy>SI;UzblnJ<@LJmYHXuJuJD=s_phP)Ne+(@Y%A+Xb9#;=3#r(-ou1 zYSFY6Eqao)w;;er3lyH{&$u<~x_@wyakL_0c`C_+SH@$K!S6v&Qq>&|-H25ob~VP= z4bD@X$oxhZNzNu-lL; zeQ#O%O>rN6?&PmDvAUC_IPNs*1-Cj~zhI4z9vO~}XUMwSe{HMA!0p#I=f1%FBJDLTKdJZPY?CT^#Zu0#kPas%`wekK;$3ImkEnIa!%Rtgjwhh|iFITqd5U zgK1SXRN|j7lk?A-K(s+?>|j^4UeIHPB~fAvj%#mY%I(JLiLG1s=p&JV)$?GZg=dT1 zh!jJyi@=9XP9HK|JO{tU6P6AUEY=29re}Go;0p>n8MXX3hZ*0TB=iDi`z4+mP}{X< z%xhWegW5NesBiRxKjW*^xA~X>=sq(XrycR6yIkFKT&Gul^ZMm+JrjHJy^TUQ8r8D| z%SmA(o`_pK${u9D)gtx=ZH;FTf(SqrN#irQn>^u`|e;Evoe9Yn*8O)#@|Op)#Ipm-u6#6!sb-0VWQ*PfZ>t`zS2L zV)@h{DYj}2<<9{kbX!l7k3KQDiJD>YWqPp0CI4=@8{*tY_}uC<`3ZgX+yjR&*7nt5P20MR7cm@4XmoCJ zE0ZPb%!m@)a=zH#N$QNJFCw(K<}&N9yEd9-*H$)0P5;4#rzO*=-?Gu@GMQxb7fd{C zBC_lC?k4nGOiQTF*h+lA)Nb}Ql!b$t1nzcA53g*Ycp00?(8X<3GUV+q)t4XERNYE{ z#l@oaNyHswL2m44>~-NQ4xbg=U}SY~SPTz+kLR{U$tyC{XR|^dt1fo7+t3rYr%`9s zgW&J`VNN?l=9w)p@f18CNP#f*wR0OPC-_LNBX{okgEGKyPG3LUF^J*Hx8q_fU5t9 z+<3+Vm}z3m=UGQ~q5(WdrxHzdGno-PaKC}@ z*mnxp>aB%zi@KVz<>Gs8gUirQ@m>rd(Oa(S8g$=86uN=|C8y_npVuHhc}_*_CdsSE z%xV~JJvfjXm6%4B;CUX5oMhcJ+Uzx$TL6}@X-`YV9@vqB z)0nO6!DRjI4Rw{I(n&MnmQPbPNzbZpz~p=WOYshp~_ zbX?KQuB*u1nhwFP0i1Z(_B9@~d-ss>N%3NJt8arQS@r@Fo5MP>14dwn(nm$Gc;GHN z(8M!OSp6k^UH6IWTqj{w7)}yzLoqR64w-@AS*vDyH4IK}Ot_0BYGTZ^!B@I*Kir4U zC-x6e7*h=l#!&oc{O-l9rL%Tu5hu9S>-v{@xT_9! zQ7ZZeo7ur7nvR0dVVp&LwwqVC`jK2+I~vx$l`@K9S{8?_bm+5- z@gxZN;TEnKt1l1M(pz60Sl)<@WT@jSf}7Ve?gLIe2NXcmYZa)CXSSL!TAZTGPL4L; zfTwx3K(MFhZA1~q^Q83Fk?=2PgMTpXXDlYeVr{mI?y$iaif?F_Pp^K*Xt4;xGdi?@ zv4?qp?`iY;L4od5>9Es)n^Q?2%KDnFfAh4{s{_UJ*_3Fk`h4_^3kVS7^1AaTmiF_X ze*BG}`VZgw)_;mhf8CEF>DO&I4L*JOT`%w7{PV*QZwAnANC*XC6mE;$^h&0N~ z_Z6glI`!WzC^s4d<^e>gBtwhEPL$Z*k}+dA*Ok_|((l)uH^TK$v$^TJgMtnqhoX$r z@b50a>cm(D%{5!W+qj**diLY|msPSBG7i{IRWi25v6sp<)m&&A8r0;p+4qN!E~1mt z|H|pi1F16mjdzGqVo&^y=PXS+HkNQ@ReCF1j^!24iQ(tUZvvnF3w=Gvw8^0G2_h@$sia|G6qUmn-@kfW%kpenrutrU zO-^?EUf+t9($G`ws}l}GcP54&nPDabwjCO4k>&D9;XJY0>7+&G;5jRB!HGm{@prp;ytRGtjtOy!O6}O2Weg3 z$EEld1QiEKj$>0WlEhf_G%0cxSUi9=%r3sjOo+kC_~Oyx)@}shG{uOoXL|zIn9=PE zkQs%W_`#7@Mwmg%Sy_PY{qELWUBhI9p8|mR{O2OY`m4|=oVzWYTIHNi0&Pfym2O?E z37Y-d4U}=`hgj0i1NU`pqvA5v*|p-N(>f%{G9B7QV&3G7;6Ix>#@c+HWk^Em_AUZ- zjSh4|AW5w;2%c`TNvc2Quv~YfF3EUBezrBI03>mb44oJ!1s*5T9^#53$L?Z7lgNew z1MM=olN%#O_t=N@i@AqT<1;%&2#ljF+?s5y{s;SQAvvq!PLQ$dap|!MUi}r!x#tuB z*`eS9N^)H*a<)6Gog!xv_L8jetk5eTaCH7jOz%X!$@LS}<43Gz_1QwQMQ)$i4ifDC z<8wrf(-Lz6|BQFXZ!CC(d_xcUGJ0TR+OZ?^QNJrO`|&g>6w`nG6@DRqD_qcrW5R@;Y)*+SN9Fk%hx!5f`WMW_mg&>VFhktGj*TJH*imE@ zkwod&9(e|b4q-L$@Ne3R;weo=ID6ouOE7SgUQ9rW1Z9bmtLe3#+N`fT>H-CoQZ&QOb;FQEo#-5c<}Yj(=73CeR%WkM}Fno-~Lwv)8D|Ci|OA$<7x7Z zmp^ov_{lR7aCQPj83t9YIhk!haJRwQ>(EU=<C-^Q}Oh>F}(}YelcEC443C|s_*OkvE7Y22NQ!*od+I(^guJr;UX0UgMSiFu9!Q=+f3*exv^;w1uuN=bcv2 zg{Mui5LxE%b>!iH1Xw`@vpQZ}jLaK=g9WvjjAesp$+q-+{PwMC?R>8cm$7j?X5dk`SbgLwoLF)M~G1)q8dlYZRLFm}K2SP%LQj zfJCjnq=`|3qmHAJY`+`0q$F&D?O33MO8!IQ(r=8?_Zk}J$k6l;?$jKg(1c7|0$B}7 zf;RYitt+v1XZLxaR966@M+ujLd7mq5+6o0OPx#A(ME2>bO{oRl0Fnoiu`_~K#_D#9 z%8$h3-eXC7C$HI6F}HL$NuWUJJ)hQ8Fo&LQAscBsd0{aXnKfzYa|j-0W4U4=?%Vi5 z)rjCG>2{MomLgMQn^y`Pz0S_7rN&NhE1hkBk%=hGtflJpVmz2C1(U~$J2yS}nV~Z{ zpzUYXmIZ-7ko#VTv0c5#6z2V+=lBbPKKY?p}Ir zFmCdubz~FYE_-?Jw*ax=gRSQl7hlJf_#h_Xyy|K@Ws0u$aiN9f_c!BTzF{TBNDPXJ z7q!XMM!SgqxZgkejJ#dg=3aM@o8l*Vgi&n~1^DjsI>YW9v7U+>L;m!Xv5tFXs#m2GYg#o|-@&)(GIp6HvARN&5oks-8PK02FAK{PbdpK2G*<0kBNpTz z+)W&!{D*!c(|E1eDz@n0Eghd3El=aN3XgmzhK}dLkB!nyYwR$-(KfH~lK+8U(UzF! zA&E#={=zaGJ@^V8*ny4H=hZY>8nTS5Gnar1og}u5ycMs{Z9i{<-#eIm4TAsVT&cGP zbP>Z3p{-rJHnNAs7C-vv=ij{j_-B9V|9t14>dg1^7m~l9OVU=i1AOo8pE(r#@ws{; zsFi$)T>t{SJO7_JS1(LRq8?) z+8J{fC`pu7=a-J*upw1%e?4G>noB4aYeOIvl5)iUT(KhfLl_z172H`jZ}>Nn$q z=JS8H4fhpc*(Vd3My`9sa#kOfjJNz_U$Iu>X(zWq19Y2XT zxlVA}F>9*{WaNkoyB?oD?*pt#6v;YCZ)Og5MN~Zw(+ejd!07pMD4MpX>Ckg{thfqv`cQCqw1X5iSxM9ZmK z^`sC5q(?!M*Z~h>vSjVr^iwO~>GdWOInq4H@|!q9v0&aD>WBl}W7>kLi4s_|c;k2b z05;x>y*E{du27Fksw_!NeYZ%6hFYK+6VTYg&rd*)jP|PyF|8(n$eH`vp_OZL-hG6| zn4#}F3cmc{I^9N~1ZhHZ5;CS*lBC6!oGXF_%xd|w!KJQe>$mQ+B;m&<*p(418*9O^ z`W4;DUz#jZ9AQqyf#_GEC2VExgEsz;`-b~&ZHr&ynBEjgH5}V#Tz^(m_Y4XXV~EI}bOVeT0r5FTyI15iDF0yx_#pJhj+NTF;?|d0I7vP`vILXx)D6ra zj>ME|09ktgK%Q^~F7Cj{0y_(Sf*mK(vfs!Ua#c*7vPw^651*d+^4~Q~-=-7$spVR7 z+C}1_bT6(3K9eQ6C2Yi5`9-gOa3EY^kJg{$4HoM~ER*a~8HSr`#%7TllL@&|!M0Dj zs($sP`Q9odRjClr5Vg;->@_ZSgFk=$&{x?f_rhBZqYnC`MvDCGtH2k9Omynw6gE6K zFwgHO#%w<^VzsgDs%?5pOl&*>6Oo$u4v#fy6Oq2dy8FVGL?C|Mu*UM@eS)jiW_)4t z8v2O5oF`}Ev6C80$LfX^=J@2~M>7$dfa(e0Q^4{-JyEW_63W;MCXxdLBzv)hh$45% zIFsfIYdE=Hjm<#TVzuY2u&U9B! zeT?5Gbeij7fzD@SQRmvXp5WAI@O0Yz{kQKv``0NDu z@Mp|_|HSKFbslBaN$Y&Lj-Zzou0|p=-Vb3&8+!cNRi~pIZh}7va@z|rM%KM{Rt%dF z@BV7U8U{ggF$!enNm@~`xu+5dDEj+XOH94ue&P)Mc_YeYt9;iBj&&>=rZ|r*9@&ce z4XvKJ4i9z+A;hX^5RN!&=%w!=?@C~l5_vA?U{6)U)YoBT$xPN(8OHMVWJ9y+E{T-P z7O$iGrvpG#!I$x;^BKnxuVZe-V77OkaOBhMey{M_OQiqGQ{&9brz6YKSE$#!7(yoO zdb(m^%;Fk0FMHNC!EK6Fix%k?S&G0hn5gwel+d+7 zP6iia=s2;HJ;1e$=*v}5u)l13x@guItkec;V-5^k_Q6Hp*irl#9<>886utZ5o9FlA zwTw92DcW2)5;(66CgP537@Z`uq3~Fte)Nn$ljBFn^#%1q!K?Z*d&tIAg$`62o(g|w zNA;B@w|0>**@sGY_W^!h-6t7WU>7U8 z$?ZG=$CC~ks=lXeJ0m)?v^oK*XlHeX&y>mTwZ*?Iv%LDIXCUEHv(awu|xbO?IxV>-H!# zNz$SDls1RXL8xG_V!~V7!7>ZL0LR^L-|K$Ze&3BU=nrD%c7ii*cZE11R{r2*w+R_w zVH3$M2>KeR9rEoqf=hD|!|jfeS+EMzq?!qNkxh42^c9l#e0>V~SFYm~Fvo^q&MR-{ zcM6O|t+<2~KThK1yHh||J}q*hr^#DnOWF#o$rt3lCjz#A@s@JOtl%>RLGp3lf^mE& zcbJHPBh!QHH=5Y07bQ~$zfND(Ui@tAOte8SoHEk-x=&n$4FjuooQ~edCnU*l+yp=# zw-X-fgWE3j7eDT?uCMOHzOW0mNgky(fPT_Fp7Vgt>PKc(*1Cir#^YL}(0r1^da}Zk z5QHgsB(B{QLMN+2Mrd?m5VbG=ZqN2=R?nVp0(k$mSM)8qZ+LF#> zozq|J2R~Y3L}Q+gpaP}7K}{CciVpmA?IpLuOkS*W>hAQ7+OdAz1bq1X`KP`uY_eL9 zt&e}lcvB!pkJ*vxer0}!FxSy}{G9sH&I75)v5+!*ZUqu$tucl^blp5(66YBzn`B+b zUYAZxS^WbT(W%K4U4sOOhe)tknTK}9<}UhP2 z(7D}A((yU{`ayxUkl9VM;<$5*;B8`A zpxxbgBFZH4_x{bBPk!dh?|kQH{_D%j|C*!U=a<{v_j%!?`Dbtb)XV2z{^XIs4o9Ev{OZ5Pfj}oo8AtSx zMdVT1#=$IEjKu|ME}}%kUFULZPsWJX$V$U6^5`)KDvAcueY{VAp8~A9Uwn7Ey8WBR zrE3R7UFRy}LTzMrgEL+<{5sRs?-VZRbcF9=w7yBT1a}57lE-y;E9;sXY~DelR$jI-jUMmA?jiIE{r5;^%xst;~VCp z<+~QXO>-`E)6HKJGyAQ{ngU-ry(SsqY1>L({{^9K8{SIj8F$>9x>)|DrI=Gs1-#bu z<~s?t!lgUVGfkQyT+!@cPr{wj#symgZ40;b>!gB&4ymjF9h;m@M5bA4yv2f7)SS?6 znIKc@h$LOUM%xu>2V#@(Iq>U}7N1MkYGpTlI?J`yrsb0HCq{LLke9BdYPR>fTyS!r z@6hi*4Q!JrZi9zF&PgC?O01AuJ3n>#N-3R>^MD;Aa$PPH?ZQ83?uKKJ;@7lUWB9lzXPwd}Bujpiw z$XE~!sBMapsS9lb_)<@>iAJsd1Y4w`lC@Uzz`y%H7r9IwY)EXkI2jWO{y|dX&%#P< zzT3#TO@dt;gWDjB;v|W2V}mpD+9|T&nGyzpuPljoH$ZI3Sa->dUQBeaL1x^~N|Dpu z7oH5WXe9?YwY>Az35w&G46KHO;0S;k<7_LYuTH?!FHQ_ud@$d^uEgem-I-MUTP@4) zlo)n@XlNDnk`sEYq*}LFUd(jii(-?IdHpkI*$LzFsitWcw2HDE_tcn&%Y;X1jLj8J zb}jLD58)XT@!zvDUX`IIwveMQ`=|H^PZ)I4B5JNXv8!ErZw~33E8_Y@IQA3!HIL}i zs6U_F!wok2B#232aD1tfPL5?|ffFmmrVYKGyfDUstq!Gj@$XHQ<2|J?$8kSq!?#w@ zS8Y}FyOghA%v($*C)D|K;hR3Erl_djw*Q0Fz%|&hwYsS0IWp`F;&~5tixwylT&M3=|07(3-Vgl z6$hA1Vq*^)i?n5?&jvUrfa)i5s7$jWVjAYb?j7r)#5kU%kIlihOkY;HrBN}N0155Y z&*E)tsADf0UbmkNb`cV1e`T${Nk(o`A6eNRzveFqvn((ZSi%}?ZA53Vka&piYZBujuYgDERuM~EUCiB30O5q zOn#ihC0L1FwlQ|)i+L&vB&U^AY^1*gXUd)w5Gh_s2uV^5U5il($N3yrOp-jws%TXa zeA;@YB88T3C(tpS8yV6kyrE;?#~E65-+Je*XXQ2hjl1v{5+zKUV)3ydNA%Z?m`8+L zH_s>6(MkFekI8SjpOI~_V6g>M^b}xtZ1;ykeK-*BR^xu^8N`)~%}%l{CSr0E8&6-X z*5ae>qWyqb{6z2VH*ZRg^2}N$9lA;fku4c1ytOMu_H*fuNLQh3sk)%PX&3l^JQG1< zsRfEo!lp4ZekADa&3#f zKBLdJefh;h#uS>y1+rua_%ml-*;QBA`z*#-e^I67AAD&{G={#b`^1ty)RXaeK%=pe zd-=OU-crIv{mF$wS;@Qe6ebs?@8Y%3)6fOHr2raJF9y6|5$K413Q1qnly0yZe(WRA zBTtl%UkUCs5W8+_dkCoomPZk08$T^5$th35tsQlTMg80OObD~T>H}TvO9Qy-QR)iV zCybB3j6KC3K}(J$mKgu`3B^POg3O$b9Bi-(AK1v_9hsbcYCh))2VGX6#BN#~k}pa3 zEzCuQCQ?o@Y&mv*cw z*JS4njMCn5GS(913i5S=~6t3Y``7Mtx->3d)(<5(h?X! z)c(sj)=IyhYmLSH4r`b8_HD~p);8`w1Jn$8=o9lA;y?7%Obxb*HZ+{`9%IvOOXJ$te7E1xo%nghLx!=~w$5v4BO41Dc|4}G9}VE8*~_C~4}Be| zZKfhwJa-$t4h^sExAKcV&6_h#=+l@Rb1YYJa6_g^T453PhR42~q5RCsd>UGR!G>9j z9%h22dRfP}>lRHWdEr8`tsY9xU^Z>LI_9>;=lUE)iloT=^)8DP4&X*I&ZkYMIC^!` zveU6Njsv`rC>71jY`3e(sf?N5U7Rm}(p!c$4z1q-=fzj`CmzdBX|&F^vO`PdO{T+k z%LIZM!wJjz@3E5K@oPKb!H1K48wzXO>eXW5`sYKJbVvz>^eCG`_5@8OY?{#)onl$R zuLV$`TwN6(QRd8mJGin%k-W9EQwU6QrXXwDNoeNX&V!L8l1aLgM#jbUo<}h3r&%){ z;4w)slW^B;l;C(t6?s|wW>Q^bbyKRdYPhvQ+x92FOH#?)V~$Uf6uovrMe5Lsy8EMG zWgeM{hbH}wL7_7#YC=U5R)cW-G^^RQl_W9IvKX8P{WQbXHa8 zI&4{IxtqDg78n-oy%l99g^Vi|k@`qcS-B-N0=?K^6Hu!tY40lC`0{SN4B>|a$hx>&U>KqI{cd7CZ2X84Ij{JdWWgbCp}?=aeZ_aKi|jcX-*(!JUm5LW_lo;S#bfoP z_=mD9*Fw|&47t_0Ad5(5m`2H_qqRZmGRI8O5&uS41|acNpJQwPueo#C)d2}1_TKHd zs_;G+$5vz{3p%t>8j(T+L6^24ATJOkIz-|H5FK8DHwY5#Jb>FYgGD2e3<@X>gpdL) zEC&bMhZ^G>W7hn45*m>m@gME;UskQEc^UIoRckE~D9n&+%%%(PxPlgT0l;tj;NCG- zEHMBhWk*+O46htPzoeQzfpJ5BQ&4<>4iOtW$)@(2z~SC7iDRcNsa5<>;NUJ&g4rCR zc1wKwAg4g^P!S?4_!W75(3+(!vMmE;IJ&&CJD(!o?9Q?uci;FS?Uy)jKX~){Yv28s zPd@p9nf?-9$o0#8y?%P@t?!(@?SFDa_{Yi6P@ZiGCxF(XDSMM>q6JtTk=oVBo0)`O z3$zZg9*b&-@v!XqK5(})MB#XVzC=e)m9Yb&5WD&^@%ba!xZ|8pN-ieQg^oU+tV4n2 zjK9X+bUWDz{dholDd-YhnM|ptRi6olP7Z=zTL*!4JmF-+L2ua_u;+(~_+|UhG6~`N z;2AvWH?pWWhCiK$gP82WS!5c-@XcFwG7d>}OI9Ij^Xayc@8Bg)q3tw8UEMqA0&fSSe4&xLn zmjyWM<(X~F?g{lLn%40IR30;#-)*P6O>iuFIul&GGiHNLV!=$#o zKC7>du_g29)xog3PSVxK!re%(K16fgo!l)vkGO&(@0bYzPvuAU?+@!m3aU^hwfy*y3RCLe5d6{{;;l0Y}qsN08vQ~@#PIyI7v ztsi8@j*G{{xj21SrSVzA!RO%{G(K+;lC)eEnEr zT$4XjJ+`lN4^?M{tg&a@y=~&ru3I$Z9%h!2+dKJ^{BDw6_;wp~6DZhE!Kztf;h{Ea ze1He0WpHK4IdC3#pyV)Vb9@-|wA2@lk3@an1oTOAPn=2$9Hgz#nB)wX%wVhtRoHnC zUH9(g8K?A(oYf83Xc1`H#1_M@`EwJC9qCPZn-FW+(ZCpDMUU^?Q=^k`!j&2#-*jdm zr3~>;uvoiMhs0EeGuh+tNFRH?DqJQKMr+l0^nn(x9F@KB?roJd&$Wo8taU+VAR=I;&} zfAgJB{^xst#YN*^+AFT>OY3iU^xo6kumAE~JG^m{xM$yB#K z8yOi_Z8L7)n|;D+Lw9Jcqb3u$e9bl-fv4l?L;U*iGabjHrH_s~;*Irr8a#A6 z8cfz6>x@FSJa6Q<`l{Y6#t`Gr=Rd8KW|*<%LSpp2&Y1#q>G%N`TYu4k*~GB!%5inv zHq}{W-5?g4jg!z(tF?vaH}AN}tMv4oIBtWXG92uwj{+VCI+Gsmdkb&%-yIZ{{bF^i zaj;r%3MvLWP3#iQgWKZ5QS-26C`TZ*`4D#pO*j-uILHH3nw1Ezl0 zP663T+>4Sp{Tp#|(z*Y30=WVms}1nT>iSGD6dc|e75sVI9{jsFRWernYrC-uRncXH z)2AV(L|GFR#|L!#u=A4cl9=QrNoyt%vnGWCQ$$_;idKZ@|26LUV|8nsyeV-(C^l!6 zNOmRV=??*!S`~%ICyI)$e$7%^LJy&^kC?*DFilaRii_|X;ePFfh5O9|%FVMKJs z2vUs9WhtS1<8wBB53Qja;3BWOp<&5NCVdHe-Nvl%y1c~?k(AuLYlRhg9?z#vMq^8_ zh)J^OO$3oeu$mA#_U5)=rFg{U$A~45h#$cQB>C8wB2r$Twx4I4H~3aJ~*)mX`?D4 zlRN5%8wHA77=v`JbOQz^LC^`-*Ol+{P5IGWIt9KXmTPmxZS-OMjeOv-oY*S?KHHM$ zwm&?->ALD%xdXOzszm4Xn4;)aCWfob>X%8f_&xuqvss13A6?nj->7|4=+U)kb-@gb zD855*3TYm1iV6(@&~m?@A9Jfx_r;3wbp>EMzVLLy&LuUO&EFXq+0}P64hm1caU4(~ z_Tqh_XKbc+;qws(6Jm>2Q@%mnP9krK(go?pPjV|{lsqA_KoZ2BmRC@B;}I+4y?iBd zi=P<=wEJSEQ>-<05(|5PDzJnKl1rrUCp=q0X~IrI=QN5tw!i4AIaPHT(enmZeNs`n z9AOhanRu`!73VbB96P|@rTH-odp-aF7fne-K~xYRfpK}sy^In1?h74`DUnJnH-<0h zL}IPX8n!;bF@3Dhh66(B1V*$-Jms>D&tAWL`rfPG{`@cg>EC|+8~tr=o_~H|_5W)4 zYae^}-ETep_b1;zy7~6u=nuwobv3KF!5e{$**BC?O=XU^@EyvfniQpOrVKB|yuI93 zJPvF;Vc^2|PpcOSB0nIFgRl;{a?SYJE<`A1^3A)&H3U z@^-jTJzb?AtSd-u|KnBCNBD3jDmc^5~m6^$qoN~bG5TD^~I^^qXX%8M@WY>KH4RiVx@b6uR2IpaQ80=S|L9 zOci!>gTRn{!yzsNfYl6Q$XL9YD>CrK2=Lqd_0N++yTCtRiyY}+m82=UmwB0u~b5Ss^p?(9rS|?7-+c(G?xAfrW zFdNJ9(9O-wq64Z4AEv&P+zy{7o;+M)pcZ0Wyt^&*)D>}GiOy;#7U@mB`@epce35hg z*(AM*eX|e5=FP3V9Dd8;U<{ep=DOZe`=UGaM{yba+WxRN^Q)iZOK$0V_2V+HKH4@z z!EN7Tf1tKZCcc&w+$X?p*tg8$m)Qx_6y92i-td`*hWHi#)|C}!eN1t}kCTpe^3N7B zaRK4mo7s27v#FEZrQizgQ%r*? z3Qq4O>8=)^7U5`8&|j8MP0bTG*!RI;f| z>_mspA87~RG{~98b6fT$%$i+~+ouYdM+p0J&p4l5XwPo2sWIFoHe~y|c>~yoH`3wL zhTC@F7iBNPO#DPdjHM?hPZ+=UzV%|imA*m`8y(y+{@Ogg{D%|KzW?HD?|lEqAAkI# z2OxjRU&_Om-0d&z?!BkiFaPXV=ARysej_0V!TBX2=3|#L=7$`|ljM~s5f^}gCOc^O zcxW5RuO#47*|BY{H@Z!dSo(B)MZjv?RxV)G>Trw`#@4FIIM4)>yJxnJu$hx+!ja;6 zR(~cZ?TJ*p3^2e;WX!SgjOil|1Nzh~W0|I7bme=Zd<@>rBjXx-`|zO%d}J7z_&n+7 zSd(V6`|9tbchRjs>0sevCX4jD8AVS`#!O4))`BK7=y3J$mJ6%ei8!IA6^l-YL8kzp z2)*$+a=2nf2l=b)=EoAU^f{Mggw}DO)qQx{r@BA!8+j)Y#zXbIV7Ogx@M3Hu_GKg9p?XtSG@UHtKuwdGrdj`|D(@Lfo%m9twcUY?yw9GDv$xM8a##w+dM@XfUjL8r^T{TiEK zqC+w;zJe#Ocf`BZLZYwlxDn`L(kV{C1@Jf_{Kok@bE3v4c3TVA z86^Fgpb>r9Woe3Hf7dq~mSEO#17A>z(Npizn=Q-gKmAO1k7-`%$@-x0M zSbz88z1ay3u>rseU`-2N^Ac0;bH(wchCuDk4kD}-9Z^_!!WF$$ zBWjx)+(m>nR!_o(Hd09BJL}w@Ol8Vuc4FAkLXV{zA1C7KA!{?yd@y2WqPt9&NS6_k z{f2#6VmG6jr(A>zevAutj@TA$H#gU>ttFsS7f?%D^&;+UPXyV zP+#SZY#Gb~SmZK#2#-T+^l1Hrw^4f+L-$FjP;~!C9faL$Zyk4QPN}$8;eY~9)<^v)5sH@ zhjvCMK@6(!kN!e(T3^+i$A=>7Ui(O|(MN{E&7uQf42_czCHyP+x!zHG_S!>{$7iwu z2nx5-GaZtApohDavVjx=M?DI%!5=gDI*q>6(&d3C19ZS?ggH_%|LR;ifC@p!xu+9B z-$`n>fVRLXmXOEX{aHgfi7LKNJKrTMtIpAzb9)Pujz#)dW%=STUNEYBTOf$?mtwv!p~(gT}g^sQCb8=U-1R* z9IUh6T6++Gq{14=Hqs~GJ!7K^WZx=(i&#gP3OC3x! zE2>DJmsjsYgQYYvvGHgKn!K);8%YyR-RpP6M{Ispi$_e|=>zWisJ6%D;@EeJ))s@g#7sW#!8(E2K`{VcpKM{eT*$FHrlkhj)jpQ3Sp7UnsgH=Ub zv6ia7)Dt{Tkb(|ZjKc!cOz`yn0a5&27cooWxpF@O^9|;(T6C04MVLpaoRIm8Gf9t3 z)DC}c8BYFSINnrb^jg_)j*-ws2A_}rLe}wtP8H*T>kpxF`A473E3zUl)`Yn5h!n>8 zB|fl=qQcGTv3Hw#eSUMMkYS(i#f1zQQy>wb5q>9er*uKYIhWjbO{ap9tY?lPVHhl;TG0)8i+u;nKmE=LYSsQ0N)uhcCZ) z^})GB>w}+s`soKlc2x0Izg6X5^*Fz(|KE9f`{@r)CiX{1GUxq`-hXcj8(WSg8)W4j zy+&5Ha6U^>&J^^UrJUD(K3-9oLq$prY&+6ww;eqcH34di$0(jb$6D7Qu^@vlG`bnC zcFxJ{@d(VTAIfe*sCm@NgWk`d@AjYZK%EB2@g+B}blIZvewum9SY%m4v?F{b8+|1< zaZLVLhDEEhF5^yN96`FT^VfSHRIX&8oM#=> z$u*EhccZfbc<9=6S1*-)ZR0ApcV>-euirIovpSiCu4FNpCbqN!mSK&n;CKSeqNM@I z*=Bec`D{B~U?g%szWUwG&KIwcr%COjZH$%ZtL=@GVAh8!6ZKVI&ikI6Dg_=-u$Ela zVeK|pt1#?)PT)vES~eXsGMwc-m)u0(Lr=h9{Bvxzc;@$@gKNr3lJ<+O%$fa*NhW-` z*(5lTNuQ1EL6RiCJX@l#uqIJ6EVI(rm=GG2<_*me zm7amkqr(nOzCtToUR$&#S)1Z@oNSAr3-;bjG1Di=zLzhlaEWbr5+LI$9C&>==GDoO z+R0o)OBD$im!oeo)Ee41%R0Jpa+wRW?Y2a2S1;X0Np=bs9S_LiCYKw`&M<7!T2GRA zceWH4^&@ga(r*e-pB22T4=3ob!B%LM3C^r9TfvvK-?m<1H%wDRE$cELE&_se;Ed~c zh(l%;|JjwIE%n5|WgVhRMTQSaZ;CS*La&)6Nj1R0uZkra5Q^+<^QbEq5!sm$x@91* zQuyPS>(>A}R@YIqNeSw|dLKmMyh9uSGS-h#2!2!60ekME&E$an4))rv> zn5%Imy>Zz_hzElR9+=W%6s!=3E)H%TAsipSA$y+Sgp=z|B#IynVoOf0pH;kb(51eT z@*wM?t9eXiSQ<51Cf!TOo(0X1k;yMXE@Q zNvVX-`b1R5ZiL8iY$C_{RDyf24I|k1Bk9hF+8H}S?l$&X+}sHvK9Q#+oV&OjKQ3&} znvr1$w*AgNbuj67@h1H6#DKVS;)PQK$(vlV84o6>fqShsUmHGquK@knxpDM}pPV!T zkwZdOUT-=;k!j?KcKKMh#m9KU!G5#Om41rpC>gMs#TdM363)(fJXVxdes&IJXPxsy zcxqvZKcQY=hgHQ$F>5~fY3#ioC~W#TYtA=+@ECz~<=e}COmTggcP?SKz5LFyQEb+G zcFvjqf)XJFnejvQ2mQ4^C2o3({S?|3uY1V^jPsi02$oy9i-v`Rz@zt}B7Wum3>IMH zD-C@^OuLClFca|>^YrzvpB(|8edB2RTW9y%H;**G zd9?EGxe)7}6S#giUi>FdZygbT{`B4v_4!K`K=ed8^BX@|1-1AXQJv;w2gO%&d%Qrj z7t68MTU0rk#v=t#F(Rxt9ol1^rn|_n#i_4N7iK$jxxfi8rLBV7n)9)h{N%d6+rPT3 z<=1tT-gGoSFBd`t4@u=G1{D``t-!*H*ljKFHnPS64!?W*dslpAJQ9c488SpShKRLA z$HRZ=$w|{e#5g+Fx#^=aTrlx?OovBrOHM7G;#{Wq+x;a;N+gR4i<#2WfS3TeG1-Ea z>?yQ}hV$2~$})&N_O1x?5geJfjO*2)=za$ebiyj{RyH|_gR{%*YGrty4&_q z0WaKDrz@b5y`*hoCKwWaA}hbC@A6(81OSr>M1QjrD6~&<7`kgK4FINV8)s=x|HaR) z-Yf4}C2QXcKgOwkUjfL6E2lb{$Z@a`UXwgHyzDH--KNh}d-tYt(UZxM3<-F*7=TW; zS=UDC&)m8I81I9r`2a@gn+7Qmw|@shsRmo=c4-&EwG~fn4Q21lGJs$9hT`a7$G=!zd zf@_wu672JfF)KA3iWrJbmzF623P;K=K}N~boqE6#SD)}kyo}96NZw(g1j@r`QYy0d z==9<y z6#QX=qHX(&05yID8j+<@P<4j>xi>%&8b3oX5kSV_@wab$-wE5jaTt3gaA%xVDU_V} z7ampE*e27?y$(8&2#}0^m?;l1!W#U8#Ry8$=OD4z0RDuk?HR{X9O= z92i_`UVbVwVp|^}+50Dq{e`qy-%-rZ<$VGmaT5j}FtTD4`4jd8&hW)7I>e484)x=S zy{!D(Jt6(^&Czx5uY)L|!D9C!;OGBwK74$9#K(u9AHR9=>Z3Dh_>W(_e*MwUfA+H< i{`BeTW1si`;Pt=xALAp{gDGeL0000-~Y~^{NnlTpMQCN`q`JK&wuRs>E$1K`uygPK0Uwu(a%qB ze)RnEc}9LS|2{vx%%}c6zkGap*5_RPq+2g~V(!1ZdwP1-^ZL_sbM0AeKJ)!a-`~vl z`Rabu=Ui47{6{~g!|9(fd2pW7J&nB&`}t@6X8bcIkMN&!O|4(%8Txr17(aiU_VfE` zzV9DEWqiS^djrRe4}gJ%zCO?Wx9W3-r_DT@F&RhS_4jt3`xKnK8TdiL^r!ZjZgG3y zeK*4mUi1to7|agN-Z1~-J0*l%NuF#xm ztH+_qbNYIE9@>9apQfj2XWYG+AD`8!_#^Wb{neI1-U#=`rEmwlp&_(oJOTA_`WZN( zk@0N&3=ZbPn@`hC_|DIpH~p~w2{wN|4{e~y;zOgTpEKVZ2JmTw@WIpcZyYVl35UVi zXD0PNG%Kxym+-D=Sr~&;%Y^QWuDOr=ShkoC&(1xI0dON5;(hL#w)=o^B>4${Ek1^S zzzO|lQo_G@qKv~c9V6_#G8vpm%4ZBi=5fW7bO}vOv)A|F59D2V*L?hG`U?l*Q{&<@ za7F&1!90h|q}xmn+zS`tGj$VwVhY0_lF#z9#;|^o{*lZ^@1WKUoB2z;qOnbD(H&mV z^a87%(>#E4aHjdcJb#!zO$*S;J<}C7MfSpy{mwJGZa(rD(wEXDXZ}2d>{$m(*GM-A zSCxJ9MD?TKn`a{Ll@Ieya2R>jq|hnQk4fL`!MMT+w*$9$8dfRIxM_WYp6D1Mm~`w* z^r&eNSyX@3KhWI#_gTC>pXfWrjeLYgP(<__UGj_`kFFaWL~NrgLssx#o;y?ZH`DkN zJglC>3%BggSWppIW54vNeqTiQ_sE3#QS{S|(O>iXt@wFm$o9tQk&J&a&whg}Fm`CM zdN}+ln1qi{9RnOoKU!YknJ9=C$%&pvIa+SOz5XPd^YLl^^EU9A@7&&85dA82!SK}y z^Evpg{gutD+5mRRL)i%4eebrRH*=f5KMsE0)#eWWyb*rH%fL1G(kFasefUP5R-Ygj zLyO>3{Na}044z|;%6luY2R7_9`pfjO-Id(D8(dmv^EdY+X^aPq={MYA_=J+Tg28Qo zGf04AYO4`)TL=-Kapu}rGxnFkxd$%)zj=B$&%r^!Vz|_U$G3jKJ$Sdukh^}?a?Z1F zWOt?W{hY3Sn6F<#U(*~~&iAk9nfC+phj~iW`!N6BBkRFA^O*ZHmoEpduS4JW(+kh4 z4M0sl`i_8@jt|c;&c|uvdGYLnol*PG^tnD)^ziy(#%AVPT9!JYW1e|GeFF>q38wt3 z?uXCKTMy6l`84&%t1;?lJlxYb!j58 z0;|vF-s<$wA6iweq|e1`ri~qo`G-vk4GXHnNaoW~rzwx-bNaJbF_8qK{ONYznziC<> zRJ_6)#a+L9Dsj}@Z=d11{*?~F-Oe$1E}cHkbE8|#C()(MMb8!S`Cj<-DSW~U;e+b5 zZF2K3hzoz#Mu-o>CrjUa;d=Z5_#?QAzB&98x|g4p2Ko}2nE1hjtNd4h$M+=4XER=K06J@cj8Zzwr6_<1dVL`?EFB41yCg zj>V_>lu*UsRFUCOh7s)q$xw&yW2Ei4nV1Ba5012*Z|>;>Md1Lh4(;J{!(wX}g$I$V z%+x`JR(*}Z!k~o#=Cg87`&E4X?lu-w{TsFR{AH30c?O58$&a~x8~qinDna-(RLU`SDu%W zHy`u-IzA_PXBuC40T)MEI!G}eNv7b_7(C<^x;U`+b&2rs6b9b`tZ>r=pbdj*CO$v1 zlt4ZFYdv!G3S-|!E{tz^^n5)>@kEnAnzzFTZoPI2B@bi?2LE-AfXq5VK^2%F@Sh+? zcOqM~i_GZLO8e+45=aD_8Y9kI?&FR}_MB|WtfDEJ+E?CDUW7@Ump=B>Hy#JTN1VWAiL04}BQ)pkoA> zX$F7Gk-?!+fHrt;;xup|7g6rE5h983B>r*#cE-X(3!iD?gtT$MnBdnm0WZZTk0~6} zQ%V>J>6y&(Y~~VvG!AOdY!5(t^%Y|~F#<2l{m+|37U;SkIqG2b!?@ zo68^ZRZPo|x+eHWF7%AkM-8Zwga8Kjug_pRevz;3Uw9jv2mBsOMOY8yPmHeRv≺}Vz#$J3_C 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�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

    X`Y& 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⁢0!WwQ2G|O4GA_j%wg5XC||JV}@L@j64 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 MO*EY<=oB;k=pB4+A->TBnR*%qSKtSJ6E!zfMY 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%0AN2PsucPi@>p!dn3uhntdYx^d05M42A6Ynfo#x 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

    N$f;biiozx7O>>fM` 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�!j~#~~o)leOvk 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 z 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%0DaY-QF|g1D-J*3 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 LNkvXXu0mjfhHbMB literal 663623 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%0Dw<|9D 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

    L8I8!7c=2@q30Y_9 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

  1. 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

    fA?Vk>n&%i5FWzW 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 IM6N<$f{KiWO#lD@ diff --git a/assets/branding/screenshots/playlist.png b/assets/branding/screenshots/playlist.png index 71be8d7434dd72eee86cd07b4b675be5e63216ae..30637b5169abedf9b2e6d2756d92e3a734b3593f 100644 GIT binary patch literal 704350 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≺}Vz#$J3_C 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�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

    X`Y& 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⁢0!WwQ2G|O4GA_j%wg5XC||JV}@L@j64 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

    ;V(fJr?rCZyE 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

    8Fe>~yEI(R>44$M*Wc@#X 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'jX1YfL#eaW>~?Q?3X!OcjHk*eSN-LE_!qyM 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

    EN|| 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 z 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 Ef+L%3A^-pY literal 607601 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ð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

    fFQyeuk!@ckn;pb$>yRr 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

    XuctC&XObx{uNl73f}`(xoBe zEugE-A{B%o;l-fyXtY5zgG^x7%hL%bf2l5dI2F8+;*^%bC z4*xekQ!e1F3i_C-dOPd*>v#xf5|U?{DJ@CzdWxs{NP~r z>?shRtUI&^3o$@qs{g;OHx|@)Sg)eX175N1;Hd?^k6JDQ(B;Q=8y!>p6MO0#2t6jI1!X{C`(hxJbiK6b^Ypcz<1Vf!oYfSoHgH*$ zM~7|FUli#GdA@5iO*T7C`E`E#oFQFdWft43Q&MF59^^5XVE|0Xp8NZ#2y#8PmnA

    9sh75TW3*ZpZNv9tKI71ua|dB1I7 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 LNkvXXu0mjfiX+e> diff --git a/assets/branding/screenshots/subtitle_options.png b/assets/branding/screenshots/subtitle_options.png index 2dfb28a86866154862569da42fa4da82a334143a..29442c110ae2a4bb29694efca4047cd80d21687e 100644 GIT binary patch literal 834556 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≺}Vz#$J3_C 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�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

    X`Y& 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⁢0!WwQ2G|O4GA_j%wg5XC||JV}@L@j64 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 z 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%0AO+ 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

  2. r?~^CR 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Ǵ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

+ + + + From ac7deddd1f019d7db5a93b60b633400cdb29dd37 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 15 Nov 2025 16:49:44 +0200 Subject: [PATCH 298/568] Update bug report template environment section Added fields for yt-dlp and Deno versions, updated example versions for YTSage and Python, and clarified instructions for finding environment details in the About dialog. --- .github/ISSUE_TEMPLATE/🐛-bug-report.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/🐛-bug-report.md b/.github/ISSUE_TEMPLATE/🐛-bug-report.md index 4959859..73934b2 100644 --- a/.github/ISSUE_TEMPLATE/🐛-bug-report.md +++ b/.github/ISSUE_TEMPLATE/🐛-bug-report.md @@ -26,18 +26,20 @@ assignees: '' ## ✅ Expected Behavior - ## ❌ Actual Behavior ## 🖥️ Environment -- **YTSage Version**: -- **Python Version**: +- **YTSage Version**: +- **yt-dlp Version**: - **OS**: -- **yt-dlp Version**: +- **Python Version**: +- **Deno Version**: - **FFmpeg Version**: - **Installation Method**: +> 💡 You can find most of these details by clicking the About button to open the About dialog. + ## 📸 Screenshots/Logs Gz00|iF$0YiCEVjRU2Y%Aq{fAGZ3)yz`*L-F= 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

%MpP|jWI`7Z8=u@!|CuhuaStxR$ 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 z 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�P>b{!NwX@Gs?L7(>%&x+{4@3 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�exD_0O5J<=tiHL@$qz5y$IOn{{3uD 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%0DETrw-S3Ng+Koo_boN<8NI;Jk6H zf_c2$;YL)3FpNjvj{R&p%6i?2^Z0YS*s=Q;?5KB)M;hI5a_u*0?IQvBo-smMgfSoo z$TpN~9QKhi_vasY`t|m*(I@98SEsWJR;I!#Jn>@b81;bD*X;Gx-5gI~v`RKL-R`g} z=ck+ayn}0)Q|}UM{!$!Q+QabOyFn=i(owpw^LcDVzZC-b>E!IIv6&9T-yyC^tr@gH z^>-LPG7MmV!%c{*w#ZrpU#b*}&M+QUbewEkBap7a+bMA7zdqj-8u5M5T z`oO)NuNE|Oo6;ubQ`J@jR_%PyVXxY#GGP;Zv%n&HfeXt1tbX5v@bf#`elTZ)gHXH0 z2lGZ9GK(-9Ol>2;uRM46)!9GRG>lb88w;O7TEbTlAI*s^De{h)5>u-nE5n!1zcmSz z!0h#Ps)BGUly(xZ>L^MS!Z0HPh1ksUPoqJbBmU zDA#Id=$-lfeqpVPZOMosy*Q9&OLe$aIuD8o1*%UmA7XIls?2 zWi}A?=3uye0HoCwP#$@&8)XF%dx?-D|K|m8nvr=5Ap|^qSn(s1>ezk_KmAAsd0L?` zND`sFdfK9{h)|aGE~oe!M;k`V*h$rYWe|SHN(fz^Gl>63stg4z^7C%N_nkjZvR>Z+ z5^Dh3^aVctIG%=SO2+)vCTkhKt;?4V-IzFzt--9zQ4Uwjp*z&VCJzaKi92D+{M(88 zn)9QUh`SRG3`FSDEi?PV6IHgX-G`&4&M($5g^8O{TQxc3)_q2YSR&G=i0Q_7(?NSj zrmeKhiQUV``I{q{hU2w{*|}l7(v@Uj0fcn?WEQ3>eP}swvmCjWbJTr@Fa6?C2_@}< zzT!u;Ep7YadMo^w6gsHKqUkqw%O!s5!9=y=O!`g~ur5eJwn@g`n*2d1Bm54!9E&34 z_XF_#V|KRv!}S>qLVwRaU`x~2Fa%sbXb}38*<$8B~)t4L6PUu)JTi;-_QOFP4Wr#7O9}ex> z)@vKp-gHxeodRds8G*}xQ;~LBk6ax@|Fs29fM{}OEu5rJQ+)i2#>BI!K6F?=omnBK%4anWidIII`OW~m%-ft0{ZT1~B|VmW_c1eH zx3m6h!#6<3Z!*;Y?ry?m`}kyash&Pv*l&eFiJ?oTs)zDG;YpQG;o--h+bU!R^d}h8 z*Mq?7Q04$5do+YN;u^;$3?Ba{A^exmw*9*?JSfl+?uP9R_e1|gUanf}5bis$4{J8n zJ`$TI?0A72`t$*nN-*{5x3&s69{Cz~OTyuJN6C&KB?)94CXRE2>F43<2QCp6?#RWw z$y;Tl&gslV&RnYBiE(vxuHNAIV?G4Ny2(n7OJ$<8^1&>jVVg(y8jFIOhTBTjR@OgX z_z5)6WsX}hL*hc9=utxZ?9WfvlkIpF=mvgum#gTm$n61#(`DLAFmQQ2O2(RmM=rHkN>QAHW#nP zQ$FG1m(g6(tkWlpJ=b1#$6Xlp#)|J0CB4DJY{jbDqFH}fC?d!LZqA6*p0P`u4fwp1 zzIB27E$}vcRhE@~GP~b~CnBAWT7WA{>by6o`xLj@j?kq*~LVE^tv&VAF2eOAD9%C+fYs;6$SDwQX!OXlPbNe;L%aM$@r*dWQ9f+!G5t-t@8IoOd9g*AIX!OYDUkP5G*@S=dF}h zzA3S>PyB;3DCAI1R%eW8p8SEm$gf|HRTV;fHFg9KUTf-My6Eml<@jIuaVQF8*?t!i zOlU3PFjFXB>#Rm{MKvdXn!+z|O#(Vc&#@UUjsOFm#v zf7*B>&9USe_RFz0!gZ@GT}+{s4)M39eV;qO43*pR-GazLH(T1OCejO1#9+XJQJk=4 zZU|*~Ze%eY;FsvmGXv*tKAn4HVF_*L)5^o%IzHd&&{Ux3fVrg$bCvf!YlP2+mISY8 z1yH(G%Mtl!xI<(;BiHoPB&USz(P@99^E;!?7g(EZeJnnXi`p2DX0I-)r1Q@C1VV-h`pnHx290>o{I75B}$zmL1j!e@33sA>Cb}+2}r4+!SRU!N12h&55 z6tB4;w-6Bk${>^PWS%Ajn6>0y?nXa0&bv*icNX{ZYufh{Is)B^40k-CABf!AWc_ZT zh=1Dk;(RwVY(7!h84Z1Or$cn?5`mlY8FZOZAm1zV)y9Dhn^-m~w{9+wixah!*X}Yf zz?p9VlOg|)otx6a&$@A}k1ma0k^Yw>cm}8IfZDyFaOB!T6X;CZv+y8A01NzdyDFL% zu%rnzlNX4QIQ!=7X+mujV1?(sOo4q|kQ9yV`Qyraan5lfy+33I&WC8dHDd#gy_?=2 zcbE;1vfLC$BA&qyll#zHNS488f-4@3ineKm4X|9Y5%w7E0w=?)Gf~IK5i=i0<&T^R*Hx1(9o-HH7ZxH^pY zd`m$ZAF-Vk*0~+qlib-!A$hjklLXh=nQX)wvbd+@>1=+MUs%;&eJny+$%=?(l#-%l zBW38$<%#VLgAR<`+kY>zzmq_2{c%Wrd>|IFz7x1Uo)l@=o5Zh-mg-83-^yDiu0lBW z-_1ZR@|H!nU$=SVr#M7HaZ}^F7mSTU?uwead8GZw?2WFOjdJSgU}fSfX-1X5vt}@L z8#7NvGpr0;WVfsNAo_$a{I;qm_8&8U!6hlg{oS#(mc%2E!urs_(F`rLi|Zv7i){3& zq9=f9^VrYPq}V^UnaS24Bz}3U(_006K)sAU6J7kn zvOfRo-V)v7;7G|zY;uW)@Cz}) z+ok8I*B{S;;VWV>SG}|Mi=Zl)`_<~s1s`)-5fl5{VHja z+P(gXI5B#3kpn1wrYAMpdaKx1r5~h8zAJLq3gF$2Iwk?;hKCnDk<5%qMiQUBoM_kf zIncYtdwlqgF1zf7qb$$S1y(`yxF&uQK{0>~rfg^!{KVs5{yhHDouM?J?&XpP9IMz5 z{vC3gr@sHJfzb!A)%TPVegbhZ&8YU^VH{|5uiDx)7q?=H4od&0VptdAy-0C4{Gse* zqA5c0;IEC~XKn$ywjz$?vITp-l|R65oQ>$|&3SnQwBKGMwIVjB z_maG`_uT}*{Ag2nUodgX^tagyXjfWMX@Pb+)7NbbKSExlItYpM@@5(hc~S$Xd@7pj z%Ry)LbIEvNK5cZg@h+yv@!(tkmm72dT|x66c-Konr-4#TLQAOfs{j zbZJy551WPguaVge*9u9svqo1oaY*{;h&fXf90oAeJt-1HoZp+632vXTG*d<3YRAd= zG@0u%SSUY`3224!ZfvZ6Wz&feg$V&Hm9(=w&a9Ha*91kB&;s)QpSiAj#&0GXIdw#d z6Q#3b;opX?)8LrvtOT-4aAH1lL)<+*hFBQ)LGa%(srVL_7mULYiX8!ODt;PalgE3( zcaiS^B*{`V+D80YHta%qzKb-9e*2OY^S`5xdc*P*OwlPu^ul`BF*fn#(Ce3>4Hui| zLA$Y2{^N`-JRLDuEF-`F`H|dS*mXrkDv&ICazf&ELQ@3we``~Q-^UyEPJ^>|0&e4- zJ{7ZXRHw&Mi~Fn`tl9WZw z%^ZcYsF(e{r2S~o27)`>2s?BthIFWr7 zjS@b;@A7nEkrSZ@_>|q_H7zcbF8a?Amw8Z;_k$amUme-ZCi%xtg4Mu)QJIUj|2`{X z;PIna9sZ)8=_^* z-h=o;XexzGdY$;t-T^YC8Oc)Ky#_aOkj~2$KlWbU`)lZZP3ZCKGkCJ|;Klyh4amz>; z)dJ8TANn*jiq3maEZw_qg_pZe>DhLKfY0kDqiTR#*xyRT84B+_zkE0677}`szj9by zYc=O}4f}(yirmqEC$IQ+?usSta+g)-)pOYIK+wVJ`$&D}3tj$<{P>#)}^O;(_puZ1M?;TDLg|9+TczAi(dGGd?oF{4~T z{-v;bzUB*0KiwN13=yr?#!m^|&9xQms}kI_aoIdadk~NVeC=qIfXeJ;;Z)xtT$08l zGZpl_wFoJoolq{?4}?9Nx9kbxre!*K&7ItUrDJXSUPv2Lf298@TK!cMKVVI9v<&o2 zmSg%1d)KSBHheeg-THuow~RMXD3X4gKcfx$mE=lyg!s^J)8~rfx=H7i zkksWOKbbUrLqmpXl8y{zo-hkO-@`YtS9| zaZH0g<06Q9I-i57%ji{)ap!;k?SnfLY}{)nZo(qz2Od_&PAIHwP=WHL>8g_4vF2`! za8_Xb=8k8{^-vjkuX`nP1MM6&e}81OXj=wjseU4sBg|&h9sCcV2mXVZdWxKx6|w%y@6J?Q9Ak^I z`l4!S_y}TtZzP$`iul95obnu!p_|pOI^4{z&L9#=wAudMfFUp68(23{Y(w&cBzUd+wT@TW) z0HK5X^6Co|Sv70o1$h{Wtaxq| z*qjP66hjI!V}a)d4FbR^nYSF!FE4b3_{ zktncxnSRHZ)NhtuY}$?Zdr#(-*=%xySC;KpGjz-lCTyVSCVoyeiN~Ul!W6(*c0tFj zPGAa_KdE9xum4?DJ3X#-%TJ=EsVAt0^vXv5F`VU;9UsB;zwsB(6aRN5XyW`k{r z=#3nwO5uvrE7e-mvWBAzNSA3htJgG2P+tMoYuq_BOQ@$c3ueZGN|#ZmdJmjKbI!uI z41V6__Z2DpkShtknLwA$?Zxx`?(%ZeQ-IQjIUv+9;-{}S=X8|>e7#!QuIjBi6yNl^&2T*x7k_&2~l<$>i74Nlj2o`bg2Jb49Q=-j%v2j5Eu-;7Xi?g)D_gy|(eDj&3nEyzG zGG^hBcFz;sHR4-&q(VhMkT%C<&h%M&nBoV_wf^qRkGfy1H0!Y(v$aO6mFni~*60c= zE3yB!UAJ5xoE>DJ+Ec1@X~jaJR?ixP>Os`=&e-Qccdd%^knJS55bKe?s;L*%PW~JI z!(Fd+U^;fQ{FK}5j(d{FKW2<=5)&2LKok1>!nV<*xPb;EQ=qu!_>(4lcPmB-pbt{2 z!7~pver9FA5w)Dva~&NQ%u^^@Snu3JbXR7)X<9^V^v7}vE|i;DY*OzJQ;xwv%XI!C zRi7d!S>FzZi*{tBCu&-Bcu^e~ zNIFJWTD(iVYJmvNQPkLNjeZ*)S!A23C{W0}w2Bh!ZGqTv+~d(DI+c+)tZ>=my~q@A zwGf-T(~BnuvTnKB2ukBkMOjsJF(}hGZr61wnoDh7Zb`{h$Er@t4F7#_CR^ufZHiu^ zc%_MaGoqJlhi#;ms(ECYYFAmUlsUYReM~^P(pEM!8HSw~t&FPB^%|h~f)${A4dgH~ zc+_6NZU2jmyHK+W_8HAW@g7hI$MXa(rltRU^>N-_D&mF$R`!o&u?6w`G;0?QDHINC zm)nNO2a7VqbL7Z6W4rk>-@NSmrgiqF6?e@q=Bjz6yzjq_>)36-6TZTQY}7?180ReX zmXR<1t0b$@Pv$F!ab{?isV;G=2%l0cY@UbM2Tg@W`tIhf9|G>!$5t+U)p_HXrRyUt zEjx`}W$G=lXJ+4rlM5nfG9$qwJY*Iv_o)yQ{KknT3sk~+&bOkhe65O`Z~6eC4At>% zLUU^G_o_!S05IyK`G_@ah}5?H8;lYlxwfJL7hi<~DYiD5Wb=)lSz!867smE~GsCGm zgugz6%&1pj*%3yHXg*@e}FoslFbp&|m!ly`1?OtKhTjbGcQ-4aFj?U?Hk@-6&PCvmU) z#X|w$RRDN1PO@+DtBYl86)z+1od}UDeEx8UXJH#r-^hdt{M@_lw;b&=pH8r9FGBIx ziT`77&6lH!#vN_1{>q9zs&da4-Qgi{p4hJ`h%NEIYPpszjp&Z-msU{mv_`CPoh(*4 z2#<|Fe4BmHBh&BJMae)eB7F}&Bpx8c@=x~CNWrt#x8{l7OA>FSW=c;89>HC2@Wg|_=HET>iQuVk{1v{MB0Z4S z4s!$<6fjOJuDr4j97{A2QJ+B-TJwAa%>+{zoka`+Rbo1p7kYR<1boAT^hbuB=LkT5 z>R`^;6ZdhLUg=;X&e6CdxTe{}hYwkI1Uw9&+ck_ej|n$$tH>*sF|&z}+Pr4D4V!B- z7b4s5d7?2V+qkKCi{xaWOev2E2`{bt`$L)$OyM5;TI$iTGlhwemj_r+K;Q0P5e{Bavi7x#u+G7`!n}|3NC`CEWwUy(bRU- z-t+@B_14xrnAX_R%to>GLhlpbSPud4pac>AQ$H1Rh|yY z&@Xr|kmt&wo$AW)S7;3mx!|2B(HBZ1J|iGK^!^Uj)T;k$ zY8`W<@%M}W@tjv}*Sqf)eRBOX<=(E0@F5C->Q3nW*U=QVIinckP0nt?KY0}(&PsJ# z{uK(PJPQW=?^nNs=>|D!<_oq^J0@udO4MVyWqUT{*d0<=pDIvC&zuN#&s?yzayx3ah0WHlukz>XzM8lK<}NJ$0AcgHCQ3F% zn8|-kiA3m^GRp(!M0^&M~Ija=V>DGp9%&1-qLZ8&~z9J zeru(_Rj>fPipZ#5Dz-tL(A2i(LrN{jeVf87(~cOmtFH!4rThE4EON=N){$SNW3^pV`ZPb<`VWDPA@m`Z=z^ zYZuvmLtD4Ef?h*gwtbG)FNEa#@;p-?tevs8J&rEtrYhyt_)e+wWIjvEUaH+0^7E!L zL|YjdH~FovETsjHKGcm1m8Sc@8GH=2-8S(X+}6E@S*$Eyp$f;f1U{VzP_EGH6Rq10 zoQ`GRRn_27I`@(LjKT?ZD(E{XQFUdkKS<|;!ANAq5L>>HByP=cqJfs8FoqV+>UmVR zK9+%IjSL}WzGk=B7u{}_()0}+brS6j*Mb`H+$9(nS2L+D*09pQ6xVC%iD?G()|!0& zGBm;H3XhmTsVAfO>*C)_L!s^FxmaTP#Sg|?uFAFQ=Y3I{XOU2 zX+F&zE75&j%7sj85s_O`xbyOZ6dzW(t%E*uhqc7EDY{1WdjED~02lNe5y9hPi1K_aoZRhFY>KyL5YktBz zwm*3?dXVf$W(zkG?4t40jT}Sk+$rCMAq{(S$h{`%$WiX|Kh8 z8+TahIiO)IWrIth-{@@XZTLcmlx|lYKxWOR%Js!h$J9$gqZZORuTT7qda6bAUF7qk zYCl3|zw6_{v8$67Mc=z~T~Xt?FKgW(&d)Vk_&%S$VQx{Dc9M?XoPA?05&ZCj_8zxt z&Bjigkq;s?AiD#Kh?Vv=axJ9)n!ySL|0H$JlDT}U^m;6DalOM&8A@tSd-p&BrR1vd z=OXF$c~}t7Ic)n8^c+#TPuG3d<~$~R^$r(t^UTpgkaAO_U(flY)}`B=Z9*Evhc<|9 zkvd)flVIBwfoTX%U8}vTHjDdQn5Ln!n*KZHB6A3QNni8QiHKoH9<7dftPG8Q)V|Xd zpS1f$N_`SKR?-DXRRu2ahqPp7Q!>!wTdlT}r;f^j0xv5RuNn`y%`v;THg3ngfSsvT z7fm>6{^6C*dR@zm0c6DF$VeGDBZw|_qg3Z#UdV~VLOm(k*e&FK`2kH!Ab%>&!fom| zwU2#RF^UB-)k-`yl=<2*L*&Y{q{x*1mS?dddzwIon-v|Xocm(p#a_ivrMEjB{turg zn@A)_anUdu*|scL>4^cK8Rx`M!f7V z=@~v@KG`Z4826tG+F5KD5NoLDx^@!rmTNlEH__}CFE17J z5V?0cm~RO!!D~!Io;oSAT{De#x{!2$?sPTW_k)Ub*O8FLLS8Q;R0QUl$ZAR_=EyK* zbtW^nyMeoHHLbTf=-M^k^pPya`%ES#cM9(ThxiNh-mYPH9-V%%xu>F;v8&|X&$*9? zeq2XClt)e~bQ{9?MeC#f`H~0kGAD$gg%S5lV zqa(Vg$IUC(xw3S$w77F1pR9fwydCk#*Gx=`#Bb@=Fp+uslcDsEmD9)L6zxC@5&gGk zr-y#eAv2i1OGK@>oiGK%mC?5F)6yJ#5>ta?hvN$lnu_`7IS<2sO@3yfQ7u(T99@e8 z!F!`;p~G7lXmNSfyvI;pWpIrS-M|u7mc@YPW-2CWh}y`kHXyop_K@be3d_Qa%o>j6 zUgt1y5#5{*+`Rz3Z9nj>;JQ?qPUcBHR%?h@B`I1N(Dj$U)UiHSY}JGLnBpig3H`U! z-F}U~2DhI^EnS3jWRmS~%wB;j1Zph6ElSUsKg_uo;zv<+O@e~U6R@9oRS9}EVT39MTR3c z@YR1UdNR_1Erp8wq{#8{vDfnsi&jQq4qXTNz0SJ5$49y~NjZS*KUQ>rcT~9B=N-4GOS?obW5~fR=)d-J_^@GpPqU;>M)4gxEdp zeAG2f+n2KnbV!mUeI_BR*#K2uOfrFEdafW+qn#GoJ0WrS%h38l+0~1u;eMllPO`RC z$=JEK$ps3>BdTJ@Y;gB6Hv+K-I=V&xH>6VxPhI>duCR5aM~<|3eTv%r9krW?|F5%m zqvB80(~kAhVGNC2ctrtm)Ro?a&(0(~7n*U~{wEmTl)MGP)vvkjiB+y+F=6;fRPpLEh`xj#7i=llYoh+8P z-PtNz;X*C;5%x}5!I^{sTZ}@)-0iZ2BKcm83Yr6s&C>GSPR?q+p-ZvStFQNgIe_0L36CYBQ6&tk0 zw#lDSD2(<8&ToH`7}cM#7OsG(x6xFQKC9zd8fat?X3D@5sZVNa*Ce0A9}b)O&XAgu zoPInsd*S7?m%Z<`L;aYdQ|mqBRky+H6)6y-eG zv2g*kEqjAdWYoG?{ji@y|Pz+n1J49?zP@FWBjf-lMNWIzq3?n)`CHE!PK$@twA)Ki6!` z&?3X{q&}G2W9r%a6EOf!MczMN*(*9&g`hG?CtFBMURM}qjpu|uXcxkY)YalSm=LA} z$oYrKoDzThZ-2S{fBUO>iB=nNOPchsiDw|-LPOJ#XY<0FNQ9#EX8#q~b2AwfV5d*# z^{B#Uf`|q^9I=S(EmIc2&U%rH;nE+K78CjIcO{YI#L9iW(RdS<$R8q?fl|PyDjYT6 zKI-}EUJ>|XeE5mlp%iF!RY2`#PTi^7wSK~(iyCya&_VTBZ(Cy(Z@e-o&;&`S&HdpY zeMF`DK*4=?7l3^HBSU-367jJ79Mv_&-PM?Zjz5L3y{W$Y57=KE5aqr+EcZnK?d&E*PqLc^Uaz4 z_6#$K9Kdsb_<%#(9CPED9i&KaJf9c>eC);c?sCGR$N$LYj@(`tC2u#tw0r~0+di|g@`d!W1G zv<+ek0FqeRol;9NoH)YIKjP3K3lp7R89_1Qr9&-cMZOj>D%OeP8)a^&dH zVYtAPm!Jprg4t)?%jox*y>`T)nRzdTJf=YK$WmXLamaL-(Ib zeAMMr){}ilL{gZR7A=eYnm*n29{Nw5zrOC87GX#oO((D98BNDxAhC&^a?e_5gI4bI zeGHu|FR)aZ)%D4rrv?nEFE+q4-X=~t@<;xP27@J%Qj$vUzPP^CE^MFK+KMAdbzH>Q z4SndS;_+6YNn)khk23F1SiWh{W6qD6clq1j)AA|v^zJRa&_{D~!Ll-e#;kc>x|z0T z?t;T+Eoj6!elHyu45N=il)rY}ZHkIo{k!{M;I=zRRi|VrudEZMT_r-=o0A^n;^p6Z z=p*{*W%N`+T5BZB~=JoXX$Yw^)x&XKbM6*5~?k zr?hb2e#EM}Fz25V=pPci#G~|4L=S>h>Hr%kN_88Z}!2Y0*kEHQT3sOtn7I!DrOox~IW@T7bw*sy8GBDjzJ~d)e(RHUtK06n4D~ z$goxG*Ei7zfYVhKG)?4WJ~h|r0EtNi{n^9KFRpBc_wH4xer6vf^;UTKfxdwB4mk+0V;j7j?WU zvclN|23#w)r_ymtnYg#-BG5y9JAWN;*{|DxK6Ti!4-Z~#*o?o|>}3!nr4KFx}HSV9UCqTs>4w zf&XcHV<7kYh?BL7UllO&X8<&_kG>QE9hA0m*@qQ!UNDMQ4{m?p?9uzBlmLFMZK2-l zOgP!`*pdKn+4WdgV7Am1yev|STW2&H?0vOeyr_QmaF!t2Y<@84IfhY=jX+_R{xnM` zCYV%y%$cF{GU7ZTWZk)mInmAEc{TP|qIlJ7W5d1UNxY9TGpw2pFlc!#0mIya4!W`* z3J-Q{JZl=;)}mC_v85fH-tatL>wjTcfyGY=ZhHEiJ7eC1ubl(k-AMjnWJuEip9A&{85P(w&k6 zLo;-D3k)?d3?L0dNlAV4yw7^q_iJs}ulw)4U2(>K9>>rONBq|d>k9kAO#3ws!l@@V zA#TuVv3-+(FrJ9a?zE9?5EN3X(%LI zeu$K?()_5{)M2DyFz9qW`qo8oE@c+CNIi_q-nD`xmm|p8ET?1xtA2y|v!T+nIk3a@ zqQ6(S%|jm4a^lgmGy2htc%V;{$*Z!R(Hb;ug>SV!k6{0CX!BB6;gZET9s9Ee$13-o zr{fw&8BQ)yCsD!eNn-2y3D^tuULnS0KmNM$e2;d%RT`!4h6t-bcJuWz_R=U6NR? z?+)IqL$Hvmsg(kHxQDuJA??ezPgzzSeQNfd(dyK0Z+V8O$5Ejg{(?zHqyk9mjcmBF zWsUO6xYuypXkXvk&qdgjpXz5)2IK(LZo$+|k{0S{K6h}DvBE{<7#G#u-k;tX!qG(VvkB-TQQtxQpICu&okvItavG z3*cJ}htkz#SMQch4rvq?Vj~BqeO4Sg-ZQoP&88)wBdxS1aPd}tg+b46)+Y^|?Nx1f zzE0f(>XdQze)g1lVste3v{gizL9!t^0|9&Uc{pVdhYz|5-q6i7R}%|<%!5jgse#=t zH;%g|?#*GR5g{|Y(BDe6izRgk^@@MEOjdW8ZkToj$h}B`msToU4vtJ{v$jDMm&|+e z>;}qLAir8|3;Zul+p62Ow>F7bBM?(%A)*J|B9DK3r)g8rqgxYyM6X%gl(r{rv(ct@L*lf^31*v_3W;=GGb&PTu^%nXRJx*_E)9Pp@!vNrI)nnlEIpsU4?1%D9x;4{RiQlqDb4(= zVB)x#uF_Z-2wGkwa0a@`e|fiHva$J;S?qac;es7UgLwkZ*Ch$8M}JYt){@Z^dK(#( z4`ojCa`~z%nEs-Zb1Pf|+vMdyG=0k^i#yBd??k0Fp~(qJ{HV5bm%)YMC2aTg6@&Zt zJfKRy9{$IzSK-fsFUpYot{tC)4ukPtfCFiuZVc;x8!#oHhseF_YzOFR1s#}JR5_OG zg{k|}H3Ko#p>Z&%@8e_A3|tXBlY~nLOQAkd-EXAe3aJ#VIyP1JBPRI`^hkxL~yr8qE_UxA#r=<;td>goSWeXn6`U3FRncN24 zsfMMm$XJxzgPYR%ueYy$(~bma95q;;wGy360hRN9i`R$QgX&3Mm=%Iu=VuM^a5O-l z=W6Yz`1OBOsFw1$mi9V0{xWW-n&}a5gmt%c)yY-u%s)r__PM7Lp`klim&;XNi5fWu z{l`K;DS?vnU*`fT1ZY(Q(E-op33Fpz^ecGrq?5Gf+BhScjvji9Lm`>Y?b)gt8Re;1 zAil=(0(?Ct-=fqf84TL>`nHmfmyg$r2?*DLk9a3hyQ5%D)GrbBK6(oi# zt}tACy&5$HeBO!cPv*mCZv<&leeE5X{Q{-KS)GZ~=7w6ZIEB+gw6Z5?ox|*GuqW^= z>sjkliv$ZO#vMT(j=b?WLfwmSGwD*$phX4am*qHR!m3C5jESz&T*kO%D>D46&wzq2 zOXVK$T}?x!LL`&hBsEPnPLilZ4nXq%e=bp2Sz+p+sT8GK3zK$5YV0TjU_N z$9w*X6Fy_5c=euBrvH!cOU6V0q~Vx2y1^0Z{J6DXZQ1zZqa(Y~C(CNg-iz5#>36k? z$81QVd)EL0!j&c6O!dPvHLK$$9H0#rz>%30n*mc?$MjeZ& zLp{C155aB>7S)U%L*I?)ja5xsY#X-7rhD4RecD5BqxYVaZ#cM!!cu{nC+emo=z~RB z?xu=m9WUWyy?T?#o<&2+=g-Z4q^zGF0eRVNhMirAMVs}*^f!)Y8te`Aw*{6k^2rrf zj4Zx_kg#c8!3pn+yiuLp0vQ3Ch@Au|2Q=7Ug3R?ExK zZFC$3vgl)PnDOFF6&N^R70B(mIS?5RuJ2`gVt-9`?DpEmvO=9q07m#XN>mz;l@%-`)3aZ0Ite0S=Bh!%qP9`Sas$YhfL#zl=UjOpC6SEOtf^9p2 zjfy6NEJrpNhldl^kK4g+bpnsOlB4RzXvp!9x42nO>0?o#nQ(_wHwG zsp0$E#>JlPI64qWBVnN&aPBnWsxfAvkMM}>>bawlYMR}3@?KP#v}SriQVq)m*4&lB zpUkq+>-ib=>}=%t&S*%H7W#OLY`Y9RH>`2xQBRGdGcrU(*pnTkp_$7l2qqJJtjyCe zH%4~6^mRu8g}&EYF67v*lFw(Tm->Z>->Hy>4%Ri)So9w3BjZ6owf$ z-Z$k_l&)v-@@+kC9djD1e|r>*`oDJB(fH46SI@uk0w{I4nrc&%u|0bG%ofsAQa3{6 z^XF+lGWs3e6HZ@tu)l#kLMu;CH8^|}UMp=0V$Yshj6E)wc-yiDjB|XHZHfR)aFWdR z-Wc!GAd<@TRpwD?_duH@G>0pmSCo|3pONo@wUKE3DQ2 z>Aao!-yH$QGJ7N=RQ85OWz)oCKj2baNE^F)uju1g0c0uSc|a8PH|j^kn12S7t9x?_ zcoq!8J>2Yo%xXr_;ULwZvop_7yc@kgUr-7_2uYKr)YDYV_LIbuwy@_mw0K44Npm4V zLr_QhTKdp%T1VY-yc6Caqa#GaiA6F4Ail7)Oydmx$uuYxy0Oc}biN_1(iC)e*Z!vMn3k3-)DYZ*;nq=Z+L?nG^)K9{+vp^*u2GwO{k2vO)HqP(so%yrNf^h@ zRG?saaD&Qp*N?2^hr1&ljHBD?kCS9p zhK%g9PknQZrbZ`LqV@y{LRVG9p|1o=NTWOSMnte7%|HU{MJi8T=FLqMyU8ycDS(AY zkU>R=&D~{@isYN?RQW7trioA&ooQj>7M#{D5xIrf>FuLBfzJ$$E4ZbNUTr7s*>nqI zW;xe*y2i!iOS&>SgtKqY_sXI*MvLau|JjS^WlVxcL4nW%y&> zqYA*6$_P@=$E}u(ht9Wp#sy?nk!x9%k)XEOW2Z+OEgwvhNfk?lD9hn7#?s;Hj~m|F z_+dQ27I|}X$8Kk`GNb11*uD|x#FG!YCZk4Eg;m8y7eO0_3o*MeTNeGx4FNq@Rmwuc zU6*igAOCOihqQxP>TQ0c z#@yNa^e~%}i8!<)ihknT+Ivi(Z9*&rk4l~;IduMTeCJiUelOvx)7pW2JyrqUidxHh zc|2vk5f5*b>&*DX^B{XWZIKk`^9T>qS_h*RDWhkbd>MA_VZj>YivSB{Gi3IObp=qf zs3>BT;kRxY*}+u+(QclWP-*-Tup?uNZ;3|8_VA_2NNt?$`ZFm6&ljHLhvQt%O%^$u zRLB{QUT&%$$LPE#bX_fVjS&R8Er*zixfutXk6|lE>J5+Iocb397Zj9@NuZM7Ep>|P zKk-ODpR%&$xnd0wc!w~Wnm_)zu2WKI(`X}kVHn18D+%`qZZ{G({QT3%PHB!ZnQ)8@ zh3g+I!fyC+e7h_>Ba)xyhvBsFM$4g`{sUe3ElBg_Rt%yk!N6^&IA+Ad#~&*`M~}6T zXm#v3T(Tcr4E6lyFP66adlNpSMuk=;bFJc5wUzd=V)DgL!aTYBlQ)mwe9o0mKF@A? zI>rNYz&#YMUuu@-3%azVZM_;kJt=*4V$zPxexQffv>jwve z;jFH;D_7FW*_)qoI%Pn=svIff68aJxpU7Ax+rrblthji^cX(e~Z6f1olq0YE2qM;BwFd zZ}|>ZFI8raBri;r1ZTgsel#08@HgyZeTIoB+ywpyWm>6ZNa9_xkgN)Lv}nyZFmQQl z>?urx@i=I;)H|(1lpD4y{`2DUh<E-nW%R1rXbgP%5 zs|#VKV|e}UcpH*d9H4JxyReqL7Fn+s6xVr7AsSM`oA5JS*J5DIr}H6aZUt(J&Y{?B zV)f-w&%l0g%6mpookg(-}bhKfa9Ft?`pkrB7@bO~d4*zxk&E_AFPC>tyy*KE{I zrR;mAlWI+$hnTAPfF-Jsy6ea&*oUC3vGZ#h(fnGQ()r z@jwlou2lku9D?-TU6nwLBZr%l(6=#?R!_mU$_qhWw_g3nTV@dnFz2A%ekmQln@3+w z0%=U?VV$*$?AlItl%}PgLtnhfNhPpEGeM8ik+fe=Wmd>Rx8=-=GA?*`e{Xnx|K1om zo&U0ERLa6XS78}WhVdDAr>lOZ60_Lg$=x&?W6)f_ABYBM#eHw609c+cd2<8#(T^~d zl>e@yF-(RJJRh>(4GI}=rR})e2%7)diY@H9ru*u|#_xXi#ggZWA#L1<*eCClp|UO- z{##-iV+jU9--DP_{^kel=qcrk3GVc7fqwUXOTu;{_OnxvV)0H%h%0xdSI?nqKVR)} z2J;;jzeXB=HU-Yn^~2TU~k%nqeV{UKZ*40-u}UGZw2pR0=<@{@m> zp^5sX1A5?;<1Khjm0f0F9Q1WbUPt4e|L*MC{W#|W!my`z&w1TUd+7KBc-4WTfV2EA zmbG&(8Y4w|ui5iaunhlRuKge{ddb8UaxR!YxN`$Uua4&sE%oy0#;Jc&Ps(B|D!i%G z%_3{x)9J>!Jb6W`zDfFdAVUK9O+{Xvb2{&?p{q@JtsCma)>+~D^97%KO!d7^uWp~H zrk(m`Q37s0bObyjY)bJJ@_t|5wG20HKgG;=CUICtqtIx^Cd@Gy#*p}u^twCgXP2^qwXIRG`dU}gpCHPgU5&MxIUjNgLwUYeuS|%CE)rB>Rk@wmjK>kF3aT(zj z17W}#L9k{(;}dAc$Tlg8@H+I~&)+~jXzL>_3FM8_x9r~1y^BOw;SU+;Lljh-z*s6n zV&Wyv_}I`pPLna#In$yf%8^4E+?4wr3X(B@{P1iLJ=?hHR~)_$lKPGgipt8DM^5hB zW=H43N~kl{hHg5|a<;n4qYJj$PD%O$ALs95H*@%T@1^ZsL`%Pw`9MhER|U~4?C;V-3^Zhvd5xsG z3mvK3(Y|frD?J8}-i{BK34y4g98fQ14|9J@7y)X|cXU9vv%(o#Yw}!db*P4yPg8kHS&%&`t>@;(_Q`@lsam&-jUZjHp-~(jT6+0Amw6eH{B>v zKXF8p>M2Vx7FO$37a;W;rrM}l@82yd&ZYG3sW14`h~vIt zw^vb(wjY(ZUS4|Ev!5A_^u~w;qm}U^IqQo7-XM<(W#|x`;!UAsgD2O_pINiFvrwwb z!WXT^LzS;y=J9RdPpEYlT@OjPixy|dJ$xey)=P0+)Q{Obp3bMXRYggxj|m^AVON$e z*gSmts-gWoYrF^1QjZ8orKzPMGM#%9vJvDqqWS7A=c)X= ze_nG=SJkj`A-QX{mYDwcf}L!oHn2rW1Jhqcw6#2b0sJ66ErX-X?OXW*46uyAn(9Ir zk=`4kN4V%5lRB>_0YBWgsT%L~Ggg;r%zA(G$@VH|^`pM-RSx)9s=qa?Z#okhH~|J- z$k+8?VMJCsBwYcm*L#*O3);7?>pBF7K{S>(de^AAz^j)M->+z(H>X*&wJfbUmBYMZf@0_bNFbx zi>iTiND7S2{8Y@{Im~p1Xwm1HdB%Zv+p$o+u}OjS%;KAzE#k-~I9c(Cx10Te=<{XN zit(7Id3TK;)~wHmv^0My);-AU@>(j9sN5qJ;dxw3!A!r>WVs{oa;F*!_ivr=d%?_8 zsi_ZP?sJ)N7a3pF)4D9B&U8^_3LLZ`DNmqc)hrW!l1bpH0TA?f(%@`T`Ji^x02~d& zIMF>!_fQwC6vTj0RxHQMjtQ1qg&Sje0$U6@o3#ldEL}09Yy$m~lp_(=AdJpKBT7C~ z#EO0A_xdKPUvt9zI}bSlRsiVTQ>cF^3wv zMt9<<5?IXdC_HJMz&JukY9bjdbK0?-H%YrLK)WHy_3p3y_c2yu2qwm6kM3{9Og%Gp zf_nCS7@$D-!_xErjTv(dF$@o46w|9U^glv&gs&$FOuuqC;qXhpe<^i0)3+^o&uZ)n zCmvime0x*Ax7D}_9rz%O!Zp5|zSVlY$GRkOgBQ(oizSmOMvzqRz=2b2vapGJD0pGt zi=)5toqUszihKYqcE_J$KJXVrsekIx=NnX|QrW}TBO7>YIU@z;32;+jHx}J7n{V4U zS@P?`N$nU5602Jwkvh*IaJ|PkA^Y)jfr+o5z#JpUGU}#(POQ`=MqJ+qzl&1ybW%JT zFQ8p8;En{PHKq|SaV5mlkcQTG>!#9JWD3E24Jx^iXeTGac4^8+imI*(iacLFg1!tQ zn2l_)4|>!Vwf8BDnjM|ivgD3<;t*m(EUB@yB>Wuq$51sfEcGZ6(u`bxx;5sy(C(d@GD!yz_}qg|L?+sj|#9)jw7*70_*rAdX^dfxz{Zm zD@1>aZV}bHuRcXK;xso8aT|cE2-f4&Wd}AiNBi5a zne$P%JqRPz;x%9Ycx`q!9w;F69Ki6kHg@~V1#^n*Ps5b~jG_q%%=pZ9>FTDq+?!jk#v`Q_09mUN**%Wab;$#QEb!xoav#R~i^-7GxHg<~1n5(CEc*@UamE(x%`}*5C8pEHpqjXT8Z*raRu=@P3xE@fyyrHRTW3m;FsJZ+l@9dXKsEjJmm{4@UxoRTWZuEEb4b`2%4bEtp(dlD~R(Cuf!ew5f`ps!kzR*8mQPc&k zWhy4!8LG!N(I6+wtYFb3C(9S%2Q0~ph9A4&U6Mm?PLbgBz}nUt*7)*{_QFteBsJ&j zjhKOlcH;bxKjZ*IuBuq92mde$$ISvps65xD-1WD-V@wZ7GHC~YX);;z?LIwJN6op| z8!{vLZv)^q@T}}l&`_?GkhOz0^6L3eTbz%4I;B_3PpkpkPv3}QDOntR8M-KnBfcDN zFUzE?(|sqpJzF47%`40{Flev3Z&ORjhA5_+Uhk<0@X}f#oE-g#u6-)SWyO*rvVCG| z#o>JWe162IIR>!viay1;{`8~y7P~F?Qtra&V2T3wyg*Sv1~y;z2KL@-F1wbxx+Fgp zj5(q?Z;Gd`M)_^0!n@n{hwKL*qFVxM*t6$XnWTJFKx$y6#2w8gM!(f9u&Xk8rsoME z5z;oGMiMP^_y$!w;5rewH9uHJZHcZ?@mRX>V@SAXfL>15gKdnxU+>0HwYoH08aC#OApVfrPw68*B@mMdJ)T216+jIs-Y@K}=lZ_+StaYTvi9TF14RQ?{nO`xeZ7@w51rw*whZpOcw)DxcJO_frORwKSgii)# ztA4UEQ2aSTs$Fz<2Mf@o_s zeeHhG)uL-hxL9Y;`n(Eq9QX^qLMj2px7l)-H!^yS^mMc14PwV%U(;J_dQ$PNia!-65EKHc5z0_-w zf%~v(te;mr1AZZLPJ$WD)*krOT2=+kuXxkZQl1gmv|mu{VxHc~*EQtPnSyJBotm#m zX>e-NPhQ{Zu<-!9sk{1mo12zW!^C2m#>RTJJr!H0LEK8!HlDkrAu>Ct67dsJ_dPT8t@?HD4nKrCRrtHx7m7u5r0 zjNSX%pnVijK6lo*HFtZw8u)c}%6!5??;5&o7$3H%(XxKBVxV^_sOT86cjrQ~sL{-% z#Qay&&&VKDPg+EQd8nangRti)im^Cq&0m;_RzUhgD}mW12U^BoveoSuHGR@r%o4T- zy&nnmE{3HWe8FaXH%D-69W{2mKF!}x2;k{Dz`*GIi40Nf8_bcJDg6C1J&J3S+}Yjy zA{nvzIql403Vd>hL*%RDFzQbjPOnSv^y@uFD%0D8?_BzvVL$Xj=a@-YkOn}4Bqz2F zi0yMPfL!g$SdR9^jlITojllF2{#^!L*lI;O{6}pKs<_UzsNG;t6xqq$LNzZJ+xNb@ z6N`PXzsxRhI$w+KoY*eb@4!ZsiP+Km%v;E5wSE+h%dy?udKO)XD}v|yG4dFcT792} zk!hBFyWs#^E0bM`{&6}R{rn-4@!f%wp-y5l4l3ht6Tj3<*0xK2W@c81AFSFAt+D>7 z5$!T;Wp|_VPW(cTu-lBF(4?Ju&^s3olAI2FRV4ZII*GV(&^%z$Q!u@H92o zanp}n$bV>^rYy=UHA1xvCOQq@>J&zlqWPeFs2b(5H%Ens?JaI|Qyazsw(18co9vQJ z<<=nj!5G`)#al|YJDh&5v&gQl*@GKCJSCO## z<&52+X>DqF^j`zKUyZboSFv9?44h6S$Ziou}e3#&~3 z$#V`Mmx7@`VZ$Owa*TMT7Ek5 z;Yeol(DE1PK4*P##H)9!N9j{Ki$#gELG;DFCyrtRQ?TF!Lu7?2_bcmRsZqvL7BtxB ziT&cOjtu|XVuAbcVrK6LJxp|#b8e)`YLUk_7pGAw)n`}(=G$@0zX~yJ&<)R?P9W@U zao7YZKgy~1n>Ef+ct-f@^}C$)dt_GZ`7OR>RBIY|{|=xfe#yYFP)K4~%%`wr>iSrGlU9_RCS{{YiZi?=QHYH}NrZA&>Ik$0-=$ z;s04wyqz>#Uya&XD(Nmm&tHHuSoLUH0T(Nz19!iz_NUxrHg#z7E^-4(=&m@Nnl=Jj zr7NTgjK}oLz$=~%MzQy_%>EL@tp3-}eb*$x=%MhV-jbaX=#u70grVMP)R6}4z-4J8 zurDlxdiAb@tf!-Q!w>niwd{zo*nL1a02Bp+#Ie*IZKBN(FjBdF}Pq*wJT-&C*@>>}amqvJIUXQa53I;|4&`bIjp% zw(|kfJHPHq?>B?&9}wrHic;A(r1L*A<|g2XCU|GiP7$g-ev03xobIWh7jCsz z)s*E6sAZRwupH{WjuFW|UMF3)&0< z<*_IrTJ=TiI4zK_eDKt}RSq@2_4>hguGh$Uqu0rR_j1z7U{$V zoB3=V++IuV?E9`x^6FQ9YFEFtN2%ftmkMZnoEMF5pV?EZ^&6DJ3=Ef_;&{=2QD^zw zZZlpCzBs)KK*R3`g^o5Kx)ED1wGreh(Hm7fK`^_K#4fe4QwRK&VYLSAG4+s#AZBW3gl@UK%>`$lw6A#r?7VhBDNGo zqm}PIxcYjak@#1-))=jy?8Xw1k|+G5jxH~t^!ZCLzjMAZXT^`?R?ouoD9N|P|1Lim z&m;r7;c@G2ww-+t*|KlG?VQx;mD=0Lci0m(oRAXw24~(*#i{Zanr&C)f$+Z!Q4xREV2p;};$c1A4x|AU)4hfz<;-gH(QaQ1e+&vPE&& zbdkkLVw1yfCnwahT&M5G@$ybXrto)^$?|?AC~W2!>hS33C#b6Cg-I>%HTaDZ@#(XK zV&evNVK3pdvTDC#Tov8L8CyQ6k?N-FS?>9gIS;pDiZeH(9`7~v4${%g(&zHz#I;VPVB9DuoaTMR|#zpLRow|HZ?gtCwMaJH<; zJpWR)7jX0AKc%SvJ>H9;G^w-0Fxi7ul}r3A6BuXh(T~5`nFC(vc_6)xKF=H7zWgN9 ziHFFM436Ln73Z`@g}OJG)d^bs2T%8G^?td{4bE?e29adQfwXJCfbe5%`=C~sxlO^Q zbQj&Lk3O7}F~&$>UtyMtXqYN*M-ne#e&!%PIkq%GMO4pd`JpXAx2~|nKKVEG&`B8QS_||K3#!KdB zzMY$$rcmaFq#x3lsAga7tJWhQNR7viZOKgWr(OSWr!8^U&wBqU&^j`Bi+_r~|HL-t=vhlsXUi#OkmP$7Y+!pXyZ2Apw7w7Ne@-K& zG|^_gM)q%hw_^7XAAxGilX;MajU4q(Di%Ouynkf&gqw_1dS^zF9&Kb?0%j?k`9#s~ zfHLFMo`w{i?}ctR!Vd?B4Mr(UpfT45J(b1zx`m3g%!ZuAAQ6MgBw`+_HlaG5zIhMUNoZ ze2CKpEITdLK+e!%5%uIvtMXbRjZ=okkv}>;r0ruG&6lIW0Y4ch(veRKcD=)W7daR0@oHNgUp5rEi-FQ)QRg9xui}>`3c2}DJvpS#sCbk0+^Ev9nN;LQNL-G^tB>#ijnCE}Q zt(-Ku+51^+$wu5B1qn486~EwX{h8|g;sGE{!0gB8^VttLUW;*^=(JxZbov{{qyx7l z^7LeLBX>a8hN^-?JX>whB%b*6vJx=p11=PRYSFOM5t4zJ352#D^mT!~e?yTs`hW zbY`dykY(gHHGUtFLwZJtA;889*La8E=`1;q zd-x0~)Yi+F>2xfcIroV|DFcQ;k)D4|I<{@&Z`2Zi340}C?irlhRsvx@8_FO8c0Y$H zK?3B1J|7Y|2rE#%YIDo&*g!RkR zt=#5?2<()041@E^S+x3db&))$56K^sSkMDxyd=ec{y>}Y0wI{DjyiN=z|$49d6f&_ zIk%j)>|s0-mTVsWwf68Ckn8gAez46`azXO+q)ZyN!f^+^KUz4MWkPVTs}J+~g^LeN zy%DyCv>{GTzl;3XYhU(yOY<);mZDp(eZLXBcTdym0|dC?wyQ=KW~Me~0je+S0r_iL zHD>?x^c^mQ7JfZ$&FG1&j`=t2i<$cmH|Jae0@(z?dcjc;@sT7u8;mNbx?{!Xjg35A zYmo=~DNgc^*oaVV?dllS5Fg-K3$H0c*Ct?gq}_;b7R$7)Y~d?x&$E{*R9FPDv`95h zC#XR*6R`MQCql#(4tI5*^0Hx3W#77(GT)E)Rpp-gcsy?I^!j^%O-J1du6wM0O}hJ| zq9@_B4p&9&4RYLrCmXtCP?GCrgs^3$Ap$X$uQhIEzyC8B!cZ~{gKQJ+W6jb%S3iHRX??mceCLdUsDej<+K@QO2;p@r8{Ty{SLsgj$~;G(w|$x z+s=ko|7K_@XZyV89q-!G4W+~`>UEG8z2cdLD2SpQ6O(H&0hhHfD8Z?U`5&lIbYP6W zt3|w=7V&QeHxK@2uo9!=-~+Oy08hjHN-->}xPSzmU`C@Zu4U<4+w?!9%eBIH z8JT?tP-^ZtdSDv+>&KdKcLGNOd)=&M|4iU-@MRU#h|I%^r;{0O6(yg^3Ttqy!QRJ0 zRvh{uk1hT4B$GGD$yPS)f%FJ-fQlhI25PyLjE7Pkrk zRI~aslbefrFIaz62BOUiFcN{Gl-%kur0AUOf9M-m{&z=CWZeBC|M0;W49E0;o(kmh zKTm~yc8>&dV}zw2@H#ANQT>wTTYSzFKdK3ySF? zQR{112!2rKLC%hvdS{$ug+C}rn7%udALYP550F(n-w;UOj$Rn_w+T9i<6p8Z2r{+2 zUo2sHG%al+qwAb<>dtswGWY)Wo)jgl-JCsQ!{Rai_HTZ{Dht-YPs#_$#=I;h+9|$^ zI;b|IS%(wx=JM%OCbKy1G9L}6SSw+6@W5|-uM5!?3|AKna$i#azm6%U3ztmE%}v=h zH5?&a@=Ud1{oaI7_paurHK`&76P6pbX7CE>w`_4}p5m3R!n5d+$Tu_Ec1w0C>etRF zvcESMaW$XkF_&2ut;)q*1Fx0iFoT+uRRnWhRDD^_P5i5p-|9SAC(gBOxTS3fSKSgN z)#0MLS;4&i^$Ysg(iw@g&h9vv2?-3?;qkr@0{-HhQ;3lij>?(UC2H|t7d7)43*d_p ztQ99!=Mc>m?U`~3!`1(eW9#n{#fka$T?nKazoI8C{WNN}qcPrK-NrHby4vEax$VQ_ zY+Wfe{LjkOE`NVohdZCg_-l+?;!mrgpN2YDRS^FE$*9_}DM~uQ&xDm(JM=>W*%uF& zVh;vc>}>x1pTDO1fB!X5Y{}Bd@JM+8$TDkgUF1$sIPGbXH5vQE;wN@1MK{*a<=vVJ z6^}tDr!^O@o~D%ZkN83xhT?poG$V(}GozvFEPG;U`sXvZCflUDU@_R{bv^~uc<3~| zJ-r6{Q0**hD|Z-ukUF@Rw&0&1lz_dTlf-E$E)ZN;E;!HfYq~9cp}q8pAUXbp;=&3UDJuHp*AdysUb=KTyy{Yil-mYi(8=Ve&lzf#!19`OhVmgOl7beDE z*u=*>jdUfKUt28udTP@bb0^MCv}9H(M@x-JeJk4O{y)!f--At040Z>rP0=Hr6IR(M zOc&WmRq9#!WiglVUl&YZ4|}A4N{tOy{h4V{F>{1bxDjkC*NZba7=L-{-Qb3V;hGe_ z!ZF1=bon53m+?%U#^t2o78)^@_>1Q;;EOTdCt&yk=NHiSjF!j>=x-_Z)wIt8rqs zDY$ODZ@z;@icy(kgTA=Hw5k$uAWc31P4xk4Fx-oD+*2gz3&VMyaU~IK%wl^@t72Gi zy?^H^R54Gog|1Lb4#|!qmX>Qth~CnZl71p#`}Ooylss#O(^)GPk#$X%N`e4)7Bhrq zjN$={DM^i{lXiA;BUeqN4Dc$)eu`r8T3caC^viZa+P4fX>aAP!-SNh z#Vyre-uIM~fq!(x4iB9z%y(DLoLk+zy+d54D)c|)lwP2q`fTRAYt-9Q_JlHY@GrM~ zx8i@*eV@RV?x}4)zYd23X7O9yYp=~aa{dfN59IVVvYJVQ^t3sBNRU*B2IFs~g0^e5 znzjY@^_?xE?SZozsggJ5(UAQw*|#cH+qL(kR}j&YM$mtx3}pWg0xR)&LUY{OTdB-0eTG9<*Xi(^#)JF>g4RlF1n0AWL`4awK*+r~?{~ zFUMr+4Bfr%M_3N4$61>hmPPYqeC#^daot#Iu25dyo*h5bd%5%uxG?coPaZhG3v`eY zMoe~kaiP@Sustd(o#zc$L?M0#M6GIAqs^SQ>kG%*nx!e(x; zsd8|if7N*;>Z)6#xk!lf>C{GJ>jJm&?5^&f<$9R(kxNz%BOy|^p3ZOp(Ruw}QKtgW zj;NyvfX`ZNp6&X=6$F1c%v-^=N0R;1OoW2#NaKuu4t$<@z$9r1wM;0<*g#AqOCJPc z<4f)UKtzx(zE;BGVA-RGG7b!1OfC+;aPqfCMp#4UG~Aa~{u{;~mf@x2$Pf{q{3`Nv z7|oVEq#v7y>680mS`1uiKGWk_uYiArf>PLYYtE?PL*hXP9$}I}Zs8uXQH(V=YT!a%_Gtmmoy+zK|!Zjm-s+Cwb)l`8C4$u z!xWuep*9Zp6%$2C*Wz#k8y5A}qGvfzDG?e?BY;tffvz-?e(%$-oV-BzzTud67yZu% zw;=C4i1@v^xpe2K0Yg~FkBC3YH(VJ6aT>C-_fvknsUzBs83(lmHy`-PdzVxK?y^qz5|2rbMNqz04V`u& zEH{g^G@I$WOL;voC>Rz8I>$VFn66@1^ecw=52s!gDWC;>^D=zTm*mlkd@qye1`HX* zC~J>ZlrI$$5?QrB)lW@E#_*M-ON#Ef(9bPct}@M_1Dxmv=vaXpgKA<8EpPHnEC7R2k`w0Gjek6GB~jInn@JvXEeimBd)TZG2#NV(e0F@Xa;P$G7n_3)D{>;6=H zv)!)|(xbx5xtWxB$=+F9VAlp+=DG6CzA-Zmo?ub-^cP@fjJDi@Cc3XeDRzKP!TIfh zmu%1BeGO$l@|=9>R-URs_U~JUNq3%XpA%^{2iI2tpbz{~foSVX=hg478_U<0fADBf zNOJp0{|n~z)Z5{sBi+h^!zO$r3<)D4FbgCT@!z3d5-lR(y^v-c;B6tlpk@w_lI(~e z=JS10n;Zz6WcT&NP`Y-Mj=m`Lc8!OSqGs6}yA|nbhkM27fE)2qj(G+EaQbPK?Cq1& zla^f22tJR&{5NRJA0;FW^Xj^?pg>0}HLuEIUSaP@Qr%8Od-oir={>G@1~3H8N_;%D zty!I0M(HJPL15+o2OoJ~(-wTuN|4h%8edU$%Xjc-bwiXm@>Uh2TJ-OlZTn}i z@W}K6w9qWB(Eml$vK7yY`)4eufCCvru~p%O8V;~h>*i8@ZCem~XpiesEZ^;=v39nP zDKJ>Nt8vD9INNR-9lw!ijqe!J>?jS}M=pJ* zFSQ>D$7*Ov+#{~sJwcxweBCrs$8kn!4Ch~(_dU^7vY9qF;NZ5BRa!P#OhQaSZG|t@^J1#`+{jC&l}k6-mD=Zn+0W(sZAfzM#8mGog`(m zYfI(DtwF3bz^TsjhcWLzGhU=B#{qt{U(f9$7VXm}9IrT`%X?B%HDbj6pudFU5|udF zSMVfowcjI+j{We@f@^X&*FzTq`rV?jO`GETXZ>=GM+-Qv%K(Mr70cLxHtj|8;ti>RZjztB~XsY}K4QDzfHH|0i2B7CSXun-(|2HAX0tR=V?*796%% z+8F*6-ItXv-23+hGO2%OMhqH zB&c)j*NO&+HD=raON?IQ9d?{NPWK6<1gl14CbsU=xoPy@{ilmk&irpe9)PaflvOSI zXAc1Eqd{pUi=N%^QAf06YSGi$ed-i^-LAf0h$I(lJ3OG}5QD9hs?Wi~xOG;hVxOLN zcWFK#vz|2+V~7!`@3}bqCVUa)AxM7UkT0Y=*2dQ81L2Z`sJ1pJ)Msv&SOJF?<9mVo zg?RD4Hw{_gnR|5Ii9c}m-OYH}`@6W`wmesZz~sWgPTb-)_VxY1@cF%7+EvB1nJPwcJ(dg1K}0tS$%=qdA8OwHpso)-p9M<*sD1$yvH6ez0Zhj zWMkeWXMgBX^98*c@WBed=!d>~0PLq5LkGJiWg(!?O}J>x=yS9vJ7wb-HZIAeo!)}D zrd|UVXY%2dTR~V5fp7U8`*N5Yv6Y^p2EEBx!CKpMPNX=@II<%qweaf2uEQ?NcoFU` zNCNBsF?H4fP5$fqrx6fP5Rg{s?hXY+q(w>?-Q6)736T;6=?-Z|kJ#vDq%dkQI!C8~ z;BV*qIp=rIKimJ$^StA}@9TP9w%N;+n#R(PYi5t*8hEA16#1khq;lyaZ_dP4S6|0> zbr+HJ_-QiKdYlAT5(zR?Pr z8|>p@G+Btgxz{I4Z@pK4&;pau`SZcR0LlF6QFPI%dXVnb5-f%?T>+YQHfFrCz4 zt*VAGcJr4))>6SqgeVyuaaFp%>=x`#q!uI5&c(!D$zV=51nK8ov+-xc?drLlw-4zhxb=7V2K0Peg9c#Pu1tZpU=D9jm zR^*z+WzS*Ye(+HYu#9Uwcnb|};*ZU1$=u=3U*YVof!E7+K@`o2E)ao2UiGqYdzVwz~SIqB()$Lvdp`3AB=h`bCip{5zj_)7QNY2x|6 z4VK(sMCnUsQ7!l14*3Hoh)#`W&AD)o0ms#Y(WJ)lGJ{6Zy;1Eyhix(m0hTbvzZKNR zV^WrBOxJR#;fXc4=Ezj=9nIL_W%JBPyF~VovTxOkb-&0~EWs zMMLX#zOm)fL}lk96#Cra{I-I0ycbB&mM`;PEduG&7LIgKeMauUJ6z~b(6-#^Q9}2f z@4$t=$zUJLrJ#G=RfwkEo?NWdKPx|Q@ZXKg+ecPpK&tXezgB4HBl+o+C6rrot1wgR zoh>b|2PCjXzS@21j7ux#pucQ|JJL$Nu6#0+!nk#+%aF>&(F&vKLmSvOdd#UaQ768} zNk{W1SR58sj)2gsp4mb&BbN*k1lA0Tq}1*8C)4g*V`0-*6_tKH+_Ex#aftWaM_Cdh z;-Wdvhxm9L2(24GMvkg!*fQzyjyeKW$!}$t<%!;?V{G}-JH0nrb>EOxcN46yK`3_%V5|+qYs9X63p3_tzuB7jNsEJI#3r#XtZZ5vTGA+jZ5-{t6t8sAj zYITCw0GmF{VTsaq*@Mh&g3%oYITsH9$*bPK+kUtv{!r?CGLq-o2S{3zhTNNF-@vBb zH&;yr3q+_AvO^?6jIB>v{S@48dKLKh4~S0Y8)xTTR*KvvT_}Lt1HMzJzKu!8SXl1^1YdjH1Xpa`-gbB`s>@}+eY(+#3<-24S#&`VNsud_?KHdHaI-+-E*ssp`7jXmnH=f5aT~7D-s!;R?((H^jw*C20K$KQ&Qt{ z!NCcp|0*X*g2E}>YC~a1%JzM*T?Rh_-siQFFw)MsegKJWdl?Ryg7k-1ew+~CnDJbf z8;LHj1XqmVxPCT@pV~eyd=B%4C-2Q3wovCA$cgnSJED$)8M<_vscY+bc!*dL+{)Bz z;-Oi2D{{sSUt;gT@_y+oZs}q`-`Y8b^X3mnFzpdYRbER2Oyi|)y99m<#Q**E5mg_z z!`>z}6NAH7lmy*@cJ!*+XWLhjsqE|=6#D1H7*Ir`OL&gYbLPwZ%G0Uzx}-Q2hr{ai zUj^-5*Lr}8${QuiLHoypZ6>dPh>hI6t-jgIpjz-D`kD+N8rUfMXNuwSpDD%~H7=5y zjnzqx)NoeacFe_-g|yZgN)6;DIAu|43-C>j5;UCH> z@+!+v_dQyDH~!vT)xX5`*HM3V3Jc2!&V~VrTG8;{kW(P&jfS01W3@>Kp*T{L0)G5sT4#Ri zhrd{y;p{Ewawv#W-WXe4>%{<UXk9QA7s^xVXEMNr1YDpJ zj+P-R@v9U3-nSQ9pg$wQ!{32dW49Obb1udL_P?wGIlNisF6&iRbJ*toyphbE|JC^Z zsPNPyI*nD^+;MrV3NyY829rB_9umq@>7#AxmrgmvB%(g+%$9(Vm)KDo9~|=YP4=rM zTrfRq`VuKIlsn$Za5R*Mtd1}Kc5O%tq!&X|!RcwmMH&AotUm)@G;{}W`nxPfRJ1O9 zdd1h(uF}9CA}2~oGhJ2%K0*P-ly}XsZ=3OBaDpjENBY^LzZ8-gOoABhyi=|%2}W~7 zrSLb>hDLhcIZY|v8m7m)o7z}@DOM~nym98PG#r$wEEc-;VPDT;cHm4id#JJ=a)DDG zO8sC~E<%k^nQezzms!53kC^sesA4j_4KNN;XQ7rZnjzG zqir(J9BB5rEU`hKy+ur!d=^QqIsbm}xN&Q2s1Idty|Gq_U=B~*Y}Y6Eg_>_KdkD9- zzl`fUL^?;Bx%QbabS?g#kfew(FLl9v)FVDT3HQ_QtrkE<1?$fF`8w~k7AIUuy3#q^ z^PlLQN~!Zx_Cvm&a2-U=LsMwQHT4@&857n zO9@et!{3CtD-k(=1o7^xpuQE11!y%Z1d)V zUfpJuRcNh*>ze#lYBxrR&YRzTP8aZ`9MDX!9T^1eeXGPms{d?a_iM%viRGuGK3zH)QWvS#TJ%!xbJ zl=BPVvj_8H$(TrHq!8n8EUj2Z-y12)w6TZE_EO(e( zQ@gI**WdkWz_<(n$!owX;jov z>sG!N_=#4Bm`_2E2DqbEDR-sSUlvqMBXJCqc0;|}%r^R(sYN^#)GNgPu0Nm&eVWUl z0RfAK{0#rz(A)uL;TXqhnJ0yIkK<^GU2jmN(5y-2A6J4}o?P{g?#t-B$h%_^U~v!+ zgKRMiZ%eC2h40M9?`2N`RL(o@r*a#izoeH=Ir+g(y2$?7<@+Yi)tqH(vFwv}C+JC@ zn1B-Um?*}u;5~bO1Cs!xp6g4tkLI=n<&B-yGU`0`WNj~Kpq%Jpsue%;3KWa*H!!-_caLV`2GLC{ACt=~)R?ect- z`+)+xrp*9>%T7h3m~xF3Bd+QAx3c4)GByoh^F47ZwbIc@>x26lV>?!3Lw_ZzIF$1S z8FI|nbf{u#yR-Th2mUAYLVEnxkeSoh1k?vqm8f$%6&bqNbXY++YCe1RY;}Rk#6z_j zspPJudeAxuN|$nFko~>80ha<2Uzs?cm@t!$O!?XUaGGgppftcG8x#;GHE2H*ku3`T zgzMq3iIk|pPij`~>ucMgcCDol!mVYFFJ~O$%`fSNC#={`(y6_LhSPHFW zqO>3cww%l+RH(iA)awM4$Kw!S>$jU%E|07XeDpIOYr*$*_a%~N(ktkv2u*hY@liyR z6f^p(Ti|1$|K}L31H91g4(OCS)M6_LTE^e8_!4>z@Fspf4=`$Gv$m{=02A-JaC#L$ zi^lW5$Lrfz6-d8_f!grIH9Nm>fnX^kBA4E<=|ZdyUKp&|fZoCV_$7}UTn3$L51@D9 z!fY6Rw!kQ0J^ciKJRv%VQL=fYBGn@5RqMRdPGMI#hpP#`g`G ziU2#K1guKAFUXq$J0egrVlVNNIWwtd^l_mLD&YPprK?mG4n7O!`}ND9>gO`xB}rVQ z;9g?N904RS#MUb0gbbOBBv8f=;<+4J+%H&@)pHM zjVdH8y4AKWa@YUfNxr)6>-jh#b?;41C{HJshn6>M*~dl;30?_St?%JdV$owM_9H{Q zfb($cB2@9cKfZhF<*&E)nP%}v+mvD&>9d{^C-}`*7{74to|NW{oLeuMvfAEX+{9n(?MN(8w}E0~j(7}dXH!{Sm@v5d5R%n5>sTr-bv%#YDdppNK^xREbeUoRP7eVANhe3j6N;0?e4Mlql)6=Oz$-P(V@fQfVxiYG914=#w}$z0 zvDkRGjO9qTI8Qeigl6Vf6N@$X|k>G8lO-O5kf{^iq!hrWx><4wbMyRQkg5?L* zHk+{e&*1LRc;kaaQ$zM)xOi`u9DWKyV_Zmxa&i4x4>+GgXdGcY_BXFx3^Q?~;;8+v zOuO2Itl_)6j)g^TME%zC`~hZ<#yr+%<_Km+%=+(}?Ge&RO7btByx_Zefr*8altA@J z3fMg$I#ADpsJ{xDvsHfV`_chf`ERtBXNAr^S4GDw zb~#|OG!S))l{+xOmlGM1;SKqCH_grMqsO9CPnHgy4U%~rt_ahzQHnAFSTb+2rgv3i!ycA3icR?H5ClN6eD?lIAtBDGn<+{w(XRpO zErZ+9SvL^WRJF^&Rlizlx>5D$^WJOGu7mt}kv-|3Re^z8|_w4EF^YCjE@3e{;Br2@TMq zX#1XVd737$$Pt>LYOi24cq~!;Ho@C z6fwklho%$DKj->qTyQN6^5P|uO5S?* zQuVUk8>_1(mtz^nMQfit1)U7XRqAZ!{C?ycckvGfa770f6hXb9WS>__q3_w2kfzRL z7udYo!a0K(Vcf4F7>kOg1p+t(V~I!?_MGZtT(+^Q*L|Mocr2SX#K)c;V)V?P(4li7xy`dlP-*rL2Uj&dvo!_pBT-tHraCi$U_l~!W zM698C#bcUS-0OF3DiiI|7Swp`dgx%Wa`RV5K4qkFSes`rLWgjjR@7@S$K}CpcY7O_=_cuhFs7%B! zcTN~!(Z&Zsl-+k0JkPKH={&VSdH6HC113yVLExIl&^c+=gkw*ZG8rYHQwqd>u*uE5}r`3VkeCyXMOev;EHC?X{_Ij5L?t%SH6zMBTJv$7b zE^UQRDeops$FnHD?mh&LE50wU55}T24&b5r<}?7BDV{bSbKG9|YgFEK2L`5!Zkn`JOU)R56!BT*Y`Bu!lAJm6X#zY4na(GSNVe8# z%6bN?Fhbi$QaKlJY(OPk{+(Z)f5q@S*R2^5G#EG4dl~ja+0@@C(h3VQnBKe z5bYI_wWh}DhpiOvaV|kY1wDYLvXzKwU7*B3JZ)?ggGsr-^PL9%NeA>fi_~AyWX?H>;dvFEJ6jW^Fkh=EXNaxmAch~P@ zSBpmIebuV*Teva#UiE0efHzq1!7GGv z$;Z#%o~KB}**o=h_paaF)4`w%Lj5d$6Z!t7>&x1$AjgzKR4lz zIW|N%V)LX8K6{^W|3UB#umA2<3_P}@F`ROE)GZ~Vwchyi`S_YPg?J|CDqryHgu^D_E zq^QX_KTQDn_M>mzEZgd8ffGj7%z)mcXsXbtV6#h`JHkI4dGbQ(+AGqhVtVm=lXkET zBi0GFJ!)dT&6v29WlM2p`={1qp$QsR*0YxsPd1374tV zcv%vwRT1UeZBK@bDN1`llRQz(*?>4PTRa@AEu~1gQ*d7SD9!QM!%ycAYh#bQBbOR# z?-CvlmdhQ{32>zZREf%g5O5z)rEAMwKdTQs8%HzBkAzB=sbyo=8~DxNMY`$1=kGJX!quj%4Pc-dV8D ztY%CJkuX{6=bF5vVoUUUmEk9UMVihcfNm<$XZxu>0+u2Tw;dj?O*9Uo&VD9$RV=;M zDH7*RKwdK_ZR^@Ut7v%t7vQTrHe00Bf7f#ycaBK*d(PQM&&T_pG0GH{t)bZ)jDiG* zUBxq`Tj({!M4a;Sl}~ottN3=gQ@s-nbKN>pJ_8b{bKRpiSTYH+I(<~lC2oSxMj7N! z-Wg+d{>>CdHnn`L4^lN~V0?CpRQd^SL32l4j`~ORbvHJ@2M0b#by4}K_B2Z6l>;XZ zc6)QqnXkW1jyFGeV*ItV#T0ALXZ-sR#)+E^DRx4!1!wjgy)9(S4DjY(&Dqb3*Z(sf zD-eDi`hyJ7{9yZgtwKA!4k+Q$>W#^aTf;9$1(sn}hJ)$fu^E6uG^l~9g2*q!pFEaD z%3gyRxbl!v7A*bm$bmb!P$>j+Yo?Vj8y^S4o|^xrtnjBT%UqzjaG|?i%jOX`XC8JQ zH7zHpB*4&~FA5k|U9q1!oUQ3k&~cg+IiX`JT#&UTGX0QzH@dWV!)TzLk+sW4uhpzU z28n#I3JQzz(%MpVjvtrG#0l?!lxc<8}$9-de07NBcG-WUduv}HA z-x>}rr|e*79k#jXovIjUnUz;(JQiuZiOY$5UUcZ?*Sp$Z4Vs^ zN$n|uVv8kq>@@1q|ugVnT)2)r8 z-=_Yh6p*ww`_orH(Q(1wCGJCRpUW>&MXfV=Hwfn+78V4oWSd)D!fG*vlWj_w=kz-1 zR9hDfBqc~F>~I4aaz`4<7Jli`s^_Ntkz`TT7_w(@j=VRf~{iO0tIN*NVX}*zn=M9dMUE77BS|>ZeFyfULhwOU`;t zr=|r?J)Tk5&D?KF!<+VzYf8o3!kt8eHY(>9eLu8QjNaoXpf=evgEZZ|9Zx<9e&luD-yCi^ z8^L8CisOeL-H&}dH^)hx!az!oT?A}OebA4-D6L|i&+meK>`?FI6WF}7`dhQW9QlA` zKBs#MRa&J~A?Xf~V0n$Bw)zw^keP=uf#Uzl2Yy1HeA3%>qjBaBw_PEpXdj|&gE`J| zY$qhQJ!%RU8MJ%gq`62OxZ~n$_7)rE~J>8!t1|Wd;|J zEt=-DYsM7T!9FaDJ>N320bOYyvgxA2D)JlK5+G%${bmN0+Xgb52)hQc<;lI*%WT}@ zFBlf|evJy&mqvcRvo>ZAVD$i>e{LN?M0|D^Z0#PlHrM*T18ATr za}oTB&ab>Gqm|$}oz&ZaVL>ohfX2*F>U>z=j8tHYaMLA$|LJNnF(pKU=&VOsLO=^5 zv~FR-B!D#RlKK5UV$HaV%a%td#pAQz#8r-o_9<3dzyPm(#^k5qF+qMUn&UHUe3JFw z(aF1qYn$=}9n&6`dfO~SKl{8jGo%S*WMssB{@{o@Eivzu?>+hwM9s5mEU5+gj*pAn znpLh(^W3R@8FpQ}^5zudzdJkAzw*{5Y<6X#=jvxr9_q19UW>jVX}Qz^H2S{5G!0wn zTOp*BR^j`nL?tr`0aksK6*`E%U#F1T)p)zTYNXEXQ>VXr+R`Mp8+iv0bw)3z%xtvF zOFhXJAJ3EkVe%xNJMqt%w7(aAoPPMG_HsGp3Nr?R_3Kq?+M7JroXe`}f|3dZ;Ux9N zFd^qEuD>k#Bz%MU0^r{gF~jJt_3( z+~wOc`^mi!8{i5g-aTcwMoLFvfioBsO3yG;0N zU|z2S2IQW(Bk^l~25y=KH>Sx(7i7NUXxtfOCdi6z!&@$?l2RFw!uR}q6xW#6(@i-& zc1idUcfJjb;85gd{Xn%T^b)FRl3{Jk_T=rBX0*OnnFxc?o*%e8u>IM9#kTtmV~XW8 zoEW?p0m1+sE#tL|N>2QF9(ZX@@j1<)19Iu4+SKT0SkRb`Sy#D8*m+dXaBB^1X)DCP zcAdx^mwomXmSU&fZ2vTJ4Fg89oOzl!_gdRP#b-kNqN(K@Am%K9lFFo2B91+-5y z!Lvh`R98+F`X`O*rxa7Iy00g;tGhxAj?q}&N?zx=ls}H^o!{5hpx|qDr+<3z|AGhe z|3ZU-8rUe>zQ5)I<}@hB7)cN265BIc)eyzuUxFoxmid3(Qb_asfd&I-g|k3LL%c( zOWo3W-bN!`lr`0A!wDUoJ&iE~c&n7;VEXK(#!xjXHvM|I> zVm^-*qyC&Py;8YraB5+kp)Ew44a+HezYwH9F_Ju$s5ipR4CIP6O>=I`8+dslt=3KI zLf|*OTWVV{0zb$j`ZahoNszzPVO!=)b0rT$L z9*Y3=32^l}fXxp5Wx+jS1yU^mTz@kJowuO%g_e}kn?_YK%Buj>LTLF4P#DlkFj`*NqEbqn87?IyXR7+; zJJmA9^7?T2PICc^!ob2;_@AL-ooY?(#g^e&E*P(MFGuEB`gik8I8k^ z^8?XrS~A&&jI0=EfqCv;I9uJCUMXNrRI9?C`x-Szeqlh23&avtqMD8JN%fYFmf>@( z9PtjdFwlGg-Zaxg04%#Ndj#>a_nZ3**$7*0-uU|Z`<0Rtt&Qv{k_(*=XtD2Da0YqM zac(*l#fT+WDxNUx=Pf-#Uh#Zem6`F?JK+2OfJrkuv?MUV?odLfT@k%fS)%BmxT%%6 z#R!&43DpbxxMt1)ygZ}Py2W{w6sIUB?JRGYX>isPw!-uFkiv)Iq>A}y~8k+%zG08{|}E{Q{vi8QN2 zk-%>gx|N_31z)DP2A=Adpp60zKXEbb773RlN6Rn2ueA4ApLvXzd>nCx$5#3|d`+(0 zi$BTUYdEAaomKTvilY9$bLs>G^$WezzJ14v-KcBLBXO<|ZVC*TmuW@*q-Z0Z6B>Xt zRN@;i3k=-(L5bE2{(IbvJA7WlIJVbjH9zjSA3lHa@?%=PzH!l$_1M`6BN#waKcATe#18dqNUSO?gtXzRbJI6AbSUE|9b4 z>9nTzj}Ogxx|KUESVK6yt?T67M%<%tR1-{?6D`hpm;oK5&pAYvx;b(-avl)Yy(}ccRk2v*{HQxDudoMW5$rB zlq|%uH)J$EJ1EoNh4(nxG2o`Xn2P7q(&D-N7yni0WuuU`FY&g=d{MGrx`rJ$J2bxj>L`3}Pr60Y z7wDz&X5~fZn6MlT=6s6XQDq**1<#Rmp95Df3N2Nr^9xk{Gj?il<$)*>-*+u*bfjy} zExoiim8n4Ix46cL`OV+Y>E8I*%trI&Mb^rwNAiBI4X;g{4!gFvS8=Z{t8so3PU5WRX~I7H=&z#5?N7WH=EC%6_|gdj zz^japciU<6h!BDc)%(Zs09w2zsYi&?8lhFN-nPwnNM_~$EWvUXYVcRB%QYF-o@v?mVOd0uIN~;SyPb!Y>iANh=?i=V8vvNV7 zqIeeAYsi*&)|=oUYQ~OflG;3aB6$yXkmuhKcENP5?1Jx?2;DybanBs+n8a`62sI)=_!3pyw)N;4l;!d2jY%#M zRFeuifrYew!tlc>fcObR2OrKM#u>}Wc7kql%Tw=0->(oqoa3E4ldpsSQICG56raZG z#YK*d;s06aGAbe8-G*SSU}}uK`6Emrtu=&Q26(-;62{CtZnJ4{ZIC)WbFO;ui+nZa zOgiKH&IQbUkBbaCDEoIc2fXQ!Q+-G_!HuI4x(OAltt(d?zuJKu1%Y_Bda)LG^-BNDB;Qe1N4b?(Z%V4)1ximRX18Bn`J_AlW-@{ zu{07^7oP3X+@YzxLSFf$aF4DOA^{x5WFy=)8Sl6pSpA6iThv%SV0bH)x)IM^gpKaq z35nRiB=p^hC^{hTdU8p#?tkEVYxU^M$y)tE|0OND*0`cQdya0X^mrVuJ0K^XJ7Fq^ zHFFGCm^$pcMt<-EH_h7)SY_Q-fp)D6%lz}AYR%Rl1QSO`-lK7rZRjMxL@TDj7-;X6; z(0Y#4XC~XKo0Ir$Kk7_XHmZ*lI(_aLGra4ZBM0J*HgsVe^G1-mZF}?Tr>c)Oymc~v zqnzr_r&V&eoKCV#I4k|l5Tf&HG^sV?JMjq59suKSBF?zQh__+)yV5S6nzl-gO-g-+ zrAZm;Yz@30g84fvv+btXJBlge==M*}4_+Aho^hUOy1DZRsne&9n-FuYh*WdG{%-+c z-iUrw=E6scUi9ckH9+fuKJR!`d`p@2(Mw~Mr;%Rxqq^`m!#JTSVdGmFY&{tB(b29P z3#pW6Kt>c8zIOF^1ILhaN@Mn=TxN#~k2`Cxjfc?X{_L)~ev4lqevoco`0vWZ(Kl@f%h2R zlo`t1PV)g^ER4O%-`iExX5rK;IGj^MAfBbeXi=}}iA%alE0_sUF=m*n7MS0EH!f=> z_{Jo8X`Ju`^Y{HW;n9)H^RX)4EV4+W>SrVemb_UU0=3N@N&YKq={h?>`sHYB(WDTX z+_u%nOMkLWoC%B3Wnl_%3vq+xTt;s1a=o8wm7N6#fKnA8&KKd$)Em^GZI>c6P{npz z9uPtd+V0M^Wi{0<2V5nYMm|C+1eo?C|7Y)A#OftLRz*8`N8Kb0`krffKQbD#$8XEr zDXhHtutLW4YsJn(q=s_R#ntiYDg}3mujd=Z9eHiYSiAI(Bf$v`1?6)K(V>rwPOSPH zLAjexEb*E7+gDKtLA)GbRZf#R2B(`-UE&4^)K0p=)01q>Rq}tmqnDyGiRojq)8q?U{nE z5}FLm%O+|hfP@+h#8G3Xmf4lnC}?UX{F&o&keR6S`b>?BR#M)KsOaczyB*9E9J~fT za!wL9FJ47cTX2pW{;c=u{)b#DJ`=Ic%f4(Y}@&Ji-4+n=U_c+!ZCy5g)U{P z5|`vLweQT(`5XoH{WEfX`O^zTULAY4Bl-3`<^5BqavlWeE)`xlO z$$jHvm^R!+WY;aL1Cq1-IC%1^AB{A#a9B!dhmKii^Df$=o#4H#vA!p8&EMbf+@8!? z-YA9D8Gc`R{$NQp-j#)Y>BEqm^Ty}H{CyZ_v6Q%Dn3%7o?Vz7MtmVpMa@$4Dp47YN z9LHORk70#;d{|s02YQg3(&y-nRU3EN@yr5>LOHs_*CYL}8D6{7-CZ$up>u905nK*F z)WGR@*)*8>pLv0F0ZU05n*F99@GoP4sRj2V9MfPTlNofE(j3RN6>LdE>$W*0AbD*x z;~gWV^lvESTcSUOfP9sR7=J%K$-vEB&rA#CLB@QC<3#>wf7P}ch?3%1E(28+|F1gQ zM}Y)68YD6qPNEE&)pX$b7>+h!;95kX^7W*C-xPG+BTYv)&IR0R#bVy9k9LM z*4pa%;$Y_6*tH%E(UR%PGmxeJCn9~=NY}Muxg&f#$kW+G*G<5Q4|~(QPopcs^+r?G zYl_84_aR9oJKO71%>&L$Pl>yv2@~1TrTK9Gaq_2|a4Ven3 z_gI&WRFdS13CZZUEfp{g+o)G9ew33~iMsHoS4|Iv%%PTFobw`HWD8aLh4%p))Vl5P zj~iQ3`8qr>X|_mvyA`79f(CgTeH-)cX$`>Of({0K-gG_{KPHl4#vk+$pIDwRjI*zR zq>MmYA%j-Z{Ylo0Uyy#(%l{cjO<_^lVEPlx&giL%WIomaH%i;Gp{KK>15|DL=rsXw z8S2gwKqi^DYqu26>(7w6y!6XBE3KHd-ml*|dv#KQkXUZeB)1ukvXaHLvzEoTY)f>^ zZc1sL6*M+-*a`4!=p-+{=eGy?SeCGsk9PLp=P>e?j7|7|U5JW7yB5X(|sMxYQ!>$*UhL z+d(4o5+zpH-rzaeX=zDAQ)@N+Y8aV2km@Wo$th&m+y3^1LH1<(8mi$zZq;DWn(EB{ z{&7g_V6U4gVm{=*#mko2=QwGqQ&)Rubz(ynx|&ikj;?^&>DX17dVQI&>xDy^&DF80 z?RCR(Nu(lygx=HiNz`MieS3wwST>ZvWjbT(ftjK2iv z``^2S2ZaCWI?0?=*Y%_diezd6OWkpXd&Exo^c(eWOy8S#&XVHfa*VlHWv8Yc0x zrLlz~_$XKl^>pbwvLWV<`->bH6F3Zq7HdR3-ef(N@`8LEqb3`38;{1K59_zC3_I5E zB`cLUIS&+f;oPS4{feEoZHRBg#$tzIU^)&_MjofUhGtohXEg-6@)hn_k+fQf5#BMs3vNeW+=CRz zMDE`iw(_sI-Cmh%fCj>?nFY+8y;E$^xZQ*vH`D3=eS6l{m^T5-d=v4wH+L(@Dfe-0 zsgM(7lq2O;fww+M)H$vZLg%w_fakoX=F(GDkZ36Gd7B$z6f^Go&iXQ-@-!!?hxp9S zNT>+A(=$?h?@DKNuUZ$lnkY>-ceOr_+uj0_4G+-UsV(TQ5PQuCGwX&}EYWf2Ex%Cs zF}hT(RA-BFFJ@Cqa)Y_2&MBuNHv;Oc{}Omn{XUufdNVhc8sg01)wtf(K`$=&r)|dG zhE8M{9`UvEmS`6}Zcv^r6@d~ojQ=Pnd}%j(ovP@G!xTs%p!Hg>%CYtk&J;Bp7-xm3aQ?t)lw+_8_s-Fhcal+Xgb*S2|Ds z`1y}!59D0-FVDfmwRJBAPtX)i|3__!p0BB&VNTCZVUQpRz5=o|@L*htsrAv*{n=b& zV+bQ?c%Ml{_aSG!jhyXYUNIDR1Rst!$K205=9Q_BAypIA{OWUIt6?BEj=vHoJ3kX# z>`UAiWK%yd#5<~N4LLoQ^ufGDo*f)mcigs-CS+u%T~@|4k9y4N&b?y7kX?fe(H`_x_7#Ka1Coyit7Xc5 z_X_OZ`ipUPatzZyl#neaj0Ab5&F@*~>_SQ??^pH|O7yPU3ux|5>E2uwFQbYGpqIR} zpB}2@f&ZWF@UJ`G_yktOQHShz5aFm>;L+Bf?f@#}L(DUhKip9%9@!bh9CT8-{R9q* zOnAtkmSFRz$rX4XhA2+j{B(c+5)%X(VW4tcX}f;I73u5`2BBY6{)D_%XKK$UKTgjZ zK;{?(hIrE4NmY}bo!31kgjSZWw*hRKnw%NG5xn>XX}B{J!eiy@qY$bW@3?+pNaUR^ ztJ?Lak3qVvzyNeD3_a1Wku$%fIpEuz5;wq4phWa-6HV|zSwmmauVoAVw%{?+P9q|L_2rs=f`iNP-l1M+@EQaIPeM;X%S zHu`j#oK_cY@5O#LE`oPyzWBl89)ZdRGx~T=%a*cusa#J*tYtf zfeC&PumLbV<(|u6-Y&Bd%srC=E>dJt8(EeH5yN837su{L{%qc`sFH!o1$uq*Sn?gz z%HYl}n`RM-pW?HgRr!%^y*WPG7v-^V*#@bl1wL-6QIIw_qFzC?espo}?>D;Ld6*C< zZ3_Kim}rn};`NHpeP?;mq)Q4t3glWf7P#%c8=#mg{Fvl$|NAJRQWKmF2H#v?^T76xUo@*+#k`^_BRMh|0uUDv2wG)+|)Q7=oZZY78N?lVCzI%c21gas}Ju3fJ35;#az!-kxlj%$*mV8 z8-J|nh=$PAbVE8`ZrKm|Zd`J0O8AGfp9{6Q2Y8d1{xx6`C6=vlw|gA;jxQYZcxDE5 ziVo3k*^$y*2dZ=dRF0B32FBa4ga#WeQPT*wDz?~Ld;Qf^$BMc&Bz%5OguoXX^z_@G zRTn3_nzz%Vk)MQ%zVal1dJCSaT==?f4_QARAKxH z>*g_eWMMvR16eQ6F+Spy{BeEGa;nJSxOhTdxBG48y9H)bFevzL>400^C?s$2DM-ph zTGepC=^MN|{oM9m>b^{mQR+?V&jb@LoyYy0<+crNFS%nQY`A&0zeeen`n97_Mbi}5 zhlhOPA6<>Xy+7?OA2dqqKjv-(NX{`d{onlNA6vCW7%ztq*tMQ^`bR?rZZQ>-{KQl=`NOvFqfv$WryVAwSEx&_!f8{ zi02rz2@{t*IeKpI?A-H7Be7ZhU9zDOm$ADSVPJqS)ltglmd|v)P1Tj%pL8&UI_2}e zHC=5kQfp?g6UtMgWKcD87%5EN>$F_QgI;H@9YHo!CVHuZi?gu}@Jv5KEbzDN*z_(l zoJIOBLPGen&J9RL+YcIW@lFgDd;9svnM2?+HbCMat&7LWaYfJfn^?CGmoLRnXPo~q ztbgSw!~$!ba>i7)ekUeAf$@pIPc8X@T`}-UQ=tS(U|Hhs2E8`KN(MvzY9n=z&axbq%l>w9Y!3HE8pdQ0Q{eJ{UF0Juh_4>}?42 zrp>6?=iofvDRrxiKfS0rdJ6YNhr9CLvQB{qqH<^6-uYq9tFC+@FJc#*K~`+&0zX}XP8fx2v!r@9MVp^YZk)nl;J z?R`3Da;V`%@i!R}X7XnTf<30B6GqWHBJV7ztClQ-0}3g^@=~bBNL*NI1)pMq7=Y=Z zOVb{)c6VOf!73UfxEf}j6g0|E2mPKtIr=;ChGby=yT2oh$3+ELUVa9XH}yP!0zWJM zjMmYucx6&66dfAyfixyR<^F0&v@)JqiJUi4MQ*9O`j67j;1EiphO<0z+|}=t)!U)l z)kK@9hLQ7rGvvpngGAY#J36Vclaur?%LP|*0Msz*fe`UVmV*8Rsx}X-+}Qd5TTr$k z>y6zv!HCcWO-rI6>_9JLEJ7ThRPJ$)Lt1Iw!zueBllSI_XnF6NqO}4ixY8@wH5wmeEK$lh+-qXyVHBUDki*^Mf&E#ANewq-FB}ZJE(!aCe7yb@pO#jN_n@p)Hr8Qrz>-yXD=5htHmhU@$qSw z4CZ3nho_Y0wzMR`5!oQEBRNBl!Ao1#oZi_|y1tS^8+4Z$(@9#ukG*cS(}wCz*BvqE zfp8EfiEo>$<=jW{&g~bzxK@hr6R6@MvJAt;jSIe;v}J!bOyOdswj&b?Dv>XASB7c| z42Nq-QfbcPhqfH=fOcQs=(l7Km9P$Cx#=21A|xzdA~qv*-Q20`c#jV4eQQ@N(e=D! zf(M&LD&_dBsh?bM8-q@9o&vaZ24*a>g_XArm`QRp1X!}~xKvyxAlsziMsF(QOi#3# zWwTt5{ zL~5HZJXwGR|K2Sl$ng-?Ac~S14{sE>Xl+2*4D!&SY)?n?Up(tlkfDA&-w|;NV44xv%5wGWEy+0ZZn!m227D}tdG z?4_Yy3>OVB;}A`c7?9c^xp8VC+|nXTBPXWG!-~j3B^||K4EVzIjL$*D!E^e^5aN!# z)2C&4JJ-q1*Q#(>b;J>X34Xpl8G<=fZ_LOxdii&0p6I7fPIKateXLm0h=ay;#%E7q zjyWDCAqSTPpTCLo_YuqVa?s9R=J;gn@j*Pjoc|bASezd{{`v zZ~^%MCfBn%dIlx;dWJu((sf z{;d6`ewP$_j`L=gbNwXZYD8^s9>}LGaglG1IP?3K< z{l(#rBR8~J)nH+W!}bUTisb~lZyy1ca}8%%oo*Ara97v4UNvLuxb=Gf98Zt5vzi=c z#vXoUf~?cSUu0oUL2q@`ug~He@Vf{@B!AE`U7qLBz1iIqUYObt`nzTfTvE;wf2l;y zmAo+bd%o2VzUB@7svU*}hsSQ*V;_}?v+SR7jX2t;_L&BOu=fzSG-}no-Cf=c0pUWS zZ%30n5&gbCQXe1u8e8}!G(v_yx?y*La05)(f4b-2T{GdV_B-7jKx~n^^c8cFTsb-F z0q6lP;zp+gdSh&Xt#|=7v|$ejuQyAtr39KU3S8_2rt-gaUSGzn1-t~vEerg|HM`J% z#oPr~^7B2dU~tL^^Onz=Xt~4CT`S7j+~5D`UsFdA#cLO28FWP~MSqe92f^SZI_KCE zt^zKo6jt(>%A2fePXVqqj=ADG3o9zZUq#y@-d{=K3ds;d+v4g54CcRKs{u+>V^U>( z=`pm|J3`tUpG;__&%e`wZ&?-AkQP3ioh8WUC&z>FV|ri{!zoQ-u~Ps*dwn`TrB3In zu+AMVKE>~3M3c4FSCbCWK(p|I^M9pJL`z!`VUzpS86LCjSxODpT+GhM8w>xNwxi8cn4|%NSu0 zoHyT;=%m@9{XV;H!&pYyqRxZhQryo%*h4}n;mb1{8GbW)HgvM!`4&|H^ZYNYQGmu` zj7Aj_UD+tF+~?0Im+onj_jQj|={X}+S-Jl`UNzNWH}W=FW8%`KSh2Apci~#=WWr5x zZuc0Q7<6$rFkf1q`K{F3TL*FdRQu> zI$J)k#_wC6Fqil9s|URcJTe?7^>vID;s`Fr?+vlE?BlT$({&1AU`xsGtGY7~0r@z@ zE;gJch1nFEvw$%kRcp3so%yZa5*Vg;mg*C798s3Sg}BOXce@jQoOurCMfGU*WcDlZ zd8Zv$6M8K=4@RX;>NG4?cF53L%-G*!w1VWg@qcx zPCs38>bZ%PIkN(YsT#TvG0uWtc4shR4^oQnzKE5ZI8ItzA(E0jkyO}i(oSAi!1#vi zmO=qELGQ45Td-LAb{={8WLJ_=Z>-BZob!3wggBFj#w1cU+k~cP9~p*WQVyC+GP_x+wM~|8>vtg z8!4CO5Ni!;WYTZQaA@=5Yiz8uQ_rgAr%ddL+bA)ubmxTk@63?8>f|)WGm8=g(|q>| z0b1w*1ONY+>Zzyt2hg6Zd= zEatxsV^L2hBCwHqT=1LI^~T=mir7g%0qi z^PEIb&(kB{yn3J@0VWy9abz6VshD|<7sdxfPt3uLZTt2t4suGYW(`qbfsdQdo z?3qYTz^t3OR8vSDkOaqVjuTTRE6W!BR2KS6wnY_pK0G+#w?QRa2XwPOUI8Zld2v5Jb|ZI3fvNC0 znp1J#j46K{v*2{xj_*&^y>QnM+c0>J!aQK(%AC)%0|}+6Hf1GBVk)BaZB~%iyF|T7rC#} zDA|A`2u^9YBz@BPbU6ByomnL-7}LYXq2ke~9f5M^{oXw$v(lA})y~$<^C;d^#)1$L zOFHe7jOOsrcAWJ?+XBc{zxoZ!vln83Zx{nw%b;42vIqE?-(VNyfsu3JcaIn|=TQyE zj~!bAEyQ^fVG`=dd3&4-jQg*^{q{>bRow2r3wdRFqLIcR(gv*hR*Sa%HMJGX-+L-! zN8Io!{96l^m6}yA^V9c{;l>GgJ?*bvbK0H$vZWHzHt(n$-*;DCkD54TR%`rGT`enT zaC$~#egaCa(-o;hTM0>A;aH+n%@5ZiAr;n2_pHyZ%Se5J2Px|lSk_ZLux!YbsXt}D z)Eaqm4BDjooxAn7h6PBnjX;d#q z0vNU8zEID4AC3TZoyCuqzW7&fa>O)GaF?;6N#VZ`iH8ad81$PzNkH3p??gsBL0scz zGUAESYgdrgb~vUd4B(GAz3(RoL@HFZwEH+vi+L+l6Oi{*fA;?N{CH#}=v0@Tmg(D` z*=!L_??N*b0|ocH9Z6#1?`Nh9+^`cpBa%a4tLH}&_^nbeWO+2JcX@%2r>RcE!Ixgj zO~z2Q@4l^j=Fw`6V@H>TlPx|TpMu$B>nedD_w`cH+M3-_vY#gfG>+_Kb|i52vm1KJ zh#IuVz@?fGnto}ql*duoTC?MQ)4x`iJs_k|@`u1vaUsTo!(uy&bXzA1B=`R!WGMpi zz6>=?=v*DqK0N7Xh_lD5O3s?i&)~Td85E{jquo%y39hzZS8va1?+r8?;948c-lFs{ zpd+Lu4`-3EH`WF0w9avbZm66v1zBykc65TYiK{2?b9h$${TZJDl(J`=ygi3JP{CPz zQ{I1i3=Bubc6-M^o1a0SYP0@Mqls_U(2xzu{qEcV9q0N@_viMUqJ|ix3wJ%9Wj$hCuXH&O8lU{A zZ*}8`CBDYHjcpr@1WXDnFO0C-B6Th%yeZGd2$L^(NsA$_YT|VtyNblxT zavADQQQpEGJHymLn{)P;>DD^6^zKdg))K%Lj(1qEhH0N&%uViwqR-eMSDr<(1#ux2 z+l{r_>^x;8v1zRtdZl-p*KpgfQlI}_M7G#*LFc^$8hOz*%6Wvz+fT50G>7zFE6g$; zA9Vder77#6!nz*c1mSPA{*#6nVxSBZ0XT+5FDcBQ!e4Tq`Os~U&j-)OpD}D$jX#X`Vp* zndq5+MDbcl<|ipL*^2Ndh%m2>9d3<+2MXP^e@qZ(rdq!)3q@L4{s2>jS^dVBzghU) zGrcPLZgm#AQ7)_E9A>}<-?sO1eS~50Sc~MaDUS^46Y1O1X9B_WL2Me~ z_#m7%SovYuhwe9db+qegxO|ht(fVE!KN7I3Q(X_8*y)?fS6QEmnKo#$oo|b>Bh7$y z(tKv%?{Z^(`WC)y*ksFpWTPAUR1BXqsPO2->$JAKz2e=|pL{JL{Qa${E3fP;R}cus zOZKyR%UQeZdGwTWBWyt-4lRVA{Z~r9Vb>@w#gC<-_VF6#pEwI7d95AKlNQweuK)h< z*NdRlmnKj7-Hlb`9OJw7=r_j){vIrL)YMV@?gU8VYjLi@0&^G6U68%z3JfUgcF_kB z&-taIT-FZGON<{QfmfljTHiA<#2{Wg1D4$*-Vli&( z&l_N3Q6n~>>KW9gd0IUTkouzBN+5m9{tY35O{}d#S;&DtvSQ&lnKoQCHZ7^e)``Bz zB}!~tN{^nmgaw>VRISG=IH$burC|Q5Sh3oxy~6~f(OMeO^R7wcLbDYGa_T52)f(zG z9E^TiF`GO$@|oZ6qmWLYQ~fJt{&!5G84jNXk3aS2Y*vAaD@6|6@P_zk8J>)a{P^L> z78h9s3!ibO3~&F+<{#CHmWP||t1TQ)BlNYI!u^TM6_l2@kXS!+MSPShe9HkR4mtXj zO1x|iWEkaFW|#|Wt5rfn*2={H#_JDsCldn2suk?|<+q;1lA3#Xbwpn_J-sx6!q}!T zpmsCbkXHfGmI7R2DH@N0|AcTFK`8_1AO9!N`ihDi7+ebe=VrP+4nzH?E+$z*DA6Vd z4x|i72o&Mb%pWSl$|td!uAnu*;D_DdHZ~K7ENh*v!Nv|Zv}2UWdU;H~TD*?bzn>cd zV%_#|1#h9`3mbDE0tlQ>b=1!8?k@}jFd_*Z|{OigJg_6 zi)g*E39EvZ|9BVw=iu=vzY?5TlW^L%JX~sC-3MaRYme!I2&0GEraV5gv}Q5pvnn-_ z#Zh^43c0r$9A^#?4z|j14cq#r(GU=ymDkO);WkWdt)&-WxiINeo^9E0v04iXp*QIq z_a^Bsb;RRj0Lbdd?bNVvRG@f!subyp-Ii<<&Y8^VI zZL+k{CrelVnZ2by;GABf?TWGT&V;x^Mlqa|}R%G+V zKl<=C@_oOoUm!m&aDyJ|B;wK>Q6uNHa2VwcrY^fS(hy-Hc2|b4YcNvo+Iyn9J;1 zKPwcn9wu$MiOdvkdvFu)ywAuI7T~57>hzY>KQ@UNb293&v3xg{f00U+kstsC14#Vr>^-He(e z{^?D3EJ8*I!OVrQm7pj#Nrd&qeC9R+C*935*B6;4V^d}8)o1~ZDOL(*M3JvE!Xc4#b zbFMH-3{O6V<|aeHCdpNqv5n~Ny}o&6aRW`4Q>uB{BxNH_m^v4hK~1N^ZWTM)FGnCQ z_*!Xk#?ih`Xv)R{FJRstH`)WG2O?e6tW}EC?v(>Y?NlH@D7w#2T|7@h?!B!16rU&* zXfV?7+*R~r9@arbcAImOvv?H}w$Ip+!Pb`bwL^Sd-&;GJ)9-p#bd{!yCZ~ZArXP4a z-71!8Pz6-~t@W#!xY(@mZHDBJG>G)Hg@Fl`Qnd?&ynE3XqooMc4C2xp2!n?_U@N{(vWxa1SU&Va* z)_!dk7lTTqIVF_W7=9)G7(0mm0lw$v!yHPCEiJLHg(;)jlnm0o`dJ2v zk-ymXJPv!L85t7MV`@ioBYJrzk#|KFQUBIRArvE>8mJT3MYQ?2=R6wln}kGgCF1_^ zJkf2}FPrO7bon$&_ac#A#(C_qJ970F3pe+Oe0GAdc1}I)A8)MA25vm|`b(&ZPMuNA zrpITW*4n;^hC}#tX15VhNA*j{L}%~bL{91Nt77C}!d1C^>2_uty9tERl?&hd>s}nU z9zEv7WC5y=gZ(yB?;C4l3Y&{oby#&wy~TpGHgxGc0L?G}{(A7L#Zb|@bJYX4VE1&jy;V1wA%hgY;(x|;{(CEA}-r~r?Q-a%i zWHa2Nun%jc?_I>VaN_XDG3cpx_OcQxd>cKz-0fX>GgcTp&V?JYpy;su?AYw;?V%>> zQmiD(m<>bL-AS}>I)38zbZ^|I7uXpm7U;XavSZnWWVZS=x2H{}+ zU0Mh^?!4ebe9Ihhv|?l}{*^bbaOGKGu&-8P0}X8+lZdH-c9Aal)3Q!~&aPK7HQ7(p zCh_~LDL>@9z%}^p%|cBx@ybSM>M-O7lZ{kD#Ic}=^`7J=;YY!AwFE{fj9q7VGB??x zRBTq8c#4_*?8t*B1B@#t{C96pNfI?zM@<2 znbKt?^C71scoMtEd#O_L+k=Vle@!P&FFZqI)YNn|wAp-|P%?5qA^zQ#95K>I5`~yg~>`EDQ^wLu+A`dwbtX`pZT>QpWYr{qmX!n7U!$t z;UUg?T^^-(+6kYmn=T;kxDmt?BVYEDR#6Y$sO2K^6%_lTA=_2haIA7$q^huEB`+Oo zaeJ>K3snR`H8C?>Y3nmQvip759NOAj`t93eo8T^*Qe;8ZF`n|^BMjd6Ei!q7*HT`{ zlCvr?%ILJ%j`x+@vs)5_MVDPF7x)Jv1fl#P`tS2)uYBIc(*hy|bJ)dn=($YT-Lm6E zm_aby8TS{n15CD418#+JdnKJ9R}1{&rw_ zAU#LzD?)WPQ!FgckZAR2;jjn}mcGkC`6wss=}1vaa(#qXJO*IAF<@irKFw0K0_^LO zEl!WI6Ix4WhW7w;hJJtNYHd5!t+i!gO?3HSu)@!OMb{mvg3bM~NFFWoz)!d8i`yC* z(XwsTpuzacgx%W=zDZ~{*25X0@zA0TQSDErCNtfqP>`QrjXshJdhUm`*(^yPmC+*X z5ErdQo_?ymvBbCL>LfbfN%)}M37{35GljGT{Nd;%p1Z8+f8vL9?Qd*0bH9DjRJ{^% zSQYW-*bjp`Va^?T=dA`YsPsZ!CdEe?@RMX z^>@zU`>I8wc=F|iV69dCXxY%cP1tH2X@lyBsaREtoPjGo==3SpB%mX;l_ zgo8rG^T%4SZh8@QH^q;{5zT=(N>VM)j2!Z%SFe4_=%%BI^Y7RWSL@NvAC3v-P9OLa zR32%S+Z!>kjaxCW0e7Mx-TS3?f$I~s_hFBm>Op&4DDTOtK-^lul>;x$+870VT(Ep| z?33h>E9hG8FVj0V`^o!7qo!ypg4UiV3@u-?-y8{aH(F*CQc)*Qhp)5p68yOpCJ&wq zHX{Gj^&-XTj`GLiVuqjt%^&6M;yBnboiWqY{`Iy;glnmd!1M(A-}3KKhlj8@bBigQ zh&3#={-ymiAGgz|@cTEXX!`*AFHXH2?`KRqvWDg?4FJ=vU!GW>Op%`QgtPTM z^x|AQetZ)o=7}ORFY|Yh24uaKNJ*w}(E>*`<>>y)qyCKxC56~#@e`*w5SSk|X%02B zfy*fX0>-?^SI2=HwKd5;BLhRao{&`A)f4W7S&p9M@(+iLE%cWP zALfzWfZAJiGK(GKL<5_qwF1AnO_HE+USd~B45RHXG!jC6RiGj*mfA&BV{$IU{4Iel}kQHyO)WnXN;Ort$5@X z)=t^)<_+9_0jQ3_9WM{)p}`gziF2K1bWJNri7K&ClR4ZOR3ow`~pKI8LrEUg$~O@5?R z7Awz9VBZ7Ot*y ze&k>h9}#q~coBFSKYu$@voYM26K&D;D0qm3HEEzCPi#zIf+q&`8KzNm)P*B)nl%BS z?ZE$O0gM>dR#f{9WaP?UupRgk@Pyg>920*N0HQt#pu25LYW8Apd9Z%}t{p4@Ei^QP zt7O86Oy_l{j5-^?UCJI$3)bf@f-YYp?TuVCd%bw2dzKDK-deHw4e;;<<}9*dzdLHg z&4_3Dj*Az)!vA2X^u>VbVok&e$TB!oS=p+B<2fSM_KkUbW4!Zqu#uYVw)b?4Y=;Ys zn~)P0@Kf1_|6vLD8?i?*T4qblxt6ril@`R{Y7d`}Xy|@TJ;$;N&kd4?GqGgH+t}9; zOy;?r%{;8UV}5PiVG8~? z5-)W)vO*p-J1F?Num-iO2cbM8r;+7;C#l%p`-mE|-ZzFpPE-zoV5(2sV(Cs1Hp~DBj)W-zPz9=4>D0f zfZ1)#o^6?3cMtO62_bDQ{Aiv9ug=j-N>JQ~2!){Rui7`x*-xgwo4p6RPfPyto;5#p zisd0any+&b^QLiDa_$(-pltDdknG&Wv|Za^?CG0i-y~m#n)eT=HsPK3=UE zH@|0O8qG^=)%-l)j}x+CX$Tl(_jH;M=fL)>Jt3`;`@KkSj{KEfx7A0r+}uUjkiHUk zknQVMR2>|Wz%UPX5+cak7oDr7Z~k8c(wwX%r@P(!%Eh#&@G-nCq10`^R4gg4k)m;g z)osJ&@i}sCtS=|=k>!k9Dm1?9-0NZ-`2u8oX;XF$m+FNH)bvatX4cp8yQuwwz9dEm z-Sa4SRa3S<9=v4&pI(w}-k&~)L6Lg={6ScLLJzo1W9`&pCg;Y#!bPA;hi&;HDC9>W z9OL8vdUu>BB>+cDJga#)<7D!Q^kqiq7Lb!Sm5 zY@7TK3Vnxb?k{fL(y!&L2wxdnn+A+L2=jMk;4Vbhgc52sXD(J3Pd_!M-shz4&n9MS zu#TP*aeHHLUokl~6>~MNdcm_N=i}|1`7oqVAK$j9A8|pCU>CeOlonu`$c>8dsO;ZHDjYhx?MRjLatGeNVb25-vC%I@ z(A}(LxNh^ZXNcpZ)FbQ8PC0gSeVC1*EiWG*{?ZjS;A7;@nc1)UinrZz`)(oi8G`-q z52+3p+R)n*sQeR5u2{kKW*nVoe~pVg;xqgpjTy!PBu)`-6vB7>+DEpZHsktRe63%K z5onq9gC(mL_z2ER54(r+4|~fUNe3o6ag`3PHp@Ho*bRk=SN!J8@AFa=_CHD_u@jSn zpEsNMPym7ucE8#_DQQj9V8S)q=giK_6%9Q$$1;E$EaJ5fX!~g$1Y9+~&rJea7DUU+ zzHPbdm|I)m%}O=VR>ym|o&TgdTmsV~)x6F3Ra|<{E(m_@-~rE|UbZ!~v237Dx=ob- ziGeynx_4re2*ogR&D39W$AI6tJfbN{*3r=BKT0^>7y2dn?A4gTY^36bA&Z&59Ku+CVlgh%_9=eF`SqD5HKJ~+hr@8QWPu!^0a>hc)o{B~ z-eby3>;H}&Y$H{n?jiN^TXE3uS2}I2iGH?XxXgcR@diZorB?obK{onY^# z%M3RZGs*fD32}F>F@ClRuTD}LLD(JWbotG+&8`fHpX;%hqcD$kJ=(|Uy-qEn#idtZ zX)@tU4Y6>EfYBv^^KJnHfchDOx|SH4-@@eR?az=Qpla-E9iX64_*>O%CxN_n_K!JB z#3$aruYcF4N#iND4i;5za5S*uH>Rt`A>N`NTPdag!RL9!$eM*&L^zaQq}d?h8|Z|T z`SVz>7Y#`LY=?qK{@zj`e#`QOaJG6Wc$3)(Q^iqA+y!O#&0J%o4_57T&Mm4l$o-2?Do&BYHu>*`K0TK*^zP#dxy`$O#nWEInMseR54fhzPEDgrs$|d?Mp%zvFO_f zq0Kb6PbV{Jg=KkdXna)DwqlUT&IH-{TG^(FoG?55)H7;+EP)#i;6{&xg5a4lM2@}F z{w32aV(9G`sev(DnFCG2bvK1)-|dJ1NNVPdzag8u2hKfEqbLo&9eYCw2Q&knp{@6; zPnTOfd2z9Y)}xO;CFLRB+zo57h~IZl)ZV(1v({tm8r2lz}d4nn7pH|>3x8=>P%X>e)_iu$a(&^2mVbb=1!emTu3{Km>ol#qxSTtczc`N zEYwTGT1H-Gl_(|&YAuo2jwpi?f6~e3wp5Myeh@j{3EkUk{IznF9X&Sl^kPwPezwI0 zgxlIKzK|``6~&k>qpG@9C-HG5v3!N4Hia4=O4@R%>*;}r#?(`T7!Y@!f-4;=X}wgU znGE%t+$-CS-lreQaikG^z#$LOAw3I3)HM5`mzeB0$p35LTv z$+{&*6I#qw^2ZEOUU|{QbZJ3`<+FI}ns_*))6!p>#;{inr}~3TAWl-=>eIwH zD@LOM7~T6xu?Bt-yU?F!a}f2@H2d{J@k$@ndNz};JAL#_s>8)bY`?1`%?!!8&qiAD zJ{~p}F=g3Ni8TGU@!4{(=^yytp*jSV;L9jk-WZ{{RMB+{OyAa@gw;`50$8ofNbyuM zcoYw@I>e78%0NQZ_f=wDij~o+a6;a$w2KLW%7zLL=Y(T&fUQ&;{aESnG1pB3B;G-0 zdfxX2`fQhOo{Mw-3B^bNE2WU8G_uZ`KcD@TiP%ST@L*w91eRz*;Z0e${|dVEiE>sDW^G&25i1r?8V-px>9?y*6`Rr9Uzm!mjolsCyqChmI_49m} zhX#evwA&D_8^Sr1cq0I=WH#@)e&Y=nufUZGD)WGBIE#D$D_x&YEk%Y!B^DH)#|fW% z1fXyJkNv0N5;B4fF8v8p;Y#^j9`*P1p1vS^Tp=^Ftn*%UMtT3kr(3MiyWgwQDhLVN zhs4xfhjg2efW(d64&Kun^3`rF`kV;O)d!3OsW;IgjLW6>b&%ct+|bBuat02lR4Lv3 zyROx)P)vi)gf>}|-dO`^Y}4n{IE|p(34!is(4G3fe_RsR0=%;c1yJB%I<3<*3OIW7 zsWm=pn8w5E2SZ6JySoOvf{$|qb8=0646R>qUP%U(#nmFK(j+fj4e@MRLkKD<@2I0KVQX)W4A@)ZlCAKbqRGl*qWg z*US41S$0qkCS>o6rB(`c2 zopM;?d)C3t^)b#9R(ax>6@0_YoP~+K@uL_ah2$jxZv&$_4wwN#qlJr&VL*9TJ6Y+5 z`xPg|_8{AWVKem#FUjchlEnM0hPPUdS~ap)9^~O#mz;_QTw2wGQ#fdw#<|?C&>2xE zrB^ zEDQw9o(Tk%%iW6Q%6HXJmHYTy936gG4f15@s0)r+t(Gwhd+U7NI>X69^6h3-VE5b5 zgJS`CNA_oVsdv$hGB(>T*Zn#sq)Qp#bQ8vN)T}z-y^!iM%YT~b@PC9q*EJ&q^J@2n z&`S9JY>nA(F{u#HJ@cn)MSS>rBsLhZZiPaGUzC%0&yby-WhVdfG{VhpABCry+9ei0 zxZ3x}rX&t6)pq)))G&l!lIHCV={DhM8?Ht*bBvjq3r2WJVN14ZD7K6gYX43)_J1H_ znOh)OM!q`{kfcjE`Yq<7xSqPnd);ev4?J-l?iI+7vZ`In%?y+<_8POKG()fcX(%5g_$P*N3J@tz0!w+&bW(^R^kjS#EmJ`0TWd|agyMOs|JruurKDTTpap3u} zNF4?fo!A;g@x&^C4LQ19)}`9b4o{3U6MdveAx}huUCL*h2K?K_TFo+9R=g*c&|H^ zR_k=S_hNbG&>-!2;5=M{NZYjR}2UD`vA6;*?yFQ!VDq$RQ zls=l4Sd%B+_sMzQOAUU@dxyCG(#jwhW70pe)hHOd(bZIV_WN=-P;U1ANARfM^hN@E z3b)CwT*Te_5V(+FC4W!m_UkGNPmS%NVV?cp5u`MX(Z#*Sk?}2?2dg}fcvr&z7k~Na zC(yt`8I3{6#&}pLrwxL>CZiUu^`j4&gIMTs*l)Oq(3H^RNiaecd@ewF*hL8Z;ed8| zc0CEnCEBG`K&kUD&*gp*3AzlCo_y2!vPu1D*lm@T=lN8gX5 z#1rJsv=QEaoo$0==gi+ zWsW6<${H;RDkg6(Yt9!xbVKQRQDt+hE%VR>QDe6Mhs$|1iSJ}$92$DT=5N>{%*HsZ zId{`~#J`hx$ivo)yU<@MP>MOnTB$O(I2<|cn6^ue{0XsmCChxS`&xT>@o9un{;>$1 zMn|JzbIjl37u#}6TL038Ii7;l+0|9%&~#9=?SQWfv$DG(_{tnCS!Jt+3`qBUb(zsl zJ;rPN?V&Fo-V3Ytz6NTzYfo+WOtf4i5(ssXr<+XbhcV3r{fUK|%!0p7xmEG5<7A&5 z6Pkqni+c)bsB9bepQAmPt@0sz#l!F#_CBM>)R8!+CAZJpk$5RHr!O~Q+9y{P>9q`> z^HC7BlM+)s^UGbRGg($xq*Z%O5yq2p+V|?kv!oZv(&y~2A)W^baOA8$a#{1IwAN>> z@~6mPPq>6le!!L9&T{4X>MB*QP(G5I#ZaG8?T3WQUlxiv%DCB#XWKqGVhw@hWk9v= znqkXO1c%VdJ0~Y6ccH+ys+I-qH}OJ-QNk{7>-CWr(Vje@fB{@+E`mLkfqs!IBK`D3 zpowa|j+f$gBGy}gEj#&BlW@YVw+$7t75O1Q14bopOk_u0n5`=%1LK1STX^d z#=20ZMlJ&RJxwfVg!kQFLnvdsTF<5P3n$Uj9f^7R6#mwr3tbfEY_kp9eDlB6KHY=i zLU$rb3mPb=-n0xu+-FshsKwm!OQo*i!zJc^Q)O1%^|*KqFG|s-xftqx!=7+S&+b}I zYFZGuDTnCo&42$^9lP&t!NL{vnDpmX)9}3q`&zDnH;Ox@6?T@&CB+(LYl3E~y=XNQ zK|XS(Cr=U^Ug0;Q$1>U}4L!ZWtiKtD58*vg+GVcz3QIVg-p1@mX(A z9Pw68Qikvv{Uc$Eb{jrX2UBjULn(|GMq%^sDj_8O76Xo5a6o7Y+CZ=i@RwN z?Unp{2oe6)vA%wgBAHH}VW4fkV-!F(uHOO$*3^#M_Br}7_sd+-w}ek;dQ_N|Kg zs7xForuAG4^I;zp5{M5A2~YLdL~E$8pw!J65h;dQ_4$YQ9%Tu?>R32Z09+Ml{P@&8ur z^m&D!9rEe6_+ZE8pu@n&OgAzRd!Z`-88Mfa-6PCUpTe3XI-7M@l<&&HuPPxhHIL7~m;Dc=fgBKcrY`4N6Lt z-#O>}=9A>)+P#NMHseZJq}why$FZx6MeQ}uo|>`dcdu1q9~xJWgVZ+w!!Jq3;=^6n zUo;=C?OKYk^N+vpSGcGRLzYE1S2NF9&yJK7&+=UOEpMu|ZgL9*Z!)7!mY)h;0}L0w zKf2>AkCX3g(}=Gh1~f5sosCt14-y2w3H&~r1vHK<>~2OOX15cf4%}xcwQgoUEp9tW z=q+6Ef4}hKJ?jV~#;dkKhbvoT-p$uQ-`os#z6O9U)km$MKb57kEuHLsLRzj(^4@rJr!)bdMP-W2Uf;7g*U;ypImZfNi$+I7U z@V7M;7LoO)U!uoS^!b7+Z5sK0K%0!+l~X+ols^z?mAB;LDfv-O?D5<{8$U~cLR;ep zhiwf^U|96#qwz|R?UfK?0Sl>G)+n^YoVKH* z$NwKwXC2g5zkPk2Qrz82f#U97N};$EC%C&4ibD&^^;fO9gyOm^o2AVu;SWX1r3lw6it1zx_c5QnKI2ZHh(KgeF`LO-92ig5nwzCuX;?3+bn#uQnZ))YixPy>4qik1})A?@rXd} zBC?Gvw8Jo3ZXubv@fm{sPw8hVrT>Wd)O~P?pq(utd2%S47v2498o8JZ=?pic)Q#rg zC!fp$jy!E+d+w3-PZy;Lg1JQ~W-CQV=b)G^&wR zZ9gAjL|vm*EOiE{>F_cR4l8%WK4-ud@;;VI#`KVW5h2MKHL!y3CZP`%`!cyrsuaiw z+~^52$ViNj-YSxXvj#jWDv1{AXI-Nk$;QTh6daJo89^ra$BfxKjEI~BX62`!q$eha zs?EBNjI94$F9^SuvU{9`Y)KvLj2tm`VuE(`H)mg{wpT*rXNi85N?IJnw<2Uv|W6&VDM1g-dVSG-F$J3&bf{W%`s$*ff@A#>Cn zQ5+%*;2%1oE4Fap*0mdgYUXJao#wm!NDwQ6p`X4$*36g7$eKCkDZ*EfP%SZ>vJ8Ci zYj8lib@un1cAYy2#jcgTcDR+HS6NA_OLf<(?sgF25^o<4IZdO&!7Dx(WK*zpZ&;#X zqn>fN8-Z&A+Qv9JRBv5xc42Olewln?;t1MaX;EwTuSGWc6T`RIbAw6y7!{ryEq7&v zKnK9tF*;D_$D%bv1Zzn#kX&64?-L5v&u+08v5FlUp^?UZHdx5oT6)zmh9v{9RtrX54+M7er|P$mw)%AV#j$+ z;ZHC$lC#&65uwpFMy4~cG#pKRR(+V%-@Jg5E~H(WZ^vrL1CPkz#o(;2Za9qd-0$Ts zp@~?w$4CPfCImL4bxgPEr?rio}%?^t^yJDZfFWdq(nS3BEc5b1|-0<;R5V-O9>adyE1eBFTCZU*W{ zVKP4y2oDx=zB=v^bNetPG4)ibs68vO^=YhnKP@P%?){@sxHR%R&LK1M8+LO#y$rd*(EvW|KL)NCq9xozZb+u zK^_WNzWF0hKqeN#6S*6Qy+4>#q(HD=w_b%Eh+-5x=2SLXLa`kaAo~ zIdYjrY1acT`jUlhDu9^C4BD)@;7bjJQQD40x91*(RQ*$c6V8s`ur)q@8+A^~c58}& z#BzyAXsxxs$dP3;-S&yHun~+ecdz_CT=4u16xV3l8_g9|B?x+)&(we~_bhY@G&JcX zyYJ}S0`kx%1gH+27X;fn%4e>NdtLHHlc~wv1H24vXD>X#{snZa5w%(e!=#;O^Y8cK zmjQ#$?#FA)IJw6t*}`F0C~MmubuS=MVrr3U?lLsd^!P)7e1ta5IdXjTFiUXi}x% z&gOHOt;q<%zA8`jgkM9))v~xVFD9gv%@^DBkw_RCgs zg-O~i1AO-hx3oi6I|beZ&~2rRoh0bqx3bTw;M+hX~YX-ejH^DxjXJ%+IC+zz{#xfub^-G8_`isG&wZXQNwqV~mVq;$A zrhDzr^3s>z;#soQakZbxymUMNR;YRN)&q=J>f)K`y?PdYUAi;YcX2RsK7Mh2-a{;a z_+0c>urVONAWIRLzm&AI3g+e*%vH`icP#qktN9Y>ur0DVYaDJ1-~GIr5m4)%#R!L` z)O~ZmC=YFWiJpuE?Bb>3?vQPAU5nWciPT}8a9s;;@fAfWuO61c>uX+y{VB~oESydm zIc*Ixf6MDM^2@DI06`km)Q^T(xT)UcxkwuJuedBtGH&p7%5n|44Wup%DKrDJNk12L z%QEByG&nApRk{YfE)1o%if`Jg-E@w*5VTp7XmEzPE_7bKTWAT;UQOU<9q~mwA!x}a z{B!*-Y6zC%sG(8(oUdBN*p35GKGBJxKf5NHDpUb$!(ATYnKjIC=h-Q>=9q1rb(xs% z&dNQ)JA{48@2Vzp*M4x$@?|wql&S4@BjM*jCW?|Z;9TFV@*?7HW(%H8Sp`c+&tCDe zrK4kfP%@W^tG@pj)RucNKF^$tw<1!;{hoD+d4}5_>mvI=T0Y0F6E8KnV9E>AI59VF zESgr5+#NmeKE`Iv?0u{uE8W5G7kgT3QdCCx2L_t`ZKK-X>RpWptTv+LX8L*q+dG5kV~8)$vf&v)O~_?>FYsBvwB3zqu{ssrg%?91!|bx&et&#NhTOk%+WAr{GJ& z>lb=A#6yT^P2Q-3HV+U>d|NQ>QJn&gz^J0_+!}Bc_=rfDfq0G95xje3VWl=FqjbrTn8txhp&}k0KA+iVdgpiA;~IW^;cE)4 zLlr!tY#Ej{Y2`z=)Ob_I2~_JdKpCK@jjf$=9IecH9f44qUtOpfIDL@F{CU-l zW3_ydXzbc-BYu6h=1k!mvs>I~G9}EAC$QlwCMK}RMj33){H&ku+w9qF;(HLl%b&kO zV$VTjqXiNv6>iez*W*~&QrN+{!%zOfHt4I|&n!OG1ZE6jY%tpk=ffBhKRh?YVStviFzRv+8z z!uE6cE&iYpP(Ap*x~}(K9rErM{ZUAoR9F{CVgKCV@XGE(HnC_FQO08-D zVT@uf_8driP|d@mF2B{cezZGOF}pA9HplOLIF)5Xrk2!Mj=swjI~4Qy{so(HsJP~- zIsQP7tSvPl{vi@`3aMWx`i+c@`R|L{KT2G2z&}e6=Q^adee$RvhDuqcA(~TuZ|8}$ zU6N)4Uv~dQ3T?t3t%_q-HLUQHv^1K->J9u&q)Wek`s84g#8yL1+pdeXJElpLH-JnG zwa#&NzmdGGhH&xu*rRG@cM-+!CD9GtNaz;NhV_2i90eiWUg31?{&+N~n6{X}hy66?vQQ#;-2s`C8J3a%{{z3S3WjA%gB&BzOyy zj^aYN-&S$XmvE@?u0^E8LfsX-q%E%*a*(|Oqo(UWijK7=%qoS0#)P|G5&YiPNj4_Vc+|kxuceZi637c2 zY%GCO-ua+s{~#z$394uM@KyH?Q~TPN7W&{8t!L<$aW24CbGRzmNw$r~V1gBV9baPm zh0}#1shl#dz$deZ+^d?+o%Y_$G?b77=upHg5MI!Jq-bh&sMMPiP+cvNUR`iMF=)$$ z_#jCYzz!c+TC7-SA7`i&`dfyFpJC_e={a1yG^%-x*Q;iuyE=o^aBDq?d}jIQA^z_r z-p+HnjeepR)Q()lx<3t}p2YP7#ZVBpo5!oJ$E%ujwxE=*1hUt4d#fKbU#=ycvWX^% z7)<|lF{}`ol`Jt;7CsvIt4UhmWx?WwZvB;k-1n2y^D(RytkX?EOA;6IU3Gmj@A;pX z7V*~vHgg}Aal&H~4tc&HxfNxRQs2C#>F{#OW&pZh+;4hJS(Ma{vW4)2PfGj6jWYJe zvbP^<^;`YIyYT_ngkG!jl;r6!r-CX`o0`U3XYTx+>gtUW+Z=o*jPVWh+^n@I3*R|( zuA8kXpfJ;(5%hDRAStFczqbz`5L}wWjqtA*R#?`o^1o;mT;ZcvGwYq;#f+j zF4@dyda}6iXxY7S&C*i=!Mo!3>eq9(h8yf#T!A$h-#YVlO? z<$2DRBxlvPIJ>3tAqw37O9vHuqA+AInkPkr}@mNrlnJh7kaJSlvjTk?tyv2 z-C(UHk2PJX4OM=6uG!i2kNaDz6C#-O>VGwDwHJA0-u1c#ya;-G%CPKAN{EDsm#-&o zI^%0|=-cS$Co1k09dx#Wz|r@h^&NKPxLkZ0=)*2%=qK7_>fb7y(w-A2^%yui@VKM&(aNuve2pS{?CZ-gB^Ht^u9&4qNVLLy-!)gt?~Rhf6Q z2zs{lgyC<=a-LtK37Tl%!%gqNJ-fe{Zw_&i%}0@GeA5FkX+P2FTepAg1k<-ziBa+Y z`!`aRBS-Sd)0XTD(vjD@SowIT?lJ2!K(ZlNxGw(7GB$q>GnWFF*L9FkY>=uvY`v9y zVK=RI325@&a$QpG^I%ks`p>rF-FQZ9`Y0HI6lcN}Z_mnvd zCpPjQk%moG2)L^Vga>6wLcb4?wBQp_Upr1X|2@jiPmFi`izEu-Sv33h?92{=>~MC< zTe18}#wQ~SwS`qCpPoN<%;0x(Qu?{&ahaPFEE4Bt{K|T?gxE19MfGq|o&PPB1G zF2oOdyT^%jN#XDAl_YJ1yoc%qtk4Sdo1Q2<#ajf2p5CzqCR?ER6skmA-v_Eh#?WNj zRJ1by#ssiwQiOKynx^QBNx$O_|>|6?$cRNc_l7cl1)>aOm{Bl!Q&_O3>Bey&6QUSu8i+} zT_<*QysO(CejNbI)k#(gopFE81OKEZP+0T7NDp**%VwLTWlp+(HM+xM2`3nBz98C= z5jUDmb008$0c4zb?e*XAF?r;KwX3qe3(3O6srv1@RNrIylKBv2>2Y7acBx)_4PWhC z*6ADmTe-726XcvUp9Z)88-q*4hf;Ue+<|)ami5G;#H6?6#$$Kdns{A9Y1aPnZEDRC zjWDPvxsm>9mvL@OO`pF8xeoxvZ)<@G($uNYa8e#8+?wd7?l$|F79vh$W6Gmf#{F)^ zu93E&hiaCC%nEmJyFk}z% zuA2C0>38SPcw<1|U1MkJ%C(n(sqBWn`mTC-j2auT5wgqgh7ZoJgLaD^*ob9o^Ni~5 z)+uv!G_4H&G#UHJ3R80lS51}5v9h_x3XSr+}^zaeXd#_!u zyTT&^(9;@W=U6qIxdN>@^%)4Kag$u+^lj91tK?`%{L9raiYLBfJ;}TAUFO=@g_#g~ zTnMWrI~dGr-M9#cJDzPyG6)avg@WGR{pG&NjcV&@nMG{NR{gyAn<-GB+MdCA0ky{n z{G-SXJNm!_O^lz1gSL82WLL5B-cM>&Hn+nJq>Xos?b+B>8bwNwLQz#z+bGrAj=vOR zZuRi(DYu0QjmI5R(RFaKy%qbC!)j+V>5UH%zDim|0 zdpUoA9Z2|xaL_Vvx25cJ+_jem8SR_@VTJNZa1*ehS-j@lQUS+P?9O^W&%nC47Drmz zKTHqYAP+^6=eAAg&DT9Jn2A!{r#W7MAW20otN5Xg^VVM+t%&rH-zM#xFe{=34y+S` z*)y!{+;t5@p9>>{tp%73ggvo@+bO5duezd2+M&zdbNEw@J%3Gnkxevf=buT*&FdF* zCXAd!T%M#g8hD~DcJ@98y5NJeL#p@NLskA%YA7Jp*3gq@r)7nv1zsDb%}v_QrYG|? zEOpgi$1g4}^fL-L!?Y@mXI`#vqq!URNqDM(C}wlsjZ&5AW2ZGOkYoC>=|+XgMgaUg z{*(y7fwikjNGs{-cq2i&VD8>Hlc|m@6160>3M=#X=ZRW0e*^=bp@}QZCw#VXrWemc zQK85e-e}M#pX>F279S!f&G_)v<)m`nJ!zLw#Iw#uPVL1+ZQEEOTcMNV!(2}!6;G^_ zg%}#e$C5*_ysX)wPpeuG zfPTpye=RNxvGVOD82w%92Bpb9VLEDL**7@eZ%zEPfiJ|qmUaq*dEqAoY_L<}2{h#p z&?=zqH>YZwkG^O%p*#R8_eo{Del=$SPN$WHE1wotKsc{R|94V&?jr+vf}GtL|8tA5 zfB`RF2K*r0>a7qZwT?2;$kda!LlgW}kK6LmJi{ky_W-Zzwmh{?p+5HK)$EMtSdct< z&MxIggAbfS+~QVpQC1phW%mQ2P^|$Oy)rjxwj>+4FRO!;;c!kmw<69$YZmVz&70bE zEPD$dyYe*6(t@b-d5;O#aUIhHFb!+QZ}k8|5FADKu-dudS2HT-NTYzFWtWd1aorl} zEUUA`EOD9X2OktCy?DTgrr9ECqO6w};qeAf6wxmE6^!UOI()-O!vh4y{iZ6yTcZFr z`6e<#ylPDD?@_mN_)vKnnWsRd*rIUHc_U-C`4QFHdIm=4zDAk@ljcO|oF##__3n~= zq)q;_BK%Jov;8M%%hnWV`-C*Tg0Fj{!~kPDnl*J6fIE?D34II0Hhm=nLVIkp%MWGN zNB3nd4qM%1Ff)uRVHJOpV=ng;TyGmjnvuloQ#TL(8|o#eLH@IeaM_lM>PJ=jY@0z^ zH4|s_!)pGc)lBv)#03=B7L)#R&~A^agAy#GX0u!GY#$$rlUxV}SO($Wadzk}mz~$5 z2Pjsp{U(%|hc(fjtxGaQt*+*p_d9Sd8PL>VJ-f!G5**)aar(=z*@+rO7!fMXwqT+? z0CRNOEpw4jSYZMj0MT0@BCRIf)-Ww^oULBuvO>a1FyM-NZ-4*8*k02b|5vH>&*yX(8Zor|>IIS?y^KglM`%NnNubm| z$9Uv3+u;`Pi(~Bx+AubH{mgPkyc%=R{S9P<+OnuwzBHP)`9Qp7ejUMcbc+frGY{&E ztLD~dG`;2(7S}ryS&g$y*)e=+7ddkvRCyIUn*p4Ew?QBq&t%sto8eF@NOwoHOVDfg zMEo6Kyf#z>D-X16MT1hn;aF}4U1(94pW}GOCf55oNOF04wk- z&^SlaZkxJ_KV4AcqF-x==TDPJdyQ2dZ}m!7$k2(Qbd2ku>;h7?%tkXl%4AAK?4g{v zZ*D%n`-r}@m!RHq?$4998d`wy!|i8k1d{l>=Nx*jExE9&u`BzOzcsZq9rfMLcmezr zP8YiM`F(W@hh9!gj>@;%c{U&WiJu9Jigpsf(-i1Wx4SRh0T><+d!JX2#IXnVX~Qs@b>apg76oF=&%H@3}%k#TuPd4M?_s&sX{%$4!HkuZAE)!9AY9V->x*omuYXk96O^Ki?7 z`M^#?)NO(D4)s8<9?5{ulj20^d4c++9msx6t0Qq*85uX#*3OO&mD+VCI3?KX z9fd6^NW2vF(R_c}=im0NdUh|cSr|*2o-?0-c=pjO(SXoNmMt%m;oPtCHwfyKQElXt zr|PGvWX&)%oHFSq{pw^mmG^nx?U<48h`qadZ_+Lnp^_Ql_J;PS!iR3Iyy}?;x)Z4@N(okg*jXNh&#=lZ^Qig|d6I6H&hqZ;1-9~F>1`|+@2v^GhuoQ`x8k zH?ais3_y$V8}nsQjjpd%6ep~$0&9pn(k9H2oj^Gdt$T!s(&n#b{zHA*J3i;|3)+9C z-@4y+etA)}P4daPaI6NkR&CIVx<|eay?;oWJ2`7sJ}vu%><~_5W0(Hz%QPwfTb#-N zQ+dRZDr+in@8Xk+wj?p(%{go6jd8|SakvkCguX@M2^kPwJ$(S}XHY4J-cW>vFLgPQ zi?1{9)^Vw8h>jhhHLt8Uq(3-at`;x*bpT4(jzTrMI}?uv2C2|Hnrj$u0yTaz;D`;% zUM9l(6N@5X{2lhvF{jKOr$19a?a})_zs_5fR>}A-$tCzetZace&q18n!)oeR4g6JD zb9&V7n(u66$C0dJH-nQ9qd0g=K&5KcKoP#wm}n7BBvs3?@a(ryU1?8nnIg;~_&sGH zT2Qw1v*%X=3xi|N#8Ki$_kPgLz~qBZG|{>Z<*n$76McTS`2VRJ_%*6b9DRIzwdp(! zhXwDgV>TSt2-)2w6*PoC;N~)f)u`1QrNkT7q)@lFH{94&A+QJ94sgKntF;y#6~LlX zda{6o|IG}t&Hu?lYno$0P7JOJ$xhv8?N(oPK~S|!tWDDHhf(R^84*Fv_H2e2K5OaL zwQ+;*zt(OyxxKy%9-Pe3oxnLnrp%jwl1G{We!BXNM^w};D%DbL_H^v;X?HkYOl6q$ ze8KP6FPPH;IqHQByp(5i;JwIw2bhcdE>w}+(SJvXs1OE!yMHs}B(D@?7z=aERM9}f<*@^PPhZ2uN?$c5 zCQi+Gz82sm0AT)kL-%O>VH6?7t z3e^XUBK%79Hsb*)ByH9F6;j`~?Hwio#ha2N}{PMu9e01o})T<(vevDYnnc+e`nq05t#k>2#9%RQDFHX zh>^@TNC60u&;>+2h_75^!zEr^!K)J(}8aZy@{aP;^UQv!W|I=KVzWhGdUy$3jx8`8&hUJ%gy?uI2R)F)RQ3e_0y5oWBZ?Hp2GxD+z>h7XB6nvC~0O zBLF{^<)2XKD%KQgQ8bD#z0HHQ`Y%$`snLn=zAjP|zYC2_w?z|CJ;N&BejHOrd@tEw`D;$5ABpk`Yw`NRK5KB_9ZsI3c z;1xzsXqj}2{w}g%UDZrILc!3ZP$VRLd@eud2NF9yuJ^W{ri0dXoa;LA zWo#nu7=Zff0s9{< z!OT+*cXD;9rlnOh_D`zSY?NYzpK5sf6j@^OTYp$McS>o|Fz%zalP<+3uC9q@IJnT6&5);T$?g-qI!jY2b67t zKrfetC^2rDx8wseYudIrjZ;^cpUzLQsOijKimiC19zqVx13_?B zH3KtFE~%>#8#$l?LE_$xkM*ITTNkau3;?C6JK~$JGL=j1c#X}t4#ox%Rt=G=FfO8> z6Emp5L-rMIvy*{mjE|bRJ@c3!zQ@(=0(|`1$)1)Oij^cZ=dbqNzRTmX`)I*zCA!5s zB-!t{5X9N)&La1MSmX_IY`0?l=HSgltc{`nPp?nn0rZVb{Yy!^o_ogKt&{M|v**r+ zVqW@(wJfC{YH_X)6{ym&3?fz+~DD0I^O1(=-pIy zsXXVih#kArrjvQ#`}xc~6Q9AJes=MQFPdRl}zV{!UNA#d+87 zq>?VibMgE#zCWmyeNaA?Eiq+2Ci`F4c^dr#IUc-&Hc|{B0H#|59-r3nPeW~ga2x^4 zD)nEH*nNNRs>04NpCevnGWIS^pYh_Rc>ihXLfvFbR-g~^NmQ5W%gR$}WbpMxV4!Uu zajTCN82WIW|8t^Z@F>f0a}*tOp{)s_Z|5m3ix}K3ok(x2*;QD*rO?Fq%nf`e<7mfE5xbRCmOn!{M;V<;UbX6vy#5bSW zqy18S;jZgjLy1QRR3tpWLT8&>LW|d^FjXTNlrDo&z+v)_-m(;TbUvBt1dBv`Zq1)z z)2OF41!D})=6N$$cgYu|urfV&vMDb<1D%C5cci(#px?&Dz&F0S`4K<|dobc1{b&FJ zU#;b>ZH=H6b3vD0gMFGeu5pA*?i~>DO3_E=mXsLDtxTK({6rxb4A2=}JAaz+Bi~4s zc-CaOTNy!q^rL`%EQ;_edRx-88{F4f$n5WzftqkuqiN}_zj?k23r=)GIS`xLE?2iwk{V%I; zo?ZKO0tx;y=a_s=f((NM5Gd!zplO!=JA7QkNaxT%7B z>u4BEe5weK`7`_&8GN(w)s z*4#5}hpJe`p zO4V>y1sV9%uGJnd8A<&jlsoi5scD+b9rOU%4UFzWC4FNJmHnvlPk2V!sK?CE4$Vy9 zZqGwsiM%b=gb$;qxZKUuC}k7tnEnN<9g~=7CK!()SB-~t->*dt`XHx+Xw)CtxO1$! z{*3%J2%#RnJZ`gnR3mPzYGLj$P5m`o_9dw8`@v+7Zs?Qx(7j>JQXhJIVf9V%W|7gW zkk1yJpXwCEEN|@(ee4xB3lqr1(5{|L6>=$?-)$*}A53h_-}Q`A9gkd~+@jnqo*0&f z8<%)RfVDRIysgu{gZec8?Q+WCXd9>}NC&mz=?5KI|91)u8d2Azft5VenFscpTP1$1 z3!l3tuPrRHa`>_~!#eUa6lxuW>sK{Y9tT;Yhs9iA^y@B6(H*6nAN=t=l%Pvl{h5dbqJbW{H zYs+ne<`L3+l6g_r`Z`no^WIXuL1BoKihaIc!g}p$NYp6&>c_q32wm$<&z$N+2RhMT zqFhK=l=S(g=;fR2VY{~Q0I4nr>BP)~3TRf|TSOnUC!&$0Yb$J|Uuv{AziFzL_7)`M zsZq1T*%V^%efDa2@OhKnAL7Ds`X_0NoXQol4>!&WzsHK;mWv21KdG5B|BT!itHb7g zPcXj`Vcqc#+Y3{(z;G|pNSM?jxw{&XJ6&~^)ZNE0<;Krqe`;W^tCi`EZ|ppmu5vK+ zqN5I)Sq0VdUQBkN@7}6^16Kdc!iU*Y05y3?%k9;Klk$y!pG7Io z6MP6#6_``ltCztoWOJ-$M$MxwcsIGa_-p=>SOn_#ws)fwRsiSq6dWSz%70s)CkYsn zh>ZyOpp{;;J!kIM`m^NwJoxy5K(o4Z^|n;{SdDVH4C!fbmI$Xh*%5^T;aBWSmNlyd zy}*+a68!5-+%@M%WR%6Vz!%^_*UTsbWWt%xQuJ6VO7{*3nF(0CFRE5MHXg-Zi3~~? zK!n9no%HPKBx9V|Q!XyYLEMQuYF4_xkGy^KCW4~=r9DXNBtr7SPxT*7TPkN zWEun6jOVkrE0!gJN?7W5q9+^(x#JQg7n$*3re8#FPM^4|K1Cg!2V5i%7Jd1!*-pr$ zqaUDz@G@57l{8E76G}o_aQ1`CUxl5M$YWA}l{@cH$hovlzCRfb58i#zlFc|g?4#0k zbzc}s=Vc|b5O zWOxBN$*L`FwB3?eZn&#-us!I)xEp31c#b?1D}iA2pV+sz$k1fGiA^&TEbcGI&zY*# z`$(r>&$N)nqv)9f*?4h(yVzEwjNZ+{y!s@Rv%~%UkDkF?^EvO7fDXn&F(;W)ZF*(D zJV$t>gSkfW5np_(huqT9BpD_o$_8k>q(kjn8&Vp%Juty$~LRj=r5 zfQ#JHirJVC#Rfh&cCXOvC{B$p69m$1eJVK_KIMuF)!^}j8o1WS zW3zIDVVXn>4N#1I6lALff7nc=$@Huj{6FENYZ>ZRO9lt3o<_r zYu0E+Ge>y2DQ$bWWYrxH4yTj{YOc3l)?dEtf;2Mwpj@DT9$|<)3>d&3@jgxmoZnrt zoby#nZP{21zw-+p=4w95r-8X-ToBWL|{$jf8F$V?&=sey`rb$CRtn1FRyC6ZCqqTHt4?tmF|FP6~UI6P+kl0}J=sg)Q%l24; zYjd3y{rsNL{EJNGrt?9Jq}^l#uC2}z!!tc8JEj5(M{BJe{dNsXB;#PLX8YkGr0eyj zxGo(!e^s1YVXuP1w#cOG%5Wr{;IF@ybKhJ2ete+FUd}Ni9I}v_0cq~!83C$%tWBwN zZmc))R3k(k!&)@=Svs33M)>icmobdp5)3reeQ9FpGCdbF9PvvyWMZ8sX|8N*Ol&Jb zACC7FAv7K`E?Pv9u*C*n{A_Xh7K&~(3;IX0VUG zlbY++_=uOHQEFfji0P??=x62-2a{AIMQk|dvh6tBrkUk=0UM`2pV(`LCU>336LzFK zs*hwhNbGsi@OGH*%u(DigBVywKm6ul4CCMZ=iRXSCUA#03-e-osLgL;IB6Mj#74c5 z*3-&s8k)(iOn>UO6fk^Mu(1@D5JNrbiabHXEFU>?JgC+ z?S!c9o1QHu1Jknv(r>Jdhrus6XzYU;8qakf4sw4gWMm@Es8%g;J14{~#n>v!VMXJr zD~j_c3MhXD`1t~y%7qKV_tm$ft3Nzqiwr$r4LkBz-?V45M7ab$7*5WCCr@Plc1M_g zu=9eDJ@u0)z3IDqbNsPI>)(|SZO=ayotCeFudk%md+j`5IuGk);CVxB;|sAOmZ^B` z4VIK?3R~RsQz6U+?Y9KE!nTkF&F4@D!_DOp7jIGDkI$!M_zslVF0kXzU!4m)j7sf$ z-*iVGDq@(2{Ltt)ZyCg#gVI0^(HiFH`h|p<9^odC`|G>Y_rBXdpgVXk6AmJj*SU;a zeKhim{1{^ox%Nhru;7dPr-Sb<6fYv(xa(_l5H1M@1k&f#6H6+oP#(W3x`T20W` zD{PAMx|v`}nv~<{?awQOg z$7shExU|^wf-}eVJ`J2}x$uhEB__~*3tUFF;1ZtwIB)A!@-sVGq~$kcwL0U83`+mi zbl6{9V)hKVaI%6mw0%n77}^%$qFJ^K^u73|C76A%02v;o#$Ok*;P|>x=L_QzOMYG3 z;3F7s6+)WZ^wF5VbPAVwnLHra7DEB^?Q60Y|6j5^^(L=)uwYWH+KwYWY{DB#NCaS% zQM31miM!3a*`RG{2p8UIj?9B^+*uj!d0hN>R>xy#p#Aa%kRHNyewfp^xt>9}{zpg~ zBKFQ=C49;4+`JzHq4bjP4hI+V`^HS(CyCc+^wk1t@@FnoxX;l*T`M-ut-pco-{K`OKdCKb?&TSBkX% z4lhT*H+53@55f)V4|{Z}EO!^)L=A{v3nIp%Q5*?E-Y7#bQKSl$-d|b1nRfGg7cB@x z$x}JJ(Ej`R&EKDmfY6_e;mOK*qBDmbA@B5}M~oL*+F#}|`EtKDxClIb7UIN5QVXNn zz(<&~HxOLbwN8xi`3)|jew-X*%skkkEc8Z{@X?Ko6#~y!t$`>D1gUyCjgX@{{XfsmsJA;6f&Q+FvNbfV9GiD_(8x z@t4t!0br8HrA?CrNct%t*-lJpWkCBdQZ`W*XU-~G{=mq^Tc9mx>766i1wZg%v^HV# ziUmVy$${FWWpNm&Ns1n2mdy6PQHy3?FdtjYJ6^1uOES5q#nXp%Zr+2QH5sqK+(9ZB zfa2BsO@rF9dT7?@d7`sKaefh?z1dl(yEEM82W|nJUIFu(W&hUFv8n1(%MM{SmII?Z z>z#%s1yBgdQWk`P+7cMWQ3B2q^R{-WR)Y*q@LErQUBEO#t`QFnTU)jK#@Sg@LEgHV z_2Jjw>BN_vC}+;Kw(Tr=(%#-*)bEU1M4fJJX?7GG?2d;jYgDzf4n1KWEAsIWcLzvE zDoy*b5PD*Tv9eQtP)}-ntJaqZPv7pcjsT_ns-5YMb!1uew*0+j8Y1#;M=v)UQ(VX3 zqa4lAy$-cUiIVfgskj`o%@3y`6?0VVAPdqc^P0vM&o*z`l%Nl+c9M7YIUg80-onS_ zBxIU-M5!&^j#~b>@H3k*Bi_0U2Y&V-WUan29*NycK=+?=La!JRB0 z6~N6wj-kAk;0SJb_a}!?_~XuJ-m36}j2+vkR!$6h3#pmaz($1}(Mj6=rHVW#^;8{^ zG+MSL51-6(!KrQ0qX6Qkf`dbhS+nz}N6XIhVd8~mn;1GtUn5TP3S^RHu_1jkM^lqk znMYE--?r}F{^6JIZstJ$2V6m6VG+#d<(R+=m-=U_VhwYY%{Pg*U{Wwt6u80W%Kb@W zByi~Ho&V>!fDy7Yz`s9N-uQp^>1oRU?9&5hjM=eZ(R(DJ=Z(y{Fgn$MCnmsHj#;8= zbLB!6-USiLR)W2hN1w6~!eqI*V8ZoPGv9k|sK=R!%18UNl`E=at&QPQv%1f_#U2R< z>3Z+K1G)`bu0wl}xZuUdLoWXE$~k-P@aDE!NZir8xo4|YP>6M%&AR9;s&ddW<4G!v zZnYM8!oSyuvPM#ZCOAx$jhfwU>SDk2Q(myIn0M1%e%w08w6$q1)&;K_6wsv!>SQ%; zZ0hD&j>sEsL6?B-5yeW}li6_s;WuX)^9-#+v52UFI0)eQF8#Nf&|GI=m zizm=@GBGpDx5z?6#ldJD**C$OS1(EyujnCU9p%nBqN@e!@$^C4b?AsiVONibVx_*I zs^dan{=f2tJ%RFv+ayJIMa?hxscZlz-o5QZ4K8>DL(TDqj`8}Ijd-uqqO+W)|{ z_S)Cp=RWsw9KYVa!eTFn=SU7c5Y|IxR&Kta^8rB=Wv};XE(41KRVkKqmGwU#Ol7Qq zyFG$#vHjav&7P3l%JS{h(J@@RvEQj)qbdo9Y@+0*tUs$D8PC{yU??uR5yse#d=Vab zMyDTLQ(|%Zy8tOj{)F%uFI*)?dz#nUIT9ii}WM#c7V0d z?Ebx&Ds8hGicS=L;y_vV}+u3v_qA;9qqX(&q#VfnF1sV64KbnT!=zc$NT5mTOl1#Wsk7JmPR-Z?Jv0Ikz#+oi^l0 z9>w#bl+byGldNrAJ{^JZY)}hJHU{J>b&fAl!(y~v%3xIkZt!CTTTyT(*T1H|-m0Bp zB43#@+Fl7lvx)%E4a&BnC+MJ%oj2}zQ032?V8OjA;10G~Z>H7`y6w`V4ywdemTJG= zv4-S)Kc4|VRZ6ajkrk5;SN?yuWOg8XllCV!Xj^}0eN{{wm4P(ybK zcD?Sv#GkjbjX*2zQ1{pZookdqo_#NZFr)mLvzc;H-&#I%{b%yCZO|i#&qo7JUhVlZ z{i)uZu9}M7?K7uxP>}7zfyL|%%9h&BTKyb%X ziA%=%om({G*hMc5set=1+GT$2)6?X54A@}*8s4Q3MFqvCnZ ze>cXm|Ix%?{G*An3=$$f?nJiyBws1Sm&Mk+Yf>y~aKN89l&%&G2ws{7-Z|p;qq(f4 zwN&s19GE+mW!D*Xr7cQb@xW&SGQPx)lvzBp8jZP8^7i!F7Ort_HufZI_g1LmxWf(G z2SNR*wgbijUF z<$agiSL|hOTar}Mka`AJsyRO4T#~bj#i)y7*0HSc2lLIf`|Hfii)VFw)FMGb=EWQp zHx)-wuGN1}4ah{-KP~44Tg$4~Mv>%mGvpQ!CHxr}7c?dS} za&(L;IgA%$!&K@k$tE>toD|OAA8SEHz9scZW)(Yj?(^qA3_9@g>ksamvn6D8hTb*W zukJ-S_W{C}$N4R3oLP3jLHl3d5BEwmmh5+sDFroJ{i+`On9rrzHi{Q~x`BO3qnQuf z6?N@6w_yT_NnJ+rhDwSB+l7j|7>%#g?S)sYZS{*Lj6xw_^<*UAGe*hLD+2(wr6FAHEQ#q^+T?)Vv&8aNW?m7GRyL zehZP7=7Ci^Jr+cTDeNPP=DC1}#I78%b8dRx7lj67X(#{5=cvrIjjxmlbfLa9YNg<9 zLaL2J`FJiwDjIU3i39uhU~h^6R9*K#qt!hZG|PPtIp@}$mvqhpQ19~u^)`07t&KFd zXt)G5FjM&Rzvn!_0AapuwVagYxKogxXkNKQJAQ(6EX`sJ09&8ew;g)V8bEcFkLJo| z{57ng8_L|fB&7fX&BN0v3yJx{Affb{8&k^m)zi~o$3&}v@jaZZ}sJ({oTE*%UHqnEg-j! zu}=FS2opZ;I>&i4>-NW)iUhj22%!`Fa}0_!&J_x6r&c>IKf?PWZJ|r`2tsb{Wy5}N zH+}}b#w`IRvBs}Uf`n0QWFj+`;f7-SU)h>_0|{U#=Cig|U${p0Ov@oQ1I z7y}>+PUdXIg%cEb&bdaLp$Ww7-M~Bi-zNw2D=7db)jR!a9cIAB}sBoUoa~OXE8p5g}55!=+vP?vt$HR zJbv0#b==PG{rM>wQ6 z(R&x27vczf@eHqVIBV&=qXYSb5svni^M+va*9b2lo_O)lL1l@*$d8Jw#)_%p^ely3 z^tVDhUl{On#<$DeD4#yxaJol8c;2kuJr*x6HL+Iv9yE4}Nns}DZS{0@Of-fezfco^ zWwfyRHJfMq?Tp|_P<32h9a{*Kx3|~dlM!2?>th~Iv!m_1?o9Sk{c>uM+2{blFYQ0h z8Ae`37lIG4?>&+#iN|;t=fOeFe0VX3M;(s>SG%57;;#O4nJ~$Pe3>h8rw+gH!6`4l z@?A0oL82wU8y+^eZ%(I`GV`jrzOdw>Kmy}DfVMMQkW<;syd?-tsz`)r6DWjrxl-B>;LKEBiTz$K1lw;q6W5O15t-1b zM7GiH)vK-i!sYG>*a>UNL}(!wUV9;Q__nSq$2q60Z~I(+H9Z^c#ukjw4QN1VI&N@;)4@;Nkx*A}|M z40skYIdc3;T$EL}ekBk}u*PH$;wdAy=xb_E<#MkPWPqzEWR~eIFHx#F-HCbc(@`~pa^xD@`bEqR zd@+wnt5hU7QMi<$SDdP3Lbj${~pg_mcGoCpjq|jYS zBp~HH?8Uef#h|H#N=|H{Z?bGp_4v5XHQAvk(j*xX*h3)k8=AnBPz0%-w~ zta3;`PKr$-;C*ww&Ms4hWhGA%JiyFy_*vLjJ{n9`i>j&XnCUi-w$ zL)%bjT_Qghyta)(JMH;r+-C*XRjfbDapqJHmmOYXLY^SO<3u@)u( z-)nBM#?1uo7~r-jcl@DBlZ$~J4?fw)UO$Ootpb2i&qLTVXgb~-``KpGErR{S(>cSc zASYD8{B1Sd?NB%H;3U-9X#b>&XT!0gucr+zbJ6WN@Z5EcWM@=vVkO7PuK{JlI+N9% zv43G*Sl^c_3+s&9)-ZG_gwCOfgJ$U{FXZkmso_XV%Zm-XEngJzQR1+3r%DbXk--@^ z;k+4u2@5qfb^06IflF#JtEb0MUU6~pS3IbPTCDZMUFheQyGgwtn$?r#BAyQ~mdq)W z`^h72%+zhbQ-Ob9wqs5Iap)5x!X$vlgUHUTFjS2Sja{a%zwQ>+vr`1HmSX&8uLQvf ziP^_klVK*jh96Y=&}``AT2iuM*BTbhlkMdrGW^9aN7=W++(8yL}`v~TkmcDbS z`&Hp=nA2E+s0yR3W~cHfeo-$<_R{U!{8>b>ANaRSm8Z2}?-F4`3f#x2c-4nMn#VR6 zC&)uOkr10pH4bay_iWYac-S&hL$2fKk421+i#EzYF}&>JK5s%ZgZlcxZ7bPa8>y@N z9gHolc5?A*K3bM9o_wXl!Vr-Yo0%uruL0lb#)?%E1Mo(HV7xm{(eU&quv^w1kdH;L z`6I!v6`Jy24zyl7;EVg|M79sk%tXiHZr|f|#uqqvX43{Sj?c#>R8zUcG+9%k#Lo|W zL|ouVK!s`!{}DP7lCI+}bezA>9}0MS*g|cMdJRsig0oX1W&a@E^QQ5LJmdbAo?HLV zB@*#IfsmdfE|EcLC(lTjD_FH67wb2a}ee%E*ZjTg5lU`f&~V ziUx$KO&ZkKu_gWf^Y7nTv@utxFIzo@nTCjK+b?7vRsuP|uB?e7Qj&+wL`=hD%RLk9w zBVg;h*}@n-B!|3kH6ag7TaI^qx#GYTBKK&n=X7J5IL4bkZDwvLPQovE>L8@x?I~KQ zn3(9+?LJt0BH*m7#OkRt)Z+2NpxHLD($G7RO2)sfWLA=6i|1=Sh5JtRB==vWd2(yS z`s2Uv;8TPDG;{3{fRz;(A{-&4a{CSQXM~!N*hag#^;3G{+$uSP^ z(0Z3n#)<#@$jdcR8MMd!b*(770{i_^UW2mTh&IUo63X^WA@RSQpmOh z8jc?Ak#%kXiL=a=71KwHUG6!!fF0%1UN}GLAB?X7=&s7ob_U^41X;(&T5itGQh4Xp zq7KsSyFcUS=9r8JVtkeYo{-4on~xbvy?4uXu(n?^E^va$nXHHXH+0;AeN^zy+}gNK zsX>mL%a<~4um>A@v-_*-3*O->UlOUyy+=F0bG#I&ZhP6-eS~lv#+?uAi~0&E&fMk-A&8lQ#Kv z9QrD4BE(5qGLEB3pEB2M5l4B@tbNf%C(azn&v?*$MM;uWriyh##9I1AK1+@Zw^Kjg zuMUFQmd~E7;DPi`%BD=wD8CP=x5$^}R@u+oUJ+w&J~PPtKqF{q)@2(oplBekPK$c+ z`l?Ka|K>uAbBeh_WZw%=_+%@k(hkO&eK~+<&S^B>slJDCL_SCuriGr#{&^)7uiGj6 zhs8uV2NoqIQ+?MAUbgEBIG<22V>t_9sORF&WZR~v$!6>t2=cS?Ynr*fJdR*esk_qo zJc4el+C`Fy?)~?Y3_1|HIbT)`=o@ZGo2qu?> zCs}Y@Imik+nD8y=mrG188ud9GVSwF9%D+IYxrq9+7-+vUH78B2Z1XZRd|?@X2$w|1s|gKTf*f zawPj_>9E6B4yaPQY<33V$M_#yJ+F(`yH*m@L?6ut#G_jNJTR68RB+y0&u%pczyxuJd^%@-!%>PL?@qbMkHtz5MFg|k zPLKb;ee>cH^uFgXgH4+!Wn&M?>96&Npqo=G5pOrA_qmz{rsW+iEY2-uoV0C?Z`{@Q ze#7~cZ>sLHYM)={&)nU?c15W*MMV3Fi1UXjkmIw({X9T0{8Qt!aCYuTWSwm9^j~1@El8o@;3A zA+)2w%I&V-IaNeH&eR-v-TdZ@quyOY<%)jlEm7|NPZVb*r9TKyJJfExc9WOmt~X}$ z);4P%Qe=@zgK^6iFyLtY5vn z$lUY%VlzvQ#O$x#s@K1ylFqGIIzs_xU7?)c>q4e?&D!Qa7yOtbfFIiD`QC>1!%gq~ z4)%nAb~DzDZb^b;bVyB~NtS&MyAOQ^an6#GzLG-9Zh#g;8skFG-|G-!Kdg&04@hmr_^_a~eMD;G$Az#*3HakMFHE`f##X!J#qy^%)!Mr9q#N53tu{gSCiH6=J?tOtI7`mGf5zAv=W@$FY=;_Y zJo)Llb=%&t{oXM_-W2PecF}^WUT;T=z5m}>0wp<|Y;G?px-;oKJ4Xx(!(x2sct%=E z=mWWkAz5nstykLeQ-Al_jK;giBhr>l)yKwHnB%2GT(D^-RcXi4svfk?N<=2I|0`8$ z2^in}rg0&{P2~ZbIV)Ha+gjrif3uXx-&E(B`)7zvL$^^QbzGEnTZgXpYMOU;mm9gxa1hM|TKsLVHOnVtC= z67d}x2EbI@Aww6t?5i5WA2miPPW1_8?ZL}f-e~oRMir$l*sxEnXb!GaC`P>OdCgGzIeV5Ft~_x1Iz4nC|PJGiMs`5^#1I@ z)}8{ej!>V?&_+PF4L2_tIa5!GSbklEOt+w$7>TyuC?m<*LM4G+01u>x*ZUTrk6D}TSig(2 z1};G4K)QsrkA8q{(~hp>5Ue6@tFzss>uG-AS_5e9t=U!xd^}zEfzYZroqVq|T z?bE2pI6HKS7T9Brd+0h2W*rT1YsNpFLJI^*c#_SMIfNVW0a1&7)MnYXjuQgHi#xgg7UG=v zTmD7_mrC`wY0(lw9ykrRHUDe_dlb1gOgx)#z$jo|J$eS)rER{J{NLN9>8&oJH|l?G z<&KbrYp3RArP<|CW)hBt#dyb`cDGU6jB~FD+KLg6`TMryCG->xt{UZAgxreZ3_gjrMdMFLIXOb zo#tuCa^{ZXR_mbhp0l%&#uv&Nc>2jm@;3UNh^LKFgU%@xEGH3X-}^@DxLk3qGV@+6 zd%P_aw9wA>dR0F!ndAHCyPWF_N*pgay~GqD!&i#f@>@ktm|GJ^X;x3tI~5%U{~tkP zDZsm)Ki5yAp_8V!Aw&xwn5N7{YdVz6Vo*%%B{al4ACGB+?yQ+M=*b#W4#&N)5e#9>N_v^lXKn6UdtdeDK5rs1wrDCm*0yf7z6H_arnWktw14@>$#T8Nf!9}E z+38LD2iBwB_E}1MGVghH3s^PJod$G=T$zle6hvS!xc@|lc}st~VCev1Lvak?kRY#< zf~N`-Y|N9b7UHy%+Bgy~lNkTUwisQS#-OL242{Pr8J0FGPT@9Qm+wRVrSkTH!bHVo ze-y=KPifGh6+6&Uw^M6G_yH=qfW7Y-K>(eShJVV)Ghil>AP~oMn;oMMbCY1zk`}9g7fM z+ubqk%LO&?(6Qe)Wt}zeJ)vX!p+{KxJuD)sb^}%{F4)eRr)!un4tt*Vr-pQqd=8zK z(Ca)=a*EytY{(LAJ(?PK7F~O^(5fNIw`D(8*oX~tPA2DqvBf(Y(?K4F3{L#6La10q zQo%#k-q(q-A%^Xm%}TTh>jnTwOh)3&Qmpe)8STx0EjJ^0n zJWKj0f=4z`E5=sCd#gO-NX5yi8!ZQCv1qrzm!;O?fXQ@h0TXe;CSN^DbGIz_ALWN0 zO4_R;Snzu?dktp_~7lvyfcFz$M$b7ucXav#OIl@a8$ zGu1~e9qR{fw!91h_9yN-2IqF1@%vVgH>u(1_~({u_qurW<0Ss$vf&b;Z=_o8HxQ|a zE``|s=}@+e}XhEs$&UJ?;C(NztXo}XbJ;VEj@*py(pc|KX4H1 zGb7=ySJ5=0`sZUh4gFUO@U6V$L_6GeV;RF#Ji76sIE|rJ7`U?rF9+{z-w9h9j5Mjz z{PvtU9`}zb%Y2+`695m+2KH?i867v|J&VY9@Y6?*$DlX|`4S{I{(WmE{K2^4fiE zONW48({{7485gYx-YYll#f*bd zIk~d@ASq{K|rBbq4X!wX!xNa+wHdgvuj8c}42)@)zM4bxsP_^&vU;zskXhTR;M<}w>k|H z`t?S+AnuAFsRH@StF`pzz>30!mwMmP$THa8T7){D7wZV?cnQq8EcGh{)T3$tw0$x# z=L7uG{EEJ|=sorIWcPFlW8HRYqfMI}kh1dCb+q>Az+oRZ*TAaR%RJz7v}m>5jPKJ} zFM*(lB#(3F%(Bh%SJcgU+>8dAUm7wnjkGi%mUhJ+Eebh%E_KI9t1hp1*1`!LH2AxJ ze|TbJh?{vdEws96k97gM`_lWgh`QGI*tk8T z&X?u2$M14BuC$B&*`c_c7R%MghdQwn@k@I#FRAdxz4*0#WT8K0-y5H<%?`-kFayr( zSYVlkhjL%myeXd4#5XLqaZjubJ^LegIJsoX345GWo%(Hh+|xMGrB{vRpn~lXq{nL1 zAD$M7EUzaow~-BbY)IiBvRi>Ku9x(U9k20o$Tc%d-p)dsHJI=>H|=+Lvd;<@Q2ske zmr>l2kDss9XfzuyF%N^;hZU#Hp^9hb#Nbtf7mBT4FIo%8P#d3!&}}aBfutIJ4Y>{v zrws|%{zp8pVT!X;F$K4A{pjc_+Tg_p;za5X`G3H7S!eB)M+x7(ihV9`lI}T^#@o(w zg+i}pm`@B<4l6V_r!VnuR!LsC=?l;A7fZss4rf-^x8WwqZuUCrRtjxtp-uy%U8wQ7u zr`M%}GoNVp2DS3ah_Vo=QuU&~4)VW4R9pnn7wOWZN7GNy7GL}X3&oN+rAXk==|DaS zu-Ch98(`u(_$FS6n|DbpE(NA(MDiRbmhb%(Y4a!X1V$oPw(C4C@fK~oHixENa0L(F ztjC|ykdY;b@fZm4@X)JD)hQcGb@H#)8O(Ofc<)~rSbnn9QjEkKufe}Q7~}P?UI-Fu z7Z|;0q`tFl25$U1&&S-Sk2*D@Qj_sBLICUndZ|{8Od8FC&wg1&JHJS&yJV>IOBTB;9!_ zzL&LvN!MGud1R@BqPZG8!<8PTW1?AyYE{!pdW+p@(fbc8sDSeb*EsciGC1v|fPY1S zhs}v(n(Np2L6U+03|)4TbQ~{}R__$51&9fgdN(AX8TFk?CV_80C0&9S8tHWW`ddZ# zqaHF|yy*(1m+=orAtwxH@gdxGJuC88S~sQqA-J2EpQ*#uI=8SL9i+9q@W%D41h8+$x7s) zH7d+cm{ND4dSQ))UnLH2xGeGWbaV5hy!d&UvJ6S7xUL&3 zv(p$(FlBIx?KHC zVji{w@Q*3xayUcZ^W|@)4F@eR{*oz=95wIi*eI_FK*6vQYY6*jIE7DeNm=T;(8#Hn z-d7F}pc?DuoV*sMOW9ioKzBI< z9zX_`-M1ipc)-#nDbnhPK<`wm3wZwWj|s4HZ7x!OpI5rNi3?+|KkRiK{v`82(HqD2}lty+DRwA@ zqeHtR*5$L4S(XqIQOsU(*8H;(k+gvqjBTLI1;07KgJ+Uy>(8x#D}&) zttkw3mHXSDJG3t9709mJ=FQNKX*vXaJrX@8st{@R9w@orwytklN zOVuY1n^z5Z`?CYvqgj7wa>V^9is*CwhLZ@xCt<0OL(JpPS^@Qd%nChd3qvwjr}l4B zbzb(Fy?_=VpK)(rxN2y9UmJ}zl0O)pgG5!gKn`8v^>cgu-&1P=C3+0y5Xm_R77Hd@eViC0i-f z53nQ$=x8%8-Hhd>#U9xg3!cYIzD4~aFiu*e9-Y(BXb%*+`ZVgIQp(JL>Ede+jK12o zXsV$^;Fd5bj~Bw+voGUqw2^kacS%&nVm20tx%i4R=0cOJ;-kmU$+A>KyarsQur=0v4BQXSWkc3Z#{6Qkrt)0^@lDoZ?0QP5Sz@Ap zEDjtlnmKYa^?HbXYV@XZ*Sy@t@@NRhqTNRg?&f6L1F63^q!Ns~+a5X#fLEsRIbit0 zSC?yt4o4f=W}O~=N!{w5FI!pQEfu0pMSRRO%kj^(Kebh->5Y=MuUEa#mv9j1aWG*) zfRf|1ZTwe4$>(y^S}0>Ibn}ZI;Qo@-o+kmrOpBN>`Y87wtOqu|cYZ)aNkId;{|wVf z-TW#zUR3_Kmd4Jzu1rZb7~c}2OY}BRH0iFPJG!2-n>&Rt^oJdJ&w}91*qLXBF!2_2 zpic>CUH-`uc}E4!IowsEIGt$JXvpYU9hzNV$zojSkNPdwrLjrmmE!mE>-=Z0I`bTD z1R(Xxx?TZWybry8*kB^wsG^+w6mEvrz7yta^-Er{Zi%V#ib28 z=d6W=6AL0IOWzXutuW@u^DU5nZ{{${0;y8ZUU*d&X{bETEf5~r`F{X)xrUNQs37gc zd_J_9vyWVwcg}kDg9ZO`aDAa7g>#n@$qRLx6p>L{{ z3u|&H7tPd0>}4L?L^*m(?Mm30;kQPG1;JijU)+XQ**sQnW}-e#Esx?ntDuy~&3^d6 z4SbkvV-UP_IJ-;+G}c+VSbQ9g%)$EgV&I4mCAD+ehVswem|7=lVf0HV<#+27m2#}jN$vvd90g|D_<{l8kfbDcfxjgh zrn640Z3&_;xvK}O8S}HVpXE9M81+_$s*D@jt~|6eE(DdgwoATDZTm)JU46lI7XdKB zZWCWN7TsIhxPZ$yBzZcvLteCwZhiv~LH6rD9&U^B{&eC#nT0LlN;`7DTdd!Zy*&8| z3tcWj|5=QGU9;A8bc7Vu?~|+Je>g2ypV;rsHZN9sSCg4%I6i2&H4p#>ubPoD$%if; zl8#80pSQF`)a_zx1D%BEo5;s@(3Cz3ZM6!#>(EQ#PA5;kG;3ka^DRDSy817mObaqhBIfkH zYB5-L*>=ATNqT8`-=?ssMs%9(uj3b7{R>t|YfoKGVgjwT>^o82EwIW4>E zhxUSkY+Amfd?B^7yDCD1W8DYa5__D$hv`B)TYzHfjjyb@nc+sm#rs;RO$- zraZcch0_HK$3<*LEf4V6d)?TNZwYoZ=(l$AIR_r&bhfc9KgBY-08No z6;+Sti8+>>g6I-xEj5+2djua3oeT59b&YrBoSw1j%P;d@xo_%$+E-Lgui{?$30Yl~ zYx71mCp2Zxhf`wRjQo4P?l=TD1z%AtKoGIsCx&M5$su!a9{*JG%P^-4QH!!=-HM}h z8a=}(y$Lb3UF&kmI#08jPYXB3cj3auckwp&?d9Xsj9*(aGaZ#Gl=vydAk@&{cM^Ek z0ye>()1dx93aOm@g_oJ=BWG>Dr&^h&1w9@8Q9OwC4 zp*;qfR7Qx}ngL(b(t4~t*M=qXjO%F|NA37b4Nd3iUTRKU3CbwGuP-==k28y9RiHD& zthTd(N$>mKhw5VGhtRcQnpb_6nZzEgdJ^4jdf$^?Hxz-7K~#dz!k|LbO!l?F^R z+GGCr;y}qeCq5=><7z~gb0Wgc{L2NfWIabIZ`Dv22Mx1bo6Gv!Y0z(BCVxR*RhOzU z;f5a3VRKlBGfjt61rqG_YYX0}zX^S*Tt*>-eJmp0*mZH<|K4^6NObxC-glgJAv%}T z^YQY4AkPHZ1a4#Hyk`tMjJJ2|lCE3557^S+tnqul&-G)q-jnl}V)d_MBYTlxjJr-s z0|bVn0yUXT3aF}OD!WKW*g{Rw*lyxyd)L^QR!85L2IGYrkf2(99L7uYd{$(0n05wE z;|utUK4+zOqd74*vI3CPb>>-jy;p)_BPq@+K&<*$yQ;V8voDx`M{F9$JX{78HgQ^+ zJdV4W8{1c)Ps4a<-u{lkstsDoH*WnvF-@l*EOEc~ozNKZ*UmdW|Dr013}gtf9^?WM z$2%)!%5VezaAx*8D@cpAnAQK3>n$D*N#nu^H*lI$kaHFlC?UkneVyDqijf|YgZ;Is z7MN8zLI$Z2RjK3Cp`KV#=TziMuBeIgr2LhM2+t4vFf94Ii+$CunnX3e=@s5=Bex<> zl8xvSx$COvsDROh;AhTCEVq$Y=2*{!1_TQj# z|DH984GxbisiJ%i2kGn0m|uONP1`sq`k?2QUE z?d7*q@7Zblbq!WXk)KVz6U{(wuVIQCo1(Q@H|M5Lh$Ffu2Yp|II3uLN-~;y2M6Tg{ z3cNAQi|VlNv@OSJZ!@^1|7G#VNp zL0M)UYqs=_QKeP$UmGiP;01GjvW(diE9Hh#2m zQIC_kBK;xS3%3yLOe#>%xLm*u;f>Le=M_@Hw#E2VzDYA|gw?oxL%nRE`JyT#5eaB4 z#>}Z?*AIe6lvh6oK?}Tu7R$YC5S1&UHY0iR*fjd@MY$H8lLE)`#CYByrPJ5icbpQD zg5*9sts?#Lx!swibYp9|Vlz%rd4Kbqt=op6zJMS;{a04u)w;7pIj?W>fNlfxpWV(q zVf!Daofl%wYhY77`_FjroozwNkTaVq4f9#9P;cWbHaNORy$9B1YEA3lW3ih#$FDvh z$EdIs>Ksmq)=^g3O}T-P&9e^$Q#QD|w~BSi|Tqc9iAu-&=#Mas!o;A@$b6zlzi^m<;cf zV;69>d%8tw7*>%1=e)etFQ64EU|g8fBgZIWHd;pIScTF!68WH=H!ea%Mm{!Rws zbdxDw(In*M{e<1|E=5#$^sQ3#E=CY*ruPF7-AVC7Dpg8oh*6aa);g6>!unZUa{3y912QCGe#Le5u^Q!8XT~wfegdNPV zT3vI&yGnaVIgH)na}$B%uWPrX>IoG&h-2?%*>sxd5C%+}73O-l^SBswim1jgjuF@F zN97@TYaGk}40g$XmWyxFKQlxNO`OSw`&0113XM^CRjVQgVg!{VE($G=ZmWv&jD)qR zKFv9UG?^LpgN@^2utgRWjplCl=2E58cP>t*gY3rlQ@rL{8;SR22~)jR*me4A~}@p+z4gP{=uw zBjnSWdpxq*?>F(x^~F^B>Pt(P1;ak18(?kpk~62ie1j&jV&5iiYx@3xfnu8arhczV zR=5s{(nbRhnb-H3cSe}#;4dymU=*!k0gGmQG{D@90QG*^=eyB^{C!a-42;_~dqiLD z*lrAa=g)900oU^@_0Sd_WJb&*|m<;7I20<3yhrP+1xUsU`cQz!|j{3 z-R!fR-3#I2myAw2okO#BK-Pv%M{|iw;w6JNFqe_Q4=)AbdD#`jS-f zqWQS-f~j#Q%?g*i*7JCUSw4;``SkSEE|UEJ@%7bjQFq(hG$H~jA`K$aCEX#2sHD_L zcXtonpmcXCAuSEV&`1p>$PfcV=g>6_`5m9@J?A+;y??=6*PgZaXRUkPA@b(;)FKxG zT9v3M>?9jfU-yWJ1j0Yw{^H!H@7?S~W(`v)x*$mQT%@4Xc`$!f*56^4S%uM?qcQYTp zKyP!3W5V2mcy?Yk&|Om)XLpxLqEs|+(e7Si@}BqO${DVV%FE^zz%EJ1elo+EB5Rp0_%JI~KbZ2P@RfS}2!fZR=atP~-D>R{ z*Gr^cO<7PqXU2g0nn=GVf=OK&>84Xwt2RDbn@jpk%CKmd;*hQ-3&1P+bFkajxIonr zM@C~Y;3{(qWAV~;#8s!>Hr0NkmX!3QN3mvbaBvRsVZ3gqd4cP1DW1~Gp)UU|#b4&Z z(NDlOozaa&pYaYe6#}oj+i;HZQa-h0)%#^%aQ7tshYQde)|Tz{)8u3Se)Za0Zm&5Z zKgQ5+n)Pj#$uI%xmIz5-eE_XUK6ryp9MN6O4x{EGw{+@I2!w z6gW+jTeKvfO&c##`q?kER_jqo$vHEhhFd+qxjR#C^sU#>(Sz5zFNAiz5-6# zUja4WYuR_-S63>2r+@7a;!HK8_^>8YO>RO~A)(V}H;atbAMouM&~lXiwH>6xuY|)vv%M$%$4_>)5$Q~dK7XEMDw>^z(TIy;l`NNX>$C>6 z4o8C=T$NOEfd&!ZwNJ1Nc1+9H7V(eh=%{*HFo3?IwX0@cU4p?nD32@-?+0Dnb?o_K zdhER}ZEgOiI^sP!I#0o-F;u*3(CXgyiaF(n4c3tuBl2d0s9k$2TXB+ya1Vz0T^``I=u$?&s{X2AtpZdJUEmlY_qBbBKP_Knok@0lNv^9Hqkd>{5L;J3_ zIdRTdqrK#>M(?gd7?02M5{BYe58?pDR~|tpixgO@+Qn|t)u!*zH+hHzd)e1k{gzPX z_ zywz{`u1nccIKhiYG`SwW;8)X&L3>`x!xSgn+vJo4SLH^1s+exP6Uz7lcFJ=0dV(zv zr7e5;_@b|y{C1w+G${>z2qRr*`fpLb&@(>%j4sP|y?{$>CegF^T6yIv!}}GAb#AK4 z7i`O1&ww)<28R^sUJf!eJj2*kXy4#_#3|Vv?#!yMv;+e^c2o|=M2=6D#vQ`Ug3XC8 zF&|v~iX)Qa zJnm@p(Wbke7xiawGcx`4f#W8W5SE^xO7795!J$=5zR|~?y88_PK5W^y{A=?z9=HOT zdRm5xl|(2?TizYCUgx^*&7$82Me#AvJ?dcM`B4DI3xB9+gieT;ssZyM-k)?(F@li7 zFg^awoa0ASHFsGc$YiGT(EcHh;;qTeI%jsm)yE$PA}R-z=|i8u zO9ak=^jNHSkKF=E)p`RTzq}NNO#Tv$MYs0iekaHOwx;Oq+twpE31GwSG2TaZ#FLi& zLLGxH$>Nh6HaL+^TZ5cRyvLxk_uIRDRn3jWB~C~_4{egF-w%a5q-u(V`RI?EBXPw# zBroeJAa3aPRuI)5DQ*G7g<_z0>BZB{gCuZ`#2WwIY}X=eS!Gpe*H7_^8N^jbrm zf~sZfB2_DL93QqSW6U1&5*RPh1c|Ymq!tuq&yU(~ugf`dqCXVdE*rn&8fy;LAKnnJ z!Id?pMzg0s#-r}=;5TXsGgGQ5HH1t$JQ#!Fx@uh$EsGn+2cWT4(OUO~*3L{-z^S-XVB{ZLEz|KN!x|n7lUm*)Z{B=JntKCb+i>JWrGUd)i>~+#*JDL|=7L z3@aF{2+Ef;5?VR6@v{Le(>QPGiZ|)Li#PGr25<3&opk(9@eTi_EO{+8eC#KoOMt*J ze^D>riY$25=m3(w-g%rR2m$NW}H{;0ovzF^@lkGlAHulM9np_Z%B6EIJ^cD13mZr&}Fn00x78?`t8 zSz;Nz5{yvEk64u~b9;lMQ7lCMY1D1Ldrp3=NL^JU^>#jWJVrrKhk8yW-l;W*qf2~^ zW5Uhq#^Ta;ppIU`5E8ue2!mPxd6cp!QFgEpIq;KMloI;OCVVepfskEvMODxS(m{7{ zin&>K(87L?37_Y3;(Sx-u~7Xy^l|l{w0F4(>_2N1hf1&X3CSc<)&x9zf=YB%al#O` z`A;64FDzn#CTeQ?qyjL=(4eI186FbbXk6Us{*S!_y#)u@L=S@Dzxn}e}U+T zSx>M`)kM7i!lM57mO17)FW;Wi#ntXPdKIiAiG@I8V+>xnpt)fFV*2|2#qjcC-Pm3i zH8)qM)C;rmIK_eYk61?p4dN;<;;|#>yC_hosF-`v;qQ|CY#M)&JvdUj#da=B zyo|8pC8|jmmJ)Zz!?gajWcA=WgHEa`&d%U9jY%)RRH3e#)xh0nC?1N=7?ylYup&K0 z(o`i%W_tc~9>Al1UzT8+6WerTIBX&$}1JH4mdeEu(Rw%Pl)Vqr~{@1AWN zwqDl}d+)AfNoY`}AGQ{Aj!S<^?L8{@J={!E$~j2rO$cz*Ge~rR*`Y1?zhE9?EWJB2 z1UYI-xjM)RF_unUENY>WbIDqFJ4jDd`_l*GrK3pCRfcbcV5bdqSjX3v>GYH zROv;%^!&@ql!dq(p?v>BhSId@4SZqup&Et;r@f?4s9I$UZ=jQg3S)#nY$c0E5#=*) zc8lhMG5FG+P#CxjsZ&ZHN6;*^8W88?V1kPQO$%Q6kLa$VByLU~dXLBVO#3Zidi#H4 zSnG8fEDVj@*ha{;P-Cj?w?;JES^N$X{!x!#4jp{G3!FIyS8*?lNT~#!zp~u5v47ZN zff90^daU&D8x_^UQ%|xAn!#j96Zt)K=q12WX!FIUa|3Oyqfklue+ zaWX<2HjmET{X(|zUQNkg>6!2?-vyhdcOau5v2)Eq)q67|9b5S$DG|=(dv}?v zd)JR*yiEF?{?DS^Yf@;y2x{KZ)3PM@xVYhU>7BH%_v9bm8h&kYmf^n(w!V>xPYEC! zdMl!0NeGwBoou9MN51HXFx(iw$kfF?GTP5isHJKe#epC8yd9HcDx>}7T|=9`p$LFn zy3OAI(Yf8Mb&5OAyMU!i{|BBkC**ueID!int~TNsP}xhOZ!3Kz9<@xwq{E$=l5IE?9V_hFuX_ncCeQTW2%$!TUJVU{c>L;&0GM>DdABZHI^RV|2qlG~1k) zI^zo+y2@KSsZuaXOD24<*f8@A)9E#!xgVGxvbxVOs8U>x8++k4dkPTxB=vg-5q7N1<>FX3Ib{whe?;Ck z-KiIGBBrgD(^|yBeV2i1DD90eRhiAy@XaMMTdCO zMEh4N^Mil+p0-%GrM7VDKd5Ao^?W5^c8z&ll?8ve9z!&9`lcNkW;I*w(c^#>?6RPw zK+nDHseKKL4lP#N-n?6$!aq9S;*3Nyu=r@R#Xr2N_^jWu+M@E-{RIs9^v^LjV}-Yz z|I)Zqrs}WjIK3xpiym~m@Rl*JMej%&=`o5!z}TUzmCM=Qv%~sV0FDqO;!Ee<4wL#F z3sDgNGSU|P^*&522@%%s*KieNh27UNujRjcnz*%!Z|u2j(Bc1H#W8sGmY}5)`Jxuq zPD+tISS$VYf&^M*N3B1=L!J7Y!_HY6|2+>rP&%mQ_0yM1iv)m^53*tllTH;MPa#KT z6d~CX-M-F^F>h+=#WT^X1UZ(&r2m5FKUuk61CFGe2a_whrzP0ns=bZAqzhvVvi>H% zT5+pocURde5dXFI6LIlPd~ou$kCj2dy6-!41R?f`q5;dgMyUVEn^(FBS0^+B*rmIg5W8eZ}a1l24*KESMqFvc=w)kY71;7+7)3yHbyP zNWs|{tW}4*;no({9zzg29Zuo2_q+YgLF>J`=-sr_aC9jky8>m^$yzh`v30e4^yPJa z>V9OemcL2F61vv3zyk$95;^5}H$~->B`T!xUt+Yg+rks@pbN|1zq+)jI+auP-%LLr zeUOJSC!2Ua``EtG;K!`H0?Rkoz#fKidH3nlwz~b}1uBv;p$0B;Z!3_+UjFU~-p%v2 z{g(nPPejVPE=0=;Xo=N?XNCA0?&OXwH+E$?J=D{^)e2KSW4L5_u(B=|nr4&vp<8oM zNX66ruh7TYrg!HLmbYcttrn$?7r13fn|63h;`C0MS{|ej^p4hwEmbG1g&(X>h-+as zw>_(8aK~dAb`yVg^i6jB(ZQo{fEFPOKP(4z$r)}FzTYBL2kV1T0EG+JHm(t%icB+T zNvq`v8mOT}$6iO%fSndV@@d?Z36XTD2s8*gDgcJN(z4*-;RA+8h2bwE<7rX>p8J_o z$6Ix7ubwY~det$JEeekM3j^p8>^>9>~7T@tB{n5hye21YZOOd^ zL3<*md*7Ph=Qg_4whky&fzbOGDcqeqxewMVzFS}O0<2S$EDv2@)$(`weuUT7YXsbI z09y?GbpsIiZR=k5Zt@*rPt7@TJ%%h8PZ*s=15Nb+u++o3ATOK6RM+zfV(%vwR&7@^ z!^&RviTz_+>uMebnBer`#zT-6^pP~nlHUPqSP~Ii>-?!)E?>(Xd#kI4oFNK&n$*)r zZv2Jo`OyKUg=c7bglay{n9hy+mvlVX!Aq6wq8kHXjhaKmBsmF5T-btGQYdcp$hJrO zju7{7`iQCHPrKAwrCexl@{wXdZwC>1P-AI|&c)kcjCqLFcU7*8d>mu!P1Tp^pC|JaEE&};&@bqBn2KGnZ5MTR<0z$=$P+Dv z#ZGKHc!(nNcI~5>>=+YNft|g%hDeR?3fHWF@bxGD?e2m#+*cHb%IWqA%G5IuZkbcX zni1vNYMHsEx(zC{eNM`vFA}RGzByu4qTLRyzX;Vs<}pxSvo4IP%6@={KbeRR#6kD& zE$5Joa2iHyK=YYY*^>FANdBaXTAW#fUcL*-2b**~tXHJwY)cV52YBdml-?YInmqc3 zuTsZG|0gg%M44@l3-4p)5vr>?CyT+~e`F^HlO0=6vODalK<*0a}~ zK51MWn#SwjC|wd}lLq33;Y*UHYldv|xT1=_d=787^TCI;S*vD3ASuO~*z-!bY>d1c$rHdzQQa}~#) zz~kZE6<;yc9OCzHnj|jwK8$JxAga<|*igK2)xVIw4U=d`{CK3C^h&s?E-N2vNsX;@ zMRzA)pUHbS96(-KG;4}^=!j0nUSst~=!~Xrpk+Y5@#SwFR`*k&OPlo#`^m;R7A+!S z9yl2w`|=iF6@1^_i=)1h;nBT~b{`WDe*nY%Y0nVaoln1%5@3i67wbD@ zy*?ntoZrV;lQJiR5^a)o%qh}1h4=@Kk{x2biUd{K+wiqN_EUUc{amg3CpCHhOppB= zKDwFkH`Y2$D;NXtEO-}M)QnwLXwrTN6P+0|IlOO{0<;Zv^# zzwdD!PH5pp9G$org1#vhAv_30)TC;ZMkf5eVam*qsSEKoM1vh$3*l6z;KR2%HHfz2 z6Z%gY*IZOt+5_1G3sGiJuMhhg@8cq_7paD;cEo%EH#Byaat@8Ht&4_hdJtuOO!7-X zd4StNIs%w~>OY46KdaZ5e>*$MHUH&_HxdoWRFz?~;cP7ZQ~4Z^`TMEIMGkBYrIRr? zQSgz6;H_4Y)43Z{OeagImG-HL&!3n5;%p0=g+m_fH)1p_dQ4_;inPe_w!%yl~t_j^yW^Rm;GHh+M2xGYM6^7TIcwc~IjDBf){ z$YL;ub|@Nb2phPZ(sUzr_ohud&0aQmq^laStOHJF%gpjp3mui*mN4zg-P0@gh!)qZ zg+2kirW3RMFzLt2E|T4LDX@{9eapP9rOMkTrvIl=blkdH7{blDI^M0I>omHlXJ6Yf1#rgL*r2ONx(P|?Q>S?Qa zuUOD&n7!|v{GWBH>KVPagDr1C>FE#)oo3HQ{pJl_8v&|1-|+xZcZ#HaEY4F*_^1@? zF!<|W`P?OIU2unb;(;{Y+s+w+O zf21pe&s%X1XYei; z322UmXdm=J)qhU=>i$l?27Y$8!LlEDw1d~(B$5y*?#((KFoyF-!X=E2Lodt9{Zk(o zs6jP)d{b2Oz_UGXSL}pC;J2{yUB6Wz-?#pHH`m~q;gYIXnX7z-29U2zT3IYSmM*7= zuXCXoTQ&lSkIlLQLeHROpR7g3XpY*)EnoQ&#WZFTyGdHTSvzXqigk6@{>l9)uShNX zxA$*%L94HIR3w-{#JB6rU=J*eca}85{8?_s+wK@-jv)%wmu558b}N&9=q4bTy9 z?2#b6kpKJ#YAQ;Hczdo>P()E_n_}>FSGSz&-X(%hir109yuBrz@iV6r9MYn2*}bshVPP_}y62x>x<-rUGs(}fhI!~D}8I)yb#zg#@Rc_h;J7lxjdyAyjO^6T)8Ks8akHBBjeDm);;NYS0C zv^=+Ze9YwQ?8|!5)WbVEA(O}oJuhA&(70HbqW7ojc;x&O!!IS=z4Q%l*$R;rV4h}bhyc1;hoc>UKrK> zjJz7?6xO-^Sz&yE==vR-(T8E3zxwD(i- zi0{Wn574Q6D9o;Ds555zWm^lX!Oh^+f+ftelF!zj@QDZkSlcKk^S81?{9VK99}PoM!`1@%&ST)QxOrcY-LbOXAp_S0%Er|S14ZN?DM9{Ypm53h(lS(FTxJgKu^}t$rfbH z0K3q~;K$37qu}UExxf6FXdrO2+Ty>BCz@?b3Er}=I~7ASmq#}3gn|71Z6rFQkqLw! z3pHzhk|FHNfAVP78hm~@C&m{ZiD>C=aLKc&@6Nk%F0ob;!7XB967MsQrz{<&Lk%6- zIyUt~;=6ug zp4gXTVV}5Wvb8%cuYNt=v@qmU{Cgzikk6yHBmWilWyGQ>FXR0m_hBsPBWcPZIkI$Z zOq?nW(s1YZYGE#T_mUrENcuy^Eqej+TIm5)Y<5{3dgSQ+o;=mAV{5f*57konFs+6p z&OL2PY;`yWuENVgd8usBZO}JeLfJN2WX(w*!DpH#F&bteDUS|1^iz2#HbXhH>+w?$ z?UdcLyfTUZifB;#3-Jrj0%h`9_3H1O86K}4Em@bsOq?fniReEFiK%|YfTacF|Z~{2?G@8=R#@_S9&vS*mAp7lR3Jupn z0~e(yM{jGRnT-A*!6w7t^Xq*q*Y|rLz#ijgI5++N&!b1jTH8dgb&X}+lD9nF+?v&F z<+SqbJ_auutjZO8ZO_;Nm~wXm>CM2cVf22i6H^8aWEqVjC`!s@toO+;9dm_%f^wOu z{<&@6Sukc|r3jzAQxEkGoQ(Y%Fn5PHGljiM@SBtyIV16|tFDCf%)6WJ-a(Sjy2Q51 z7pNz8EK@9Q8$fPC`xScA&)c1acDy0t-b4ox&5iP;Q8)>Ae+z7F>C(gZas6u3t{Nve zTOJ_jWTe9Rv}uFlP+nTf4gcRaebYAB4d02~`oVk6x}TG#e%90al7_pAMlGXs>bLio z=K1FoOEl~==Kiv_tkK!Kf#c4f>W2sf0D7E#cYj|j*S799>XvC(Mi}}f@qNe?Ih~vH zS~pC+d~nlMMX;qWYmt{Tb%u51=@?P@&R7*{;EV#>+~87#cCT!>l~>0#FV23oJO7{w zuIVAsXVLVF_ptVleSEh6w=N1OP=I|$9`#ydPWcz~t;=wor}ADivz11wIF8xDk7ec2 zS*A}e+MRHfw;gVA31jhdC+GY6C%W4*j{I7qU1K8mLDnw{QurmEv%Z_VsNswz^V~9=^ z+auzT=IFI19%2*M#=8#8=wnA-sOWuK5rxw&ug7?>o8$hf)WqtG<&+ids~-K>#Xrs9 zM!LboCIq!~2~h3f<1uhoASNbec$?zmZmxw+hdaS$R>}H$*_0Jb z&}sa?cN8tkh$cncnW>h?YH(Oww``6A(>l z4BY%?S6Z5AC=;D~ShnYl=#f&)I}`+;ALB@;;Y=OPigNDbI~g;*{RGNV#RL<%&J`B$ z#__~`PXlItlta8&_k=+|mf(G{XyjmrUk&a#BC17Tci|UgDYR_%QhRu&j&Exwa4UnG35OlF1Wb4Th7@WA_K>mnGZ)l)r?+mU?LnD=(P{t6=?JK zWf5nD&o1IJ=B-7%X7tJPe!k|C|Wv?(jN z6Orq-(?V!hfann(@_8&N?J+#~6i6rRShnPPFd@&->;-cwEOJxey>P1E^fEgoB`svx zzi>cKD)3*rmiK34$L03F(t#zc!*4g6!=7vw1X9>t=Q=Ho+-0kv0KBdM!tD!7nr~xk zJ*S1ImcjjR&0KC-iB4L!S9;m;Dt~qp;G3=A~5T#elXp^7SLp; zcF<2M7}4-(oA*>UHQVMeaYesyiG}to%RVifT(X#Q;_H$2lKARWg(euk0GK|HuvNLp z%8JoEnTkQuo(2;RBJ75&2t+en`dQRYtnmj3mxJC6*bT6 zxBH~V#HtK#1GT|CXYU8M{;hivz~8E$sWIR}gAd?bx}-MYyw%<+eR^+Ff#z2ZxRF>& zkss-9oAxgNls%f?@3hBr3QO}5WJa@Vmo!6LL%)tW=K}QH3*H_*GcD%;?gw2TR1V zL3`atn5YAIu1`*pbxVj@HnXxE10B(wvU=KT49FQK@{d0rBj5lV+Gr zb{$4((+zlk-h!cFk@40J&3?A**H7e2YEO=I7}~*v<1KWM=m~b~K`ZG}YHNoc z!I!$1BK>y$1H6!T;%+{K`(7LVer- zW6^>gdOS}qc39JwEKOHd=`?Z#be=5}iR+2hPVIt5C-u`BVq}@~w+Iv7zMc-VRdRKB zTy3V89~jF-+QMOvj#23+n#^2R!dyU&Clwu=wInrh;uH@TW##i)uvZNj1MZxC}!HGeRsFSd-- z;0bE>KFW^tU@^rvf!<=i^`q9={G=ET%3V!Ng8G=S zuFiMDF7_JOd}+SrA%-)>gfkGTMT4lxJfcO+g@r#{grI)!ftW~3Ju7jc!Y;jDgsFOC zht!|rcj{4i{uASFL(7YN#{aOsQ69sQ|H7%9?EkR7VTu2+z9svq!G8#k=xC|lp>0L8 z*4kU6A|rWGQ43o=_S;QEQxq=@OAChXvXUIW&goZ9&l;NvoPsaL%lz>-FwWo35dXG$ z%Dym&&2PYInH^>p(vYvP2JX$(2Q>9rMw1SF>vF8#Vi3SraSKmX<&WSV3PPJn2~H_R zI2mO03fbhlI!+$7N-b0^%Iq>9;HeOw3vrnAA2(_Cdxf@!Ik9jC`BMm9$^Pu;CB3X9 zn2}Aj%5`c`mDhJNf2A!K*vgXw)lkJc`M#dP6cddg5)^;tL|+sT02SPNhKul?F~LuJ z%?O^N(~3#J>;s}rGOg$q+;q?y7K^ICWbUn##i8qeJ2p{5N z(-*rM%paaw6QF^M-qg{gbpED_83E6!b<1DBS~L{ho>aElt$rN$a}3yFPfF{Gbmz)H zx!lFM-;H(fe_h0d0gkG83tj#bmKGrEm1;!;bmvY1hI^2rjg=kF2N|U#p83+L{t|z6 zmBIVvkxR_6_AfDOz91S}Z9$mU&bm>J_D`n5fDt~CA5$2KZ>t`x>XyW?w^q!AAx!mr zn81`K3$l0@MLpsz11=v5H%FTtJ<2M?|2TqYM2`LdsG_U))Q0?XEqMkiqbiUVP3@ItYqwbeF4H(Jgbg+w^c4aPrGZcHF#-*BQlE z8)(Ch@&dle8CM7$0g4u=r>m>OfgH^*$+#V z^;8Se7-x_JNc@IrX}=VUl)H%llNh6E_#ngwhM|RjwEnPq zk>_YVTcV)sHFY}MtlVQuA{X)Evi)5=;u1#KXPq52kTQlgE-drsTYyJhVfku*!t)LX zrHqMbv+ii(c~J9i&$_auvQ^tB(wuUME|~7y0Zk^UwH{N?H^?3#F0SX!yVnsFAR)~l z=U7Nn#!gWdx#L?<(ziAllL*FOM_cJX4#H`&LRZS?G~p0s7an`Upg8IhTS?3;mz6ZN z(WKt)b_vG_lBc-td(v7aL{1vVjK^S0K?Ul;1rnsIaxES!t(pa}b^w_EDez#Ex(TZU zF!=1}9J0&H{k{HRju0)-rr_LeHimqndP9JPVNKj}j39}Goh(b31P zJvh-EA-KSC3%75Ie!HNHr+oa!p$npM1YNhPy0Yea(G>mBqe_s0s!9!Q5b*2As>8eB z2*(=CT`BCuRggz}tADmULGQ2Ap8(7W{qYWEj2OG;rv^vu&2uEGas8Y24+}S_5>ou~ zSy@4^w*%5LlygU2IIXNW^RfjyxxBMLMHSQb&=A7YZ>n!%^Gz+?Xdjd981cQB=7W5d zX94qU9r5KyA(w|!T_MWC!)!%Yffud&R~s4ob*4Lft#?;kx|6G|4zLXz%Z5$gp}+dO zj)Bkr!z?#u_^UW$s8XIC-srQe173Gi>x@#9@)0*#FLyroqt;{l!W`%JfaHx(xq&jN zbu<%E1>!PDKwL!)P3%~G+w`(jDI%l()!OnAaJ36imY zyY104R4zf1F;SN-o?rf4S&(+-psppIl;g)j;pMv+v^|oR%}plW;-15Z^|HTtx#Gcg zVZgw?XO~KX{h}l4IJ?&N^$W8KjjYS{F~`OxmPt|U5pR<{y1PkgE4)p0Y#KW<^vh6~ zQxW~9Azr99w{fHq+Weg0G;1klzr^-%llOZ(X46W83KBCvysSXTSbF%Y77sehV#aCi zB^m|R*p|B7t#G^ASgRbfNOw#^i+_>~+K_|QlD?bnH?4aT97olrGM%058YJBeW~|Io zueTb=jDp_jh!L-xdoD~nWC)0!X}5RXObLpVMAghkQ%Lcrp=}f9+bQS)CY<0;X~T3y z?>|T6r&AA4F2td#&7c7`a&o)ECO%G22f%7cCx&}7p%*n>wRT4q{QNS6EMi%kfG z_h(wCL=JAd!CY#2yd$8Sv4XsmFNR3?Kt^6{@=0^G>@@ukEtqH8Mq=+az)247VWHu8 zfJms3&`Tm$#gcwX&$;KH$puUY=yNyQ>wYWW*xvbGhum0GH*C}va@1#7gl`-RUkpL6 zjna8R?Lz58sm+G$inqVrT+dQy=9@L*i1Rxi2$K_X<%z*52+@KlQC$m^&wH+}pOsf|@*xP#+Ltsv@IWTr|y*HQ;7c5kSV&)9}Gc zjyCJl4m&|R-dW|LvTVZ&VxzmkNvP0xboOlsm*4oKy=SGOb3tl`%xfh{+_we6HXlzY zf6}xVRi-{q@^>ZlT6=5IVn*h~tzX*9U)tgVEX9jX2|b=1%;K0LGHnr- znKYx1-eqSL)%>J&d-&@xh&oeE<>%UR!H0nf74ls_Rkp4QhsA&#=Pm_vUO*&%zdtGH zT%U}K1sYkoIqf?0mtpO*MO$ZXEYoo_9ck|82Nv|SI#x-p<1%1xUh<5lkvJ!H%EKq4%HVsn#xg{BYM+K0b;CU~~;El}n2pFf!Sk zY0KXgF>Fu<3Sj=e$uo%50cSrRzc2p4MuL%qxtI#`vAAiDD8jN<*b7YwY|`t`qfrQW z-iC(6bNJLmcInq+skDka}hJ<)&9CQ@2W#b*ae)J ze6i)CNc|kEx_zr-_o{l;srFC;z^ftF?He>*CaKrV4l!g`8mF;BQsR3}t4!#+ji2As=X%Pgog+CE~_+5I}1GgB;BUiB^$A*1U07$fS z|Ft9%&S+p@aFR~qN5GtW9iwmLl)rFYEq)vtsM&El!f#uT(x1nI=l?RGmV`BqJq2I? zT=M0u5Rb9Hz;MzD7p>mVP``bj9}{S)+1=(oSEO`1_%zXoCUFv@e+D^iexh^3_$TzZ z9*5s3f1t%%Sh0R3(qG!L``{pLGY~(+EGSKCl3|UfKO>0@U}-TMCW>u}d=U!ywQ(O% zse!W`@wZnkewMdkH*@}yC&x<>NO%_LW@6Do^j1?N&OnR_iPTyrB}p^C#^UI*f=|t{ z!fB}w662S|neuP%=~5Y&Lu{>@WrPyR(w$NvY57T8`Lo;#{h%Who;Q-q;AGuMg8BNL z&>;T(*yzb_>HX(Csc9~|+Wm;p$iu9y~KGFIh^cm`Eh}k^r=<~BmwH7wdnraVn7mq;)KAiqqdzOL942u1z zVzaF$D`b!|+!|gqSAMEYjE-QHP}isvX%`|*RUDbkqq3kU8ssuu&;+{q9v)%`$`icK z4_^L2*456qvx?<9*Sh`6w^{>hN&&!%7RHh^W}%h;t)YC2;C*v=TvMzE-L>*%qyLRa z$GKCq&|D?C2YWC}(#7&)X2sHxZB_Y}joYXHWAfBWrGMo^pEtUX9@^UOxd47_xG;47$s+M>H$&AECej{JXYe}y=@)Y80; z&t25t*CH`GR9!742HPUmd)U4!ZBir3}V?acy_nT{4)pW$&L}sD)Z2+r; zm!Eo;8Yr8@^k!j+fr!SaTF~6pLYdvDZ+6qTy^&$fpLOYiQ^ki-^H{hb$?5HVoPfpX zu@;~AGybn@BN9g!kdtD?Wq)2K7S&uy7x>)#|GMqS1DP1In*t_~A@sdKm^N&!vP zI%-cou^V(bo9V;|F6?BW2UoELy7|kiRB=E&fcEga{fL{%8ERMjJm2+=hy|d6JoH-` zc^>P~J;5i_^Ky{i-tGGvm`0LZTh@s$ngrIQVMVIA>B;j~xiZFek{IuhIzxA*=)Ik) z;Td9?Zx5=*fcw#L)}+9sfHh|l_uk&X87fqlstAw-IUHfUfHAy#UG;AS{9!si*^OZ#15Lz87k;zYOW#8j)q6t=w{v(+k-iZI&qGIKV- z_BzeQ0AgKQc$D!}eL%eti0DXn#AzVG0_W4G#vSgbeswaFHRfS{Sj`0)zIu^z`hk*q zXjyXKiaqdu=p0`-(H^(US*|Q}KhTE3i3%?yZWhMfha*?)?g)X;VetX?C%!%# zoqn$BarO}vS2FT^;G6Z(y4&}M zXy8ipg>b-8Xr1NK)_U}KP150A8FFwqnZ?}RUNi2%_e~yfB>}zX@fEEKr%Z{)2P;nU z3r1W5gM^vCDA97if~&}lry8HoH*wfgr#`3njjN%Rn7f5_d->zAxKazkMQvQFZ$`Yz zWiq?GlqH<*s)B_xUmh~bd|X=idVFMEvy2GL#hVi>oVw3ewd0^wm2^_QpRFfqu)wG& zCan=ZbLog15aQJbK!jgv?QjOo^b<3QSw4Sy+OHH!&E5|{h&v27TrEd_GGzfwf4_Sk zTjEGyk{R-nHu6PnW(WvQ6S<%ADmD%??R_la#5-l{1cM;=r6qmXzP?Y6Y;z;5ScPbc zw8BQbu&ds}L)$n`fLk z1R3-vkkXiDEy;xi_m?m8QC^=k`^I-?haGOko$PIxvh$FwG3~QMAF>*&5Ts|!d0Qes z#z!CuhqQCr!g<=3GLSCnvg{Fj=nSR&@195A^6v|I)mVW}5HvVh3#@wS`v7i%f5>ut z+0n|TcPwzyRZr{sz}gwH@6qbp!hBCOq!$^TITH0KV61v`Fd3V3TfxtZ>;p95)ZgG_ zf?jaFyUGdgP+Z~T30fv{u)_&C4A5Gazbw74?_6S9G_o1wk;2c#B*c0@k=#iiwko9dCI09*ld_!$IunYd|9Q7B4m|B@WY4e{ zI%muqe{DI*=P@AER*Jl-H0kY+uS8UFZ~dw>aXDv*3K@UURvuDeJ0|pCcr&TGIrL#8 z^GAL!_t-7ZX$f23D${!X8nxA!VIrurZfA*U-}- zVdS58vMU!EhZ&#LD&Fqfbs#gpt~vm^E|xEf;_$PcP216}qpkTP=!|PLp48TaiinLT z8I?$pzYxv z;OkKS+MV-j^K!W zzte~Sqp}Y6WNCfZ^#DSI=8`8Z@t|GQqrm_S7LVD3E-zG0?BHywbdXH}J{M%dZOe49X!o+;VT9-)IR-A3ro2Ww**Kp2s9l9`9GQ5VSo=qxLB(73t6ENE_9d=EMaLCguv%E*(rGlW8+`CSFg~=K zo{KnCgIKUKzNx4BW22avEksmZrt-?2{*ZOc{ESaAR{>T`v@$Z0=RP5{2^n_gTviK=X(MjQMX13CQ-ir zsoK}JV+WcpJ#+sI3`0Jj!hQA`hfO)07MFYP!Z<+rFWk(t#6R30Bb?#+JL22XH;@nk zNq-8d-vIg-5mRtNlO-%V+S7(@x#y)1lk{OR>8oM}N`gFP>TN9d&v6b3?7jzn zNkRQl1xSCN$LO-ho48z956d6RPoi>}y+h zlV9w&{z>kXaI)Ui?T>&e_|qJo(GiX0R>Be+@y(BtL)JkYe47u=;C~9mRG(< zd~63%ogc&j&dQo+s?B1PnPt<_jj3qDSg_0kR3k>PA5vnY1sUudr&D|53JT_F?RP|hqR0TOdx%X5@# zAZO0}?7_Fw?1RW(y01Ee(kv#)woj>|n;b5doHh3Ow*3*B`uus${fDP#0BG(CbE(U3 z2!CV1i1wx072x#9*UwR<{C*=l1YiLpmnePLD@~WRH5%{dFwo9VAI~{p-PJwY)aoh+ zN5>^McP3T(MM950UK){?r*!tS5oqwXlPc+;wgr)7Z#4$Rk|1s9p1En0DiWi`Ub~4V zf6+b?^~HI{hCC;+pRxjgm=OJfpnU;xo@iggeE#fbFLS0cH*qs~YosWD9Ht6BYeO;H zZvQ^}$SEI*m}lR8m|)7ht5!1IZl^S$Bsd_8ZhkxGQThCQ9NY%pj1PYtrpWelNvsaA z{|Zls_=2y!=Oc0gffqP$quR;C!b)9E!XrVC%U;pIHp@hIs=Kx!M>EtTJumuQs@mey zZQ=RM$tHK1qIcBt!=&x@9F>1=<=R9+7U+gWbwBg$W&-QW9uRl zOt-{As$2ZgA_;zL`K}_FgsgV_-Rl9|Gd*5zlZ@QOcrx+C>PasqEkJbv>JShc-9B6F zG+BsOxk zSv|x9X&Tz1&2!2DEe72Pc?OdXbYd9|jTuZm;xJBF*^~^GwqbU#3v5oz!i!ox=$hB@ zyM{;_UZrY9UbBuw?MrzK-MhdIhr14f$S@~9i3j!F)?Az74_3&~W3kOYO-){1WI_n4 z%68^nUk-3y>D))!+AWl2ADgMQ#$$|T%@gV<5ixl2&o)A&lYXTq86P=pMF)xI42_bg z;H*aVNZ?x`T!@GKxtkvf8{V(P4^bqCtH!s07?uFy)q>+xy^6PI)Sk#Y2=?e(CZ~j#F@PQRk{8&WW z&$BJX$eYBj+fv@F1RHc`&2e;b&zJfN<)vRW_pFE-=Yq;1M^!fGjay$QZVWv}9hn*4 zS}zdp9-nNpS{0w{hPv8E$StrM=eUC(9#Xqz$=OF@$id#}nfwmPw$-igjH1JjmRkWS zhiA_EZ_w2d$x6X+TfxlJNisYYf4B(bkQx<*;r-kPdi&{kPGqbX^Y$$-3CmP!nDa`D zV|I&kT1Un5JRN~*8H-WVVqG&}gGx*{deafPhDt{3VK-U;&b0v?)EsF4W!kE1{wFVP zZ0w)BIF{G5k;YffmdE0OK~m|S?tE0jaa%z4x_5qLzHrcLgwWx@rR6)z2-Dj(KpRpk zSNgI3cfAiGt>q){%#IN%t5yS;(0VHu>_Uv11`aLAy%;x8%)@X|14CQ@@~qNh3oh5W z2GOoSkq(aeb-~X{ABD{NG_!W@dGyC@o%mFuMm|Pq@ri8Ie5h~L8}xlswE<;0W^LZ& zNZC1)wZgO$8F40cg7lTqti(a8$`Ec$%(J-=p6^FL0a<4}n#yZeM!$?NM()M*h#2zr zi;S1n#7id9Yb?ELQrW%gc&NZWbW^!ym9sTEDg<>2I%Z8X-~*Sd;Y3lzW*iAD1`#|$ zVX^3P%va}k$6cyv3%3s~%tfv=CizhJldB`!<|Ax;luxgqC2MOqp$%f0!j4cPH1r8>whIFTE z{Dg-_1BU%kG)DLxV)yim^9PCr4}nTvmRZ^#OPmNGgjlWFuWF6Q`4*-$p{cAH;>oK^jeH~ zAs-@%C8mQg(xkUNGU-pR5{)v}VjoDzn>QLM>I|ZALm23?57jK?l4|z99)%cuXJ0R< z;(4vF8kT<{w$eQPMQ}xQ z|7O!5{9J6iN;0f|^zPWN-%HkNc<+L_>k>hK%c>n5un`JI6SxTb=5SpOw-P|g{VxKr zFrmWNb_fSY01rNi8!}MBzh{rmr?jAPF?0>eZe24&wvDuRN`s+O1E@& zCVjoA!lJ46vazL;CGl=@U&Z~_fFKTwXR zv1RF&$L$x#pS<{L#=s?}6zmrcBo5`yQ%JAjVKIUZNcBwj2Ts+bV=H0CnDwj_3*(pP z*%X@lhh*QG^~c~N1TL^1rUh>5|A}H1yHQI@_!n~00lytw`(1NG57)?FJBWD6y6|}o z@*~Al#A4(zcE!dcRB7hpio1SZUTL=%bB;TbrKc5zh`;5a%o-fi*|i(6+l}puMD6r9mj6t*qIOd}%^Qc+Xql7%9%$&l>B+cKb2lSY>OuQYg+W-!!2Zz80 z@{DVXATB841j@=@sFbB`W+1Lpyv~6Q*KCIh2}|iL?x|I;7Q_4%!pk>(Dx1}5)u@h7 zLOj{8oYGVrumY0yQY8zC9KXNgcPN;sFczTISLFM{=K*na5$3QfWIuK%Aqw6wi@oxw z*)>OS_)%7e?El+|&**Vz_U-krlgEkF|A`|^C|LgZ@5bAx{U3z^@&70c;G{Sge40zR ziz!Z9aJwo{Icq$lOmDg|lYOy@oa_g1#m+%JneNN9edfS{!wJ#}woK5RpuL0k=eF(V zY}1a?=z6ZOz_Mw(h+J>sk!d34R=voF!+6BoRKjt5SM||GP^9KBA4FudT_Z-fT$FoK2nXPzb^&(5W-#tg*vSANr z8-L(vLd;KFlRQDOiM|Wq9Y=?A=Y6Eo{4?>=Y@Yw6+$J)1uWc;GfQVA^TmSis+pVB? zImZJCQF0+VuzG62IiOGBn7pQfou=?B=+L1=h0yMNm=j;F>o4}dh@@a1FQdGCkV@u% zX+cg7c)f^mSo)91@W6*oWHf~cysqfvqUre+p>byqyt4r$l6jR(?PkQQ`di7BQ+*x+- z8D%YNsw~DDI7;k3{lvX8+#CYjmdtB7$yq7zkHkl77vRn~`PS_)EBled7DqfK@H~!Z2bjgmZSzfOsJjwAFMLOQEdhMj|#(!&zWu z=Rx>;^MQTRDyxhLer}(1`Q*FxI+_eFt<-OnY-` zRxEd}KR_Aba}-^#mvyX{*DiO(Zgx1vDZL~vTAC}}+;{i!I^h`i6gc{QwX}vH_D70n zY|#mpPHw0*M}usUSs4vy$|ECnB*Sc_&wP&Iz-CFFG2$m- z3^v-(1|=B8)5Ge<_gTez_o$Ahedx$C30ycbnkBT$HX+0#)OqtlsAtgGUng|I_Tx1| z!-HQNC)E`68qFJm97WtWR%k;{6nQ@Terib~+2frTQc`+Oyv^;{9KFIeB z*#Sz%dlvY)5*Q!=5f3ZOl{}%WGpBPM^05S0IR-pg?PNZTQkLNI%?s9pG*Dw^sHeI0 zfS}s1W&HZPkBBVLFI8xscG?-)pH`Fr=x-?HzIZgBD2t}zy)nmT|3(!YIE|y-l!`I7r-xe-{w8bXo>kC z-HIbZYvW2sRVG~ioJg8rBEEnaw&c!*n2V#Ob@A+PzhM~SfY>hX(ONu3oCZS!i%I*G zWG*lSvBa6>Iv7rpN;r@=HZ*-crMx7d6p4KMpG6{yh5ZW5AmkO}S1ft_)BbNIE0myx zqKhl$RQO1Jp>u%M2&E#)Nx~~NiVaqZ8jk0+ThiE?Zj#ZRxenk?izz90uRnVwH}y%7 zFCcjY65O5^AuNILNVEHEttPw0c%rg?pWHp6+T!xCw4G2v_2ScV zFNdeld}HvpS2*86Bo22=X|~{~8N&|6x=e+6)e+K`+D_*x$!0csLj5s+RHW^eyscq@ z*%VuJCGy=e-md9cr*=gYm#0LzlKv`7^vyqBVNZ3~n@EjPMf_p<9<{X#@*(k9Pif`e z3=&oq{4IWa!(Ii?Ee$a(ZfN$Dfy({I%9~3OC0j0**lkaC!~8IHA_rPM=`3OH9MCDo zn9I}2!SHaw{8|4H+jbM)PQ)DIktO81Z7%#TBZr>MXfS;CyvZVa*6D{rj&H+kj+#Sr zct@_46vZ`c^VxH!XkH0qBJm2my!8hwZIDITKHp~gXpv7?|5--_SlB4wU&=X({|u4z z55io@L+FR)xg8!NKxGCo-(c=n1)vjwBjl?DwkWcN#&vsdvN%32$fd0^ghP6i^GkN_ z0=Ro-BXE0V8QMKP8+hb&m)!z)b=>+gtFzxJSIsT|(H&ca8p~)lY^Q3seyx&K2(@%t z!a38b3t*X%=jMju@pUGVb`uR;E(HB}i&=ScAgFcm>u?wI@Zca`MX=DDQ93*Ui?11R z9(TNny!0*v#^WrA85$tBQ(&(rwrLMYI_h5>@} zt>|ZJw!D$$t8&B)YgW)860sKNJ<{$Pal*CV=lt(s`uKT6=9uCy89&+73Ly+YrBDkz zT?fwF)FKQw6B()Zyy37s{fEzMi1y*R-v zX#{ELW}|d#`NE0MiE1S}Co9i9QU|IpTYe_1LmtN{%lb3B*=ZOuDOnI1b0>qpda!PN zMg$RlCgD%-AIC~_o|@x`E9+W6FG82df4cD%mmZ)JiP9RmdLq_-GSSR4#!*zmF2!uG zrl%%rMXYHr#ma(w3@$&*i4!A*#MKtcu~H8r1v5cBzPa^%^g}s{rABT$*x;<0JMDju zm^iksI}%I7PMxHzu0%KBC3~7`+nAPMf(MnGUFujmpsX@-y+LpWotJnKUmQf*fBv@+ z1K&oji8bu9!iOGTv-5jt>rueyrv!gf__@L53CKFprws&Bw|=NzGXBP#oKkx&H*Uw;urDXO899B9LGS%A>i z85Du!pl=uUr((Rto!xG*1%q#OCr4vdUBk>BjGA$5QvMoMQ1dS~#=@U?`KOICHjB2~ z-xV?>ysjc)*lYaK=mv{)80~01G~-L+NlC~EyW%>=xMvIEXzIVD{owD!FmZGR8D*Tb zaQo9zK~U_d7SKNR!Vwx+#E8g(`eUu}o;E+~GvM1&LKXag z2&IV!bRg}>vl}gS7>vy}u1N4SU+e)5Z~dd;FwlS2wHX#R33$G)ymiR+fF1Y7<*s^p zg?MBZoNO=_65~U49apu}b5TI1T(vWsC0kxpE7e7Sr}-lVF=UDrI*w3j9>%O$u~M!h z@2`v9f>7@*jAfZIOi>1Rh8)pM)!{v({0y$v!dvDkM(%HQT%90t4f9GS+qByGqv4rx zzV8u!Vpz556cJIzR&iXwwziz&o>_h7)_ls)kLXn01h?KL1B+=TeMvd#?pT{)r={g2 zmVzxM$cFx&7(;ybc%&mZP*mXEIuC9+NwJ-8R%7{u)L9b|zGonapVLG_&5NDZi@;r< z6^4bhI4x|kR{)*l&0>Ri-JM3kFJYurpfPyEMob8|Ff4FS~f4h-z+YTuVo_}^!V`yT7lDdkcU z1re;{*ubu@{o7(`TX}XyW=p&PmQ0x_i&YdsBSJOk$kfy6jU15{T`JkxB<`Xl{{!~J zpi2^iUXO=Xsrq}^InTwfsD-6m{<5b6e4^#K%8XQ6uX;UbL74(}%MHxm8qJ-vP|{0a z7j4bl8R=Zk(!Ks5`Wxe2omY^&j`uc;+|&-`Mw(Ts!I*0z>nM?9xjT-T30Xgtesd){ zrJInz96gn3BN7Bh$H4jI4M!Y5CUXlLJV@a$#r>IhqW$~A7M6Xa-vMt&OHSTV-uG_B zKDG<)lfu}UMLllrObn$`WOw=5o#UFFBd_e*vlvJ29l|x6T|I<$g&iU<*tdI)W@inR zN1x80?64mfN1|}vdLg$l#8VCE)(vp`X{&w+l+x2%Vw|8s8~S9bvp8zrqM@f*#CQ+! zoltdFR4o+KD96KHXXF)HP5_%0-p1G|EW(VAEO6W}I79>d7Z@)nMly=L^`fA>7 z%(Uun-0wTF``YhjLjCx05ATDGO<-q23%-wSTG>Z1+R2DNC(>{3X&+_AX(Sr zxnWv&T&9X#WANM@uw{OWaVD;Th{yHH1ebrl#@Lwu#}!53LubOIW;yc2zsM;!#lvDB{y_H0U-!eRBmgnW-jD$>>{ok=foE!`PNPjaYFk~11J?S^0oQ*NWx>D^buMZBVoEU7Z{?Cjj6RWGPe^Z{(#p!9#WxHu(1Igm=j0GEhvo(# z#N=GEE1hrbd1~7d!C*-JOi6)7U;_3Dtk1TLrtbumL*0 zjcm43JhXU3H!ywkM1j3GkgrYu|5Mlh`86>Keg&2GefQq$#vay<2=hRLSssk;(i*<& zDy3_hsbBh0iG?we7vNjK7pz{sI`*(}LHH*q$$51u$k)0&gH4`q={15Dy(aIreU>U< zV?^EN4H;@AYAn$fQB|c!i&M!(aX1_Dc@b|qVvC63rkFO9%B2-uPfar;q@v>DTTnwn z7#eBD*Y@CMsUqpJ3hY~yBlEBfD8?*=(B_Jmqe7C9(9P(bll!}Vo6Q6krP}^o${J|I z!4bxas8q%*&cwM6@Awj-y{_|@u1=B(4sLh4(;(koi}H(*o`$g`mG3Q$Bfu~#AV=16 z&6h4J&;`}RM@mMO)O7;AfvO!FG}wD50X&cac;vf5^{qR2Ac0K!f+SDCaq**y_!V|z zV{?1H$Af;4tLVn*ora;I@<#mN6DO?0qGNmzY`rzefNAfX{G3lAP}EvG9LUg-AI350rJ?Vr!c2#SEVj6?D`n*S&mA8H1#z(wC zP@3D5A}}-)^W>n7-T`?zM#f={B3y0ni$R|Oh6h%QZxasLVu!Sy*VoVd?m{g#$W^3v zN_6aL({X*w+{W*yP_D#EiUw zcavZ9kB8+cD`)3=N50@6z8PxqY}Jr)QyutdcsTsCG}LI9;XFaU<TB40-3V85r65t;55FIDY1+--r(;5c8muTQn6{ayvg( z^}Jcq+M2F+zn;$t{6w*RCu_a?It=A#awrb{-=>Q^^eu^?S9O7U{P^^>Rh@=WdLc-O zIiGH%?$S@h{7?Qc5c(M_0hm8OrZlP3Q5kSODSvhN=dYNR?--EFnNrOlma zRV2asmp})ttkq1)l*$QP5qeXys%-8_V@M$4B{6uK0QcAQZo&@YcBu_Oj7_&8hdasY z?{e#=kf}D6JsD`SaKb)MOA+kL$|hNziG+yl`bE#46L2c#GKRuipAEiJ#us?EV_m24nxgjCH z>D+sE^FL(_BuBWI`xKb`Qq1UXmp}Bv^E?$l*()qbTp5Ld536Su7biDk+S>&LmE5u2 z7$^eC?U%q|sjLPa?b6rx7XiVZM1kGaRmIDVpHi?(?+4WeypNWr4CRYFFC^so{5qO` zF|C|`BO-+4n%o~LA5@tCeKN@4_S=6bME3%5=TQyWPmF)PKXDkJ?vkLj@bg|*0M~>p z$!e(Ht$<&5{ml-@>AaowL(SHbE2TPCrT40h6CjU3H%fccySV7-e1YU|5wM zbIcb|nV5Qt;dZ+@;645xE#KaTPPXhiMRlsIIq`FPJWDYX<{!;}?(eUQ>RZQem-o2f z&1?ISxDwEmvCH|*k|Rs`L#FoB3SM==b^MT9KPpzqS;vFTXJ5KFA#*gP;mTrJN&`8O z2&bwZOt4U^9@cK$!MNuuYpnBiZoVK*k}#~cw%idqR{Un}e3n6^ZQL%^xL}VQBSo*V z8+Qw`tY1-(PZY%5&4==)+XMz(aRxTo67_ZHz~hmWuE2$(~0z2-l4Caa#R5c%{RFL77I znYVjT#w>i5405r&u)my1EJ7CcQ1M{L^jhtHK{(=%{T;ZrVlW_oIilMN)sRYg>52tI z`K7OXr;{I$)%xD)hd)aH9nU?BcHGUJo^eMvV&=JRq1RfW+A4h8@b!Tt{1N@`5Q@-A z^yKc;2Ux0Hf7;~?a$L8y`>X-J*}9J!_zzz32@6{Q>xj#1HM6Kwz>NQ)Al_5JLSfPO zyId*DtbA^OV>so5R)$0FqGV^Lky3R#o6_Q>kk1O&(T}#Qlsma&Hy7{JfKjsmkLDZW z5Z~~7WGJ1wN?vov&$xh>%mEvbqY=^?ZyDZzInfO9x~Np~j@YIKkm_REqT7Lj>@>XK z6+KWOg`!|`JCj&*!&*&iF-2h^J*OhnmC))4S=nx0rl9m z{nM5zJSPxL%;cMY9PQeL`Mw!1baH>d1R8giqB2D7>*KHYKkk_%sYQT>>ra-Oh1Lw|5P0X(qV zsP3QkX0BZ4=zlpan;8NN3;bB=l06saQDC}Ba4363&ArPDxOgU5VtTpf-F6)NdS|IG zhzTv#9h(vD{8ksZYyH-PYpR;yMJLvwaJ*Slbza45XwN!)Z}+Z+?r}evAE>J;pZ=ix z6yVR~EVN~LJ;!x4>F|KS~UcStnbPbLF*{TT11C>A=f(UZ)?cG)fP z`gcWJsFr9_0mn;a7A3YxNT1Na6QZNMQlYlK6Ou0-R4Oo_ty{S2=a6gC8jkDi-}PUe zu`<7-PH5PW0T zEhi1M#k%}#yiACwMNv}klX7`3+iNUh=S?mXm4?y{AhT1c1)eA4+sS$SpF<=q#Lns* z8e`v>DU)p%jd*?@o}}iD5&AApn@(wV3oK?nc&b>9K^@fjZc}ePoULxAiQ!iX>A{ce zmGtAzs_hgqTpFHYo*x#t5^YyvZCS8{>qEa%nhyM?-~m^PTTfs}p5*6b`U-oT5hYU| z@DVz4+-x%pEM3%w-MUxwrX^;-dW2!@R=HgGeMS&SYv%ehD>?!X`^Wxi^W6RJq-qD9 z-s@s`Nx;^-uX?_kJdnnvb6Bm9!Y_woHxMOYWbJoLN}FS8acXr@36M$p5+K5;t*yKd z+bP}p>2cs=f#VKcmeXu~3+#+E3KUmK0bmmA1?aJCul81L8m)hS^Wd`~n}4C?eV{W` zC6{o~mfoU%W`rtz;Z1&cZYQKE1}a?U!iIt|^`GsKz%N5<{tg*SZ(^S9pUW;JBwMvl zk;d(rh8=b{cU`c(;dr1#VgZJkX{_glHd9CJe}VA@4mQr$r#Zsj+}p#TslIxJeMbbC zTfCvGTSm@~AMbGzWUt|@=<=q|;u8BI)X?o+45EtFK7;L4FO%h^jPA1$`Du=m^#_Bo zH9t3LrtAv{cBKt#zO+$CNR@SUAr@>?yo>})+%$bwS#rDz za3NoR8ShwZv)@a9zn(d=*OUwTdtPdPd4J;4mUyxL1^bj*^d1#Tos#&&ZQ0gPjz`|( zZzB5hrS?POWDp^)TPU0=~9!90zZV1SHsb{Da zcTtsa8Q}KXzV+m@FI)3F<;a>K2eJ8L@k~g|TEVN5$G~U(n%A$f5co|r)Fu;~ z(g*6S7(I<6tjmmH(e>{=5P1-9OZF@6Gs&{4B^!A2MKa4Iyx2Y3X2RjT(l9 z;Dg^l74zXs%d~=s>1a+K8y4=A1n#FmxRTU~0>)gmX`q!%71uoq3~*}8VCeD%@HBS* zil5T1nHt;WkVufacTbsNTN`uOqUp~}IZ&}GeVQZG6wQ}FxaGgXfSN%{jz4KtQ*Bf) z`8})tc!Nc@-*C-*-(APcC(=jw1{|{C|ApY`$o&Wy03dw=?kL|^`>`1~ z;Ss{ff18@b$M4j%4FG*Y1Xd}ZgcJlSj3d|KIWMb!zo_Sw6s>~zrUnvr`a;m<_dydN zRoD2>Nxf`7T*^*?-GKWI-}|K@*{LDfxycM!s{G@|dV;DQ<8VFUjcwU_hK;8N>rFv- zzL%brhNc}=J;9{Cbl;r3I7%%*Z1+uJ+&VHeHpSq0W@@3A2E+K1b^_l;b4(e6wptqE znxcJ>@hl*POxl!BuCACmChe5^ewaciO*LKFpsy0|MxXyP#mUN75%PyH#e*R0ICNr= z%dW~rS}Lu>pFj^9J=_NBo}u8jJnF_F0@oy=i)9OCZV!swvb{)KkT4XZg^2H+!(xsu zZoTwC&KWsOQ&a24miN$MGpgIH-Kn8lfc;}U=r0_VT|{_X7=Q?rZ2L?D--rpxWQ=x4UqdpNiKfWEQ6t>wI`C*L6yUwA8six+0kI`e$~!@xY!zuMHs{YKe)7a z-!nstRy4*t8nXQ)CMMh6uE{d?l8YKIqfRI;(c{koo+|ySx!bZ0CvJr46clV$w)8pr zG6~ksZzXQ9R|P?hlPQj{g0ar(f)~SSB~8EO)?ba&EbR*Wov_k8Uvw=utLFKSon7q> zS;MVc&SVoD>O$XkC|keFoaiXCv=7jBi6{|m?);S-(3p(wWGzUkB#@51Nz}(t%5)`( z0|I1XK#qm+?>Q*J3$zhk+7;jJ3TA8#s|=El`* zaHkUIU;ka{yfqx9TJ>2DBt*18!VY^!VGmDpLqQ2oX>r~LAUl%%WT1DIPU|&fWGR+; zg_ldtKL`vmvUtqel`1yy?%%!MCBQuJDEPgGY)tLYaow$CKp+1^5p--GPK1F~0;<^I z6b8E1yR4YKL3HocMa4U&eM{&=t5WYAg@gZ~Bjo|dQM_Wxz2W0eoe3QmFdMJry(o*a zYAVwbdhoKP&H7`D(WwHGHyfI9OKg$}GDo+2aW`E|uk@Aeww;(5n%XON@cBu%E;2y_#)H982T z2a1+v$UE+4n781H+?5ZW=bdC0W`-oU@46IF-gj>?6L z_Ws;fpI&gRaM?EJFLdZ8xc*8InSs&WYWuVQ51LhqiiQNm+ELzu9ByB7)N@}Nb7)`K zV^{oAQkV|Mu_?0}6tb7e$nl|-#^Wt^KFk+@_I(8}y22Xtl;89_b=vqt7bdDFhDJ*gegJK(H4 z*ShR*+#*V0r2FwkTuu4LK?$iJn%nyv(N;>@Rm?kSjIlmDps&K^O))$fntjKuA>e>EmTM%NnX98X;b?0$!+0X< zVG$*U=-6eN;i@r|ZHEq;mpfmf%*aYQuHP8rf-1o!1E}wuusF5Sw06~!-)=IfH6c!W zRlc{ytXk$wuQC1lV-AsKy474-V7&=29AUH1r4)_^@(43!BQB;aj|L6LXK0H3u-9*s z(KT+cwHW=&ZnRtQnQTYyA>t+$y>Kny zq7@C9kTK-IcLc$Xb*R-V7jeyA1{XTS>T8Mx&~QQ(j|FI6u_l%~Q@~8=w0o?%D{etf zoi?tTUio7;b|YzAh1RSgH^oYsHY@iy$UqbF0c+f4&#jkzbs>uI#hW>tnur173Y=NSXo!E>8@B zbDC0+EU3T(>yvR>~Wx8?=nunJr@}+Ex`jS4|J6ug$o^7Wi1ikKL}=gD*W6Y9ebh0~nSPwbXs= z{Y>{GW+|69Y}syG`9c}$8Tk*nY(-bC%EE`E$~(uR6yotP_uI4x%8~*=^N!8fdrkZj#vDz|VEt|OkxxHRq*%Y-YE;NP5Lf;(_&Poo0z zX?;Ch^7Ow=*H9ePi=q_do7*OGyD#!b@(VbuOcK;%th_bWcIeGdEGHSQCqe}zZwT#eWe`{Q}z!r`HzjrE#))U>8!4&{BUQ(B0X`xDTR-RFuFZeL`aPaKSF&E zzZS*lYq5Ce52l@41;L~f>?lv8`m@`;i=V04UoAPL=GMb`fwGK(6oMYcJa&*V-LSIO z)aBXLYd}{3_M^Z$>hGHrwTY3CA`fwqeHUKFI+6}bwbb2zS2SZs|1RsJ7OE+U%PJv3 zDN@0spP1V18k?HA@&~M>SHj=pUUPvQy0{7VkbFyRTUtT@U-=NKX=Qklr$5vNFy7(?b z-b`;>kBR_bd@bPFE!^uRVvJVPOZ-)aXwN{#cBZP@w@+InEqX#U)|lD(i@qgsS;JwC zeb@0p+Y8#D;Ih&RwZQENKm>Q?{H?!9BBiYZ#7nU(0FqXdi+XYs3(#&xxWns2QH&5? zb%@~Pr%H%Nb|0+I(x@yhZdqe1{LzIx16+pF(&_KTae`43seg~0kSF^`pg4_q%B&K1 zz036Z`n!Vzq4{}mO#%~ISt$gxPgoN}u@d!o^IsH$lkqLdD=(EC!C?YGh0ZdGhY-?h~$9$8i*d1U%WJZ1hgtAuc z=w+0@4zH-%bQw$MCI@HMW|qufzwQsU;?2|9EEJ>3bgEh=0|2Jb-|>ABs9k86B;`ur zA^QC2RvideEARryUmp+h;*^*fnRHPjP-)NsgV zLOu9*afZQ|5M}$97#YipTiy!R8o=!d4wU3~pf48BJ_h95`n|sz?TrB9a3cT}*5tuH z{kq#%$Kb6q=YRUvNhIXjF3B$6snD|q;B47~s_LOpvNu2Qp)oZ?PiY;1T#_d^Jv1z_ftJ#$WmA-1dj2dgNju%H$$I+V)tMyNd z6^izPmNiFjOu0z=N%cI_^JeYpjxz3NgN<%y(Qmkl&Jn`#ApEg1hrKU^$)-+vlyrH>jGFl2t(W?!Aul z9}DzPcOSpCBBrr?Twn*bH(Nc0rVz?pC#NVSSvLCVrY4omYG`wNxjtD?wL_T2sRZFN z9{;th5y7N?$yk4LI2rpecv=gQY77bzU|<0PftGug3!@)Q(u3-W_f)R%k!3x&p$eTi|wF%HLS zFWo_U+yI`OoK)3hPQ`IuJSTEd9OoHL`e>TZp|WM?S_(%z2&odS8NksYxp@ajzHDig zs?SLNtU)scaFUVUoYTG>XZ`3p@{LLmIGKc{LOAqj-+@Riog$T@3-KhY8^OJYAlf@M z?mL#$si_6BoAz(6j9#Q*HnT5tu3~^N*{@L`@2jiUab5i}-TkW44Pj{CFi^b2C}!c7 z5&+jfP-e1IlKgk0zGlmVKO>6jP~=G@BE>$w75xE7V!51rdnhAjqwedGUJXBXu9-hM zVXQl0!b`(OG&2y>U!PlLM7|`3o7;?M({uo6T0Uu5S;(p7O@jI&%jM$}c$0jh39#Cz zS#{^w)|=YCXF?D0TM`xtet9SIt8Z9{lN6f49RzFed|&*CO5~)7km8Ve33fvCP4F$Cz%?3P z6*&;W`hTl}rVcKOqv3Wtvi!o9SG99Iv(SsgWTh8zaGXA(DRu2-A7y5OA_#pVz*l++{-5~w ziIZ*-0aV9ig6S(S!$pK2tax-HX$z5(J@{J@d83g1A1y#d3!b0cf24glbBCFOzx-wqmy!;4ahTN z%Q$zd&#OWFwUKH*I={&?ip;y<5fqE{;taFWY~Ch$mNXc2H~f~Hh@w1euhfAiqgjj+ z$#SuzbH=)vTCp>y{!vSNkasVc0z2B|3*qMr>@B(Z1B6aXa`k4x!`P`G2>L=|6;p7+iKyEv4leZ;=eqtnRaaT_7}O zpp`^+xb`FZI4IqZ`$KDDm?Fd3SLnKb@w~s4wU8wr#|~YM3dBW|bUsWj`ZK9YQIKc6 zo*oHUq&2>IW$M7)lCPN#x^((oLNc=ITT^Mz#!j5C@oc&nJK)e)dY_$>e#ukg(?eZn zWC`jT4(X_Wcw*NW3VwC|>B~>|nWr_|ZOwVV_c#ogW1(#W={*zErYS=61%E6kzW+R1Qj= zu?~2}*!_QmNH{t@Nu?v>7MZmpbj;hjs`N~A9RKpw=Yr?NKK+i>%}NU8sj=xNuQ_~@ z8EX*87ia7(gVz34l6HJYD1mH!J}dh2f!hrK!7r?%3A_2yu_mTCiJ>FDZ2zWqzM%ya zwequ}B+m^_*d!&CyK$`34Cs+gE)U12Z=}VO*hZJL;>DTS@*)DNW_#m_Ru4D1){P7FVIAg_x@+8^uHndlg88)hR!_Py7_@R38KB+BfN8LXF zoh`xz#Gvrew<Sc9fB&ca}!+H5)i$(^ZTR_;Nx3QSf6`>Ii1n(ZXgZ zsdT+?r@jgZTid5(V?|SC06uEI-Sswf{Hm-yYrLFs*>9=S@!t6>M^|*D=@eSs`tq&5 zcb^_ti+{NFW)|hz+#^)!lwl%wZ7;!+OP{-=EohQIL8#jG+g(^i(a(f(v!4n2mBDNc zOb5-=zFKWtrjE?)6y4-TlMIa3`+RP<7Hq*VXvW==^?#IlM`M>tFyBd_(CulpTmC+5 zJ_-2h6lQCmld$6c%77&p*3m89`N{_ao2yW9Ov10*|2BSr2*sRn=U_V*Vv=ouK1UbvbH6)6(2^shBoSaI3-H3 zV`dm>XpUxkZHWBDoV6OHy9TwJ?n3*gr?NFY?9sT1`OQHX;XNRkr7yF*-0PDc4q{n% z5(P3Rdy-C$BulWNw$9X@tb&_1yR5iJY$FCB=}v&zfS(6=P$~U^*#Syo!1KE5q{=a} zGf;6U_PihY-0_QeL&-Ag`Yz);yL+TyiegljIb0a#)IhkCIH`L6mwIV+Lp zBD?3hcBf!l%ITd)K(h=E;0!V*inE@@F30Akyj#@4!7<>|Y{7H#zgqGe7WPLL_Bm*@ z-lde8o9pQB6@y?H@q%qZ#2i((&#jTD6eSJua~`fjs&upzl0(F~z3n!|iq|(1=t8?v za~`2MDLbnh@a~xxJH<{l6LD~<8@?TuONSsCzN|hLxk;A1B{7NoIt!9$SsybP((7l? zW!Oa~WE1f5CMJ}T^0UdF+)-?kE%Qj*ALZs!rq;H!FlRGP)IB}QIB-w8j9XcP7}F2O zXwh6xQ;Q&D_1Fky$ujVnkq{P7ou63H{HwE@P?zb81gBZ07t~HG1m^n&Ss$Q@Dxjdh z3`Ja-71eXiVP8hmv+}Mo5DVr;@!@=X8^JH*SdeoLPa={k=-SZY+#-EcQUttR0$oz;#r!9F0*FYg z&qCkaa?j83F)SYAgF2hcd7`KEz*GS>s;)fi0Kmx9l@DHshoowkUVR!LAMY1|+PIdL zDw@(pyOBm{CVt6Tu{jMuoXB#A5_IA|)2N3NN8(^1N)X(ROM%vs3`37gA-5Uim!C7I znGELu$Z1Y%-($;x%ve2=^mcPHWrsOj+)`l9!m%>+C>`7V!5S0RsZ0drn``;@&7^W) z)}oEE@0yiSPYHPAh%6Unt?)TRE}+OUAvM?^GQwf*Kft+U3_oF#Gn}fEAwTVij)O<} z12FhgCfA_6svdxvtE(S=6#;?n4mHh$Z%CULom}`(1n_R&=t_z$DGwrdO>#QQJ2zqt zdTueUjLN`89d2VW95@P$OWSYo-xV?s<)=Nov6AAmvUOx*R$)GqhO2r^4D{z~fwsfa ztT?MZu0wUz!*dF!JdhbO@Ibt1%6FUA9##!=#Z8vl`I)MZlk^D4Gf66II~1uysuNg_ z)t)S}Gq*e@ZPPLLsfP>(yJXbX{twzHAePa#K6l`4MZ1@l%T8plXSrV>9lr#Tz!Zp2AZq? zYDgkUNAA#rb}cY=5c`km>&5{;{O2P~sCWEr&fx5qlMdkZ5G#C(el!t+i)&Dq_hmlmmt#rCb^G{z_f zRT6(k4xg7@PRR9Iv$-~A6}P65O&_oYB9zxaXgPp%!UT&K@5&e#+a{Qzk$Ea{TN*rc z=F9P&0v0uFI8nDGL9_fWQ~ZI1)$BN;S}QaC$m{fR z?E?rUzqskaqA58@AwJppxBTx1mT1k_a=}D2W114g1i}*O?zBHWLJ1uL`NV+4z;tWn zELzXgh-pGObh5rJ^gmNelG!#Lom#g16!$PA zsWyJ&AMdpN2Q3U?gvGK00fIV2BcG)=D6Xr;TG5ojMlm#8%K;n>%6KnAnro-J&%&D_ z7Icq2uQw7=m|xzS^|uR&dm0L7Rdw6ej_3eBm#(IZ zY;(TmTkDjpgae+M(WOc>EZU8U4NT^pXY9UowG|dW5>jNf$6VAbB`kQApnm zGTp-m8sDFfISTP5X?HEc20tjYCNCX)7H>bYIPg@7sqI8=Lu^inqhyVkxe%r=&CLY; zrYytGSZf3id_X6FbClo?-=X(%7$oEy`0 ztG32}df**+!u>>N0id7QkQT;i`mBU%KXO(P+rj#m4UsC7$GfKA`gUiNen&L_bz(-k zIV8~NRozEKtFy3G?SRwlujv6zqubW(uhxYIx2+#8el9ip5fgxZ=~tHiG8iZAnr|oL zsS@h914b@?9AAB-?P?XFTEO?s=Dddil9FwW8*$KFXdOX^gkVB66I zo9l7TN?qD2@#znaWl?lARb(R_$}jI_<(0+^>O?~I%pGc>RFN$C>>iFOFa6r)-vF&4 zdO`>geLS$ra1;I^N*nVg>qeFHA^Pisj*=B#24<`rJ70=9w^}8{`~JeU#3!gy^)dtn zRL)-zyoN|4mYaD>!&}ri??8s5e#&vh>c~K9);O9n|0+4IOYyUozg&Eoe zA$*&y*feWwLjA^AJAgR{(+Yc37g+^*zFFNpJ^Wn6*;ny+Hph(hRMo7jU%Xzv(~g8^d3{~$S% z_*nqpL{fEja8ebCE@YGWLZkN zPck`1vEjW+?*Vd1t^1ka2e9;XhxNOKu05Q=Ku3?*uyVdwo>Kcrj2M4>hQ4ln-mer@ ziYua!l=t5CO$31kBy2=)rkc!*_SWjL!143GV$M9(cL(@_n|}3Xx|vL;#n;&_zYhZL zT{rZxLje0;#WUa8UVaxnjlLpPd@wL7+7op~<`J&-H_rFzXZSPp(vc{4(wdm%yU6DG zwLHI=Kq{}XBM{ttr+Jvt65IXUEQ|uNB&9VVQ;FUk#BbCybT1U;*E}wtU8@V7yj|IeP`E3eX z|GxT~_R!i4b%i$FW}~?kJE#h#sP&8gl+Cq_nhuMm=T5tS3KCd;L~mVQ|3=YyOcz-VRxC_VgwT1B35mJ{76>zVmg zui3Wv=KeZ@dh%T3iJEU3q&!|=mks=`1$M1&09>CM<)^+}o5PQpyM~J}`O<=-(2~Za zlD2p@SNr;}LT^Y^gzy3`du2U^B-C9_#Zx06hP zk!tNpGSB20f^17qh2A>STM(Kj+Vr9YnG$^;VFGTt%=Xn zmSU4w7#_|j_V$>@4t77wqG6~*7ZEwR7naR^5#?lTj7>iz4t=WE3>*UheC`RqIIym% z`Je;mRkm9?l67<&X&jY|5R=ym=^nvCd>!NQ%+c9WD12wvehPN1fliyAFU*fr_lpZD zB3PCNzldrE(b>=3!aZOfEK%k)6L0i;7#sY0@iMa##ttKR3yo}WSIz#g*GaV4&L&tU zpVa=N`XMid0I6T779j@^8jU8NHScVq6Ub-5vsa4^BRMUbd`gG`nIPJEj=tBu!+btJ zA3Wl+nwd8$j7T`iC8TZ-O~Y-^0Q`aUGr1N|{aiIvtj~UYZ$=&PTaeeGuxaqLAld4) zP}YK4djH1T`e_x{az46QeXyc=Is-RT$w0_MZMc9o{MlcCrS(yZ(d#b7^4Y^s`3lT6 zw;&SCXc1L7F<(v+f0-z?jDc^zY6B^_*`OC^b zt6bHs@w@&Tw26M32@Ts0Y`L_e0f;-)9htf#3~K${?&(IpT$PWTMkV(%)w6woiNg5g zq&e?Jm}S2h{S*zgClfF&ATaB(nxW*N{YCL|og+C-i(92lP+n0C6s+~q_)Ix(sE*!x@c@GR?U7(+8T5$t?M`HhX=w0DEkurpI%~0 z`ENSJWG7TOEqO!l8b>;c&SNIoNX+{Uoa9Va7786Oda>y+dSa@)t5#N(oWJAVqTN%~ zF(Y?dR49&TaL6;G24#(O)MV{~Oav;uW^JtWo`uuyB5g_^mrrL8m^zi|93I~)irNUx zzc`R9dOzrBr0Pno9;TNZ#r@D|JC|wLt~AOW>rCJDyJoPGpS9xNk|b8?4|hK(%aAU$ z=ujLLdnB|T0VVDF9#(23e?2!p;vW(7#;m+OW0||2!L+)US(n-|TP;mLwHhT|@i257 zgFh8x7V}sT7Urqaasi`y1Z9}X08&`XuT|uT#rLiN#1)jiw>c}HzX}suyFWOgTY9K? z&;azurmK(1{}|GwW%jcquil3oWICdx^nT`9Y;k;VN}y>FsF$jK=uHk?<>J@ceFq+M zL9;<>(TN)1bu)saby3wcR;fw23ApXx`Kym2*TZaqf!f#GcKt z6SA!DMzI{YIn~ICVdaw@B!OF$O9^yiu3o({PPaGib6=d_z4ZjlwvXq4R*?cv$?K|# zm6~9`k}%QH7d)SW=NGY<)_W;IGHZ1|cMX3R-UBA`?tyPDch3KTwtG!f`YH(6fsWR# zW{+`IW?j-h`t%%H9yI$)@z_)o04@h4MWw?0&p8>5oC!tlVovcgUkC&bLIG1TOh$4x z2V&xvonDMQ>#lT_k1W##haJ+UO#U*Heo&!A!Iw+dAt8&Y-R2BA8~=K>MILuV2%Uw0 z+^+8(2BXiBX~R`e$_$=SOPpF{b)FR41AUUwC0ZIRhH<4Q66G*?qIlovi8Tqni_eWG zdw>J7ewz~ro7r1e#1wPE;4us!67jmmAiG}9p1zu0oW9rdm)=jP&KVx8Dk3C)Vc=0{ z{k`jdZ0y-9ncy1SbO1l6Ri3F2XB6-3+?}l)_0r* zyI5XrK9pQXn9bFC>kXOsJ2FC0&a#BJBy?dfC;1m#qGR_LlUDn5MtKW&fT^!WJ`8SP zUwW2xZx)soYeXLZEkBLUdy2G&R)7ku49#i__ayJi$ssQdJZU+<&M-9=+aAfN7oZSJ z?Jr;ibY5g-MZh#2xjZXU5KMwAxCscF;_NAHDB4EBo zaHn8YDC0Ob9Ms3JP>p5)a0PdDQ5Z|vxl1kUol7jm$~o>0NSqis6b=RpMw!-jGR+Q~ zp0DJBHJt!Ub^#vp#Ki7;4CoAMFwN`L0TLoK@5a56wyPBOB9g`3Q>RzmnBv%rl9aF| zSBT7^XR$yl8PK{|Rmt}BrImCHUhB(Gi)qE&h3%fsD0FWc_b@~J@Xicd6HSZOJvgF; zerawR8A)ER-?I34PUZ}wpPdL_nx}c8ye#>_xV=wCd`h-{ms@RwP#4B$2ZU$c9oKTd zln<(JrHFoEIw4h5uYO>Rwtg|veg4I!x_Hjb89O zTDLr|Wcrq2<^W9I)px^l17FbV*6u1cK+7q(F5BxZ&(Wy!F8B4`BDNKCX4KvA+nSSM#>3$tVL$0FIYU2tx>!1q?q+* zhlcH{Uds`mb)|fw1(mJp>iov_J7gX(Ov8~n7TOM5^tJu3pNAU%g;gFvfX<*@3Z4|T z$u%kL0KLzxGReaRN8K2Z)a92jddP(zS>t7K!~V&&1}uwBWfu}@)n9C1w3`N-eOwO+ zwa$JL7CECnc3qOp&aVq|$ZH%`%8MA}R?}PlmZwNwQjiy;8*rzi3kdj!@;*tv#JN9Z zKbNcXGa(;y9xX&5xCwHLxS~H|f*S%`c*xF~Nnp#L31clx$_D*P8+i`Fc^bDUv7f(g z_#;nVdUC}#+X5&q$&cLd>2qH3hpiI-_t8TE`~28n*Zy>&KM`tlioXcYjy+ zWgvqn-<#pL!G&@i2rWQB!^B9gi+7UIp0TyX`9Zm;(muQ{dNCqf?NMz=Ef5LuLv;mpx#&(l#@ zUQNIz5;l3^zs#LpO9qc`5gSM+0%hZLUV4wPJ`0Kj42N0n;Ty7-WJ;&b;ufmz1*FkW zdL?GPOli(}Zx32cBst{Yq$|x4wwbOg&8~Zk!tIQ;iCfg=ghqzark&5~WVKt;svtd_ z&SU_=y3AD==KeD7OU$2)(^*w9Pl86@b6ef>Z4_iA2Sd?<3m3LrfovaQx5sm9U8iA> z5E`M zOMF{w0GguLs2BG^W|->gWL2&iae#W2kUlRSh`?y=|J=~wHC*a%4Htcg>-`g_%4M}} z6O%VX=rL7PewWo}uY*<(7q#(5h2MTxkUTUsCqi7=N`Q}H9_#)j=|`KE9g4alD*{~+ z8-4e-8crb7+~=5!s@DfLR(FG)Qk5=MIlY|^h;mQ&!n#+GLhg-;&e?|E6t&(>Mr$Ki zuASYEbovfkvYqTF%=v%=t_HeGbHR&rHXKO$vm;xfa?5vXUIS$&QGWs+<%f4+%7&lz zg+%4jcLOqusDY`xzGuQKPD_ed2jdObu^uW1OR=iQ3*=V)gzE*5<<+@5)LyiWYsRoy zWWJspYSpodT@}!;c@Qv?(7}RpVO6p8T0SF1-ztPiPxrjnC^{P-^HozBnP(jg;-CkItLeFUqYe!C(L zY0d*qt}Bi>m9I=OF-vXj%$gH7oqxYwbPUr{&s#edEa?%Qesx5jkQi}wg6eq7OTwpP z==W2nRQewt*+2A6Ghxcw2R6M$bs1knolW_{tL{!6)BK2i2E@kTAjqFJP0#(o``(EC z8-?R06$B60Z(^|XPs_Vag$5C%0CL$V53ADoa|m@^nsQMZrr77%jx$k4ud~C3%T#Bj zv;{?$@{^*8+84Q5Ho;)slg=<_LQKoKQW@1*V&#JS`+BRn+QKM%MW1(+{-F20s^_+!$#1wm=VcVTd7Bqt zsBB|zB$E%h>=*5RXni1_`qK*PQ|~|dTwPgooZXVR@cidjiRS}ASXAcUaIDYp&8A4m zh^H>ff;nJv2k|$kIf&ih+yPJ~m(KPx8N6Gy-$I^@q6B3#oF{+6x-2{NciaJ6Z+hZ>$7G^bGZ`qb)v z3OW@*(-H0xb-r;m8s%O@K1=AM)~B)!Ky=OyBQ?lDZLq|)tG(u8PynUP?^jL@RW>{Db3i%6z)M&F=I52x^j@=I!y*jOr^1%-^; zU~ExLF;#96wi$SkBk@?bdr(+$tzIcFP4ckhDNCrNwIerdSS>@ReX}8<)Y@cW}e^VTqny<;)3*c*X`(qYZPRj`K@h%+P`cJvU5&fUOQee}OY;{V!P(PZX^OmLq z_ZM(Kq;KArNHg09DG6Z7>m-p&X;XT~=b;WX;-$qcOe2WNsdLiwK5c#U?^x7hgqhP_ z8cF5HkW1c0PpZyR`d0H>AZliFhgi<%&s{Y$l$g#;b8mj`aIiD{q<88WH8YqkNo#KQ z5q2awmzJg6m>^Vg{VS}*Y>%W&)Cn<3c}lcR>oLI{e97$Q^n3SriV|K?x1UQH@W*NK zi>%$9tcKgsbYkO!Eye8l?WvB}I=C0zvqk@|UjtN53R+E9QNrSY>{7C@E{v!Lf1@!c zceG}O_PAoyIKpr+ng+GfYhRUZwAsPdgSw*8`%x%#rcfq+nNeVWf@-R2Yir;0EuQ84 zBqxz{3XAky5dqp6{hC+AlOeanF|Fsf?`lVAx%z5sk5zhpv{Ic+a0zu1XB`m|n7gmX zCE<11A>D#U3oQ6Je)M?9JHPrfo~ecWF|P?f1_dTLCx)%-q!&u#am{o-o=>vbu2Jv*=B4GP?;yd007FeH=-U?|X)411(*h2mU9}hOGQ8 zUG*{xs%v=`q%)|aD6etSdo!dpZ%|9B%R`#J;wsK+P+pJCnAu||w;>mK9yW_p(O~%n+^<^@xz})g zsxwcwCC~sc2Q0&zc9!9EME7O}f)sa!3|_;l+KAP5Uz{_dpL-sE^xl!v0ioV@w3q6q z7@QEG;1OdTa?6Kpur$L z?&Q!*C=&#kV#*OL5)6yXN`i|>w`#|Enb;Z7e?ST4KiG0-AkImlVP zNipyAqk|8T>-r$eAK5WS-x)J7fXr6RBS1NWBvb4rB&cSlhjnJt5V|uRKiKmJeb^vs zbZ{p(hhY~QiD3!eS~RA zYE9V(#sh9~{tfyn^o7Jh?iJmyfHxCsBgcsmM7AnbClLA-K`~u)j<5FQ3@aC(t*f5$ z&RKVR@MC9rQ92QJ{!okK)HJ`cKiOeHsJb3IH~!08eD`MV!jQ2R=RhE_uI()?UA`~` zVAO$tEvBQr4BPkZ$kp~K+uv{w_y^YJQ6_j0jA#Mup?%h09NA=qP!G}P^@)&!V?|fk zjZ;W$si=u?t}4=v5C8F#U4K?Vl__1vr{efWteccvNm`S}s1o^1iq1#Jd zQpma;3@9=g6={>;Nc^T)H!eP!+n<&*raet)^HLM=pn=g!Eewidizc8CJs#b42sV7KXhLiWaS1dcd4tT3kjw?Gv43+~Lk(Wj z{CeYg8pq7?{#*T)q_mp>&o3`0J%QBx{ab$2weX*(Po#g+zhc<`siE54<~{p?*eK6C zeheQEr1g2?z6e76M{sWT;DY}H;hR0`e`lFB4u4tW^(B#;m1dNm=nyrfs9uU+mI@j+ z8;aw?RB~>JWnMsYR+&$YpV8T|RC9oDVp*2^6_Jw#*YQ^?bIQF|T#aHE7yPjN+Z_nZ zfGo1^=rJ3Oh+eq2xR6;876P#oDUdU#B>}S}zr#Zdfr0=t5_Oa8)Ma{$ZejJS>k0z_!KW(&P@F)``y_HGA}Ndn2o> zbQEdr(j7dEl&44HA7Gq%mJGG+)pid9E47Qn^$7MHh>&O^v39ksp~0mDpUrgex~;}+IBm)kn$ zwxxZ({0E)u7c94qGW=edam~F_{Js~WliD9!-K_XZBj{JtWcDDOvvyPJ|Is2Q%`UEGeu49 z8qDcTN%Y|m0&P!Y+z((l6N|Fs3x*kI+%K8`r)7&aigR?6Po%dboMi6nKXJ~t62NG2 zHKPl%V@e=&o&nC|@Uuu!1Yy-78op;9LZ~2f1}RRNHFWDpte>@ z_G@|Gm)IP0-`)#g()HwMjqYKrwtV98Y2i#^8h6HJJ=yj~N&ZsD9cF8bd`Ux0vJzC@ za*e{~VVq?_L_GaAs_ZG4O^PlhYN@P)xK9^Ljz*BqxXMo+t2t_M?!I7(2@^3~2C$Uu zhj?MQPHultR}whsJ$Ej>dXi?>^-*3Q2P7!q^%{YpoBcfXTcSJ?A9ZZ-_O0d{Ci0%4 zi|^&T=ECQxFcbtHwODU3O$?Z0$X^${p9NdgcJ9RSYwU|U7-YbO_1SQmKi*|jzEGVV zZ%v~h_oY~PBIZ?4{K{})#+1fU(}+1%YuHsz+8Z_yKEiZ=5)yWQJRip2|;u8 zX{XCRr>b@tqkF>Uqx%aH%zlecwLP~kUt(7m#X}J_YxBiTJxrYaogtwIc?kQv_||2Q zuFv|hOdhbiPyg@|_@Jb=vqbBpG;yFZzkLsu!U7RU^Y&Uka-l{=kbYkM-Vn+o?Laz+ zcQ_V0|JoYOpkxDtO%VU2u$;VwZ)_(DL$T1ekp%bHiCrFa_C zCGXWX)HEsVzQY9f*7p>6+|b`P~fG9a%h?ODU1A4cpRU_)l4Qg$ar$0S2+Z&x6>npP5Xx{nCO1BLDE)Gvl0 zEpwl*JL8DmZWQS14kDT0xk};#Tw>1ct*nWD5T7x>!9vlI#^&F#3$#=XAk5qOTG*yx z7kWQFJT90dnfo5?TDxi_tFQy(uI=p~I?>gYl%jL$P{%8l+FdGwm`PjPi}^Riu8@KG z%C=cDGVCNu7Hb{O_xfD@YlkwX6*wycmAN;~wWSqSLng>8$_wW>`IjyjZ+I4+WLZNe zYTqL!t=u?GxtWn=ORf!YfqN4=?&=b|S0$0SJ>+G?(0?Z*3Vz8~9yLF)KWP$FYq{_) zU*Xk?A_%QdD0o+mIv3XN4s%_f#4Itzx=rxj2Kk(RvlYf=VbIFc8CUO@tqT41^}DG6 zEmYOc?jnOFG|`ZKN#bP$u;OkJzKyHO=_DGXEEwQuh2USU=cxH(vL?^`wDu;9t;H|$ z8+A)T!v&u+rjexlNF4<@S4{FkGpcGAC?s-z`QPRIY2xqYoB*EQ5VMzD?^s-0q%wJy zu}h98_2yyA2i*%>9BKhpY&dW451qkc88+9^$H33`(``vw^tpfA>p@Jpx}ZcLc%gyg zHsfHfkb;rZK^_^lbpzybam3;uB%U_MNifhbWStD{@DcGEx1NBzqC5a8m?>Yr7cKYl z=(r)#7>p;U8~UQ2%wV>W57L(NpCmcCAz`8fd&z!C!kwx*;EnO9o#)ne(OHyFkKLEH z;v$GDq~xyf-S_*_!($&760YgQXE@j5r1#m8?N1y~A(gX#E2++6mv?eIMq+sBGh#~n z`&Kd;t4JW9xmDE`)hQ)eis^MXW$t$^r3&M~!>MD^fxGsS&7wH8cHS0OJ)h0dSa*E^ zj}J;+wVCfZN{(y-PIOPKTOLRLIH`TY%D#N57f#7wFsPSh07!qD;j6`}%am;1voN&6 z%SLM`m!}gnDglF36P=$WB%^$EilWM-;MQ)|g?XFZ80Fp}B&;5`wtxQQP=wn0zyyba zR{TF64IAslL_otebj_ps)Y7?RprPJBa6^l!alxaODHG*EuybiF7pmQ1d$DWJQniSZfq&A& zTRLy>MXxFc2Y~>O2o<4H$T)S0u}lEJq;%xCF3GSQ#atno1-T`kkmYnIb*i1JWz^&k z4jc@0nmgJ38h$o1P8LRVKXVse?)zq&qL!sKjfLbENdg`~7d1yu*rE5k!H2gZ-7?{WZ#5apP_IXrB#N*a>|96hj-yf z(N$PoW05CxMB@za-!8}p?=9EP$krh`5FTP zho#I4kq_kUoU)f z6uCwx_O&ZHliqJ9;MoUAn*)P?LJpxK3sLv#LzNR_r z1u!7Zr7?L7HO7RD6C<&4U@}nMig~?FZ(53Ff5JfuDrGzPXm@`ivEB=GK#= zZ5^|v9d=qkmi4-znWMZX){o)}`?1#qF<^l7_!DPi&7Z*XuC3|w41%)>$BRb638GZ< zYv5}$(1VlJputT9e5PUDJk2{|Aw7N{b6&n${jMWDT^ z4UC-R9pRP`a&E3-*<**qeSFmg;UuT35)AK&%jAB}kf5HF!}BrUGx+{YESn!7)fEZ}su`t)Z-AfJJyv z+Fc1wG#l1NBV0Sox7BWU0f#X@J0y`UNEj`|R0h7%Tm=K&c$4?_=d6)m z5Y9#YJKti>gct>rsZb50AP|o|)%%hw$8u0oA^tcl3`_qW$QPSi)fCzd6#kZXleKk; z_}7V!HZ>fj9`SGGSmOITMsPTy@}bnnL;xM~%erC0XDvDzNA6k#DoXqxC6lBd`Pi9T z%=I3db5l!pJXuaQ4mhiD9SbmuR*K3d%M{YjtVzea!z60qX1vWFgCwF{Vx7fSKW--0 z&9XlDX6CC1r%&AOqW!F7E>)~2ZSMjXb*mJ(YE7fmkjC5F=#nW|&l)Q{_43$1p$a0@ za>s~$0NpSrxHalU6L1C#X#fw7B8GbI=8x9-_3w2NnD#pl#u2+K$ zy|Ze3P$<=;-Da^kdp!wf7G^-MMkAC;e?mt`+Q8nNJ!t!VB63+Y`kItJJsVx6$X!$8 zk5|?a1<a3q>k6?M zp|sNu*JDrGRLy==i{Q)&-`#-jW(SkOS0|@t$x?tmS9+8}Ke~x9>U%>4>4e=6WS)Aj z^*B3W)nKf$`j&bixzCKBNT6TOQr&Cl)7@vvk-K)FICj?WkSku0zE`k1d$kCw9{C zXfhV&2R-4mp8K#;XNSha!*{yyCLa!30$TqE3wK{{k^Hytz_IWtoxiSKj|Hri2CD=x zSHZ24=v^4zmdFX7Pe3T_+3R!k9;b|7@8B zw00odF-3$luAxHiK<3Y=;h*r_Ap|O{eM&YxT$)kW!Hp!=U>SLeW*;?4Ox9nuc`Qb^olui(!L!D4}H2fp84X0BnTTJX!H6`2XtDL0vR~)qt@HrOu{Q~ZW zf7a#?#Ob7Hy)`=n8iPSb`|BZV)(_P9Kk1(SAQo%QuGFWDzHue|q~1(g6Z%Ww_o^s; zcUb>x0SJKd?5Mtr>u{qeYP8-$dXNU+EEZi?!X<2-s&>~oS)(w8;K(#i3Db^&EB9eD zC_t$qK1H0a+3CI>{s}>&9fBv!P$0KFPli6r_<=Wv2}m`zwyG&@Ad0H6msL97Jot7_ z3=^Ix?vqW8wzGW$am;#k@m?Dy+Qj!;=Ims>HPYw5baO0=zbeBX0*KE((We^{7%gyv z0)`uXTRTqCLwJq0+1`geHzKuo_A~@E1pv-mCfu zwMt=n`$c0JK!H@IbRD;Pq~^>**n8&sKHEUIn<1hp?33*!S;BKxOo1D$KQr)UpOGu} z_WRxr_TxS!b%8>gV~y^7c`cF#j;3-g;qs|mG&XKrFyXH!pV&tD2R>qm1=v3@Uiqv! zj=@)Nq5i@sGYlT>nkO_>4VX^&*#8wsDp3dDd1j9l_0lymT(MvEGZF>i$r=|B zDtHH_GO0eMuB%)v`!NQ-ALM^(w-AHzJ8}@+NNupURIF|WJ%}O{ENe?x!G46)kbMiO zB}`;)PT$$K=FwNG(1u1Q@LBa}Gcqx4Azfv}Wxs5iTC%Xm^~ZE*I6OHMC!Tf~1KHl4 z%A>%V5Fo1_+$!prAa=u&7@g(+WdR=X2>*X3Mex*8w;|V+7AHv+&<<}?%EhtxN&UV& zp)%E8b;9JZ>4Rw!9MP|xIa^~GhqT?=I5-r$k@H3hwm0L-Rt;PO_0kX^P${Mzx;Ihe zrkd%9dAf7*x!Qq*WlpazHQoCyV>p0HHK5M8)1=-+q(YLufm9XnKH$FGE#$tv` z{ur8`u7t?H-^9^sBRRh zqn2rjPYbn0^sv)H=vd6!D3Cui4ec$sZyIN_(F~o2<8`c9nC|%T7m!D+r>zkR2O%&_ z!`{@n-!N@Q5S-_opWg>!m*z%Hf+UQ!_M8?u^{2-Y_LEobW+1kc7;Ye(lFk+nS*yM} zr6S&lYmb16d@Fi>Ici5wEZWz}f-T&5c(`f8#w>}BF_CJA2m1EjlZ4SZe~LpC`n`mP zLxO}u^QK;#89zM=FC8!5bi;+6Ux1#U;T1W5EoDqZ<|`};{BXM{eq+*CmeMm((p*vI zMZj|StLy>{b6G!yJ@bgDDJw7Dz%J!^UM~FBfx@Ro^Xu1;Nj1tOlo2GepgM6KXiS}W z5R9@BJm_AB;NU6$xDj#+w1fI74bQ)E8DFv()Xc|e{to8&rAsd(PjZS|)^8$?kxQgd z__KFSugAfhh4?qJ(AE=94&Z=qB}1H)*v!_0*oNhmdZBda<+o2|`ywUeavtniq70*v z%9RXU$wCu(KgCMcKFgI{^2hLBMV+I%ej29KFjQI+FSF3?bFLO|Vp%}KVC4{$Q?4m<)yV$O6t`^*Al07UL z2fUuDNH&bnp?6eMW40UUQ(vM6F8A|TpA*TjQR@X2Es4X6S1QS%YI6_myl0i!HguZo z)!Jt<0jB@(;`5Na!Cq<=TH9l26i!X7-F%zNv8d6mPNqyJIy3pBycK!P3ZeDYRc5F{ zN)|3fNG_`5jqz_!+r-Oh$rI+BM3T|)VZN-wcK+aD6^wV;_Zv=juSpVzr^qlL@I7a1 z$W~vUclZw#@Rk0tUM0thVgmRItxD$cHKJ<@{XfFK!Y%6e+m=S8RFn=C=^T)5P*57_ zjv=I*8B$6R89=&Ax_hVrh8#MiI|dkfKtu$@?;U>U9KZLu&vT#iAI$9c{j9zATKnC5 zX;{o!PrRLX)asd@LcVlYi1=C&*b!Ufw|2;7lzC5v?Ef8x`>?p3`W5#u@q4FhB&R+Q zkVjK6P2K9dX3O`SOX9l=_Bbu^i6}PxlRB?P2j25qcUlx#Ey%{^fYOMm_8Nd=D`z}tl-ot+#uN-&Y@Yu*!oUj&szfbT_ z*3j%^7w8e*nu4idWbQ;DGwI^HFY(q8?|R)EZeYcfr8!CEB&MLtVBgzn7A^hz!^d+1OpCi zIt1~WjOmZe2ApttB&N(pK9{@i7Zd`VOE~Ts8c|;pSA67|MH^?SG9*WlxE)V9)eVQT zwXy@>Q@~j!v1)m_Y_nTXG{`h)naf0f4v=Kw!M%v0)7TJr4Sn_Qy92?2%#D4B8-ZRx z3YC`|{roAN$398$aF38g}HcbuX zmsCabKYrGzKxJ%r5C&dmAhlGZ6Q|=_y3IO!TpZ*!E8dY{i{hm1<{1;x)RYJjGU(9R z_O5z2`a59-++Rztepl;1AHp3pOG9c0)#F$6u&LIaLmzsb!bx(HmM)BvXQiAd(^` zz#58qz`w`}=3GVbkI6>hR%$Klf1$!%Fo5=$U;taWK`VJKBH)79OT}Q+4m%qG=wLNl zc65W4O-3c>QFz=WF=zC7N~D9%X!`3I&wFRdZfckASt{X~d@PFk?sBljZ>MS`){8ZJ z#A-ht*q?D|yh#POeMNjYix;vgmY){u(=6M*>VN1d@KBVj=ZSPk&Vg_Fgqx7Qhmfsr zV)?RZxBE9zX(d-?b~-DY!s>*P*TKpF(+TfvLiQ+Ws^_ajCe~76CrUQPDEO^O*aV() z2KS93lV)2l&x+)+MZmGoXnU*5MM?!O;%%?{Q=ETvpwkE9#YeuPAjSvsldj(;0`US(Z= zXG!U})e_K_Phv;%3pOp(P)Kp}9UN)i%|B5x;#<%4*rRj~%RPmI*~!jCv;oo(DaSvs zu;BB3bB{6iflEK*Z8#^{PBt>l;fvh|>cNfc6Tky_yh%(R&*=_Ur3YI!Dvu;@`1!cw z@AN00BrhcjBt)6gujm?VOuXTM#Hz6-6uRwwE7z_I@RzB@vQZRcq|1d7!S&>l@qD_zU+aBPClLepM(%T4-tP33Oy68Gc?4jSKRG(-7c9E``u;NXnPfT%biFEbK!-_y6?-v#M8bgl zWCO-}Smy1$r0gI5NHy;$FNiPYCjR?4boHb*YI1c{2+F9D)6TM*EL(TvCM5I3`&4+Y zcQ&B4K7)Kcg5tIwe)EdYoV4@5^B?Av=k89~$Nr==gaHqn8@Ux|UvYe7LO!Evnfl2t zSoj7YA*y3fuX7}%o(LWRJF^Y5dU7#~>7v3d%_6rQoPyq^#XlXJ%pUgE+xzMWrm{Z1 za9SHdu|z(`9R~)ueXwKoBGEq0t?^XnWmdcNd0FkdJDudtkcmfhOgEY9{yfRah7#pp zwyIa0&5>pP))hDH2O&RWVzpsGNoH&Q?C^DfVKrl>noO|$Mp>u1YeP$r|37KFI-n4t zfZO)yHpFMU81KhbY)qlQUl*AF+3S>M-|r&MC z&2KfvAHIlh7)?zmv2i}y7K<9*ujXaRtlj}L1$M8loE&vH2{**5JYjn&AxD=Hzr@q* zCg1p|{_G|n@Rgi>HGse*@#}PQ4julcvs%;Y%BP>MioX3+ixtNz7YkD1g~?``DOrH<{9^J6 zuc~=g>T^P+{kRRyB*T3*a719^7AWsF>6l!tZ0h zO|F%=U%cq^(*_`B$zb;|l!I}^art>2;)PB2(#xd{p$K1C6z(sX)yak=nzz%)uWi|o z^vwH9>=t^Sxa_=N%mae1DnkqO>DUB)T|uvndAEbt_aw_x)fT%JBZB9{0LI3xia3I~ z-%LsQPgkl2SxI`S6P`G**q{62oK&y0=YT~@#T7FLA#0{vO>eStC(@-=7SzLvW}9S} ztS!XqikdWG6PWM&r1KB$6^~REH|A|?$5zn_Pn!>E$l-;k6Y*m(6STjg3sWlmR|;66 zp=3Yp6r8(infU$`?(d1>9EplA9dzQb{$@iT4C6CvJI~42TN@{;sNV0W!AoCy3e|E~ zZ($jZnthbi(Dg#3rAc9E9BR-^SB>tDCOX4$n%%HLXc9M6m9h@jlMA)ODC&hZqk+9xEX=v zn<>FnK4;$mt1$I1t4bU@G~>S`oNxv3LCWLjwG#%;WoIe?+xD#GF>Gb;0L714fmS3Z zc33|;4>u_yeeFjL5fYEl7h_P$oxb{o>vR9dU>TX4)z}JRm}}&dikQDaNW%YVoCk03 zq(F4zG&8}bX9I}6Vcll$e4}7q-NNRqI>u+}Jc1u}4+_|?n!*ZgJ-_o{i#<6Hw#~W6 zPmcHEH><_8hT*Nz6Ex8@0o2RcoeTX+yZngeGA4(jxXJfv?e0S?DdGDM{9UjO{Qw_5 zENq0?=>~6MVIV>c?8YwA@Hes|M!f)PG07pRXxsIrf_=fPZdoAgU>S3(pp6@fG;u-)|Ywu65#yDwE@ ze7-EQw4 zWxt1ikSq*1XQ{au2(B-~t(;|D?NW%L5-9B>mBTX)*6(Bk{%mnH!u<#Pw~;-!8vX@lkE$SW@5k27jSQYesZ=PB;SD?O%`Km!GiBW1M#J*QP~m zADTS@^Yw7f(f@a;oX73Jre>K~cB^brQPuVp3j>mxaH7v}{ZVx4AvzFgFV>6d3MSakm{eBd5fNvy7_6v^-r zRz{{hRV<%%|NC}U<@K6oMtT~Fo$)Q@C&C{Bic4;l;DbJ~UBuk7WFlrCTPHClJWw(NMQ^bO`FlcMHnw-zk@ac_hrSe)8065F zM0^bx#Ll*x9f7U7A0dT;GSKv=svi<_crTf22xZL=8u)D5D&a~tn2E08f;)Nvk_~Dz z6ihRRSz5Vp?%0N65t-@g-Y<343Nn_`RII5><*ko;TC=Dpv~xS8OujDdny}L|2~!pJ zOl-9+9ylzE`a|K%>yh~2pw0~`v$**n^gPn;x8Grwo&SK?<%*}q&19lRbF}dp;W4x1 zN$X)iQqj7zhE(7tbG8v;TEKgH#Kmgd!@oMY&&wO3`^~xZNR^tcxZjKD6tg!|f(~V!OSC5C z*c|*AeHPpky=~oFxNFtn&+1+_Oc}{D;YoY-jG@^uN2RGbbYUPQw~MsmBg!>onS9Ov*rXP@ zQ#Il&l2EyGd{+8vt7F!gePBy%Kp!`QrT88DYiIP^NHrnDQ)TnxACeIQq^U0Qg2-N^ zB#?Q-2v0)<#6I=;cmUgCc#i}sb$wl2Nif4j!WCvkEZRwr-xX%h#0YZ#fna#HEhb13m~H6m0s73UJ}e$Orkw#rQs4K0+(Q=uOowvi znHW9i>f1CVS8xQT?jeh+D%-bsL1*4$xcppb;506OUub`<}Y=dzq*Ami;jLru`Tzj zq)LAUa1PusXOybnNtyo@xp;$(*5FG=v)l5Y-Q+=EE^$=c?PUI(>Iq3JSe4x(PS+4O z$7gQ0F|jeImD%-@n@`%S$fJUKK6FcaYtK=w2e1(-Qe9ZnH^WN`V) z*{Sh^^w8lilFxoUVy55R8N=r+wV$ixlJ+>ot@^ZU!lp+uG#as!KAeg!t((L&-wb1I_VKUEZpPG&~bcdcM1MDZrL{5T~3Qx zPMys%kK6;@j;2HF>eg%Glw{l#PKBM$eY}~H z*tqFtd?UtbcEcQh_=F$c<^?jJ7Q^)8DD1I6i7hYBFZE-c@bm%K3HBnMZ8(fmqp@6D ze0%F88xq)jSc;3T)ts2Qds!sW#rxtXujWjZ$h_&?SMW}zo|rUm;~4S2nqbTs!NFpa zRX7{CP~9a6(l#Cr&JpVCZV~0XNn;!;r@svPnJhZ`bMb>!L1gT>Q@T*-#;)#cO+#fx~|J7;VbKeEHpU*E(>eoh?wvCBaH(qZr>II$simAzWlxM^C+uKpemjOP^ z(c7Ci#|2l=tSmDcWJj}FzrUT5>dvO%khiSx%0$`kt^CuqUnFo9+Gsn>k45KB-%8dD z71}KF%Vms@^1dc05^sHp97#NTP@$%7TPgCW8UF_^#C_Bp9q0@DCMBJGb7U^hpJUj@ zZ7BLdX0*;~?#MeQ-uJ|W!S!KRek$(zW%>uXcCJ=#@jucIBG0hr5QMdQtBtLq&StJy zpANJ2q|?xxZ{MRPSn-J4j$} z`0W4eROjp>D(vHSeXdoe{>eMSz0c8(sG10z|JCljha^7YSg{kj171^D6F#F$wz*g7 zF=$(i;V%WlWV3XuFB1JsRPm_L)3<@2a7(Plm~|>WM?-_SkebNZ!qs8-=gB_6s&I)> zQ@~mpwo&4t==HqyG^y!R)u&7wX{I#Qq)kU=ygQn^IydbVvjqvUK~ImBz6qSrlYEBC zbyh45igxCp8Z=nw8?J>ia<4&WFh3wNJ>aBZ_#RQ{4azP$^_j= zl~952g|q`Af6kuikzaUK-m&${lmY_nztud2115t|w7Cf#kvoP6%B8pot+%;_RPS;V zu|A|&h&FJAnUW2zEla$heRXze)A2Ec9Y zs4zXx^oC`(L+06TY%Ygd@s8MU)JP52X7=ybEVz2GC%H-*nxwS*xmmWAT93Ki)b|i* zAtdTEB6XyR%h8;5gj2}U%OMmn!22?qO4IYSOunQ`@+k<*;pfTq615kczgZTqhrqu* z1vC;nNzUBT=|d~I6X5#jJuDCiCw_6YZg_aaTZ0)MXarz%k>8+oW(6~dveKWUh}KG; zw=NA_`*Ez9ReTKKJvAG&se1db>Gy>P6PZDRniH~q9LU*PE3M&J?<_q_+n@?uo~TJR zAm!|v4zvsl*F$ih)|^XSB19Lk+E-&eqEnXGyZ48|x7CL^)^D+H#aiY8y_dsBjo#y| za&G~X0WTEuYZrd&SVEM0A{^O6U1Y&Lx`gnjIa$-}TqscT7T`FHy(Bbkt^yy*#x*cv zKhYnYU7p8mXVo!Ip37?>=h{%n9e=cjO{s?PeGejQ@eaIBwfn~sW(YqO#@z(u5CwTg z;{p}c+>(E9rQH8bvNE?&>?00CcGoH10HmFyN557%k9(^E`6MRGGqkhf4A9z}R-Nv` zaEXM<)mZVhu>OOcx;oiJV#R>}=>-V6tTX&f`{pk_Rjuo0a1F&TJnD;ebOD`g%PU9GGXu(Gsi zpyB=I1eg}6$l(O@DyrV9ZJ=N*+`_xm-NW6q_BvyDNRmt-q?ejK|{x| zypM4pF~e2jc85s4x+)joOWazDfQua5#GSea6`UhBua_44{Kuepn>u+HOXW~t*QPY1 z(4L3TYNx*bZLHfG65$;LssNqJi1$+U9kdL8bw3i{6?^c<6NLA6#kOL^a^TY$?`h6I zV}_+5{59gHETQzjng;!UMDD@U+2ar+tc^hZnX}HvpD$0wg?bKj;+7$43Qu2zS-Si4 z6o=A|Z#&3xw-vC3VYmCpzcpi>FXD9m#lrb*jNZY6a~CM=`J7uY1LeCv&Re?M^vf`c z`IJjTG*Sh2=+zJyDBaqFYLN(*;1GEf1>}`d6`!zl5;Gg{#V|MV`?&XW#4M|bc&(fo z4?QHNFI#Nyd)PgKTB4pKq{_aHTS#*vy=bVd>M!lYO0-BXs8wLLQGC6y?ho|j;(D2D zulAJvLcjlbP$*HbMlDhOarerN=3Xtd{T0;G|5+IwChIr@&sDSZK3~4y?DsR>=rA}m zY~c9IlBNtWIQjm_tb?%<-%qSA+PFIxs}!6W9C4#8lC2U%O8y<|{R?GWN!(zG zT%11q)t?@$1@{Ymqg~jQ5*mLD67ci&HkmxP|9=Y8fV(WwIaYxPYnBZK^?{WF-R90B%43); zo}0Ed=ultz$e0fmq(3eWcS`3cJ=u(yb0Q?!g?c$_$Ew{WDSh+w6i;yKY*!Kh4y{OKlBPb>3tZ@8dumhhv6SzGosu-D*YaCt+J zQ@9cBC}!BY&>M;TjHSl*=4VFz!_zVJr~zW->oyk|Ns6BczUZ52J0DlHC!Dz3|FR4r zH0&4qvo^o>YiBlPj_0=~_0Hl#tPYSXt=FtX!Z++rErdT%&}3|$bHLxE{NvpLYmOKu z{(Ha=@09&dB<8D(rT7A^M%F^)`kvtX=sa5yIWMc%<&#_D@}h}VG#9LOi9N!a51ZE^ z$cQBf?OIgj$Zr#6k(Yb#9aG;fO*S2ZmhYUJv(|(rcZ#Qs?;5bLsVPJV2mLsXmV{QT zk3OyHN!3fT2{uI8AQv~6D6;?zV8;fY*33)HT+H!Pr&)c14Ki%;+U3@{n8~a_^;7Pr zm+FdL!qUy{Ezbh*OnRNn>4hZQy8S(|ZXf0}z0;d-mvh1kd8v|Y8FUShy%EgXh2}o& zm1gXXQdq2iPdGGd%f*!s#)aA8uMu8z1t!H%ftiXfD$swwZtl+*SfjFGabzsOFRt9B zs?SJCc5HcnscG3@?7;}o;QaMCw}W!DHPKCy{TsJn@i$XRs_gKQUpn=bxjE&Hz#5{Z z@dRmWl~gv7jhqcq_5ND7AUj=%2AoX9`)5s1VX^VUOW(5C5*yLqtjc%K-wmUNs2SlhhrY^{6fXucu!2Zwj=5C`3FG?Ah9 z7rkQ#Ft(Kv@bciof~S@-+?SVAH9z*!g?-(>9H<5%i3n33+qUsKk7yU67EHD}b7D1$ z{%sZPKyMyOES7BZ!W6fZoKrAX`{Jh^g$%Ej%>WUu23gLCSTWv_&SWBXnV)~wyTk15 zn5NF6(rMtb%TB@N%bUIr-*mH0zZFT%e#dhyhb4^i)PWYpqpv2XA2&FET!Cj06mgEe zJOh)kAV~I4dSixng6H2ABR00K4H}`3XeQ70st+9IIGb&POpxME;4yKBUT-IDWzpf_ z{tI^LIqV#l{WrHcoWgP53Vy0f29pomB%h##+A?Ygz-T`c>5?3(J{%Fkwet}fClIOL zg6Ei+aM?Q8IcDd{b!#Eh*fDmjR>tQ7^ z-{A20&|U?=%5&}b_!3&$MLIKV;1c-EcOuimrHL*T>yVmnoH*&qWd4PQid@{h8-s=c z`Fs6j?zT#aPRVh#fUJcFZljTX^N*LFpc$MYvM2R(5Y!1u!!0{etJpgQ&UhF<(GS*0 z%<1Qb`fmOacN7RW?Ex6mM0(eX5d~_re0;jFqjdh+!veD;`IXFL{t4l%S22`hk@>4E z9d2bJWY^=tpnH-&vH^`BcPni@*?W0E$%th6S9VOiw2E{;&dA#p*@B6POeAkru^5e( zV6K$Oe1`7dD@8Vsxl)mi=!0W7ZrOf`gbHWVfQ*lId3q%dnSk+E?ty@ACMt}Q>1q(s{1R4RXKZCHD9MmwkZMTg(Dr`+A4Z6O4QVsyjKImsoByXT?iWFGT2c4=VC+$E_Zu zwdkJaM3F5HM2auy6^VV(vYhkxIcE4sm&A5>Ji-`m*{?%aE@t2A2ih_DEJdX@92gnE z6N_*K63+o`oih=vLYcX~WIpC_e*~PktqhE4s!(w}HfhPIsn!z%RIT7hV}$RGuX9QN z)~|aQ(?{AXQ9m-$0-Jp;Q$l|^SrZ1j6i}2v*2MGt_8ZWO!{G@rw&}(DhNl|>ZVMon zQ)An2_bLYI>+Hg2Q?0JmG;x&5OwAP0hdWoXSk4^723Q_lX_!GK7 z>GXL&68q|>dx`*ulU({~r3Q6ZGb!|Xe4Tl1Yo1A;irjeLFr?X7On~`Jd_B zQO#VEe#Gd^=nBBvRI;fB`9v@dTH%+o^mks2y%9jc4o0w`DoD zt++mIr5%rbVHs>+AdPKw8p!;mSl)%7u!W5BfW0Q_`ugP2$>;_x3$TlH@&we_GK1+f zss_#@#p!#1OVWAq+k<(iA^vGVZ-)*Te@G(}JFQ)WX~UME=M^;jgu*RV$?39n?9-VU zN58-OKV+B#KUta^{rAAZcLy$MtgnI5oy-t7?`F;-{6zu$uP08()ctzw-t}S^Y`iK% zj3&Q+sxe^wmJb$6Cw2hR#-0$PNt=oviGE1rJ`!u~BFa>|rjUwT$uT_ePy2GqO>c7W z9JXSB{(P118(*&zwjR7xT?xOP+MrEYk6#An>7-05gE3I zN^)=a1I~Gn?o}`O&@jb%Q{gmm0wD=OP#}98Dm%@sFc$siQV(uO z@8mdxIkCih_J#n(!T3yx1*a9Kk*v^Zcp{1I(>ncy77t z6fTK}+X9Rz)RSsDmxsc>FCR{ao=ysz4p8jnziGD>$?NQGl}{J!HnNpQ87NLQqwe)$ zU-Xh<{ctSGt==t3HxRRn?S4B1WfA{EZqDwrM}$#y%pkdCz~*J_fW6-P!by%xynn*v zk?)Jc1ed0&!w^3p-z?T13}%0xgKn{z^t!K6t9;4cUg!Y8&mTI~NOy4cbiT|L>m~E~ zDWD@1-u*6%M;pTXSzOE~~Kt?SgM z%9T%ZN@fuQ*?h%+uk=%P>|vfBaB!=3R5XWoOEo28+Xl}GTT1u5Oi#4Qsx67RqBY#6 z$2EnSIg5N4Jf^Ys&=z%`0Tuey{xIQ7rk{p*DECn;5&D=Vg0eKtlxn24L^Z&j=!_Uu@CmGT^876blK_TUA8Rta(`Mw zJjr_Sa6Df<3|C7*vNyWnC%FD;@*%G>l9{Nvg^W#Mj7>q2?sPPE-r8TFVRyn^aKL|* zUK-A-dxTxM$iLEwU)uWm%UgtrFeGKrX;9 z!wjI+?j+s-=v6H1tr0EPdPCBOmaR>GR*+(mvLNxjIw>u#Ndm#1IOp@NXI|nC;0Znb zrNx+rPYH3ac}}5ksSaD={&jN=w*Sf{1$7t=erln^Ps)H;^DH)e#u&@Be41$ar+_+x z?iUp*G~S*Uw#KA-?SNnp=*)L+d)!ldW;Ki-l9E;@S)WYNNpX<4llS>NEZqKLDzQ!L zT>SxCp|-uqVc8Gr5E-r@o~ph?SYztb@9(B^gmD)_Itm+%u{+Ziqk6<@a%NYyd26>9 zuxI*)$fl(1(`OwjR+t+(qZvY$;cZ==Al0w9P+e;hT4VBBw%7u-B8%Lbhh#$HvH2No zmqeAHJsV_+RZ_9DYbhpND5!kr<;_F0fG1w6izAU^IIhCrf)JKL&0Yy%$_L26T_?=2 zMvtbj+hpnCIbvAcx9eHZUjjhck0Aij^$9|8Q#hDDm>{Y<1+CQL^=`72>I?&YD)vsW zbBi6W3;qhjQIc1TQ4=h?K;AIo1qe<#5w(vQalJ9lG&jNcQD3%BzG9zDok7n{L*GkI zxVqnWRhMDaC@(n`$~K`!U?XQY2;G&k^`5uO2S-+1-K+9+s4=F;)?o-+%YUw*RxD?I zPjbjR{Q zC@nPSchGz><_PtpVccK<8kw3!Rqkpb+A(h3sd*m8;x}8#F#7v<$;R&Zj_tw0-UFU5 zhGPX;3;kHGr3Df{EmGd84XUSjd}{6kQekXT z5!XF8lP8&1cR`Czj4wYhO@A4q{1YBR-_|YJn|$LQ+BD+_Y4(2=sU$q(+!v!%Dbf1Q zb7I>8Ol@7K5YlJu({WP0o08(1$Bx#H^QRFYVn&jy%u|1b4E zHIlUdre~UHjiF$hmC-G_-r|jH%Bd9p6OQHQ_N-jXmJn}w|MIc)te7!@D4JNiSU@V} zh^PyTb2Ry-6+PA#q>1d(1Gjc_-J#8NNy?UN%t1`^!Pk?#?$~0T<*43AUlF6b%J)*I zg~09D1L`%1_Cu|CI-6z!q1H_U*;d`-)&$EVXOB%*Cq$GNdZ2fMH`Qn0^R$PrlTNK? zG|+FPwmL=WCr*Qn%Obe&|PzHc; zRMm%K1ZAgA%rsu38986SzhFP7_4%yia$ogoFt4zLE6@Y=;w574)eHSY%*vtZF9=;@ zo=p%_ut0RC_*uA;4Rz$k07HrMvU5kfC!L=lyR=dos>EO9dV0hEGdR#zw8XOR-Ehkq zh?1YLxge;KSRiKJd0BIbL^d~8E_FmUw)gx;7GV1q{n?f>Yvc=$68ZhL1&r^i^65;S zFw~Dbrcbx66Nc)-)|Kku>` z?v#Ap1L#z5YHd$WyiFJ~aFq~+z$H`JB@zqImgGi1F8i6KmWzns%+Pm>g9s|lKVuywIauP}Lkx^zpH^}PhER2vQRdr+wQf7$XcrqrKCdEfm$-a&#E{YP znL)?%(NTEV3RAE&4c{hZ`VjUg*m*r*bUl3o4?bS(;s~(M*jQHf|3}eRNuD3`z|@WO zM!R31734~0aF)aMtk^T&$VK0~``C}~SMIY^-#)Nw&MIWvp$N?MgYROh$$TTw3tEG5 zgZ?`LwW4tiI&JO&I<(lO!Mf;3fMaYNN`(}j>+%A5}&A}H`Wc)krX_j|08|W0zBDBry9S7?NmYQcFw8)MzCsnwj!M3*{O2RNs zx%JheYCUVCcCl9*oUqp>=K}ARn<~OGuQ$8z6$z6#k9%5o#`4XjZd6i*5lkEh7GQBR5 ziwhf)rORTmaanZUix@@zo!(Xkjh@}7_QuPn^w#^4~i{(zG~X?gqWweFj~~Xwl|sn z?c{@-sx)*S4`y+-EOC?gp=Zf*b9efwTDNF=oW;1c!}sk7mKW6m%dM;H?Kp813Hte^ zd~#m>;2jpyehDNZ5u}~pb;j%%pBcyoH_ynH=t!+wcy9uifLg+ZPmQokB*Z6~q{y$O zloBLxrQ|Z6Y-_#U^QLdrZ`NrIG1g(2S&)b zoAh24^k36kM!UP*pu~7ce*BuM;vDv^%}k*o->gSVrCSC-jEtfb zuyouf{^FZU1SVsI&q14LQFqE1SI>FbU{zcrMG=U2gz?6>`FK9GIen%5fe!^{y^i#6 zh8*mn7XHILfT3|?>)4C;FBh?Xdhmd57z=#V{8oP5`^VmA?DaWT8YmS+tvrDIe1K3E zl~Kur&jvv2X?Oab542;tqQ>y={3Q76Dvp2sq{%xLy~kQZM&6BM7g|1XZ04xn41FF; zE4MJ{6uWQ&7sdhQX-l#tu)tVN!gvH-sZ58l=Qnmm>l(PsD8kw1&xno{KgDVvxx`NQ zN9uIsCxKXu=m&){ufFq^AYw-VOW3E|T_yVV$7i43qQd6WVy0|!!dmNBXg-=d3%iLz z&IVk93Fe;}$9PjWsq!U2pN|qVpru~CI(Jb_U7YRIy?D5>2qM^=kdq)yNqjRo+v9eB ziDYkR%HvOi=m)x}#ahb^lARUrQ!-h&he^BhsqIbL2g#a#!A>^e7X29;g!PY?lv|^A zm79SM&PABjZC6ykv^F~6(Z*k|p0pOD# z_EcC;?;ocFrXma~rnMi#Dn&>lj0v%fTX24zmy)ZWzRvA!wp0~C4Bh*L=yRm^Vjp#f z99)_Ni0~2td0&%y;J`%g%|tHKn9$K{%H*nWp z2UZ?M>e!~qhp8wX#2f|wO{~xF5^MZs#WHS_Z0Kb&)cdSV6V|Pfn6fC5LI>tVl)XR? z>t>aUYTz-m4)SW_BkU+P-qo;Nat_deKTQ<6NVFQ6F$lT&m@K~kZRrV*?o5>s6(e9@D>amM%*?bKnT37OraF6#nLkkNFjn?2S~_FUvKI=z z08vxQLN2e^*?c(Q%YYTi7lP5PrqC+4f+YPpq-~6Iu)PI!R19Z}K%StS(f1d*SU*}^ zKvl<;Cd})Pw%tvPJbIdJSMe9E;eCpYaflbxc2IAuE(;U22ZlGSp$lJfmXzC$U#*R& z7ef~rO^{8`p7#3-nT$m~GC>ZD8n>#%c(bdE9MZQ1r=0AjMVSr|?)dBE`7&+*BzTRBjjJ?p34#8T% zQ`Lo>tuD;#E}PB-o=c)(oo+#6U)QpVNg@Q+4+w=uoABhaspRt5_3C@`U}x(m!~&bN zqEs|9LS&|Cwnv*IZh#4DA66GZ5o8A-6|j%vR(i-&pE0eU&13vTvEp5j(w9Qxt2~3{ zn5-A%PsiUbF$9Nv=k1?OEH%^`i0#(PVxnlUiN7G*ncf5CX$k(33@Wvvg94<^!`_I?c9`5}F?ZDNPL1v!)U$JobN8^kc1 z)7So(w<3*Cs;>U3<{RvHJqC~UYNW}RaCBf{=};V)Ryv`Bh|1@FL0xAOtYH9v+qC|Q z@qud6i0BcN_GA;%HSV;%(PpDR?ZN7y7JWGf!izTDCxvH zqHvBwR=yX@2(uZCSU5OBO(r6~nd`u? zp?JTzr;_Cz>fcLq2#SX=F<`Ctl}mY1f8~vRmT$~C@A+N0Mj^CWwRqR(%*xQ^Jn^X{ z*an!0#o5yOXlT1{G}xV0U*+Tcp=IsMSLC?I``d;5)5k_wF5jE|)Ml3sgmbWA^97PL z)mry`yoTOd9x70IePc`c*%h>Z;<7AC ze!RKz?8M(?lE6^5nfFC7U3sJ$R(t0%K7E7-)E$D|+k7pRL^iT;I#@XFd+)maxvM@n zrlCFc(p5R5uU2NDNQtSGr<2yxoOC(c)Epz0d>1kw?UKXPm95o675_5p>N{pVzc#zP zX%OrUD}XG_6-9FZaf`$9PZRcD%QDFO(m0Z0MSdoQJ(dN{yTU=G2+jC>RYF(570uGu zXkSJ&@;RZl}>T0)igl&;gDJ6CI_j=Q`t8)j3)VH}Dv4A_f* z<>>BGd+-Q|5b2qPRjlHSpY-zXce)xv!X{$tcWEkF6ntl5Z&`vf=vmSbsG|e8u+tM|p1RzI z%d&IBMW3c+3A{)l)mt7C=)~8#PXne@h7=*p30M#<~6k z8A#o=q%@@za;as|an1dg1%1V^Apa@7#$8-uY8W3O7;UQLQLj@nT_o9^PBfpy%`@V& zV^=vunpHpy9tdg2qlsn46=!tgL)R^EBpylzI5GC6?=jsM>xt9#9U18}z7`dMr7Uva zpjggou^ioL0@6^bU!3vjKe6i?4{ZtLXVj;0k+etpQ?TTN+fRg={JS~WfVIa3L(k$i z9GlOBq}3mUPl%1G7}{#ljY{{mt;wR4JEb2Gka^zrDQ~D|A(Rx2gXE3RylD2&T69b=nR$2K9CU#s4amHcIUN_P%HL9O3~?<8fK z6^xI6AXBT0E5f-YgH5Tmj|%Qjp593~m3&c?-XUp`ywejv|1?u|pW3yS4p_dQT)Fr* zO)XG&#a59%F$}auSACo_N8OSbs}Zo=P!Gz#Q5=TuQlBq88RUCtQiHG97At~GasLYT zSb4Umd613!f~WVXSEovt*24iT*m5upIo6mD-d1c8G=4=Xu6g|2*0Poxy#s}X0p8wB z=h?W?Q8{=)Y;I`I4s!}~>pta>L*k&3cv#FUT$4G+^|`A9;%g6)*>{?DSa8s!`KiM{ z{CCw{+FW(#Uz%52dM6gmBzH8R@J~CrzFU~KxjlR0n)gWb^Wxw%z9h%PlO2jUu~6T| z>a8v5zR*k-K`}bote%)@Q-)#i+&SyyVb*?NsP{mkUCKqc5C<~A9y~HZ!Q#z$MVI9i zB0B!*&zG+;7Xt-VIzM_pGG^jHbTu?w5dKKN$5;x1?sI1+ytA?U!cTF{kbTEFXU2&| z52r#&wzl?68OY~Zhp*F8V)ON5KGxd4`fq-@R4$YonI5Tq(?&<9x8bPg7@o^u^XLJhKZO zxaB*x62`QzAl)w^gEEiaKaiY^lX3g!_IP;K@vNZo57Ph~(@`PqL39Ew$%!>Z`2FRE zn2ri3ZnugJwQ7DRuVI7XxUE3O&;ML!?f3s)@pcA%WT5K|NnZI=2e2UBHZZb~>SVv` zMtv|eE5FIYOP~(`in-V`4+%YX!zo`FIRL2-=1B!kAfjvy1&F$~8@g4}MMfQZpSw*I zRy*kL>YN{bY0aut(>Mk{OFjGT9C|4Fp`#S8@w^RxZ`+_P6)B1Jf2exvxTfFseV9h2 z6qF7zz@kJt1px&KL8Nm6(mi6NASkIKB@I#{AUR@e^rX8s*yvH)=m8_1`ME#${rf(D z@dxkmdhy`h}U3rA;?N~~w%&F2Y7E65y69T=R^%4Kz*T*7aD zSLrnWa!vCO|Q_-FEg@{k8)j7)NYb-jYkip#B zkGg%*t6u60Fj9K84a|y-uD-IK`eQdQ8k^_eleYDOpY}z&t3p{=xH$E|uiJ{-cgJym zq|`;to?r+?>S(5CRq`%ZiZcy4tN$Dc7oF&VOVOO0HZ72}ds zv`0@TeA@JsMe=+DHutIqV@f+90X&kIQ*JD^n8bjgNwLST=UdV?O>6#N*Rb%{V#EV$ z(ZZ8JJ@`yY4^m0xuln(aJ~uCB*=C|=Fm7pwLsPzkI#}@WS8=4D{PRXuUC*rE;03^4 zt%wI%*$etr>-BE)I$;86u?5r2j@@Cs%)6htmhUohC0K04MHF7mRJx-CiZr+f+yd`L z%Dm!^u6(p*Yo;4biQ|;A7?3G&H2ig5O&Jb^aTdpu#SkKF71>=``P?aiVxG9yB}@!A z<+y<|Ye~61rqmb}`Y@#jW6%&-S=-TB%!e$sUGeuJmG^nE1Jr<};L}SGahpum9ATXK z!g`wsb;ujR?Wjc_yDrV0Y^jMw$ix3Y&i~sZ^J{zE>R5zy z$h@)6T(ZB^{VuYtLNaFxY27fnrmv;1f@yprV0!HwLvMaA$yf(6RY9+54RpG&dX~TB zGDvsju0U&rH~y(kXpD6xHALppISJ#|YH?!XB?T6-r2Cf?BaICwhJRJ=_Ehro3Z+=j z@^0N2sd6!TfxNHHjBe=K#Ie98AbIJK9r1EqO&Hb{C;6^q-!pm>Jh<-U4MaMVB0XBl zkFM%qc%M|%Btp9pa}y)VvL(9Re5)OY5*i}CnJ48hfVppSnmyE_7wYCYPp+$mN#pe( z0J#0qY-2sAYf5n=?0f8C&~7Uc_i+#BhK;S~mdN>E2c4-$_lVX5LS*8Dl#alT)R<~% z`GS5sYmhoF1N*Wh(xq$j3lFx!LktGFvC>&V>w{N5V1zrR%u|f=bC}%WiC|7ZAcZN_ zOHvfIj#!1;S2BO4{(gCtY1MYCwkiRP0q#uxxVwm>P7~2E7UM_E>)eaZl{1{nM;_&R z0aTS$H7^O4Ft%#%NDQ^zu9T8<@(%y)>Tx~EYl)m>zu3X`_AWl_U21r*H>Y4_dht2$ zZG|FdJoQj8^n^bwv6ahxfst&Y(V-%u%8r}5*l%K1Y^tJCdy1^_6Jd_2wvf8O&dYB( zy<)eT8_-T!5BK*Ij$}vxaMo;z#y;__SxK%B0M?YN>;O-3*Mb(x`XXvudnoV`wa@A- z{&%^mZe94x)AiUgZ;=nByV;01e*P1N40 zas`UG-F>y>Am;8O>Ve__B}~0@{o|xaRwy1pctKI0RYH%EAtjKMPh)WvIya5pNNwp{ zE%H`2IF(jkoulc0BJ?=cd2E2IH8b{c+aALS%3WGG49L^|K<@|m^8T6}b3yqt+b5nt z^k8n`#MNvpVpzpj5woWP5Wi^9~#OGYfpW5vDJBMHVWjFBSe?5p` z2kG)H2*`5!R$i59d=Hf>tggn>>Be-+^_GR#&81R~44#}%u%aJt^&waw;J zvvqCcZS&eYKaM>wIim0nP#w`(uJSwH`oo1DEFbRI+lt?8{Hj}Uu30izZByF4#Cq+O%2^~$xS(6 z=7V}NBOG<@rSF>+oBC+SYgv7YE;mfP{i=>X z*K=e--u91Fe&+PX?z%pN?NCHFoX{@ps!ft{{QKR*$4UP)+{ebrc<47-D_75iuvNo# zc`7M<=g&)3j90bas5(~Jt)6S9dbi(mt6CCQZa6Y@)vA@?`)ZLS;kOi2|H6GM{H&?r zr#EN-7ycr^giNuGZ^KtbTvk_4H|j3Fql<@&n%UCiijYQYmF}w{c8!u#pHD*zV}&6e zQpG8=lDc?)alaJ&dpEZ_c7`pHkwO5%^UvPcyF*ycdp&O7a>;b4#iw5N62F`%rwB=h zwN88e-jQUmu-E>E9D}kivK42+WEo*N#TlsD+RX1(Ah)M=2D~Ln-LLzGeuBFSZG3ce zu|9pr*v#beHtN#0Wf{ABdcaOLX?FSlXK$naqHd^7gMy4lWZR0BvZw`z?7-63u6KB~ zjz~05=N@-fgPkhUSV5GLwl%6b(CpPqFtssrbxkx}JmZ>whD7nabI*(y8{C+?rks6? zaZRn5LaW4P#;AZSVUtjunQs0vgm+Ax65EmY!fS_& zEA?S>bjYQ4_;Jsz4Mm}72HN|lPiO{>K<}pH9*X6R*>swW@1ib|9JALf=3V84XT3=a zK*&+M>-|(G9J()XRcrtut0baM-v zC39u?(%a-iTK%p$XZ_CLcJ%XvJ{=VK_=CzOy&me16HZnEYJSZ~2hk)Z|WfwV#&YlL_nmI{ury_mfPiN$LliOHaPZ!(L4$`577D_VDqnn+LX>3mGY1~d2m7R&XxQQQ=K^8(oUVvm z+~zxyX=ui#x?J6_8T?q+=83q!=dJ zDCfu8v?=MwN0zVX9yV$jtsU`$OV$#UNCL)La)6Da9<_;E%7%$y%Qp+(?};iL`2O?BJ7FSW8fto zj4L0mBFA>vQ(Kn3_&b)CpX;9B{N2`337(t`4Gq=_X9--Vy}G=;IvkztJi-L0O7*(? zrslnH>QN;AMY(`~2G^NPo?O)9NEH!p7Hiol09jlyjy@F>CN;4k?I(OZlPkaiq}^V9 z7xif=IFlu?(i|@FlMy8v6*uE2L3P*?B0au!ka^cnVK&Fm2m4(59Fo}9E7@(W#|sT1 zk}Ks`W2(_TAHt0G$--@L@}h&mkvn?L9UdMMB>EERO+{OsMsTQx6WXThOojdh#LTK% zH9jED;uGZ&xB`UNDIecQxgvb%4kh->pIC84%j*@p=#%XN><3TUfMWUc+;Xr~%jtQ> zceikYc6zCfEDbA}Ke`1JU$H88&7g%#9)4thw-d)ZPc|Z)tujDE^)Q_yP0JeV1?Ut< zMQJGrgkd6^1sk6kTLOSJ4w4B6+&1f@ilyTuDNk_Ft_S`;Jo|oF5}kMZtNG=w~<(7A7L8K8n9-?tAzU~x$AwowXBF; z#t-H+E_V`ouSiB=>PZ$%ILSczlafKAJfXnh;f#;iNAJLw4d%U`r?ML%l&7k`crNl2 zS{*K$8odeK0aAVEAfht7W?WTgenw(Bb_F_)mMPIrw^uMMbCQg%hM>+HtX3YUmMB&KrN zG48;5otM#&L;i9DYvl+v&oZFMiakq0!>-K-f8|AU&!5dJZim=~5twNF(T<5Q5~aCV=(v5z zPeE^;M0J1#E!f`V!eywQVO>&Y+Izg>3J0fgk=tMJ%w3Pw%{8UlIG8*I5I38@bQaSp zjmg9zX_`0W?KpM0>5Ws&{B7+Xj2d`JImiwz=m*8K96z(xeW#n2!`I;zR8-VaXu(C9 z$?MO-ONP1C$T?OQ9m`}mYh&9YRyv@NX7STg<{@H%FC-&o=+``~@R>%xXA2|2guF|8kmhw(5ko6=yb$3POvh=}~40 zJ2bx@o3lNg*xn;Ulk4?btn)=qI=?kH}7iFX*c|Nba~u%M719 zGIZF<44-|`{6(AR#gs~2R4i!MJMb;#=K(L5)GEw+Om@blz7eN(-;_&z8t*{~c5EiI z$EBFh+?rsJy+rYM*DxMKXYJ0K&)-mj-PvCcuWdrGX>OcDOeVQ-uO;srH~8j;njiB3 z7UHP;{AZGK+DZ@~=KZVEfF}A%C=zzgdcCN6rgm}4kuq9$b{Ob# zL}NeDakiD@dc=7aZW30p`o)~odfh|q1a}2L3QzVN@-i)wlXmm(vej#mxYhJ&$$N<_ zd+$)La{cq8Ka=s^-6m#Lywkcl#UbCPl*=uF@vZ^(EbayPe!Xn-O-Z8lduKj7{W%)AC^ipS+~R*Z$6LdW(L%1a7U|DzFY%p^HtW6#{6XS+=-a*sgBIX z{AroS5gMvN9?hhg(3|xf_768ldcE$EkkFQEE1mfXV3YM$=)}bK{{(|6{~Bp9{KYG( zVXUOP7wF7sf2dZu`>%5Z3Au~^N!QF@`#!1FdeTT}`fKpzzK#en6zl7*uk%`Oz`c7l zLdoZki}SN^>-1gnHrHB}0yH1GbL>do@R4uY81&P5pRyrgxFId|SynAz(NQ3-Z{Yow zpv54jFYOv6Kw(hJT(?WEH3M(l^iUc2`g=Jup<6J=FB@)gSwU&+yfjMgV{omD?v3aW z>Mn&I&efZjR+U$BhMdP!Etu7f{074(`<+jmwWm!cWXyz$EU2WT`Abb{eS%lTJj53R zGrEk^LE_z>va4WL;nh-qBbh3$UQMCI;|EV9NyQG;oIi3P)_f%lOf#9DnaeCSe|b82xm>JU~CTs1{RK^VS!$%h@2lR43Gwzy6XUl}w~AV{EKD?D%UB zin{n}y-J22_z2I&ELwVFOn@CAOX<|zy63$q&+mV8Uh;pypm*x`%6Q>`&DVC1jo86svf=pX36^+kQ_9yPwO z*=lYusJ#qK_2L8TA>JzP+xbIg{q@*lHKN8?)6B&qpKWkYbb8+Q9 z5lqerq0SyVV6_D?yZq)%h!|C8r{ylYmHcg+*Nb~ug6O=SB+#|jYpOk(0Y*-PLzs;|#mUU_-G z6I`tP;PKPs+h3m^Xp`;ldha{kVJQ1;F6jIwl977>epu1d%hp>Z(h+X`7$05o+R0FhYb%7HK$6{&lD@3cY!QdIG zI$Fz%D%ayuLM^t~a{5iqc@C2A{2+9;UTJ?HD{(Z9*hG&iu4}+5>Ov21V6&_a#Q#QN z&Ifz+83^&kQ)ilEcUQE0?xQ30FW-=M%VTL%{`Do7UXQcV?+brWsF%B-QGu-6mm8Iy zEowGxN7C8?Vp_P_+wdOh%uh9Kfy|b)+xS%c*mssi+PW-!jil7IufqxaFM=J=Gn|TM z;qM1I7MItJo7%;@&9-}3_P<-pDmSbt2qsjUX}YKz*ERj(xzZG!_@D;(ph*`Zuut#b zeLw-q{#v>Sg4A0;&oC&!MCa&@r<30O^{dZ(vjy5b>o(uI^86@I&}|lQ?0#D3XZ5{r z{rRt`YFme)Y{xP!GCVZyz&4L`;Qt>Lx!^1Xm=Pu7h=Hz}As#}{4_r6lu+kPn^u-Hg z$PA`F@uXR46xWPrL%73mTF4cqOOViGK|}<4+ZkKIcf5(kty~nh;N#I_yce*GIiaUg z{lTC%VmRJIL5srLZqsM{w}_$W>(IG}<2@1)}Apb!ypg zbklb^F!&#yI~=x<%P6jlbaPjwnw)8?9L^&MiBYo2^}qoPYcU}+Wv(7@8^mPhkCf(Wn*g>Azel)ba3 zYQTX$@+9>_i&$Va<5sM+r{qk4;3NVv8V|A$mxoUGfI9^j8HaGK9cZ1%Q;WLatfb`L zX7%k=JiGM9cjH03+`Q*CmXgxfp5OEIo`2MBDjq5G_+y7*hUdhpVl0@vh0IpP$Ey(V zGu@Z_r_{}?tH0R2eeT}n!B%s#OVZ@F?`7)!jDESi?vy>nsY>)H2%hA^0J6iyHO(@p zxaA(_VOCr9<=E!u@_m3ha-;bp3Rp%$|$gE&E7xj z?4xYhvlSRG&m=Ly@=#Z#gtC+Hc3nSGmH?)`ZZy(U$h%7fv`N3GTggdZ7|t_E86(T8 zc#_d|p`(@p?RO%jDbNw8?tljr_$-xD?jVbGRk{Aon}@ir4U8g(Rv7z-7p$DW1`dN>aY z@Fk|rQNF@xIITVm?BQ{ijZQeBu*D35JbqYK{c;PP1%pe{KK(z^8JWF*mp6#OQ ztC-BKN4Y`B3UclrL_;p_L?BCGzceDbY8r|vP|8s(ip6+hi-wt6TZP%)S6DW?$9sx8 zp?lUc$VZAMISRXU%1bkiN%woBJvE~E;xUOYy3soc`L~;>Z6%eP8KaBW#2?_05YWj0 z-xTWXaEM|1JOjJMf_F26`RU5F99JSc+)q%4ZJ{U5{UV^UMC4_Z^Th(DKJ{X4sP=#s zjo=L&^Q$ec4IhRdzOov(Jf;lI%L*7MuJaaY9Ou0lkpc_iPfiZM55Z6RnWm)xG< zxxd`Ow2~A4B)SZnY_&)7Z3LgFm29$(QheNj(vjv5mT~C3Fui4?4)M7GTCwrVjU1sZ z_@@GfS-8eDT;0*^$A|Xx3*N%T?1pZX!0J1%cixImohKj`+uSM!6jF_XF6F-{!CiRhwTMf3$qg>>XYrd=baPQ9M^=`Jt^-PJ(38%m*~UC&B2#K+xB}!}qU7mED&AU^1)&e~()& zKB5V>3r$Ek{AzR-NQ{sQ@&lc+p|!^{LC8vQA`x#n%6kk+bY{AU6(M0^7aI=9f{U{y zEDCmz?7A{_VF?=YJJkd2qKlkQ%H`bz{Y8TJi|g1zhAyTpPphpQnV{=($R(J(9UD5R zBN3c>-ZkXn%+ylef*%oaSVifm)y;(D_SZ32Zl~ zUJFe`99DqOg^TO=+jZX&&gPZeDo^5=>fj+;Skh@8c&9jMXQcjML&Uu@m>6m{ANS#g0W+_i37y@XXh=0%?1lOm)Vn3K>oh7BcoJKswG@@#8z}vSasdR>CHU|U;Fs>QAz>n@; ze^F`p8`&^ea|PwcAuosx>bD4O$zoKsT9B8h=dZW+^3I{3m|MNUHJ_aRp-s1(0&=@7 zU}DE|T1ntgJoGR)*^8un>Z&aL&qW5{5N<~8{>&!(?CT%>^HmXdqtHbLY>U!S4R#~v zBgjqS7mcru_gYi$oX%dpZlQBZQz6Yh#(t*MS5!Gt5|1Cf4p(NL@)VnX-) z7w~+m1G^gw{T+OYgx0qb-$1E+2ii@^DpsFY)Zd69WbXm4<&*c#zlhCUgpY`GMz5=9 zJ9*h=RNhF{7khIoEP$5mH{)lM)Q3nER8Sd2pI6l98LN_6GTxMA&XBff>JMlVG;*rV zcmO(7+Rn2qfcmZ8(Ct@;_y@X{eKYR-rg~$DjKiSNP%XOe<``vV%ohwnp zsA8sop4kLekmXvtl0I`IGX(#*pWQ%*{Y})4qG&VY^SchCQtUjzJx3`19io^{D~7?1 zDp*;yAL!<7{n)7nUcn^17g2ikOp$ILHB0hC{j-l7U8f_O`NDO6UB}A-*PR#tQxn-u z=O^2^!0#}KEs^ty!x;Ay()%(jMxYSt&4)wK#+J>^&}xg|t)AeOPH2_IMUB;*CV0R1HkmW^=dKIE_8~wafu(bM zQ>anP^lkcRDJ34hd|4d`dhL*YZowz6#ArAnTyL3>`hKt{C z*Qr{4CzChvJku9;Z7geP-DCta_=*`k(#JJ*%{i}0uA6J64H0;HDc6xYthjahF&}e6 zUYxO#@TGeGz_ZP^=O|xMWn>y@j{}v07`K#fM&DSj7}TL123ol#0!H(F*r|qk=$%{{e4)VFL!rTh zBA`I-Z%tb!D=Y_M_7DE+L@W2#Oh*ueb!Ua}HQ=F#Py$TEEr*5UQJYX+gD9WYDe2ZJ zxb|5oG^)_Y)z9NEMb2c;Ly7p73#uM^lhv3ZN|tYhsAB=07Pex}YJm%1POn|!GX z6K=QwT-2Ruo_MP_Z+uJ)7)Z*;zwsIk`jGu zy#|W{;hj^#74^>K8VANt=(rX9Ve`}?AMuk1K;LE($r@_$FKuYsoK&>W%!PoEL72%l zROuWWdU2bHWC2#WQZ_;gw_GpT_PID&uRmK}!a99pL54r3&;DxUQ^Zn}OPBIkNrjn} zZ}mlw2?g+HKZS{;+LTvwV4w4Mm;2i|=&JCmlvXWKJU~)Z>os;}q9)`>f7{8anJl0I zCij{BCUo}AljZ(gR+GV31sUv)df*M$O5C+!6CL`4k}P&1%Um^@ayrd&#f&Y`sbm6E z`Ve^^4PNFQc$q2UvImcgZdi0)X%`+@^!Wqis(&*J4)-w3CQjT>$=(xt_*<~`W{BOW z)~N0@u4D!Uo)M6#H40$`p6Svh_F&rxdqx5@c^sIWFkT8Q}AP$FN*{s@U@Wck_Y zB1MR7D5j>E0;0MDJvsuAaPu-|F~OnLAGcC(B;7-5`F<*=8vgpN$F66D^=()2jtOQn zcx_tCprcDZ#9!!!*Ee$Ujka=b>xyLuiycYp3?9`gws-i3Nq=}-Wau47q}jl~zTC0nwqVb$~+tKRT@mS?k%|P}i4hos>ezb1atzC#P_c38@zu4^u zenmQfwxBo3?;LJ~&DF+=qbqsWM0Fz?Sg2bHe{O1M!`3r-;ErJR0ph<;c{` zK%vV&HG;&O?p`lTB(EkcE*Gu|*4f?Pl+SjEBD!thD5&f zNBH|9Zo9SxqIOm?2JA^6Y21FFc_J`euvwo%^*t0XmL16zn zpk}hZItdV2vaUVRyorr@NOEz>OzdCw(H3M@ZOIn>I%b!JCt2!?g4Z%{iT=*$nQdNV zkSiBhD3(=#2)qP@F*3s!!WLJK#6LZayWD@N_DJ{ildmN(lx~=E2nDDr&iZ1R zlOe~nCY$h724B}w6`LEl%dG~GHOYtqe0n8wF5gj}nDD?OO114MX_HL{1(767Wa>c-S^*fE6_80ioKcW=}L6FZZ9PY|4LMk*XbaSaYE4ZFK~pG>AjbN^E-NSW2low z5VBy$edfsDW?A^SD4Ne*#JzPyZfQr(wIFz^58qPSkGVOb+JV4IQ&Xb z=pyA=Fe;{h&i9Cy2F!M9h055)-P1V?rok(D3|(uhmUn3S(gR|X+#>Qrcu*kV)@|ZU ze2BraPfmcG+QcmQJnV^UO&0RkE(M#Xu_a>!aS;QEpo5@Y(lXw z(Qio+0e{lpXeEjAb9xCPigzgieBn_~*j`%tehfbIiW|vr+yi&9@GWQV=>Si^VF*3z zyyA$69#7%QHS`Au({S&Ei#V&hq15VkRP@(Pwg*kQA<#pt_fd0$l982*pmgv4LzH9oZ!FNSs5HC2-De`So>mCWyKIciB z=R12jtQd?#vo*F*{=llmZ!N!`EB1b86E4S(mKl2grG`4rSuPynnlH-sJFDy~+Up_e zOsfVjo}F=1K9;e5<|g7de@pX16I!YvvjNS)Gq$5CQM4xI;d}o>6&Us4er|L24SP zi}#DpyZ4M2#c^uyy9+ii^W8hof5!A~mgDj?m9Abf=i)4kOd5CY#ppsg6?bv9WG^#z z>ucH-}VC&fb34AtpPd-A@`md9&nTcg$~YDkNm-WitfNyYjMs>3|K4 zV0$LHoRp7J;!_1=EW4vG+7ByLavRg(rJF|U+Kn|VsHCZzPT>=*YgJiz)Y1v-Gp6#hx5zLF+(04`a54jpO<`U%o7n-de96R zstl3&XVu#-U-tnry_6ekFY`q5i%gq>I-`ip6@dHp#uu_^qMyGK#)xN#3jeg{(0wTL z)$TGRrUherqM&5pC0={Ov*dM2sSDuAV`JSPQT4-7q3bje2!>hF{tzD&`_!DpxCCo| z>fK=)Wuq-+quM!GQO6ET_Y>Bj!Si-s`D~NgPuQZY<}4o_OQn6bVMR0b?t@{d82+6D z$ME&D)e4*Qk#=A2%k_(AZvEQM-JJ*0mqB-qG83V(N%UD<_(EgU2|I%h-$b~_J?foFoW-@la8t0JxbLw_^pi4v^v!prrp~wC5iZJOgpdK z9t@Km8>xKm+mjhOb=tr~wz5-iR$V%w{k+mg-u*6Nw9Wl#i5&S%XS_ z!(Hs5YOqE_nQl`8j=LQp@l*BSd#mP+UNUZX7qbO%v}>K8h=sh9_ow@iKZ1@dSqL{q zjBb7rCBIsT6us9**46No{E~22%T39nkzQUro2R9`MvipSRd#}CK+gNR&R|28ySa=E zd)ZQf$SwuJio}aMZ&kV`weQe=^1P#G7DkcFVR2cDTT|yssx>e444a>f(fV=^ubt}O zK`pK0KUyvYPbUoPkJH}7xEfy-f%gV*sqAHE`6WXVRWrntE{ivIg*Pq-dD&OrZxiWC zhLSHJEvy&F9NvA{?gj1cXUgA*P+Jj*k$?As5MOPXF!77BZ$b9gjq4_}gL{WxAEuU} zvGJgBi01aZugvx;k?FI^hFP&|OmKUH|CzEd6}!E#>8apWET$7j?Y+Rp z2)jRayC!eQ>lf9Lt3bRKm*Y!?9#bf0>IdIY{Vqs*TU|yhToCs5y+rmZ*J-AI%F?bX zSvE|IWo?^|q^@aHkqz}BAG-FILlipL^*lF;8HIf~9j$yTdEP10 zHZ8IXw7Q(J#s`-EhNydTY~e#yQjC8 z#Vx%bZK?jAA^ET>`;tjoc{#kh4U&=lNMHA#dl*S#7;Qp!aqTVWXFX{<@qE^)h>zd=n8(rU*xp-88r#@RM!p)>12NF?ft3pbe>0)YI#y`p5gP= ztIAs_1c+OQ0;%jT2|aPV$O*8; zw@i8w*7sKTR-xyngWa(3y`!mc{l;1)dg1fqUziK4EVp>#dSYnn&hY}%g>rqmaR@gx zGXwiRVCW!TsYgp{;lQn=WtHPu^@t!m7w@kZt2y$jhxgp`53!u28%rT(p~ znO-K2^8+wdG4FS0F9zraSbRzw(q}vFdaQ}=iPl>+u26GK^K!`8*?4v#<+>kdkrqLj zYC~8P$)q%*nU!{pRM{?(RoVX{&SWZXwa`LNqbCkf%{jVube~u2P`pP9N~gmC$&TbU ztzI~I3Syl)iQf^dnuw4J=lKd0IoKH+4JA_3od|M4E01FszlvKZF}&=wT72Sz+~_iY zkytiXS}yK&n${HO%TpU{7F~J3vy7`r@H;LAWyM158AKGN7K#$IN$K%KS z>Fp?zWOl0lBEX?g7mMlMc}1jn^ET?!D*@l{&(e;wzPe=&Vk>o~sL`?po`{$kE1T)g zx~1ue5#fg3*9b>%@YWZEMsuJBX7PLj0_FsK;y*E-A#3F zkAaB(9j#n6DADbxa4C9-&Ain^8pYFXf`Quc&K%!`wAzMOeUYCbnOE!B^cAmsPws7M z!|(DryC1qGf0%l@e9oDHb2dxqMDXC>Qep3QQzv{H@e)ljyPjDaxm&Haik zBj41dg0?WQ_r~R~e;$B&T0^q0DAQ8!o8?e)fqVg>u8-mGY6FCfO!MgE3Y;~xy_Pz* zq|Wc|p<>izVtWVs7+i1s=(f60S?Ye)T(a^W-WS!GelRVaNSU#Xy)vBg7!-IQ zk;IWx*fWy*$UI*Z!*xZQXrO?;R(B`i=83u3G{(o}$UvDb2x6=>ci9pWc=On+ zeH?3K=QmbQ)yQ*UM)viE!k2INuI00`?Z&K;bXiL5a_p<=$Z!@>wgX~tAIHWsJH{Jv zTUOFD{qxkC7H55V-6JjUS)=75<}+Tnul}lG-=G6B{uEbz6z#eahS`jB;u++yDz2fM zl1iN;r)s#9V3XBBt3d;m-2;;XArGgy&@yi|!GIX`#|ee&gSL)SAu4$FYdq4Ze~ zf8E>b&pO65F4n~M4bXlzl4lMV4C9C1Xpz+co43wqDPMnQ)p*FB% zhWBAxxw-#5qL?!%&70zN^0p`Ibz9A)pt49zA2@Vp)t|2y5)Ar3EArF?FyEnc%44=% zOPi`t=XKNY>)hLv{-mng%glsj`%IU!l!$M;uI{1x!iF*~UTKOR&#N=TllT^Xm!oK?=_dFb`0C{dVrwTT=u&dFfy&bvA0i3g5P9UuiQ&YDyz#5rJQ%b) zq;qy@4C4fEmuIELDR{_C4;Lg^#~GPrQ~|~op3?$PZU|@G^r`m>Hj7sx{IT_tHvaj3 z#eWjNWB&|ULd8iBK9_YswiU+jM9Y{rRG+aiZz#>^pf#_W6LdaD)iO?(OW z8yZvuQk~mh?%Qg?U?oU9SL`Q^UT7Xy?z^Clw>J$xZ8`&69dx{6n##lK4~*J37ar1n zACJ#`OM541!0`4JvNP_065<${At6yJeJ#>>?W`Ou0s7Q}oa`r`Ke@E*pN$AjMQX64lJ2r1-i`ovn}FkKjv*c@N(*{Q7=DBm0<; zb#Wl?fqnb_wrsDllbO5&qwjaRKH07|zV{iu?}=0=385r@vewQsO3p$#igK~rCB9qk z+hsRX9Znw=F2okMx?Vnjb(!2K+xB0`V^m6g57Jp?veeX7jPS01`_4?cp3*0q<=4sX z0Qj@|j=CMJu5zOp56x+@3{7Z83(G@;ga6OMgxHYLLoPaCzi;<07v zs*~cxC9|v(x}ug`EX5Yk&nZ<*FKF;aAopr?+3@d3VdRilW2adWrpD#W z>&qe+AKYxO3~)^YqEQd>+7KD+w12TVVE!EW2*nSS9%HBTF6yuy`G`rjIT5733U|DH z_f~d7(VtICJPtJ_sL&wIqD`s|Q}+C853>7|o^((fX?^OW+4T3tyi>VH4Gcnp%R5Y1ka&IFYCzImxiDt@ zRr}iPO6UTU>~XvOwMEtMNCWiL!28P!XPhOj+f1QCGr^^*jx2evy`jZ6^mrCtCc8t- ziZDVMYt%CJ)nVBnAWPl7pD`lfAH-qZSKW1I6m!W@Vg>w!LH=`b_V!po!7nk@IFJF; zJ&tJ@Hq%e|AsVmbmU)*t;ny!utGG#dfWX(h+mz$e<5+N^?PqSz3^QQxhuIj z1>>RJS@II^4=E~h@3Qx1kmfj`_9t4L9{;iU*#quFUt;6=a)Zl^QPGiqLGMpvse_J) z^y)kUUw$cXrgiu{Wz~bre1$LSk|PI863<#wY=YCyAMvB&HGDEZ25ndYuZTIKTzUvF z>hsFcVLYzPuGOe);JAE?GcF#B2WZv|I@5ijj{PAmx_}dGV_m~NW7TO1QE)Z<)Q-#> zp3+Y}Ax3{VN{l)_z_uzh_kiu$_wjP8Cy> zFZ|(%(QY{M`}5Ajnrp~wJT4>0;%gJ0IsJg7NW=_o*E2G_XkNx&H_WqzE=H!4mvNQP zpFZKM5sYqf?zmh30;`t0c5KZth)l^Nht2h^zok}-rGVfk6Ohusp7m|QAVcH6+u!x5 zvFCCG+yL9XdRqBP#|l3yxnW`o{b9T5x=)&Odj6OVt51b|byIm((@|R#=~fXqWMktY z_ayN0jnok0#<_r5VoFf`yRPI)tMtVp@oMw-T2hVNXs^8w^-DrH+EV|_$GX1aH`1!& zdE;HrIJIwRgX8PbHCdd5oZE?EOUfl|U1>G(s4i14ZwIySmXaQK&*%S|&z*?>XGfGU zMt`|j16{sBTHpPZG1`%#p7=sru6kydCM;ER=AE$PvT?X1F2-OyD_}rUY|39VkssQM z+bI>SBD@U|_P5KM?w-))Jr7$|O?z^})XOp51xmLGp25Ar*8RQXpt@zd_QmsxJ~k^n zKq^Vgd0TL3g02dV-{L;s&gc+wyo2W4s>Qjua$CtCAP9P4vG`&YceZKX+c504e>6o^ zwlt-AKe6;Lmh1}iH!6#R|H`u$XzxT7q|G!5i@m$f$LC_NF-DU11>?+h6>r&jYq+`L zE)Nk)gY2*A*ffr+s^M?k{QdP7C%??LR>~9smr}WC$PA@up5k}XK~)*;Z7X2K1MMB7 zjPo%|4a!WB@TZY#$EB}Q7^rGJY@@w-b`*}Q)Mvuhz?6yisGhP-ZsqN z1jDrTWv0CGcLb>4g!OoGt^a&X!Y#ne89t%0>{Dm#2&ME-@g^yQZi)?O%B)VSLJF{G z189VmYpZIqO?eyXzV@@;9|)t1zds7^Ur^l&H{LW-7GALGulWVr<+S#F_`(kV)|p{E zQ4+ur(GDAhXcx5h90n#aAuxmk*)0m94fLBqT2PsxY@|*Rq~g;6md?!}xo2dmuGubF zZ2ID7S&oMbc8n4@$bE(uS@F9FxfUQ$lj5uY$!iuyTWD@-Q7l(PTI$f_w?+Li?eDMJ zz3-KO13K}~{@*03qFYbC^Dqu#1>SSM#O*)cYi2Ad@X(c1nze>mfkZg#HO&N2Gz5#52^Pr z&pX;mat&<(%F@x0uB14$M>*1R?zI5F+)=>zWh;78`G-S49n;o-&E~Zj7Tb$K zwjWggSyXHYB621vw$gmx&*IP4iLhL|q}&@?J>Y*z&r8i$?eI-+o$C^UFIH3kUB_#H`!rmT@5hNms9yP-6kfYWgA zDX)ab09pMrQy}z~z~`}Q^D+^uVXUQ;Q9wz76ve6dT=zyide@Wn@hd-v6uiRe9XxdZ z2YA%25todADu8p0}glAw*L1W7y~XafcWA1c(;@4{p~&1VZ&FV zVKc8<&iInJg+0Q?MTA9BvT3iKDdN75eTCQKQ%CbuM8e929+FgC0mn9REB+eDUhCVG zoxLXcB)x$FPu1-8vUGj3!6L=nsfr38tc<4sQjn>NPh85cksf0_mKIPNJP2r!gG!kv?vP;SP=En-{TVr|@n$K-w7~*3 z!qjttLY1dMcn?1xGh0&91-FsK`MVqrJCOP$3H2cUH#`v6roDti(KuDj6r{c4STH;vM|7_>2ne?aAwF*Su-|aH_ijB~K z*`*fR9zgY3tI$OPCq-CJLf&xQ zyb*XXvmx&j`TCymt}{-z8WE%p?qCBN&K`c15N!3P?bdC|b9~q}{N%N{b&Ycq`!fV*Jo2?>?KcaPG_2 z+yA`D{Pz+30PTaR#mOo6&t95(d%y}LR!|%6X~_D^2Ccy(u@uPSVp@zW57|*}yQdtH zO}%2kQ^ou_*01jw&2E;3m8=pc>p-y)Wu~j2)V=09`ka<+-b+>68E5E!N#V$U)Z=M8 zJb(H-Q?|}+U%4h{A;o(f=g+*2ZWGVg-^V6L#F;$sWz)@S1+=uRjB=m_Za^uX?_a0a-4zA& zys-!$Z%35NEOgX#Z%Cr~VAHCZtbS^%dJ*fI;T)DLE z?tMq=%rT^J;{9YF!Wz(0@^Tf(tf)!?u=Mn)0-U)n% zm*s-)KSYD}%I2#hx8VGJwc@LSX*q$XMZ zVYcRTHY5b&@p`7(`r0U3!6j1}?e#ezD>^n?LD0ufE>@?3cIy~%)|qqR-6JR;=1CaP z)_eY7_^2rV`W;W95nOmUz&%7m^4OGDyIItm9e_afNB2ZyBXs2kmA|{OOU0WNGiq%r z61{F!)tL@>N$j!i(*m0c`LiSJHjn>%XVk#)MIdN?5Ipw$HD5HX#jm5|V52YQNZXfi zq@QW`c{c7HCc02!lJ5$g9RTOrTx3AWVBUjuxoMWt6 zxxSsmo^{6ULly}8w;QTkBcg}?4!ZndQ?&8EM?THWb&|L-6>(}TupP`bx61oF{josq zT7iOj@V6&R@Q6_2%Kq#AgmkT7k#YJbv|pKuo=+mVlWZcsEWL|i%7z=?R}EVjAxng( zgkPv{AAarmVEGsi4w+h@^@iWuE$PL!MKm|>xMj0r#wpE?OGTjdXkqn3MKb2PXk6C@RAF(c`o;btRj+D^4I8%_%AM=17 zuT7Ez%dW`^&ry+yr%yJQCn#RtDneekt|R?3=^M4DzBfM%_Xfg_-yG+Vm~w*BA9(u{ zyn4xqP7-x7Qx|o8Txg@{vAyBRM=$Izc>D{=$fvccM(WEoVng!&o^d~uwC)p5GO7@r zDOgdB?(=+U(P?Pwpz;g36si0yYHqEdE0|UIgeY)R6rC!Z zNXs}y&~f37r~O>p(2^mr&qJ)2RmMb!wO3oMcX}@H-HFScZWZ{RyB619k@(yF%47P^ zz@fs6*Ga?F5ZQ*@(Ctwnm7NW_Gvg4yhH$u{Y=q`*yPs-*>|* zy6J4#bdMJ0(&^ia>`N7Q^>&$(you6B#3vqTjM#7%$T_&NZ)3yGjO@=#*&pRM~ zKAWO9M==wFSLr;)9yPPELK!27uj=#k9}q{nWv(g)I2y~HY9i%2cOsfx^p8LYYVE{+ zl7f{J63Q-sRegm~wh9eRemqL%2icgn8OIuHI zb{UT#=-V*Z--zcd?$Fkxv=`Ge&A z^=O{RmvWO9o_Z0K} z&+G(<{Y@9vD6T2qJx&gfE zIfxPI4+l6q9#qw-=$BE2-$}V=YZ)o{J&sQm@(feCQ)_#h8^bXfAOvI^zG9wHs})L$YCXe6FDL09oaR zLr{)gmbW>Hf`c4ies?U9aP4g%8EX{pr2y9Lx0AXA^W>tIS2$^kYeLH_TC(NaoC%J% zbzp>+LNrBDH=D^wR}JqvLY~CfFh6=kxrIu;s1%Il%HbefMz)>Kn1qml14Zb>7O^1C zt223~#l@*OXo1BR$)*T6Dm-8LDbf}2OT15FEJ~z>XKgHv!}8>3Dzk@5t;^{Rj349L zQGQLv_XwOtmUx7%e5o9(+(2Q68+|LFi$`k9l27>G*-L`R8~@KgQ~Kbt4lGIyE$55E zXnr`Y{s#UUDInY}cWyO*S#B!OH~@*>zPStyeNa`B`4>U)ix7cR9X2D)EK{2EQSfUV zV*OdDe^@{n@}4!K1$)qLh=5=fCXl~*{v_^x#04U#F5&ea+o|`PK?@Pz&F1Za5O1z3 z0|Sy1dua{tw{g9C&#f$IZ?KLc(m92lIZ1AqOH)Y@_p+Ee3K;-D-4t6*?(N| z=H7I$o;0F6xDdjh2*BwGm5E{7me%0nj~B-!4{m3ykHzaJ+f{qW&ijhqfH;ycE8mMj zpbE3g*XV{7Fy+;dFy!YvOn*MW8K&l4Y*^v$|Ir}|sSKmI!^b(H)aPQRt7FN`S4M(| zj_s}VF!yAfVca^_uCe%w6P8)w>U7sZc}=J>=}4r$5pT_UHj=i1-Q#lb&FKDCHHqPy z2Nl(PU_a9A@0ZcX0N?+30Vc|_Q*-k%PP}|B0Jsv-j$k9v(nxkVBX_n>+rTSS>!>ap zU&wFTo*7mTJ6aBjS-t zV*9QC_#v7>H+92_>A7NuMif?YOr}R9zl#+&;&N?A3Cr#JVVH*MM|PFEAwRTo<@;L^ z%tyAONcp&gOJ|eE4f539oO!7F?>2O#tzQu?`12Axlp7pvt?w6Q_#hO{OwKz;MpFLLEC>-{ZFEyejq>MCHE7dR9)E7xqR*@GA^|WnB z`7M?P7t(uj*-Xl?w5}=b8e2v{27az>LrW_P$Im*z)Ags&OX!k^ZKY_kjR#`G%`Yv0 z!3Q=>ReNt8xf98f!H(*B-MnVZr;RnOsNte_bF#4()*O4*MTEwO1CsvA9!31c=_+7G z3^$(e{-kMjj70!!3r0*EaH;KnV~~n$6&klo)-@M6Tu=e)f)ZzKVwEz6(41k_n*-w1 zJ?s(aj6R}#p0{(guOSm;n8|T2d@q#GSnsRfV{4}QbXFWkP*lzgpFYfziVFtalw@xl zLb$0KO`Iu6pADhagr3ii{5lvcPmKLaEPm%LH^*KLekzz4?GikvVqKk1I;){}HaX~` zKvc_12F|Jnj1yKfmGbteaQy%Zlgy0MO;c=`c~cz#%`aryXFt`<#l{@n?7Q>B&scXP z#Uhe2p+rn+z->}(S^E}2^mk`*2I>OQ3^|byg--)4AHKZ%ett~sSZ^aPW_o2WG5R&4 z_x{2kouNV6diKaIA!by=npj&UFqUtanGh#jN})o-v0R{-GOva^V3X~QpM=RAo!q^y z(^YmVd}m!7S7H_V?)PHXL-v*VHTP)QXI258%-c0HfU1^G{!YA0gPbkUz`LDa0N91> zU1T@3@)2}h@`P(Fn7PJ1e)@zi^1HS+q&Jsz>y;&yASM0nOa5{9STCopR1$-J!Tp5| zOOGR|k-JVcBj83AmQ<_~9R9F6mPsea^#i>|HGjV1V_A7zD_<2y7KFp%q$drRn&P(= z2|QTTvZ0y!{q$NkLj9q|z+dcPwykrl^!cL_YwO3D8+~Cb@)&kX7sUnP>)-)X@IW_Q zl~F^zR@c(@Xmep9qG7gp<1-9b$1vtEirTQ|T~l{d`Y*Yhj~oqInC9H@CNW0}K}Gb4 z-Arqyuf9Uu4p`_F?p!@C^JdEwf_+@e&Y-#y{4TtXYBgh-(w~CcXIy`#%`Nf>;#qV@ zaI$E43(J5hu{n9@-^)v z?~^(+y3M6hOWSz4I9qUbKO;?9DbXl@7(>%~m$U3U2Yx}7`QTBGFd zz;ugiiE?)wk=llMoucMrVNTlk4&@6+Y0TxzgB@UC+rQ0C!=Vp=rjC}^m}}Q*88@Ru z>2*vdobiN75bP9*%zVpz0t!<54&l>J=Tw4EUsAAWgJ>7Ow-UWbNY>b@U+=37M7Ln)r zc(!{xeh9puj&6zlx?C%KA?ukMskZ!*M1G0aaz|+*610x+UMeq*T1wH!B2#wACNtc+ zmT~P`7xCG$m|_*vZ;{r_?b1&CK<_m+I*vCBM&W}d2QNYP(}XC2EaDeb$qtD@I~^UY zZH@jKZMH94VD0>eOw*=QZ6htLDO4j-SGCL+C5Tzmy40_oe&P5T%`b(keERR8X$ZmxnV*0OSLs&|}42Qc%4h z3gM~o8OSE zAFjorJshmXNGxAr$V46HwyRPVOj$0YY{Ddk;mz#17MuJ)UeYP2;-6hS+m!z2D7|58 z3!TfDNOfWB$^KWlKpi*=SaH0FRE2M>@|;@$9~;O12%#9a1C$+je2`J0q6!E(R4?f` z=V1U~#fnhSaQ{t0DGD$YzLB$L4(LWIU5lpe@bFj2;THC+y9Lklo{uM&mk zYJlMxenEP0NU^yEE2(mnWxuA+`@DFgb2U&B&+R}8z@SAQI~Q_NcTDb%bq)xWN8L^JX?+lL;=uDL1{Ddp>J!aOwWN0osHE4@hbVVP0LVFq(6i%Gd-&LS<4XWE zeT)5!*3s(>?}Q4zo{27maVl_uL+e7U+SuFtSdrSpt5POgw1t`=tERbKt3KbDDPtnP zP1u_w1B();+jZe%1sQ|fndZJo^G#k~nQG-=C3jo&=en4)*)h0bb948#FaGY0^&nGy z`?@CarF~5h{Ue-wMa*FX)`9!+7jnBH!S)hBx=V zQtJLr0w$-wRovz*7XTcjprv(S6N;p@sz^VgGZWGh?r;3?JvY(AylA_kd!zEqlu%Z^KH!SRFkDdG10}_E3{#qS`;SxSfx{gCSk3w5~X2UhwFL zc84E-CbUBPOQ`FZtXOK?LS#-;7^c-o!!}3Yu_2y2XMd~%THkI(&u&f}8*9@jM#`n1 z;WbXcZH02cZQM+x!T|d%9m2D3tuG5N$sMypGC9geVJGE-7K+t)7%xX?Gn<$?I?KD7 z$FR}QM-BR#%6H@&^Fmo(?4=`r_pRLVwM!1S^B{?q6mLWAGU7#1bcY8q@U4zadMC(_ z0-Hgi!ji)3CqwpTt9Ci{HWti}PETBwT3*&WPc_Zb8LJb=mhHB&M+_8vmfhqTiv|Lw zbfP7G#})`ke3w;TU<7e4_KzqK4I0f}`0{EOcIaaIQKh&K(jN%spfUBQt=p!@$+1tQ z1H$p|5r~GLofPzz5}xaQSkxFFzA=q%q-vew%U)3Jd=!%mH=wo=-B9Ai6z0Q{WVO;8 z+9ID4%-cd&^+$@ublR|!ms_NDL9pf-Mjcu;MX7*1Hw+fgktPUrzdJvWC5!rXoI-?0 zOUK|vKpQoG{kF=k=a|~i>?IVw%Wt`4M%?c(MWtt6)u3}>O&ivndI2*r5pC2_Y1z|J z2RRT7cx$%|7;?_7umX>~j?5i8gpXc3x8ipVrSJLNQX(vu5V&exSDEE6)17%RGa&C8=E}`}UPzDg2)!phHVxvslF#nq z^X(FLYDRYqgI_}W*HX!gI_1D#{AM4Rp*mu6+0w9JI=vy7-4cF~nGC@{jODir2s{Ct zSYAYGM1|~xUd^grO3B1#Mg7RJLSnDEHCQElrzit@UbYCiPqR7R8tqZ(AJm+td`3!} zLR*G++ip7$H8!lNxjI)C)1JH|=rBa3gt-Ir^%In(G`k0&4NsvNu}>ZPKB`ROqyL6O zoH#CfzDu_1wIG5|uU!@_< zuW6O@>sEiGMsUL>){pt6TfeJa@ifZ`ecYiP;ZM}B3 zRw|`Ll8S)xOX8EV853})|I2aobKd-ucH*EHbMNR+vy70pHa>Tcu(x01FWm9Dwb;2q zhwjGl!#g|5D4JHq21iGNyEVWL)B-N};WT=WD`UNrcEl(AJ!i|uDipk?1nyGF9q^T# zdo5<3(mfCD{I|I0X(52R~!Oirks@9u17hHt- zw|6JRrEcen{&gpts(MH79J${dGahJP4W1t}M0GIeD#T=2g=lxFPvKXEN)CY)7_)$; zlztx7?+_nl9R}Y`d4n6jT)0brqA7D^RJ0>w6KLGGC$T~0*l1ye0PSY$wa+crNnj#Q>!$-{0=&|e$}yXrbLFWH<1+PB9Ps6k@4|o|6NaoTa>jeu zX6|3#MUIeHHf`TOH=sJDlYh2ky03Uc#T|Qyr|Ca@sZ=Gewf+FD7_j1|X9x7akiIx* zo^#)Gc>a35-M#$G`i{;2($4UlreQT48+iUGmj+N2t+O;dGIBw(n7|@m9_lcGx#Y3( zX63WV=(!^7CdeukCR+UA#cr%}BUkIp+o5zX23Wa>hpwkTrr;T^wd%unU9R3`EuoCJ zunt$rjKjs&r^S!qDfALs^0pjHalP7UzT3YaXiLZDL8?8zyEw3 zy+yj^&zT#+W}gLy)r02@2hg>8s&MQUWyeT5h6^d+h!&wF=5=4z*|=;}6~!aew_WRe z#xblD^SGo-+cb1)KVzJQC(mYr%W-7>4LYRlLP5?I|FRJ2B;b4X^ur8d@RuVOKG4Pa zp2g}!%`iRV4$bRibzYs%6)QAV!T?6RP6 z^(_`(r?CwHafhb%7&p8+;|{iRH)(O=iyx%GD2^~9FIHm^_0kSLQDkV%Wl;6=;lDH~ z(XUKv8aZ|lO`ViyITrXlibjWfv_5ghu|^l#tU5`a7xKF^UoigWLYsxkzVo(<`D2S^ zh)0>3dmIR*pT2lGHld-{tdi)RRAUs;-P-nnz|4^Nnmv!;x%YJ4zQDAJlXe$h0($4g z5z$ll6fBo*FYoum{?{^}xEy;(f9%?*H2N0h=y!#Ya5qDE0SU-@%nuqIB=Q`v9hRXe z2>4w};>iG$1=hhOVbywDxijzJo+%rR0+SapgnVgX<9pGmBqe)3_ooa;41SYH4)bkx zaYS?y9AALERBZaaM64;_T8fVKZfLu5gRg`5zD7gwU+drF_9+!l%($5`ZR=y%{z?z%IGy{3?vG(Q4Jg0<7xM!gl2P}9YG+JU#JrF%>gO!z5QK3eQE+Oh<<#6&6 zE#qp6>07ogZjh6KKLy+PmZfz18|iX}!qoney1*{4!wfo7A0+i%v}v&#{%)J<%G{gg z^lNFTn@TA&R5P;lYnTL+PYQZaQNqW5XY$hD82vVh_XceQdaJGRDmbKI!8wvgJTen7 zS?xgyKyZ8h)8_z`y3zeUE0Pus%Q8+9ZRA5n%*>4R{M&^CHH7}T(%T&z9o6ek&$52r z8J(bYYB+{4<5l?5Hx!U}F zE!n!f{Vav?VX`!`VQb)3aBiy=3M%kMV)cr)HMb4XfiFv@*O9fnNNujlP($Y6VHH89 zwBP$a#N#A;s%K5}^qG^T;FCYkH3pTibD34=n-5hB2Za@hnyjXE57aVfl&?up;mR1{ zR#36dE;!Fc0C<5q5p+nUYj&f|$_P)FBd>ia1oM`&&6D2y5+EHoB;9OHsaM2;DvGuw zjgeSwoio%Rb+sNs5o-HW7dry1G`n<@uVnE^+`NJ9cxFVgC%(F%NX2HR!j zuZERk2-;)>7&Dmqk9@Km9AQy5P&uS?zymd{ve*+5_ z(0y30iV&j9ln}=SX?1->c$!s8GrzohQZD#BOz1fg;qsclRrufUz3E#D*NXek5R)?$ zG6RS^f#Hh=moG@1aAd(h`IWC|lb^%u-58t}%)b?e_$4W7+2L8A_`@MX{X<&w{Y@8SBSN|p&J}7ZB z^Ppc6$9CM~J$$1fYZN{@i7{Mp8%-XHAs7yFdCRcZx9M-8Ly4FqHa{B-1Uw#v%~Gon zzoLmF!P?R%hoOldbBON86aVIwPj8*%J6RQ-KO8rz?npI09gM)-y3>?Q!5Kr2l!`5= z$tUROTj3@%nG1~Zd>YBPYV+(k`)Ybq@g3EQLpMt~4;UpzCU-{urtW7kg(CY+EXd8m zbEB4*2B$zrVCu)M>YL#lh za+<5)aQf{$`^?Tc^w4rIslQIdZ0)9W>ov4fS~&@El8Gkk7@`Sw%9oYB4-bhf>aeUgL@Md+xOX`POoK}01glq zYl>rxRlsIYx;LhR*{ZtmSx_OX*aRBj;v4s$NGz;*ZhJ^+@ciUABhn@*T1iP&5$n|? z^Mgfr4BuIh+-VYv!!5dg(KYI7br4r05>grx1a@OeajTP%Q$;0>t76?z-hGSFI0`EK z3m`cVxfHePyU=Sc{&yBJk8x-l&wWP-NKWygJC5#U`sz}_QDXxJ^I!2oGn5thtN3$k z+q^uizXw(JHQ5S(?gMsQh~Rx@U%I#X(gOU(z-}|Nd*QeW#nkZ$0Aa`ds#kRj1-A}* zuRa^TQ1SM>{A+x==w1{Xv<_tC`QxltMlsDbdkFP)dQ7`5GCL>lB-anFUiqLVZpD7@ z+q$u9@;u!)5ba-!^>Ji_3!voC)JWT|}unJt$L}`xwA>|6K4~ zV<{H&BUxQDOM|v&$^~6QAB|>x>T47qs*tiCLi4Lpl#BMbrM+nsHSSmjwPg|)sHV<> zTui%20$Q!^2T0{^>X-g?@KFNr?WAkpo5bp+8hTdo`l~oa{i!yRln=yaptc? zhgS41JR&2(Nu0qnRd}=p*YiWdIlHBK)K|SD`+X;@pvFZT&SDeD5nY<<^S+O8+=iym z%wb2{Rqhb@`ILP2PSFW&v`tVHW7&F>Jrb!6;&5dkj$A`g)&5xGN={k*AxyiIfHoN3 zd%N_V|M2>O!#`8ThUjrK!OG{U11o2+Xw(W0r+*icoWf+G@R5F80ef4v(P^aG zS+IMfCBF5y0?o zC9m^O4)6LFUx8I|4&Ge$`$Di}NHYK4;ON&#xP9oxejtRyPU|Axp7sp>OC7#K;7uY_ zd12if8@F2%otV~MWn1Yghr^z;^Z`yB-6N(+SA+p$yC^X_;-ftZd5fdrh~Q;R*AXuN zMa7FArjLF?D|pollrLombWbg|JzW2Fz+VFO`Vth5t>kI*uJkQpG6RqJE|C+H*kr@S& zKYul&kghJ99o&zvB9i-_VR2Y-IFa6@WE2_nBa=ryZ>9)?@lViUi^t|lD_L$1xBqn; zWz>ZU`KuNgaMcI~1ETsP&u6kc8=v1fXwa^L_i4&Fvqm>$I=CHqN@@Hk`AD(2&py{` zV9fcOhqCvr+;9+Y*WOsf2^Q$D6yT6e#T74 zKa4UPK9;#5AuSFEsVw3ous+427Vik^oFPO9FNvO#+$K)+f@g%K!(W#3ei@8*g{=Kh zmAbk_j_Ry{+r-&KMxDIRt#{Stx)sOs0vD!oreVzWXoa8eHW-6(1Ad64b=xe#!5MOI z9~ayQdkoWjvgp!-U#QFR2FS-U>rU#7Jo-?aly0sMyV5;WuT6y1q=EU|#k=M05fo@) zTXjlmoS(F38H3V?p&FKN9&MSHcsoRJnp(NXGGF0zYmgq&f)?st*ozg^Y6`w=Z3j%J zDBt*t=o<3Y3$@VQdm*Eqsc|`%{mk;@CjA~paUAs1Ry#xx8j30pxgf%POM_wWRQ`__ zAW_}1PWLZT0DY4gzB=PZc-SSgh=y3qfb_ZF6#aql`dw5JIBUdWv=Uwv^^>!;QMNm6 z7a~$NYF_g6Y0$4^G0@IW@F2m$Nf-PnaFpDGIeazN! zCu`Hw?LJuG&S*42c^Mb6HO?k4T0$F=OAqG_u7|R)4Gj?(NcZfftgkVUW$MV zYP7K?@0rh_M)x7QATc*~$|#M3Qb;XZt9g&qXpG0LX?Ke>uK1-}@&@HEm!?A!mMf|Q zD&4EcWFrV+Hi~>qoY|$1xpv$t)|~v)V2r@?RvCrgO05KyHDeLyt6GwMM8A%JJ${|( zAElfC@B0X!H?-$8tN2F)?X>5z;3B`Vz)U|^y<5?m!5Vp2`pWzD)(L5zgTBI;Hj3MY zKf2y5ztc`KdxB-TP_>&8JEBi#Tf%OdY4UL)LG0SnitZS>>ambJL-2ffo^70}83`WV zPNpgG+$I@DjkUNLHJN@rYTju5eacNK={x*S{7l)9iDGg2^W7(46*<7d=JeCfL{pL+ z@JDfbAi{v1tdnIvqN{al$!d^?`4EYxVam1@6BH)_S2Ppa_da^G(2gA)da(KKq+;~i zh#AY&S!+_^K{#kfaZ3Eh51{`Kw(1E)V@XMHPL&ofD0112F}5ZUhqw}tNZ5sMS0`@^ zT{M(a2OXij3q@=AG|%KU*EHok1LMTE!-D8Ha1Hbwi+2Y9<*RjeVDhQ*Qx!rDm+acf z!8!UL2n)_HCQH6#3wForB2DgKBh)Q3c1q~E%WE~1gx0gCs!@!mDKq&d`9x54y0UHc zjtyPs@h`1rEEsF|a_^G_=Il-{2Pe}V+UZ-KuPNKM01|RyFs&CxPY{q9Mh^8V3gL)r zRElr37Hf^aX9Xca><@8P6&MXLa7Lu+q<6Kd|Ev&@>W^X0+A1AadSsaXV=7QZjgT39 zeeN^NqkUzoaNn9R!lq~nQjm#&kTj{}yM75>C7tGoOL6z}QE!qoeA-;y_MqqI5UyNP zE=2otNFHqR(ylkyFYf@776}#^)LDaz4%+3CvX1AOIWp@t_4_|0d;>v_iRfgC2@KP)~L#i_)3*pFgWNzQ}D z?q{tWkl!Sa_lix+$2RErRQ#I~D4m%rkjHii@x%I+hr}8=8H3oc z0nIyw_WI}c>0mpYL-+uqJ(T~6)I zsShYm@Y*GQF~|xzP`3NeNU`ase!aj==w-Ik6A_V-=#;6At=G&M0U^(?Ph}$<@!VJl zsEpXIoB&OpQ~PR5fVHs^+Ey)WX1kXBv0%6@{zd)75B*yK8iu+|QJ2~Tkok6`1o-yhN@1T%ZB)xmOn@v@;Dz{Vk0kPB z$zN-(b+WVJRjHGX5?k$N`BC^l1AQ@&;f??B+Qb%fINa zEeSggH(Q64W0Ixx{Nav&L1U+$bpJzMwHxPF&5d9-9$Q35%z8@XZwl1Ppz%(QtTq}W zhW8z~Tt(crZwo<0dv9VwM$CRJdY!yHuqoO*%H7z6!RaEr@2hcCsH;iLy)yOOuk@JT z-ks>~!Vn!%NrxUI)ODqXT-}g2v0v~>E(RUlYM82b`D5~V9aWw}bT5wq_9u+Sov0UvY|*1^2f z&tAP*8zKD2nPMlQt!xI%La_rr*hi+H!X8fDMah$~&jqrh*E{o&hx#8P3(uv=7tKUn0!j zzpfKid4L^9s-hf-;>^vwFi8vBi#TL6{Em^eH)0Is3R}JpKWe5lRX zoc$JEIqazT^~rc&&7wl}>QlxF;4WDIVsPse`{0pa8mtYRU`3;xGQVmV4r??5Y5c|G zf@R2jKlkqGYf;f|hTuwc5s0%m<o9`4L2dvk18mm9+@u=WZk*TIMH zdU-@R0KdSIc@3M+$n^>!nE%qtaHtk)wXb-Xa+I~je7dEn>Kw*}xn<2BHyM3NqkNH~h;?#kt zDq^(XhKBosy)x~5BL;nZME&G?9?p3!461MS>!7CoDx5Abh?RtAHSm`ms!I2i&pBgc z$mGX17=!B?tJSJ^U)r2Y17k|sP6frDRwnBmK0&EeHQ(Ad9xuq_tWx%RQWx;JMQyhw z_q7OuFH%)m;^iT?&>5~*;Ll^z@p$ge%L-X_^qe!8|L87E!aO+^QB=RBiio}6=!w5v z7U^~X96FK7a3Z6np@5AQZgfdn2+0l@)BDo-?0yWFO(8JonEN%n_jSz~U(A+m^$1Xl zg8FX$I%G=d-{(2Db9Q6!gy;LMhF3wTpEn+>yr%$bk}SZ3u>N^HM=p6r8%_*bMIK6Z z-(%}Bu{|`AP#5o%Wn0}TH-`GZG zQpdUGj3GD zwWYc}=h%lg{S57sjWjTGej6~aHI)yVF z&e{%Li;Nr7?hYLLfG9gXV#xAc=qo&REm+6g@ZI`&@r5k9|CUlSRpu|;W}Sd1BX7VZ z*@{D^=YgkGJ5Kc4sx4QS{75f}kE4GGq}l7WnT)KbPjLq_XF0IlXD8pVDIlbh{BEC! zlR{S)4mCy`IRW2*|G#j|2n&Kb1JhwFDuw zRbYbbduXz2wC3pbsdBV*ldf9XHQnowdk)qQ3l;QeKfy!vX9H-^yOk!$fbcFDy{=WB zb{;%noSy(e6d?Q%-B(%3)-TvbV>Jl|EizUT1zpdc35)QzhDDc~MBXm^OyC$_!2uN} z?q8L43jC|G%-3SC3025S=+=tS%MW21l(`G7vTwqptKhP(!pzpibbD``l6;e;_WT#l z^lhRkk{({jp=P_DHrNC!W(~_4kVeoRJtY;*d<267r${Wpq-Tyg<1^nAy?CMBeCCQ>V5zHXXtAiDYzSp^caqArETNXVs zQHNC<<0z&oW{;(Qrv2_OpIMcN`;PDQ3Dz{GV6W1vQm{~-h;|sWV>73; zTZb(K)ji{G{^I06r8`2u56yFS4%UHe2Nm>WD^4(@4s(XNSKtl}{(Ju(>zdo`oa@mW z7pr74)*~2F+=XTxhv7<_C_mshiq7{h_;YVd=Wl_H!iUYXxGtZ>saOe!VY12*SR%kN z5Zq5-WdD<3xp;|1PkgM)aX7i1XCCtu%@XOBYr?Jy59oNwHT+SyZn>WCjZ)56PWj%sRn(fusGzrBFP7u`K~j~ zU~$^vn}v>O+qveGwXZBV&dV*Ah4Osj@M~!GnGv+$vBfOw4g0j`=PB8Mk){ znM?MXg^@Gay|f2+9<~N!=~NllGCU>m)5k~Y4dl+o-|k&pK2GN3;%hS2GJXOV#&W0x z+UX~F&;d*1v>#(A`_XXjoegsd#ob> z3!|?)3!O}8N<=|MZ-GTc-UZ_>NKQpo7<% zX9a}&+A`MI0xhj{x#!t83Xe?xzf8s0``NP9gNbg#-8ATW<1F7fG|BYZ>V(XJDb_~X zwIzEY;DupKk#B_DX77moi0SVo}XJ3mZ2PXU@=d|sD8v<5It~kKt@_oh&zB=Dl9~@jK zfUqLzOIkJ8sIgDoJ*Tk3bo#vA78Vnt-_J!#L5nTyoxyf?l?|Y#D-#XUoNLEzj z;oBMWTgj1}*TIdpUbPa$idwesd}gRKSl4#zC17Ey!4GJVd|A$H<|#3x76N2KchIhzWP6!YV~gJTQBOb{mX{5 zlaAK>`Q!gJrRLxN(@}o^F3-U+FRwpZ$5r=dv#O)BW=wvRXJ?+)6{`DmJ^b5|^CiKkW5p5itrY)L9 zowuqX8Oyfm0@6O2i~fagDydzBH!viJSTI)UX$;K%Cw*^6`Q|gVUHYm~5m03lxF12F z&O4twzG##2Z-;SL)AWBEqz}H$*j+rM$V|H$9@m&P3_aV7ov&T2k>BBxmR7Aizt9DF zz4)s_`5Ks6JV((MFGW}R7MwVG{wrEEqrWGjU$9UAoC;nUDgTw8kXbYdeKXH3AJ=WQ z)i#-)*#B5ebU)5H0X3D2U+4=TI@_Grg3Wh7(@91r4h-jg_31;`M$h0}cMdfGSEkLY zf?418RE)XrQuup3pIXky)lX!U_50&E)qlc4_9E*)oaMQOi!BG>*84D%^g)ee8~C{3 z>Ypt3^fB#PuC7S2_I|4`jb$z|E}(9CxH>P-?ny=&pONAq_9Sv;zzG_pA2QT@Pp)R? z=Ipp4(JBM?>Fu6hb(~8cWiZWU!LNFV;eGa@PFcENRc2>kGe~ny!GMq1ve8q3Z6un` zJqWC?lWDnT%d3GQ8ACzHyTvPKp$i9IMW=2?QAQmlsjg}u8$gu)a-M|`!42QO&wMnjz^$H^V?v_J zbFcGmUP&f)@zda5gMz6dKu?&4J!`@25&m0UWW3Kx;>xGc#Z@x4IkwDv?WD}B0S#m| zRSjJW;wUkq=vsdP7#dJbz$Lh~f-3K8`g!hV&w)ql+1Kv1MR!C$>O79!^Bw&yIbtmt zYUon=R_*xRaYTgDSJ&r#_c;(UY8G4whYct>SWi&PJ%@#EmUAt~s=8n(ERAT~3#&s{g z2=vci6Jartzz@%s*Y$fY;C$EDQoqszqKWZo_bs+c^xON{yf4bzWl|pk(S3NYy?NDu zCP)le(PQB!KOcR*Qc7yVYf$=t*0xOegFSWsmv{f$`*(l!7yt8E7XN`SB@@qsvY>5ukRh6OUP)FE$~@;Z(hw~BJ-m1$kDmXUVs zYawW}Is)?>hjk+_FLQ>Hf-A5^sXZc{oj3Q?KHOL*^&&!v>;C%eA-XR{`GX_D?x@XX z>&xUk8waJ#wwby#y@g;G!ZMWb85ovXi=fi4a|&Fm>`LSGg>VUO{nG(+W0LQF*T9)< z)f)S&Y$cFLMONeBV}me}T%HlH#hFyMk{`944To29;B1*}r%$a9R$8qZlej ztDjTCD~B`>P4ztvk@>GOCHVCo?9l-YSTH}0(|J|rgpb-+42P|3vG(QN+q`cZUhCXm zbV&8zLr0Xx&tQoIYT|v-DL9(0*YSrZr^Gx4q&ZTwa`r)G^`GMebFf)OciQnTZDmQP zt@`^SQ)6iNY3A;wNlVCl*EK3iyq~j~1I<^CX`h|l;f&319a6*Sa>lhNT4oqgFze8> z8pIeM#_!3ZYr)Z})`rusE(<=hX#X_x_KE3rGKF(3v*DfTSNr?ajss)(tJCht{h#Ky z#&lLF8Cn_8GGvfXXUclwH-zXqQ1U`<|M*By!1VUJSZ5C5r9D6>a^F*Jdq@u@^;+P= z7iW*49AV8f>%e^Xf^VIRcvh{=7kxeDn5I`V&`E*T~!5yRU&*euZ+6_k1k z4DCs+vwmdz*loUMBPaoaV83Of?4!iE)w9ke*;&X$z_Ij*9Y|-FOT#HSPcVczOndNr zt(|)ikFuXbT+<=?I(nn02-mIea|f$=8>$4&;6?DJ8RFD@^I8-Y4kVTpwpseNKY4nH=8Td(LF8x$#V4(RLYipCHu? z;S;Vs&%$CFM+dCFC|woIv~$a{EE$%=tuaX8r9UAM`ibwXpP4U>8cc`-G>xqRj6?7z zUBnnUJA*Y@{h9xc>_vyb0)9pn55I6Sy7i_|sdGKhtx=;e0sP}Jpp}+c(UcJyWT~!f za7V$7%s2C^OaMO&RULZ=gc>*~c}#=db`Y@wN0HN>wrxJ?+T?YTaUvhUitYsPofAiZ zPr&G8vbm57zPw%? z_Lsa_zx&(*(~0d~-~yr@`3#*r!>l<)Lo(+3=89DZ(_TRpmTcqChs+)wW@2ls$QoT= z`h&i_N_AY%W!9k436g*5C-`XFR%a!^qL%O9|1a;~{q^tuyLUhR^q;D$9wOukiE2{D z`YiNj(2Zi0=zW&aBB*)ark{`E(=9k(4I~(0ob9IzZ7f2Fm}`s?>@I*AONv!dcQ%pO zC|rjhLI$ilJvj1eGdILJy9fo&X8p7Hc|T<4&e%-gXlmvh9MP8-F=zPe7%b2^9Xxp5 zeGg%vX4*Sf!HlDs!>nR3oI{laixu=P5Oc+^Unl`jqB*zW8otw6u9FlHrdER$+s` z%X5KsqkdK%%m0r#YJNAbhL+4b{agxR`vK3zi`s-waTq@*SAeC@7b~?`mOnes%mLk#SKyV;2nKr5H0(D|3dZm|^Ed2194*E_ z9&6}0Z6De4OW&M>uDZA19Iz?Kos@u1U`2sFKyj*_xBeC#$Ti zc=<|3*AKLHpy!L6F}0JSl|>mgul#HAz<6{9nx$m%YG<@c)8BlUnlt8^I?Jv5L~E)& zc+@M%L@%{#ah7w^&8!YqWHp@c&7zPbWM4dOe)6TIV~nFo5<((+_=X870p zK+}#k0@B8s*M7kjJ-O>|){CwmF}m1aOatqBI|uHvWs!9hY;w*+62t19zA_U!xs9vO zG@kmk)3{~l-1l{0j(%^pR*s2I72a19sjYbC!b>yK0t7JV&lyxzU-%3IuSGpPsyyh^ zf-QIE2lKq-gMbpovtN1G%8btIWZsii0!v;*dZ^--k8f$Vae7L%!%xxwo56*5O3T0j zldAed;LbICFyTM_nMhe86Qt55=AS?GLU|<%-i~wNUz$K4UoVNxU)P!l({_zWV4`$p z{LBT!dCX=vDVNV$%`m{0L;0eE_sjtRKue`f93*usn$3M3g4F<(14VxR*vfVC?C@tu z(_DDu9G~!`!GVvu*V?Z{vh28GC4mH-yWpJrdF5XdKJdJw01vJJ03ZNKL_t*GtPO0O zHqh4-(dl3PXijFY5JPpmMQgZ zdmXstP%Zs}Q%Dk;rqXmPnM6nFPx`GhZFts3(%x>#YUI9$dUAdTcCz&g@4JTf5`p=Q zpTZ-$50B-(#@aau=i&3!NlRE0Sbc^*%j8WsW*t5I?St%ja6*=DKCt?I;jY-@O(%dd z>ol?Er5Udab;0%rkt%}?0^wjX@oj`huJR^`41*`!mOMNiNYe%R6g;a-mS@4x*o28;i- zod6L%`@0`bn+(M3{mp_TN&-f87$HpKg>MlKabifWL3b&@BB#ot{X{v5`9IG>@I2rs z=&tL%4vfa6}<2p2O5~D7vQ@ym`^IQyz!Eiwty%0~_J<MT+rKcBXH}uHsob1Q+l}9h}0FcBRWJe}S`X z1zF>*{FFYxNe*dSV?px^POA`mP)p|_zGguwy~QiX0rP60F~Z|DP&z;OM*j(q@Z80N z_jAi@)f;M?X9d58>g(`oz|w!^L2z_Fy52FX7Xs^TfPk0sarv%t6tL&{J@p(uy~jJe z>I2sTJDK#%9hwSnkyrJnXMbh1^}b+AzctdT|Mqte7`$+M%j)z`Sv!urgQxoA&@~N{ zRR+g*?h8ZrDakEoR4L<6nKRgo9`mWe$=u@P8rOb@v;XXr$2p%qJ`GOP7v+(+tO^zy zx$VXMel?lhbNcgZ(==3QDi)42?DNP+oM-7a893rKed_trTI_CzvyNMhw9?Kz-D$vOz~s}vbLnqbf!JT{~8;8TEyTYULt&0!49HB-yl2ADYT3F^%SsjP_e>k_O-?2e2Dc##oUw6w2$gzv&?Yj3{5TWI+@f>6ms$7> z{b?8e7mtfCqKAD5TlB4XCp=9lu<(*Y8-XbdYyP#->VShl_V<0|pd6CS!@(uZInH9% zI#dzug=0Is;Kr;F9=1cu^;7^{7Q5R*sPI?jRU8-h+i76vL1lug?CLM>$BtsyW@)R3 z>nuwiPav*Ah68u(Xf=s0BJhR0x}wB#CtCC^4$WF7=mKov+2Ge(G7M+8S2*}496HnJ z^CASN?L(YLp6O)m1nYmy6EIF-aM{aIL}1`^@IW9@V^7eN3I=F=0#nZZ=kMyb=WKY3 zjQ}Y#&8N=3h%*I_0swqE@JX-l;gaPgOR;g0j4XVkxx-Qp9=RH*cos6UE)qh2b*V3^&d> zbgwRnEbwgkq%=Q4SIesA;4bMqydj?WIBoR`RL+?Z9)-`&7x}!_n07BbQw?IgEDw;` z&YT5$?(G(o>-Al_xp^~Gr5)ws*i((}(@1PB5q&@V)6=4jnPdI~IDr8jBcCd|1$5ai z-aYd)6AvYLB;0C_v@zZdLHS3|fBi2f65$9Ql<0!wiSb8&>Psj7_OxP8c>C&@^zE$7 z8a?eJ5x6eo`?+lccW`m;t54yo0Sa}P1G+k2Ux}k$*aM$n*QI@5YH=BdnfDY2ZpO*n z9@))%z88+WP!^|)d!gsT&uV~cQMv;#HGsN+BH)LyO^Ct}+;*C1rI4erV_-G{7I^8q z5)~W(LpoBXRVP1hbwgpz&>f?2FelMLK?;%R<~K+F&tg2km;S}S3>8tWNwvrp3SbSgn&b1h|YXHo(C`9+KA2F)n8MRNa zhDFvv1()Gpd_Xq+ERIXlYP8OGf7_tAvjA(9)UaW()fjeW>IkjIz2{Klh=EJ@;7fBr zQ3l@m{#jYz;=Tci=z=;{1jx!0`YbPZrDK8CN#J_-b^71ZdEr{1h?eD{Mx^y@>Ehsl z51=bPLkEmrjVlb)agXfa2>Jj!{qKj&Wlv9MF5%n7xw7GUk9YcLaBb$+J*w-REc|kU zr!ao_ojHX@%@Si&16t^(gSl|px_r1a+a+f*gq-cQV`Brc>eddedF349lT++txKl0~ zI2=&0-f0%?-q+RuMEBBmoReJ@JkwkO-BgkE^)+4B_W+@Bm>$&wGGOZ9G1oZfx8A~0 zGY*wlx+$Y<+R9fw76c#seM8ebe0d;pt<*s{i1j7PWDViS+mc+!o@i@2) z{-MyfJCYJ>i>eV|4q2GtkaD`?Qyk!mm2F7BR0{?yc_QxFXlqgUeX457+Ubjoa>C{S~rlwQu9; z;L$IVO^pT4vjjctmuj`@YR~bmFj#xCIxB0LD+(^-x^kSk7CDR!(IcDa0-p-+!{rQv z5BiFnl>V#}gFVSt>?S+bIiXyA!qaiA&^N|&x0C$x{s#xElJzw$>TCw(=(Eym`VYM3 z*W++&4#&YX57HMr+SS5LPS#f1`^v1E7wp(lMlQ!u&JzgGJ^h<48oc*7yrQ>6?BZit zCJ1wl>7_5i(a)?er9CrkKjHDM(HM+ zEe|HZR-OQPktuY$v7z%~zMH-YGLtEmJV-ax1`U5zZ&_pvckHF-RuVhMR^|FG2H&MuZ~=#2ZJ~Ocsp8LJ znfz6dDhW3o+K=vOksf0)N`b~_b#;H&0&9z+4t5-18f84%3ujm69GI>#^W7&p&$BWl zG1Ok>-)qn<4zc=Px*q4*^A-%k3({jaP;5F(Op8SNN8rmRHywi`ct7)IY!wFUw+<52 z_~E5pbb@klskVZnc+jWz;%2J=V5)t1CQToEmRXI{NAH&|>UaMA>XdYNFEDozX{NvP zE^jQJFBlt4fcEo14p?%Zk)h%@280K!tmiv$MrJzRI^Mzg;-|W%GJ4ISvH;IVm(;>7 zE>^Fl-<%F!W9m`rzp|BJnfh40BK}K&ZTU2M;lt3pcwGbal0)bdek)#gexcR$`6JoR z9+c+i$pC9%kl_^_tL-Gta#wEqU6)e6K6q7NLI{gXlMIfz0!E#3F^gmbnw?3|gDL8WoEH@v~E z%BUXf3AQ%+CBmDHt)nIb2UzL2WR78Po-=foU*N9Jtm7%8P)@N)6N4*z-NBj5%G>#t zP-dR6bohI-gEiVk4;818CX5WoXa*KJ@X74NsBE=Cb*zo7W9&k=w2d{B#s3&?-OJZ< zxSd-{LN_}jx?Z{*!<5t0Z3LNTq_a(H992`!SQX5=r3zG`fH@Ri{|=*_%;w6H=I(XX z2CL=gY$tHjN4cchQX-vF&)e`X{zJrOo`IX}kNJw*ky)Jis`{+4Eoo)>WzKdA9%tKR zT@#*u?i+4ud=Fmi@cC1G2i|bHf^OZH!K?Yf11Eq3t>^4X zpXFY(2wTEy;zMM{GJd|}42gF+} z_TBVL-$Q%r&B|zGBRBw;AjD&wiUR*$-OY1389t@LYroL;H*|I0Grl$p_%j`F6sjD+ zb#zqLJ~q3g&!a=kXD(+pAJq9Z4t=%T57tJd&%g*Wy&hu1Fm>-`-aaD(bXS^3<8f*F zP)54hSRe_mb}0s5<_!cwa}GTfBp{F&9q;WBD)B80k*Vke9u3ZD(=1_R!2);W;Ed<9 zA&`-*UnX;Sz{}G`W+6oDgXL5=oW=H=5O$Aw?-8hQfQ7d~fPD3lz*^?c{N@@bjib~= zBRhm0UqHgyi*K(D#;19&4y|7uDIDGQkJtJx5y!SZ^3wA#mdEw*!6Ew7-isa}2>7V`G5C4(J{>#7kPu~6Vr~m#C`3R1?q+9n0)O9@7dq)fL zSGxrAY2#CNuRaTrX4Zq+3Tchzj=2k{5MX3m5lPybWy?$pV_|@~lGWt-w$&W;ufHp` znJQd=F>}kOFa+bgl1c0$5Jq5OxbPGOx?$E`3}4138aRKfnLeYKS1d7<;0Wwx0`^V_ z<|B-c67^=_DrA>3-hH}oRp!4z7H7ClK;xQ=;9CbNe6aHoe7diPii@<>wU!I+y<5?w z-74QWO^dsWX65Kz2qgf)(d{_jL6Vnfo26m?Z8^DM?mRm$JrkPLsK!Y{lU$|j;g{mM z^MB2P1KUmWj#pl~VGus92q6kj&zINB_i3|u4=nnC?}PW^Oc$E5?W4O|6u!`pK*@!R zI)(%hZXS<}bj*7Jc^EKi)8I?S($w!P`z;&A)q`&f&kIl9xPRbSC=0DN_;K~Y{4QQC z?a(jMS)VE0Ue@UI=)3ZEJ~xnf!{+aluCFmx#9!|k-@s*FAvb+F0AT)eg^b1&Ul?X@ z-O*u?ddBbU)^#6As0k5;Z>Zs~@<}8?{ zV}wT^)I|20HKh)MdBmm9hNXwLHOh}ept*OAT|H*{;8b4tscpff<@eASpo#;}shOh9 zxMMuW(2tJyUdk&|@7cMpd%X&cjIQ8-V2j7>JjI+X#fJ{S;ovDlLazj3cKwLj)dO8W zyQHaoZ6J)uW-5IWwt^!)u^zF6e_SczLz0Yp4)mG8=PzUFvVS}C-@}>=>Kdb>-8%p9 zqEDn=hhG?iz9;Krxo}m7vx)hm`p6QGql2uU@yf4#d^6P0x$-7pr&QKkutP zXt8ZIzrUthA~X?l-b*pU|IX+YpZluA*fQN`t$?5puL>bWGfi8c40*{$_}BVIZ%Fu~ zok|`Xde&*o+O}01=oZt}XH=+a!fV7?60H9p2gQNp;Cgv78N=cozK&DQx|2QJ(J>C} zi032^=HEIIlD(MO)e#w0Y9<=|YmNSUu! zH;8s*v2)O8k`vBmOWEW=J@%yMOq9U8uc{OnOxS00AtDL}{ru@4|FggQfBq|z@VoE+ zoe5L?5AVKy{YPGu)XL2GnXHMv88}P)e7_CwU1Y#Yo^|w@-zbtAO_@2;6snY>XXatf z5T5H9A2^!13|w`()nS=Vh;b}kVw?+aQK2)mH^1y}0$sFpus;gIccV4$c z6UGM(GX_pb{%VvlFX1n^s)E(;p3n_`i$}qm@#!k`*hNB$rFgFtWy~$l`n3{wxpMbL zr(MS^?#myYd-30c>6U-QhIs`O+$hEzXTNj4lnQJSrEdNc{xn}Z8vOM>^KLdZbI`R4 zc=_*Fi))dd2p;U4a}KyQ7c>VBw+MeMZ(Vd*`1IUG4<=EbD{o}XRmh!3l_>i5;_aa~)ens2^D<;8Y&Lnu=M`epubfNX zsy=OSK&88bi)KeCU!Jj=p;lSgX1Bd;r3lMeY5qbV9KiYi4|7?2y5J~qWqxq3v&GS; zAl(^u_1xf#U`SiFh|#5Sntj872Uls!%02(`N=NS>KT-D{B*!biV%Rtn7uwH<%4*F4 zq0Oyd7{~mB!6kTHJ|NE}La&aChj}0JaTr8=yTDNza`F zz7iC`88@Cf2VTEsHjd-({=JpJ{BGyU^YL<&-~#-4veoP-YycvASZm0MJ{>uoAV9dFj*jrE8Tyr~}x&&~hd+5vmrV-z9&=$#G;%PqJ&%x3?mgMwU|Z&0SH@z49(Y zR}dvmxbUnN>IWyg_)x#eS{sRsXQx24(z@abiQ-ibo{wGhI>(9EY8tv)7DX4+8^=jF z3{N(j&TaVBvg_ba^pc*12SSb7b_=7%yPps2`+WNC^ZH!dS0IHBFEZSDK=bJQBcGy| zoy}dJm|KE+w6Q)i8VBD}JK_7Vq}TNDjH_f0jtu_M-_SPlsjGH$FWfSwwc`eCFWAe& z2hRx%kyVWzgO9>rnu{EL$q<35=miVZ%9VfJBz83y`rP0+$QuRha}dJIk!$!^`kGRG zJN1+b!$*2^LrI_;1K`KxTpgs4A7COQYgfAs_lk2fFq~6x`Y5;*l-VhYuP&2yQcT7 z3a>e>Lh?3+U;fF5Kfe2q|LMQ{m;XoDai00z@BXua@V}`;>P$-)!CgX();&@A+HaeP zzbPH1S0#sJM98%Vd%pVcuQQjjUvhagLXr;Ig)}#6&eZo^OveLzE z>6w1$TT>1%tzzk%FaBU2;h{ztk)PtZ_`P|m_e-zRU(a0h0gjv3(??+wP1bnHb1@3I z4*d66dcOFK+!Sx+OL$~<|IXs{qj=`^Tmy`(@LvtimF1haG|o$f1UwX)S&LrskmreP z3--`p;KlI{PxBfuVDNz{BRcGDus(zvu;I;X;L4@4PSo=z_>Xts61?SFodmcxo z$aD`JE!XBWPJ&pP=jU;_$B=~wElawt9ooFqPllG3oVn*c;Le=26c6r*@hjtn?IbCM zv`c1{`6;?iMX_^U2_Ueid!G6<^O0ly zNqhXJ#+i454^BG=PWg^rc4po50@fHSGOl#P2mBa54&I6Nl&3)#S#aTJK>nb8gxA^y z3(fDIIBqB3x}x8mZSbNCsbL4p9tQSfeNcbdPprYGGUJ!NQVqUK8-0yoX8M@d&xx~f z2=$&{Y!dOcCg5z94xf|JXHIRl+y;pF`RCz`4^!dfgNOq6I%qNmz0a5S!JFAsc+G2J z*e|V%F)G28;0~T4ON>jE+6k`e!Wt{#eeJKd!z9Pqd{jfX<)IB~lqPnNBj)CyIMKr4 zEu#q*1P|WFm!L{y)9(}a7LwwKxoJM3$?la6Pheb|wGBkqA}%;XY{&LETP`ox^*Xx^ zSg6zN&(564j3$8S?45>az{6{TGoyAonXv+IqfEw3mhszcx?5X1 z*T~oR+D`Y_u&MOU6=b=Bpru>&FTdf721By^l?TXr##xI)giKrOShi$D1H%<0(6b7{ z>UC`+q28aXezI;wPfzw;v0zEHiP|v1@Z0i#9j(A! z+v(y<^Z;}SF6AU$NgU(x3M$A6kHf;AVh#ORdk#&gMv*M(8KFbJFGtjCMf3@H3r(>% zJf?$wk_!QnwU*zWE9jB_t64C-@a)K5y4L+Tzkf(;Un+yNJefdiP{*cON&h8XSbo0nl<4XSDVKZ?_Pt zV(YZ3!^=r{GW?MV8?}<7IP16HaqGXmzK*YXb)8kOg5VInA9?E*6>x>TMZevNiHB^2 zKFEdk7OA0heir%le>DEl(QCgO({{Y)Pg}^o8GQV1eoN}4zxc*O9;-{jmY_FS&?=2B zFRwG(d01T0%USzQMTWqZEO!kG3n*a9_)-q{_`-`}u1fGy>1(Vt?#`w=pX%elFWyF; zb8wv1LK?mQ`k(*rfBVP(mcBwMfBgQt|8p+`w$`h$sVay_75F+rVP^Kylj)K%P%pUBRIrcR3jy>0#&ApBI6EaEP!RF(7 z@BlDn>ca7I4-Hg22o}Ml%&AJZ)n@)}5TWJwdM}PQQ^|abkHQxm7tb*~Hxj?VN4e>Kl`QlTF0|*l@I?ugwtBYw*1pPj zg{6wKN@BIrHOIo$%y6AOf;;L+4&UH_MI?06eSilY*lrSBy(2$Ja6*_2dze{ zjv5ngwZ>bYug|ky?=8dXJPwx!ddY3ax(x2E|6F#i_s?T;8D5|7Upac$lj(siYpRc1 zcVK+jnhpBut@EAr-GT{68Y3>w{x8Ch{BCFf03ZNKL_t)4=UWUXCfm=ReWHGJ={T(x z2^@1x*qX@EpF#)5iHsyU(B_9*#;2BW!pAvRZ(5_X6yK4xS zjz+%ie2NS)=xpP<{Ik#MIor2FE{;Yr9?-_ly^Vg&%@_u8ELjd?vjCUsu~dv>#)eNkRc`39{qW7dCy1Zm>(fTs7(odt-s3YRhf65 zicH+>`(X%`R1zdWw@Ab^4uX1hSi&dZlX*AJ6^?gsbM8IZJMeo9+hMoD!sbb%VtL3o zl!=u2S1@_^d|%T&a3cpevXKs|w>@_xvlZ(znVbY50*jp@@n7ZW?tfF=>S`oC*dT(N zA}|w&m5jROv^2J340zQQERD$Un9rEYHLe)FWD5=NIF|`F`Q4cV(niFw`nlt@^q^Np zGj8oj|Ka_y&Q;Rw4G=0vwY6eH_Z`C^zLVaJETaQw4ZQe(cQ-wYzu7sxedDB9H#h)- z?pEga$ZjiqGy+PZLqF+W;q1V2aG?D(#`!Of-ByFs6DY%8G9xiZAip40jUT+PP0+I8 zUtpuEXO`YTbB*2P(4H4(SMUZZXU~CgfTIHlUL~`gSp0+_pYroJU16;K3BqTQl7quc=I48t4fuV=qoFmkEU?v2D{AlNY$wR#CN(y-DeOw- z(njDxkI_~V78zEbF?z1P^GN`Lue+*8J*3T=JBFQXdCj!Qq` z4z6yAHL#t}qHMXVB%eI5ZCvOBKGI#WkTCxHS&SVLgIm)3RH%;O($y zCR})qwg}D#|9#i*!3XO;WhHLAlbQLX?V1)HyJ;jGRR|4dpQG*l416_F?kW_+CcIOs zOAv|i0pAsDXE}ve^Jj23n{GWgS$q7J((-@#7N^<#uyAq-ZrJk2*uah6S#+9bxVGRm zK7}iSShV-_S@`P9+9)0vpT|Zo3^6Y%SOT1gduoz&a}^ww^2ZLQtb-9I1IaF zZvstfUqKL+_KzV7ztrFw{-fR3r;6tN@UM+H@ELl0mvLW1H_1U1T-qe?e5xOh8CsQI zZm;7jr5@mHRzACw3;&Ew{fGy5Rt3Eh+0QYA?Nj)wqnNebsz-{z}7I6~8H_nI3VDZ>bsrq@&u5KMLjmkaf_uvm4moAmFz^(q&rVO7r zIP^&gAz2nXKBX5W>zu3IL()!5$ts7vPRsIpG;yA5Z(Ctwj#deoj7f|z%Y`QAb4%m& z_c-K6b;mQf7+LHQQ)HshOKR7=U_dS(+vrKzy-}z>1g}u!3Ep2i*WJuA&Rle5WOvHa zlr@n7XhSYe`4~0OpjnN{c9_pA zy?74aQxd<|P8-LyPqGx@%FiuRzSR^n4a%68(_}c4nT@m4K#J+K+8blEcoF}}s52uI z6fKOtS2-6C3)icn!|Lu_HycT&jNIrE0ytMoR95^%_}$Nob$u#I#{2oHc6k2$L&I{b z9pb#i$kemU6>$)-v8d$8ns)`T6r6$gVtiiPKpEBW?>!Sa+(Cvu+33iDog?pxDM&?CMXnw3ArPwoCz zngsvMlLouG)B&LeCDT^NFz`qIvj>1)Y^8$7Rvvdi5t$F%neVUaG+Ko}?AFd1$rgsT z^zG-2<{MN=^@OtChbPP@9l!cT7#{4?;MwhTUchdeWjl3>t%oL25L<;TYE-#&PGlpv zyRwqgE!q!yI5T2`L%bub!1t~!DoON_$s+-h(#a_4b?nImPNNf9&X9R1bHMEPfDN{7 z#0;dt!U7c#hF7zGyZV~(8Yt#JU?teCr=j)vbhVzI;W)fhpD7Ud-ofvy^Qn2+vxny8 z;vj+ZZ0IPSxuyKklb(tVSt`6VFL{lB*Id6NUNo;sPnUnI=A&nqE{GbvaXIvG?J$$p zf1Oj@W*c+BS9*kJ^4!k2H<1pKepc~CC@5qyaN0Fx%=+UM3dtq_g29>yj{JpGDDPTwrWGUHP}{YMDK&gklY421>g z!+0tb6_iZS#iNByID`%n@M+&t+lfH^c;bOkudxt(>)kM8&Aiptf^BbN#suj}v*Tp_ zG)~sWIb)r&u;PsV9i^`m*Dl9NMxl@4Tx~p3QaouKqo{#vDHe}Wc&LLm6J>GwpbRU4 z?z5S4@IQ_@optGmau_&l0*z-Wom(3L4#1H7EV zDr@5nr)@Il=RG|-$JPlSYuEizx{D{_0b~}Mc`TzL^Bo*aV5Sjk^PB<$>LYt;ln2M~&GCp?udQI8vfRPHO7-ELWS;e0`Y#$ZP;kCe|c2yr}s?R)4aR%Hqso_unKH;#^{XhPgXMcwdfhnu(Qh|>ttNEjpJ6U zNSqXW1{nA6cvR;rA7|y^r@zVG$RIR_x9>c({_1d+UQ`CCzwFkoKkdk?QdHo-?~qwf z>8-|6XG*xJA!}5l>t}+vAQ&Ij*OU1YehT|!Rpg|f_QU6qC;iL1Pob!|Hh#k!3EpJR zk&zmSLbs=kG}*E`wZr{2HVcQxApVylZ5-AKEbOdHbPu9+@p;$FXKu`fQN@SeHLpZR zW<1?JS@=KCUdINWSq_uiiM*x5W}TXBz;OvJlYz8zCw}a;UG_hl8%nncuO2(|NF8W7 z?#8S7f=8>9ZK0PA;J7jr!#*&w^YK{d#t50d)3(<5(-v%^-`$HO4t=uylx`0XAy=kL z^~VHu!VmrvZx&}Ji5nn`*G@a+bG^ z%LLEJ_GZI40#|9Dce89ILB;TzP$*#3CrFDkqooooJHe4mg@(p0ILm8ohSM5uXYE^s z2*R)U+lW|vJ2ot`-gec6^@7^CjDPl@g!3M6L8SjiPJNSN>e(<(@YPnmgE-YPJkF@45dOesFQ!$nx$TW=+-F644Jo ze(~zXcmD0Czxb!3t#IvMeE;x+KRs{!V-{BA^xI)*6TUq))gI2$KOkI!G;4$}gG8G{ zL6k~yh+K%MIFHMyBMOuLC{r!qBa}D`ZOjZ6g))5`X8Kt7mXeF%5XFC)wry7dcHYT- zZ?>azlEF{Mq-SB^v0R`Qj8n&Mv}AF(aWIUw1!0Y;kD&v&T0H8kbjMStDcR*UMr35;0GWoT;nAmf>SQySXf!YZ8VnZE*Xy>01G4%% z&?Pw$?Us|wyAyO+&(~1*h$l!yl!@jKYeM<^{>jG z?;p5QV%Y5PdC$YQ!#Bm&v%wjo0H)-;SBZAz)()|zPLDf|LMX5Q;YWRo0~p6krM`M5 z<&Mk;&bFNO<>OG-kaxS~U7IpB3}bF<6PkmO8hmnAvSvF5luFAvCMS+g0(LU!vi>{p zCwi?3I1%$HpHo@#c_iiVF}AKO$FcIpJe1Iu1yVw)`_E6iDW5duZPaN%H?uu+li(=M z;w%Yobr!16jrId`GNUrMUY*CZzEw>paFE@BV_e(Fk`Jn~c^j;h_SM<-TpB*0BEWil z8>Tj>6X;<5wufMNV{BeWzvB~b1v6#O<=JawCToV_cFSzZrWGz@t?R#yKlB+++vQX{ z12*i%Q<0@)`7<{CjRU7^6O`1Q$mKYd4aQIg@0%gX)%oZVZa&yR&H9zrb|gJlMkm^N z)=4M$XWepXZk|ye;=kgdddav@|LzMMMqjfgQV+~# zbuAg!wVW~_J+ht^I^gL(1J9Dtg_qTD^M8Q>UaxG&Im79SGs_O^hOhG>PE>d&G>vT+ z+I!5~<}=M23^$G7jlSEHdRPOS+ns}$%b7c8p41U*l{w+jc2ZzZxjVFqeoMfsMtSv5 zJh6hV@tHQ!L3{4batioU@|`({U9v+{J!62n?ivR`0fgR*#y^jc^(&5jwR%mToqFQ1 z9=>g0Y~ZRayQ0OoF3)Prb?~z3U-g$e4Sv|SBzh|J6V;7YGX;1I{|4YY-%;(rMyv^@ z+`t+R*;LcC-AvbVW+QXiv0aM&^x=8)?1{mi70}B;)6nOkqNVu4F&zE_Rx8EMCnJBs z2Rws+W45Yn$7v7peX0Bsr%-%d-FI$|+;`4kmwbcfxudv4F3cNoFsGV8&thk6n|18! z&dquZ9crE3;E83jdZ{|=X68lf@Y1!3qyt|aFwW`b=UvUsFAq($1Xf3o*>N}Ukp<6G z#)A?D-FVM*EU)%?@w4>`vSe8hUxt@NbMsg?Z8OfxTMtzt*3qzA_?qCTW!vJzPUf*) ztTW5M3*!Oh#q+=Vub=<&Z^Oj*uWIz^<@5V%AAb8l``72+H`{xt*$H~W9+MR?Mhx1jlI9tN2DiZ(N`t_39{Cn*MTH3_n>g7YtQ&*%iO<&RF#9mt9}im<0q& zwC#CEhU7X&oQ$-UQzdN_P+@VfzsLUFTy@g#>V}aZQABG)`!@mG0&_Jw_?tILz&P)9?Y-#XoMhfhf}&Ua8y|-ymnd z*URv_AL(;ybMxl#RpFXGP;2e?{G1)XA8082EEu4xc}aXCdR1PBhR{Uso`%)-!IR6u z1rJeRaQk4?ZG2zYJUsf`vOeS4JW+gmzWArEkm9=yJlTmf}?{prKYlub9J;SDw(dVb(irdzFQLp5~V z7zIy*lA82w^hn=}@8I1!vh9HlYcl*82{9Pce|8TS&~eBa)i|ql3^ayh%nK-<{t;Va_tX_9k$|X^ia5u{+iI z_c*1FxpXk9#Fr;(;-jIQCCf8zXK)vTdP-gE7-thTBg2NezgDFY^tczV<8G8efAcay z5|x7|$W&1t#~$Z0S=r!pmRoFlqU5-{>~~HPjMZy5LoL-LdR#fl8g>FK8d{w_^H{Um z!p)gq{TqkYJQMO}x> zsb~z2z56$gY{vsOGnQh#x`8DMCYAX_ycL~o8WtW0V9b=6_t&t-?1xcXZaI!SYqTe4Da1R`kY|z^zq;Pnd_?ElAG~<+&fh%E zbPt*M@}-|2{pRmH`{nC@Iivc043`3NQrD%03FEYb{z zvx~x}u&N1C%%Y9CG$@T%LUF#kBo@k)z~|@9_=+0my5~fFUkVk51>0o^_vyY%O~aK4 zwU5+#A*R)jDnJ+#1#BgTakzy5g9PPOjAsUDdt@1k$5FDyvvIERcU(B67W)bY#5Nk!OK&cg@1A+;!>8#(WcAjfi3SHCo*c<>tFT3 z9#cV1e`{|H_GGMmO+&@#2QTs20y91CS?VxP=6Am<7xG2Uh31PusZ4&6iuM^p+fWIrZ>}S)zR8b=JFm zK`evBhD6F5akw};R_|+vap|M%TwY#7@3ddT+kjBQ6@K&B1UZvcecN9e*^XS08Fh1~ z{p>KDiY0?8vC#V`&}qBN@7Hid4lE8htjL@Au8yWB^%#oEz|4AA=8y9>hL}aXy4aI` z%Ouf5$xy1D7;ltA-Zf=79=G&2j=k^`Qgf6`4EXTS7+r3+&ZPQQ`RtN+A1T!m^y~aF zSA>_yqRyGez8slhgSaVS7mdz6vrOeL4s>8LW~&Q1TF#EA4bYTFUuy{+mTSaKlHnmc z0}oK85J&GiGkUKMrs2TZ>pUSNvCi8SKBkG_VS+cdA9Ml3T=&u6f+Gs^o^#%z2%bmB&$n??V%4yGwb4b&W%~F$D}wRHYo;+?(q~O-eG4 zocSE&=*JsaDQ!Ygx0klFL7?O`>&46e9Y=5!?J^sONe^_eWSFtXPz$#rrFdR6jZYPo|K(fqjObC^7Fhw(s%P>^{;l2*Lmddv-m@S z80kunTS}#E3}XhbR3l`4xW*pG%kOxA(QP<9kH?pZrwf;PMe~OI4DnuZ(eiHsWZvBy znH4Of<1TN-k!Lb3b*nGI%h~eHItM&L`rtnD;L_yto{p@dI>@@H@)A@e>&^Im-}o!e zG`^`2Du0*`r)uh~XD5)AtaWHV=WiR>;*u;3wC+zF z(Q)96>$8U3ogvky7~HEZ1NR6($7iM|G9Tuhz=vUN=F#x>zQNoyXuIHIKMQx_e2q3y zTkYEuPRC>`4Lop-^S#gSSpa{5+52O&dO)pfbcUW8tIo{`tse zZJgts474-H=ZiL>(*|l39A{YJL965QpW5~_x@O!&md7bpH^*7ekz#pY=VZS;Fn@a5 z_oxj^vwzAMeR6)kVz=}3m&|+4E9LKU=9Q%c1*WI-Ek~23h&VKMP{6vQCER-aIL$5? zIqy3I?to?Llp_1p0<3fTlEIcH|xU@Lw}Yo z82JPrV(4aEBcCgHGaJ&0Mi133;T4Qvv&MtG2PX-T=+P(6d3iA9t{OvzHd%U%>Y4CE zt8};n|HX^vpl0cC5QQJ}=B4wLn6@iBpARsEPONd?l?y%}TX31LGrqhVy_MbA`x_eu z937ZByPWdr*Z>Rv;~PYQu zE4x>#Ul!0zz|{O4+>tf^!u)GdZBVG?-G0aXP+X;z{NY%1Y;I4+yPhxjSw4`gb28Gq zq@Mj3!fQ7EEt{dgY3blZ`G@)4JX)Q0-g}`F2u#PjE_v%FDjWi(s$4waA-Xs^vwC3pa>#qi%TEaB@QwDN(HyMVUfpNiwSL#hb^qx*ON!$D z#hoIPU72^gk^5P0Q~1$MuzjjSGGxgx^LO4)|2~J@O^eS(i|60}{4CLa{rug3_|Z>) z`oB=+%RbZJulM)& zg}r6))5o6VCgN7&d(C&x12nVgI_Cqf_HW%lm}dU;jQZ^bk4N8mW-*%Eukpm~r}%&= z$EX~Rc*59i*OTdTrs0?22H^$#2rOlybUe_S(95*dPUm@!@v86`zevA+pmwT^=xeU8 zXXZVGP4M*l-b8I1GM+^Xvp#{}7xw^*_gP9%hwmX8xtvbnYA;)OYS=8Q`s)MU_+4dT z61P9Yi;^jbySn0OyOH?w5*8E(000QbNkl?SvM*$zS$Obe zgHgOt=L4SPv*mZyB;h9l3WlK$bQQycOpe1>{9EHMYzxV;=>6KB_@?43B@*H;;<8vEJrK-uOTuM#|ZNY$&^^PUWJ^@;UYU9+xv zwlm*%W5eoMm669~PIe|dU`Wn)ui5rQURb=3#BuJFQBwv(MyPhQ*4fw4!@<@VL(X`+ zPZ^`lmXDzmhdG8rSlKc4`Q2n-&h;~%DRHzB!cqbarq13N z-q#^>HeHWA=y8p;dU4NdmBC~g!%J3O;4cWe#yt*+S*bdw20x^X<14xqf2WTaufkQF zl8`ez;=j^&j&p%k<+SwvY`P^w>A>|?6$t2h^R^HfCpFfcf;5L88r+<$pJ*uq(gv!W z6?C<-O=)wEHWUA#3kcFVE5~}p1DzQl4=mLzKmzFpdGyi{)%=f=~SXB1q@ z5njSYa3{F4z8$)$Z+Zw_Fl0C0aoz_1)*Ygc;O-`ZdD-$HgEX6t)tRh8i-Q#22n=NY zqKX4c_)y=fV|+F8(Ns&0nmXF67N_=8Q<{s6#wQSAwz z2WM1cI(_>3!ZLY6A)_KlhH+Xs=x1A@9r!sd9m=qNVAow&HAB^~)I*9d)l&nb9S3 zl4SB^9HFT%+_|*Z6DX0KH+!scQvvJc1)=|*0#llPdD-o|UyVn2Q;R*F!F(Wswh~Eg z&D@|Di>vBYvzu`k9+>?fEaQd8yjH#}pRykM1~rA?CQP(jx7!Wgw>(FkRvwoAWeEYx zU2ZiB8+XQ5G+$_Z4LGvwqiQ+>G1Hz5`Z*Rcx~j0-F04J!d0w#Gy*o5lYaG>S;Ei`G zZ|3{Yw7I2-5Jww4N_KK8f;NIXl<+&jUqa;Ps7CW?IpN^wv~(=%oaQ1{Ftk+%mNS9@ z$94mMUVhT)g?+&o68jWbuT%Nj`7_6rRX_M%cqQ+apGHj{9?G2iqr05R$9c;*6FAZssAjIm2`3@zGHWMzgkskF@QTJXN?PNn z(KU=J7|RtXLyUOfpMXQ(-^Me?8`(+~Od2>aw{2^=-2OroxJutfqOCO3&+PE-3Furiz3RvtM^szDYrVhA@7&wQDGvF$=3~Fm zLQil>1auoTrbnL}+@K5A_|BN@h@zdID)<@&V{B|X-`XM(qP%@R;r&iX!z18t!-)|M!s<*3G<$2~kOek#Lg$Ma)M<_NKq{r0ov z--EyGVz1|=4@KkjPup7mu4_4FEfe#Uo9oTfk5_8ObL+0>x~^lz&KcY`=;H(kmy~hm z+qq(SDw;iUo@>Qpocp}1Qa@+LjfaUHpL-9hvpW{?so+K4gm1yF_1)@O8^&=z&PyC= z=?i1W~L3)stq6VaNdzgL{{gnxeT&%3{C!F6skQNwl-pWh#VZq`9b^6M;zf)q!yZ1Hbg&x0?|{b8 z+T+5Bt3J1$DSw&vaV!y)fw{0p)X{zA4e_rXtMZS72kobZEK3q_@HvU#;vm5z%IH~F z>s^wye!V=KU6~8B`L(j(FZ$~o#qSczrhsHya4C>x=|aBBZ=)Zio8lkm_4rN*Sj9kQd8|Sajqyi@T+m$uOb7jYEHuLDQhWFXb(e`nU z6>oMkJZ2JBP9uZK`l1W2GY9QO7v!qf6gV^7(d5ZLhlbgBFTu~d%;1*Xe{L7*l&E*U z2~5ed>yPCn0@MzfhkFwuan8Dev^arc@jmHfY63bx&UJyfL`V@4ctNZA;g~Ls13jF;V_e|9g(IP8aiN zqtGs76E771ugL001BWNklG_w>&tIQjU+2#A%hU7p{W|}9 zew**luTO8jFyA%k$NBoz-{0K+_1oNh`8e&T?aN%7>u>Y@WjcKO@M)g?;y#|{rtZJK z%x``9It}OZ;cxm~8_HCY-%WkK+cI>vl#sv@4W?*`Lna^qe>o}H)WM#cwMdgj1utmwBum~lfF<^=FF$2ZMaGz;CJnc($!Lvz!3e!mTF)DDbJGoC(Vt)w zjOGpF5B!1`!%;W|-;B)v+~3W+hT{c3Gj9AW$TvPTfAK}8=wUoR!K3Rh;yvM%iRn+U z8eZ%sbDB_y#3vX#AnjtrqKRy2}UK8Tgm*}B!S6<8;To-=m zxN{u(?Dx(;^UxfZ{lbrnR>5hWc-8oNG;=WSL~mV`4v>6=J<3nC4W5EC%@Z01yjRJ` z^z(|I8Mxt5&Bgqy?-3>Q>*$u3d8YCy{i8muXDlOL+-U9uwW%Tlmdz!bg!!aQ$Z4g#M*Rcu0L)Z=3(kYwBb0J~);DG6wC{iSfHSME6IY zO(%^L{)s$SpTP6Tmt?sxSx3CSeF>d3-Ow+?eG_tq?_M;Al^@INGrGU@)dR8}f+3%s zZ82RzS}wwDZAKZj12{-{nj4{8pk?A#=@#4v<&)A3lHaBq3x+eAyzWzEgCK>Sf zACP+uYQBXRR`=z4aj8#iY`WLD)6oa`Y2*WBjhs(kVy&QtF@YC$6Ye~JV3R(StfL>s zZmj%t4(7MTLFpl1Bl0G_Vmh0*)LL^KM`W&j!^Xf5T(f+w{h4dk>AHjdi42L(YM-f? zPs3kA!|VJLBGKv{g}R$zuWhLj|%U={}nwMn(EOg?a$N4_t+g- zrvtsm&{d7+d3_m}K2 zJg-}y<{ogZ%o`7%22)=KHs*q0SHF~+{^WU3F3e6(<&WB6_{#ihLl8a!7rh>sxTdl4 zuiqChfad$)J-^{k{R{1-OP)V7i-VsT3;lL|(trKwOW@M2KLS5rh1=q4-N&tzSsXM9DG*(!pVXky|3SM?^|rP%x(2xZ5p@>e^lm| ze{}uG|MElhvSrDssK2>1>z@gq9-w4FJB8kzV_ z{0pqhgPC{WS)Q%z(l#(Jy#%AK%@`R@a_9MnZ;P)>SFN1iwq)-YAL>JM6n|dv+&Y;a z*SwZzV&^Squ_NV?($uYwyfd%-1{d?3`jH>fIC5odu2+sA+1npIeSG;p#>oBg;O379 zod4nJ=fCq`KmE}k{Yi)U|N42G!~fT3e)01k|BaXD=YMCM%s&`L``&XfBbW|BK%57h z!8pS>1-f2Es9+$@kqo49sb1nVhpBN=2SFyU83CZ>d^EVYjJA!295X505Qxr?vN!>Y z9Wjq^N(pmlRcugL%=)P~YW9 z5GY&$-Uiuq07GvFH+nvT555uvt)LS6!XI*&aZqk2mG*H$Ysy35*-?sr|l5csaswkXs8T|MuK(PLO;*TPO(1K_ow9}B^Pvupe}S~Jmz4S ztvcOj6EKz+!v*V#esb7!9riOXJ(DCc-9_UQ7`Siay&a{qRo3|(xdSI_6#R^wf9PBT zE@z+Qh=b?nxeu+>oc8AD6P#&`VWgLloo!>Ou#`EexKeXV^H90ZNJ7`Xx>)5SbL&qM|{fv6;&#*O?tpgMTK zM_;Gh_n5E5-6%7@qo=BeJQt7cbK9QT^2OX?iqE~o( zVPn)NkAR4-;?mIM>)=9q;dY35xQ0tV64;8yI1o-s~^f09hqOQi!m-F|Za3YIpw?^x1{A&F&h#v{Qc+amika0qXr6Qr)qG@mhoxfPJk^B?D-y)IJ>UX4fa8=BYF@N9Gr_JHxl3rZ9YbYCa% z);QQ7&r5JV1Q5Aa$RPUkMQ|P3s69T>^z(6Kb$U&b!To-W-vHj?E4_}aeHmO3XsWN^ z#Rh2ZeVBV?gn8!6T$YoqF%+yz7C#9u(-!A@o^!xH_mP26XTE=$%MP*$4S}Dan&4Y~ z`Z?cEkS=?-^YcCHsasE8x~zIMFs_rtcxhL?Ku1YD&o$-|KHC5vm~LIE`3+v+J=0+S z&>P~lBVV+kiTto%&G+v;N7`x5SE6rWG;W;PGOw@h?O?qh`8#k#KZ5%!-O@SVdZ|GP zL1qwJLC`02EUyG+ekW+U=Ze6FhR~}xD<7xh@=~AOaYBpL?eC>J^V0YvfC6vi3A<5T z-TGp+L#DX2G#^IH=d*rt+7a+g5<~P-zu@m7ef5rx?O&fseq6l2$%ObX)xUf$O@(uf zC8bin50A~qr{Q^$PP;G=c$9P)IpuEy%fcKylEuIHzvzV?8KX2|d|eNY3*Wbqj*o+n zIyT5`pG?PT|-e?H4|O-yN=cenxWOZINO-abZSkJr#-{bJ#_ z%pOKa!odor|D+$rm^{D!_rse1+0+01`9GhVbwDoS{rcCNw7;?8zxW>rm&vy5zr>Qy-#*{-^Q%Q!h9;a0qcFg@J z=chPI({&sP(&*=t`C@66xr0CvJ}`z(mWc+Ixu1Z>$s#KgV2lnnkO_jhYuauDg66|t ziw`ow`X^q@q%zk!(r2~M3bZ_PoCD*nt99<>B*aY9YbE!(2Y(>%!n+lnL&aIJ}@r9UB<9}QP3ipH9f7Pqu-)z@5Er8-m0BC6q*Nc zQo*9Rj2Tpt&6IG!#VTA@Hj%xsXTQ@XdI@?PUL_<}|1FSL!jOc86CNk1b6|Rs0@Eh) zzR4YUC$z6)OPd(2$j-$c)7bh#f7T!7X;ynhRdcLVzb!BizkZcU4O72FPmar>=ffMc%; zyV5MlV_-}BI1=z+eFMp+L}UK*A@DURO#%VTM88TzL6T|Wph0@n$lI!&@GQY>*$5k> zaK&?K@S%Bq9bC?OZiwKd8Z7&e$i-O+c2KV;e;7PpRV(U!1=fm_ zMLydVaK`}wUvU-Rw?7ta9H^rPDc?JK$ zX?-5%6@iX!S$nt?%lwN^<`7s)C*TU&ZAj+Nyv1K(>Gx1)X;d8RLj8;#uR?I_v~BM6 z4a*h&+PBKcH3&w@csRVD{58({|+~_g1GTn1@!Cs|2Q@%?8yd_4ME131g;f zjW684`6PdfgW@o73y(ZM|6-59mwdqTMym220=QOF)JB!I$aG*gcSq(je`UcYQS3^L z;`zek>LTGy^RVx*`i=XS&wtaju|)9-Z)BYPZjd$zjLx^iq3h+Bj@dqf$D6KSr|+%S zjV^^Jg3sc9c~!7zdDPkKH)UOZLCH#WTSoZ)v|-Fqjyz>pvv9ijW- z8)WJE4~L)s{?n&F{|8V1=hHtgx_;B=@i%_M-M{wBU;f2E`KSN;KX`ln_6ImKlSO|M zGe^-^fwasGM?pA{aVm~u9PKcf$X%VmsKYl|jnzHD0U;ce)R8>=<&^_lnJ5|9A3={^WcDcHI%0G zB}e#5K5*XxQb(WFaRs$u0GHGTCj@Po=iZNTjRNvYjA7{X30`-#$SV&OUem}*!0lZ| zZAUSy!J;tnxZy2Uh2?1QY=FwW`=?iAQns3as6yaXs~9I>6wKlm z@x7g?;&`*s2wY()-17*`YW&*Kv=hCCF+iOly|l|17>#*mj7Wn4txPv7rot41w3rtnzsQZ`fmQOPd@(NuXP`5OfvPulC14rRz%iYVPjP1k_e+`i1^f`b( zdPU!hFWQIkcXd_wnWK0jGN+&LcakX;mQ~b|{c&0ylpbCZJPKxjjzCiDPU0=gmbax? zW{`V;I=TuSLXf91;xy$xp-*J5l{x&Bj)-hR7y4JPhHEQ5?1`J6m2(-@4>JzsRi=v{ zGhM55&-RzJiOhB^P@8dgi-eL`noFiv`~xeiI(o>oI*HM_JPyUPoT~)u+(yR~*U>jy z5~;vw@Z5xD;6N^-+-)O7l9YKzCpK_heG^%;T{4YYdEhN1rU`f{K53>fNJDrva)mEW za&=<)(Kx6*vpoRq)mMz|gao`W_f;lc-Q4nV+F!P;K{;D%=AJ8=VuR9uc}{cwAYN5+ zB6@^Cl6iLSPE3N|+Ic0Eag3V$7W*U!)+AP+2yXMT6G7fe;>4dO<*gxFC9jhu5Lx-o z6&9=LvO3biy~*iX9L2*D$HptjZ^wi&JI6os%C`dXQ-*3hERSK#)PEBqxt}0hcO9t5 z9z{>yHtEQu7)k^cGzvTmMFRf%2AbDx8~Ofj1@{ij2nb^fluTg$;akQ)0Wq%)Oj9QB z+}GUKYGn0u^!MYuJHP6}2I%I~UGWx+KU>&2zaU6W z$kkO4&#}>*>$_?4KMOJbtUF{M!A0=`a8E-+ub~?LT~Ze*5b=(o$Iddo2k4fHd(GsmL#A~RQSijwC8d6)kkxZ%iN_<77!n?7~RPzmMl7%WP;wR#9#R=Ad( ztWKlrXDpqGAOL_#ZD!vqD`--Lb&{)KZ=9)dR(MxoU-UpxUdm1|F3zue@2_7xO=SfE zrD1e{Ij+)t-=I{sOF=bqW##DL(X=>xC7#IM^5q$~^Sm|3{8nGBXs8UNXXI3Hpo6k9 z8e?-D{UrP%E4va4?T^uy|MgA51*_QCJ#ZqOU>?|Vdi0|M9w#N+SMhUnQ^l#30E_zu zRcb2z1AjPR^j`DmHD;OE8h*6j6ws37kX|t_I++&(iw-hh+gOH|vZ}t0ZSdxDW&xB{ z?Biuv??cC{|LW9h#iUyltpA0VCMBa^1(Se}6APwdOSweg82JbvS!QCo#S;YWp5tA* z-C&r~^*AhBl1?JP^mP)zeCpEnz%#$8JT!WJ|G{bMofv!YQ9I}?f2%*X;wNI0o^|PU9X;D? z{|>J!&=my;fVB!fPe><8&&JnS>ea#4^%?sk{Ghhs1Hq#arUUH3{O?!u`+LEYd3+su zvAREfakY-W^mrG1kb&}+Y0Z3a^auL+s^oyn&J72iOKHN~9r89H*XI|;{X*&Xt}Q9B zo<0bIW=uT+T+y-C)lLv;3<6#3z|1SNs>8_&RUA>3jZ4%Ntd~|NKuIZi`UO9Tfbiahn45`2JMWIEOub>@1tK44g%irolcqij>jnM_3)rCQB~x8#zV0=d@oRxe$J{vuR_OK)uB|c&UW6;?rM7{oxZdlc zN$^xX+kT^)msSnT39v&W>~Xp2)*HHh`OXc%xB5W$%eB&@(S4}q7-`C)?94=GoVuVUR4TJ37J zeiv^kabG$F&dMKiN|3%X6<)0TE==i{u@jWv_h^6dMfr>C#Zh7g?)e%?HSk}3Q63L} z-Ey&f89qV(m7WP^D_hHR;)T$nQa;&=dv;tmT`|XSXL@^wqqnmI$AgKC5RU zH#bfyqrm&|AJ07gqo;rNr~gGExIdTN_r<^RmwxMC{rdXDKb!#Kr!FNFf7&5~QJ1MM z4HaS86_GOQGTQ~{o!OE@SD_(*J`Rw1SVr6{NqdOZ<(P0^^Mn8*+C^}Fd)%%zJHV{6 zxs?57jIG=w#1h&H@M`=BY@Ns=Tns~yT_G_{U9mRqd~KcHfrXV|eRef^exGt|CpVZ@ z=Hu0Jv9=uAFrlV|qp$93WCV|YcTYJhyb6F7xJ8-m;XuK+N#~$@(JCiuneJxL;OE9a z4wTCn*U1eYnwTM(ld>XK>w=rJ&+pRLSI~D#%(GV>9H?y_tP?o3FM_Pec01AIz}&Dk z$iL=GA}4+|PI6b?(r=Yn_!|^0eadHXT%(ArOXU2ggeQDsR=x0t^FQV3aT%>!%THEn zwuxtz)BK-R-b*(3fWKxZtL&g*m1VXZKxHdz4q^kaiKsrf?A6$4AfL7^!HNNAKWB|b z^@X+{#2~EmDBiANQF1|T!OQ$#4kbKX`2um~a}p}nKW0N!qBN)rKdNsv=a9w({m4zW zYFzv)dT7O6^QOdi*1)=YNVCgHYt_eAk3oA3VX_Nm}wm_}G;uo-;Ba5F!h%+(^)v>pWWJD!kX{ zh>qKeis)>w;-!wv5g(iMH zA18vk?IrpMJD}mygZQEPF?z7cN70f{37piHX=1Sh;veQ4-U1I9r^#UOV!g!K8t6CA zl{vVYb&s>cH=ivcIDR#4f3mbH9SbuvO2Byz_cZVL zPr$+({UntxbXq(x)CtD@)?723OdCqOuAIj(o z{(BhO*Hme!M4kc-YztvC_-4G&*AzT!=^BT_L^FnE#Yr}18`)GaPvS^dBc#C1inS7b zlB>$%^g+3~$~m>-tEV;;-z@_yXpG|dg5&AnSUCG!UYq-$27U$YE)7k)&_y3!{Z;b8 z@Ui!qNgmmvx#q$3$lbvFX+Yw6Y(?7ZyN2nQD`mPLzj52Ro$bf<*8pbarS}sA3ytq} zQ1rbO$&pJBuQ|;_%t`Yo51uhu?T&wQoYiTkeX&}FuZ~q;;l;C6w00u$9UH;8!G*q1 zIiUT#+G+qJXzs;baS=LmUHF>c^zojDGY8sbRk!x6zO85wSV`*OyIf;d_KL5_78RtD z`L5y`*dVJq?8xyW@j_4Foqk$z0DojY4L}!=+O(`ySg7fY+3r! zEAW=TKL(a2b7?1Dmd_G;--(Hh7s^``Tu+s4ocF^Mm4oGhVkh+5ZG)Guwzjjl4Zh*k zJhxRGy(e5mo=ALMz8x&D-#P@%KA8DOIGumx^GjBJFL+2E&$voHUZZ=S!RX|McpR=VGQc>TM>D8Gx7+Y&P&I6&I4%5XN&OJ;%~P$j~4 zCg9^J6(1a?$LbJgMJSF1ea1;>AaU<=v!i0gtX1%J0FW2;>EIk^wZZQi=pY@%ZrFF< zLX}>X6#ZmXqfW>Qj*vP3)^W6B?7xl?uX##sB>~dhB&+%=gqtug|IN_ zVpebjbM+04jdPszOPGz%BrcZX4n|bwC)_#kHFGsnev%-EsX(b{p=kzZEu+L)ljBvI z3y^lZm2Tu*anpn{Mec(=4lB>`(w>k7}LXhs&XHU7tAtTpu9R&5DEpR$b2wVzl zoKl3ofk+Ke=4OT9d4kXgu}iVF%BfE)4IdyB{;RQp@m&SbK+)n?(Wo6N;%7XP)uu>Gp&%>XI;!7(dp+9&j&-s4o)AkKG33@c7Pz9ey zkw(s}^8y!&4wN|v0(ZJ^9@O4f#sW|N*F?|u!#x*WwyFSrh(R(OhTYTB*mg*LT7FmI z74YjV30C+n-45SUf_>n2Qpd{OL7Ia5BxHcc^0HeMNQxxbiyRx6;2i$55%LMdxX_fS z)^D-%?*P*G?X;Wr#@RW*EJzIOhygMqF72~FLBXy6id z0(`m^ZH!a(v|E9o-6XVXuV$Q=Ni4k%L3^MZ0i*bD6Jhece_;CBW87*2&?Xun7v^~f z_1{ff^%p1nf#%jVh(LJ8OUjejqP$!u9}9od1v+?Bd%bmX_DT9#k+>hzB(@ejUs2)D^fHKSDlzAEBj|IVm9I4n#z2m|LQb<{b_GHuo3v^trzACJNK0_>HZ|y z!n~A}Be&^rzH24iBd91``{i?U`ZaH9<=F|sx)ENvcCw-YFH(>MQr3@;a*xhcAgr=- z&5yaIw4WG#@b9v1UDwV0MsbQ3S%scwNCqG?#t>!R`ZCYrW)x>y<(_tG&wlRcv6OR7 zFs<_N394s4TCKK{RzJs<^l-PGKLcF0X4)&b{G>7TIeoCdd-YyuGrw68o;2kOtL%jhIMzkA1Pv%*hZnSZq9CAjIVHjItZto^Eys(mz9tdSOOmNrgc zJO=lAF1o%4U1==3OJ6I??3zD#Za}r4={vgJfM`tlxjqeGVS!c|XX$bUV89eV9bjsY z)Q9>@uv41j@5^@x4B)r()iYN>7VSW}v4R(zP}|JiD}U=l>_rV)aU1yi?E2M~le5pb zIK0OXJ(G+#%)xgP2Pog@PGc_g5Ki@&WpF`fWqDJ(QW0Q zzy_R=7sZ}>>n$yo&#ODiQ>DB5eEugByZoK^E8j6;=7zue)9-)(>xbvRJLZn^avT`~ z4S!Pp9XN0_Wh}!h>}|ps36pgHLm3UjYDdD3_gS&5klZVeRMZgV#uJJ1htpLrxin-WUmz3kbAx@)iu7}Gwb{&)7KR+KZCvroOPnlo?-_u zyWcoCHZQ6adpIJFL<1{=8sPKlJWi&Zf&?VHnw$V`4Soz1b1$6$&Ui4%P8Gu`jS|m< z{QGDPlAKIAiQ15DK183z&~(eht#_f7DHIy$(=%=fzrJsx0l1>e;0*`WRu(-Bt2_|C zWM0=85V>X5Rc69jf+x{7F!XGN-P0STwEN9tjA`F-9u#3#s_r?0+-5toVih`UwFtj0 zPez9E;%Q_*cKBlhTIrIujUp|s_Q1x#wn1$8xTU|)4TWQRct5px-vP@Sb8w|##_%{P z@h*TMKx+2eOapJqU4;ggFCQRP!zEfr&)xGzuCL02WV$zDk;Kj7tWL<{Oyhe_b`D}> zrB~+q9@@qVZGtLjYn*%Q$dQM0_@(r*1N|*qCp?^hl5A8H1R1`l%@|A(J!m+3zC^bS zIIxZJPK5!%9e+u%f_w8BTMW3>WYBRY;NjQrhR-#alPjlIP()B|VP5bF$I%6Ribj?G^S*Z+pPjsg0|m)FG@``od3^$Ig}2f9*9+ zX*7x1=t#payEr&SW{*1Em1G+X&!OAKUi~VduNm0?aq1;4zL`>8_3F!E0fRJ^XI>fd?IYT=?!t4?$IeyFIo1 za^{b{(JAX+&i?Mfi}#CL5A+bYwW;*c0MxWL9K!#ZG4Ql)d|$@VLAZ%Yd9JJS!PL$p z*gse_H6He; zV}U7|obRg#b?x{!%LA<(Ww<%1vmWkkes@4-|xcNl|%r) z`n!@Q8~B+XeSO{ub~T^+GJ>;nZ=$6%&Y1GYRcW!8t8)T#b;WF!*#r-|G5rd>m7@#K zYx^^W=nFe3rNNDZ%#r4rcX=eQ;LG`1Cy|qJOC#X8WU4TVX=)p9ST*!5`%PSwcj9N9 zHmN*Fytb?RwH@$w<-liwEidnN;qCb!kK+D2Pk;LP56d36SUvsnXFvOg%8^R9-S_UR z?brZc=PC-om}2mIzc*d)3Wx9#Dg6!C2!G7P5GBjFaYjxlc_!fHsAe@jF)tPT%iH7LOz zW$~=;$wBIBS^|miQ`zG<2@%TLmKa3Kk@?E29G>qwf0_iZs?tO=qs*tU7DrCVB!G(I zazZ2g6QCNncNN*rw~=)!6f|aeKe(y_tMLjCz{bLMoCB9GE1=2&HeJ;sh(Gl9N~Ph` z-g#9qw9>c?W)Jo75wAGn{kNT)mHPYbDyGv}2}g{f zO9^%d4#pKExpcxEgq;%kAoh0bHb^t(2ppUBmadcR8>8V<=|O~qKc9v!r#kwUzU^%K z^-%Q1Z)qz}+7dZHxrw8VcIL0v?KI=e#SzWFp92sp;(RL^3_AK64ELj&f z&=W}C&3shFlH_hl8CmxJ`m4$##+eG6>bck+&W4bPYFrWrN%X8S^}JhU(JB=10j!3r zTVwQ?O2?@lf(+4TA&FPn#b+AN`rLNx*vF&a>`>eZ$qHZhj+-tX%N0wu2S$PMfXygR z2|$Qs7IET2?OH`}Xx9S^8?bjyJ?n${HBi3hXZ~vP_`- z18dm?jz|PJ|8eLU&svtaCY0BDgdWUHHiCQdiIfoV_?m>&Wml@zzpFjddIsRc{0%5X z^T<84uEaUnC>{b*a8&!@HG4I`UtDyooFVVlF5$L&#&sQd2YyDCeaF~3sX@8ApWYSu zu5vd4>e6!`tj1rQb-x?ivO%D{j%g7*pX00O{lI>ocksWw78wYgEtJ7qX;PmJWj6Ow zes=(qYr2QBXrDTj-7EgOW>~WtDNt~B^m!+DFSv!2`nJHHS06Elz(PNPdF{fHgX6G^ z9|lhX9Rq#MlONWh{>$@=OO$w?3;yV5xzYC<40m44EzbhyHOAV24B3y>1%*>%SpOJb zg+uUPZ8GMbQeV(QFTd|S^KLSM)pMljGLXT+`X?H`GOO`hMHJa1VHI4`eOBk20EiAc zfq3wiN{kJy=qJ2Uo?gPvM2@KOY8O|I^>zsYJ(K}Rh5Aa z#-Ty_THY%k24{PsyvC7CPG7sdqI{sS#fS5mD!`NAy?6xvQ2)j6JTtFAbj8Cw+rwRL z*bMWHx87g54o}~F0p5zc(m1g1f=kBV_%C<>uk$_IYrw377sFAQZhmIG@^ji%r|`UR zl;EC(M`?OEzz$XCJAHk4{hy}f{IAayg3}eNzw(!U`nSJ*d;NQ4@avSNl+WdJ9>|9h zIUq5U8o<7rdJXH8_H8Ly;Gy(akKq(4EBkpqwco>l6G%@`Zlc*4QrVa@<0gprj0Jg` zKnW73zAiz&oLkSOh;^GiC0&RjiN|=E0vel^+kL0V4NG>WNFk_dWcpWpP`{(*QAsMITPaL}`Y8-MeZ&8-A!Whg@4Pw(`Nc zCf7%#VbL9+BP)VUSw|4_N^`hj~R`Wn3E->pX&zIAESq4TtWT&OPkW zM#DNRA2!Yj!j6u;WM6z8$HuI6v{Wm5tnaRS+qtRdq^riZygrjKOyVZ8;8M#b>}uQ{ zbbE_XbUipYdR~d%du(8ovw`e3Xz?C>tAxlMMq8byuh>Vbj3nQ&2~G&rW*9HnyBKJa znY0NV!I$Lv+7mAsnSF~?TA(wV$Tr{Y`4r5}JZ--rK|5Pne#o^vkCL$?)YWE})9Z2d zV|&zBNY$oy`+%z_4xLRYkIi58%sLvEBch>gIIKT|6IUz9rWgOVL8onXmG4uEO?69j zZRG?zt~R!z`qO*uNxaQxPc?6#;`fv*IVkpW<(L9bPC}22ly5bb>n{3d9Bgv5cte+; zm1tt@&}GZj=b8?0)AP20)o=G}%Wg~RWP^k2c}jEBGwLV$sDZSCYwb)Fq{5McHXZQB zYPPPzHzAe!n@&__?^lzBuQPX*oPQEsU@GIY&%@c8my(}@yK^GB%f0mwh12MDV=0By zRw6TE-*5eC@Xdj4)8^q+^P+kKLcwSHE+OW*eW!NXe;SxnLT_HkeRxcN#+`kLSsfq$ zQtu|WzOQ|mulT%T3_nHiy}_6+-hAC){<4n+ka?vq@U6ZL7s>Qg8a>EOL8ZM`8C8CM z&6#P;Zx&0W{}K=tHycC*e*E(UW&qFw3k^?ClxNuRQ$g570rt%N$E)75D8k%otLrF$ zYX!3AgvU0PUkhEwV?x1c7RkU_u9yCieKUUUeVs8r4rgh#IsS)fd?eNM?jdA)wz|9Y zYCIu$0$VFdqN^BCkA2etXrhPOiH`4*FAH<}TE8lM(BI`H@E4v`e+0q7>Ec-9WKIu! z92^A%2a~aD)yGR4^>O1nJV`PmwtV$ysc-!t{89O^TXQddt1YB!S2%s9XLXs3 zsoKj~0izuU`ddBj>vDu&Ih-(XgD5Kl%WE7U%_*5eIl>O2OoyGTk_yamu7@vLa$J33 z9ENY;X$Ot)V)v`+I;$!*hMBFDi(b_+2adR3!5JklM=k-FSGnwXnWM78u!$N6_N=0@ zGTF?UapfeAad1uuPH?T>xIU%$FpcqsLlvVR7buRW>3qc4@&tQV0S7tNvnE*_`c+t- zNBL$;(bMxe1^O~pnhU&pM(^sM>2N6*b+38hgqiM!`WR7HSUC6~umOI3x6{+=0`GZM ze-0+@_jNNj?#=(lKtbm_$XEXW7e&vUy&|^fD6CNqJT(d=@M6e}ME*8005>S0={qwM zFkwKIpcsD8&IN+N7*o*!#b4u^N|RMe#>WGh7*&F%gpt7TzU8h=d#gtSE92O-5Uw4( z?5X;izUFlqt_D^QRS`{|M3=Gux6WGwsp6+NL17%d>qLX+??cq8@0!@rJbbdU11-;k zzXt&~kC!JXRmPB;uBMR!3e#$X>&Q|M4l^e=NoBsdw_?zo0LCqM1y=g3dRTLbo$_95 zJ6n{83rxm0j}Qo7&XHd)=46Y5WHpaHR38j|k|<8%riyHC!N* zR5S0jyxh-YIK9%XHu|nMu|r?u$Dnp4wl7~-(98XS_wzibz!~_H-~|iAv!BP0)CuZ)s95-D_jgwotG{=pN{;yi z=J1bbC0b-YgO!JsJusGlX!X3_g`Pv;a(=!-HU9wv#x1`ac7dZyY~uc=8WN`TwnX&Dj46ntt)~AODS) zx99)TzGsc9CZm#KXL-L(hDna*i^{hKWdtHJzPI8E(&3rVsV8u9t4LgD*+S=)RT)ex z``w$zN?rxY4Bpk7dvCWL4he^Yb~|igRDG%oGR{^;P8?K_)2{Rh4sK;+offCACFNCs zCGuTzpsAu<&-~1dR@$6MzD|i9Ij?M=KOb82=GEJ*qTP0AONMi?d+`ar8DIS#LG5Z8 zBj6~DuDb6%(}Jr9BU$;%*>o_zWt-v+!5V$6`Nc2DX9Mr_OE8sv`3VTH6(kfcMJoCa z5Pl6z31LIm64E{NXtQ-S0*7#N1~`mIFls#MUwEdt6};a2hNBc3Fpp&3&R$`|!YSKX z)#AV+;VTZhsg)#EaNbt~S&q(r%u`0K=_h$2UWgHf=QX5>5d-Ww9yPb?Eq2(%%jwI{ z$k;UqH|;H+k?91(zL-7dw_|gciPh*buO_xT=)|hMi~8J zTsRQ+YS&ixG~h%(SUx?Va3AL(K>!IZz-i(j90*Ld3+OTT;5pQBV-CWPUTv3t(E|x; zBNwfPLU->f_0faujh@H*%CxOWzcQ6ml<6Ms!xlJ5Fv z2g9rQqGKG6@|5s{P)46bCtIdGu5`B!SyXbf`;_S{!GxawHqP7!jTe0Ol~?KnevuqX z6$KyVbbTry*4Yo=NCs==`MkQ!y50dLm|y1}OObNybPDGj-NZ_IR)V|DjTVx@=mqv+ z$F5dznlMYGW#p)D1@|bw8JYKZD`>WV>5jp#RKsw<|R0hsYuJ zJ&zoHxWRUCq$coP+VbShN1=PiYngc4-MkptJ;8o(j;xf&uZ5$9Q*wW`y;q@uue9s; z(l`mNO%ipSOdq;bj(SaPt^`bM0(Z+#)sw~T@>7G@%3E*+ZUpG1cM3BVCWSL_)1McB z{EToC9IT9$4w223lj}P3E^gBI%5b{x>&S|Wk01Vnr$70#{}^`r<wqr277QNPju7vv zCb$+}^`CryP&~R<90)cwvm=O82fW(*t1|xZq8vcrN-`iqZs+(YK;WXUuBurs>}2YT z`Z4|6R>8a+n6p))FdKe5m8Fk)sDbzz>a2hg=%gH~rNw8zw&!WpU0&>G4N)sIjK6#9 z0W^km4npkIbe>g`moaf8x0`3Z(qe_`70KRj3***-kl6uwjpKFmvdd5mAx47GlO4_G@qi;M-nP1ZE%QD2b{?PJwjAof)MoJql( zA$r&#Ygu;LrA8|5krrPJwWMqPBhTUjl-b z)~PS)9dO(V0vo;twO#REoC+sPAJYcivx&_(B-n%KFiF$JYYvo;%sc6&gjskW{U3N6 z{4%DPY5L@VP$dNIi0>ZyIvkh&J-kwzQC+4alj(IFwAdna)@iR{ySf|!2VZ+Yr(~^m z9Qr%i3R+Rzp(*lm4nrepoC>o0U_{I9geOfT=zNVN3-pX+kNwvPBD8fwl~#3BH7{2K zjlV3stL&bjQ1YueN53YR-}iX)T%HNfI8Bwl31rP5!r7)TW3Q~cTzj;qomYnq%)Dle zuIyjn{>^6=d3TZ0<=Y*@tJY2gxT->3IB7TQJY$a)B=;I)j~u;Dkga=^nonDxQXjD~ z*3I^(?9`GL0Eg!wyUy!q_Blr)pA*S{kyYz3zt4aZE2^fSzFYjT$KjJcX{GCgg#R>` z`XEx!zGOwA@A-lKng6uRSN9m#4Nob2M+%PCw@8OIX1nNeU0*%Y!LRwo)^H{K(gg02 z=>+SW3`koHQ}HID(0m8a({A@hSJ$jwQTyPj$qoh&u0T?B*U~C|BL|fu;ix*f^D(b% zWkZm@?;2m*k@ig>>^PlE0-*-T;R7c~s_Q!U>eBcow?7hpVN31RpV$NEFMSP6Tl(A} zv-GEAdY~skqp2&{Pte~40(@tF-9LC>ssLUm^`zuM6Bt65k}D*uf=d)#V2V7SSG<;C zZG$YE`X2k#Ah&^_-!%#kETc2e$O7b=d#zZw>8S@}v#-@OPpN@ubmJzMDg%ozG??Mz zxy(_|E$hoasBO&rO8;rk_77Is%L`YVuI#Tq4#uNr3H4gKWWQO!oZz-#-2GKmRwM|LSl5#lQB$m(PDV z&;Ay3i9?`-H;VvRK&QX1VPsl-`v3qS07*naR3Lrk6{eTderq-hWJ}DvT44r2Nh>g+ zJm4@EL6VT7)m5CD5Gc%5zT;DHF+vU^l3~`Par{FLe<)!9Gu9Ci993i{M$2GVSp$3+ z(GywW@gX$5)AzClcsqJ&*yoccx}P4UX?M+-oM~$^>YNr zj*lAGDG3HH9knACPGd}!~Wp5^&E z=ju0sh-d~PGp`WBuV>S9d8Ps9mTNkZu_rmxpWz}PC)oe>zpheoLN166L4hN9@zj@( ze7=H%lec;88Yj1d!#Mc5ek-aiE7SPl`5IK=fR#Lt+x??v9m^?>@XDhdKJ@V#QwPG7 ziiVfHvTV3pCbtQKus zS%h)ffsM*^@2Kh$w?f^h+r>GH0jKNVA*pqe}})=AAU}Wu2aN& zctOUgps>wOX=~;nJ!rgGrl@F$j&X8JU8Jf&uxZ@rBJ2IgRON`9(n;boO@4Svr~#JJ zrRwBLNJ$^mQCfa5Ire;zthSrBr);;l$A)O7Pv}!0=*=9IwK_Tp(a=!=jRHA^2fQ(( zILjPVsnyfMz0Jh*cO^!6UDH&+16*@0E7m=DY@Lc64r)2DLm~X@^;RUEL}S1!QhIbJX2>23*u{WJzL5&oBcm)z+<*1VIIDg^X|;bojSix$75>rIaE z_w@ZC2~98dSSNW!90d{o!g!AXwLhVtQ|;!mOS;X^SKSbBWR3gWtJ54^2Tz1o)ShaX zz{jC$1IO3-z3&bOk6xXr=@DEXXYOBd&V ziTt<3A6}NPg$`5yYMpIfl^J}o37<74x}mGzDny;`h124T!Et0T|*wN=8t z!T0DEm9;yd(JR7!HNn_8)5RsQGh}=|(d!DB*N|tt#hhte*`xnK%BR62d&aA`)VF?1 z7k5<|W{>mS@wukwZd_`NF9Z9WV-BB`YPCDvS03B&!@#Xu>f%@g;p*E{Nq>St?>|-or7MKR*KOZ=jqx&f=|+Ste)ql7xpq+P zZBOhUA6;@BtKf52e>1<`{--ShIwL-~?FxFN?;%*}yyCx|KtFJnFD`o(WovMD#ay_r ztO)+%OSmq5FI@@$guW|3hyFoY4W3DGoD_fGlKhK4h4;b72)@emx!7T4W&l(&rfn zRY}0Ce5X%r&h*`V`2uD2MH4~cqxW+rzJ2|_o__T0_n&|9vmgI^W1;?&T`dJ6SNU-a zD)_CStdXsr7=te*oK;RA9%4e*nAmZ&bM3ukRxmDI)|Xrdr@D7BLngLmr#O(83?vY& zL3R0}pWoo8%mlK_kSQZ5P2?QmOo_>(1WT|Q?l|3NMObb1{|0DwZZu4@?sax>yb>@I zSf@mh^5E_rZcsxfdWFl61|~a3g?nujj$VU+%n1kYcCb#lvjF4Sbl`-7okRj|1zg~4 z+8F3#cWIQqaV)DC;?P3h_7i)fpTdp$9)%!h>>T2w=N-TSSLoAyYTiqJoD4T>P;UBm zuRW-Wf#ZO)7!$AHWN$X~u>(nvk~!|G6C7)rbRIajf!}447hj3&1oDC_$r#{hz+QQ2 zQbjk-EAf6e2X#B0LZSI5GNS(EaL+}8ia1PNS$5k7@y2QK2?^tj?p{l1QoM`DlL5RP zn3ePNhoDAjmG0qB6jw6JUj0f!Xys2pcrLC;ISRY`gT+_8nh1%}P?kSz@8l6Ex0Ecb zj9s`SL6sHjD0=aNf-rSpTBAw9zYhfrJn+Y5;2NxfY2%eueDGe!`n@i9qN45h{p>sc z1fohVCcs+xis5$Ok(0>Gz3S|38D7yZ|8h1%)M^AIE}s-zsnsRqYTu;b*z_YT&JZk50B?Zh}O($=0Sk--L)m7`03P=Ag(|WhQc( z)%n5#f5GQx_0mZz+m^#~Ngh;>3r7jyI1xNH4pEEa?7)|j`iV? z6O`2k^1v#3S7JH9-vAu^*49`DBU#W`=T|7x?eS~-%mb!_Ry@B8KB^1WM#X7rHOV<( z&vdfiVA=5O6a>qT=;}y$||H0hk-OY9)^Q>lz z%%sF#FpLZk#=~bC&pu1*jx_!$2iKbPf!`|zPR1aCu`MnyuRfY4y5D(dy!p*4IxF6S zFs~mIM@%1_P7cgcoR&AQg6pugsg;Y|Q?od2<0D1H%%CtIfdRcX?NDl%}PP`F!!! zKm=BAK$X{v+2LJYFvYF_VtGZ+S_V%LoAC+8476ZG2Z4&haBWc-J*%Z~*ju<0i-D98(b>!-q7!5jQF z|KM4**Ju5;t}14X!k{(;ifMl(+YF=mlE3unQ_kCu5;~uq&_SL$@A>|1g1rw)^rY|L z8JmSb9dPF(3yW79mdy9kmw-_E>pLsZm;Si#fb#W#* zu2)lS9CFd?A(>S@e&MdG>(MihtJ#_R1HR2Wo~y>uKf#v1-@~vtu8utPvb;u)!Pk2} zJ9?nDnBgv6ecL1BN8_lk@^Z(k90&eej(1D&Ez25P{S^ng7k>CPJl{!~$U)ImxzGWB z-wAEKQ69VT8Pr1496tE`{O?cT{gb~pM(=OiVTqHfAc@Sh9b!%X1TAvtj7*;4TOEHH zXE`(TY@J~4pRBnL$C|k(cvBxPYb!#0zfO1&zkzm?hx?dzGXC>Fo+*KFqOPDi-LG&7 z+rlMT`4X|t)H_C5BBc`o z15H3PGnFTv6`NI34cv5#0Ub~qR~kEtae1UCut$+FFK!yXz~a7iD|3#V9j8Ic)pK;Y zb!FPJQE?_H&^}xo6~Sa4_v&kg70n0|GbYanWhYSwp3xWT!U+`mX57-n&oAtPxikw- zTAB(^xw+{iaMHh%AinOc2Hs!klH-h_;nU}q%cs4?p_5bcK!>n-uXLTrh|C5v-$+;l z7Vv)Q7x-0l?TW+vl75JeArNExgkfr8!}2LZQ#?jKE=SBmCUA?sT7C_J{F<}s#5iN% zzxt~9FCC>v#Y;X1WVh7BxHdqBe(EB`Fg}ki-7@;p>5}mf2OEP3AeYiF2%32XeWZ)W z!FDoF_^V==*9?{ks$WCn2Dd@8VL|s#|8F-TH0QTvt zdk}k%*Mf zZv^CO-N4c~B`}^b_GEE5#(nw}afgGdRo>+sW`=ByH9<4#oSia)Oy1BVXc)tTNGu8neM z1#^Pd;g>BbuYN3z!xI}=uigr5bSph0JeWpR>OQsGGutxZ@*2bxe;s}Nc$k>(r%!|~ zx;%R3p~Tn*DF6u;*>VS;r}R5;pcB(C_|5o&kvYHn4gTNzq<11M<5n>U=is~j1n!o> zH&_VWz)kd}@n*TuAN%z4ecLSlZoFOdsZA(8D2-N9KKR~bt&=a7xf>_xE3yJUHlY#N zqHhVro8@{cLVZhLWN5$ij2kgMjr{Ng}$b43B=;6FTF*@|{ zuKKy2z4X}b7c$gGE|VDKT6v$(R2?kNMT_vsie4)h!b4RN)ekQ(|K0O1e*WD*dVc%S zzs~B2I-S*Sf*XQA4cY)UD{!=0W$X1;j@EV1yTi}Zo0ygK5G=^a0G@8 z&h@;U7O_8baNx#X zP->vyg^bznD75ltN-o7FRi^t)mGUEQyf@jr-@mPh5G}K^uq(>o%7L7DUQA^Knr`A< z^QpI_*rA7Kq9?eY>W>|kc7mgG%oONXeP;Vf`v|Z-_dxgiDjcuM3#Ln9!kd8=y%4>_ zYI^X7Q(w6XJ-|Ux?8#d1seb_@`BsY`&gyhz3>peoniq4ftThO?errj4OVu|?6(_EV zxUPyn>MFy8ZjCWI`dQa>J4QJ3c4k@EO`is^yFdC`Nms)jG7=;bvwhhL9xZCz0r zGB0~2&xsWOc2afPMF^QI$*TmL3iv{UmT_AgPh!wXSwG{1MH4r|w|SEx#YeSOv@zVL zvc!7H@({YwpLxK%ZIt%>fzp^{RN5Y=!bz~s7COb4tDkSF;y7Dg(!a(5F7sfgV0C8x zb5djU$mn${DI)Vea7*`NGev6IgthgSQzTSDCOj%0a8*;~Z-aM)rWFH~YbR-~QBv|R zc<9qXWM2`-!EBq@sr@qi#dRGG}hGRSzZ@#sQT5i0^`(@IGu8bDy_jFmHkk2fqAG-z`Zuvz$}T1-on{tLN$K ztWx@MvBLf5b?pYx^*8xC$L@9I<5i2_xWD~|&d1XGq zV|f{$HvAmDwm4i|X0rTF;(SlskF2ep3T_0`T|rWR=0evZF>oQj4+((C@X|rQ?^Wb? zV+(%C;_!hFP|Vv6DtpXX0F%kLryzpKet}K>+!eoJ!xpZ&;o-5NNnD(S= zuK5j4@>;|P{w;rWo_7_)+dq2#(#c=g*ja>WJBTOhf3%|H?Ct!TqzYSxPc80ORu?>G;a}&4#J^}oGw|uUm zs8OxKWc65qs+~LIxhtv}v&h$R2RdAC;QKboxR*(0c6&+BJ)l%uT3GrRIyh(rM*;)5 zEMtg9^aS|M{Ln>norAQn6Ha1lkMlWDuF13nN}qFOELXRV@AjPP+`iksD{~g}Bq21<=z6ZLU5fl>g~Mn!yz3}|8_PQT@b!H@ zb+*@st}epArKj!C(iA|Hm;~9@=drsEy6Y5a-0GetXo9;u%l3yEQ$e?qC<++2JRJT~ zUmg$39AgEC%=eF+xNcj=KJNMMcUpTDyyf857U?5=WW(vX2{%4m&2k7Fx~=`(10PEi zV!yfmb>>HJYNNJ#cIM#~>#RQOo5r8+6^x4n#S7SxE(o7@%wI+4f9mSw2EwyKEqw^@ zIr#iOdRHB{^t^b|a4t8u4pPwf{lKX`-_;ST+k)NYk6m>XPK2AtU7hLa;?rDW6@C8s z{okPvMmY(9=tIA5$b10*Y5%kQz4p8P3qittRy!M%)+TCv78TM@ZDQ?9Xy|dG*Y7Qo z+@HQVm@D(DPD4JT?{m=N?%i*hZg}jJBWE1uZXIi<6z4(H2198lp+l(!->rf~ zk>%Oq?xxiSc)8elM+O!TOP|tF!!<~W-%?x_=2n>j!yVAvbI|wDTDnyy!Q-+B59NvD z7Xi<%vJ2PINfHkBfd`L#1|Q&4c)30wR<+IFW(xgFl7fUz=<&d3!7235I7&i^N1M3f zviM9eWG>J?_{)=g09VH1_RYUH3~HOihuYmIYe%M+uNuF!y#2B<)n8{3p>kEZc+YFa zL1E4P$fo%#@)n)GxV-Jfah6RRaG^dWXPKvd$6xUK9|y1V+Xp$8PMd9UAIsynuPgZs z&oR`E_nU_g7>}o|K<6YKl=-RJnMb`LJxo0GS!yjq`dW< zJZuKyH+*8Iy-PlEb_W4H7|DAH?SQQ@m+?dar9T`%JB!BYjDgb>oXhZ52ujFHK+rGr z8N;jB*$e`D8ZZH-xZQcCS# zK80Rt@0@o72d@bkM-H@3pts5)ou7bc9R4{1-VV#HBnm_Woge}S$ihz0)0I9sk8`;t za*!xWNjyccBl=_bOSjI|D>C3dw4el5tLn|7p@>|<))i3U>zf>dl*Yo3@Q|Da2iRK{ z3Z|?`VS)0D#s!HH)XRB4r$VPs^{`4ttK&L4fBIvE+>WC0QhrJzBm%tqldra|Z0JEk zroWXDZj2mu=5q8q4rKy+Gk|gJ1cjV%uQ=Jjo`9-6MbIjK9)rSRMujKJs(WxZ`5^_X zzUuHYrW9Hf;_~GEerek3bvBUcD3Y1AJ^lxvRF& z<($HOpRr(l6xk1XHJ;Uk75lEDO6TDa3AV`lZs!P`;4FcUf=}^Cc+92cE$?=46G_+r z@to74ab$GDa&bU=^0+G(d>?(UDNBxpLpkN(+OSwgjk%hwv!zD(S5Ph-#|f z!gcm)>?A8W6Jrdk6EdAm=*e&EB4Fg7`IhdY|MeTRO4cr?yyfiXjXHcT#+7bzpPu&# z0&O2$&Thwx#F@lr96GdioLv$h*c2g8+nS>9l5C`WJ4q%3EM4!p+$GvBSN0_8ciE0c zPXzOQ^&;)`OzffcZ(y-f_Onb*O{VLaz~02#;+jBTxOC8rPc3BVByfpm_;(K{6T3`bRNP~a%&T6t z4)O-8Jv&03_Z3{$I<6LgRGKq`tDHM_qk*Zqvr(l;r!8SzgWglO8=d5@_p}%z#{4rhX)9j`G6L6}(1RM_91@k2GrazT} zQv@5QSQ_#t^Zc*oH|63X;yScLhn`*z44OlncLMThzlWZc*H9jYUo`tP9}fqktv*OQ z%_4KylGka|?}f`jxaasduJyA|k*-FX=Z9&&DDW(PnI8gRga^klXdwcCfD2Z?qifH8 z=JeM-$R@R~bg_8s@9HsCI%*{>_Rm8F=NYR(7;uW;gPVt7uW-fDZ>7gRd-t2w;+sEq z?&;?tIO;XQB|jvvhJSDTdUi*DI{*@|io^7*`}j06`$ZX|#dq+vdbo2BzL3`-r-=rx zm6p-D4I;y5@BL(WW#28WF)Jf?uwS?YtNm{OnRoevU-P;8{=!Rrt5w#PbsLkyeeA?0 zPhtan+J1)Jd277D0ABUIf!#ZNMfaQl^x_-zS?8O6Dg%NyqQL0y6C}m?;vjm7XD-+_ z5z;y26GtJq18*1J^|c4%b)Mz1md^8V=@6Vg@QnJFJZXQv&xbjQscT}TUFVmo9mk^8 z7nSSM+hemLFZxLB(B5Y~*uj`KR1@4XGT(2Svy%Sde|!GD-}=eCEZTvx|E>&xjHUXA zVRF5~qF`F(Ru92&1hc^luywWXa;{>;n@i0C7D+do98-y>sF{-~N@Ijzf z$yogi0{O@)kuhRqH`|9J)C7U=k|2mvkPAgt2&I0s%gLqmIP}Pw4FCxN@ieqIT>IK0 z;X-4~O+9;(5e-Ik^Q_w846fnm%0`GzUkw~JRuo^2!a7`{MT0ccH@;Bfm~MfifkXu>{7rwQSK(`55c(n1 zho(I#9y~C%*r)tp+EA&XU`kGn#*Ra+y}8~`?D<<0=Cp7zV&zx?QdeLVV5ljIBP`NS zbtFF2Ie7#}DUU|!d4(6d5#?)AHTVgxnA%ZT-3xkF`#g^ZS0381cyF!ySz1zVRz(r~ z)8^oL8QqzfFss`%cs<)Y)Vhac4L-&DTixRMNWXYrug2Aw7p~v|j}5KF>)=y;de1Ob zG*{_b_l>$zrn(BJam+*g2f(F%cEIJ+~UOuWZ`w z6p>Luu=`rUU$&1_E|Z9Af^y*}xEJ4fbx^*Xc;>i2*+!DxY7UTgB9q$L4h{$Bbu_zT>1B=&3owUru>4$%BiBksei_X)lUE}Rqw zPf<6(6P?Svjp_MRe{rZoCqF9#mTe61diXnX-nrFZHZGIM)GDZOHgI_i+e*kMTx48m zCtXsV-b59^o&*uWF#&f-*ZHcAo&}FaE_RIpk`M@Qy1($nMgQtPCq%`MDMt^kY6I+F z1}8Wz#&HjS+)9pl07*naRM#bgGmg&)NNKw+0^9tK6SqNg?rjM+dgAD%NTr{bcq-rq znbQ}DG4J`XG~=;<4&JTnnp#t}idVKW&XttX)xPEotq9Bt*?o*0uvA~@2Z6qE2#y*+ zbQO))^B5;}o_QxaedI8#(bYa6Eew*myX4&TdMJmE#y>%^`N8uX9%(?kSYRgem*m1c zk5k-!_}ySRLA&lP%<(UQ$H^o9uEd-jvp(yD1AE$`li<2&bJ>xHei|q)9(8y6xZ7`_ zm^p2L71-_ojtp9G8lKo!cP)3=xG`{2vvXKr{(iS3J89h^e>Nt^C@T76C=ZpWv^BwpfIj8r?p@a6T59Ff#zI#T` z5gdlbC7%*@>Su8g{&>KX^@{Cn;M%}kG`Z%(yi!6nY zW1!VX;N^XyGK_w0Q}?l+mDL11RXlOR$nG;@m;!<;IUz<#R-M%o3545h`5)8B%2tfl z*>i12(Iv`WHNk0N3dN=H<+*MNXlUc?wrQ#rqO*12*aL2ZM~&0q)U)Yo*uKXWCt4BK zthR@#drGyPM|Cp!9l^TvFrD`GVc<-BBw^L+kX9Nsc6blmh$zuTnyVZ^Icm_#P8Pfa zkDRe6V-H`5uzind&mP#*pVfD99z(gSdIPIoYh!0E{8eQy#0$@HdK^5)DXr6#`<5f) zuzMwqGEFGk0Akb*u0n6EYz*(Ox`N-%tFj!FRsP$m_%rU-2yDa1LzU4@pc4Tc<5fe@ z_Ats(TCG0VgUteu#;qf+@2BkAiWeUz{KkFZFFN_`BaTtvL-@VQmXY@umhjSfC7*y) z;zaLAH2nx#31;Fnn?<2pm2eY8epS`c?S4I;pp-0M3Lj$_{Kwd@e^Te;P8xK+l8l%(%=;j#a6Vz4F4N`Xpc#{i|<s&yi!h6=qw%6f5wbz^Uu>aBi z;R{VXi=wNjp%#!sM(l>$?4lzQ3GA*<91B$G%LE@-bB>j3wA4 z#?cA2MGOv23^#p6)&sC4hKjHwkzSJK0(dr5CTm6b+zOccZe*^qnOVXqKR@#S$H^^mJ z)6GGBzB30W-p;CjaL?QVSCwUOw69`YeH{3r&kcQWv@|RJGG^?p;mWFHt9-4fXZ)<5 zu77^VR%$cG73}GEGrFbk106!Ut&j+AN}k(SW85UYfbYU- zWhOQvk#yi`TiH$dHo;^2s7?@{s()}OJRkY4e`~ykKO^(zvw0TXmV1$b~|CWtg zPo=NRmYfQTv3bAz*-zi>^f?>sfYk?n*-5a&1)qeuTpH`uMvOJi&v_naE*T5>J`?5f z28-$wLtbXgYnN7OC!4iOu8b$aRhL3JSdc#Nwx&SEBJK+ zOUTOd17X2Yk`_@imYXWFBq!>qi_b<8lKl^@tMFX%Zrs+{^zW=RhnU>n@=XWWa;A+k zF`gL#@-_fZfUW zc?D{4sDuKdmjq1rhXZdjx(L}30RPPDHuy@S06wwco6iOJr3lLpny5FgKN|g8(dOBf zh1v*eT$fL7f$tR@7&}@0xyJP&LdM?-JQtbfsZGv&hm(8j;~JP<2}+iD=NI{Uro_&P ziotD`5AyHj3(B%GYx`RWp`zudq5$ z+c`>3sA{M@T8^C``uO*{eBXNO+rSG$k+?$tHkwrRvAbx3eS}b1js@B@^%~upNk^q%wGM? zK8eoJ&(V3*(we3R1zS9 zeQ@<{;A7F%2#r24Zn|x#a)jN(w~&D;OnIlf+H32K@CdB#4`^a6`{FOt-9uIjM{2VY zo$K&Kw-9Jnsn(0m>3(UQr674|iq&$xwQK~?J}un($j=2&j3GI<)~oKbRy(>dS{EKr z)qx(bol`P!j!a{(cu&lKIK)lk!=Rf6-Tc;_DDC~ zgL`m%)wW4VSDk48w$EhttW1Y_jo1vP*NN$!=DO%Z*XFZ8pu-gG8UrrX)}MaATjlF& zI=mgl9X>t#q-!4(`1dtr>5}J!$jIPBAky*f6|EbNu9^#vD8L#Ab5&Q4(Fvhm+td$g zKoc(9Io|&3ous|}iSXFNp5ZbyGN8clBrs`Sxq!A(p!y7cE}4122R>6)X0J+t-RFLn z(5}O0d*i({{VsY77o|t>b+4f7J>-2QSKzH3UmnmG!J`1zlD5KJC#O6R9%{0{hw&8; zq1nJhAhqKZA1UcaH|3hkXV18$8}bx73odc~`UJ(Z=G!*bZ`D5aF})hw_JT87DYoB} z4J~RHz_Yd3Dztllw(j@PFSY9mf5%}PLY^Q_h#{GwB}h zE%TgK7--E8%8VDknMU;Be*=y~>QV@*-Xm zU9(!o{!QUZ39rh4_$<8Z4&=&BU?p0qUwE){^7D7LoWO%boq%$%Bw|qc5qa8ElO-oH z&hUN%yESAnrc3k$;6)kqv7EbtA%1b5ckq?@p-b(ym;bEmv@+FXXOcCn9)?%=Jo4ZD zo9jrRHzw4aLoz%^!>m{By+MeJ2pPS>uK6kbqfe5o!AKZ?tQZRJ$Y=XAUph!`py^i* z>fz`<=oPt(E=NB^*1Qil+h8;#bh6F|m*{7|$C&d)E}X1?TzrCa$)uc&3ttdc$;M2H z0Ne=)?<|aa_#{o$zYY|$E`55{OFw6Icy+sB+V^m8AHg&D z3Av(+TQV#dZMW;FiN;M-1})gyGjAu=W7F!ms4~qYweH_J1Q$9?4E^3DL-Y^4kkyIO zCVXSDpRrWhNPHpBFAv2%oNYAGSoe_oyA1YDz>bB=``x@*&hg{zw4U8Sx zKx^qaC5L3kV0QTdPQtlACkqsm6R_)Qw+b>2b>7!L7#B z(@IqNP)Yj&krMuY$$+G3BlJb-T(vH0b-nH{gOUdcOOgHKu9B z-_lMngkHsUgQ=>8yDdHDAiRNNo&F|S!*>tCW%o*}f6+rYr(Cx>q5M(-5`1b~00Oi4 zfUmi(zIL9TmYuE#kvQYXU(oXkZq&cVzdi-* z9fb2tWhUS66-D*2JXW|mU-dQDz6aIL&n1&(WTIbGVJ0-b5YxTw%_tKa(wkg;w^l- zxtact(Fu(H)uQAsm zsq#~~%Um|8mv*t2WPoJaJI5UM_PAnSxZLjf7qiEE_lm{&DV12o#^5G9k0JMiJ}k$` z>tR}UfU_DTha~s9m(3210kAWq2`11adlQFFjtc(a{GMxFnFLPle}sXmC_;#Pqy8txmkw zJ`7;nwRr*=Kb~NpU&g_%Qe{o}C=BfxneP6#CSUV?^k1)o+q%jS_0LnUa|tXb(8`O>jdLGbF404HC+8f@A3WU zGEYGLnV$3!-O;fT>RkZ<2?} zVpLB%l+)^cDgdrF;G=p9+Rxm+jy{*H3%>C3CUHU=^?8?zn~$w~y%3POMSn={UghBo zEB8g*f_^`P&W! zPFC`{FKqvYAa3pvI99i;vbt?+by*j6lAu62c>X6s3Y?+tCQIk?zH;f(jb^ahc8ka7 z-zF!mOU{aSaS$EIvuU&XKJYGl=^r{=$^ONu_`y8BeXV^lg#4|nw!e(qKt{M6xX->` z&7;9$d<^1`j*}JC8y^J0U3o1oHD}=^JC_{dkRs9C* zyX7F~{uB7=*#>g=e479bOzjf{1rF$O{l4*5UTrX}X4u7iKH&Mf)&%tOc;|D|COBR` z(7h&{+TK3Q$}ruJ*<6JDI2s*cc)>lYLX*?cmu=(K2T{yz{%O ztXZjTd3X(Z%Ms!E0f3+&1nKIz`wSDwVBR#2W5C#9xZUG@tvb8Z&BwCq@DcRMB1p!5 z`pt=tc8+g{&<5H9$29#1LtFyD_+_Xggr}7HQYbJ$kzN7IC4}V~D1m+tDFO`IcvZEB zrF135hp@=8I75`SUTM7)cAR!raMW#{fffqXLK781yTnuf&#Rl_ggM|a6EQ;ss7!R6 zIADrHvj^4{l^6fS)EoW;;=qR@5--HZ(^$Y4UQ1uW%JQ>yiC@v=B#6uZ9gvFOnjzEg zaWH4zZz`SLeU0~Ojd|20@PRs~5}HsDg_D+s)B7!h#z}3V_gN4zA!&=4-m! zAYS?enOE?o`(A0|u(Sp!dN8!9F>Sf-2@=hpri*y?W&@PY+@I=$$gj$teQI)GA^02o z#_2f;lIUybAX?SQx)LqoAK@a##Vdo>r`GRDSVfK?b>?RIFK)!B$H?s&4PhowT>}kG zPGGpYS-2$IHtV&KW6N3+rQkpMptOoHZMBe-E@eE+546Uvg#Qancw<#(<>9*TYMA?7 z-h&}-qgNMR_#G(%BsEQ z5&X3B?N02djJYR%t2)cwJGu2ux+>1|>)??+-0E}2M6)w5T~8Imz(tTAeFWHaIM#7s znl}XQYBgAmzG-O7=lq|A9BH(kFb%%0)wz-*L0YR?bP$|Z!wW%Ix!vc>tU9?u#XL&_ zc|KX;hHmCd{gzwy1ztRQqyfR}Y%B8OjNx(+pWs`4b>-%AaJ{;pq(FT&QFY)|Fs!0s zt>!Bb{yvK&Ug@|0($)IUFQ2B2)bIMf{Ui2vkFKOVc<}c9tbl$_P)HzIeHbV89L$zO z&8}5C2l@T8o>O2fUQ?j|Y3BdsqY_D>NnzRai6)!Xc9f`}U58_JPWa;1BLBRN|nkEXNCrzLy_@LpMmfEPQOWTJ?Gje(mJLKIx3Ty7``a z?(sZIaPuCnPPmc->vPE74X(TD`E`EpUR~=2Iw>xohw!fFdiu1+m0!}NM&`|7iGihf ziB7j85c(Bf41DlNd43N6DrpvXv5#u6ZFu`yGL03!L4NbQ&)orFaRa{y_Ounf=>Ed% z4cDa)>%*M6B)LlaB$DH6oWSMcuijguo}dxftgn_=YD{*aBuMG?mWj{2Dc#0Tj2ssy z(eH*ka4e2O*Os2O0-zvZs}c;ur)j@NKeWfVRcSCg9DQ>fRRhXp~1D1J%L6K&cSHd&~G`joUAAgOwa)GGK#pbrrG^qH$eq6 zLgoO|2(S|9JHaAX66#)Cb^b6?|wvM6uQ zQN&O`hF5s(K{;!T)Gk5d*+UeiQ3h4tDJkg+-=Wp)CXNGnuachq_vtIB!YRdZHf#h6 zF#=r?p%ifF=RN(w>*CnKgrB!C8pr-_XKW6tnfI|0X*~#PNEze5Vk7ClhS;`{|~Fpw~}J=!DpTk>E!su z!QR#68~*`%rzu=?^|S^i^R})yfg?C$a+dcEI)PQVv}_1ZtT=#SEn)KZna2LJap!`0!0x{BC4-^P)nVs=( zas1Uh{gbT1)}F*}lo!zxvKzH$nJ;=bydj*yA6cCfp0W?WIv2?iUzWF5>GYIt^S*;u z@vxxxYpsk0)0yYt?eH4#bp_q;FlUIhr?w%cd*IdgI;PB_w({tC_$IQr+c+TWV<4~K z@q_j&;bVAPn+_NJkU&F+y7_&hm0i!vy2r3LsT~z!1+eoLbUMA1(Qeq1-0wWP({s+qvLP8dy69Pm63FOEkMzS3Z z2||F3L5yYN(Rl8Q+UK6PW<8(hc~;eLceC$3z4!0?t8dk+^}bfEs?v7^pXzf~eD(MA zl_w4|N#^;{;ip_BCl;`oiD@LGn^AxvLaFlcD@@7FS z-ck){<)beHL+IpZ8n`qvz8>xZ=iSgg7}&mAy1p`+29ck~F|Po0VF|AE+6D%lMC3sC zmJ>t<*7#=+3rw}6^pm*;M}nQA^!gRZS8XbXL)LQG<>#>)TIwVx$u#hVM7Fi_+HOu^_6|n!k=*dV?0%?l-C8H`q)nWcatIP zU)CHmkM?;b*>*gVDB&>;6JN+Y^=#$)et+9)ZsouFW9@G~D>1{Z2$@@h$l|tof&PT6 z!kpiF-q@;0ET8u(Hu(9{rP1ltS1xJK9`de8XJHr2>fKueOEW#&tKKdiEzcK6wx|N$ zI9s{!J9C|w_IPK-DT<~0VDWQghy@1*Kfz+3;}j&I;`?-paZ^@WbbeelItJDOv7Km7 z)cPmJd=$tzT%`)nznAx+OIK@3lro_Dj6yC$){(iCj2T^U->2CI@l_NFP%Xv|wCw;! zPHbfO;;H9U$`gGSl6jnk`lD5wU^gB!^=a|lW*$C6XJ`^kG~;>R)xG*o5S(o0`a8Bhu8Wy zeDvG^Q9!Q0(NI$>nO2S1*)b0N)A=4pD^za96i^r4ZQBmvY|Cdv%^H zBIYRz^MQ#2p|q+lhd)_hbb;m=$HMGn1J?twtXE5?+{6%mcOdsDiw?NrXzFi_ZMLJ( zjoY7UkE)|LkL{6)9O2F!OHI>(CCk$Lnt zcy&MMk|anqOhyWW3eLgXjB?A3kHLf?&^p7QV>^5)a|U3K*; zye@InnIZORZk^`}0g$82-!>1@lXsUV4XKO#}zC8mV&bjgSXde)D-mOlbL)7N)w>X@JPjTIM z31B!QW}azPoN{r-n|D_3{EQWB1=mR;xuo1lt~Q(z|J+gWnpw z^A4Y-LxM}-xcxvw=r+cV;m{aDT-#qd68ZJ_1Z}l>4QlT9>96>b;u<6`nQsy^v_`%8G;85dvk!$&MX`KPq5h^}3 zz7`QjF1io=0q5obM+;=Zp3g;p-E8dzLwXenG#k4XUe3cTjDomU_(dI^+21>A5BT{0i?IKTfj$@1JoK@g+AWRr> z#@;|B0%+Zs;GFEZjI{}-V4y-}2PrEFLBJ`;_ukhnfecx^A~Sf2O!x$I&#kK#E$wvx zmOy}g3R%^~xXFnVevM`)++Hl9@^w48J6}#`p6k=#OOGdqqj%Qw9yAxSoB#mt!A}z<>YLNMlNDRr z+IK?(@%0HR!aITc1pc8X5D9nL3m+Vs-j|q*e-Ej^NtT~Yqs+n1dK6&VIKYf9(r*Q; zVG3x3Y`Bk;eK$Wi2ot|0P)b{xGw)N53!84jBlwGvXj1Sv;i8+BUxSSeyy|SFFDG;C zsPxc9_m@MZB0t612FU^^ddwufaJGV}ZfAbN2?-jnTrS^N-ZWR_vL~abJhzTha9*BZ z1sL3BzchNKJg@O`UvlUMK11NuvBzr%5bVQG`B0MP`g>V?#ex5NMmJ%;IZs2Is*KJhXS)9iqhC*wWeTt zId~NwoPhc?pS>SDI>DFH=KwLU?(0BBZ`YlEl}iPY3RvZ=9-ZatBPS=x^Q%pg)h}ls zyquUGE_T+b%{M)dgL}W{k#3*R6>!oW3O+TasblJ#uKRdY=!W*`~vkMyT{*7I_htzEjab}@R7ET^0(kqpi7I+(CJFMe|}CI0xHwQ zCrJcf2{HtS4olNYrF=HpAUl?EO13kb&dlG&UWWzP3gA)CD(UKkl!>RUo!)%V*cwL+ zHvhQmmKC|{z_kb68th^Z<)c(4%8U7a6`k6&-?oiTX`59H)&*X1cQVC6PlCz7wJR;R zgAd-H{jBpYUJpM#RHmgpcF=sXE0x=~U`j7b7aM3vimk;lTuE8t&;VIuvu=x6Rd_z5?w8yY!U4FHQu1FthxA;fiO$@y(03Ep794=0lf-uXyY8^w}U4+FSv> zrWTvL^8l~Hfpz%Nj?puhp0K=KW6^(b)wvdLn=lAIVwZow_tmw$m%d|L)`r#3TN&#- zO4pW(Uo>3))w4?vm8TZx^EFq=Y3$;`xR`sqXU9xe8JEd|)MW1D6v()r1J#7%YSS3! z%K>AaATq1dmtc6GnvDg~W+CLYZT92+l|FRs$^*uk}#2%CFI8hX|OUiRc z!nVQ#m>tN~sa&Tu^V!ULSF?b{Nf7UjoWHX&v#aF7GkR02vY~qt8oL)7IyBhvocCI- zOQG(`--0I&?NQF=ar8_LYgWXZRB*KbyjJ?%{LUO18u@eirXQU^puF5wMl-q(J?e^V z3_wn*hJGm(?!B`?$h@e-48?2V83i%IGuGad%>W5tK$IM3_oZM1{ztBgi_pC|1g2wLT&C+pm;!}8 zTLQX>Z$|$lTin&+bFEo%6`iMTBh1hVrpo4Bab)7&MzQZ&dnhou55uJDL_ab1i?cO8 zfnQBlUX5c1tj2AVg;tE=Ap&o8-DHT940bprN3s~MYT(uaWcmb3G$U!EKMc25HIwv6 z0<2X6rAbS0Jw|nn@de&$R|RVHIXs!bvb<+rYLeQCL~Nb<)Ng3uL#xi#89Vmh&*tJ6 zjt_5%O zFwJY1VxyR))}nLfL3s(dj5wbUP`-~2;j{H5sV4Y6)~qrh{v&8lfUNH~05Ti;r}}07 zntq(R^8MvG;s_#~Ehq_CgG0~GZ^2E#;b6QKG_O?oF(b9~oCDfqzblu#%WUBrA6zz} z>pJB3>T`5{f^y2w=Me#Y^hx1R|4y0fCv$)q6sT!-nrBMl2T%Ct#lcJ{h+?}NZjSJN-0(+&7n=cIk)U=LO97c&pL;9aVMU z3;#{uhNlfWhw9cUk@R;j05!SPKn(bU@7gmIVfx-N(&xp;VUy^r8y^vs@@w_W#RrSy z;%|c)(Z#yUy4tj2zV)RxNbjny#!e#OAkB;g{u`*8KISd+p5gGq!Vf9}($xB^ea(Bl zvZ?c1Ug`_wC-om%#)j>jmev;>yAt}0A6>s9uA2T@W*!eQ>w=^5k7%^qJM#k{Nqp`1Q}L18G1dpft_vT6y)qhn0$=!a_0>gx zWGN@7-+}qfm&;pf8(t;x6FLH?a8rIy8UIyCnGJA2p9h`K3k{t{? zbOchECVej_W8TMUoxgE>MdKLSn2PQ%#M#oD8ZZu}sIjGn^lu*NA9bSP8v!pTf!Rv% zTfS)}K!71f$>><4vU>>l{_x=a8sfNy+@{ z@N{0*=@GU7>v_&|nB~lWhlw%Pc)n^!AWPYJwHpUfV8qCGh1tv(Tr94$UtPE)XmJ93P6yPVvPB}5LL*~+|9hm01kzI2gL~xwZ5_C z?mWx;tDuY%9P-Xd^Wgi(WP$?`>5l~L;jKi<0o!E@41>xh1&`+izL5t@hXU^I z-*&Y?+R*5%ZY`~an6&fY&U%_>f~&<@cZl#jXu%J2P`x+$oad^9ZRu1iC?Ot1KKy{;ep5$R1NBBx@kTq`;Fi(13-P7H~ zs)O0s*K1|%#Z*U;^aIw=P&^koaixOgLDSeOs|FYlPjKnG;0#%fKAf*f43eO!O|mU& z0Be~JKA2CE6XJ!+)4VfCuKOxX5|?bfP#g27 z5@8fp;VMZZ=o z@}hEcuFoRa&g$>XVFTLW0*oy0nUkBib)LjBp?3bSo>*QyXZ@+*I_FsE9aLnk>Ks-! zu)af%1dk7*wem6C=MMCX-m1#$6-m>scWwJ*a-CLgea)%nTy=FSKR7oUn>OQ2Ke_do z@^211o1ZZIYu7Fu+DLd_ z>~GE;>x@yPbew#?`FUwlc%RV%C8h<=Buvyyi$QmA+rYGQ@q`0d-@AAcfJKY>_blnZ z_+X0qUV1}`2?gV#N9SJMa?t^NW>{oQ|H4aagD>8^&;u<2S$tjoOWWdi`?nvptL@-Z zFONmhJ>F!_#c%3S|7Ud}fW}bsg^YgSY-avpl@7zHfo_B*IM8=Nq#ghHtg}(5i?@8hcp$jT8QtDor-oEjeBs8h+D4t?n=2C?PQa*FLr zs~?Zmz0TlfVe(iUl*HhHE>5TW7HA1>ppW=O*Ub3TbCW-`x3Eib9YU;dDZthugVA z$n4|;D8yf&`ES*SlM!lb9)mx~gvZGF;l*5f;J~f$(qx?ne@`+(e*xFw zr>!z*pU9s2*E<=1Y1Kf_`elu>m4oRU-f_~&w!;UlHR+QeS~e|uvk8yx3%CBU+>*f9 za!*g4z%UFG0iIX6c*0JlBOLIBAH z2d7N}n;+FrEt`ddlh8p(QVoJ%aI1Y_^Qv{Z&HA9DaS&TdeX;IJc8vq}DJz(7&>iLz z%FG2MHzXs}u z{_E@(0jr0~UxhLK+Y~9tcMy$&jJJO zS9P~Pj=!E^RwQIF4@@NM_`1k znSa|o&?|q%_;KO$ zmYQ4VIN+(iao1ZNs=vYQsVj1W8z1^yg;IIHU`&@wf8Ndem36v^Y@oB=J-zsYIb01V z17e0@ieQ{5ud?~-Bl8hXvx0>n(oTQ^X&EAYWrWd9TB#&hgJO|*gE?3Aw~C)u&!AhX^JY58^ePWv)H zJyv}j!(mvW2WVGW%|!UF%KQYSjEmeEHh4k2u6dVcLr1;cm0hp?8NMcQ2v!utiGMSD zrkT(5rPb0@N33&1BfoG5CF$Y>w=_udW&T9I!hc(_GPG+M>8UzuKvg~Axkp*Sw3emd zfuPU)x=EADehd!ujo~fdR33pF`c)?<=+7!5M{@K&Y;{xKV$6Av(rW8r<5OepK4rlY zovt}l{sljdHHh|{@73IGi;SpC(c2DQ6N=*3ZY$YrKXZ4#-P7IdZw*^SjPa5C(2^kn zpZv8si~N*_NnK88;?942$&`o9EpdcS(L2L3J;Lzh)nBv0Y6p^aC`r-3TWR*tPR;IP<$%KGY+%VF*o7~|Xc@TvRi0Hm$ns+UNX_57ajQ+kF3ibKhR zGt-pta{BT;;ObNQLILiCg|oWjApDfeFHJ9*_5Ad9oM`NVA==fDtP+v%tzOgkjCb^H zZv_u^T_P^{fX#Z>klUwXbBy>5d+q+-58Ur|p~3vtgXX&b94`X;D9bOYX!vbA#H_KPmaW`oHb9_he_qeiy6) zXZ3mL8m95Dm2c}Me)JkL*?IoRHCnMXCpgqQ)4ucQ-fwgQToB$B9n*g+1E7=USh{B1 z`oaZR^p8)!wi?`Aee*f(uI&t-Yx-?W(!ccEL$9^Po;Z1EF51lH>F60?DM zd9|O_&brFH-ghq)t)m&ZXmjBZyz5`bzvjg&mBYZ_c>~&=z;XPh1mcT-L-%;=RSag8 zcs^IC?tp>dCx7z_swLyYRFG8FxId=5Y>Q8-0*=3^TcU-1&$jL$e%_Lh_2 z!IO#O`FGL>e^y`;$f7X}OW-|U1($l=`(7hh+2?=*l*9?}X>WWS0He|qCFq&&d-aY9 zrcQ$+V4McpPZ)#UV4^3Odc}L%K{&rlV1$zbfC=tO$CTFDl`$l|lhtH`mg77+8KZsD zhRJ)9qx*#){uT^TJeR>|kw~;rq@I&`i zCRKb@Cgs;vKz_l2yY@`{DyaV#R255xYChzmse%;11`kt3evQn-v$vLQakq5*3nPf zI0sGYbZ<8D4ey7}aUQ)*B7vv)M&+G2$ub1fmNIb#anXm71@IJEYWCd+F_}Z|66Po* zR~Zz+@U{tQd1-%PHRxnHv|$cjE@uqXhqu8~Xk?u&R7G!*MA00Z6!G)Dx{K0u>Dw7A zrNB!wmc01ffs6yb#Xr6!0{9f<0;_|bCh}NihhFB(Q*EOp_l$>a?9B%> zh+fIOsuL3kR~HEX?lNWAb$Fx0yz-nRd1V^-lCWWp9_~~;cz)&$({1H7wxBDbO=w!D zM|aG7_G2rbNrcV23buO~srpp_sHCIXmOou7=CK)<%B7RM-<8)GYs-Y~ea<4!3F9^7 z#(`~9Le}a&@rL@5s7@PEO^y=*d9vQ#SM7k8m2UMB8SJ*Bo{DbW;&C~JL0cZOV(z4u z?3cLw4V4zc0ej%p^E9XLeBODQWq{$F-CqB}w0EE*xU{ESlaU_us=BSB@$2iwqzf3# z)sK-CebX}UchlC_hfVOE)xmf3J>}=&DT3bhXd>zgcwt{2@miCkC(pT{|;PODGDd2n91&jE4mclVUzkLA6N zL)XT?QBYlEr+nuZ`?k-Tz*yZbSkfMx4&G)j><4wT!MDbdzHN}3;Dh$oKc-LgKk{;t z>id0He@ip)cfCV@!6}Mjk)HV*hMUH25j}|Voqz1r4)390O~XB*zT;GX2YhIveZZSg zy62^F=DWsWjU|f5234^mhUvoV@@by+J@zr@Fgt8f@fKXr?%37p>*fDDMgVozF%PsW ze!#;;@3K_=xS|^w(R8N)d=MP#SA%^e(S}wlSNFS1H_$unC8q@#)AOJ~3K~&+F z=i~k0-O?^}yT=zEH+gdH1COpS&huXP?9+cITVl8G#Ae_*aHe8p^~R;c9ehW3XdX>A zF^1+R{6;2_gFJtp?5J+M`Ql-mjv<~`*OGJb)Fm_1_ls|TI)OI`l5jRN5F*d#I_owG zEm#dD2!}a&q`X_RB3Eb zBd6zNJ;2Q}a1hI9UvWUCj6yr$wi0T@2#%05ES;M_Pd&RZf4t}>@i%T%_Lyv`(wF!bWjCPDfv$qn`!o@>6KB|(XUd5Yu(bdGtb8uPz>{()GO3H~K8eC*&+j zGkw@lh%SK>c+C^l3G^2fd6n4;+GW7{=42r)*G-042l6^W$y9U? zrmp_o_W(OFWm!?lI&cd&?Jr#km(U*iNGGVx`HhU~S)a!_If<^Uy2aUt2FPN9fXLOZ zfEPimL{Io2T@xoCJ_($TY;07vR6d{0qviw3f%Tr|CjQDks+Li2g_6)l-_~_o!Gi2+ ztjbV>>C53+W5dAD=pDln{1~4{N9v$3B`BANZzu2v{BiW~!+8a@Q)`UPbBEs1UB&Ii zmjtZKe}`CXbBWLA0b}derSB>Mn zKrbJLr?E(s0aW-!)jKGdfhkoe0^;Fb?D>AL^$MKGvD!s0joq^itM(SI!C*w*G=FqJ za2tNCg_9ga_ zHuhn+f41RWCHlx;=VX7!KY6Ya_L0vIR2D|~^>qXF;Pm**#_95U<@5H->QgVA4Sq9p z`z&pDCHR7^G~Zx1d;v{OpR<^g&xHZnGyt^z@styYM3&D1VA19H1L{Bcz2{WFAyX&{ zH)zCQ1^)JNCp*w#feDeym^O5t4?n@xUEaQB=)HQXP7Od36pitK4z* z=A3Jw>Mr~N^?#T7Xa1!NdOvuI&by4=p`F@e9QwZcEweS^~F#kW&xZilW1=5*!A6D3HCGf!X=#I>}~-maqh+!dSP z_1=HIhw?07S;^?6g3QNq%dCDu&=S8T#)o(grZo97ub4oS4Abiu3?Vp!#Jtlzlkm;7 zCvae{A%xzIQ^yd2AHEI~pM!-;42}JES9&Z%aUkTt$ZR$9LqBHbuFf!yK%PN-!mn3_ z;Ti2?o-DYNAM=@$tkGN!X7zl6I(j1xM*OE|7!`pPm+OHRlIXH|?E%LivTd2{xqZ+ZBw8w>wl z0Y+!(F9Ir@;H(ul3G$TG5N5>l2(oZI_(~!GvYA^D0Os?|$UMBO0i!fRqbe02VCIvJSE=mk z%o#^JUmw8tg%2+v7#fp`#w0 zYx8cWfW%tl3-!o+^^Rpoa~C`cI8KE|^;PK{UAVgO(Er$zPS%rZ0@S>z@1&a=R6Eg# z1D*tv?vZAdmu@UaUJa7tZd#%vHz*AZw_$|ug47yhboV$GE%OGRZtW2QtTQnSGfwwZ z7w)cnqx;aScHXv%2VE3-Ef2+kX;l;@@!`u}(dJ;-^k{Mjv6wzKF`4-^0Scvrk~k#2 zwvH}hKf2;oeWjvYsXAgMw%<}6kD)TP$j$Poh{$rcVp7>O9VV5~L z$^7LisPvTt4+2;GWxlO)V;;dL(+OVny#hN`uG(-3$d_XBV@GIE1P4u;6+1rhB?5g*y zY9bE`y5G(U=h*GBpAW0ndVl`05?#Hk{`PO3Tz>E0m0l5!t&>hExb(3CWv$-L_u~t_ z9VVf~o4)=1Zn=TH1An&b`FUU{EW9e7jgyYRSsr#zpWb8pN+L7(CNQpUyT%V+87BQF zLDC(}FB};w)fpT3hOa%b{DihYNDAod_2J?NH+V92?OJi5o~7yeilGss@9(kNw$H_v zInb;)s-MAo=>xnMrwNWC#fI}5iy?{w>m>JM`8fw{{;k@g8puI=Eba`fOw-SDeXPVm0%A1`aZR}x6ySEt|j-+5}z4FWT_ z<&Wq^;0#`_Si@soJiTy-FA7ijr2WLM?__gUf@Li53t!+$Ffx|*h zWQ@xpse-ff5XTJ|Q=WcjI?6zFTqZMK*BLH>mf1p+X#{Vq(z%%RRv7ahj;Dm+RSjJg zLB_$kQ@_Sn_kgQr{(DZo4pCqlGohWvGP-}?PK!I5f8D=X__KPdqR|)Az$Jphy`41v zu9Bz&6+Y{gF55RS$G{RaUU0Gk>G^cE0Y*Xj9lWs}K(D1Q%f(qK>N_~FaG1+$S-s5I zT?ILb0xJbO?84WZ;TxTq+aOtZ2^@U}q{f#|7&YA9=jZXP+a1uENxXt%17u;>s+d<< zy)w2dKOmy;XnyLyE7rx81CR28OJQ^9Q}m4@fNY8Wws*1~xzEa17&U}Z8St^+~e zGHRhadPIR#@G*GmiSVtU*_Ha}3ca~o7HZ(D(=Vf9mbbp!Gba*=R4?q-1!TlV$!B!< z0K7Z7)e>{xK9PeE^;&qJDaDrfZtb%|?P>;>#`d5+$!E{R;N9x(l|$WypdgDWpni8n z89ub#0_S}PSehi2TnNsoP{@j=&whw5L++yUZu-!#?S+HK2Kk_kxkcLiN}stE~>|0cNJnS((~od*sWN4yVG! z{R+{Vcjsqbt&Ifl^V*)fBV8DKv+BzXPN3R=TFHq1H~>$8jvfz=*J&3H&f#QD26LY{ zB9;@&^?}6o^hVOm^XV!Nr+Lpi1mV+GLGdR7aO1Zn@4L5Kw3z=9^r~G?`4u-r{yr)& z4MRHEZ)(~n=d0hYE<4~3tet#x2>6-y=itd>7l94f{cb}Nt%MU8M+eL1eK()9I^BKl zt&&ipfueJCfCAy1m_GA(Ki_>l->Gly$$rZUmwg7UZtJA;y^}lg@_t%xz|FKD12^vz zSJ}4V&0#?~D9JEbkVT97V|oYj#RjGwZPK3i5+s|FZW~kN(q=vMO1b#9b+B47d>F3+wp_r_!&#Ayv&?iLG!@FL2&fRwR&cNWE;Poz}qWMa*+MgAbVFf<%G^v z65r2N2hP-op=o<4`A|Bm{^OK(-zM?|UPGWuVRkjMeZ%K662g5~*;aAt%fJAVZM=ac z!hh!Cwp-HPF97B!aG$WQwozsvC|+uG-UY@WCok`*Eop`!{LhN(S#;RWO?Uq;hWLpsB=LW24x+65M@( zp&3e2gC?k2J~*rFdni_wXS1NIL?l3g;VisIVMO5s7gfl+_c6*25OA78ufj23;E06A zJ+Zx28YV`9<|sz+!hG$lG_%U-+1Kge)$Qjj17RyA^l~f{1ipCL)74Fv>hA{GTcLrI zEqa7zN~|>Lfb3{Bu?i+aF1%%>^ikGsC3(xn>H8S6D6lHK70U2?_{qtT!^h1|*S4}p zpRZdE+9X2du+EMXZHPvU9swxN7%<6vc?)FNk`FWFb3h;o#<5@SDM#ayq zJ8JAVK_$6JaOEUX^e6`V$e;t>295e^{_b7N<$vKm$noCPdrp$C;vswi0-O{xEj(tE z1!v!M;qt0t4@R_pz7m)*RK5j6gz+sA#&i0=_4P- z_RE=Zg3o;k$9s((`o~EhU+LAPUFcUFBycij1W&5Q&?(kM8(ixhfq^YDA0qoWM&Z9* z)iFKxuuRI=Gqy%T2%{fBLv#t%L|Gj~mj@S%(@PdF`)S*I`hN(Lg^QLYg7^mFa#%tK z;7L%E?O@i?w#&yRG~wB6-$H9>P}}FZl)fx9a6I}Xa*FTZ?=y~&-3h`(>7x1DTSa@w znyItrfe0RbR!}>*`b2=@0M~Lb{Sok+ey+hXJ$eEDT&eE~H*KXocSkCwTcGc!kx zx%SdBIzMRL?}Mi;e>;rU+RYjMQnb0aF83z0(jLjD89X+h_Qb9`QTO z4-ZM}Bn*65T;>=4G+W8G2}b*4j{#Z&iq(IaPi3^vfwg^Ke{Z0=2=U|>mi8yGJMZAF zdNVwE<{X`5VGN=}KXr$FlrFgLjNU$~&jKs$(@klu_d$JR6Iluk8^nO)()HqxjKqr>6!5J(jtB8Gd^N`p8Z}OL>H_~scqmbo}+Wt-g1DT4kh%}fcywf7Q2cc)7IAl zil;lz%nvyepG^Di+3z!OoWS^&lL~8fUeyD4qz94)_whTxd#hH650#(^oV=g8VgvQB z3gO}>Xb@VhZ&F&T|IDwr=ufRLTX;WEMr#`je4 zd8X4)dz}{tja`{+8E82d5KBhfd)+XW3hHoXZ=u$^cGXna)o0%8;DN(11ih=6GMzNHC$~5r2wR+gq{Nlz!vHO3MK*1>u(R-Th_w(Qd zt88-k#CItHT>+1P;rPT3)QG0N;j?q9f9xL&!r0TPX~M^*%Ld^ID(*w7oa}Hv-UA#y zVLmSEQ-4OyluEOOz_55IhiHC=&D+h z6C$PPpnvK{{HCtJ-@%)a9~^a6CU_;-4SmetUg6fyifM4f>N@((@^lJVgS_e{0wg)S zo?BPa1yiq3av&leYfvX%veKsiIz~Cp8QWUE2T_K#$uab7=6s*apmErzTc=F#L2}L0 za;U!c)a;Hg2Oa8O{DJN>%ardN+}ntH`$+UV{A+!?bK*rKc1zlk8SA8~DRiCe12P!B zRemX6fce-R$Luz|-qY@WHzB$6(0r0`$#iOSdVrpt>MJ-1Z`K)AGULTWp*Wc8GS~8EYI>@vAApBdMl~sQbX`4#&2Y&3fEA<(Dbj=GEL01L! zM)T^HRyD0|2dCbzOVW#^gF1|S=3UfbI~AUVZ?(h0ISBwbC}q!V)rq}scq{r6R3{K| z<(6$t^}+_iomV&$^w8e=xcYv1F7{jf`3`DtJ+X98y0r32C4;J5Cd`yRK$G<{Nxz}~ z*$*wboqk_yB^|m4D6O6kvN?8b+OSOoxy$$A1>vTWB{oU=0(dkI{|yc_uh$vC)oclt zBMT0e1x+gg{CkrC>PMq7wu5fp{_SluJ={$vf3p`{& zd^-Kyx`?aE=I8C;Z%;ITC@c5-E@zL@$}HvIzMF2|mk*gj6S>xkz?lT`v5V68Re;wD z@{I#*Zm9kPq4X-hLyU4p+Z+Ejbe((PvQYW^OV76~-_z=>u;3d|7UJCGhqO z_#@KXGlJNPAefWD;OmS{zin@6ID=^3*VyIP$eeLtx*Ly`vEn`QQ5!{HR}j2(zGRbU zH(oOS59oJfZ{c0JyWTP8R&ES)XhOhOp2-~UIr3ic!=ClW7%LA~|Mlm~hu~UxEZs9k@s+E+j{KBwo4_os z$_K&G@_BIA3WUm@vg(BQa(Fl3HDfBQ|IRtJ}Hd~NG3@3MvzRYASK8ZurTEY z8kaI0sByxU(L(5ElyE|Pc-aZ8A|NTL zKfzZND&@#|r>ns56yr!y8c%lQ8c+vzfr>L@1-y|z4onG^D5<~(L!TSTY>D5KL%NvrK11K#!V#X0drO~;U~?ta&gI4 zbjmr0BLcMnL3!B{)dSFcx_SC54YF0n+gvn%kLv_Y=A2~5uArbJZ5J4lz&Q!GdH2=m z#Rk8?D88yv2ai!NeCJh;Jw&xmNcd8V*5V@_OlLl_P40~blvyKuQN{D#XNQ)tCE|O% zs>J|b%gNPb%*m_j55ebr?y9kiq8)VBIpI`t1+?f1~`4{gRAvwZ_a82;1a;in#`>VwY&Vc`@l6o4wgHQCs?9Gt6Eo50Fn z4I+HVT8ufrKah2CKgN$`QURKS;_8FKq_)$`28AizF5Iyl4vYiuB+-1Ix#m_~8hv95 zF{k}O=EcXM@>Za99%(Lk8-%S*5}a31w=_>++iMN0+g3ghp>cfly-87FI z{(L8RYL9m{^zLUl?P{lY5^T3ie4->fs{i#{=v??jw|VzYY&7`U`RU~EZgwzzoqQ?n z8{}Ltir=(dLG+2`UX)Fu%jU^?S^-nM;Gm=s&(As1`2rH@qQC=>-9)jNBYQMXA^P1b@AoLR+;LpfEw5|;zO>__Nc z-f42A{N<}ia(=|I2Xxl$c$KRrAAseio%Q3X+6gSB_s&!LZEV^fYQ#Df${ZgQdU`;+jlm2X< zs~D`*z_*+q84euq{OnQh`kZ~);)5FhY0Jr`$#6jO7;5m3(f7FP^k!e}aTo)@E%;lO zmjGPOvHE}pR-ipWdX>}zqdFn7CD@Bc&DGA6nIL1Y({!(1WL0V%3{9xn)>b~)*dJ%B z&->f+mJ>zEwj7{!&ay%Sj~xD~qs_1pM*ZFLHy=`^6*LQE%kxRr=pEr)4xWO_X|Uy~ zd^i6R#BC|Du80zTwGR;IR1GcUofnV5)xkkmk$lJ9q)SLr=y1Ckvnzb?NqA7NSGlxA z{6T@ofl$CLhlut`$cX)~z|KjjCSUybW@;;&tH5K#`c9J}f=xWXna3)&z)^=K!BP)E zT*V&+vt`md7aOTQr^Gr6XxYsK^=eWSmi5%FTs`M=c7Q7ZeE)dl0XlbO)cou}p{p)oj!JV#am4fvyT;8!cm$`o>*6~BkX(#pyaIMe_y>VUWMqm6@;Q-+bm z0n^v2?97wIOHg+O$6XQETs^kwwI%SHdje4PexH85`bc9DM0rlkS$0Y%Pe*S%*;>9o z#>Qr#Mn$ry3ohRUPHgGjFyju;~wC4O3`QTBu=f5Nqi{a&MDwcj5R6K>MA8m zd{4D?O_O7bYHXBOmv^-&{D>Gu&wJd^E_{UTijDJ0>q%IF3(>?pw^zQ!&YXh?Ee~Fq z?#g8tBr~jZt&;9O4k8E?*r4FqG{^xW1oWBN+XKIT+ z5I&vob?_A!^c#h%G4;O6-910{PX{0TjUwx!%pKH0X$uxYsXmPzoaQDw_f+QCmbC8aD8zLEbBV;Md@%<^FUv{~;L>f!qGmRu>^!hFdJFlwe{c!bGKh*zX4uLuT$9)K;m1WwL2O`fK{I!pcH3x0IeerdYNjLs9 zPT>iDx|Q~Ml?HSY{IW^KRp(nAU439lgnW;+x)YADAyxn7*;=dQO5SV=mpo$Gl!SFCL0V z@s;p=@iDxc{#OTFvJ=~I_%(gjc$YK_Q*>^F^UBQ4fADzuCH={!snmQA6^VeYoG^zt zIbp!F?|bkUg{>6;`VQb{AL}V6x1(YJ)?t(3t}~QD`N-e5@SC?DR!4-u9rKL6!6Wz- z^4*UEF+IFaVuX--x5zIC=(C7_5gcI=(Jn&8xoGLFncGeY{HCGh2%LF2R8x{UiUNqK1mjjAwkjgei^g!xmoq2LmqTR^pyAa zCpeEh0vz(-cN_56R{6>u!*cl9j_>kmbdqN1fL2L7^_&D&0#xtKx9}tPdT-0#OcTIL zrOqZV#Y^)ACxvTEkK`sYSEn8j!Dr>T$xkP9j6eT0AaW3O1>vhhBnJ2KH3^TG zBLF(1qT3H_I+Wmu9)%}e+OK4gb?#X;7Ji&0iq5*GuA3Iv!XosB9#rtaWz~rZBE>Iy ze%UqHrZ^0ZUe30U?^PMaT%1(twuj1wIs!+VNHgzv-?(+3{d>#S4|Mcp(_CqCk^u{M z^v^oWx;t7&(gB2!m%{@iKdbBnn|N%MUv$kp)PZ*5Pp?F);zsklcv&l~(oY&mVxP6l#Ym9EAN zpRiXtvH;z~w+^hc?uQHocU`cYoB}uVy zJBjd%KC3UOc~u2OPuM1+-2BGs)_@lK=DEezXKb(JCJ}KIZzin1I=9H%Bww7&xbb_B zQ)C5?JI9094Wf2ICpcsd#pg*FHKDR|voZ+ouJOw24eD+fYin=(mM-xPhyk|hEA!QN zJ67h<#O{sf?L#~i+7wRstGaN0>uOCQ9{8@LM|nkV&f9Bc9yl+Zq1T@4=nd|U&fT~O zo+w`hmcke^o?q8E)92aha3|SkjP8*xxtgSkoIkEoYy8Y-Z9_*4&su}{r}DpTe+1^j zzs{O7M%AaV6Uc@NiJp)S#GA6GY5Sm06kv})asdyOv}i(GC;U1UBLadmoof8 z7xK2ox|i-an~)M~OQU_Q)ifDivLh`eFxN|sT7e&Swb^{N zK3x>9gBk(qb=CXuE%S8)fUM}y($5^AS(tsYb7VC9WBNJx+X@k6#5~1+HFvd(93V4s z=6y$QltqPJbk5cY)53d4)bTnDHs zZF$Rm9lMgmMRBYCkS8~?Tw5nLQQ#h;50}r6Em>YmkZgx9gF??FRf0S3#~4m8Ohw;efcK1f;dOlqVEYD9CUQMi&snnB4we{pPt{^ngq+1OXFqF_CQwh zxi)0J_YEA;5qaKnZ6`Bl01g~8KDBnpo@>2Ff40d^cwG7lJsDko=>;@$X%?P4hhBMp zUd6Ru=AL>D4<0p6oSi7NmiPNkX3ZsXNEcn{IPiC68@@?3538!ON459iS8!V#Uo`$a zd);4gM}7DX+>{4y{bs%gbMYqx6A696S9{BRO)uleK||%l$!^n|tG(Li=sw*8uJbuW zgkEjSSke)xHu3&v2aCrt`s8vrh<;&o>-ekP+ERFhspR|0OM_O;@w%gXzMiv--2dfJ zGLzAFTD=7`^lLq>DiyA=fzgE{>uFzAW;`0xKERDb+E#SjPIzQY;Zk_0(AO1&Ce43z~`Im1i#KyZB;aTY? zx~T2C*E)N_1y6~1JHY6;U?=!=!;ZU{3kHoN?>DcVG5&yOzH@*cSc21s&kb(%-E%!w z$Nsj(w9n7npJ*Q5Ya5s#Ndf4s6?2v9A38*2YyiUR9w5kMg*^*0 z^(Q(n`VpPFAa&*o?dSVF#onD7AAOHMO6xLge%E(zKY5O}oWPeUH zY~N}txNrM1&-P<*JP&{$FlT&KPSr0iU6_yhz7lA$t6r(SXj1+cEX+akk&NrabPcYO z{Kh4D512~Z%&E9pI$a5tg(q`V8~F8tllQN_B5Mhx0`tLveSpwv7oOCw;A+x9_!RtV zYuPp44^M0r$j!6hC)ct?#(2NkRdii_?(}){;k`$@)fB}`^#BRiZg;qNuDr7TjqoIz zJcA$E(X-%e``6ss_TsITzsw)G3=XF~l|Ay=znvBD5{4B4fIQAL8DsDl<5^=Lr0xM{ zdM5z-gz%g3inIjq>aPJg%+X1Sx%I$Kw`t@uzdDqxysB%2Neoq7nOOlrzZpaQI;h@K ztT+TMooB8>1cq9Ipm%zon_!szn<_8Pcw3&l9=7mf#GZ29tK_-Sp-V(l19#vk50_o6#PxU^w*1=3&0@ z)huCY`bj_^2U&R7y_(?V+Cv8p?KH2!Esx58hQ^1_>AY{$vYKq`sR~3bH0+4hcoSA3Tor81_?GJs}>A||-g^S`TdXn#M9m(9H18%u!C5kYTz?!bmQQl61mYR2bw{`Jkc&*|5 z2j6WeTpreG3w-4(Y(-@2B#xpp<7#h1iQIiZ^0{Xfh?j-B z;QDh`)sZmlWu3w0oKww$el_g)vzfC4Yz5^*X^BK=x>{)3>wq@)Olur|3*$;`*iI3s zh7Mjyu)}!lDG22)I5Pq8r@;popN;)imAT4xh4r>{S-M{E{Om;wh8bf5a<9xs-^B)U zo!PwLQt~Dx=IXE+>+3*NJvW6PtZ&ax_&A40oxQm^mAOGhUqxRS z%x2rBrQM~E{P*>73X65(p?hSBcACSLK;RX@+4gN48ZXZV*TqpCLVa$cKwYRkT?BtC z!^KAuB-r<9gNg{f^}8iD%r5~t{9W3`=P0i~_g@F)q5@CA2pYnwto$M$Xl zpmZs2nb(!5QhO2r>3elSdHtes$G|3sXKopXmqa_kk_7S}=sK}DS2p6AlYZB6k^zhZ z=K%EDhdJNvYG)i*(=>yDBs-QZ>pkw09oib9UCDUP6d<`wYNTU$!`yBjq}|zxMaV@= zkQ3z5kBqfpJ*(U~Ntqzh<8~EOnDs$2^O)f8^<>w5?MQ<{hD|`v%7Gl5W``bDDCIy{ zakbK*Wy4-wi=d)pF5y=eQgdeI&lLoos^D?(OPGj4DB~SHRr(m;##>je%Fwh)*3SF^ zlKBnpV+aUV8O8$JY6-8LoP>d$PQ$%PmFbIa!=xTlxYO@hLCHlfIH=;m%*Fcxg@5yf zr#@P&gZJHi?ufqEPu=0jWKp{tOTgUeqfI*S|4YXik7nb2eV#|ae=&z_mdoVM!3zzNr14P3JdB|Pn^mGgZ5 zo-=F*-mk-dcJ%jb0KqmH-Y?vJov8wg>FYg#UdgfSXAiSZXXhLT@na5gi!p%2m0`L( z$_SBM8fUdpd;%XB*Dc|GsnhdC)4)Sd(?*A6f$epAeF)-1VxtB!N_%C70h0V;%my5$ zfmbfWx9AJY{;pUH6Y!&D&^jZ$mmr9D=v!ZEKlsPMo4Ku%X1+z_X zM^~zp8{pBQ(^hS5rf@&FA_32^_luMXQuxoc?307XP-> zkU--x7wa3pBluDopt5k_AM2tD0Op@@fHf<_1cY-UI9s>Cic7)=7Y@{Y5Zm!#T+U7# z*lPYWPBSaxychW@=&J+_Bv+Wt_%2V+esgf)l!Z=a-@CYP-fKU=W&Ci`dUTjqx`o$Z zW1VGv?lXpX{8>NX;BQy%!D*Wtw-%UA{`w58#@_}&n{2tpSF`qkxKGMMK@)#Zy9OWd zwC8zOwAuC+R^co#H296p+A&sME*aew_V9#OA9vMJ{bvpr-?9?U{M(Ot$%;M6s=~$` z!vMwE-6wc;5VLawr|EMk)G_iP{Cj*6xZZH|M{RZ?r?BeF24;dSwnKOn7?hM>G`j4; zCO25!9Xj2?URQT5edoKyOJG~Wf5R)-(r5MU;CRnFz}Q-T9neeY!^`E3j(ZI4g^SF6 zzbn4WPsM5aN0x*ay=VKs$twlLb8TW)(hL&`uJFmTSOxl!WS2(JA=*dZEx+y=U7FL3 z%YoXXTjpKPE8zWSbS+E|Jl-~fC37hLD{Ju|%)6RbHD>k46|{2*yP95Q)fJcqys@v*gJzN~_Xf6Pyir5~N(`ju^DByG zb$#h0BWY8*4qSDG9Xrp_%{}Ipw`(O4Ij9ntzr{>ZddM`+55Oc4tJ7+DT^22;%ZG-r zpA+Tleu1SEuQE;GwEKjCsm`>8y8GlkuD?H5COI(a$}@l0FwO5KkO;!$SQG>B4~Q@x zA{$j2Uj2;%G2+Z4$s9UB^}PL#W#jWW{ypW}Jm?_Lbd%Dsj3bX88W!>XJI(tT0*%!b z?iVN|zesufBr(4KGJ%Se(JKdizMI!D8$VV!#qA!8}A%CgwyG{ zBjZt)<%i{?2Ge(mTa0SAm-K)~C;WsbIeJ#4yAl`PX3WU9$&?`T(i1(z$(XE8iM(qb z!UMAHi+9Ss<|%!zc{btIB+o_Dn?Nu?^mAZqnfg|@%$$5}R)|UfcH|nIt9+R`7={OZ z&wEVv*md!jRtNQ646YB?i}7v$jC&GNF9x_xGQnk;Oa}Dfa~dvz_ZrEO-Bi-7PS+T@ zvZkw~1$FmA!W-5RCj(vlW~CIK3!G-Qd13grdM0wa@{et*e8n!@RW+c?T6-&Up6M*% z(^WS0k4F1WfbX;1|DV=%lsw~U=$}~qAR_cZFpRwZamNpd-+A5*qPwc%I#G1 zAdjU*bhde*wo7m|C=adDu2li>lMZ3iJLtAkfq26!)SzbtLGWW;YuvVEAIeWxI(eM) z&FBB0hA?mDH@nbhp0+@-?AX*^6;_=P%`xLRshyL5xv1m zTIfd*(JF@6m36{v82A0^C-t4cC?M4zdW3Ia$+eBHcoJSt()Hk17|Zj*P+J~dUw&I( zvUp%GxOhD{&%Ek8L?jF)IEfBJkK}LO(R}p1eWXoP)nD%Wj4PVR2e2$Z+B*d((=V%& z^_9)bhFw4TT|ELW^VRC9z;?IqobRA~6UtYh+Mwmeg~sHhd%+)EWXOey;8EWdFSTo$ zr|6>~E%Jhl2M0T^d<_T@Z~D?a#8;Au?7 zxW>&hY8U+zU$VB~I3<}kx}|eJI&Blw^{*BWQq1Mkn?IlNU3qAEF7(hVJAVb?qCsF+ zvO;*c%+7cf>~)D$F&)q z1TQNnIHW?ng}-Im_GkD{9AG2DbDG~6ax<4Qxw~&L#NNG=v^4{EFSidw3X>?1*UCrm z(9%;KeCE}T>JkSsoQS(liV3{$blNh~I7E+oe{pti`b0>5fKN&i)h2?kq{}Ng1?m?= zU%fX6*+BDD0)Qhc2p?o*rwrZ1o$g^G@va;MzL7)th}&a;tTY{LT*fYQ^=e}FGD@hr zx2H-98W_K)R6qSiptfot%AsZKko2;6(56Z{l?jh~g3SZiJN}H*3y(%{%0na(5-^A_ zG@syfv%t_N&N?MS>d5%oj3BsG8wEFVLd9dRU0K0?E#aifxj}$ni6TJpC}4YQx9`H`^w56(XR(yK4@a3dI z>9{tAq=4t-akPq^Lo!77%5{Q&pATWaO^`iM`k7BB$*tf z8=Hm?ykd`v3nxTiX_6y(zR8VaOKv{5PEVo-eIZbl6sw1`X}{Euns-zg?e;v%pm7LQbtKZ;a&M_Kz2qN(>IHD{X-g;Cab%SMX zL9yWqpP77_rD69Gk1qS>x~~~a2csz{^eVPmWu+Lob257OMh_Xk%nA=?2WeS*0UR`YlVZ<@aMe0$8gzS~>$1eHii@~hS5bGh2d0UMhMW9QGxl)~G)S97|r zW1BaC&2#=R{Pu2qHqD3C=@8rja%|81?J{zWn-%ILq}(q1x548C=JSi-1ek9I5^pD% zVw_wd*11JjMRsM^Yejhwpkfa;LFPcM06CZA!>U#xuliYa+Rj2tKz3S52g9DH2 zfX=1xnOkuA$Z^Jnf6`~wDf1M4)Ysi6bEv-T-NDvUZreFyqjIemxE7r0ZWn4I7m;zp zawQxZWa)AHz5SQ zbJKvi6jpV1(W$s%jLLo5^mFX)`nK4v3&)y!W1P}AvSIsFLWf>$Lnnf(!L{O-91flN zo@BOYa>>pj`sPRLN6#Z;?p4d>na)$~)V{%L_;Y2YJn)>)cHsHrn%Bx(X>r3FxbJOx zK&8F%XZO7K0%bZ{ha&?}YC z;!0rZ*?i?va}hL(eJ5(e*j1_?mSg+wRWg@a%kjx+wLt_9h0q>n;NGwO^m&Xkne1DE zSUGiX_A=0qDJVLY!khM*!yROo@s^PzAP9jRI5{I>CN}Li8(9XaQz}PI*Ndr4*YDQQ zZs`U=<*3pG%JzcnzzBXl=kC%Z7}|}mk_zsYKpiHlu@U4t;Osr?+{#RV6^7H1>DpMI zgJU4AEAzq#9J51dpI|KWBA-`6mcItG`YZ_$LVq96Hh7!3{Dh9EGmE zue65PCD-R5sgBJ7O5h;;l-~^~!)?~38jt^k*AdvXz$wps)SnK3Qy{+mWqiriz+qQ> zC@{e?hXu8N&3!5=Ud}_GCO#{dI#HcqS3j0(m72bt44+QRrksBEh;zsv{aD#|ud3R+ z?A}4d(mgnFxoYJ%tHJPF=c7)bL;LLj03ZNKL_t)8cLHbiuW_@dpMXoxlVQG$q3L5@ zyU&&o6l;S;O9C8^Q}_r-Bq!O*@g+K~+h}}sn_;J~ILq82Ud0*(eGcC;UhKaq^D%#= zga|&+yn(>(c9VGM&G4|d0yt>$N#)(EuFs(X{iN~*o-Hp3SFmw{_$cj*zXUQ<1x_b0 z&X4r78jEMoDlHW)AR~rE^k6mfyxC;Y?sui1CU^`~^^+*JaK?dmRZwJrZY|5a6MiWf zjNsav;2SzcPbD#TDFD}!M<^KFu2lT4vUd7O#{;XpDVUI|R-8q|pC#B+$H-_p}E z)cSY=lU8~Vz~LBWTSasxU4TpB$$`F43illSM}{~b5BeYU%cE0Ky|H`4ufD8!V*C}n z0mme2F1xtqtbYKL9Ryb)81|n3u}QYDM|~LIoS>IO)9AEKJk3{4JYPd?64KQ%XUm$= z5L}i|^kR86{(`o3$;324{Y9m6O0xwP?`<~Du(V^N8#wQYw4s4lm>uXU;5~jvh@u|m zI~`h9U!nJ8x9UjtNQc@I89o|k2&}*-dpCZ zJ})@B+FrX_{NDO0oV$U&KCi#u)o2JB9A-|%dGzycf2z)2T;yH-Dh(oAi?2J_qF?dn z;DGa~l=PV~yOP>>p9jn+S-l$i+<2%h=AFpR{cPuQ@$6OzsK4U1cE)%=Cy?j8^`*kc z%P-}Run7scT)kJCfOpAH_+t5^d>dY=65px>SF)U~Asu7dgOk8tI`g^n)RP%3}ros6-o--+*%#CP}AS?xD4LBl4QLM!;gT7Bc=OAjr5mQEMX zEzcjlbt*dEEAXDf)ncgPVL${2&o*8gz|7w+<&9wm0Y(spkMBL9!tziqD5qHEam?Ka zVAYG4g_Z2hql*AcHh(4REBTxckw?# zR7#>{n1mzERV&vx@RF|yqDC=8M-4N7*qF&MhQU>qOO~dXH(qNrD0h{EvCMlI*3P~d z!9l+EDSEHF<{D-ygGULJCZ2bNQ+@b7uZD}J>=JaKhqLY#dH6U6*QM*-XR8TJAFs4} zstY&_gIBB?q$W6@esPrbJ@R59se{_PgO4*Eo`^&2yO+gl=9`v68_${t>=)xH$E=Qd zk_Exr35bMm(+srfv}~<*>nHN-65W0XZZ(E*7-QZme|BXc8RDL-@8Cgr5v}4}U4zuw z-SR1Q&saW4F=8)CJ-D7L4r+@1JpHLoRXk2hERGKduAkc*Ik_?dU5<8&7^40#)K+Uq(g9+V* z^~@>tv_7I-csg_v(JQA;45jn%`@?C>bm+ju`ZME3(+ZrPoXxy5?&>xK#B=hy2?|AS zb$vNbO&Sze52e=$TF!N1(QRGvi=O{p_tOss_Dlg?p+yydWw(j5qhADcS70t9wJ5Rf z-oqO)b|r>?V{f5xb$_P3zb>PyXEaOFE_(M4lo0z;|z!eDR3?P#e+6mKi>PbL6iHzQ{0K!ZZ7O3XtXE zwqoXk61TwS)pD*18{F!Ib4t)-^L%|+_E^%VKD$al_}LZTtN@D!?D_4F+6_K@7?kJu z=&ZXx(E=DOfT2wTiaXG)4!Qfe^oku3`y#2n0+c(5%lRp^YoNCGA{X}b&%0+j{wul< z0WNIDlkt;xe-JbaXX&eL@bh{tQs89F>KgNPl%;=z-)GOkbKb9Bj^5bS*ZPpllcu5j z3(UKRHFQDg2Ij)fGtK+1TnIe1b3NQtuioP+SwNQU#%X94UfJq}#XyDYtSMBiQVRnY^^@CUphd6GY^al)HzyL71R zMy`;P$l>CuFov&~Phf%mIjLU*ku-}wgr_U77rx=I1o`xnLyB8^4nHTxpl!wlCDkE? zH)E_07X0qpy6G8?qk-v4zVx?09rdXIM21k$m{5WxaHc@n%{Y&NwVZ5Em>*|beO-vy^26sV=6xr~lG!G>y_f+-Uc@?Z z^uF9Ou6|e7o$SAzwk8xTe7$bz<>xW{uctt;3Mt2=zVecnjr*)Xde5o$QEEip@$Bze zotrkFKWV?O52x^bvnIF>jPh!y1)Lx_inIYL`tvdr1P(3XUBN%h>izIh80wjo3k$ZK zl2@<38knc|LB1UmIppQRN=@IFu`iA%@SEUOxcW4QeY}3DtvaWVpC`Et~$Qlnr-n>-ka~cLJyASKLmCIyY)dVi}tYszAb{EjvGt=`c5ZbYhLqg zCZ+CQ4n2hnUwNjh&|*z!EBVQe=O$6aPQ_IX8n~{*oY57~)~Sr*gJpQ`#FThL$&a^h z-ps)?qQ{q~U;g}GKmCF`uJ0e=SU=R6&5!2(yv@_oZ_fD?uV4QLCl1RveEcv6E>S8T z*-o~flbfX&;-r=TQ42LNO4cA;e!os7*hwV=n65rpgV5FGB>)t%7oZmoZ#LLO^)4>e zXOdlOgbY7vu*+zJ!^jc5P?=~jIlp~>cUFHT=lfX+2kER-Zh#NN4A9jxv%=$dj$uG<0oeM?KZkA> z0_j=nH3tz^lQ;d~0p{XspPWqf{3?4*%-BHX{h;8M35JS;Zu}UpY$?*%jO9?r2X8sh z-18%34_a2Qe$++i;WBTRy`y41Jtnl(Ey02lt=6|BmNJI5p74-_uU;>`YY(M|V~1@Q z1%h;&bft~|Zp#6YqStDo`RpKk_wNI)WZ!xibhKZRVBsljqAPK{JxKWXb%|c-kIb!u ztVd3!Qt@$>$YD!RY38RoxZYAGpf9`YDJ%}pUF*EKJU{|BtJt+y<@F}Yph@td?~Lcd zZGKo4pNxoDGL43owr-;wrW3pu=VGdXwyQKPma17O}V zbC{pA$4-ws=@=jz(-?B_V*!fJ=I_n8#CdH};C9Y-Rh8Ao3RD>*M2S(y2}oASt6p6> zivnO$P7wIiZaGa+T2tn$|9$t}ho_%Ut0}a4(!sF$`Q;V+D0|!+DjFWCNJmZ8?5FeZ z&;8_UpNN{kfH|*V7-k%zIw`^xD?q{TWjGqN)M1v{^ff#V_@ME?&G}l<3wrk9)BC4? zJ%BZIYe=UN1m_;K;wkc@Hky;>^IP-b&6_D{el?{OpWi;cAG`!Q#$5hj{P{fX?`nSR zk^TiSof7ZPv(;1C0dRrAJD=xy&*soO6`Ar6`blRh46q%a@8-QP>VJN})WN=*Y+#^W zCaQM&DU4Jf53=5VHA#k7J`uPluCHUL@*c4v&PRhN>Z}%Zf=Pg7jhW$ zU;e9K3>a@XKEppBpMLh!Z=Qbt+n+uC!SDXw(_jBfn{p@$2{=#qn?CI-ozIl50 z)$6BU{_+=3fBL6CfBI+t?>~F``Ja6E^bh~>|Mc{K{L?>v`j@}>W%_vc^zQBZr?0;H z21n-2MBkr2|2hFmPAZqIuJN%G#~#3|GK5lb=Hp5>RoZ&>zw+j! zQ{*Re+_^F@(N?gH8>#*Ddrxu{aG2Qi5AUdZ3*lMNk80rw$%-pvPYM`CR#K z5*B-+9|iZ6o(U}D_W4-^ou7Hpi4lULjKlU1-qW+JT2!voM*JZ8$=+x$#A~HBd{vtn zr`dG8_W0GdukO!;Lr&1G1XC(f%-5!=?Xl-|>}!zSU^w$4kYi58ePm?b-^xSg5;%=+2sUt1>d(b4bNy+7gNsndjA}@*6;MbPds-&l|>!m=DqN5yJ9u{ zX(e9$?p0!Z2NpbL_|CkdfV}~F`%QCTYfzysO-n~x>MtvtYDa)weHeMOU>-DGNr7E? zTR%8I<-`9^QUZml_QgZ#6+YN1+~8{Ir+Lha>b7)W9F=kUJAC+A zTN)$>;_mSPNz!CI=pgzOZ{g>g-=Ry2(mT)c8?;DYr3;TNea+k@YVUZPw136ayPi-@zN2r ziymmwp?yE-nrCCKpAz_Euc++)!wJ0Q0NfdAz`()l>aJHFdQvxrRQxW5P9UDY!;oi% z!xN`({mI_$`CHYm&F<`^Ed(4QC1*s=Srso>nJ;@KQXJU(DjTm_sPiDZ3gTHg))E6A za4_vis!FxEr~`g~XMvNW^hITWV{tyb`uOzcfAe>qKC0AL!Znk9`{wN=T3$?mGeIcu z%nE7fDj+{k8eJ>4au|R1JHP$(zx?n2=hLtL?B`E^;WvNd>C>lQO!IfJM)yRTKlCIS z8kk)M*T&ZlWKKmEZum|sSauu;aN?kFGz*7`8NZ)ZVm9CZ@|WK|z53?u)4%nX|MJuS z^Cy3XH}ch2bETH{rDZ8v<;?{C((wb%`%fPx=`catJox?J{q3iJ`hWlN(}!Pu_w@4X z+0QjW_gB;3EUZo+Gv5jD;H!C$l?m-FpM$nPu|GMCudyb6efe>oy&3+S-=A_fdBnit zm@LMd0Y|YgNsP~*=kHff@236xY5Z=wT}CjW887D zac1ZD$M5EyuSds)xR=r zyIwFj9XzlnUSY)Gc+1uY=G7@crxNt3{zBp8ml<_#dDC#h?9(=gKeq z#oziV`~8JM0;Ry;gQBRiAb>CdDXVT-KC5@5NW}V@(`^hi&jg4KR=Y)@0>N1V>UH`- zQeuF8*pt{ze0mJb*(2-HU|>`m{(%Z`--D{QOuElV2Kb$*G3W_g+KK`YKKRZ_fvk$p z_Y03`oA);;Rns^@zB=LGxT)En+R^woNeD{v4Xvd2tnm+J(mhhj~PE zP4Y$f3oXuh8+M=+=ykgQJRh7aZp&xrvdl~H5d>Nm_aMEoZL--~8SbjP&o_}L>TMK;LxSudS+aR zwa^v`zBwRmR%2B4!_Z25~mb)@E(2Zy$0i&=dsO_%XdQ?toMVH9fG%iv2a&Q zs?BMyM7i1~SgZm-A!MBDy5}pv&_;Y3dV*{9C1?gaEwzP@GtbCUmR`eNN2fGSF`lmR z>qCRXa4q;vzYmG1%qu+ge9yZF4K3)m*TOkLb56C7?8JWBIGIluHWJht=t`D=m%^5| zOL_^3^_t7=)o15#9dgFVJUYia3D9@K_n-?ow=B96;hJa1FV2daZWXZcn*WdU_BXY~_Tz{Qsyk|e*Bn1X`Rn%6V$&ON$!HR|HIu%$0xPSR_WCdFmwRUU^0 z!V~l__%EK)97=2GGELycd#)N!K7Me1$E4S=$2qv@yE;aE6Mk$axH_cs$8WaGzxehi zv&Xwgma~~Gy_fqvfpf*t^o`?|)42IA1cFR;uuM$bEl-xR@|Lm5aS)t2uc*%Q9$Y27 zs7;+M^_}uOXOELviE#kmQ3UG&#XzlaZ|PAGu3s>o37j)g*Vuw@U@$W4#ObkDeH3uK zefk$a|JBpq{ty4w)8G5A{%eA5>)knZb^ca>t>1Lii#{WProGCVKR^BR|LcE!`s;t? zZ#=!6Rqvk+VSfE_f}$z!c{SX9oM1aNEu*Y)>AuXKQ2oI8m%?!Zp!Y4CW}3&B2^1B` z{__dE|NH;uzkK?e|G|I6*}5EJq*cp-|AcYNv7qPk2%Zf4o7b~P2e|@$eM%ID_NW!1;~7*68zK9=@1> zlGRtT?JW;iUxVkAu79rxZ))u58&636%xC?MQz+-ctR=?OFPED)WZ^4~ouH^%(+ z>+AK*?@zz}_0vy&@>@@TZdUo$He)O?|D+yhgNsr+uQUq)6=s-K=wrtK_wAUz~K6nJR+EY z3ljCIPlc%QK}=o(MB~2UE-ncopx_>3jOMA3p!fk<6xl=p$C+W)UZ=NvZ}&Uj?fmM0 zryI#1dhY-KTdGc-bL!OD>Qs#%EgeAnEq#Wb>3a|!%ajxn6!3>YDIG$P6Ck!RE!-_KdwE_?5rDTW z@QDyNLz=!?5M4i_`rR@p&<>Lw z8_s(!$jQoda`M0CPaKYYl1Okv+}V-CvCEj1V_om!Z;a!d_slsCC8wN~Z8&@GbIXYp z7maJd#XLVmHQ{BWZp3WoTI(pPiZ8<9C8HD0!7ea~QE_Y_U8R&WA}0B#EEVCCbtK7n zTtujwP;0RAqwQGW;p)TALOD957|{qOZm`zteMvg>k0l1t>lhDl9;QFRt&ey&$BY3U z6%$p&T<4JcSV{DUXX`fA70yF^!Ea<0Eh+ChzR@Y|_5B>q!M5!3TXo-xEas89!9Wo& zIbBDQXT`^Ojyavx*{!O1!z;j5M+=1q9q|Yzt$zi>h3b;+H2z)P9PLvqBYoX-u;)~= zIB*>=O7BE;J5lY$$Pzx-eiUg3B4VI3vfWCwWax@9<>kSGNsUR_&~scjOv}*F@GFNe z0}LSeD>^S#wE>^y1s4>*mS`^br^3M>KEZv-YRzl^rOfs9q$8Uat3f8eA9(qU+ptVn z782t>#xK_l(9!%7T{;WbG?!QK)P$H|?EYgQHp28J=T2wbE2-edIU^=`c3ZoFBYea5 z+j%Eu zhVdGtqZ%<@x6w5K2$b6Hd+s9!YT6C}Q&xy2irx)enPc0Ha!H?QFy`;@Pwr@OSYX1p z=GSSfN#kRF)^;WFm;Ue_+f|a0V#7HwXRVLZA~4QtedY=0(By=fVV_~f_Z(N&4iDp) z%MQ-lN_h2VIxx zvhu9;QCCpDpga_Eqy)?0Z9^OV0^V5&aiX9@3t}pHHuT#|XTv!QW)?d#VwfX{h>*;0 z-_K=$oj1L0+*ql^7b}XqR+03vXFqYR^u^V_Wq>HHbA_L<7;=$K6iX8x1_~B$ z?D2&%%c|qm?w&n6$KT$4dOZC8N5}jB?oLLKcUAOwhs$Tf*jQZ>*K0BqQG3 zI6MB`H-6K*G8lyb03ZNKL_t*e?pM5Gz+VfcY0u$@NCQEFLM@236mx{OMaf@4w|yk!jV zkp5sGp)aV8bfieZh|!e2owMxW>{&6?)K7$|B69ex>w?KjKYl~*da;OMwZIF59`X?% zFTQBT1X+p#s{OQ$Q6~DRO50NHC1rp=FJv?bWk~5G`PrEUA(Qd5(8Yp~3IJh1p1+S3 zy~t}CVz?%rZyH2V%!2L3Ww{^vg7)DNz?Ncs3v4uk=$N&FLY#mFA+Op}SB>(nl9@UVsKti0J60GtBF|H$qeY1Rc57;X~;m0P!cXsJLDd0sOF{Ii821X#=KH#{CQpY0r0V_Yx3;zQLI6>Zb6qp?{tnJEy(R`8{oGpi}b*l(lS_{a6?hXtw< zEivR-pO2%Tolv#{;YpyU7UE5ZDiaSBeU-68k|UV z1RXyyO1xh6^J#B^Wa*pu!uwcP{NbE6jQQTF=!Ursu+U2NhL%)bz=w5n8XxC7aPE1W zh;x3kd+g~esxbnH`DufQxbQd$Q*-@-!={~a%SiMxcZ4JJN8>AF4i19^(>pY}4}Egq z@^@wJG)@{$$sN%#$4~fW>Wgq2ha`pXt;p%Df2JXa{nHFfrMemvi7M-N|d4)d+sBpl)8P_VVIaf(mt ziD$V8gIC<%iZUTdcb`wz&6%&FTV>p>M`V6OPS$q}BlyCzUGoC`?)!GqY9XJT0_}*; zdx6aKxsL%J+&SV++I!LCD^z$Kt)o(G1*jQ!8G08ft9wjQ170nFhzBYIR{XFCnp`WX z5?)x_E6KfenxrrQIWHT5A*Lrh@Hi`IoD^0@$P{=!h_S-U22Df@vK3`|R^WhZjt#FU z3Py0y2P)bYTsI#-IX>^npEUmK8{SGBpmHw4P)aXEN;w#5mY9;lmuiM=mBh#C%;)aC zdmK7&l*Z4&iZ*W2z!DySV<-Eo5G{!rPZl8Rz!rWGRUrO7FZB5VLFI-&)%MEjtlOcFfXYoUjY>*xh*BEKUtZlQ6B z`?+_O5nD7lv~L_Zw>1u4wU0%4P>ooTM)V=x+f{#&9e|^}V1)0gG^1mc?v3QKPkzJ$ z#+%>qwy|U1QAVpbN<&&N4G$H{aYp*e$5{i6fKSextm`Z5d%`B&fM({7a;y;Jg?}10 zMT7IF?i!!_^rw%vyyed+i`EZUA+{PX=%=;38~`XdhKM)t!w^(GDKv7(5INsxuF~k`?T^FY~N*oSwG>y+gv8Hta zCeqp8C|V`M4txcU5$|ZLjaUiCvMD+!!-{=OMs$)b1RwYyjszJ0Xd)h2jMMVUh*ZrA zWlbn;*HKZz1x1?7=#M5K;lLCHZ{s&;!FdK*fQIza>=0QNFx?ZKY+$Z(oPT-2@+6T= zG%bK33miEF&9jbPvjNNDxiWqXJ;{T}W8q6%5NwF&y!sFT#TdNEYK;jmDDt_~Cjox4 z9RYYp+qfop&>W9a^x7A?_4;9jLwtm>mJFh2ItViEOn(}eiR^>7h*NxkS2Te+BKmPT zOZyyz6qt6PWMWyCGYW1vI*UL9AgyV15*KC;%qg#pO>6K|!(_g&QjrvXITGZcf~3qk z!mN+xJ@Xxmeq_OrHaXj0b3WI2iZBXQt>em)qKWG2)kdvJNsZ@vT9|?1jB~rW-b{9Gz@v-CUOBcU=WwKMmkIa$#ax62-wRatIlI!M?RrBua|_apLYY6 zYl}iE`UoD=Ke%R^3c5i*XiIWNIL7Z5K&$uA9*rc7$F>97o}DO^ixaP<&%kfKX-^}C z4`9W_oN*@@=%{IePc+C}49sjlaEJelgDeDm-E+8c=yziDW)24@5zM@AW0|O`cEAV3 zgZm2&!asP1qBd|C*L=OMF*(xk#O@+orVGau`l5~5SP!jCyO}qFYolxBPxD0h5qE8` zF*Qf)OinzYVV|~}R_NPsWgR3B1pgBcG(K@}$y{oON%*_xtH&G#EIJP944i{cJoY%K zY{SS=1AKVC0gVr=h&Poe;#5kf488grWq{FZc&;+A7)tt`qkdA|ts~tQ>{7O-&-`OX zloiA%Y3z`Kdr@4(Olm9eO8HC#1bf9Ic%hd=hQ-dhZMJ572;8s3-dSV6TkmGAh*uNg1-@t+wt z9X>oRY@8T->R7U!wQ$1^!8v2&8_ES(k%}Vi2H`}B+){?S_!9VqUDAZ5azZ7&Cd-~m zWB%KFPLD76jDI+O`;C8EMa6I|SRHtS&C^$i(D!;+9d4BIzP@wMc)}weQfcKM8rSVV zz<2LGQTx?zIy(O5);sH|axTz`fCP4+&4zu@5Uu0BXwenyhbP&nQA0!O5v{H=%M8h! z%KO9sCyef(#U*`S-7N0_IY4&$!@U^gP@I)|PXim+tfFdrckdf(8|TL1LkH{C+PF?- z1ZgAqj(#VBg+;9@*c~g|;Xtw3&;R7h#}|Lq3q>PjA~3Qnrvb-~{$j+2ojD4B=4f~D zMR}VsUkS0o?MD5>UiG!z+Hdr_pZ=loRp0b2qw4IHBd9ViDgl10+(F>09Hpew2&5QC zMU}Bv{q{nMD$l7dk2xtMi%MD5#lt!4d!e8dXO6MQF5%h5yD0c#psHWMAVt)3HtRN1 zLKP{E?3*2VZ9um$UfPqvV8eNmi5v#-jI`SVGq%-146-3G;au5$rVw5j`Q1tW%-XtC&K zT2MOWzl-AG2~{9WI{!*$M39)Va9C1u;$%=Z*5bHW=BfCN$8ACO(O8rtL~_t)M7s|; zCWT9m)#FfP<3%}2=#tD(j!*2|9WvGENS=}yHc+)e(}PV4NlP~ z{9mgX;6gtXb&Bjp9)TA&P;ngn6D}7ZvjEU)2*Z{DR)*P}jxBufJ>tfSlWCs)`jqVC z2|b(Wzf#E62G(qFFAuJPNUvO`f{gGmL!jDbRdWfuiI>!8w{L|n^*G7ITu|{>Gcg6# z5D^AEGNS9cl~3VjNyEfA*6481huEZSk@1UmKzA73d-1*K$o=d@r;i=u*a0Wruhj6m zua!h{lShbE8#GpJw8tPw1UtBh5S8%_rQ3T^0iof-vwN$Za~3|_8$LS>XCuesB9dZQ z^=LKXHm;o7s|x0VwIkV<-E)SL-kTgnNnOrT9=#taccGI?D4P2 zi{PXgL-gZ2aZcnro^|#K9%+NyZOr4LqbGEQ%~tPm`+{Z0>_lJ&g=E7DT?oSj$I5-n zry2aFZ@m*^IIrj3cCy%ziVO>G(H_T^F}Z;hZwpMEUlY$ZY`{-~7G5M`bhq3J&=LrB zjyI~BFG$Xr(5*;wp|e+;u$AJ%&ar2^I%HH<%HFcSE<_B$FyM*N`F+0T-+-u)H1G9p z;RqO4gaUqtXp={Qly_f|3+;9DJMOy`?il>@gtj8wDXz1FfQwpv>gX*L-2qr<&Yl_v zuDN#Ha{C>mBJ%fXEH;y1btTG|YyL(R1kYEihpN!l=~|d?I#9cAFV<#T?gK&^9uxyH zG7EUYAfa$ju^lQeR=BiCiB^l!sAF?*@8af}GPL%Odyk(P=W3-ned1JQ1XZ-Q;FWQ8 zxzCD}tL~}oj5q!6ua2jD{`1DQ2e8+>DstDgWB1%Uj^1>*BHnir5E$M%#wuf<+xjTI ztr-8)JGp*E=fHh&e1$=+UcOR$cq;RWW_PKkC_)1zv>Xb14wjl)+wu=xUG?d!w7T|j zYl4wQQK`BF>F(OgedgX{<5=B(!pA*u{MozTTRc)l*{Y$f3zgc9%IHXsU6@84Una7> z0(heOSKu!`yUoF|oj*6he>`8f3hmu}`*_5|A2secd9n%z9xUanIH{a6yWo7on2X_f zJzZV4c-RZ$pb`)ukloF9_NcerCjIiLTEJlJ8kJF&>;+B1-Esoq?j3Y^lRT-&N zbn%C$E0qFO8VLO6pBCPh!yZp74ZtsOMBHL=lJPk)tvd07t@i6VL@XgECK@SwD1tMx zAeib&uqbzyGa8Mf>>iU09$fZH=J;Ncf-8dUXYvCa@ z!n2}zo+IvwH>_ucSK>lZQ7IP-KaqZPdZJlvY2Y==U@HSzw}{KgUG*n}A6YQk7DQ}< zUgUT4VJ-5iKJE|s3+t;hHaG{gH=3}c9b5nN_NPRJ+Yya%01q}2=rph*LjGhwj-(RK z;ICk$;T6a8L=NHx_m?pUUo!uZ65a#FSB}*(fOR}d&di2T_&1H1r!+6j2W)tvi{B9- z=v?xl6UA8oRr5~A24c?EZ|W;56DDLYhUiM?TW(&H>GFb zJsH)Gq${@WRtT9P*7J1uxJ^P%Wl&GCRnC#fE$cbcoDz1H_6Y&n#Z)&>^AR(d#w8pv z1s>=jtU9L~Db_N}Q$kKD*NIBgNF{j`0mO5xXf9~kPol$$>>$NFN_f3P;~n!Y`k?w+ z&bXdsSmv~KO0-V~ndO9J-!h5ZUKH)dk8#BJ;V3{6xJ11cS#K@RGI{iHf+ML zBB!d#PUl3ysdRZq)O+Hmv5YQ~{af%a4jJ4t?y^X>0X*TLVKeV#9J3M5 zd7i?whB2t7T@mAH8~$*PdlftGY@EQ+#@xhzE9+b40md+mGttnDxsB2A_e|#rH@)uR zS}-*8>I8RWVsrpb1GgXN3w|Q9-Q#g#KiU+b<#d8Zwhd&xj$B?bFeiHPer!IBKjSmf z^IqgqucNs?Kkqr642JMu@V(t2MiZe=iV)mw?t+<7WOfxO!UT?yh5`e(7g^Xgv38 zzGXb%n*CMb`b_m-#w?W~MIMwotpzdZd)h}RuRHm-CRYpu89Y|ru&AP%;?DhC;BPx| zX1w%UUpQX!eJ>BUR~r>2W2tP!g(Xzj#AQAx9(VNMfpPrInTpb1J z(Qk(gspi~LP@k&~?i(AY&yAy%si4Z>GS29qf){4l;u;(U5ei{#ss^f)D z;Wkd&kipmh5Tmom9Pn`^)E7h(KGHZATWS#jDS*o?NMtg}3yxoOUd~ld20#{cJ8S@7 z7V-*?pmTXe(-em-XY zl0!3&n&I@ZQb9AsW^=FFLXacZ8|jJEpiXUQ>+lycetLKx40-~5M{xQy^x_}09J z_C;lnPI9D=FJp^>N1O+E0tH*;RwW(t>2_wrbH%x#^UE1^=h7yeNq&JBYi#_kF`Y9G zU>tKi%qCF(+0FqO1tStw&*L~qtZwBhtTg+o)9 z>oA_foaUlv{Ge~mxvUdevq`2t@g>iBogutEyB7JGDB|oi0^PHJnhU=50`g#V1dpTF zGUJ^5LV^fhz?v%IjVHImAsH85Gw3Ygi=M|BtG9c0Mnuo6WxZ=8&xR&1=9%yht^w~b zuHg(zaMN&M3^{`ukCNZ(UE2kj&)pxsaPPUCxKfhB0~p6Ne=;sS6nus(+49)(CA=e? z%N1Z=n2l=6O7st0LR!s+{X~n5g>>;h88cR-(@y4a_|6g#jzaJ#=b!15ajeLaiCNjjtrMqC zRXnzZP^mDO4jz6-Y-W$>;W#s^$??fAQsC&vA*DnoAbJk!y%uY0{fEenO4 zj^&I<)P(#3Wrv1EvJapf<1&nP?+f3k3wsL2IwKk^yIBT5_Yu#=nG2?Qh4#HnwCbY_ z>3V6r;zxgAeBBGbZCt;%RGxLvywbqd*2gXP92*b4@#y%#Z591rF<_&yc-$*d*lD%c z7M&%6KE}_=n)5Nf^HCqWg7M2e-bGtr<{0&spQUqQPzqU1?lJd%(3`sh68| z^xFNd**)$oXWfxNcu#+e)YQ zha2zyOBjex8R;l;*|^2?5mAK0(PtZHSx=T41L6lpn@L;uN8E}J;p~!*ycoX84oU`t z!S=d1J!>(>F35K>PVk$_!Z8{_8`Rif99a15B6l+bT6t9jKB@DdjiQ~+<8(G-J+%{w z;}ZRXQ>DL(FDY60tYOD^>EOZ_(Vh`-;0f@BWmc36IS#V_Uuo=~OS7^X2-q+6EBE(pwa4jz?KcN~?KmId|N+g8|R|9_8TVq9)*rV&*ZjZeMsm7Quq^QR zIMN_G(H!jKn1X{CQ0&VSa(*AzX~cR=bFru3i5xi@RMDM7+c+T5*Gh`4`=q{t#yDA) z?=h%)jldYN9UvwOe%HU?3H^HR$yP9LbL<`)zvJFytS5sGea{XF(m(KoC%}W+_F#ct zZ8@S%elXu;Ea44HlD0(}N7J~yUUj>{MaGBt!WxX^s?0Py2O>X-!?b7GQ+^mnE6$QQ zcZ>(GvHd=96rQ4>25#`r?Go3XH{d_g*tm)uqC?6wZ`w|i#$u~f zE$m^Wr;5*Da2_m_Qx4q-;-Z)F>)J}R28s!pWAS{GHb&U8$1Mz&)D$xp6-pqk{=*eB z$X2Rca4X6vg>KnTXc#R77G>G+vRxotXMf5_5RzDdnu?kk$CHUs80-tH!eTpi9YlsP zw1aWt-0AWBfAO60lRy7jMsp*FX2UAHqZStljcD^$Dc!fetFCij|RBJntJ09;)G1(YlPY z2#s@OQAq9fs$Txshh97W;sYNB^@?9mI1Px0##a4ZA;SGJX9SSfupiuQg`W6(Ia+Qv zyrrG?vn(K1Om^#s-aj7x;K$aDjj^ZXWU+h=xfU821u&5C6Z0eUyEv&+mC2I}FZNh=jWtoQ@ zBaoa(=Nu-NG8I^;i_i0rJuCOP4atXE5cRzt(AnLq^Dykgh!&r-kq%tZfL$_u5b;ms zQU;?9LK+m{vPJGLN+ZTuof;8+X0y>k2Pkl56i80W$k)&z=kyHHgLAADIiAhRiATqU z*NDcI7oQleab9#K+*Wi%f5~}_A<}PhhOk4y5(P%iL(tv^IkI>xgh_kLe-%cv;mhI4 zUWZWrw{)68p=pJ!uOCuT9%%BR+V zY)7C2g0SKpMXnQvr2_+C#Gt_=SQi?eaO&=W7BlcxM$wPtFx0Ja0E|wdNcjgk1g<} zGJA~Dmgfe8yjAcb^2)V(SqGX~*q?E4-S$2zSoc@Yr7CtD&TSBxS3SRFNY%e&&$MhY zj%H^;aL_#OXW|TsQ-FL47}AEv)XoXhiFSp*6L$Ybbd(0N`ErtLOg-T%rClS4^jZDVai-;gEhG~nL8^& zV4K}G$qLd;8P`%&Fc#3uxaBygp_R>WW0PQ z@+kOT>{mxM^-RCx=VrJwra1qQafUtKTzs^gun`tbVW+5K>;($faoho_jALw^SUIQE z5oV5BiVr>=NtzdV+=tQMZ~U?OB*&LlJ;S~0Y6L{?Hp;A8WG$1W1a)~*2>2z)NSs!b4MA^+} zPmBj2xo-URt+&+kh)CumY|qhe&rGL_mlDK?#Ln^5Py2-NKmX)ief7t5IgXUx80i`(kxu054PL=FJo)c>{@d1Is7jNt7|q?GU#4XoDRTvIVRD4uKd zHcGO0KUd(pRSM|WR)vB{p zRX7cXu>~QCVfj*^X-_jGkFq-SkueyhWZp*(gMra?%PK0}7$Vy8BB5*>7;X5AbSp7Wq&a7LeP*9sZRX3S$*R=DUhw@LX)-T>Z$o82O3o zEQiQ8n--ukpVb(&{~AI?i%c7Zkk>F^-Ckt8d`c?V#kFOc*GyMu#2@d<*~;t$cJDbx z{#jk{h-0ij#Dn3$SU9#>o}*#ONGbGo2;)6CSL(V9UPPubz{R1o(9vs|dAzq!c&$_a zkfW6aW4w^2bgZa|7wDhu2AYwAE14j{VMqMAPMT-%FrE$XwDRXg-u$I~-Dukd3J7EsAOG#YrORk~iIV;qXk&7Zf4W)0z(&r>>l<_HiHA&(%1vD#h`@gklSF zMt$oYM1TS3nR-g8?Ujx$Y#2&GN+X#2nDZOD2->KBZ6Mp3%5mF}1zgQffD6Zwp|G2H zFBJ5E%y*VaF<|gq3{lTjf`NXp#g38LM9>6J@G0h=`sqj+7NmNP#V|?R(V5MEY$HZ*+IH}$gJpa-^VfYgeC{!D({Qky?>+(* zaOJhyvOsr&D~~@qHEDtN_cI_k2m;^ zlOgou97Y?U+l1@PU+N{sBgReGGp{`s82s&AobbqDnol?m+%pY=gI@4F_xiW-I=!x@ zLRYul`1Wrt)604`+j^J7Wiq3Q2gAm>VtfD|%V6Di<_{fG-H{0zV7FcG=OAZrHdXj1 z{jJKEI>&o=RW)ByOO`@4*$nOl9}6oMF)J#X7g7!=(!Ch=dAL+|1o-0V7hx9t7X;Tp zboTc&alAk*iWJ^8QxJg@1G9fb5wyrJkpYa$slG-V`*7hVMUj@MQ!@;}=t-^bDx^|< z(Bp)3czEwhQBG%O@tX@B;HkamI}VP` zimvY1d728?*2eB}SEWV2`)z+R9`%GzmEp)^x6ssmq}_cWg>w4tx4v;a_K8m$*X-Xr zcDoo@3Tdsa?;dy59`F0#bbVDdzeP%LAx};`RM2)5jmpBJJ_uwfNqQ2-A_r*9Kv6D} zfcQkp?-h*J8MAFb}b%+BaTPjxk+tPDLOG# z)Rdz!Bxf6yZGTrWK+W0Sb82}a;#33n#P?q22um+Ef>C>Jd&i1}Xk$A|9OE-IbSz{W8A}9nSy;obG7LMKPW;N)q~T3ibBvm0BR#o7o>GNv{M%7M znE{+p7R6A)T$d5jOl;gT;>wIARXIqjDWL<#P z%^gk!%KdNzbNmqHJQMpY*ap4_+bdWYpq^QkKQn7(>=`@*rs-iQ=D)*VHPp z38Xo}HAvC?o+nx?Ops-+rf{0rQqC%_zQhao!t>1IrIE#P;a(h028`s9ql~;x=O`ZZ z7%U&nIXfwO8y8-+-T)-1Seu5W?QFAdFd6Nhvt%Ilt~f5f?ZTER zAJNrHI@f2zP6JbT(e?|$fc*EJC9iuAx6_R2G;Y2X&Qocg{nZ;AZS<%QWi%-&47~uU z*Wgp`nTDSi205@}xsi2_k!u=5;%mH5BOfCyxHri_I!bH}#(n(;ZRtD!T)b=POyjuQZj3gcpjhLe~r=cl7Y^%;Xg7xcuj3Ef}W|-@?u)sGWjB$T9yDt zzv%ZE9mlII-lzMlmL9p^Mza|be_AG^txyIx^gAi|eRj2FG{?toJi%7hG{Y4^%z0;g zTkNRE#qERR2MD{EK3gb$Dcs_Q4;YgL|#>+y-6@58l zilU#CR$Zzq)S zS^YL%omIegFv&Dudi}?B_T}r@zAzhXoIl9$KpTFR@CVm^H;a_#hMt}JYGIDKVm|8m zmiEF|kTY|i!LjFPqR4TIu%8+?j)%;tu9<`3wb(@Y+s5mJ`^;nF#3bQ3vi`XL=H1x| z7kmKcfj#pJxRVZ`kH^Wc;lr6O!Krzd_}&In|8^g7+|2k7KM@y`{0bPMXMRH-;-o7E z1`QW^#!eTuSO0%tMZBeeNLlJ=#RO-R2<|ze;Ks{N@56$RMH_vP2___PVaCEPWrgF6 z(nG{6U5?}I((M5f2*u|QOzO`{{?H_;GKe%qZ|HHSkQaX-#mm%>@tz;{jXs+677GBIJPbRZSR zRe!fOH)P1rqpf%pG>sjV&b}*A>&s&BGGizM5^2bY=RrMXB%F9Id|^*JSp})uqBB0+ zV_Asy1Yu4iBZ8$-?WjSpCT*R&wQGIfxTcQY+Q%kQXb*dS%5ha&5NDvG_!k!|g=)SEb4TWRjg=OSp?1?-~nQClvKslLuvy5Alo zUBdZ6?a@$7vh1?Bl*8i#Z+p{t#1o&&BhdEj-Cu@1BHw#u;AGM96e68$9BQw-4PV>< zJ!v3-&h;Ne{s9hefzD6}kuI)9U(b0ljPT5&Nx2{=2U1fnS=hDVW0}-z@4OHY#zdtp zb7*8)_zTk>pWqJcgv+pJ&rqU`dPeUmq8g+s`$Q4ZX${7c_$?MEE@ia(dB|k`f{gZi zj2;4~F$yie03uVe^{n>x>Kz%)l08ux6nXZ-1Ui6zFx;)g$cP2ca5I|*f_}4J_<8nW zLn`$pNKcO4e8&ER3-cTwvTSYT8I3{Vl0qb0Xm2!%Wzld8eqn^$gb?n)?i$aMZY>%J z?{$y2bxwGqyWH>1Hfyf?oNnSbk>SaqqUfzedA9zf(4E?lLy6n9vTZ@E!+WG93@MHc z&v5ap2UJ@?V>aK!XrO`W^^@~0>n6sO^~?)>J*RV^HE%kD%xzQdBICrcW^V9rS#QWB z>S%Km5W;WA1L4!Ie*!*sRe!gb(%i!=a)`ExQbspOaGo?T#K95W z^KvpAg)LxJkrbVC4TBa(cIkLE8l0wAV#A&8?ZM+LZ_t}(TU!NK_F5;Jj5+6in3j&Z z3TR)E{1jwUa(aRY1)D@LpT!*&Xi7En%nspm(}pu69)6 z)tLHyAOr2gV9xU3-@zjhW?FfvDdQG87*e@aft&^@3{x91fB@0+I6-vgwOg$3O8K__ z)%%Hkf5pJ)-t~nG@xmJ*;%=nCf|!hqi?_URh{%(^rbZ-3^)C(&ybD|!<`zoEC9k8c z7-V=Bazk=k9ZugV!`#PQ42%LDk9zGQJfWqZZ@H7PXD-)o9!urEXCp3aEpg;=@byGf z#iNn&9fZm?PR8lI=)9gufn??HTp7J@keer5%y`q0ay+{oL&j9>wIKBHM9VlRm}iH9 zX%=Idv^LEN1Af;#-FC(V`et6B-};VbXLYF^OA`#iF&9hptu7XW+P`@NGzA|98551O zXSng1aX6hi?c(p8rk-}UI}&CdXFZ15DKNorxxP49FmI>Mf|H&jhMl-r=Ev@OO-1y) z-ZvtqaYtvsrS0vJo)iD|958Q3j&bf!*MiEKr?dX$Ui3dk`(d1W{IhIi|KSCH&$ZAi z^quEp98T6((&fSk6Hm=!ZhLpab;H#RBA%IWQxR{RNJ6ku#x)tKP;sIyg_DFZGc^?~D_V98 zcwUQlI~XQqUg>l~T<=MRQ-EzPyhVi;cwr<9pLH6OI##8k+B~DWMzppzZocQ_xV|F7 zx16lK&*e$QPLD6wdhs#(#SwHW0WZ&34Q{U?BZA7~v^q~0Qn68Tm zWmn{qJE=gyoM$4iGkb?mmW`_K(_2KQwXohN`qH(=!w_9U0l z_{yL7-tqizc=5QQ3W;6X(0+KalyJUdZO{0~u@mFTkA39$qj$W!{0C;Z?R$#1W8yOD z)i?_k_)NS|woj!Sf;Z~$FOQ_A*L`|9-DGPZdXcBR5!tSk#8Gdr`OWcLzw!FE(DHs1OEzpm{ChwJj$vAzdJ zh6TK*osLq9!%g#vTx8+MHs$4za&BXnh9TvQ3=bOPoWGDZnu~Pc%?mi&h)l@*#%~$p zN>P_1N~xQY1Fd^7{Ta_=OHJM7LW>KE1X7{L@M0*L6J^lK2xJkk7+I8A^I~ZE!Lh;E ztN4!DQs+sh4fPSYXfkm8qHISxfv-tEvZxnFg+4_9yh2^s`NhlzXhRP0F41@5o~i6U zYRinYL^&PBkD|eTVt9L|*i*W(p=Wl1d;W|-$ zQh8sLN|K4V&>R-u@TbOTr6X&w9FoE-oC}QB_QDSMC>^ZSqYcP92dWUJTF#ZeF^wUHziL~;_Gp^MFk;BNG%7xVGz)jEN1t!D57fqj@3xGXi z6YqBPj^m4P1w4i=IEr(pWvw5{pT>#jUE|X56L0u#9FyjNU-L$ILs>nfPfv4=&nJ4B zG2vSMqfr>AlZ`~;Y?{N7jpPm7oc1wC_EFYH-g(>;O*ljdc)&ttO?IyFyTVT@mAt($a1AdF;-fA#VUb;K%yQ_9hynxLtV9G;f^tJJWQZ;^@unNkRu}=l0hXJOlv#RS@wYB}b$Mc^3tZ~Qfx05L^U~e}31AZ6^&F;zqK;#x< z#ktTl2?}7Oywe#(;0wQ%3cqu`jKzZaj^iiC@BP6aSNh#XfusoTjK|eqb*pfRotID; zUi1xLIo|rtca58_Ju=Q0JnN-EY`Mzfj_OM)QjHV1hZ0zSu$5qq6J06SJL#;zZqA+K z$TbJ*IGR1u{kM)E_>rHhiurY5__hzQu(vYDP)YcVPV(X>vC12cUNe6ARj(XR{k&%^vCA6& zj@c3PQ5+)|&ehJo5>Rjc{ofp)@$6@htLwaWL_&8J&+jZ6BHfpK7;o=nL;?<-6$>gk zJsI*sq+VFZzmeR@2&)aH7~6`XK^WG%+=q>VO?pm-C5$tWNyZ+Hc&nmtior1zC!btN zm>VkalReMD_hKBIyCD0JEkPNWMMZ+S(}Ov_MBOYcFuo}BaMs~{!>T>S8(J5r*x-FR zJv9d4Dsod}laU3-Mm-GOC+SQa3mi%qOZKzF5qQ4(uu)xdSlfV{noMyjc`AL-3lzT7 zFQwlx!aH(LPk)?K%c48Wc-07*7xZcmixbX^;&{cMePk5mC2@)WM83n|)!yi461?Xu z0$#4)gn)dc^?_})VytVO?rt1$?eUt|&H~d(Yn;ZdRPuT@Ye?aWMd%2<3#2vP@T?6B zjt}!a^k;ff<5+!2xz(7x7UH|tZ|OL=uCu9e9VyHh8x6yHfYtTE6F@80X+9@MQ{xf* z-O8>zApaX*nS)kVWRL?k!M=rbXBu*bk=9wwCF=o--I{o&2Uj*bLKa5~V8RVK{v>I| z({j4u{~BMLsx$<|C%Pv1B|6O~yy|N4oXbGxRA8*>HNDHRLAQaEGzwO=NZh)w>YJms zF;8qo*~fYX{L_%fm=>66nBqOWPlHU!?3}Pgql>lX;w|>VnmIC5)GI!lTyJE|vwOUU$`xqhhkr|Kovj4mF ztin%H%XgQ&!BJy97YnAnB}30)i{6ehUMSG4JJfiXI&MC&#!S5E8OsvW9av()w;Br# zBt9oP@Lf(k@wfWNHJqL8h*-*yY;+^+SS;hq|ob?KIgG)>z}X*#Kw(5yKe+HDRpJc9PAI$u!9z(P!Ex%yy@F zFt;DL$@3b6GE>rU;0LZSKEsqYn!nOM9>5k_pDdNs?iD_DTj7T(yN8#8Q%=9BPj)`d z3o(qY^-2$P(ff{UYOFKF1wAf(CHk_$D9E_zvC8AI_|b z2GBGnznOnqHhBEu`|xzZ1KCxn=12w-BN66ah=l-p{+;Tk3Zh;xo7e&_vV;2?z1XiP zu&wNbX(JOs9DBfxETu`BnK*GXxe*b-dlqgp1GQIjo-AgPY0zCEuiEJ7HpVy$O^0_zTm zz+_`;7+d3ptB;I3%80*zrFNf(v2(Ff+EMM0^adZ{#Jru5e{4}QQ+<3qQWBjB>1 zn5n+G0?)R4+ulD|zxUN~TbD{;DI#>Sj;Pr=j#V`J4}bMFL z0hDQW@{aKj9{8YfN1XwV&yk8YvxpNsb;S!T#&xdT0DB}`*UCY0sU{FAZF5ij`SVrW zO+r)!uVg+V>4f!rS*on4l1Av&Y>!dj#yZh?wP`NlP%gm}@J@j8;Tr-e?#QFp?*E+&mRH4Od5%%=@$l=d@z4M@!^O z>x2w_Oyr4&!b^A{r{|a_MI273MW&Djq20tYB#v;^igCu9cGyQf#v}Kp=V`DC#<5|Z zXdTaUJsA>gGkjn;0@HlXdB#axfFFDWnE5C3MQurj=#%I-@PzBu!*PqcCWdMFL(}vh zgJ;I6jrHEPP|wPNVBGQ@%VsrR{UQ>ra(;`Ugzt#P>vWanv#qVn;m8XcY%Aw8lLqDk zj?rTce{rl+7a3o!TQ>0tJjZnv_?=+hZUl17j`XMLf{_k^&@^zY^ldz)Dtq*Ow2>?q zd~cL!-Y-E*;LX`7bl6P%KS!bM6kds#Pp4aTbT_p&GAG!VVI=L0lRknGzk_Q6E%@?Y zJ3pq#GU+?D+4%85sZ*L~TV`*g*Gx;^3U39TDPyABz%$w3k4&1-#{52I6*XUSE*N(5 za(D+kk?)cVWq8+dVps@GEuF(_WwEY{?zo@y8y{`K=n5K?aW2%%lfY3ZcBsX?3#d^z zL%0|?^i#~r!ex`P*+mYTK=AO{yB6;Q3GKm#KAAwxycv%e51%EaT)fZ%7z=;FM-aV$ zl7ChNt|IMOfbpICu|WS~GSnx40S4veu9IiRbD!}!<5j=@yTl?4K}Gf0fmX=Ne#&S< zF|ESMfBA(U8_)cT7nHHHcdP?H*ymkBhi56%8wBMA84AT7u38LchElex62H#ZwYw@0 z?A1T|^6@2K{dMXZ3pGO}SAfA<#wDa0*Kt@Mdha{OLmu;lQ74Fvt7>m=(p0s_Qqdbx zQ*;NG_wK3m_)2fySz}(-2<>0yUTG+6?nrXsy+Hg_Z%E23bt$apQ{K%oflum1sAT9RU=@3VF$()^qYESYXA=Lp3+V) zp06x{t7>!zwiMha3(jlG@pJR7H;?@XkJP)O{gro{FS7Fjd2!cx!IwQ}{Pe4Td0c-@ zRqU@KEsE>_A&Nvtz$7cAbqdc(@g49d+~;T~)f%XQ*Uhz}0kSM`4Bb}I3IBvG6xFNf zdhy>@rSNYSy7%m^LW2bW=u0|+>^znaSrnSCg7pTH9_u)E9#t8>S-i96SgR4>8PS(8MAs$kUP)-@4rtsQcel145=E`c5 z?2i29T+=$B^mmI>DwsC%Deq36AjQBG=@wme zezp_|$Z+ zdQF9MgFL9;T2`^HN`_{gR)pTmS*MI*ZaEWYO4&?7Ozl_qnuzwz=F|hs1Lz<|dG^yM z%R)K;QkCIs(|67^DpYoaM5nMwC0}UA4>oC;COW@faA8f=xz_?nV@!rg9L`uPATw37 zRQRG;!`2bbjpC(x5e3i`-CnZjD7z#A?I5%PTJOSm&i?R3L3At_T2)%MoPPi;wQmTf zuVq~fUxE#>-YUv2E(D*We`R+7k2H!+_asM28PW52mWAdh=fnqq2nGzRlwTY|D&Hl=IA^`Io6#}} zfOya?ZCD96&$gkqqOeOIuI^bjPKZDEN4Bs3Fj8#3Y~wHEn)Xr0$Yk5*W%7pG3w~PJ z%8^N4pDLJgbf9 z7~s8DP52}-1OG&yNjLDsFyCOD&0y*`GKYJ0g8%S^amc>&-S0y%#xbD9O*l`6M~^G? zH2uB4^!A<9SYVby=6P@*8t3{nFSCz4{c>G2UgKlSf>&z>4L9=>+m`jOl9d_4!nV#Vm+Zh-T*7GRWtd)&2$ z$9qqo95?K%{>z})MAUs3iiml=0yCl7co|Dd$pxq2Z3z|5J6wUW2K-f3&B#f5*(vA` z7N1p?0LN8NQJyGj26&NX&EwLMA_#SY>xuVVe-vbH)MQ<+N&Fd)f7JM2?|k1la-?F^ zQ0Q6h-CGO*KiR%oF1pI*cI9~Rb%Wzcgy>~WK%}Ct+bE*)%qaY*Y=?8>en$_D58ZiU za&lnunqR$w_1bUv@qWcTd1Ts6Hi0-F9~uOa2X zo;z2^uAQqfGPaM*kYWks8tmAMz3%nWj*Uw7T`yXe@x8TPEpAkV2ZxK-LlyNOy9-9! zbJx^XhuypPD6(qVqd5|z(auD`>4i~Bz34-w+Y5sByaF|HD$&@Y158dwJkN8EJ+qTu zjv55#&Yd5}>WugKbIsxXaxa!}DlK!aI*!PxMD zWgZ3k6`!|(XfeH6@2jf%#c_tlx5iC}1=|J@s(sK8s7F5>pZVW14h%+j0M{}ZxU^je zlM~Z3Z#@4I(Z(KaK+ILWjVweSU=)c(mXG9D__&Q18Z3%*x1Q%Y(~AAJmXxZEvH4$( zNoNqJ;&rZL%;8btCOT}(i;m>_UZ3-<`Hc@F@idUpgy7^};7&W9bk!Jm+s6AY5HQhP;FkW0Wu9x!h9=?%Hcc3EJvaz$@E7#0 zzcKh^7%X(<+?AZv5pHPHu#?{=c|oR3zf)hDbrVlXE~p=j0Z~e~9R~s5iG#-Quv^g0 z@CS#PPlPQ1fZ_dn#>KoQ28NKrxT+66rczDjN z9AWJC2^Rv!uydkUOuU}?9Y>=1t}GjSsy2&Et`u^rUeZWUj1rC^ox`k+H8=QNDtPlZh)s^?zoZuWRdN znA}+@&wu&{zcrrlna?Oiw~QA?%rIC8nh3iE4z3qScdsl26ifTXAN=<5<^SqC$F+xW zHuS!Vq*i2gU*QM)Mtkq8hPD)!5^lr`raiq_P%d>i3~ug(ij6_gGGDLg684Ql`GLY$ z1>~R*)B>|>?clhlDumZ*XjP%RV4Dh%X;#WO+u?JoMMykX*Re;up81E5dGvV8yWcmi zJ6uPs)w5I{&6AY3UdUsJF>9eB*-D=jXJ|`;_*+VKIU5S6sI*SyyLf#M&Pp#M>hnMS z6UXno;qA;qz+Px;ZJIQO*{#(trJ_>_D-G=Iu{*~8qc@JDZVKtG9y(oFczj zhSWMDdgU0|xpt^BANG#@d#mJ6(Ub-L3Lm>@jG5l`T}8sG^;+z4{yMfRY_Qt<+E}mW z_O4w$?k!mEts~c9n$}K;v8Pb|fBw^FjHf^C^T$IU^@#EDkNw1P)uAJ#A8AYsiCC<9 zT!z}2Dqwi)&3`j~^VfcD{Kjwn#`vobePG<9T^{@#DaXam(oT2PcrIK#Rs2(&wr97h zEEf_lRl!2i4hkun#@6w56)%#r%?38^d*4&$JnutMW5!My$%Tsx)#mvcQ_Ri>Kj6rC z?ic^_@vLV)b9}<5JgIQKkF^bug#bQ4w4Q85>$kE~Zu`6Oi$C`><2!%w$Hra7^Y~m- zKCZR(gX3&%Us*@mNx^%pqQ+Mr+C9GO+yCP@f41;=wh~RTg`l>QT&NQPcGZ@Gcm|0z zIxjAb>yKVL-u7_WH6D{G5HWl@B$*pn0&?tgEr2a`JgS#!LOHLR?g3zZJJ8^kNw z0A9T3_)>%5=+*niLmvEbqd=cb)&f18}e^KT^&sJE4A`y89#J z{eSt+@n`S+i}CZX{Dtx1zx`mfRj^pMI(pzxWj+9obLGq|KB;31#cz%>!$}C|u-Bs) z%cN)IGqDX6EDj>zahZ)Wj#<Z1;Vm43wF|N^$`#MFLKKhV>#qL@GN1Mpd z!0gq!7`YgoGzJy>rPCu$ddVUfk#tNJ);wQ5&;Y0)m|hxZK^Ac0&0|I?`U z@-n@jVrkS2(1-a_*-Db#$i_kR6YbMsTmO^0Fwt%}2UPn<83Lvkc}F-;3b~|{BH*~U zr1s{W`{Gt(GyMpAbT+pSIAHv;Kk{HNw9&wlssbeA^MPvg+*JFcT^ zWL2(=kBBh-6VYtNU)XMKs`Oj?5ii=nM(`ZE96f9uMb zs}nC+&RP)?Uzvxv|GM{#0ADe%4L`@~xo!C&nn}i~9sJI`!Oid++QawBS>(C4>Iee- zZqIzT$W8E~GYqVQFMSyYD|FGESsYP;&tT!%PFptViJ#1UzyVqT4~r~VG63Xw>wE3+ z#8{hvYB;}p4%!~oWAA{?_GvStw0mCw75B1z7JSs*^I^fkjk6X@a0#ETc zF-^8o9L*R?n-gPZ3BW?I1AAssF&jeON3uvc6Z3cRp)hzRk{56ei4zfsuuy0Lv^sFf zp$Ip@(tFGBl?p+aYeGCV93v;lHKDoxuLO>w0$OZ2&Pj-CFBLj~^58VNcueywl^OL( zIO{)%0x*hK*K)!E_1qE`_nv`ivoT)(nx7d@{i5fwNSKUYG|?+%IAi6ns#+r=IL1>S z{gCmd4}EYPsp3`@A1vo3j6E&LI)aHlbXCNL@>7+pZ@>G@_(zX?@Oblk{~DvcY#%EI z;r57UrTOl!h#N%8wTF;ORL5nJ8l^z@1h7(IFD?}-deeYM;gTO-v+&|27^?Nhsk3@0 zMXb;XoF{NDRCK@gF5iBlOqq&=UOK;R0;$<1{E5k7AqPW)mFq!b8tYga7yh9$#!)1kxw>9P_D9O{d&&R(mE$Ep@pE;K zdN~ftC{vLld<2o^*0iu;^flI9WjKB7*MHgg!JmH3xbB)dvJJMIZP@ z-6m{JHO)Ki8;UC<9tAA;klj{Px(uFE7s_}(vv-`{I9^k~qTYxI*%^R+@jChqjtQl2 zhi^8@L9$-?&o@=H`y=;Us@ek;^+u7lg10tCEZk+ql7-g_b`(iO#>__L-tT~Q?XW z1K3s0oA5|DDiFf#ry$c+lu%akLtvCk4rgMHHFfG_q<=)fmpyR)|Ao5MMY~ z+bRG|eQvn!+VO8+^rG>lU-sqW>Kkvw%&;BWg)W_$@;o9a>a{SoI)8jCBiH@3rBY#Zpo ze|QFKie)+tN*F*~B(_OTDn+<1SwQ^>^1^aX2Ds$T64_E4k|Rszg`N{1Wy=;`Q$*eA z{AioB2%XTsl>j{~xUGEBK(_*}Pu{J>F*j2=aOz4n`KbY5WnWqXNSOGoEX zWbS4$Xu-^wic|Eu4QWN70lQW#uU*`$F9*Oyq=Q3s0nd5;Q$e z_?~#E3$%6c!|nQg!2zQe*M*y83`rkS`x+kxi&SW;WL(?y_Npw#gi%}L zz`5O`wRAreP(%7GjQw-f9@53}ydvC)cmp=AkF7`HTHWsF(N61ck+tufrVkwGY z+-v=6V>(7IF5^3K?J>=;tc(*A8$5#X7`GXBWFYaKdv2TaFmwVfJVrjIdA?L$4?Qs4 z;3jl4jLk!M4{gJ#65jC`*=FImvnxR3&}xP+ZD&5EaGUv^^J#_`&$|WyVGmyM%!C)b z6z5jUarB${IN>P<_B;;>qIqQIhaQ9n6TIT_8PC8==(NI57)-Wj)OVg)ubMH06)|#+5l9nc?4Dqi1~2hPv_MzAM!nd%VpXP&ODTM*CJAuvnut)}4vM zAf<+BTDE23Wu5XB2($A?q;P_-g4}8 z?bEGjseL2Vp(H%MXM5>$6~@F zctjH>>KG?VIfW5$uFme>Qwp-m>8Q{clwJ^ms&8E2A{i-*f?7Cx{5k)}Q^v3Sx3^S^ z`<}5;k!}>+*->fEI7^&{v3XJ6)p^n_Oi5D0kueK2E(CZPv@xxS5v6z2*sU|NFCjgp zsyyzhXx}{*?L*K@`&aRL8GGE@o6mh_RF4(-{j|qCX8g&!-!rZ+gJWaso-!=U@TOvC z1$Uaj+Pf)7iYh}(xQc%zz~!_7ux0M;L}4w=pW1I+u-|p!#CY9L{>XUd*L*`6RTX{Q zyN6i>F}_q>kBF)EwFe#!ZW;SK$D<#5eVv1TR~bgvl%aKAsqc8*DXdW-GS7AH@PfxB zWmp1?N-XE~=>qrQxU(Xu|LKRmXFUI#UNnxMh7ofWjlZ46XE3I@*S$Jr_5Cu~5ux3v z^U?OyIKJp}KXd%X@BLAo<9>j9akaez|0eG;`mCzyJCQn%eT_)J*o(H#RnfV6w2s<) z*3+IeUik~J9#>s^Qx|Q;o_rY2i5BiyuXkA7O@)|AHCuC$7eq6bNK9G6gMmwPE}g|k*cPD*YV@ke&GW2DhHLa zRX}c3n+M&|9(t`Ev;_w;GT#5rw~R-B@~4h#%L&y-SQTU`%m%|6AM$?oXECC&zxd!x z@xj4yzIZ6{?MFW3e&f}@@C)PdPktJ4C%&xykRpG!a9wBZ!EjnDxueq-ysm(z*mI7o z7t}RCjfcVwvLx`oWLf>^SG;_D(~JJYIC0`0!i5tBE>&g$Sz#Rn5&lRwT!YgG^3F0R zPTXvD5`7g_<@~_AX0VP#bIw_=5gA&0C<45GDD_-(6CXt?#Vb6H&WdmLEhn31S+DRe z+R#`PEtSVy(kzZcusj^!qDx0&T6O{i@Ec@=R%fM%!%3`+7dXqo>v9ZdEE)T>rU4u) zsh!Pcg%s_lKpG(d-YoY6ujGy4Bn{c2aOA(-<4qhH7OqY*M7fSZ*T8=9UL+;Qg!^h6 zQ`SnE3`yxG*rtPiSQrjwu9YXgP4TPva~r=_;1Xq~#IN>YJR<@Q{Xqu5WWJ!V%M`{e ze%sN%_S!D}?qS)xUe6*U0gTn>c-Pw~PBt5BFvJz>%*ed!hs5_a z)|0UDS63AYM>|lWrAv03(^9_d0Y=}u~x9L*kLI40D07*naRQQh1%_$!&RvqA z6X2Z_!8lzO!c)m0J00V4S*R}+Z_=T4N(A#r(_v7oL8U~@E7~f z@Dt{lMiUM)FNxdGCHiOP;zS!f(ru;v*^xElcl&t5n-l-7^qU!^b(_3AXJ2p};K}fM z{X}s!Es{b2_FYNw(8AwQR4(K)Sg9Ojo|$n~$y{kG14AwO%2K5~1SW5jJ1@cS3{u{=>`=KAJ%ffYkE*G`+H8xw3A}HYh&-4G; z`2N@a%D8D?h40GP8yhhC6gi^-f(04|W5IJ*rI>%!Kl}Xgv%ma1^*V@O>X$T*{%o(V zehCUN6dY7#f8V>tb&vmqv0ifO5WwIbJG79fjRcpy_-W-ZkDh5@L8?He28_cnoVi>9LO*Z~n{ojq9sA{3aue zifo2gnwj{;{D}Kuj}{hzTN6|%m&Gd^Rk6BU>FcGj{ax*){$IcP+VSKsd=B@d=jb+} zhj|G!OeUROMkV)3Um6d%`kHY|?P+ zH;)@D{JMo`JUfk(&B&^^k=20+J|g~@3Shz0wJ-TG4}Q@2gWvzHarA)?XCK&u4|&1; zj)lxM!?Mb$Y4@Z5MdTZW_y9Kz-9AVD;`ohM{rGt9^Itg59o#*xF6Cxzt)lCmn{^U9 z9YdI7Km_*bGj$*IH9x4Bl=-E;BZ~nB%E?Nv#!~*!iuS&(GAa&Udo7J$7$_{l2L}Xj z*;^q#ma&N0@Ly~K8my&(|1{8jbGv6#ZGKklQ~1!S)Duy}|j~iwU2i!vg$=6#SBVh-N~@ z?5fH7%`f=c@xwp%vuy9cA%y>H+Y9K1f`nXGq?9wY7gLz?8}MrnKDb(rBHWZ>Ncz@y z86BXRBT_J|D7VnKHU@C+W%AKbsP`Eb*ILqP-&t(4wz6Frhx#nh^{lsAM=*vsCYE`Q zdn#C{MO|xT`gN0J88E2UpPoOlUg>Bsj9MIpAIfO_U$iE#5(c%wj2c*Qc#QH;YZMj}#ANQuCMd$+s+<1&A;jrRm z6(NrPq^d8))j%gj-pLiDpH>G#M|~^wq{(fKM>Im8y*QblS?rDcZ(iV7#hZ+RJDUfz zAln)T9GeRl(WzJ$HjC}o${+@1&?73Ht2(*$n)<%CzMiYUjD(|YkhR`Vu`C+nZA4}N zwci&z2-r4Yd?Zo~x+wa=PYizYpcQ9N14Pi#*OGEBJ{69ZIjV&eed4cSp<;|{YJ(pd zR!PAIK8^3ZZ@I_{=^0DmN-5UDdE|l&(dl>eOv09D%`lczoz=pABd^5IBCsbM`zA;D zZ`uRQ=EpY1{0#M0I6U&M$0sF3?{O~TI_9$tCJKk(CxbTJ<^e6Lk}v$E&3xxYxuSaP zc|QGRJdnj`p16y?jPIr`zS00U41td@YJTez+)nT$B{;(fy?Xx6?|963mN2?at}VV6 zBeb0~tKE{fc=q44H=nefQ`EyFxW1hZhJoWX{+fS)%DO%Wx4iBxXS3J)O#cpT+*iia z>!Po>W5YP+*zF*b#1f1d_Y6y%E#d8+55b-JlDNuQ?uMVTY{GryP4he62~9(nZSyT_ zVe|0B&v=zTXFPZ=&G_s2Yx?57%nPqm(j#VA(Y9^V@Z<^()P{Q9bK}DGCVe2`8@p(Z})F6X35xOrU zlT1_3&86(oS(nAv09TBBPdF(!CM*;yEQV0RJn?1Zt9|klm2(M$PFszqyl{h}9D8=Zqy>MP9<+^TwQxaD|S&z_j*+)q z4e3^JRyh2gyDwE#d}Exb0&5ph#0XK#`P}Zy7^sSJJMvPi`hy;D?YQ}#W8mCYvxImN6;K7b-H?ln~ZZf0(R3_1pY3R z(ZuMU75e6p`+NbzAi6L5e8yuxe*7^E?~3w4DchAuUKXW-Ps(J3U;diMobuRnzKl9X z&A2~B#hgGx7_lF@=i>O&|L@h~iBEfm7VvUpEY!8jX@!OBF3(FB7d)&Ap#AmjcUPuC zISDpuQ?l8E#svke1fXLsGzik1(xahZM-h~809EePmE*bnE3vG|F6ftdf9(yO2N@UCj`<`C;Cmx&y~qb)_~SZ?UK*YUC78U z#_SfE(p{8=xG8V<-h)#|I zuo6G2j{F!WYoGcz{fn<0-~aQk;KI7I4!}i9DwO|emEQJ!9#*g9%f;k4TP{>>_pydO z%$5D{m`6NpyywHWi~|+E#~$t5@4CBKtRlR%kA0_0MWX_}J`$P|wWtV#9glUP z_;*+FKKF1#4k25iWny%=g-*mz%OT@nl1p(^Fe9X|?-;k;{I}x?kAK3r{hoWq?uz~& zD1lezIUOYcaIK=1v}yg%x`c|Q$&rFn z1@L{B=|R5*-s4alp$C4+``S;ej17!IMcsIIIkw$!I8GPGZz$$4VktPBavq)qOz0v? zG7R#F2LF`=*XO>+l^HS9G|lpb@c>s!PRID<^p5i*&K#-#j;14BorVPPsn?{>usoRP zU;hnEDfFh<=X1bqY%l?y(IAXT_HTR>4)lZl-;O>LZ#E8^Mxlk_>*~?C z-rO#lMYpz0;aHs!qdn~C&oHDATjZxWby*hYrEfO&8waLS__29LaQ5E*TGtkX5-@ta zOn#Pm~k`JOy_%(DwBf(8@?BD4F zk3=5M<7z(5dy*3zAK~%!&MEk6%dW7sR;3&;yQ5K`4WG$el&-k5$R`$qFLZBO)L zC4XdX1CMEsw-#ho=7kbvg4r-`&vzqVjmmqUsB;!cF`mxpTo{OO zPzlmRme(8?{g*;)5t>=7W6UK5auHTxO7$m0!-kV17E4q>44dLKF-$ZmJRyvDwqfBJ z#Y`Tf`uO-0!L0Y%@FxD0wwJ|@X=)VS*NRvCEEd+$1VYP|d< zFCH&^>30`evF{7nwe!SNi3vWn_bz8w%K-Cw&4mR58F;}EHL;oXIxncPs0ZGn*eYk1V0*Nk-TWXK@e|i0@#uq;OOJ%@98H9pQf>!hlsnDi1#e(-%qlg*O1i${d z&l*4ZOTRv@tF-7H$VtH_@7jyYNG#`_@Y$)W;6GwS$~O%PM3l^@GBE08^j*;6-`UNz zI%EFIm8Tas{(Y-t@2w-C4pvbzR{E}}HX`~;&krpC!>$7PRAnygt@PwEe)E@qZhZE$ zo~vjalxU>0!{A0F7{IqSoH?+xb)|1D)0&S!@&yQNso*or)i3$x6!dTX#;+bf@Z+zo zYv;z%I=*Y`?CIJLfNJ_;D>*kjFTuv#=ZP`Z9H=@Q^p^^^&ORslQUDbkaMhsr=U}XF`Y?+NbR)dB=XAj z#tJ4)6-VIgx)Myxq=+&NK2i47qI|{qrg_QZ>i`dlNA%Z!%J{A^&>0v70+-!4v&t}6 z&B9DSXGC9HK3I>Tp4q7JR(2)|oe<(z$a58A(}YQ?dLsGCKto?qNR>t|?ogCDj!ekd94V%K(itnz zJM+i1Tyq@gUF)q`38^&=_cYJDkgwG+j?C`U9l9<@j;Z8!?9^@-7Y z&@Re2$0j`r+uX2bpQ~q35k^(h7a7r2(tE^CPX|62f!g0=hLMfE-;#~u8=Qg7s@{N{ ze7@i={mP4MIZECaZldpWM3?jfZPYf$!0myFibj|8J?fVD9-^e+S=s=8rbuTD$2RQH z4`8!m%)k-gbDP!f?jn%(fX~I@G6s+)?^K^k9U#4yW3D{*S(S_N#o>xh>a$Y3$>Z4b zu612F$}{0x!P6eHh}cQT(K{0?&g$v(XX_1YKHcO;@I?6t{NVxjw=xdM57Uv^sM^}7 z=lvHjFiIZdBlkQ$%c+%AZAPe3M_|ezpsWIpLUaG^42f+x!Lun)m%tu*%Jc<(S>)Gk z((&Q@ly@EmubIXi6P|++hQG!QVUxV-bba>YF{a%FlTd{n#v1YL=ZIg;=f37SwmNR~ z<@rPU8V2++p|)usIyc>>_E~{D+#-|S8p=}O}yf>>Y-B#wL`_G&W z|8IYnxHAt$CSa@tQ}RL19k)vZ+b&bm()^k>$UEs|qBSpNF4f;;A9F4np-sp1xEEP4 z7~TZ}l)@-OUmkwq1ja7+kQ*5oaME3R1x}ypCJR7&3~9^*PDT2pYzR@kADj1m4d2a_ zd~g2VQCA>X$jh0k^WL}agSw+85BH~8DcIaBWxkYEEKe--vSV*m0j@o+wXVJWkKZ^R z|BpUh3+wjCZReipC@3nZjKC>g0wwo`N@>Pfzy~T-bgRzCWx*aCZ?<07%jnxz>C_*o z%Gyw2wl0?8Tm^7Y@f)fksI`*x83O_3oDngr1pv=On%q#wk%3Aq9#_tT?2F!lQjdaK zxC})RsA9&0q8r)EpEZP0VQnvW;TQ9#`HDOOg^P-s7@cPp+rzq}JWIz1rF_?(0S2b90-_rwe<`0HI;Bjlp<7VEP-})&NPB{TXnP=&w|HXMm2cQ z$?u^a0gQh-=MZJuJXy``XR3aLB%Z~67$)38QSBo|7>511BG>Qy+H3!R*4_l((xa*u zt?qOB^pKtt2!sR(q67#eG6@ogWPAH?o9jHQpQ)7*?R z^1uw=Lii7|>7+QR*;RE9R#$Pwo!|aiJN3*v7VPWVje8DpUYA#`#tz&A$pW)y0~jZZ z#b5KqUthiak}|yS#R~tmb-%h6{i6U&uXGi2fVO^ZJ9y(BrqqAw3!iFty!(Agwlz4e z4u%3c!;F;wcj4kTINuO;iu&fzIUTi>z{^Yr&b!|+9StvYJ}KMmmI{raD`$O7#o~o z9jGWkhL>v!$fxy}OA3HR!G>Rp~L(mU*Aa5h@c-m-jrqnKXQ;sG$D|8eX#BYc2=rLi<4lWKO99!^JqjeGG& z@M!#7*Vh^G7<+<1=BvyhI+O5z@at#sPAbuJ%)pDu99*DHTw_4ThTF)yUSB%y3|d!n z$sR+0(NB$vzU{jB>AtH%?E7~3|TV#tn8fPUZfAF~beT;T0`k!cj8HFO|zXm0T{ zlL=v-=XLWmRf^!qaAt0WZhdZ8e)RPVc&|Wb@iFN*wi{l`*f_7zui;CE^hlHN>#)X2 zbsymFxUxeJ?PkcK;XunWyf>D;1H%nxLnGQfFf$hX>R>6G-ZQb>qT1Dem7?p29*G%` zB6{ zvEBBx_3huUzaH8Y_cESnd`#5p`><;TU$O#y)u;Zk-R&Wds0!z6>%3wd|AInOr3e+S zchsW!slWQOcE88|cr{W0P$*^5fv!4r33@#2-=vJI?d27X^DspR2Ubg0H3&u zC;O-?@G2@-Oi$bQKU2pXxZhLFvpQ3%bME zfwRduF2L!DYR{OmEHr13&J3etT^TmtykTd1?o%Gy{@`uzg=x)d;{3#zI3dc3waMzH zH$?vI6Mv+=^<95k)wmbhdQ`BlVIUP8G0kNhyGGs>Pcp*f;b*%8x$WcwHGiB zR+d(Ka6q7X{BcxEhZASDQ*|jrv0y?$$I)^q&;+{UXd^|qS)8sKiqhN-mFoQH(W7lo zS>37R=v8Yotm2Qx*w+1w%B=>ND4#@WYR2@BZK? z+P2L;t2Sw#G^U*4;Cao0Mc8j$k?|XL9%@g0++*9@%b|e%)hU)3ep@M$CvX9gg%lr3 zaXlEY&KN-!z)g*BFh=ixzX!C-Kl9IRZ_Rz~ZO8oL_7yl!)It}B=C>sreOGhotCwBU z?sVS0E8?wv`WT}44@6f=tY&3xlc|Pxc!&!xT}DO{|tNciADL6JeG zQTK@V0L4uh(lTL|B_kLsymE>WR?{B%T|N|)D-p$%<~a)wFP2O9QjJ6o-oiVc_mkF&<) z)J0>?U?D6RD7F#F5!4L^INy5zkx5xo(SOZTIOZ%%dgPkpbTeqrN;Lso&)%)b481Ke~vg>Me^%q6ZB!jpVvQOd%v@uNF z(&p&CNSApTHI8LoRojGO4F;zi7HE&@`>x8*F(HyVq%Q(S9B+vASs(NNsAyGNigasE z#MqYc8)H~B)Mf#h(frtv*NtF2#c>WyhrOT9M2l7hSPvF0VKh-SL5tNF%{3bAFzRuw zyD6+E0an+{ApXhxf@d&D7>%bfFIX@=>5`%n9v+CXt9{$rvyF&%im5pTy;@>q9nt=J zABJf+U`RCg9R-)|d;Ed18@ae=12*suI^j$Tc{dDg#89T1xnopxBOqsQyKl?&u6UCt z(7<32Qz#e~8kmR{X1*H!w2y8*kGtTFE<~?OJzzCJ_(;TTz(aT@^M){z^!|?xYtmuR zS^7TVJSWy;KZHAN;642qi`KCZ8&irnuPlD%w$f}2lju%qf7Hd3k;AdN&jN*81iImZ zD6r&m|HQDijvwcngo+&mILEtAC}A;z2($EUnbjRW<04`^rOUSny};0Ar13cOZg6XP zoFaIAJ@LHZKx}`|B?ecGR#S~3ay2*?nIxC&7zynHU)~SiN5eO`>@-n(3x%tyWaGxu z|8(42Z#pUo`V4G?ER2-xk^C6xX&_EA&I7>jITRxrzk303jQ)`UI>Jx3FW1%Bc{@!B$FxR`sxvz@=Q zsE!k`x@1-JF4P2+ilCM9QmLp?bey_|#j%h{KC=;0C*w|@elCbgdFzi@m?qsz0w=4! z(%GhTSx-prQ%U-O`G!o9_wXYFGQlveVbI*a=9IVT(bN-2Kg;~&x9^Lg-+u>b%d07*naRH2J0x;IrN=QWjyaIDg|Q4H)D zBLOwGMeI)odqD97Jf$Lm@9Hfo`b%|;SJ4*pnMxg^x?ZGsgc9a^lprX)gCQbAT0*iL z?NEdv2k0G4ia8AYGU{s1Emi;6N4|gW>UM|QZfIA2^E;di%N1Is6TS>N$)#DIHfPm( ziKuvYe1C09I5P_g{pwQ8?v}6 zsDJijA8Pk`&?5^DohC4=ExErgQ&wOhat($*9Eb&Cm4ovZnBY!}6H>}Eh8a1C`Rs0x zc0bQ_+`3l$f97q^YS&cJxeX-)d3-qvGS+qoMeVc5T7CiDXa_vZxjraEn5|J9qz!3( zqm06T-S`o=Unc{>b%3WY_Cn^$E49GqC&Z^TXaD^4!v$gg=0&2$AJJDwo(px)FP*=7cGh)!%Z5SH`qNF#;$(QNXLkAt>9!q zHtSI;%;t*ah9^gjWlhbVL1KeZ@=yR=s*Id@IK6sklwB~4 z1@KqfN_mDct^4{trFkOt92r*!5$&#LtRhe8?DcGloT&mj(nB?WBA995^^A(}ALbEo zx8iuQx}qb%Ds>)u1=}-?i6GF&M$5npnxh#X9t__mFk>vTEyG8;`Tl4WdcOA*dGlM> zOUL)|y&IS|HYl87XgczkdDfSQz&A24c-4d^{|{~DF)oI9&a!(ZGASM;9vpSO1Q)tvzor}UVR;(dcBh^3*70Jx1TQhDJuhO6cLO>4t&Ma6Vc4RdbkvaB z>)$vFjDv9u=B3UD-iF%yX1f`Gcpx|!uJgG>{EZ7d9=;i!F_ay^S^bAKrD9~Js9K_; zXdw6ed^hayZav4^6`*U@mmt8j4zG8-j8*CZC*}lh8dvq5^DeBG!e*WSjo0q1^4uX! zNBqQTWL_Y@=h`^Wf+O=rpPLwOa32R!oJxbUfS%MzK6&M?7dh!gyUvf19d4U2TP6hd zZhPWo+{gQaV~xBJTp5lT9`ShN%z|U3GMOjmk>w5g%lsgmp}G2#;SHQYZ}#Fzp5Y=X zTx*}Tt|`Lnh%pvaM9DhQjc_i$QYNzSFcsU(*((JTVPl~gEYL~gQ;H{*6AG3|U<=Xp zj~*g?wQ%W^5CpV<%Vh4+bOTGp2Vd6(LF`RwIw)Tx{cUJ+j zO@-##&)N6ug>jS;$CP)D75tzGtk!k(hqP!YPeWvAVBQ>UrRY!fOao3H{2T|PsLlRr zx0GiX$W_2;&u*legCDE+p}1OKw`Q=UAEP;YK}Ebj3B$Yg#xEV+O9P9O4hp9Ww8%k{ zMF#w#@0zdTVGhNMh?E;J5|nf7?OQH`X??qX*Pbfg)!KKeDBYSmN3hS4Ap(CAaD7SR zgTnzzi}f{j%>p7IC8Ac0Ea`q_Ff-%p&ax(2O|<^ z7}xW2xIT}}2rw(gHW}fG1j;#tVOzO{az=R|MVZI13Av&(opspD$VTZTSv;`6im4TU zS6cc)9bZP+%4s0o-dhOR$_Xwe4s*FuqERplspzXKO>Cqia6?|J`LP5;GL_2(Rmb7T z@5?m+omDgweJ>-98a#5btG2>?;r&=0-F2WY z?K`-$tzBP7y}3Bt=oFi!tAwZIzV^As@xW^Gg|wu{T9^@seB6=*bU;e2r1AJ!)!y~z zZ*EWc>7QpGvqq}r?acG#;H!*=H5Ku`x(x4g%J4pQYh~gT@5G?$4$`6_&L&^lSH~EZ zqa5qD<_mUA)h=}$S6PzMSjkEE)|)NCMn=pM5}~>9E5|sS~1#_ z;+6BMj!wMcx_0I*&!A&&Tgk3vl)Wp(CC>D&lmb&$+$s4;9;ceeFks4ZZE0b(Gf_eN z(IuC4a>L||9^1&sxCJH8k~+vrQUsg*sZkCo*)*DeTH82(yQe+x$Y71ZPg?c0FUD+? zQ56Lxzd@#PO%4Z%dhEyYEm+4pkUm}<7>SfVBg@x4vJUkU$X%@&GIk}ars825yI5422Q+N4=3s5bS`%^5 z*KbG1&E1msDrQFY!3rK*>d1rvirz~w*F!n)TZ$I?5)3kndknm0GvF@=DUJ4U{lNRx zCXD06%H(5ID|8ZY%)%M58s(E5Wn44OJqEZHLet$Yaz2f@p-f>bqJXs8rJoZMsP1!5 zcm0I1i@n|CU92@o)^ne_Cwx<1E+-?6?;)ZkrC;+%UPAHD$y1@#*7R8sF?4@C<_xeI zl8j07%kwskbUoBKiUX-D?;4Ht0{jJhShNNs56^P{Iq(n|(GNzOK4YZeG2q??7M`(F zV+PL7s{u66*Y9yJcZ~n=C}k0dC%Mr-{2H1ER=|xhMV1Z56JfI6%tq?LG0i>KXr!PG z;Lmf6_X0x#*7w+8!NPng4w~ z0zOTL%%?aAIPVO@;Gpl6u6wJ_+M?oW{PYQh!9sEljN^f^Juc!oA5AZzrRrsH|ZT13B;{^Lf=U_TkL8JQLjw(j<)JH#{z5P9Z zU&=iqBc%$W3wXI^&Zq7q;}^DXe*eiIeN=nr2mZd@>XxUr>#o1C{rHbOw7vWNAFboE z%Fsb2ZR)aJG7Sx3-}a;s!<6~J|9nGx?9={R+gd5+I3@%OCloH?%EBVb7E%PUs4K11 zX>+89y}4mLGkE87;2TN=loc>w6)r<&WA*$4&cA#6=SweF#2XQL3PGVHycQ)@0z(d$c-2@b7*vMR>HUpUrA*8L6q5qvNf%XQ8}KMr zq_o@^;4n~PEMS;gI4Jiih>Fju1Dw|lMR-;1LB64!Bu{$GL)%~e?MDlKoF`qywHtGSexE$&)RK#ZQjn}uW+qTo_KVI)0uP_zf zTB@inoKGhl$i-s@6*2BbpH_@jVo25Fk2&If^`)P0cRBw)tZKegvLb5*jTjm@+TXov z-{E%doxZnS{-w&?kY`W|`gifce*2y+RITY`_3Fbh% zIx8BmO3L^85V(i+1&(MxH>Ig3hAK^fM2DV<6ZVzpXdegN8ys>avRy02F&Kdx%7^?70h~GG(;PUgi8{2 zv#lGO<}k`nOe&o@E=PhGUb96`g$OeA3x}bM|Dmt?jpM%Xoc35F%~X4kc~XPN!V%j^ z3dk_uQJ@Wl-uQg|R#klrQV`%d8r50rjkoL(j|LYZ!svIsbU4PQX~Lt(>`Y=|Ho!@x z$!o0V>QogNv;=M({RVt!1JB3sqd{kb$i=VpK1XMMkX}K&Mp(!Avg4`iz7d2t>ly1z zH*T_`m=>X%2yhwqV?P|9bt%A=wq4Xu4gfARnYt?-8Dvc{a>%$^u7;LpQ?ev9p`NZa@OF3lNG#Ycg_#vvsMLrk|?i6<+@1ki$bqOLA32d^g zNDCKb-?yRxCSA4wIF9PnRTcTj?o}0`-rH{c&;MwfZhadSg~HxrrUheP@JgvX;DMy5 zxX$(0v{Oz$3m9n!5un>!dw(m1wrV}G@X^hEj+cSMc~jaW47Sa6Oc}6y`nsy}3@2kR zK2}&rVT^i`ks>NqQo=cYFOWbO_Ms`wf09Y5@ES!}`;f&)s-}zI;tkM923x*Kr`-(t#&=ZwNG9At#j=0 ziGZ_Wjpun8*Xs|ILeQE+s;bwuKwPu?Pf1&;MYu>;LscY*2MvN=e0z>O$pJX%S zUc_BSjJFQ#xW2vV&2Orz>F;WvyY%0L3nZPHG zc*5Do;mfWRNXg96LQEqkNtAJt$krHDWx6M#JXN(<4jG-1d*H~y%H$|VNgbQFep4NX zR)pl4*UlK28QToK5LrS5xYXvVI{%Rm|DX28KlsCT=@nPD8~5%g%q_ITmGX?iZm3b; z_V#DApMLsJw`V`^g>B=OQ;GXTwoi&(_Z1xsZ~)(Ma{bwxUeliWOBYpz^QsnJ_(Dav z)m1GUd@xrsXLUI#ZrFRcZ7QQ~?*SB-(=l~7JHv*tk%wGS9u6_MXTEmXzqaQ-=Q-_* zSAL=G-gl__HD*wVuMqitRb1~kU-shm#AiIS@T=l{N2^V`7ASvEpFsi=q@o#`44=+i za!&zXOfeMiLvgh)eerYcF5iFOw!MllF4dX#)Ma6Wq830g3LF?a7Ym@m_krEJs(4u) z375dnO^$kUg<;<~Gd57gyI}d^C7*21f5G$G7ccvA+g(l>d=^S*ZCKdS?su>A+Vh_G zy!PzE74(zcGA?qXB95I4>L%@Rr**^Vq>nb<7$~7N+(ORkkUhFjykY>wt28 zwoE}fT)1{*IywMZ7T{5gG$+Ch%73CD!m`VH}KdIh|7G} zQ64(^wCH!o9}g`rcLTa2Aef(UQo>0j`J=PQeM$r13f|a``rx{Z^@|DuUL2gve!g$5 z;zL$;z$aW=F+TUz6?O(^el|oW~?H*^-E>;l*L5@*U#`tu5XHh&sTfQ@uGqxWsE9abc-6J z(zb&*!J0J2R32AUS>r*3R;~o=F&!6JKYcd1$1KMH=wySd_k(K_J^Kh@Km#W0Fmya* zEn_-=?Ucq}(n1abjFHEp5eFI@<56`91<&y8;hG-{#28E#RTCE{i+`rbJBp5hZ#}+F zU(*LKk#>UtM%-BUGhfTl7EC=#Uf&r}OWUD&CZ%D)WYB(a!!TnohDQW_PxUBQ#^W$P4LnQJ_0$w;9o5T<9J2xI@R3rD( z_1Eg4uj?L1$JsEx8QwBbDH>LAF>8VP;9&gZoj7c$2n}$tnK39cIH`y*%?pk#_$80X zeZ(7-Tb?Uy-+U38#DMjj5e@tv+cJG(bn|^XZnAF1sI&8|r{a?bL0jWFLB&Ml!-Hgv zIJ&|oncr@s^JkFezk!E#k>vL@e@uJo$^HqK z`{_A0j|D?>7EGU$gb6ncBeO>b`Vhyd=3ern+Uj!>@661J`aMRD*=QI(@cW(4yXIxm z1dn?T=C#O8+Lc2aX*ct*^UE+tJAA|Z>hsSy54_zWl70Q4_W*lj7<7TNkZL{vI4#h6 zDbE z=VMFY0Y{NB;1Y^jr66CwXLmd2wzp{iR(rL%_py4x*{n!IWd`j{77i^gjk-vs6*jOu`;ePbj}FBDT1WP&;E*h zz}G&{^!$T$jMDO<1JkNLDweZI6xzI*qHscG@gp-S z3R{PYrWM)5k#IaB%TZEdBMGxmy2S%5L{{&tt?^x3k^VDo zeT(+(YpxgeVWgr-6nX1u;k^YZ@B^h@{Tmmxm%jQnWe~zZg^8+<4~?qgW*gf670006 zF@d~UZ}IFH*Q&vE$bDatm@(K z|Eo9G5phpKX$yk<=eFDcDtFu)BRc?suuW1s!%_LVCxY3JPgK5hGY zoa5~Ui4zgvN}<|SeEa(^es=rSSG792G^+xs3$S*X%Cz`5%^UvdP%$JH-E=?RSpEU6L7rszm;=aN0?QH z2hzAp-d}y$XWCuwS$o$j-MnU6MfkDAOR?YFxA~7+tnxT;g1}v zJwjfWur9#xQ$a(t6Gwz1@QFtCf~RnFN@3s{jPYr!OLPr5@oHw#gD6!5w{aKI@Sb6X zYkse{7>8>Y5YbhH3ycvFVw`cyj8xOfN$KoGsp0CB?YrWxjC0e&MyC98UO0fB!UHR# zb4*s=Y>f1=su#gS__anG8mV-A2bI;OcO>;%=Y)HTg64kDVTQD07+MMLZ=-`?5=K8sAfMf2N_XslD1HQnAFqkply!RJybz7*u zW4%RlS&O3ljN=-OLE<-j>+ho+pYmzUJDC?Yh9i437vtDS`t%@sX0uN$GrEi!;TY!E z2!D7ovX~2o*)F`+X=R?IAwS6{;&0}i@Sx{v`jC{y8ukIm_$AR~{b`4O2=Yx7wZ@m4yqBA0z3_2LRbDD6y)-knh+ zBLD_Q!j<~T)YveibW#IXv!?cAe% z@!wr>HQ|pbqM&d6?}1fx?&8bq9Pe#gs?gUV8kzmfTnZmeenogw6&6t;4*<06P8SL8 ze%u%>HAHuy

eIFc#bvJNGWOcl_}y+7o~F*)_yUF|MovMoWR${~{v+$X5gxJgBpe z$y?mAP^sJXzct0rtN_lm-ul${qel<6D?k7F_K^?%ZTnyEerNl}H?D2Fageq@+mLaz zrVJCjhbVldf-_AVxb2IS>KNo4@J<`cfE+!j;&kY@#*L$9Dn=d>X;Apb?2Vi?y-^i7vcIN4~XxG%a)c7D8%PbHWnoMOEA1xlMwChTvUo0fT zp|N}Ko-(pzq<{0<*R(Tkb*nO-C3vK}j2cWw1HVA2R|@oTZb7(y@BVh`=28m}RYnAi zQtTnBXLi**#h(3r*iVo4P$;g7l<{-3^AxGmkc~>Ue)UU#rM>94U)zB=ZTt3Gt5HcF zXKceU;ffLk(vhMwvKDq%q#d6-o_(u!_1C{ut-yIxF!VJ2*)jEBfvX$iz#YzlpKn)R z`Y-J+_qcC6t>yxpP;d^i5M-fkP061fH}3U#OFq^l#h8`;fAS3;BMvM<+cTc{xc0Vp zy^oHCb(KXkx2DEZDfElQi>q-`0Or4=1IKGm^}dQ!qoCckZJXK+*Ir*m($*EtPjWn* z2dFCW5+F-x6G~v=a(Z2reYdN;V;1#TINlS!W;`$=xof!>W7tAY^LE^I>x$TN0 zXl*5tFvv+rPBV+89!M7Jo<)&fG8_^gA*i{X#)1Cluxir;6lIBBiCq6^PzkQTwCY4bl782d=h)qfvp(E_$~@46?{;p>$!FHo2l}_FaOr>T2~nL_8eSr zEf(CC(JWXNO2+DU6nLj)iP``FAOJ~3K~&?V8{3F}`+VqXZ=say$*9Np0h-1)8L`ni z4QnQ2^v>u7CtY4V_JQl7+nOEJmzExVEDJiP+JOq(c5ft(7}z3-wijFtHGFy@))qwjOD{!sTG#*J-VxWqO= zQ#%7^;2HR7GzcnF%WSQ}!T`#I9w&#pA&Ne|D9PM-nh;D-hNmy@_|T4hdjT6j?8Jv`$!@_b+=FFQ(`{ySd;&*5v!2fmwrJyu5D zfxqBmR+eOrcEhl?0=5b$vK?ml;(5vY-$9me&V_G$z1xsERdUtGi^z68~D?Wd($kqMYp%BbG#v@ zWhjM^Mzm?mxjcGcXq*UOrL7_QB7$gd8k9I-As!RAYb2-e8uz+cai2W>lN^!|5$@te zU+L*emGy3@bHIX0%1aCbrPWEO<{2|u1S$N3SQb6P(Azwm~;c%>6pt%@eegB6R zJw;C>EPBxzDlux4d&4WG^P1W>y0tFt+>i9k@=!xL1ME4}eW0bjicyv-74&!+&Z|qA zKD_6;I`{c@g&w3$gCQdoPk5Qn2o1G7)^qo|-5Ko*-@3M)amtoPbyUpjUQb~-$=F09qe$O3PhWg~N_k zt}`Peh=O|@d=RpM!VYcA!6gTUG6fdPF|w+>yC?vL6X$l;e&lPezN(#e`|r{5WTyS9 zY7~3h5j{plazv7G4ca`6%HZ8fYW1+k<#oOp6C)x!ts>-x-j4$e7AGk$1AP<^g3ee zaGk@xdSmT}FNI)vVWI7=B8V?~#?Q1@{_$IxqKS~Vx#K1cZ;23Pv0y&E_s`zcexe*O z_`s=vJ-5IQ#)7gAOUNLumoTrfCLBGurY&r&!C|bG?Xjoc``+(4vwi8S-xQCY$o{ie zPH+emEabm6?ccum*>>0a-LKtp!#36dfZ}}|g$%(>ReWvd&N`#~rBzVvWv{Lp3s`_= z@i?V`uhcpvo1XS#Khpl^d;gYOVAgHj$|(7A%>`8TT`Fa84pFOeO0n+WnuRjTl^VN$ z-%&c(;2gSs=k7YLY)h5DD2G)U=CgAEH3F(l@FCY<$U`{GR<(;i`nT;tkG!yLu5ANk zT-Flk)FO_$9sxd&NcIBEwH>kye<4E5Fw$uhiRSy1Us@MvI9lE-`vV3v_El>e3k^dn zMT{hS{p6l&E7;O|RMi{uzi(e540dGNFr)zvnS=h3ty2Brd8M>tfH3gEIEEMf0}MLT zl2)A}p_1n;wwday*?&IBb}^#1ZwY@`_pJv7N6hf@{jBX#K=5Am9|M=Kkcs2KkX-HZ zH${s`55$v+AU3YFa6DVQ;|Kz#tZ__z&``9?~^E z%K}g28DEQj#0dsODQz7Fg7#z&@UlN0ElPu#I#|)B#=TIo0%wOysZRTve|)~$!q%?N zs2nTq>scA# z>AKevM|jdktjXnRBRVn4?N8vvYjG|ShjC!}FVn$sHZSOA8hL$~v2nVv z9e5%NjOU{qQvuB0kIsJsU*VC=quz$cp7{|x%{UK?R|aM9kv+t-?kzWYnQ{XC4Kg%* zJUS3;_ZjI^o6NijE(TdZ{GlkJd3?l4AGe#yJ^rk=MyE$o-U+M6L^mKO&Wcawr+IG1 zIWRmQ8I&k~A7|)~epc`^Y)tI&79ZR2>7Fkenif6~_*8PNcoQv9G&nync>$n_(xVGO zMkb7m+C&=qNc-f;WD#PZ1h5E9CLksTS9J!JTlLOfo7& zs6-0#o9&`>C(^FHzbXn67>rHP@t_oP;Zlojho8TVJ2M23er#18c{9JI_yLQFMZ|f3!a;f@|=W2WNe>soKYADZ;X;kEi9q3QyJ~=|BE-b$N$u`+LpS8J(tH* zxQhF7g`cPZEObNVM2oW=Cz_0OfZ(_Hcc{3YP_Fb&;1JrPjr1^Mlru(xCgW9Y`W2Sy zUfaI23+H&(wVT`Hy<)T~u_L3QN4!x`syuUybka!#;~%gJ;K)p+x_fNa5_{EW@|Kii z@(o~RFA}n9vkcMF0CrZPmM1^r;q4vo`!LP0%IiK!+V#mOi>9MV`L7?--c>1ZqYMQM zFm3_G5{`*N6@6@{=*<_7j~r{4e*V+#m9KeSd;bSN&<-ABg#a478#h!o0BAwk0$4#u z&+V?fyHglzn4?yx7Rt!oSqAIoDzkr0r4}c10|pZ3Gl1%4srZAR#Tw(E|KY3J&%W^2 z%HZ124pkcY+B&;@uJE^1MdDVM`9|jsjxMWlWAAW7HUv~CD8BV|eq$+HbzIt>diRa5 zts+}5cySq-NE3(Q3QcstAF~GlPZ>s>JJh1vOMdyM+AIF(FWUAk)gL0mtC69wv7AvT zbXRn|{#)hDJ+0tS^!mhErSXi{W?5aJ7ef@d(bPmZMS*8)SJX zHTrnThE+=&+Y#0az#jdhHQH@$=e}L-F%P?-ec%_9Qp&UQUMYm(eDsN$P!FuR8ohYZDy0r@4 z?Nq6e*r&h~s@cPt=Ixd>S)zE9P2t#dLwaZh`uQEaXv z_;@b&DQ^K6lpCE>o-F}cbH*bd=@_O{(`|Dtm5i3eauf=ECsOQnvuD8BsNk?5&#dTi zxuzq)uoFddC6p~bEujhK({TJ5)BS1Cpg1$*N9wY0osQa~H2b&#!8|z-f{*ai3~?nBv+ud{(+P^loh5`$CGIVMTIH- zXxq+=IBYW~BdCX@M*+1a6%pZ&EWqmR(R^4{X zg7k&jd%;DE3oOQ=2D^-bk~1ul^youj@gRu*EVLAmClN>imT773qv!Sq;dltqY5X3~ zU?n*Ebb%A)Hxnb16-P08Kpc_Y1Ak=w0K}oDfgx90(^MvxdKir64NV_ZskRP zz|8cu8yZ0tgazWYSiwtGM4E2>TDz{8w)WC)En{Q(*q$QcI#C`Ad+`JuA3g2RMi}Q7 z(>$?@vf6=?1^&P|&2&&;l4hwR=*&OnbryCZzPz|~WeaUM712jJEY%_~UpP8Y5%2v- zvn_9-@PBh3SItJp#?uAoozp&fS*4n9-dsvQj53Tf!birBBK){f(MaOK!UsGPI+8av zSE$rYIab0$0mkvMK+;^L3@^0<2M@MCe%0@^r(N{xr~yu6Q%8HBu!7!vVZE6sW_3n< zvP1pN$G}R#lU;eee-+0TZb(~zKQ}cXx z9*nG1-qj^cP`D3)+oXRx^Yu&yQugu((j#yuhcg$E}UFbJ%!_C-W>>*UX=G4v+J5=&J- zr2um+gnB=ZDzoK8sVtEP{lNL{W1qRiMxAKAjI9btv*-9CCjmokv#8YawS}i2f6NcH z_k8Fds!ILlisoNq#mc zr4#F6nt(&j3p>|I&K0jkTvs3$w8o{t3S}(Xp;HMMat(|@E+(rBY4S)ZPKtFx_Uym@ zBWD3*uH~x`t0`ckO#R{i%G{D;8invm?sdgM*)8M?QcVsAIhN&!XWj?1B{Uyc^o%lH za+OX9-oW~!wtzGI;Za(}j~p^_9|yS#qe^b;y^h?j_z5O#Q6TZa7hIdQ)&PG?Nq03q zXaswGW({%})r1uhY#4tsY`JIIKFIByGT0MzM zE{dA_oMF>O^Fd94Fgz{^ziAWima%`s@fz6FhhkSRSyB!`aJ2Oja<#It=q z;ya8y(V0BRfOBy4bON~V{u}+z8mHa(8x3H~!wxInkM5O}Xm1k{y*;iTU5_CqJ*_hX zpBwO+_XvOFhQ~ueo)&q zU)*2#zDLUgKlo|n-M~K5GxvGWp|@(_IXk8NC}~U{@t8P1;5hKc6=%E!_u+HS3A{VD zE9p6d7a|cK^K~36xWxB|@l@L?iijvT92{>vo>#J<)dlQj+eUHHiOB)!0)7j0ar3Y zr99{!0Pb=p?~Mr9qM8PAGZ~A_UBQA*6*2|In+7#={JQ@ajx& zq}#A&KQM@^0V)rfC}9K-i2UXSx9=${7!rkmqCgefiw$`K1*B)ZZ%`Tm=tM|(ym{PH zG1PTc?e~Z7dv5#ir!OzBI?i#x09OAt)<__$J;SD7XMzxM$n*H>d<;&GauWH=d{m=W}_UX&MTB*dS zv|Yv>=ocju$}|fVm^_>l10PYrl2b~1FY9?ma+Mw!hSlD8JX?4=cChx)udAcJ7TTez zaK5LM+K+$Wz3qXIzL11vDkQ$xI07bDVe?&eK#uDW{>a1HCq8#2d%or7IuChO?U5}93`xX&;8N$9E)E{?oTuRdvR7L0k%}~X zTk_41z{TGdHk7mH;NiBujB=h;>;3gh)J&Z^k1YV?Nzh;O{CIggm&^04{ktf1wAl9V zhZh>onUWbpWcx%wRPYUBKX&ABMM~GTzkBD~+GBq58EtzxW|sDr8?2)4Yu9cngZakx z_(wmmz59b7=YDu(8YGLNw|j!)W4W9VH9yLr|A)VMS9{#!f3nRZrN3TSgfpuYZ8|4G zZtygam&F6)MaIxTfML=Yhd;~-6u$&BKwC^sbP%FMTw6B~E zmG)nu>vFKzYd_$d`3sEh;ut-o>91*Dx$JZ8PF1yi3wXGy_+zb_FMM*&VQN_h%PA=3 zU2B1(tdMgserc3u)SLw5HPtGC;vFSLO#-ZBbxm>&WX?hvN3P^euT~9^xCVJmA?9Vw zrMP2Xb1idatfF1WOc>3mbgngshB@G*ETV|<8fPP#spK|VD0n365GCicGRtwS*fOopc=?T{dNVp{H;Q*xb~gEB3vl@%qq?{@W`l&7}j8QilhmzX~rBPd~@vS3+;&y_=!Lt`{NDE(fZrdjXAC%>g*##doDwq zQE_T;cxu2M#RHS_ak?rYQ$+F@Q${koW)%to!#F zXB?${;>PqLnAHcpOc|H)&EJNl-eLcv@g4e&bB(N6?{NRQY1hYswj>)P2Q9Hpvq?f| zt+5=U?ig4M@0fKl-VZ-O&&Jj)r1sTTErLKAjl5LfQ{NzT>$t(Qz`Y~FBW*}iuVJA_ z7s46}-&@B1Kl4cfnt`wLe&`(B4D*s}L;9cSkafo@N?*?=p2<92!CM$R=#qWfMkU6n zqKWFeI~_XDhL`cT@X6!pMhBDR&-5|fXK)(2)nE1x+-B~KI54kf`-#_B>U{k;F(NpN ztvs8FdIJf;t@?N4XaI&17vMyxE6R&~ZC>azDN-V5KW_X15MQ40H%_9uRg zppk(oty+Jx?>&2Dp^V^6&f_(ibk1@`n@Z`u{1YE(=RV+vc>eKmMw@Ekix3!C;^x1e zqzDqCd{CmQ&HXogy&`7kwN({mTwmvQLog^!(2T|uJ~<@10|q$hoho8PIb|iO%M4)F zDSb-0hJey@imXVPN|6{TcaGA)A!1%6KQh`^W=_G3D&acE8!6Dx7RJ@in$C*7?I`%g z6y+NG1MgME)vo+J0l9?bM6lR>39khLoe+8|Mn)M_U${ zh;Yu;KHJ(!#U8;{S_Ko%QbPSTj1GBLBF{p+^TZB5+C|g1ZW5 zeOFXFhTE6_?UHuE4_wf0s7l|PiZ|Dl;{XaSdt>B=Q~yY27*@Ce(p_eS7mE#EBz8fI=;A2_IRnP z|;HQjE~YsZus}FwJm4dp&dDLq>9>A#Gghb=A=h9 z5{PmWh4(6Dy_{}We&KWNTo~R}$ZWCp=oT^uvd6N9 zROB3!F`eRfT#vc+tDH_S%z-bi!xSWZE;ELg_^$b>%P}b!nFAp$`cWnHWPJHfS4bfQ zCgYm$Wld&d>N(DW<(ktvmJ(n{sh1IMIgcnfhKT;yWYBUaoT!0G%Rq&7 zMDIZtJZH)iCsXRUwnQnyzG&QXlwF3~VE1|`hj3kkBL@K0bAXglsJf!mZbu*Mo)d1p zSi%UGoMw6}9b4j?5ps9-lx!up)0u6 zrj38nC+&syxHoWs>B_e7>1&7gt`h!?cV+v)iAj*CesB>miMO;pUKE}P?|7f@Q&AxQ zMDJ5tFCO>!dT`8m?EQGH>(8NokDav4^TrMJth&ZDe&`M86Z~ozhJfF6F15!L+_CSp zYkrJTo4z^!(0`4YXYJ-4Tmvj4KTNYz{O$WjfqsLogTd!DN7stS;k4(r&w*wMKCYxE z9W8#Y^E+@b$qT~K$Ktsd99buyU=6)B@3RK=`)DilI~l)tjbSSthRl`VCdkNj!#~qr zaAX*|e(rZW5BdH`N6Tx?XVWTl>ip`yXYSWE=spaJcy3aTfX_^~NZ<5tbdduKr*a75 zL-(#|lVN*&t8QDx)fnmZqLbu7dGvAYP=u=@5>ZOnE|iNzHGvC8g0x_1*PA8)6)h~d zyqn1P&@NI&VU$6c>Vi&$Ae?LuNKi_%glU8@en^3cfhZ>PpiQiqYO_#M4C4$lRUb;N z*1L)5Gi?v!(2zyPj4xwio5qQw#Y*?nBA*wPer;UBn5l7a5wD|9=4;>Qfr@%>sC3lt z)X_y~Zn+|Tb3Vg&HgXx_`tQn!TW;6&<EIe z##YxEa}4HZzhdF87q=XRI>&6@z`%+Q%eCiyVZ+w8W9NZ((Jwu%z3Tt|6C2!^*j{8t zp2(I1oONCQTP!1ap^kjJ;`5)aRP!>tw^Ukp(c)R=j=D-3Y*t-q@cR+~0 zMFRN4_u9r%a)|l`*FPC&%XR!$d0|Mq^{1Rt*#Y`GAIBg0mgrviO3n}L}kU1K3l zDUFx`FxT$>eYbB{eDj;_)Qwwdc*}|5qE}9NWp+)JM}8d?1kP_oO_LeJjXE-pNVMf@Dxn7(eRn5uE5`v4*O$*I zslXEYBvR#AM`Re$)E*V>inPw+Wu%+W$Usc=8-Vk>uSq8}eKX%?BD0~1Cx~S|CqI=3 zN7C!-%o)IZAUH%Dk?LbRcn0eeU=$pRcv`V995R9}lIlMzjg~0hgvYS*UFi-l zJDS)HLcm3!H6LO$jk*&=q3i3+I1A`hu_4Y$JsSGJf!j@>0~Mxmo@wUfKxcW71B2h= z*Z?1lOY~L$h?6`!J~!ZbxXiD;UF-Ta&VGCx5$ts;V_@VFP7aR`Um8~aHeESa{9O8B-@Z=XF)j06mp7hIakAL>=W$|+ zR87WfU+7^}xLB5=pF-;<6LIFVSy+pOuz8@uY?*?p`SO%MnoiMbS2A494 zyYXs9?#!!pR1rG}u+T`F8F{Aulf8zWVCqxvO2JhswUu4NGZkzDID(Dc+ZYPNO9=qu zO4!a8-~leokWgG;Y{hF&VNw4o>b6uHXm?a9={w%|hwaI~{NKD6*Z_BBGYoh0e`ixr zMIV6o{i4EqQnB2q~cMfgX$SZp!x*YT%SCr9&SAcV{;D5 z6!zlQ<)h_H*|mSE-Fn;F_JMc*RlCPSA0rkbPoRA~U(s(H7`WBh9p7dQtm)2o#}y}k zDo4{H1z+5zRL)QRpZB!~Kl<_YdriAVRbN}KGvc9$Llso!hUSnQOu|pL6KKDwP{?ZO z#3Ojn{Ek;4`)a>4QZ1>_b8%6G?^x~E2EJC+-f)f5DcHn^93t2{QPt0?AZsyi8Qx3# zmfHRemEwOuhWE{5M@80He5;h$&(=18`(OBkw!QYBFO}iAwj2w)>P&R3iARgrG2&0& z=IqsD1=xHUt#5txOWV)A{I}cIN}a}WVOZWsYs(t^piCbY&Av8+$FiRoI0TOCe>i_0 zM{jK^qxr_2do|Z6cCs%6N5sL2GHg3wD6UF&Rr>aPrJ7&)`ARj1;k|8RIWGWHDMz&} z;`)QT+n>Giwe6|TeLkb!YastmaBxklIQl(WZ7-B{b(=G8*{=Q0&bAf%*lWRFQ^qf9 z8PLF_lB0*OBE3uqDbL}P1 ze^&dwH@u~sM&(F>vf`9Jz&wY{C$4$=3qC_L7#Y9An5+NwLXzYrWO8W%&M{Y<@{tLM z-ntD{97o$$_)YU3(T)gnzd8K^4Pc)&KbR9kgb1eND%9s-yP7;IZYT!A@zD`vCu5dNt{@b0Y9m#-sT=S$8QWSPbCe`-tO92}vyHT7 z$MshZ0|AC-y%tL#PI^h!Y2cOjCjB9B*zGU6u^qw0ttzN_)$PZ_JRncclg&lmRq8P@XGp4wf4z5%AM&( z7&=9uM1A21E}0l|2w*z}oDgHAT0+on1jtqz>vkFtmTDW$lNfB(Zq|4?5WM%=LkRuR zCynmz3`PpKjaWPsnMSAVq$qobk(wdDR)pDx5e;<`PB`k=kC8_DcwG)-0yk8AW$5Ew zRY`aI#t+BYKc-;j7#E`GDCrvy4|wOh!|%XE#he5a%!J?1^|6?@BHZg;8ULA!L%X8^ z=y@<@=7CnCr&m_v*?kii(V>h-fE@=97m9&T*;imNF9ctZmtaIqZue(huP;)#3^}Fw zH2bXaO+(H&C7wopz%#>G9MI`UPO)8Zb(2^Yl#Ty*RCo?h%o-nd9gKp8`1N+}Uh)+eEb zXRNGqk&ZwKcJXpWO%N?lK^h8cGZ`z$4gzLeKBGKgj1(B!@0Mt9sh+I=d`*g5F(X$4(*%obXL5LGQ5jsyCAQ3%kbV;csW?ny5m*7xEGl_ z$>@{s2ew2yFQWbE{(Fucx?AUDouB~^PSrJ-t*peyF1@mswQ)~>x_3C{ZvNh zno12$)Ennw!-$vs5EPMVT@S$(fD8E*p42oNPI>5 zVNjy@+_A#Rnp9^p-L*yuPR*B+XjSZNzU0jnU-*~W<9%N`8I}*C<^%q%tE%(|+Etf* zvfb%!_vX=K$OJf%za~t=?{U0}@ExrR2B$2XiVASmUm1=?5S*<(R}PV-s#qQ}>qPR< zD&JMS4d<|93-{5(>xzm+H(;XrKUmTDPkijd?Ew#Y1dFvHGYGsj?LCjY(_d7eNBx5L z{OSK_Kk?2K{YlC=I%C!^?$~YK!UhlM3OGcao zfinQCF9bKLR-ScRI8o9I`h)8O5n12@v=H6YNA2zB(UwwdR47iFT!2T%t?9KG=HN*b zij*?}@(1mst(es6OU2BR&1brjUg*D^soqbJm^UNa)hC>ZN+AbcN|x3D=wKw&(Tenq z20oPl9T^rXPs);`;H19bqC*v<0;xiaH2QU^I7BNZ;3*g9bHCY8?^^sKfT$@Q94XlI<(fzzD zosmByI4z#E4<7grE$|n>Pu$RT4s<%=BQSP)f-V@3aa&DH$D|Fq3q_@5n))?--C)48 znUliZ>|SBX9e!ZwA~NkyFPO*Q3BIfti{+LDq1)H|SJtYxEd+lN<($Wch4;dgz#rtQ z@#s0-`Fh5=Vp#ezt#x&3Yq%e|5!!G}6F=~0H^?pLIA0@g0IOlnUh41x=0A9GjsJFh znufjYk#{m@4M&_?L4M}3x2i>&Xs&CH$oNbjreUXEXl?ih8PMOM+{#$-Jigt~J=3lh6Qm1BE& z!vlptr_ltaM-)TMC=WD%GjjVx3FGSd3`oaNNpayjRt%KNZsLX!SeD)c$2+*)CzlAw z^f(Ww6D>+WpUCJ2%89*XgxL(h_TnYf{X}c~oQ)DCv7kt4OIwz5C3-L=2{_@gdp@BYxmr8IJPoA5n=eUpY&lx-N( zF}|P#6%ar56OV51_?r*6t<}y#?LDphVbR5r2N~N?Hh|GG^6;De3O~WK_7-|Dd|t{4 zQ;4DXS;5jAN^}Xh@^MMP0gtcnn6My_%(x(9ID^IaxjF-T&)%e(XGQZPH~VK|fCt{K zBHmYA-ELKeH`0rl)odORjSRoXB}F>|&`PVFNqXMV7t-6j7@U|VxtA2*J=wW;wj#XC zNF826p{c`dhmI$2cdql)U-PA+lDs4H2_)QKyhT%+Bz%UuU zOPqlRkPUI|SHINGy~lmZ7^_HYRVY7J#wrXr8jn=S6REOLuCACa2{}@To-6z?nW8dJ zmgmb@EJq5WsdL5D;BOexI3;fJ$iXtSM&Pi}d+#PvmYHTnHqvJ%eBx{M%F^E2w_XwJ zne7=jkuicw*w~YPgVP$Km+D&NHMth){2Hj!AedVytDjU-_@K$NS#*t>S81%g|MYe_(m< zzGH3w;p^M_)#dub7KEE{TFkDzt$p}^|8;xRg-@p2V|CF9D&}GIi#*qxqEkm@8Qx`3 z_fMs$b3aCXHq`NQ2g`7O`ES3pz3exBvmHHD#`$_QJevZqcQM|I>X-9!P0hQ@K6i0D zuWDu70{n`!OYkV?Z$;uEQ>~LIQY(4Z4P!eEdo&yJpYmQhACKItcTy{a*&1HIG*7dp z#QCUsF{NTFH9dtSNh;TO#B-23UEWiEXblM^XCm&S(mG*rFyuvknrW72qXea#qw)jz zrnQXQKZUAzYa z0T;okGPse-od~#`7{IG&VaZKiDe2?!E3yk?{ulwZA&>PM;IL!q8_IUj*rn`)u-1jR zhgJMwNhgN@)ZD)T9NB?EOb9%IY{4}wprqtlIJNjsh2!Vl&{ zCf@*`Bm8K4cy0y{nsd^%Ggf@}b>Ot#W$HbfF)n8e5|2wlvhy{^7M;CkK3bl{7$H9! z?=*xA3vpqXqi2~8f+M)jxQ4zm)^7L?&I7_{{PcbIp+R_LXfsZL&}L@b1B|#I9wQz+ z4$CpoHZ#s+j`7WR!yo1WJG1y+oEqdQ@JHH*oEcNz-A3rZJ_8r}EW@|psw6%M<=lfa zV0EQ&CxF@am=EuE<1vmF;|Og8rv%pTq_zR@!2Z;Kcktnzp6QT&+*YO}+a4;fce)?Yf{$S3Cc$ZT%4F`h%4Jd-(^ax4Z3`?bc_V**0%EwQa6U z4IDj&kjWg*CnsK1v<>q!RqmDLfV682=_FO&2Q+{>OXWmZRnCm7KmAYbt{41YZBtdy zUR`^s=T50}vuls>Q!ac&`-^wIzl>WHzr*&sF^PRpbfzUOI-ZmfOd#}3yS z)(Gx$z96n540b6=nvEIo`>NLeuvyt z2yK!V{(iL5%3+{i^{=0;RP#DcZ2OkBf8UX|Vg1^+bMKzEsm|Wsd!UN9QQYJGQ9&6H z2bkc<0P8RUjqNJh>rEVB?C~_>ml*_ff%A!(RouszkMIZ%UxJefYf&M9$6MAG0>Hsk z^Xf};8jGyQ*X4i~Q|#x)(RE+H`qK72=bv8@?^D~s${t!v(9pM>8C(GQUpbBPVdjzN zcIIuezhanEp8$Od1j?!?@lnWlZBjz|5l-ECDVeGD3PYDdm24{!U2x@SG8wGt3hQlT z$`tM9m>{3{zW+KpO;{1(=M>j?yN*d-8{olBZwsL@j_-J$d&Tt~|54;$uu58t%8)V2 zbp`X@YYg`+8~@dYqTH6nj@A%XPcxzh|3QSK_GKzX8~fv{hJdt-0sqopjv>7qiWuf1 z@KgZU^rpPyTV5!*;)jOS4^`)$HjK`r!|;ZJ4`2Y!aVu|(QUhgD*f_oz6I=szUvJ1M zpl2{w5v}(3JcsE^r>$V^aXK5_*{4ne8hnB0>K!?S)KkCKjT^&+wgE+rRof9{_yaQS zl{Xb>z=JM`!h_-Eh(I(8N0$*V>`>8a6-9G|r!F(&pO9;hg9XXLq%Uy;wNq9?>N`P>+B=r!AqV4 zY(RMHQ9bS(R`F0xieU`nLdw34k9=oa!}v%8Jd^dq&r_%cUy*Bp$?wFd?c;Nllx^D4 zFzUagN%U0l>;y~3FkGX62tW8cu2Fy)Ul|t_1IY8?{n4o67-P_m;}3rGuHW~Znj8&@ zI${j?2Y5r@5oXg$i-LG@n6;BJ?{;Ft1TS6#dUi$l2aR!_tY|Y%1H$8Rb%%jzO5GUu zVt<*>L0?uGA9#!X#b_SJI`VAR%8@?llOTkr!Z!n+Jl}feMo7WR`S_Hk6aMUT(e03i zk`Z#LyWQSrcrG|X(8RVu=2l=gYBYaU4#Gyx<2Em;@aS>qI z_s#Bm9+%)_ff^_wR^a-6P2eE=Q7j0R(l?C&KeR^^h8+|i74kvq>#p5<+Ud90*1mE5 z&an9G-|xb(8q?FyzvHdirT?+B-Fkf$X<9x+=I1^~oQhRULz!e{j(q1y7<5X@)CyKe0+hC0Xf@e8iysM*nv|k5;M|&vo(cWo9d=VKHUZ6bfu2l2GPBlL{ zLVT5Y0htkP#aG2_?sxZd+Gon}KHWzQ(fH{eF7FAnf)S;h^T&%f#|gMWXDU3J%;f(p zumOzM^ido27Y+{cw5oSA{Tj5d`|}mihe3C^_MY$BTVX;+{nk~g?e;2w_w!Y_>Suob z7uuO;-$j7Cey(Gg``Qi`3{OdyX-^y`n}% zt{=VNp6vsl{6a-ax76BOouXhB6?X9pj|20-aoXDI1sGcOg%#xIDwP>RTG7qQw`ljc z_xHEwKmWPyeh+y_+jQD#wa>Vsxn9{yr^mwSiNR_yK&c^_Rhb2 zTYJKje!3kl$K1MgwPj?)&wxKUfI!Rgh?ntu_2rkeyPbcZwq?tf%Cb4s)|TPDW7ocR zRux_R)_+`6^sEAkJ|BEqLou&z-jQ+hxCT$D4GyY*=itD!lr5b{Z^r1KXr19^Le6d#q7*NZ&oy$nE1 z5*1!_J6s1$HX~0NJfc15En^>_$r%|#ZFPBP>M%OBX^LQTF(aw6oEk zZ&{cj*ZCd&+n^;Hw7*-95a?HB;13ZU`l(`|)?ZdVCmh(aBg2~}ZVzHi3L0m%jcoP- zky#4iexz;^2R4m8ZFok2ajOhONAA%Mo(C-CPQOVb8cu`Y!72Ln6GrnoOijKw;pK4s zMkF*k9gXXPM@Mn#*q)hB-A5{CjA*5vV*EbGyRWT|$_+G8J4gq0B%EzW&vV*(*C*q! zv+?S8yC;))@i^_!>TsGb*bf6IfX@m(Ug4S!`rBDxIQm!sLk#46N8_A)z89XSGM;h7 z`4C>V5!*BS@P3Tn*|EmZkm!+NHZ?@S z*?gU+i>;ECX8CvTe0zKNk3E?XGRl&@oV+s5*ztRb6nJmzg9z8({OKFp)1P@!6}ep9 z))uoLU8<_XIj*2Hi53O2NgNm*SHJ$O(uNL{Zxu{KJ%j)HqY)oP!LizpebuKw-p>8O2e)nIm{}@~ zabf+MGDdf`H~j9)+OvQC<>g~QdVP%B6S2kqVDuNS&eh_1-M?3M#U0M6;$EBNd;lNQ zjs|R6h^EwD$-W-F08e3#!5No<#OVX}CCxY5d0W6jy2@=E&Mg! zS$jpwir~^~y*5bQLd2ET&aI%+%%tL@LH6h^`uCaymQ%#n?GBMWJdfkHl#*{6xotXG z3RhYmMK{Q76pmv{m}2O|@KVNms^=VU!bC+{(N@9%_$|Z|8)sTN#kR)6J>7&y@{e-4 zuImhN6+F4UY*XJcloCV{}TGR|Gun3x`wMyZO~J zWs(OT!)VxMEW|;*N8>F9YbU_Tzr+{^j_b9fHFvllKgKoQV!C;Z2IHCI3LQteh5p^u z$<)w3hX(ipcMMkciSdU7)FlZ>-a2%uLo!<;pr?2tIhVtF`3tc-LK9Y>y zI~+4wYbyE(e8FKK@6cZ4h1V51JTeDD@A3JJ)dHEk0i!!cG0wdntG(lSSN=|vJt^Z! zPtX2xJIAJsits4t7bj5IBrrwh<$iEv+QjL>`8GI!vS5ez$wPPta~Sj*a4>Qv`D2)y zotXw$XV%8y**IjPGxe3#0Wg?2hXfd>~2pP`7dsBwwelCH-~Ru)u% z%`^>9LMgKLAcI^*ZKjC7l%TFqaWPbs5PePip31O}LfuEl-Y_bvP@ z0xsUj9!2dIpVB$A9YDsY`lq4>hO~l2JXXXTC`FMiI1l!$Of@GNfvB!|X5jtrav20P z0E(Xzq5`mrZJmuk9`Gf8+#*{*1n z(F>GWp)rTQXne!KA}LsLjA_H5!y4}8_VlcX^Wj5_m7cvnHIHY;dhVU?&>s7UN7VlC zA8q%4@FRJT^T@z1BE7ddg;FC~c+)sri9{#3(|J+uiuU*i-@ASA;!E1;74=?3%KqRq z!JbPv44^!I&W0<|73hJYFQzKxI~!2eQ@8n4||#g zKFOW)VCKVUH;SfF2-M8AQx4vE5vaRrctnkkz4RQ&4?WZ~( zJtCwIiL353G#D%{$#npKy*D3@LQOKQZ;rGi`vq-iTal03gF)Nh$2%#Yrv)Dd*{U+0 z^p3?0WTU^!ijuMr=P#e-dZTq%%a;sr8vn!kO}(fa2YBAHiv8IMXdNQ$VSUIJt2h}H zvDaFtMFbzMyQ%@BD})=ejYuN!j%){BoXs6aZ!(AM{B+hGjPWI>Gh=XbHP)V9p0$el zi+RbJM0B=dH3AOMJJ+ii%`!>_km2n{i5$p^4(pvLSG|r&B2*qE_D1s@ZSuktpSL;9 z%mFY;jzG)#@iK>DILqAb9~;?I;XOMEyyh~RUE^XjyRXB_T*zK+q|PUvPlKD|)mTUg z5(nwsFvgXEp*!vi@Y+b?ZnC;{xZq+sIrSX8KNVQRyEKyBhL)X*cBYOCpB)uY>z7e3 z@qXQhF$lQ&K2Gyi904;CGc@NdI4Z1!ckzOcry_mPj~(G12g<1Ahl?R(Du!=kq6Z?< zp4;fMIJ)n|*Hf`C8|c<;m?6-4Xu?}~Z`#kBHXSVDJCZf}Ya)<%0M`7H$b1(P9&`Os zrTE}H`mc36(kJqFq>Jd!u6&3$PC`g|289{aB`VJliG^4J@SgFQwCZkv4)F1r{Ps9Qx2^&h2jork6MTTz!>1lsK#cPX zxFCIu>+W=_cPopKFm`85=CAw6d+cRE}32X|WIXA$chYT3yUs56tO`gFkV=Q$%+mU2p%E*^-H{^_UHhB;>9t;iGx&e zqoU={lrs$vYm7OJ!{>O5wuuQWu&r> zV&WvP>r!w!;1=g8U-RWF+F5r!uWjF0dyUHwJ+@e9Q`h;6WRKMcYrN}Ncx_kJD>%Mq zu|4R4_h}#cyMJtRb-pu>bwhe6iUA?}TnDTH88vQ3wM_*_LT?hbo4hd!gzw_*g6Bx# zccF~ZuYBRt?N0Z)e?`1&D@Gmay8e_kWq9vuZ+=Y~-Y*AZwe&oIFzK{IzwtZV2PlhV-<;iBU3Jo32eVqwynL&QD-UEJ!Jj{^58-8zHRbaes z$IkX!FM3XU$t&MbM!kxwji02KGh3jinyXUzm%mu4=HGwswi!pK9o=0i^jrR4&fWxk z)2ylwd~092tGlY3U0XpE0YP>UWmR;{JWh-eAEPWHm^elah!UMBCYoh5MnpwpG=Lx= zG12gtI7voBh=7E}R`$I~0BM?DYw6mT`K|Z8-@mFFp825q`~L58@44rkd+yopxy$E} zy8fJJJ!5(0t6!tyd2;-GA%^cf_om->NeR(cLS>!=(>z{h95wbDZTV_vY0faG4As(^h%x1N6cfqf z5n1EAco00S=(2$9n$7jj9~*=j?q;x&W%#yPa-O5tl}m5pjgfVnnt-9O`%YNVaZ$kx^- z{@(^N`=q0gsl+nQWgwSQ{-*3#|F}2UR`MEmBf}kK_wzPmt;DIaIexRS*;xBA2KB8m zSI5ct@tj5~k(h#L92Z+;|Kv@+I;|gTeUUf~!~m--7-Aeo=4sGW#mUqyE1;WBHke(Z zn@$8q{SBKdiL1~W*3i@79j21=aUCU=C_CS8I<~88b3BPCsqIFeOvg2F)3r0-p~=Rc zUi8ffEt#~2xg&Xm1OIxejXWhHZfN0m*66Z^sC#2ix!#=(!@x&c%Hcy;L#!&^{8RLn z07|11&e@*!H{`zfqR&q6==~VAYK8KMe-lQIgZJ4M<#2Rs;V$!Y;HvGXJ;C0w2N#i9 zx-oPSagyO5d*^d$3cMKy>@&u&`sI7kWvi!)MtQa%4PMN%#kE9#;msTne%W?#AiZk7 z#=kQz!4O8U87Z>@{M@0 zh~am5HTtB}{c)}QJTHx5%V85m)~xs_|M9zgH92u2i%shSR=m$+?&}jyY9I@AyrXS{ zp@sT#uFRMx)6o5Mrd#;0ZPg*tER*uL-l?qUoU8+gJP{|Ej)`vj6CLV26FxJ}L5tvC ze30Lj!+2AB7@{k z)-a|Oi@^;h1pl0c42^gIsO`HNbOmvUA>>XT8!fU$whauXoLWhk8Ov~9$VT-M86Tb< zPgc!QEfV!)^4e+``v@dH=fcY<<-Xnfmd_;Wt)rB{_%i0q0(bdw)N04_!tZ<5@=Gs&&GJP! zvloFe47ZBWGzTL@x$G-r83Yy+94|$vv-;#1^ zh`m2L&#_tJwnoKRRH)>TU+^sVpkt5hvBSqvgbSYcQ;45S>lqT{vUpIDJXt&2aGcmf zaE|x;QPun^rQtI=Ypu>g#`AEfWF7+XA;pv5#Q_~Q<{RNdyx)0JA>qk5ly5!<+W8z= z3m+<0Bf}tlm8wn^W%G{O*pY+(<7lOAyHK5yd#hn+NwMTNqxN|G6sk8LMOpAO+mP6u z+`p^fVELIJd;ao*fB17T+&G=6!EMFgw5l;mTKJszDjb&Y?s>&NocVlG*#k^V_7O9V z+%kf5Ck)MF*e3BSKl=}sAAa#a(YqJmG&+N}_!JFO_ODiBWS6&%_n9|m@{SoAT_$7r zJed!dW)QcFCkrB|r6|<%j>lKL$Qf2oBZH z$7jRf3?Jd<8AhM++z0>1pDYi4{5K-i9LLuo3QK^s$CI)p+jO*bWJ7jDNQ*aPuvith zOrtnM9f18f>g=;O-?qH?$DhCa?9aV)9GiFXIKBVh$F?EWoY8p9hmXAH&zA>1;&Cdj zMniSio;}Ow;AHs0?|a_zvfsjfc2suUwa3SNeZimq-_DZuK*50DcQvnPZH8w&1sME4e-Qa*M!hP&m@7xDv zNR^J9NWtsF@yYiLuNeMWvd3ZvzvXV%V3M|RGjBB_tZ@(s|3)Hv-Z44h&*{0uwt1f_h3J%McNS>E zPRFnfoG4BaiN@Hp!uEPZPmO%ZaKT*#t8dlx?g-o-pFIis>;+Ji*NuFW*BTA4;m$}U zcZR!o*}6uV(t*2%xbSYnTs^Wq@cF>sc!xxD53>{DB;MtoXGf8Y*Ul{A0_`H#$H!*j zH_z>+(Y=@b<4GCqReXehr?3+X+$Zh>9=(1Mc2`SxTdTt5_uRjEZa5{xTvfRG9N(?} z7}zJ{NCzemZZUC3GdXp*ZHl>LQ{4lhDLRVCADL^1LSf1?H9We6j`16}EBj327~@OZ z>agR9(Y;|z5{T#(d2HZ|x5j)U4;M!h-}0TIkS0>w=>Lcg7lzV;n41D;4{#~6(x?LTusg(4U%vTkU6SbkK`_K1kL z@&%uvQ7cb>glYIf_zun@I}BLpT~ZA>%Dx))PFsU#!e>LRLK{5`y^f;UW)gkUk8pqdXp-EuA`Uj<>c8p_s1^ z=MJuurdx{(HVbOdZ$@tA58F4-Y`g9Nl90j-gO7QC2mtc41;CiY@-p(FDiI}0k;lJ% z-)(mZNTqNo6lJ7IFbO^)wF1(LXRED_Nm^t}0N4l`&xC1wZYT{wM)1vyb1|b5T5wRI z0Zd#(6hX(Y!pB8QbA#`T7`&ZGMHdqhWhJhnwZfmPg-TcCGlIb?fD3bZyi(i*W6nlT znw`$?-gbP!X+(P^Oa&AvuiJ4P(fRX7 zF(w`UxN|CC33)$-r}(h+Ye=PkffID4-0I8!_d zmlR#`#!9p9_ZxgME&8jMHhf2D$%_@{a#9#~BRhh8fPS1h7(qq_8hBC#b;%j0bvw-v z*HavX4k#v(Z$n`eB&g#)R7w!;Jd|Ye@$E-jb#ht$#n1kuF&cFe%3r>a)z2{xaBOd$IW&c&Xma})Bz<&0<*w21s`M&RY#`0Ug{hFkj z&#B^UC=3;tPtpa6c@{P zwqN<-Z8#&ny8@EW@pW6gBjs6bO6I!ork7@KOIZyE!jLtA-}JWAD4wHvL&?RnaW={c z)b$DP(HKqgcZ_Bmy&f0WW+IAXa~qZS!XMXlt+|F(I)jQW!ep;vESYay$caS%Te8k7 zj!bPkHoC5=OUXt$DEI*1j{}-uQ7+={Fm+?N1(UdEMV--Yt-#7;qMR(=CZ;Nbajlkd zX_@R=<Hg!^q2ez1IW z6h-hS1=w4kvWATPjVlIh;1dSJ#p%Ke!W^@4aP1^U>5AnnmPdJ%vv2VzQ_`8XE<sZnS3R*rkyg zodMEWK-k9oh@2IDGAA|1(rySkQs=7+YkGB#;patrh{H=34tdt{U}LGR@Z)3s6kpP5 z^Sl&K!Wh^DZ}8CH<~+|weF$HS(u<0W;rh6i_Xe*|IH}Ghd?hVEJhK`B>8tOHhwHov z43!xgZ|*6uR--uqvEr1E@mVfABg$T`=e@$%YoxuiBJ~-IO8V#`A)IY}rnH*qlx&y{ z993?qgW@=-9y(v?6Zpd4t5a#r+zH0el1&cdaWYOT`-U;x=gRLHZ)Gv@z*KADA^mZV z&=4$*`s}Q$ig)--d1iVya>;YAa*t>rPqU-al5>$`Z$x^ce|dS(ICvj&D?HW=9l}Zn z&vx#uXFs(CC;qM+i1SPHRO``1=UH{sI6}W+cZP<=i6Ybuo>~5lEi3J>>-3;k=4bIe zI}0nj>g-5&Ui7d&UUvY+)iM!Uty!to6)IdzCDh9JL;wpwQRzrjm})!~0ukK^(%;^663t7 z-rjF)qo0eEvH&XBnpUHJW3+1A9JI&p%C~GI#{4YYiAuo1{n|B3y=RViHttm6Tqzy= zKE7aE?{Wcrc=QCGK=@ZtQ*-_$J^@75KDCVP%a4BFGnbdV{IxKW4ld_;q!Gq&PU*@? zaTHFoKrlKMrA&+RP?+d!Fl_dg+xeh*!b_o9_e`4;v)7Y8f=&cBbXB3YU z&x3|anKbWvcq@N#zi#*O`yPcR$7K9C8zAkIw&WMI)6~T7!Ss4&KAAsOh;3x|S?>oY z-i`G0=V9HRNAz1MZEQd3ru>~XK&jlI^%HDiKCCCN{8F38} zqMMOGlu`psfB2ezy?pE6{{H1YsM>uRM>WY<;TRFwx&`Uw-~YXTbNP)|yw*4qRgwJw zt=GlHF2lRh1c{{FPhKYt%~F7wA!-4gDSe)4-?(-T6IHf|a7HDT^t((2?kz^UigBS$ zrkXzhhWFK1BW<3AeRl7~kzIEz&qqc1m;9?&tH9iz8s3+TuzL|d594+__86Z*Rr9N^ zxfjy7cV)`~Q_ZbV4`U2}$q*-Nk^hxJ5}q6~#m|cmBkvCEJFtBE=3AG4^NL?zp8mZ* z0NkF$y3yilcrM52ZQX)#7Fh>7kv;N}zr22V)MKBxTzP2!aspdf_8_|bx!aE|-}{We zvAp6nzo#t;J9YNiB|gn}1wdnGHJvMjO)>{O%7S>Jhi6B3fNMK}*wvhGT;P9tm)Pr* z-L+A4jTs*UIj9&&esw=*fDmnL)tOy$f(!sb*B&$7d18 z`IcOR@hgMTbINKf7cD$PxCn=6=DRXrm6~YU%50ajrO`F_zq((dYD=k$AxzdYRKaS{ ztFJ`WBl~;gmsnjQ+iM!5(Q?d-XRKS;p~LPgNYJJ$d1#RrG2+U_apGqcB@QoOhuPkJvTtB^DL zoh||XD7J<^wMx%MqyElbZjCKQQGjZQZ5 z2UBKA`<|&SVMN{`4+V^A{;UQb`N4D;Mo#`5UtNGhLm3d&O9xDRKW|(t3^sHm)4rW% zQd)$rZ4BIH?3ycmHt%vCk#zE@MnHAmsjc8r&Wrp#8@$6V@b--1V979g_PYwU<>Z?& zMs=6=Wq|V&7^PPmR#idgbb`9C!NHQ|xn)5+;ZBCaLOmPZ` zKIFyn+f3+*2jvKg6spd=L7UL31KKPw>3V-iOe-FO& z&=z&zdW5uX ze;lWSrT%mt=efwVkxeqo0^xCf?h@ly#eOzB(R$3ejH_$ROyc%a8KSI$%A2Ox&$!Qc zCfs;2p6G$Uw|xl=?~&>oAuMk+-=DobLrDqYvlt1+3J=|CDsmRyrazPs^d1RK#;Y(P zP*;U?4&hMdZ9fPqoJWF<2pz3Z!!dehpK`6^GOdwRrB}2@J0kospg_52bFOL{;}Yv z8{u199xN>Bd~hVX^o(HC7$*;1_V*VDZa2avMI0I->Ksx8DT|5LY3+FrgJ3!8&@Y^; zR}e{j*aLO}P8#_tI2Yvk1TL`mT3znAG7+~O*lT=vIgHrF6CV1N%bVYEz2Ujchn1=~ zD(IsF@3%*xyU*RU9K7efP+$$`Q=?M0Oluf^x7=}L`SN?;WBKT3ZZe4gCo8p&&54AI zM$qtp`5bQc!}FW9=b1c4V;YRIlSue{*&UZ1!54Pp6r#nuAsf2K`x>0N%_FJy;yAI- z-g4{mEl+ve@`wNRt%ziEjBr?eo-GbO$J?vHzHL__N_1?w_5f1ykl4!>0az90EQMkkjkwAn(?{U zEd$nVHOa@l>brh<^RG=R%?BV}=IPI~t$h+`e3O=bJ+YY6r>SB=tv$|m=v)N3JL|X=XavJ8!b4TTc5b+$hk8o|! zo_9Vj=R?*|^-ssEWuRX(+^i9E4w+~>vUj^qS*>$fcRQBVsqgo_ZrU-T!?5T~pux;< z!c2CX_O0`8u>;vnYjq4;F85Meb!D?1ro7Xq1OrP(ZP9_}xWC!e!dGX4{Y=S)7zUNP zLdGngYm|8^lO$u>ZL5DCYLN9>DdBYX$>{f(q;vCs9G{!^`%%PQZQXEqf47xAXVdWo z%MP6*&b{>EVZqH?Jf3W0tn9c^bz{Jl)RUoS1`$1aZn~q@cEmFB-SteyHvT>hHpIq7 zWfjOE!*i`V-m{IZaU{*$qqH~}ROotC$3u9+5K1rcr^lHka?bawBVHt4g3+w!Wq9rL z9;vWsayBrh@n!O@{ddC5Fp2SFjH-Xq!8975$c~xg9IejtgYp?;9WhGpF0RPfgq5w* zA(H*{g9oOz#&{+e@Ka8d;(pwU?!v!oh!$Ubw$-VJVO~8ZuwL{|8^J=A}lgu(lueQ+6GQB`vuX7}KZ1 zy4NF^TG5MR96qu4$AUpN|RBu7fdoLnq=1gOn3T zdqWbbjZ!7q6+z^^fb_g^f2EJ5a=M)>Koi~_NCiHIs>{cas(S$uR!`Q;d`8+a-}SLZ z{5NR!v=Y* z*af62V|-_EWZ14Nkd}QF+J#^`zXui9k(~j}R2>Bi+3U-p~M47m#<&DkTU^nHrwbMIO{{I0hw4}9E{mP1GlKZ`m7dr(}BM{GUv zf%jeB`N2;xPa9i+N$X0!%kUq$R%c1?TE6Q3U%Y(ahQC@4@d!J-Pnz$5LrKeNjtcQs z56e>?%|=4f0aGWUBbPX0O+_Zi4@_r=p^f3)jO`aYz%Q)lz_DEHdYZLO?mu^``TMSa z+w!O-blp{tj$UeNH^+$_LY#S?)UXt*e!yQVG@j)4^Y&XI_JoM{01qWM+ zF4%e{b|7V6IUZ2T^l(Z-ro-xF29s$!sT6?iT-E>|ckDH}{nQ|_;aoXLAUHR&j7v6K zL^nH$@9QW^4A#-xMuOS76{BIi0(YZOnULek>6$glkLbH&wGlh z6PB)p!%5-wKFG%p>qk9f+omi(F~-q<;&-`@yV~2D)OYp4Hw=$piju7uG$Y|ra9!uz zt$Xjc$K=J!a2OJ&mXAVhHS{tUl*)3!Z#ZZ&V&(O}+Zk4muOds5g9gQ}tz zFSw?C-l37&!QVYQyj9Ab@*Vui5a93dJl>V@xuNj$K5_20ZD_hEoQuBkUm0ln`?NK~Si05d+)C&1PU%0{s^|fBU%JTeFsJvlM~K*hPWP% z14x+)9@4!S*st6ZG zjgS2k2l(B{yBsZ{S8bh9ys&V$dOpv9PyK=-Z^$k*U3t>}%SXZ|VVeSOghjH4edN9d zLIa)+V6FVpM7%q`GLoa8nG9O=9O1L!mDIE>hTZ?V9^+N28*eVA65~XJ31dX?OYs!r zI5k;x>ZiuPjJMT;!$r2~SDLpm(qt^79aSqI=__oXV~EU72jX2R8EnAJX@0iiM?jf| zZl%XYs`sVZBj3oJ5J~)GQm8K~ADI)4d|T0r7fg#L+hQ~$ikbQ+p3o13I1PLrUvzWM zK&CRU^gcjy>Ec)$h*NKb^@Y!S&hksIdDU{SD^TQ#hPM{jL@F|Yt2j!IN~uf~NNi%- zNg0b$q4an@7koI@A>^6qL}Lp#zp_S^c~hzd-z8tvyQBt;TPdzud#m*+QOCwZ@OU4MLRM`upI3fTM)FA%NZXCVhR04GUamw1@mp^{ zim@ZAcn-NCw0JXytswPp8inW4=HLIG?_7T6)xWn~1D?A8p1Xj>Zrd*Or%a$Lfd*Et zM#e$~bwRCB#B}*=FHsf@=EQCow4cLKVh8r`UXI*}YKg!cqw%b`u0m9vSOc_HH|G^) zdSKD}!1e!QdB|hFcDaUGFemR=_UyZQx%t+^%a`8k+T~-P`YhT2KTy`w6LbmZg|?bd z%|_jU9Wb)L``f-{`Q11Ck$9c1v&(+01z-A8diL)8+-2WuI{c-3rP{Lx)%4HFu|=F) zzB`SYbG>Vo*E`qd@LV0oba5WyeJ1q!d}n?l%d;L*);03$`<|oHr};kR17!=joU)B= z;a#;RqjxoMy?u)EpW=_1Q9he~oV-wlBkwwrl0MiR$03DPVCth8SJ^$*JUhS{q1HAp z$~rwr7%k7VKJk6Zow1!4?}*MsT~O}VeK=wfng*9C#hp{{knKODWa^5i|? z#;N2b_;&klIt|%@aaG4{*Ca=az2=BQLR#ocbnqu}F2fru5Whoj`-D&lopLVtlSvC6 zIghpYEEG7Nm+iGHD_GizWku6&PT5?Unkfc$-!fH*OH=a>AEsB1l z*aXw5$1&p2uToG&kIu8sA3jG~IgMTK>c7N9XvlW(+r`_gdwNotj(pBWH`}VKBGF9! z4b0IH2CjX~k{v{9Kni#SOacQ#2MC=Tjg*lW81#ONwx+-hgW zWdx0Ag3mZ9hx`<}$p{J@aRwT$!p^??d`B_iR(R~+vy-%Kgf|9$X1-w`ogbUedCmk6 zg1`KkYlHVX4)PQF?-6MO_wA$j^jtQMCntpH)bRx$MvVJzd!j+w$UGbG#R$}v56#&= zOB~10tbsY^OBaLUfpF5;OccEHUo=UEMd=w^U@V}5l?FO98TmW46`I8?*!dsgw!F&+ zV{DH#H@GhUsomm&@CE1dLNF-sMaEcroFXNXviQk?}OD0(bW-C6I;THMa17k2Mq zY!BvjJ%ayq|D~fvj-GIHF=Dld>_M5t{@J6)aikVl}FS zrG|uib}H;x{^HGVTpsz9r!ChaGvLAr%xKWHdL=UuRMav2C%i(=DZ8XmBJ!M^dN9Gb zErYzcbI)=cBKwbg$d@hediTd*Ksc1UYjy}+WGp+IfOBdm;CjCd@2^7|HVO?MLvg$- zb}qNV!9o5zhOGmNwg4~|?3<5G(>zsSyui(qm=TSC{cB&oeAl!8_Hqvz@-mDl^H!Ot zBLX#WzME*X_oUcZ)7|}ol`zj z)^q%H8o@EUJ*RDGPHDfVS-+w{&1$h^TYlG0z*SioVnaZ%aT}@165=~*B=R&eg%?}Z z+s19yKq<|U!&UYILP2p202=UK*T&k#u}=C$<CK+2a&(r#@@?Q&w<2*C=TGqD`IQOkU3y=QW>^z-fv)jS#jGMKH>l4O`=k zY2#M0T3OtBgSG|Wn@$QE?xJ!OL%mPlME_@N$OtCK!mH*<401w}*FD z!#iVSq@H7$(t!Csbreve~x zv9`Q7jLk`SVC=)dSL>coV_$nNjVwpDD~C6gkwmcyYiW`36b573^d6IS7=49p3ND3* zhcHtVmH%RNYOL#gE&jZ?n1}U|e!}r2A}7I0ykveAXToa?qspH?r+F43(`abslZVMZ z(7x&?0=e~dHZ6o$HY$ zW0T9s4oJU(tG|Q4c`k_0w$N97XATKhG_ohY8*{gK4&PjEjKvN675({q@HsEy*_v4i z?boJpbgZJUl#MnXM0 z#08#N6FDuA>_N}u&iQFhV~%2{ci4BF2Ne|Zkgm+u2;zEfY9g9^AMXs~oO1`)bf)qk zyqQZ)>)Ft~N(IMPKMKS9mtOVS<=!|t=sY8F=uZj?`eG}BBlH;&)-F)OEAK}z=y$Up z>aa1dtg3>UtkH^9JC5+oJ|2x*$~gyZ#oUUe-)EFVkx*RQ1wK1+^we@}H)6;&yeH!# zYivCk(X_x3ig=o!PkGpbmp^^qhY<0`zGM`mVw?WV(SIr*&O)%T=VC|=#m545kF|Nv z3W*hBzVar@_%eR~igWutV~5a*$nqCFJ=6&6uK1@rhsV1@^&yj2lr8ZMPK zR*64+%jcFWuf4mD`r486;VmmT0oD~_T#F{b=cgEdxfytP`6jIDhCkQ2{&R z168Y+J=>S#$9mSgu|~s7&Z>>R2L!r$8ipp*s&9bd{eVXz3XJ2#&Z45>jy)){hB^ed z9fd>ThL0`xxZnL{@UIcmX%22=TX>&x9di4?7$;F>`zm;sw{6E30;K~Z$}K9?ffy&4 z&hU)9m@3e6{5!VcGy=F4wjrb9*4s`lzw^sKy?pl%{4gLq)EX1BH9EB)9>Pr|unilXkC>a#%C+37MQWcKD zhriD0_!%oSJ@>g8O_Fn-UZmzQSUBx*=#jDjT=Cy>s%hghPuQrk_^3|VdK}&^Q(2uO zt+*9~St(uE#cnqGX-qm4?7ik{uZ}SCFXf9m&wOQ{oazQJ>)$$Gb&otxy-RYok=ecYBmhR6;+!&3S0Z#!kpqZ+HSU%Gz9yU+LH zz>V+<4zhOgy)?}6$Wa}=KrU=KZ@blk9B=hYd&b28hEe0fw<@sgH}KVe7vtINBgS%VIK-;SOUA)aunczG1Z?NP9nmP#CG*Xnj#-e^w+>c>rjl05FPke?oMzk-zLAH#mDcXZS z!~dPLv++1D?i+M0-xB}CLGYy`%_jJ2Y)fv0KN~q$|CTHEJ_g>w_i?Cne2xCc>AKR1 zJT^IdR#h@QvKE3Jv~1t=+$7*5ZJT&byApQc-(f#aJj%8zPl$%vq+>2myez(@9Kid~ zQ{qA#>x`Z(&c}i{U85+VDyT7{9q2GPLS^O8k@dl6jBgm;SL%G0DgyMtZ_{2eJRpF} z7<{~h@_=nj*nnGsvk>rpwhVZhc&>KNw7ICpc959iA|Go zjzADO#DgoN^PAB$N0NANO)Eo+H4HLEyqRvt=&CAeL-G4ODYPxL^n&ks=JLz0el3ct z!I;5OJ1#ivsJaYp4lcB2WR0rKz}*lm78GOt2!4WUfn>Fo<0#KmFbes?pN%BrTX^pR zD4J0T@Sc0)gM4e{lgbR0j@yr%RKeHNQ0n#BFuaw3A4cp~T`|^Cp7yY>Uf%S+kD$2P zKHw6?mc(m?w={PYXPsXw|DYHGls{HEp4gqVH@Iy@001BWNkl4X@ntSwzXd2u3a9=XX1} zAH~`b$;KRYVPb9>VYG{XU<_d^LMf*Vv~n8m{`<^w8l~HD2!Ndyd;^B}_Q~*`A!#YhLuOqmmV zky-HB<2YaNG>!o~eFwIF!9ssYJTmt2bXgvxKL16 z*tHzSp7uZcZ~tX^>=V9Ga*|tJF8e{7jJC6H&OOScy-2S=aA4nZ5}5+A6rzKJc5otU zZIL4^Mx@qCt_S8li-#C;;c;z8p%SV@Bk(WrPp3`NNJVEE_7DydLonW%(hvGw&?&-h zPsRg{y3CI=P)NwDoup)$!TuF7nMagKHqb2RU z_Sf}kO}n#Ft6l(q%Qt9iSH`Sw?J*A@XP!4JhusdbJNBT{$fz>vbzP@_5H=aec2d=7 zHEf_~R0CH=Cro_4dzMWrQA1lW_%P%Wo;$~AFnB~Mr0vzO1ZTCA1D&L1ctnY4Fi+ z%9BH1^GY*B0;APZbpgx33iqrBZyXB^U>q*1aj{=ToBoA!Zxa(i^fPV2OOuT)Js3ZXs7ibefq67N&8em?+B^~YFu`L^SSQnF74e| z=LC;KOVw<>$Lopa@tI-lSTp7R8 zr-=UKP#H6!ee$`$ zpP#~C+a3JT_QDf`PkTLWWStvP?~=E?z;?O*NJR0Sz!ABk8`Jz=8HzA<7SlOk_t?-I z1kXgPGUC9~>NN6PDQ_44!jn|=^4{3i*f~mi%)HmRU%n)qTluC)m}!G++3M80K3Sk+ z;{EWlaFTb)OFQvQ=NDftA4bM*&bz>)MV`D^N8mIE$6T7mz;>H5uf;Mvq3eXR;|za} zIW+NA=V3BNwtdM}sA?{FMSZop?(<@!YlN-mV0V&hjALS_C=1(RQ>{)YBb!PH+L}wT zm%*dRSWtzKnS5IO#a}aHWYDva6WoQrzm43cHgB9SE#-m=k`)uDBJ*)B<`Ke#Tklh8 zG7-2Ob-%i!j!_6RX)b_KoO0bX!wPTWY4!FtL!h{8L|?=woD_3vZv3I!>=P=Wl zU}~+RB~l^?(kw8<1(}!7U`hUAE#5R*^&>X(1p}hWa+SR28H))4)GzH5JnmsyO%q1 zCc2}Y6u*ot`}n3!?kT2yM=8|&K7DN2x$i1OhoKnkIJkTkQU0HP(GM>__0NB0*>>vG zvUAU+&%3@9-5&hqa5jAWGt0dWU8#umj$IHQJK$uYmjyWDwvBB`^|BM!4xnumx>U*) z@xzl4)+dlUPbXCkZ_SF!?DO`BaQqZf&1qnMgnPUn^?2c4j-fN>u|Iep=y`nkh9^99 z`I9&Q`K8Z}zYH@LmnZH#w(Lj2HlF6qHFC#xI8|t5(pl5RS%!;c#Bk=(L88szqznGX zf@*ts-Zu8D>mKZN3H4@O%3HE_nAK_Ros8($A4(~$$thqf+rarzw~GA@$|V9pwZstX|IVnX6-uQ zVkH&v^L}7YH{65qY$x2bW@@fbNowSi&M-%5gd6EyHvYPH*|D0ja?CUWFn{Q<+oob- z$tbANA7jV+gsm`Wt)Ps``Y9(Z=bmIb0hADnftgC?f;$VjWC7(Mxsx8Db^WRGt2M2{ zH1MxuZ~Kv_11FTv;?&4v_7RvuoS~ZvN5r}1QWe-{EIH$BRcae~mhK{1?2nxxfL}_5 zoqYaGPFAgtToa3%l^!*+DR1b*r;m|MZ93~sul7qrUh)Y~GCh1pXyPb1`!@`gfjyd0 zSLp=6yDZk`!l6wuXQl|UOJu}SNwXoq;|9kbaKfhCdEmE^n<%5)HbFV7{o9f?eAe{Y zj&+pD*VT7yC|hC~k-;@#*7MY-f<^HXR9<-!9dY#trSJ^3S*`F{s#UX*sI`^X5=0PQ z{0vjt*Kru$>QHBuejZ~8@W{kw^IYcx=P=wr8y*ov18a;ax{%KE7LMqIjF`barIXVj zN1rD}7?0TszWI(00ByrcF)~Lh^X#n1>soZb?%AFUbET|r>}z)4q_0!QgX~~-1a3;7 zE{+vt8XMB$1<#~U4kswC0e+rGt|&j-9fpzVrcc`w-EvLyhwE4Kn@CG#bp!_Etwo z9aI*qp^50pzaxu?S2}-;LEkIBI`@aMSy(#Hh_C(*&s2za@zG+D_cS*r{1k>>8-_O9 zjPs!M^Wrn09PNlNiFamgkw5ZC={>fQrr$cV+7d5s$c$+`ln?l)xi#c)#v@)Yzk05X zk5d1`W1=sAPunAe ztPX;)O@iYf9q{!fS6zuzb1q1xm{Po`fN%ky2<=p4D*8SyW$-2t-R?C9xnRpUoPZpR z9-#Bw>a~e*8FXQbA&Ms7G(fh`g@udTBOVd{;HU0*OrW=pk72~q`;9!MhuzuupLVJ z5kw{l=W!9z`yew*2gWvjL_28O=?k9o-ODe(>UVMU(?Q5N7r60Q;x)%lry{x)w{D}- z2wEA&Lr!!9*R@xYIO}_3LOBAgwm2>_8+m0I8|1IasZ$z+@1!ea0wc(%$kZKB=DA?6 zM%CxR!x)R9e$rPzXnFH{SzOJ>iIMK2edjP?44=*&-MH^L ztYCpPIe5+>61)or`v3aidzbq@@?l5`-;ce;dsSHN<-h!k%X9zU3$cIxPCRo(2Yc!7 z!K0wVK15YP*n8ucw-cw10DMGo<=Eg}V<@)7^H{HrixxYOwtbE-ku_N$gcalAq&f~B zp{aU`Ss{F~n>!~c$~FByLq`G9>_383^9Lf;{LocbV%TuZz`?V9?*XKmA4MUv1%=Gu zIN|&O>^tEAy42?)juig3E#LL@Z(d&i`)@&oZP4*7#)!gdtOlzr{@0tPW zg_Y2^<7hHu8k{_Sdb#B@pIENB_kCA7^)cc#e5^}bBH%twY^cPol$faXQrRi zF>OYG=0oZ$aOVUac6)Za(zBzagrjR6o|U0SoEQI7(J#%rtVO!dHE@bdYpsjZjk8z3 zr*%Z@s1*gLGB;({GNft4cD7iibbFKKCi`2tY@7m7T31n1A9T{lm8t(V)2nUU@b*!W z0}rH2WH{G#Wpv5mY(+$}E#u<4=aUm`1UtPsylV6%E5lM%(^WL*nr7M0>(wtLmpZh` znA%j19W@`t*F@h6(X3%;(>Vb#up^JPl`422G}ih|C$85eXO$5uuf5*q3@iX{7G7hU z>W%UfFQ^zB2P$Fe`--iboSRE>L{BqW#IH%e1tC;2A{FRse8x$ z+uLcC3BWP*H{Q{`=qSR~s;C7%7DclmEO>IRZjWMycB&k0R25$wmMp$86ul z%{=`WHD9ZUOO6RIPAwl5#akeW?-g$`L}>6@Q7=>RhjFcT#55_WratkhqObYTg`zi! z9It~L#tYjiZU_f{_XxDUIn=D^W@Xr6=nSK-eT)Tug=;drXs{1wz)2V znqXnHDw1+!B(1o{L5&BkB~!#uizfaxvRplF&}b~Mnau6WG?pGfMsJ%lecDE%d8<&j z>>G>JNV(Ob?SC3R*T{@-)Z6H!N*hB-+e+i=C!}$sy!q}jmG#woD)YXKE9w?@q72-M z5BZGeo$nJy(wKOdqND;ob1XkMiph=W`sCm!eR{lC^vQuI@ps1D_JzZ&L!5v3^Yl1Q zsCWtwM&}#OfwtF$w)?B4Ad&`YJI?7bmu5q{j@t6wP!1Q6_ zlsi3~w}G$ykS)bi=#qxF7i0_9GSYgEwv~dx80>2-nzO+1qC8TF)xJ~wT%Z7LD6P*6 zrr;mmuP)pLG_d5|jXimq7V#s^)KHRr5m!U_e1xkK!<17yYdyiars5YwC86Yl@=iGq)L84tLOzf%NNJVf;Pp zfnU13{XHK99ta1Gaz}QQ5U=?x&C1#-zOj`V@Hid#Ip6+G%d7t2kKrh}8heeA8Vuu$ z5p$;{6F**99IcA*6uzTK)&OABm@8~k*#;sL4Cg&pEH~YH`||H!_44JfKl`~}XLyfC zKgAKSk#j4SFu(Dc^YDVa>ev41^1L7VspXn0_iH=L5k!UmD9d+Y}P$OwRgVn4PJ za1XlXwPcSYEMqH8WPY=9d{ToAL@f^j*I5XPx^ljCx(D`gYKPX()#z1r3}1;H8S|BY zt6xT4qZ|*##VGNdlm|k_vDZ!W$5=ndnE03@pE9~D!n4N7p(;lfKO|C=B3?!pqi7kQ zSJqbXL;g!9+ngOH7`Q%}rUXiG@tZO~28o@miD<=uY-WMRulMX=Z|xHs$#Hn2?c{bT zTI?c&#GUuB7ZH|wU88M4>k189DSyPK)6c!K+QDIi)yNX%g4|t{)A+6Q^NQ&>()})5 zppuy`)$P%9LFEE^pkxS!S)fNZ~u@psDhIb578Qu{B zP8H`U*15e#)!0XH!nTGYWPCI|e;CNBu-*J)+H>6k>3|1zgLB?nKFY?GCHS zr9FP>{YLO|UHS-Ni~+W_nzH5;{)M)BD|8(ZG{MsVQpTujU9=53OnYU)C66cjm!B6I$X_@v*kJ3AGZbU^l76!|S zK@;_jc18rVW9m2vLkV48F)g%hp?i|cL(z$BNbw)}X~Km97c2j+QFy{+d5CHt%gH#$ zOwWne_yGA)MTx^JdT4?-{8#C{;q+>IeZG7!XptWn7oAZXIi122;Y=`7&X(@ACJ2GE zd^G0$oD(6qcPzH*!+VR)R zPa->d!Aan%wN^M1A*d1838e^&&&C{!AKquwM(BtlbAU4 zt&>U!=Twc$EE;R%$HK8Gi$f4;keQ6+mkPulJ-~L;ANvo)Bek7KIY$^F9M0ig8p(G8 z566b#O-+MZNf(~*%Ep&!jk~HfK2Lo3gO<0v8^zUdT-3Sqr$nEozj{yfv{q+g+L>f} ztf?owz&*T7)AMyjtH~QMI#0m(JAo%o0oNC3AqYc!C6X#I*L?B0>`+m;50@$E+fFX` zyxTpOn{kBILC{|_4z%3Cf^0C@&cS&?+0S#xdy{FUTf%_~opCVRmhb$gColj0kN}k*oP$*TL88*6b~bucwoQhQHYCY zpo{gGHVPwd8!C=+UpkZ1*p;%ofR8({xA+aOfBEvQ-}&5eT-l{KgR~I)U_7S*FZW`9 z_|MIioxvR6jR?E;=;D9c%Z(IPdgHf&mv|2LPMp(y8d~z% z(?^!OgD*b$SD#gf;v3B)I~Y`?kVFq$E=V~fx!ySohtp2L{=w_tu{;ch_tn?n9B&l) z+m4xa9{A(&L1(b%`!C+{=gR{g@^D4J`th-3jp%0ju_`=ITR@xVaQ{^=`-SCs&;M~1 z+S`H51sU2%SEo%Ze(mACB|;$rt?H<^O)!%a^+&(}(At%fXzr zqy^VXLZ?Q17E7kb!0z*&09`-uQ}Q4RXk}T~yDC1>H1z6FP-1YWEj#t%P~&fAoK@kG zLfFOJve`$HdHopv5UwRM^0~frtrw;%F$MweBQqQAdDQ zP%8hHeevS4jJpQpFhbV(Y_1RY4?{DKwlThGyp>twy)DMtkZCm@1BY`=jN9T^-xFTe zS!fy-w2paXhLA6bpSHzuR`BH8GYS7D$HM40&sV49qoURP?gX1)A)mx)l=(7vXM?{8 z*u_rPb=<{AVDC7K7tI60N0=h}M}$9c@)6Rqk^MRjy6ra@_PT*K6c7zM#+sEvhh29R zS#M@VX&Sy5blF0y;=jSx!lj{2v>9XKwO%KWp`YS@I0ed!=}Y(f&V-wS!tqoNc5d>q zX&qkagzG+^*s@D&33ad>wN`v}99_c(4B?x~qZ;0wCz1bycM1A+*yAmFL;>)k%0={$)kr|)%-N74%6UQrEX!6+Ri}MfXTz3X_i-OhY#c3sDipgj*4W4R!}*%=@zIe3>R)@LQU? zD4x;UEed8F;+F&GDc4CSj8JN1NjMM=xi1+NtU;eUj~&4tZ(MJ2wJnCv#d~?VD-uQ( z!#emp@sSU<;f*TXXOYsplPS%mQ?aM96-MHSMXRXXCz4;BRLC~HiVBug1}ay3mYa_p zU5eFU{Em27tF*NGVVXyMFcSq4O%zvgi?}y=W8s|Xs zh^rkCOr(Je5uzv`jjbpU=T$Y6jtrs=acOw)8xw0q!4wo`~W?nZQ&$86np`1a+EfAnvcr+o9b>$sa;s#v3;C4br=SBgXM*82dXBw*TU)2g#=w#&`ww2NW5;Mn$|yLCv%YCSst<}G zR1Ck}$E)4%x_c}izu{AuyWB^{6o}-%)R7}2pLzoMEXw8<5-8IH{Ph7uyuS+j+3$YM zAvhj5zjN9Fk1B%`9OF{CfCdTKFe9 zCs-uQU1Ib}k9yeh=Ih^s41i(bee)`ea;nmZ!bt$&K^H(?#~KDM4Q=swP5bmlam8zTj%4DPlAgaplT>&b#pz%A1hJB+ zdGswFW!7HGx){pld85e^3Ff{jC6(c zqivGamp3|-?4b-YjO#dDpw93QS;4kx9Mun8+{!4(bAqk-Ew{2A!)m>^_cJdm zUcSfq%oFT0F62C5yD@TWKt+EVdSKRfwIZ3r_AN6;>P}%C3r_@9j3teYYY_3P_dDJM z<<$1vUSzG1Hu2remqRX)7JRqHIvdM7Gp`kY)&Di#$dK6~BUl1I`w&kQ|9PJ8mNd1I zq~mbEImbA!?V0Pt7!Pc0gRIu=1>>}oj(5T#e-6G1-_$`hk=Hcxd>0NTTSpQ2jeA?$ zX@7yKYuy;%N*^1)>1#yu6XmZ>!M;V8%!krl^0_z;5{a*|E=&U&i_8{SGj}~N*am0+ zR!7&gZj8Af)|lHZ?~TRYu-WkLL>|mj;JP4&F}gtOcCL-du)d>)`6m^frkeG(km7%< zcRffX;hOh0kXlA!w89FJKS@`V-s=>q;W20P8WW%A|8r02cG<_)zS5i?AI#=HiH>tn zV4Px@F{kepj!a07hsuS%-DfN4wxEs-?%+^{XqZkiQn-pj#Wu=7fcNM)$D0*|y{GN2 z%^Fi%m0Y3J+wlH96j$4i{f~f4m7a^o@TrtMqLq_A$|;osRT}r-brx6w4Y0+Bx^x@O z0{S_oB%%Lq6`FWl<>78HV=PVju21-t%$H{gcZf z7^Ex|q^upD^~!Z+C~S@(TN$RI1BDZe;%Bj^`W$r?KaG$DWa(MZ@SN_`a?axBxZ_tl@-qlA( zK=F)aJa^AShvX1Agh(?d(RJ;oOE^ocOQSxJFv(5@yo%h2uBP6RKMSL9uaqRck8ip z%Rl|uA6@>zPyRDxW1!F>mHR}56%7VcOYZfPYubYE@92Wu^u0@D zgD|a}$BupQFRzE;{a73)hI6;!csNg|3fC;y`$th3o&oB!C_1+T8l(=*;+fuZVr*Tl zGB&hnrxE1`BGjmCj^pfs%LAa14-7nh>e#XuJWLt1eHS`ny1nEvo5jP7gkw(8r?3;% z+V{YiXYBy;#cfCL6b{dTA9(B?w>(I;(7D1rsVqDPghYd2N?5wae*=udr%kw1 zM}u(>f72*-;Wh5v_kHP=d^hW>kJ7Y~=!iM#k(6t`FfAWW{&qxaMn@6|Qy3h4Yx?^0ef!W)PG`mXt~`bSo(wkmiW;cnoA z`_tJ@`j*os{1v(qvXi*Za0?$}O1aaDcP@MB%fl4c0hTnZkO5-_IJzF*?NMPe$fY3H zfnp5Ph;_?z<#6sx-Mt=vRRb&hGmiWMEHZF0fKhoo&bcc2ezuqmro`*+QxRYNPVuu+ zq71ExWBjaVcXxaNeHcU4kxG${jn}icI(-czc4Gku&$OV^;EG(|cy`JRXezgGPe|Ku z>FZw7%%1(>+VzA7If=pHVmiBdM3@=$cm#wh9dta?vn*kV^Z&M zVaYgz(&Ck%^4+=r@DX`y>o`j1j-hxFk4)p%SR#WWH$03!lm7Kw@Td3Xk}_^(Xob%D zoo9y($faRy&iLba+wSb{n~}*eQ}E!qjqI5`Bb?@4(KN7^27_J`E~CRbvn)J7cr`VM zkMc45sKH+QrF>yJ4xZyXW6Y#)P96{~_$yk*N{5wC+uFYiz|T-|0FpVoihsJ}z?2Zac2q`d} z-tJEt=NIKHgMIS$a8Ojteco?VhYf2Jt-KJmlDXa!j7E%y?6f_d;!-#Pi=x?R_yP;3 zX+cZ+v?kc5VQMJdCqF$Oyk5nw`Au`Kazmo&H`*V2)6w6ZIG*YZ6w%`+?zEB_lx;OK z2YuXOM<@9!jo^PT?yA(4@>hTH=y)jDTxFu~F0x@QwY3 zcuu4$u85~7Lx#f2lMGz(q@5w&tCxA3v`5icMn2CtwgRCo1Mn{IM7r;tFlLVod?NCe zG+uj-EzaUed(c*cC47Br_-MuDZ$ zGZscuhKk`y7=rt;*Yrm0nbjCjEr;ECO^A>v!KS|*r3LMD-nW5x+kgId%hR9vT%?BM z7^!?{*0Lfsi=)xG;(g>W$UvlXxW)oh=k7eR+^#0@G>(z_y2m_xdE?vO3Z-TrHQ8vS z^NPF4L0kXwdAmE7Z+Y6+Er0Z1-zI~I(NJz@xas!Wm!Ey%4=q3Si@&P09Th&js}JFm zWw3pD(;vQOdD`E6_HqF2?FM_CK`OEQLM(#BD2Af;{M&}Iw}+tA4{*w;`(dO7u#naV z-u`FH{U7=@O3@w*>J~@L43crpy~0da-@SbN{qI~J@UX|Zs=1Et^V-Ml$&AY11_zkP z$2581yoS3;$~m#+h(EM{KE^n)d=~V%K!Xs#p2OCGlXu>+{GDe$bNRzJy=6JZ)CPVM zl0uEX<>1v0sry zh?8gbgKdv5w|(|g%b|OI@gQCF^>M5s$0__{%;#9O9a}Q~!|%Ta+YO$*TrFCH&E&B3 zdDe<%Q}%H!=#eEg+S)jKBYS3uE_yZ{bx9e$;efM~P{y{_lKcj)Wrzz!Q&gOND-D;x33qAR1b5@nX7dew1uR_%s;o8g+S&fks)6Fx_iU0965&Fg-a zZ2#7FlU&z3WV)=8HL@^1MUmNFgT6ehg{usQi_}AE|#*;3V#^yYsGZW zH^C`b%hR}~2qgOst*RqPuXM)ANc)a{b+H5&1o?F0=6mP`fuVXv@u%_35o%3(t(!JP z!*D}bq#d>^PgVDTXZ)>#Em#RdjmFHpwj*7R~44{NBnhxh9rLKgGwOW${?r&3H(k(Q$_$9XMLILW~Sv$!TODfXBQgVtPh>GNeI+ zed^KzUyvl_S=Z|3Eu!I*YB7u3!~cXq{l2M8*b^NFEzyQk z;My-IhmC4Sohcl`EVwobsa2+F(eLC)(X1@(qWK1sd$QU9HDk1Jm<7~IlpaZAj8a_Lr#2;B`dNL(iACcqoSfHXr!$;J`J5PBOsx`lx z5pN%>w()xC?bhO0Adg64B)m}$gACyyi^3?bCYp0$fP#;z*Pp%Z=<>SX{FUW9pZkMQ zng|0k4H&HnA9difaY$p0Sf^pfa_$))-@D_+&nz$f#h+hZ@w(S8H{W=xk7VIzKLia5 zNy)(G2Y>Fyxc6f3?iDzr`+L9V*~{Pmi5D#guDPdMqr-wf?qUyio9=qVy}^vAp2I%l z-TMzN2Vog*OBIlvs2Y9qk+aJ;J^sPVe|Yn|JS#EYEu(Cc`F6`nZ^vHUZ~6KsEPsSE zz?a=;maDPnn`c8ig2f3PT?*HjlFedS+?Ra<)y5e|WJL3Se*A;Wfos1=MmgPdEE0Fu z^TS|}hNoe?(-^)1Rm~rOs^(Y20U*?1zFjzuJ)`@vVS(ZV6}DMP{dv!N=JL|te6{$5 zK$2GNZ>y{lkAR6uQ)V%cvrfUl-9={!<~H>oLdt6L7jP`saq##)%v0{)pFeV>zpjS<<`=iD{|+8iY6rzX zd4;ep%l)tWqUDCq+=wdj=nD~ep4F^cWo(H?3yqjCccZLYlSaWA(#`YUqv4{>J?DtD zSAKDz>@Kp*h8XvnD@VYJP`)ky=)C23BD#^Q!$>E9vOqZ)K33zHpx8)Vz4eKRcg+Zf zdTiy8&6-1&w>)Wt4p&9YA@At05v?S*jNI<;9*WC|4y=v_=?aN<83oCTVHN=#R6LEK zNBpT-u4AJecH=T+T?cf+N7hg|DN1LdFgUDXGzKdP&SV_lcT8tB~t0Kg(94%edzjLGy85HcdJC zV?@)bsO#nrXYtK}4I0`uT$REu+A*q3R?>r9tj7RLAfH<=@TFaQh8f zjL2H%QRTvTKh4(}utwrIpV@HcrBb~;#|=-Fa_U8Ju(F7j)^d(Hf>rvAap!(x1Pr6H zx7co#b2i?-CtfC9nz~s0ps!K=UGG#L1=j*}8i)4v6L$V*(uE73L}Z^24*4j($$Y$f zgzH$SSnWI-@3S2(RQaCq7Wx#2-QprV2iIbaydzw3JOE%EyVbS{W9T7RG~s-0*ae;I z^2CQ8{8@QRcq~85=l;FL8KHOW_~d6CKPTg~ylpu!_-|Gy#5duE_SdnM_H(8|0!qU{ zG;qyrS6u4@&sJK9mNBx?zszIxU3?Y};%LSJ`Ih_WyqD4Wp|GNU4iVGudR8WW>T;E7d7E_ubT+x=W*x1&!5YVaD z1a6NMIj5i-M~xB?FRiqD1O=G*xf6yM75sBh(p9|bE0_5Ji z;Vl9*o-h?8R5%AV$3(cSs3hX5^yfUwFFAeeoRRW~wAY(%KeC{179z4dH~_G4-?21x z=Wx{URpg$`83U)h0~O!!z=-9Z=xyA`7=x0jtDpSX$Cm$j!zY#-KmAuo!@qsmjcVnr zbbYUT-fQ{F2R>l=()&Mf*^MGoGPsBbyi0?X+ZFiX-)7D9eF=V|VY_R(|MdU;8<*ez zPk(~S->8tEf@j3ctuWdS!U1smors>oxH|_%*pYqS^LjOR!Qyo1LGxWwJhm8=&!UDae(8cqxou-~f^7<0{gHRB#yR*Ic=0`B%UC(&g#j{X7o?^Mgh_C(;*W zc4J(ePiIiPYX@-q@%O!R`AVdkGvZCoXF;&@Ec(UD>Db?W0ny+)m_Lnm@^kNg-*Wc{ zJXn2MLwD3wvuJW?j0ot6UeHKnAw71%LV9$@Wa9|s3LP}U26bo3GmmR0)3Esm+E#`~ z_LslnH(s_p?P-5)`I0Zc|0r@sBc8?jF7-Lf!hGoOV=%lQ_{hh}33ZxB2QVER{CoN| zODZwyeHzCYo?ZU_^M7FZ`Ir7W94_7)z8c}tN5aou|0MMFttr7872x^*=MP@Lyx>P( zw0!iFH(nB^^&+W_y0u*vSzLhU$6I!m=e};oSN3=tgn>Yl4Vw6T>Q*YakWo59{DGuo@+2=qlye@a|H*l zVs9hTiniuVu;E0=`XaWLVe56gilo;muS3qL^>|w=#_&X+;QEDjT47v9z2vsl9`){jH0f4=gXJ&_Ebg}?{X<7#Ed~XnJbu>$Q9Y!N@=EB;gVuz0I0W>$*JB znsM1F=rQE0+)D^`e*4^UIRx5`bTwl|GN1~+-s`=7Ck724v0;Lwpv zK3nCZ^=Q7Ie*~FrX}kf9?a-js(PJG0@6|C-X9e#yA0YVa+!{{0;?%r4?1)B~2krvT z0Sk7yobzQr5DxKIpHp zR6b0O4LP|9H(G7~D)cwa8?_bsN>1|qX-|G7_TcaE`|RY9Q!MxyxGp^9iSXcX&UO%` zP55!13!SG!)(6(e&>^D;QVZ8fUYAB`JAuvGgtKhJabkOI|0J^Kw=4WA6hnv*)oHf= zjD?uL<YVe@WBGM%uZKPp>XfLrOcDKXj~UN0G)23cIC97QmC-@34{pOtQS&tsqGwjEb$|0<1-qo{UF15rDmFBQ=mG_m1P487oa&scu>6|Y;q z7-^+vxPg-UXC;KKJdM4A%v`{O3Ywowytqqp*&6$o@=04$wteglD1b!?U~(h z)Zn^Me7Th>#0d;F9zXD|H!lx)%#&o$T#dcEh)Y6N;x6E!AwWJodh1^;S6*`;E66dH z(%L1yIy&Of=hO4JyFdPqZ&-fl2cM7g(2pQx|D<@IhBgZVU3u-@m%sM)PhMX9lRvfG z_rVXlOq)X@UcT!wR~S9!9(+VsVR%2_VPCTx;&D`rh=LE#;@oUW9kK+X;=6ZVfok)& z>ly7kR%)wL@a@2;@C$BZaBB}Z(N12GoB}t=xfz~iM4OLre?Rl>-Q}c)uAETA`vR=N zLzr|QxZ#H7-uJto_BWTOH4iUgd^_UJ-0Zl~e1OxBnI=rDXGQkzKfmp>H!r{S z>VLhw{&lZgKK-fBU>`diDMwB%hps)aJm|~5czMF(zjk@nv!1;?M(fL6~s^N6Yk(p8EobsNv zT%5~~>x0MnA!JA-o@9;H?L%9yKEt6-(!k`qEO z_Z@tzOZFKUN_)+FUdQ_?M7i=?rjwD~=L9GBg1UIyh{h7;@b9MLT^cnqn!bi1mi|SP z>ccT|YGlm)Zy4l!C-|DjQvLy-+Kygl-$~o9ysPtK zjs%zPy5{*j;48fwjo*mcv)_q-hb$&ON zRUQQX0efgE-fZ85k$;r;@~8MLa;P%itC10;HZtaB&dh}bhjXql<(-8E2Xk*&k`5(OoUGOj7Lgom61-wG4Uh2vfz#V>!H7}M>)kp zOE`d2SIbGPFqkK|E6(J@rj8pB;kKs>zFwkTPNp#o{z?^3RlCQ8Ab&9X zf&XLrFw?;qJs5K5qyPXQ07*naRHbu<2ODqa;owxlX9J7|9{L~A?w~+lmvCJ4=(-DN z`&t-4x8pIUV($cBoU2EAxw4Wn9@$NI96z!=<+0zKq?S@74zQ26i^3X?p zow5?H-ov75-~~kLN8Jg@Xv<`;HU!v)vDS&er(2P67E)PTLS}D+utD$XYQ?{XspL85 zUTHbr%Q`6o6m2HLt+gVGax;Of8~7O(-_rIQHk&nPC~|tRk$lrZZA7bg7E&VLG#1Ag zCucRU5id31)vwoGkF~g&l#M8>>w9d((RlQRrd7o>h(x{~b zRTnS<#U@!}x`tZkNMXCdSAO0&j6$b%N3CRUw^l!=kc)?5JWBDm9@Er!t!2!(z;o6L ztaHeejdCq0MSsWEh4UJleU^HK7dpKL-)R&#(`^{%!I>l4TtvNgXa|M#6!v9Etmv{a z$YJe8pCa%YuiH3|>)Nyuy)60i;r$q^c#e_nRw&=z=oDU4?$MYO9-E`ft@Pc!*TyfC z)=uhB0T*I(ggLy>0clcj95h6!8q)^8h;pa7^yLgH)s_Y1`ikC z#U#hs@n+1V(QsB|?A1**=J1eUn2o_{E`+1SAH1wNmNAU|y=f;jY-YybtIq4P$2`|I zjN?REXT!MjOT0egHTdWC!Mm1=!>}Jb)plg{l8fx)XoJ`T(&L?JlkpDJ}{|u;x z^5FN-M$QM~mN+ZFbdH5@D^In~WqcdXid-Ijq)!zS}f3r}0nllD64`qq!1V zcD{=5`7chhSsu*FiEvGx3jGUjd8BO*8kE0gvIpP9G0YJ>F@nd!F$3Mns|B7B zLmD!TNb*54JCteVL1(N~He}3FDdAuf$>oBl^eR3VW(E8swe2tl?!1%B zAX8dth>!v2mBDCPKa6y8U+IqJho12_mtT9`zhA!S+CxxqPZ%XS&dCDLM~HE}OlMus zJTG3nAKOusrjiTi#EEd$i4%zAcyO|x6kI8EcFH(sWM%15s>ilWi zB7fV{M?8#lQPNP+9%fz;-b!~X-Z~#xZIl-+tXRlu_rAT$tw- z%^Au4*!$mwi1%YrksEQGIAS!zDEq_%{B6UHym|X^6zqHSgO)#i=U)IPgorSD5BA1~ zhA8E$93YjbA?GD<5vputaL9c{hZ`H_mVuK;m#g<-|1zqfUpT?);GhCi(luWE%Xqi$ z$M!kiyOxi<8)@|qe=G|09fa6KdO7E~c6!j60>=a9$C=~U?~R&nM~<9ZUhw_TU4H4; z|E1-GoFHMqI1dK5(U1ZioFcno!j44J2rWR6Y~$7vwnf<>r<^h43eWgE*&C5C7vYmn zGkb@7-dVT8StQGH-F@zc3jRk>KL(i65i=N<=w}5+*(z+C^EvB=axDlG*E!J}FmW4% zB^={4A|jt<2B3n4N^{vx-#O#-X5=wQEvBfBtd!)`Gd|#t+hdhdLvsC*KyG5 z9-LE|W0aHZTkS@-)3^vy*IV`x1kj}`>p~Q1x`8}|D$!*Y)s^EecT3PQ1w2@+JZDVAzo=f$ADGlSl{Kc zN~2%=d7y$^Ma!bxJB}YiIP|n=H17<(h3zJVvTK%Gg1i)cZ5*gZj{fIykU!|` z_22k!B2zln4E*SK-Jhb}>XqNCac=B;4HfOR_PXsBS1YW1(wla?cev3acIycBF5HLg zkN}<1k7N`rx~i*JplKRGAT1z4 z9hMUZ9JfG5Nent37bb4;xG;%95+`$HM$lw}Q4%GSm~l)nM#l(pkjUuFXks)5RKT#i zK!XFabvM0McWqyNRrCC|=ic}2YRBW57plMa{V(@E_u1~V-Fy9eg(dx%<0asJH#|-l z0GI!vFW!qYYdxJlqnFTjo_)wY^x+a?K4)AvJcbp2HXN;7U;1qQk}>)oCN#|N$rg5^ zNAe#YYTRVppfBib+I5g+?I+^;5d7Iz0k7Bd+Iv8iHFE-T-%VTdVaq>o1AoT&j-G6o z!4C;encn1!x}MF$R$a27vh_;>E98;ZSo2BJ!@RKa&Ne+d@Q^Wt@603N0n*?7L{CJI zfe$>lbl|1=#c-_r2|6Nh7ssFcw)98Zto)yTCF^zwCjB?$V&!opeBcb!HBM@Q#eBb3 z53D@eau-=z#?8L!ca{(^02zKTQ*Fqr<$Xg}q*4OUukZ%PxLET%H&?UpW)l|cd<_QC zHyQ*n0H#8eKpJ6@wY=;}vlRmGoAF6hJF;kklb{GhycpSi-gU~fO~f2ir3omLsx!+= zlp`g89SDdqZ9`9r3;<{%QRy9wk!kP?cQ(50JTm&vHc$?!2QI&telJWP>nCui3H~uF3EL zqpI{R$z5Yk=wsgkOl9ZF3SGjHPF4PTrgnY?CbFya`tJH&;L#G%AZZnk@ti;Z=f>OK ze;e1eBD{x~q;k zx=!FG_>#Uh29%j~3t3kx5C8wj=x*a_wmiSld0}crCB!Hb#?fVP7Qg&UzhM0GTi!lS zmcv%=w${`lcmM~6Jn1s&n$GU6^6+eM2qh#H{ zf+11?JJ(|!@{7LYx#M5{>z^6d-Te6OYJGMcKa}78g|oG8cyIi{dw-{P`u+>t30vzm zAplt|s-{qGtBhCa=UUf(x=hb!J^eH5$hY?@kW_2v4qZ*#shV({LlQWe?DIPjo-l_2P+NI z_Wut&c}1RR4{F+_D1*7|pc}>u8DqJ7eg4{uzk0mx4R09xwK?DQHO75ZgIM2a8I-e{ zRQn3Hr3-z9Ln)_5!CVE_xXv5FxGsmq(}+@B0czk7xP*hmDktl;MaHRqY24>%%lZyk zLSKf7ZD5XpPAuwb2lknnZyv^cg}KHC4gCPfZ|0(&TL@GuH3o@n%*yf1T*n*gAI%|sqz%xN zotMd1bB-NPEYZQSVJZa&&cg>-&s{LE#8=}(rkI7O2nMvn=*%@7@;E8g53<=hUQBr^ zI`{Y9s89u%8u?Z>Qm*3_JhmFk6;!jYP`}B`rYejd*FWFa?n{v znk?pKz=xf~cayxj@{A!HUV3B(4#X3G@(1mSA2-%IFFZ2U@RYx~uG_NM&XpaX)z-)N zII93A4i@n3*eDe_{QQZz#QP$0&2@JD_y&AfD{ zgCxAZ;?q2aMnZS=6%tV|tn|ur>OmRz;Lr5SSn3|>kpMSf;dt;5&(?2dz=0Dup!K~j z%_@_XE|KrmDYRTzceO(hCp9=*0vyP zpg+L5c__S*jpL{ztaIXva*nco;A9IU34F2kfp#4j!&mcrFFA4WP;%wAR+$Wu(JuEr zGkmrU)zwm^ld22zmrKnJ5S=X(7Viak4!W-6F_iz&IW;n1EZAvtniQ-rSnHdgOi?2WGEtsC(d;nP-b+}m`Fo6f`1-W;%p|G_e80UBrHF4 z8ihD-gT)()`YThQ47QGnWYu@mt@z^>acz^$N8P2s?6qC0u zjqG(bfM2n8?t0$jt1B$~4ud9pEu}3ZNt={OZLX6$yG zP1I!YTA3kO!nS7R#>_%Vm~_lp@L?Xs^ETMY=cODEstk}>qB3yqy#Guc!8OKhe|X!t z?lDg+ho{;qN2&6-HBK*|u*;s2Y>w{XuFj_d()N3Q(r-9Y5dU7lK z$>YX0Q-r47mFapV__2nOwgukwruv%N)FZk|;q?V)Fg@+WGuUZNYuRbw|d>KKhAq?5eB8 z6g4(Fzs|(sH_NZ#EH0G^57{BSu%BJ;;c#wXQ=jni*IbA)2Q| zcFq}@=STDg)131eN15Zw!_J)q|ilZmI$N5uIK@IJC{}{Gw`$xN!`#0g7y&FQ|0n-IGJ)=os z+bFQ1anf2i({W>hBRiY3tUmKP;O+Sf)q$G#*LBWEQG#zCzO9>FQ4rlXJmC;wb)*GqjT%u#E}i(H9*9+HShA1`J2YB@y$nK zi!9EX-e`WC0r0ek_wilhQg+?p9B0>#mQ$h4$%JDv3(XSQsr|`VBdgrBY>UIJZ}^_~ z5lE;<`oeHUe{AC~xQ`=YUYmSs+BA@cj^kSKhws5x-toAsOY~+2yU;B6+qqqJqQ{$i zc;C9W*K{}jfX~QFUF_t9k3NeZ65k;u%6!NC&Gqp(G7F#@cP)<@ug90*jAf}u^>+h1S?JANu z)^Q3~{^dO5_oMyNW=f~SkHn98KYW*EBN-=$3tAh-z#smxzJCbJfx$L3H=ePbM;Rd< zG)G7|gHGU&n*F)%9?rORO*DBNY4V-sJyj+}=51qz|Fbkiy@-#xf(2ubOhOs^nN^m$ z-P{D-5g<|Uqc&HoHQpBFbv+l2ia5Tl{4gd(gEPTv?XEEpL8jotFqvnPPWmQFo=JL3 z5cr@JfE-#lpyjp3@5%4fhtFd$Hp+)iyO}B z!8oB(Re4uLOr7e?>2+6h`A%R45rhsuCN>_mBE$nE@*@nO30P;BX)YE14wnMCr%J4M ztEBYa(`RK^!=P7<+k%vENHC4v&$W@#%f8`j$B(@3jpLS+j~Ev!i-nR>6rrJQ8agd( zj*P*;sOD3iC}pvhSUP(Tv!!U2lFYf0oQx)v2+|;eIl!^bAO)D7CH5Gl|xrI}2x% zK^<2m*wK(pvu2l&?NPZfs{()XUX z<9OclUqpyOCpxILE*X$wvox(xh6RN&z@lodbJ;ev)}Q@j=Vs-g^R-U)SXoP;?!krA zwk+bRou>*qeZ##?b%vX>^W+P16S&gPERC2+ji!I6aX z8gFR6GT(5TcFQAs{lEID@ipK4Eqwi&T1J9umVJ(M51Pjgw{^V@w$?dji$3v!#+!7v zWIfJk>=sU z{K_~@b(UrWtglXm74$Wki}NY%4F`2KXZwB5KMuG$Q$Y&iS?EAcd~Q2>ne)E`51iYG z1O*Z@zww#O$(k?Jkmd!kzVXN)hhYNV(46}s_3J*X7bVjCpgkNt$I@#XdTetEov;}y7~L<5G?+m2 z?d%s(VI0(b+8RPKs}*?E9V`vL=Rg`qkinx(G^kDRklC(7AH1Gh&nLj5xTk^(I-f!O zn<@wNbgu5Dv>Xm~`e8fuF3QK5xvu%_Xm8S~aiM=XrWzB@{f48@a&$WDa9rU~${E)< zeQXx(Cqc`9G|X*K8y{>J8Ks@M_OqRc@XxjrVW$}mNNtB%!32~|qd~MkaXmA`krR(2 zPJhz{#+u-k?8jg?=nMV2a)h&;Y(0%R2A|uBBOWsj&+t1K-8f;pnr{~B8&_x#_*-D9 zJHj{GTKZ=@z-tQnr4wY=86S|3}94bzwPNC&f4ACzz`eA|3rACEo( zih=s;lf0-kf5&8N7w;GKLiebG8jtO}7@sM4?y zMjT+Gq{6~AAk{4=DivS@SPFR_Ib~E z%6RJsKQL}OaiX$($Sg(}iubsmfPym;hX}YGaMNFemOym{1t(QcY~&d{tl+_+%F!RH zJRFnTz{-(2r}%U^2KC5`zTz*AfAhLutT_^jyE2GHWdtgAxVD+huu0=9Iy0+AU%xMC zAp*n|t7C`D+?l%mp0D8^!b&;Lm*C(br~$F{j^Jz7+YT`EBDhKlbCU397IJt7|sT9^bGwR^I*7I_0L> z23I4XfxRmzBM0ME|I`04zW0Y-Q+p`vkK?tLW8VR@euwjzD^!SGpj!?l=V|bAeOKj+ zgUF@NcZxQbn7!8=fRFTol$R=7@V@T1gTpxiMwI6O8q#ep5EkBRr(^D8qWN6QYdSm5 zvRTi+gd4AGg6VmX)k4xqU8>IefKh?fd{3}Bj&D~f8DVjBrOz{J;SD-{r}Q*J9@+nd zuaU{|uY%BkAEo(prolvZs3|-E(E)cGO{%Q&^WZZFwpFFzagjDQ?g*1~I&o0+E>YlA zh%FTM>~7J^#8aQW;?FpbkE#YeJ{gP9gBj_c4bT{hd`NSzt@p2|k8qsx8dX7>{-z zkNb$Z9yDGIRoDQwMPLKK$;U|(Yy8m#C!oaeT*G z@nqFy+pL+H>{d>027IWp!Vv1`Ijl>qZ_HNLUzVj?qYK;Gungs~bnOd{bJaK3c;j|` z?-Fjn2uA_YlGu**jit4exg~%UK^23E*EyexzU^=tUX(cFL6+#Y5n{V4bF*pR@7gX@ zduda4i27Xm%_E_q;Xhh)pN>MqdxjBwiT86>FYyvyUHYPtYJ0-Cnps_E-^hE0C4KO{ ztZDWbZ9mC2Fph|aT)-R4_Z64caU13Gt0P4GX>5IT9GYwS#y!Ka_yR|ZHl!;z!cDoe z$L}!^$82kXnfP+Dr^kSH>N z+j*-))$MHYPUH9r!43wU3V|y!{s5 zSpWba07*naROo!--EtSa;8Gm#RS%GV5oqHgo{3kqM>%!bId#18#s17wRLU5ypUq}( z8+?F!rgaB;4PW@1&EUCZ=X;Jd&HV@s>9D(nQcZ(z+k5t;6JB_mItSBr-?Cqkhj! zM;tQa(h5l>*)!_TiN4Awb}GyGU^(7kbUNPLUqC*Vxk2N9~w)T)TaX_US`}~>%K7w1Aig`v*t27Luc~@f9n&x=R(?S z{NWk2*-C+!rrP@-H8jP%;&ajrJ(dcha{SK~jv?OlBF`Z_WU<;z(otBnVxgb(l3 zy`lsC3L03DfAJ44;yhjiN*;Z~$?>rdeRN#B`kHa9+B#qKI7WH^O)k5hU@qUb$F=zo z@JW=EQw>S@ny>is@%mr<<#BCgJny;pfr71qGbo`i=Iu4+Hk8w{)?1euUOSc_E;{_t zyWcjRjB~te*Y<-tO?;0oN<&|+by*T-Q}Vy)`*_2@^4fuJn>178-M=? zUI17?r@uM=>VNZMW~9mY*mWM6Vd~(})B2Y?^ox#n0LP+uo#1Ud4+ zpw%>W%xc;$^FP=t^)jyV2R5n1%uD2lA&Tjvy z9B^#fg%DZ6#LT3qak=E@IiL4Ai)X%nez z(kTy?>nQfcN!QqHlH?7Ut=12VMD}+^sW$>v)KHVFSuKJwWqb&qT9?OAuxmcI(|&Y_e?y{kuSKlkrs{~%Ubgo#)66E;Kc*H9|7bz zvk6xW<%~GLg?Uea5^_@mI+W{}DI4A?T@&TpJj%hYyrZ?IfXU4me&K&{%Hll4Nyp=a z8{-0sstr0G8o!hi;Eb^^nA$-E?uu5u;T*?=HiYi}uzgZX_x;t1QP)@a`$f}ab?Qh* z!$CY4{y439m-h@e-$5UCwuu+;yq_U|+0jnPJ#p!zT*H&`0Y^&^hj>gM#%cN_E{zNZ z5)3bqfOdfA`j@2usU~QLIGu-wJbuENthf6h-i^zasf7@v9r_QiY;VS9*lAqhIrP2I zj&w83Az}=Xu51V`?U!NRWZ95+J>O;y!i2GG@h@?@j@>j5&df`aK|C8;dweVW2{wcW zA)&QgFsDhhbCGv8Xw<~FJ~Lic8BF`62huObTX-U4AwEM72S~#w!OJ#(boEMj6it|S zTt40qCJ@6m&1Zn2+pMoVPK*OJbDL3SmeNd~LEvv3r7%yJ!fOh&J1!>JWF^yf5FsTU zMVAssW<%M3m}(*@j_F*mj)=6g+L$QtYWnLoG^uOKQASQ#N<3=?5G6zd$c`k94wr63 zIJ!*{Tt}&Cw_8oAW(4pa46J%j>tN?`Cv<(#KaHb&C`HP=6MkhWFd<_dETZ`Ll_PPf zO3fcUd$!6bVVdiBC6vnQ$RHEf<{wNetP?$746(QOi19bR@$1Kr{hMDHk2+a+hw+TI zs~=?~thi__$ysG}0O8Oz&_uYE(&=N=a2=%La~Z$f(v)td#0PC=cl!iDvSuFRr!K5M zXozvr(4?+;8l~nZ#_4k8DhW5vR;f8Mnc`^~i_E%!E*J;dMoNpDhShaA-=F`qCy(Fy zz1wP&xjK^=>w5Ko-Um%Q=?m7G9V2{{8#(7J19i|rK!}!-Bg+@w2RtaL$NEif3WW`G z6e|S#>>gE6rQD}+-Ki7f6|emM@i)KgB?Zo&Z6)!AHjzRJag75WxzFk5lF;mW-u$$F zDeiD25hd5EKB#_~Eu80oKXC8e4u zrNY=_{-@+mL5s_ksl8M?f!?c4ul~h&;a8Odil+>rs!@Cw#3 zZyh1lYrDV)84?_Q%PDyj>zb=f{Mpa^oI1Dp561C2((FiOhtHJbi_FbM2oZyTh+=?G zuqhbmW4!R}b(DM;k5o4PgYW*`@zlzAUsJo9WBk~4H9Rk!WLksvXqN`R{O0k3=YQ#V@)JLE?47&@#9N3(D`Z@#9m?PS_P36oeeF*c zJ$`9?`tG~=%!#Wj2XVH78Ar~IQ+%?Po}8)nv25r(`j_j6T(?{+%fXhj%U#XOxOo3N z-ZGx~+%K+;FdXj z6udh)b%L*{cgiN9*`}>W-7qd#(AVNPvQv$T*<}Ph6&A&^g`fP%e?GqB+rEpL_q|%@ z&Z8A;Gr$TRl{jEY2Li9P#G#(RJ1Cpqp=07qZRT9-R6o{Q`LzV3&hs06ZcaH<&g7LPog!bgjX`Y_hChfC=pg<7o`5rj4 zfv7A#<{JzjvV#GN=O~lZrcwQ9010alD^fF7;Or-&S#BBOvSJ^` zu#f#0_(IK=y(y>cmX2J(9{p<^Te1Z^;qZt2E&MquE7*Bma@+S!o9UEiobE49*a|!O zHTE8!x9+k|5Dx@TOSv_1894BLd6&E&nfEjN9lfZXeALNC_G_Gk@5x7# zhedbL6Mu2fI4Ay>c0>2TmvJyT1m1G+B4b(G?J9vew%#DH`D_`lhonD&H~0ThA%BogeP!B z{sUuhw~RTsAuO23L9cb-pfj#*jg|d47~o2%+SR;D&6|nc*@_@4J`mc}A#&95bXIZ? zypyuM)sfGDfs+W*7LdVf8@J{|4??z_ChwH_=}`?*5pzvObM1no;&_#Y68?H1`0dOP zCaIJYX1#MZ$l-*|$;lHgCo%~%H+I5$X&M0<@&D)5{Y z4DhO>nlPfupw-SsC$2p{?z|hDAj$DYwvi>1v?5?xfN`RkYl*-WppWimHu}+ee5@gMCVk_fYCk~TO z56+w$d)J=g=2&;tuIKqY@7bR_zUOcMt?`1t@>S&|AFqBrIyfTW7taQ8$SDCh&m4{p z0h3hV9jv=mc8ko&430-z<3Bfk{(t|8@v0yGC*ys8@DX0Gt@p;&@U?Nm%(3IzFsY)4 zmswCKCrss)q6z+o3^$+y>s_oe=JM)<&f4JQ(9RyShIe`a^b>EoVf^3!#~a5JKks>> zNqyjaC_9aJkd?!k*iwdEdVw2db@P}mIA1)HOJjWV8(u$N{MBE}o$jwIzSysH@IlGS zk;-1*dFFJ%dxU3YcV@kLV_H4>Rt2sF`h)k~Ij*_!rgFS%{WNu+cmV5ku@FF257t}6 zje>9doT~<^Uyf=23{O5hRwdyF_2uH((<~96pCiQeRYYs8g)ct9vExKv{e55`?V!EA zs)&Fe2;M43vd$E@DyseMPK>h^h&pw{sqv{h?@^Eet_w5X;e+Ud*)z_yMt1*q-}-Cg zS^wpilq_6R8S~2SyBweUFt7qf6)s@4wjoevjHN1or(ipL=InT|=yAaThHriGUm36Z zNB?wOf5T%~nL~(*rd&%89xj?=Bs;ZmHraWV?9Qb#2v9Mg0{(4>9m{6Mc+=1S)cBTf z`}W#7zslNykrO9{CvajMCKSG67t@q@nbdGPSjJ45mX1?)cUsl!>fm+ z8>OEBlQ#KO#Z*q)4CQQ`Mn3{b(ww-Jv63?KmA434jROG^q5)_r`XgY-4}uQBJKnd^iSg`X ze$W#JP?>+aYOyIWUr}FCF)2fhw@5p6m0lMBi$GuCv+j-Z}qNRxDm5qGYh-h+%HaKJu9GmMKzlo4%mP3n^li^8*tQjof{5a?>>=_#x~PLEK{vW!jmOS9!eZg`HnQRD z$oMu6@yGLFnKppGMYo|H?81+wCd6%MxaCL_N1-X& zk4zYj$X-`j)ctJUwt=s-zsk4A-1uH!FhAiQ`r!1EzJcpXgVBCi@D^A}W58jY@R@}_ z6LfOrEGr?huR`ky1zHZ>a;jpIU>=6wGYBJ9$wX&|r(i~&wG*|4U=@r+$ig)4G-cay zw9xpP_2f8=ERN9vr_IYG&|0ImDhFjC`Kpa9P3X?j+Tdsh-3Zl&azMD9sh;pLGp!ninJjC{6?`7e9k z7mQEdaYr2iQssALlwdEv-ZySy?@+w$EU~1+EP22 zIv7^UfPlW%sYIf7eD5Uzi}FL%yT|T`GxZ&fQJkTUOtJVRYX!wXn7nY=LRJ0cOm)0Y zvhg{=lsS-HFxaB8oiFd@pbYKjf9V&EyYBsTZQg|q&+ribk49lC^z7Q%I%F>%d;N{$ z*Wdp3asI&v##NQctQBJd;J`p4L}?%0 z$N;q&s5Qvg8=xkK-P(xkQ=h&|&C~{8qa2JU+;Y?SvdWTv`?tSjJn2bKstn(?fo!YM4WoxlIm zc;53qhwCWMo_%mu!YJJ>#|iU8Wt)&KJzwW|Kknw6#;5PRYy9Sae)qWUY6T3mDHBRc z@s5tMx{Q))h%~co$iS(RL%PQm8_}orJn99oUKs2|N1}jY@TE$u&TKg2Ci`Bk-#&(Q z;8>o3wWyeM0dG~mIGBM=*02QSu6xgn$KQ10_@htU4rVSmP{J-5Q!T*~kg8wYB^{g1 z62?ToK8MXi_MkczbR!Pu*>>JKm?IGE3k6-;{3 z3%`84`qe);PTX)q!2|5}oc{>FbAKlJJ!9>4iJZ?C|F z5O#IZXZP^2+EpDv8R>BiJMJ*(AUyP(VBlu|Hnv(n$@!&*raq4@H|VA>*}iDsdVt+Z z7J6TZ9<6i?+vAj_47PCS>x*%KuiB_mAITGNoa&i0>`E#-S6Sc9@lr=mJOH)UBGsgir)w&F8M>(!Ah4TQ8`bn!HBQ2gwf69w z;PAZXOwUQ|XW~o92tAE!2M9=h1OiEi%IG>P-i9Ram{-}Z9ap%*SQiccv;Oz&EXS34 zR8A{0&^%s{S`X#swM84}0rd-qQzhVXnt`(%E2fdxTUZ*yV3zP=u-%@1>m%o#ed1Zn zY4sP5&T+3rXJ2&X1;2Q-3zq=~8F6Nl z8JIx!y4tJfun83d5bQhrRqwKtwcx1hXYvk5;EHO}WOs@mVVIcsn+iKN|x}CORKY-2Il5{?d)>yMJe>McS-cMbz9>as0z)3YtR>t_ZqnEaarDo zZ@=3(%-F++8Ha6DrGa|L4BCm&v6tkd8L zvaCl|U9~0CEnneT<73qqk!y6x&DG){^ zdNxi>q&35V?8&-;jlo{WE=TEa!x43q7ItgjM}@i9Knr{-s}By@2l^1qQLm>zn{&FtKbB0SZk1IHNX- z4%carIDkTHOzle%$}k0v>8#<~V&D-L1c7R8>iNp@-Sco5cu1Ig^Fidtj@E9_2yoM2 z!`Q(m$j*BrX*r?8g$%54!Ym(YC0+wTvr!!Bo(VFBMEDl(unpt1Cq)NcsyXZq4nvQ4 zFDK;)vf=gnTxIyNYBl~DvV7QZ^O3b)`tgswc|7uwj~+K%f8BW0qaHaE=G#8_q4Dug-#$M6sZZ5;&v#ZEN5=6B$Htkx>Zi(}aXi?u+R>Uu7&ae`fi^8_rJEo+>UhS}KWp50bbM`jd#EEJ>x(8)?3GIANlAwU(WRfOosLU ztB+R!6|zM|KQ56dVDS6w{sUF!{bv#r?iP+CvanwJvX4$wHUhyB@ivcsE9V*Oh*^b0 z+##ZiWBQ=@P49{vU%Y_H5@@XZIR30E7_iA4DppYP&D<83jEL9pK_6Hmfi>y{jIKi; z!qF)mu~TKSSSQiicM`0~+6-?cEpj-*VHV#;vzLVLaoh zPaC&>_Ggcq9`)#P>eSU^uS)XwiiYPOILl+vK2*o-z2|-J9>4OI-yR?P*e6jvUWEkH zp+8Zy!RB-fXjM>zb`6}E`mOAIA(~EV3>EP!{>!z&1uXTcm(nQzr)+T>X%-EO%A8}q@Vu;DJMOj#Hh0bK|ECGX=w9N5(j2nLFn`+*3ds!8|QJgFGwPM7@CbZ8vdFMcZ&z z$-^3!Xq2T`GD-+H^&^_ZTp&82ifYa&Gx*U?7o|n*6J8pOnk#TEbJlda=VUe4BB$iq z*G5fzd&pKGbRiE>oXTXaF2kWfi#6kuM5%s5>R_t@GDulY+NS8bTpE=Sj zbDx|9^sNdEV!xin_%Rk`xy4g$5c3^4+2w2(Ua+2f&wU}|4NEWh4a_MGhqD@ETa^I{ zCZJ!f3l~NxS>W9oBTLM|FTR7UJb%qe)P{rmO;!t8wR#`r;+e8h3JYfq<>+_{Y`^Df^8x2xjZFi|h)`Nx`=1wlDq#mM%n0gm{^n$kYmfos zzcI5J;E}V9zUn%iy<`^M#|me2o?#*mr#&d460fx5jPg|kHANbINDRZ=&Mn#!eg(4! z-?+3hMgBoQZYa++KG45pyq(NEZ{17hU)*Z>^xFNvN0~R>h{yWJQaZqhf5y!uPzL33 z84t|-d#uD&V2@*H*;`?^p6ulgjWE9(-q3_g-O>)|I!CN{!K3XvM0x z>5)ma{VcTOKtL)A7$gZ@)^VE_Ci#Xg2%omx7*>L3Cl_CBgKL9e@JVQ3yf!VuCmvsD zPj)iC*>3oJh11u2{N{m&$eY{dpA2fNzrdVlm|@R2%%2%YXsKN!%wG|hRgPEOxUE%x zL}w&uwgwtP=QUu(DuFFJxy+pN=;K&wZYRmgUdk!RlOk<-By;#2(k7COxsAyUUkGP$55ov1eynjG8(6oC;m}6cMRm>gEG926jNWq*c~7d2r9>x$*6ya zs#H#m8EPFjmKAUG23r9M>#{9KJ0FzDPasLa`d zJbNF^*hA=<#OJ)po>*(G*bFPg)2KVO?!)e-FV?F>t+`*XA$*b8=KVP%2N zD3w{(7vtIE*a^FqWAE%9t0S0dV=n9!04EOP2H#mAv(^*%02~0HY{9Whs3Pa&8{D@t zQbrAp`6bI09I{JQ%e{jmudqJ>%Es%V3$rA+K4>AY3g1fLDSschK^&)nRzg)CEs9?ybb>mobdQbs0OaTb~jEgvmP+*bv zo>(c#%Mt|`CUCZ7pJ<#ocl_>q&yQFBoo^ej_~CzA+20DS)Odw_QbpdAf&zEOb-l( zAxJ~-3g|=dt@^81aM;s1?5|LMb5YnZ;g8Gcmn$MLK6uXS#2s!rT5GtE*IIinWq=;T zafnA@nqv()b|b`yU6p~1BR~f}sRAHZ%DjlZea)qB@8@kI`ZC{JyNFHQW&(t>(F5?w*7lYjkax8bmIp+%em9wdFN%LdEJ7nWt&thJ4 z*4YG06$^uE?j+^r$)d971OeHX=S<>e24X$w2vE-vQ};>cz_9GAzOvW^8{S1XP);>B zQr$t{)Zd-z1It%XaxPjZ%dG6G=3mZPzDL}}Mrh;6y0_Y)vr4{TuA0B$knOhe@_g(0 zkg)PeG`s|sVo_=S!v7kfd6GGWJWyYYn)@ z6$SEVFvUr4C^O?BG zOQiQUuY~X2w*60%VU?>6`~-)3uhw{<&;mLbces|9(2&xC`dESLco|3hDa7-U#t)5! zg&2814A+d9cP$JsA`o5Y^Db+|rZvS_y#wnal-c+zFvxjuCIEPXK>&PWVs;xblvs+6 zaiq@}A|8Zb5Hr!y^2DM|yaX@%i$W!%qCFWXI!a5&WQpjwjd8#b)LI*?C*js>S+;2!`58QivPQXgfE#O;#anVXG{X=N zz!}%j%E>}T^&-|s(mB%FaCu1LX{>#QW2pHBbhHvQ-g+ZFXOr=u_)9R-$R|y#(+N+; zC%goAa_k}3$W~$vuSzH(OGhgZzzkw_e-Wj=RFWt$FUK0`Nvz$4BhB_fVmzRCqn(sJ z#K^P%0~D!UYZ&RJG!ul{h<0<#bsr7EQHQJpZsM}ORV4NDK^^5++h*f zc!gSV4V@p9@WVIU!?FSBa`GRx0Ybn4M=#+iOhQ^q#;OXBlW4AYxnG&}*k$h2jpNaj zb-uqgHoI{Don!ap4SL9qa3nQwz~Pq748EuUNb%7ZKIe1BZ@lf@ry_vfGjKjQ{(6(7bh}HyDFV zIMd9;i*?pzWI$mcQ0grQaMq!Y*sg*K`gor5FW$C8n`KVYN0Oh5oKp;cXSwkb2E3Wg zT-!=_nSW&#NY877NywC)Zc8m-RA3LzA!JX6BG%!fKh0Mf15aeY_=&S&MK`UR&RnL}s!gx-_glq)iFy~{#>D7j22$IN9 z?se0Yow|Z?@w=U55Sp1Ah6n^hjNNuh8cNqaI5TaB3%Fu7oOnfm0eTe~a-L6OPJm6M zb>DmSkDI22k4pymPCa^|+F~ZUo`J?fsk$~;i{=%5RKN))g^~~&xk+1nhu*0}5ad{Q zMlCBJQxaa!*Slyt^b3wPxnaH&U-Wn0@U`#?<`cuCqsydE#WYi%C$sQz{F;VFk`(Ept``_>D@fU59Dq~vzJ(x)*ze;$ z0D;cNelaztm`^poPyUYX;585$-KIZ}UxAPXe-dhcOs8CnE$IqX@q+Oh+=TWk80&Z2 z$l>m3SQsZ6OK9o2Tjlj>$TVe^I65n|G2O^Bg-0(5X{T69aH@geoU}$;rf>QSPrAZF zd}_SVhmsR`wB}G&=(Unu=^aPW^x^w}quvi+tU3VK=mcA^GVJgqb)4JhJ-5e;3!g`R znWS;W#0Cxx7u(AC7nvtt1a|4R?By_*5V%j$Kks6k;UV9TeoOy^+XI8co1V?RK@zU~Z{vd4)-->Gz00|iF$0YiCEVjRU2Y%Aq{fAGZ3)yz`*L-F= z-gI>9JlJ9s8W*4;*Pl$MSB6a#&^8i9Tj};yqJ*Kj=2yUTj07^u#E}mi2bKs9jRa@1 zjOawSaRx5NqjR|B+>)jXgKOlD8!kZPts17gOLJ)CHEG*h><(X%r+!w+=y+1;pOzwabdf5KAde0?t1OF z&5ppDC5;MQ*9LVCY@i|_sGyOh`vey_2VQ9eI;+I%Hr_b?2;)#(`mZUli(=0GS^4S*b_`KywNnq z>O4~b#v1!<@rP*UVM$6 zo)1+S^CdWG6>K@obxE~B2iEHX-b^UHFAi?Zs&j?kBPOF28h&hFaW446!H3jRtDCeNe5OC|`3 zmvPg4h5_Io0$s>5I}4hi7|(9Qn=;OY6Ko=;0L!Iw=NYtl#rJ*p*tt*+Z*3}et{lVN zvT&6l$64aqJPgp_f5_(FeA8!)fA~ZHaD1dn{jb|Adej*_2#x>_9J$4Hw-{hM%pz0= z8CeOTiH5QV9xTje`~CDT-za>`9;xn5ES&Qv*9_h zaqg_=ig)Q)*LQ4>grn}TncMC$Y~2pi-;R?fYwDNi5wy*T5zG-emh(%wu6NA!hE@E{ zI1b(=qgf}BZ?HL>mzvli&HfV#E}~8Jr_Cc7Z~yn-erglbDytcbFQn)I>U9 zuGdyMKAc^2i43rGxBAissc>%@a^Sn%$TRR6&uRnc#9swf?dB6Ft^GVtQqvU72x91n zujna@XI*E1fV=J`mx=u-b|LFfMKxAs`SotrY=f%EhErUskKROXv9|=D^&y_)m|SH- z7zM}b)MF{Y8D}}^Xah6#9^*+{D>u9a|4@)jZ zCo2H9k9O6U_{F}bxIY{zxBT;0DR>t@tIJ(eb8P#!K0--b}`kV>MlZy2g($uzk=O z?P_k|27G9q$*JH9za_&q#^&GPBm5tl^LgM7eVAt1t$2MVyg=Ty%%rL{Ib91V>MF?(?#dNUGS(e$aq=_ZN&5Y&_U_2R?K!>-H5e5v|sFBrbUyp%e%4A&q!cdDLq=g^PpcH3gQ4O41KO zhjJouKO3S^Ibhu9%7{B&#tb&flCq$VBP!)k9xewCYrBPHO>FJ(HNG^stPf4bKE_83 zS)$RA7iGNzr(p))8F-c3<9SsnaJ)o0qG&~bkAXq4k|Sg{d6I$Q(6b5P#7RX7vFSqD zuv~j`>Pid3X=gI>&uhXdKSZ!5VbB9Rr0-Xa|KZwT<pBuOVKj1B0&wARRm6bCbQW^6VJi1Wl zRiCb-#D3|GKRaIV6<=HUsaAVgj6qrcXeWBxN7cq%ci&!n13bFcv!9R?RX3IClwP2I zgF_kpNF67cB&;?7Sp5;b1)U7u^Rwg)=s_RC9Q{DuO}z$mA&`J~CeJ{oai4VnmBprR z1HYmz%ZMtp^qiJwn1mD>kk~kcUa`YC*JLM1iNPvhi1wI$#~9m)5*tyEfR-5_d3h;) z&SqZ8d|)pFIM&uhGt=bYQ8h+quliBe+4`J)02i7I6R7SZCS7vd)iRz#Ro$dDz&X;3 zJmh&56l1Uol`9x3=fUt8^tDLQ^AMjW^Aa!Fbd9hdNEpe*|45EAr_w&Lu?1SASVnV>9daT<`a9*< zm|vL_2QBP)GfT`hgU-g+`@o%cIrk@u*lmfDz$F}QtFY)4J447K1Fseq@W}>z z;T3MU$-OH8Z%W$vq}E$=ep@o#9HZvf=srp_VR1DWVYXdXf9ZUi#+lc%Sz5~58OQ)- z3U;1PZC>Y&;MH7hL0N5JF2xzrXa#G^#W%nM9bhW#x=!eQUN@ev`^rvxQ!t}eYrZoF z}oaW$gmvkE+(pQ=v#JqkUzkMWTf_EzA#5@g&*67kbfk_NsXrVBjV8o8$9Ia zY$F3#edN~)W1QOHF5}J)-=tIcdFqtrS?WZLQ@Uh2hsIlEt?6yNwf?kxWN6`Q;HSmZ zU(yF<31}8CE0|fCvaoGA7v!{^Ndm%|?6#D`$#;?D#JNlKOY4F?vzh*!4`XPyQ78Jeb6QbSl<2KdC{_v7 zLs2PeHcCOfME=X9!|%cq#}6lv@On&964o$XeLFdnqqFuN8<}}k!Yf2J=r1)S`nxPPKbbP9a#~<$w2Y*0Epz ztTtA=cAR_Q9&Y${`0|-*8&wj8OYdr~Aeni@lazu*%BG4RtVcjsVgV~hD~ry#3|ydN zS!jn~yN6oxF?Lbj=1kyz@fLo1tOu2;*a7V*KFZFk%v!pHx{Quaxr8d&L)pGr(McRf1v*!rDK*%z0(E--vFEN>cf`*?4iFlPV z2BIQ>07nb-w+(`2G|YZ8OY15v!r`EShV1*vsA3#Ml5TO*6FdnpNVj=j(L+hqc+#0KRP|%zTv-64W*krRRYY>psryq^ZXVUMXDg zXh6@GT8dV3RJ_6@4rokANgr-t#`dYiG!NLQ=elct7s56B**>UW+zhS(G!GCzYEM{o z_!M-pL)F>yXh74O8y-Ryprh&^j~q)N8ry-9mjNd>U@K84{^g*j9No&ePdn1lUDF|h ztkGRtjK~CdaR-hucP_UL!4mlT%^l4>B90Hdje7;-bdK>%N~i&wo&zvCryKai@m%<- zvUMISR{xF`P;d(2kOLk$=yEJo4sMzqLiQOIH|ubk+YKJ^ zY}!=&T#A(payyI}V>*mHg_iY~^uX8+XN<L*5@6hS;yaevCvrq6#k;q$XD*iI$Ea>EPUFs6a8R0X+3KEX1we> zbi%VWuitX=xK5s-(!}2oI7l*Vp0rxXx)TG`$oKQkI%KmNP2@5P#uE+*X80Jxv`4IXlb!GN z<7T|9dCi7696De(!z+7i;dX~p7t29Fq@B7I-32!O(0#0pWOl=bUrHcTimNP&%H{Zc z3?(A2HmZSPhimvn=S&7n95TUd#g=uwFd%5a0bMGqWCPg+A8j-vFAPUoivFDet9R+- zp)F62T0dFO;2I75WT{XZstg34ka3BzXVWAhu{S~@ZWAc7aF8~0f}NB$Us@KV`~585 zY2|Hx1aG!-br#TuO#(nN9u*ML#||`UAe_ofuTAqR^NH^`&PO|-D&s*aVa;3QLe>%5UIg&A4+y!W2_$9H|}H;>o+#B0lG*4U7_ zBX3%v_2FH1fZ-5hmp9<`bD#R8@vh(hP;C%b?#;2Q>s>g3wc#V2;-~;eWVJlQGFdy# z@9b4(ybyS)jxu}jG>m}#arfPKj1$-1xG*gl#dg_LU}*>IytC5au{T~nK7RK-&&Z;yYD%(u>*tuY(eyk-- zy@V*w6CMX#NrUv~H z;TRX*n&zdeFEWs+ccOc^rrY{f^R~0owxQ6cc0U&#@+>z_bGDfJAAK4NqH+4rtkKTD zv7}Ae&|kIL<=Z;58hj^;UI7>fzI|^BLSxZY0jcjT|PItj2E5JVm~k z^RaZ$a*Z(95pR44_rxCUjZQGpX0**5XVd-bSy8G3KdZx=X31Z8P63JO82NqblQ=rk znIa@`zryA=!m|=2^RH#W;PhL~yGz!Vy00G09#6q#boNFv&55xAJ80WZr1r@^2|w<6}YKR>IQ) z;_1lG5wCeajFD>?1Fl*BwSTwpH1|7#t}z~39?_=dq-njpmx=(~>x!0)!SIB)dwh7` zByXMv{V5NecNN1F-NSLLGQnE02X=mVs(NOKQj(`DSCqKsL zh7kmq>OyCRFkCwX%6Q9)RLQm#I>wF(lEijayx`KBMIv83W~P;c9==OP*%?R@d{M@H z-FT`tmqT&vti)j!r^+c@85H9+F0Bybd=c$oLc(rXF@BJo4tTOMGTtq)99fxD9*|Y+i5GAJUYA$mJ+v7k zeBq0AopSTHl{ZnAF^7h$qi>o6C&Uk}E8_`#VtBLjFnlQ;lP5fC!y+Av(2l?PMOifQ zlL9f4S-q>^i%R;ZG9?M^NJG9*+OC~;MO*QmCoEnP4b`@cZcTRP1uN>FYkA*UwkR{U zpmq|Jh%p{sj&no(8)paa^f4mZV}NC)blP$Lu#AAq)G=^sq^vbQfk}PEa%N<9{Tn9W zvUwC?A-_~R%xdn8d(NI4CwBM8=?8@zj=D3;A8Q zS2vD~Qzv%DUhU2e2N%0LU99qP1eGq;I1XRlBOP`t!@X0RpPZ?)(RS;&Eu30@^P_JV zfBeTEcQwS+?*!^$K7a^o&UeeB{op&_KA!S<&mPy7PkVXyM4fQ;>l;`uf{QXCJvo=ob&{nq+QAdjk5p%AOJ~3K~$m7&*q!qvb`00a3($+v$#Qyigqi~*eA@c5^_GC87_@vVE1e}}%E)7^bMC7#%}baQNA(G+-gRY&Vb2iT~;Q6dfJ6!Wn@vOlogNIQw+L%RTuvmF=il5Rff5&~k} z$ADSof-kt1x*EqKuKl7BHXze}2Pjpk$|1CGUD+`$JJHNqThD^ADd%J@;X~R@IP34E zhg1X)PpiMMJGuE8+JnBpH4fH#obSU42W%R%v^-kXafH(C5-@G%R^PFcda--zA%Zuq zRcE1wv)c6)4sduaLD|lT8}`~b&CYxG zm!rGTd$gp_6R)3i+<{L9?O@ykaf|c0zzlq=^xF8(d_-DcM|Pb*u57H297_-wuaJ&) zALeXtC_LxLHU@j{&aU3({WvIWOVq}gh&L%R&$+or&YI(Hr^c^l9I+38JK#EwQa|?4 zc6f|hk3Y7#@W4;EVVv6z?#;$pv&WOcyW%yypUx-EB%p?cc9(HS8b;vk*azPf1h-B5 z%r-`R3QnVVH)HVc1UGP*r7p|;6)&x~JPyEx$J@>i%;qcJ^S|ERdb!qm-|xj0L1!w9^n;QF1X9kIH!q!WoV;X1k16O3Xztf&<${gKbJs3+98cB zW6jrwVLLI^lecut9FynR(9ug<6?j=>t#NOB5|^RN0w?jJr8JU%<0AYQIZ1oXLw3OJ ze~3@LCO7- zs%1Caax`=*!&=PSfXCfO~WM-<`@PdoTB}aWh@3}q7)1vrc&C}ld3G7iWy>`$AUsf6A1pus8Q7A6ljaiX=j zN`?p`@~B^BI8FP&!HAn+qwz_lY+jAi&g;u(Q8u_9T<8hWu%9RWqHOG7*w`h1MG+8B zp4^mXo&wWdXQDEFOs9EfeBPNbbR`1YFpWVc8q@B=-H~N%$jJzWaW4miOEX9VMeS6U z4QEw`Ob4{=q_B*exKNf*n+u`+jA8PdbbEpx!co&dil5}%92Zd(h3@ewYo=_L%H1K) zk!{ge4*I6vnSrJ`FEE4aG0^z}Uo4Z2s#_*)8Tg~)2GmKe$y(%dY-Ts=jOz2_-~RNE zjW7H9zg|oFq;Y0>_sV58T4sciEfk${_dUP;@5c+j@~g)me{wmEep-!Hj$TtzoyU&o z?74Y_byeISA3yT)myMTx@82V~4(eE~omz^pewrsXu13jK-m)D0CqC{m7mEN8)_4!$l9#2@XesBd5!dt zLnZwSoNdV?dD^m&3~ls1>5F@E2D!fj+TsrA+8Q3$>2r|31#haHdaj_X7)I+oZpNAQ zVZj4<6Hi9pP&Yl4$MZPlm%0ZsXV}bttA3l+F=%fw8cCQCcH#%}xq~dM$L@(x^kknH zy2hDGl=aN)!w5ogy763$XRT|AX=k@%q;=H*F&Y_zNTPkgn>F8>OQ+n;>L2NJIMs?< z%=uvr)YDmR;|ux#jwQ~TuYgp+$z9QVtzV7UPEVY2LPK2_&7L{h^Z8Oj$!E#1(t9bl zmO$X2op&Ki2}Q6Y&-ZR`mWWa)6C|R_bz$?(d$~)`*sZV7nil5kKJK6}wVP6Qf zw-M+yJFpeXmBvd)URx;9gbBaEzeJ5z%ohpS^9qh9hN-p8}f-~$enx}zPGx7U63C%WKR zHI{QPWyU(H3`RYkNd|SbSN)xGsdiMo;@@~L^H0jV*_PkqSmu}&un_H4NeXy0)?UkQ zerh`-$V~rhpN3z!09^WGrD$CGUU-@6f6|EXF$fXe64>CJWt@3_p0nQLw*9I$HD5G5 zrcGBnaO`e3u*MYx46aw+A&n$Mz3)WJvSq-PAL1p9Nw%!;?y3TJ+w(vh7t%>h zzwjVwzu>Tg6p=abg7n=SOP)7vN#?a0!sG6DBvUOb+kp^_g;{@(KLPR8Sivo1k7h*z0|6WSmRjRYJ|e;GxG?h;047n1layJ6L4tG&ZOTBx*-$n{AQ9n#@f|DF82J{C z&Y%G#j?GA-@t_EKCUhM~Q|)&IL(l6yP1GzitJ zV_WaBY!A=c3Cz05-oTHz7CvcQ(x6-fsf9@6TX`skdAAwZX>5XaXttasZaQX#&Lss1 zCb%S?UM0-;(7_7DS>qTf)8G*8q!gWz1^$`+a1f$?tIS{PSCiRL(88?i@tR>RS9V0` z@K|AcEYxKllS-=PScR^FQ_gn+Jxx#ZUa(BjVOz;S;*N1oL`d<5kF%VCNU}VJ=OlZ8 z70=HAR4OmzyjXtij4^|VYnA~m0Z{8P>?8A&-qT5o(WWENAUV`-#n%ZaAjTf)*5S$zMNeim$hGc2<+_5v5j%($3HUu z!4JM_{MxVor}6PmezY>_r|XC^jVYh&sucY5pZT=$(!cSN@r8f+Mb%EN#V-6@EQfV> zXVdAUh={K7X7nzy9!%TCPw#;dA{d9bwUmdJ6wF zJ=uKXNP3qa3fz494ncv*60)KLL zbxB4#c^mIDGaB8G2OI?C(=%wO;DCZDoJ*{iBoEk+9y}!h2+vXXF_2;`)3BKvd&$wq zv5%GAMqkd}Xg`WjCVF6zCGcXZeb}+)tGur_J?;hf&=otJ_aM94pbz6w_T4lzuE3!z z%WnA;K%kuTg8_6PLxF9y19*K8EQ0IS?~_mD*r6@a#d92f2VOYFh^-b}s<_dpbh3cn z>A5oVBd*ujRH7|jWFOYo?3FrGR3okN3=MYc?P}{{@kDJ|VU2=!pnoezTkY;LyPSzE zM8f-qi+UKYlXJ@J1ey}d>N>lG6NZchPPQ>4n+iORKH^wnOyW;Y1HcX1ijGga{;i-& z=lJWna>UU?%Eg^Yr>TQB)3@bWQW|awW6Lpx!`e>19Z0PQ#~Xr~u#r!tw;3d;XRre` z9NZk2)@9>(4uOb*g(}Uu+JxY5Io@`D7pFtnLOXoHxn-jrJ-5kC#llB%F!=1^z!UB` zJb*=WmHvV*buXpmhZHG;1zE249a3{1Ev()Swb0+ z{@}gfjB_jCLi=`NajnZ-!S8uKZFu~I&+nl<^9g%NFo5G(`djq@@hlu=L%r}s8zv32 z+hKo^E5jSSFjxVagO9*Nz!$ztE^%@NkGHaZox7VyX)I%DIW_LlW;VHt6P5~z-ux~! zLK%ACFx*m`SElI(ALc>Jb7*qKXYj0}>YP-o&p6b?ZTbuUWSpj3;7JBL{KmG-7i_~Y z+0N5A0;dU-b;{v;UIy;nj+nwQIdHb2^UU|8rIjklYnbhDYD|kPun+uG&{3c8=h8R% zJ>vjq;A^)Nd9Z%NbG^ABdBuDbUk~kAmx;$*p~7~m-C71mCzxX~NE?65@5Hm)-oR6E z6@GS54G*`!>0kw5VOPRmPAxd}xGFWDrGgd3=@#q9~zHBck^%qW!svkB>63F~Z2d87l@$HkO&|%WW8h zsoH6eLm^^jhw=E!U`;|ej9g+(a`Un<2c{IjG&%9ZW7 zq_m@Kz%`90kJk-wNWevX>A(sDAHo@VqMBpolLoheS(Sa= z!3+dn$j6&wl~Hdz(6}(HWELrfmK*X3U`^?y$I69?A3pNeCOYO`8dFN@{GXQVQUb@ zIQ*~g<@bJV$i{cd*+d9 zuC&>xHZl|r0&(mSWa`?`$Gqukm=5USaq_=(Jo(7e&qgH>4Q$ZSu=U^}7b)qU^0ta~ zO1l-LTKJm{Ca4sLW0}0kzq8HklujA5Q^`sX%ew-P;zd-@70%HjQo#|{R+i(G2z;(tO#n!ZO zyO#e>@DPs}L$ZnfO`Ikm5xN=%@||HKUJP%(2hWzJcC=O;X6%cdPS80{>CFvY(XVXgS(*|AR-N+=4gCFro<|vHsa*kdiFBsQx zf;k?&n>CsVE(m1vEOG3OTdZLyGrHDf2{Blb(RfiYbgseBl4niSNn^gGtEhnVgNw zY%%dC4VKCQX|yO9?QTEk4=X7=Pnn4P3hs?l0{{zP3eiDh>K66a`y7B)aSkFU9HVJx znaMsC%HZLBnaf!RjJN{zijTg_5*F?SL0IaZmUvf`^jxXNljA<5r7!G{bNAmnj-5PZ zLk%0HsdG8W8&*V(8{23=h|5(f!a);AFIK5H&i|$n2RQ0_A$*4px!me~WYsBLwL-a^ ztb{R50NTb7m}|2G_#*_HrYg zHJy#P)P72q=h|HHACIWA(ILGneGjY>66)51lcaIL#Wc;@?Kns4o(`fmbeDP8I$F-S zCNQ32geBWXL03N1mu#>`I1&g5U&)J~{E6quaKeSgWq9GpQ?A9^{7RjqiC95GIXPrg zQdal%UOmTPqMzUB!x>WIOLJL*f^BqwTOofOBidpo?gIgCOPX139-U_1<$PiKdhXB| z9B`x#wM^2`);yS?8EAqzS^Fq>gR{sR|3cqd54&B;Dfz;s*O4RWPy{!Yb-LlJ1I}rX zd+dy^3M&ThJfG7SPJcGM==Rq4BlWzNB4agnv*go4gCEH>59C>T)MZtf^v?;XVvf3^en zpvtNhm6~g9HLjh*{UV00Esk{c2d5iE(HYxvY~&mzC#Z7qtov1&=DOt2x&ZC+J=kSF z_6KcMuw<@zwe!k3FM3jA?YS!L*a2V(z4=+5M>cl@y!dBIw}I`p;#jPz*EF2{x$D4^ z;6mD>aVcJDXSCX5c8u2zc67zU57V27JfbPIv)J^pslpE&oA)(Y`z*MX*%qIx8!#yx zj{43D0nu-k(Z>$=7}y4$%~AujKy7B;0bZiC<7jjMOS--{pdTNsJq)Tkh(86t}5A$lv2!AiZvBovv_IP@p0hq?q z`W%O4dkLrsFRX!+*1N0DF+NP6WpgzQ(g??kJpb21Pwd$EV1`iZkt85SNWPILj0u}YzKuXDA7=1;+?D!Xlomij-$6zkK04xNtS$)_(wNPr zQ4ofh#3Y;>NSBkMjYn)Ow-9Dr%ij=#6Smhgw@^xnk$+$S0WU@;G7qREVq$>X*!$V) zn?VfYn8L;}BnN37O`{&LDzhg?NsfOuCsHFC4?az+C`P|yb|D?-4!AbZIDrFxDUM{J z=&-o-QFNAaR++!ES{^Ky0|ZYPAI4+B;RZl_eljf$Y%_e;R05A#m#QacpELw*>TGPR z7kCrAaU0p7jP^Ml!x{?c4g66#V5m|?0!s$_M!!U;C(<>l2{@vFQvR0ySDNBED{Ruw zPIL1jVYdt!pMBJsvq-CKE-VTTaC>$@%@&?TUtgU764*SNKlwARu~KWvt%3#MeA zW0)sHibhmYk1U&bR&ynU05Sl6w%#$E+$4&|tCTg@bpoDN!f}cq!H;Gah~8b>m~7xRcprsX!YN%?nrf zQeF^tu$Jzv?~v0f1&14$Heg6!-l;5g5gQIRcBmI?lp~ILr{4Fp%f8=4U&C=!*I&b1lo_F;DwM2(*ng?=_cbnT9w>`&(cWIKkT| z8gQ?Ur*?hy0ZTtjaaP0R5Qt zdKOuIw1j8vfTB$o&+r9YKVv6K451A49`P0DR!4!sjY6-&x8S8C z?eQ_2O}uMedkp9t>BY6+)i%o06{QbNt<3w`%*ssq)qgL@8Aj1I>CoF;MXz4 z@MnL1uk}j(1_NT4>%1vt(3{{TIi`9u|&Y;acAMlBc|EfOYj+dTmSMAW_`t1YZkqO zBAyG|p<8_);2HedHZ9r+KK;F&G~;Kne9|K``w6M8;!n=xgafZz6E;D{VVUIBl@06HglgEn$>n{n^C zN^rT|1OqVkEWt1j%ZJ_EurWHKs{n$B(B8VG&l}&6JC7@4Ay3$OC*2*Oi@w?B=NfY_ zt3eGA$69kW)_5!X45WfEW^^+bC(8&si5x+(aL_5#1eN1t+UTd^1mD?M2ktPrau7B$ z@LmBc!^myoo$yN#+81cE%K0H&f;Y}*lwC3v*r-hz3XBco!~`#=LyoBpdBda)!Zg`N z_(^jbXcHH@1~|b)an3Y8UMIcmD08Aw7KDZhOV|L%EU(K(JzeHy;p(!^;KvzOnQGp2 ztZ|@Wrqn;ivdX}nU8M1vi9iOa3`S`z(ZTp4lSRmt{b&0$-el;2U*rtC4db^cB5RCp|Rwj5}E~@}TJ&M|mUT z3S5~+0fRgDGg8~EH+c{*(^I!{e8_PXo;+p#i9cGNj0nIDe6k!13Ql~YY?K2uc-P}y zOLbX_-cGEPGEkAKRq{Y&fHJpCZorT68ot(g(=zm#UJSC8;S&C*f~8zL$Pk?KY-aEb zWgbe>&N}%etQEe=L^pYb^fA1|7s`{(3+U>=PPu?{<}JF2@XjnHb;QCW;xF?%u4C+2 z+K=nz8|*Aj8gT6yo;g`J%eb#ycJDv)zpm{A{cZmsNrD(6Kq&pXH;YmXL)X<46DT-y1Lc?_W_TYabbV*YAz}yH1bYYs=x@ ze?-xw`ao})_&Ip#zBs(Bd;uTW*omIj=*&NOO*c$y=@%R~rjUZPRd$H(^}@und24Dvpc)<^kTeBn0HmzP~+&QV!7o{{dNwt`cQW5kwHMmX$TH!kQ%f7lVSBCPlOm?~VY{3U6*!rn(kmE}}BzP-L^n`D4Z!4zmq+W$VSyyDV+5?`qz% z=D&0rgkNQ;wV9eWEA!}Vn97+JKEdmNg}a^C-`-(dXy>(dyqa0GRulXs2Lm{kYd@Vd zJirkf{$SYfQpTeb;FPPKxdS+4U@?@duX!f<akl(y zbPXptz!|*3naX%UQzyEF!Eg?L@sqJ7s~CJ!tyu=>d>iK2;+_ME&xSXBWX$!~`faX( z2fVnBp#eU_VOvYTUD3dCNWbc%fJ=6UJMv2a03ZNKL_t))-`J2&3}Al7qrqMDTgF>| zZM%7zw;ow=5m?xs16}U_Vfn;*kB^aV4f4`{;4`mLZ$PQoZfPFFyUuR6e!(@om!tvO zN+$`(LEh@UuENPXl0%`$G@-19-xEnNZ4lIiS-?F5OrxI9&_w9B$P0Pb{IZtsTOYV{ z1MK%U_{MnSc!7@vhtZ#FFrX(u=^M$XWdZV6*LsObn)19et3Cq%B$vjJUE@8T$jH>Z z^}-^X_`c4MoD)s!_HB&&#z$yl-NE<$9&S-D*Uq=xj{xm2_flmLybu?D$MzL;oJ!5t zPu=XZY`lN}# z&cc|#`3?=5Fo*;i5&vW^5217&5r4FW$%_V7ySaQmlSrI;uG>bFd{%~8#yyWikwKOT zE{27SL6@x716n68M-SNt_G~z!bUXM#2OrOAfXd{UxLvwp!;6n3%OYt>U?C;fXhS4W zARq>t0tDP@U6~NH1xJ)^%!z>vvN)i@cf(JE*JYN;l*HH~&Dl9QP=N>W6^&5z#p~!h zDnMB(Isp_0jHH|d@E{^(#oSqQ9hwX8=%@@+Pf&8W%}>=rN~06}3ICE^F@a$m7Sd^C zFIgK7#dIKzG_Gt=M?Q`Ptxcz^Dh001?-rE%YV7sh|_*|&~&y!ZWl?w|$~!_JQG!c4HvtOl>459c5Ak?`sd^j#(%j3;yNv@km0)lMgm zq7>exFP6#E6Ru#xfX(-Qj%cA1B;LR#T3QDz=SowUjXY-8(T0LY(t+U9S;kA%2N2Ak z(gmUqzq5Zkf_9|2d6_)+m5fA)77gflJ36}wNU?GYV^*ML!$63hfxf0(pnJKGYSZ$) z=qp_BdI$$FFn;P48tAGn0$!NC?Rh$muEv=5)syJJY-@c7fBON!6xk+Be!lRN00VSD z%I>wc9uHbScuqHJMJMC@py*V)AaIWbIm=*NI1<{`oa@m`mtiuYV`?LGJyTl{tGXu1 z0pSnaj%$EFE;%iYc9gf*NE0)ekF58}ad5_IM;MugAS;eFbS3*y3Gv+8(fwn*)i>5sYtqnewrvIJga4PkcLCNsx$49IckZ1#v$HdIW>zcoSdAn=;*EHS5-0%`HnMri zfE@>c0Xt3{hZKcF+2vGHo%@){`Mu7+zdN%+u?)-L{-oLaeg8-I>C>lA_wSt3r^DN!{EjF{{~5q_ zzgu>l%y!igZcl?t@vXg+QtoO;*2%47K!@iM_G|hX&kj0>e1N>CPeS+b&e*4s6Y3AV zygDC6ZRW6n7csu{{N{GCT+^5YXc@zKWc-`8pJlG)mIjkmr%9$mAF6r+-g>Xcy~ z+Ax5m-(yf4#G&W&Pw-pcqM+GoQc`9b|?I?~qkWn`_5OqLVsn_4^Y9B&Hm&_K2d z*W6K=q&5V=9RU8=F(Z$#7B*{gnb>sGxt23@K)j_HJS~K_1bXqMbFA&5Gb3}Js8DYJ zC1hS+`4Mz-uX6(-wJX`9v!F_QlY}Z^ckL}lo5Gjyn~S!!E_u_f2n?`!1Q!9_N#R6? z1$0Wt^6Dy3R&Y@|oSFqXm?RGGunhH6_8fM(=4T)C;;>E13J0Pr_*yTTKJdol1z*|_ zLV*{rH6g0q++zmbvX8tljF(^(Le%L&6`jHIDSh^O0rbKW4I>a^dx}BfZoQ zF}_GH*JOCT4)LNn>n(viwi*jX%Evm0_%#F3i)#htVgZeXx51xfLbBn0>;=%EJX+~# z9H@LL=#5462^v<*rxyF5SDx#2q8$@C2}Fn%L>H(y7=X%K7SFYn7`vl|js>$%NniK3 z^#I1UWsJIm1{wh+VvQajk}W<9@C-R&v<3Fk%5$!^XP#WWJE|Ln%R^!AapBH)qHFLj z<=^#N&QPC@s#@DG4_|T%3^HOmI5t}#B|Ge2%3>xn@m?SQ#qg=Ky+2WQo{Q(tF7Np5 zw=VZT>vd)?P%wYxT z3JKi;Xhog7HAe7!?NNE@zyIRpmtOzYdj7Don3rX?ydoG+J=UoMGrl!BN**)5)lM2) zp;O71Vg4p7B)@!)Iw3}o7)Kx{nO8h{Q|M$6P1rJ%k45iL24jGgXHG_e^sDJ4?X0+U zSdNQR2y>P*YPS|<0QcxP(ZqhwEzVh%SI}ng2)@KKs;C)c2p2D?ds{BpHPUgshyQpy z4bNpOjf~CWbzcMU64O}^#sMV>#yap3#$$V?*Qh46M||k$0ed7#3dfn{o^{2ut+|?e z&^=zgG1|OR8#>G!U5x@GH&reo8Bsa-L9&OwpiFY!1927kP#*Sdlj^?dK`kSO7$>8O z`aC3&3&Hl zDW_mU-QxmPh8_FJS+k-(0-m5M>`nK4#X3t>93ea&g~b3Cor49wx6?#VGNhfx1N|>v zdF;1_cQu9xg85;Q%>-_i|9GDOc$rL&eWt$X@Xq?FGpV(nK^y5&C(j)cyQ(d5yZT@} zLtBMNt z*BCZBwkc~4kFRxtlFYHwESut=E6F0f>ogAsy|j9dbzE8>$wfYbKlPWqQMnso;nq1T z;PXD+js5_i-KXTaf$pgD-9PIbkatk8qXtZmfRpzMJnuSW zl%p;i4J}@`QofThe(1a2_A!EP_Pcq}a_Mo*%i*EN1}E4-4k#1q3(5*Y(#sK|6#ZDAs*Kn$gi&#h_3=VL^@ngPTn{{vrUvAk z-}Yj9^3b@c3E6wUsRMma{0N}1M{PquUAC2f65({1I2nev$x@?F7DoETIy^C~`x!Op5M z_!x!WfEG<6uyEN}5_oae-eO$CBFmm4Eflq2R`{eANIDBVeXLB=^z2jMs|-`NN_G<#2I`HV^Y0`kON6{$ZVKm~!R;d94Pe zV!mosEg}^*DSm68A?S4ZR+>HUabb@4PAKbffz5lK#5fkh47}*c$la=tZeJr0bd+8e zd!1-63qbIaeIZ_QQO|2qYU3VM#SozX)OT7GE7UP^l>|q6SrZd@7Vi#E;Trg!kWwv- zEd$|Ky-di+G9*h~Ch3dUQF5Q?k^qX--BC5}B1{&&PQ=2I#F`JTTgDxUsg{kA31%mh}Dq*2?edW!!3mt&{wuZ}}Uc#2v3M1B}Kxm!Zw~C^$Fd7)kY4=B$n~!6k#>HVR>J{(FNdv4SUi{$zfu!oh5-6l%xx) z)H*aqf>l?homxm~9u_aMN4GuB<|Tk{e8-?uQE}2M0N$q|Yc$wu6Exbz;BJCt$XPu{ z9--%uZZJnVf_TfB^#j91eT}2r^Bi3S)Gr$IaWl|+UiDxfIq!PR5g4}@M0KoQa~;8@ zdR&tAGi9>c2H;M>9uGgCRJ%xv#}5qyG%O$j1c|iNXZ!WH;&%8wN1<^h1uw~m2pbt+ z-gJAX>K8JqD|}xP<jb>FXR1g>?Td%&w8?&mgjyG8o}7qtjm-^_Ta-H`Ek z?oejYt7FRWOe9nM(R*rh1JM8pD#`Sr-|aGnc~w1N51c)zRkl2;0|>|@uW8kNxB=w1(rcC`UK8|M0Wh{=yp9@Xp>n3@*0+r&wU4P~ErJ~VcsLzl^N z{hi9&^n{NA87%5GAmJz@Y{-T`7PUO>l+nLQH@8JP>h-bnV_YZX|u4C-x9UmRo@|Zzx zxf!=zaBM+-v$q>BRe9W^6xz~{9wS+glSkrzdA!d%tNB1E7f@3DDpp>g>}`-2)Qo5= zN|b}7tdn}RB`IJr@2S!9xM7j!uscqcB6wY75BKR!bQbO*YGfaUqrlFVa8wi^U;$!bOg_lSEhYBCmX7pRggR0Dd7cX@RDWVII_~l0 zcaL8#lG$0TQ2mDbxp4G#DnH#DLsHSqc%8=xh0sdlgaKy;u;wYe>5zGrDvQ5pv}cYo zXx_U6bu`R6kON4yDEIz#FGwi$lppa8@`23iF!8bZ1pa831;z`TO!lPHAX^J)T(As~ z7ar76k}S&_+U;J!iWd2(nAc*k@B%7xH~LZr2TyDq15zT{6-RH@7 z5br3LzTN`ji6sV;h$VC!7tqe`Z`tWg!@UR3iN7)ldy#YN7)#A-Ay}G+^G-?FK`H7w!VC57$f`CrTT+Y+=1IN=Nu#%0YKhUDq3DdFUa+>wswkY--;+T-VDwE;TO zdPduW)`Wwar=(LifSSQoA{e-f7IPIs_3MAD!B46wbEDQVF+@de=^bs2(KUqgA6L5= z8A&~1(s9h2w>XUkM7G~ytC>?|NGUlmg;kCwf>SX`M z8Q%b~`0a&r^mMk6bh1qAAR2P0Kcow!vqhigJ=5w16vh{|AB`8%)sU}sj#7WCZw1`(e#W4-4n7=^ek#KziGZyE%!rPpNm)4SCCT=Yn8IIrSoy?@hzS@cn6 zON>0JWawIrfpQ`qJAUaNT{`ICRXXmTwT1ItCt+*2v93ILb*Vcw~&x0RYeER(X#y;oNZ2&}JEoktoHFyzf2q zmYL|T=!VGi#`r@!JQg~l1ZxiWcjOv449V3rC^YybGhUdr#UP!qDu{LO>>66$0^3tS zS`=nW35;GV&yyW?$A!bNkRKNq5dMJ5PE19mwVvq<;Gu<>`i;5-?ZO0Td0N5I`fS4L z*0A3&%U}dDU}2%Bh#7D*HCsrALEU=?4fc{Xe9Y3#wt0eV1=;EHy#OQ_l3*$+k=w+D zrD)s;^96sKhgjIH^VtZp<$*_8;0?;rf=M1LPcB$YaT1f2z4aaF;9x;UT=y}I9S|r3 zVu4wIT8=WXP_OT!EG+c!+ikn$Fg?AkHY!|M@2u)mUVDaLGJ|8UH$)#6jCdVj#RCxu zr=%kV8j@r$3R&`EdB-2~+=AqrQt}kN0nGI?o=DTR>$_2&gJEeEQbmif%(NqeUVR$6 z;+^gUMBtA>BfZyD;PLFOGSfN&{N^@~czx9eJ;{Qn=E1lXV@>8{4<_YB@AV?ubgJz# z^w2ZL=QKeu^xJ(KK-CK&c9{8#XM4=Ydv6`&Nh=Hf)$KhhZHPA&-}Cb2zy1e5xSYTD zGFQo{@2JAhu}53pxbk{3ySYqeOunWN1X@rJpzIE-eB#C0=1^mRz-AE9M<4yz^0)rR z-&}t7)vsP2tuw~)Ils5J96Wxo+=JX7){pdfQ|b+loh_Y)nO5sIu)1Hf?WRv6@I0a4 z$i}Y0l(V<9kE{V*WW!^4V;s=XC7D+A0Te9wTw{Y4W%QF}K6;6Ai9VISl8%K(6F?du zUb0A;#QX<#;u7UNhC0!!+!g}#ZK(8Qs!(^yZ~9(9PveC5NXr^ULtRtPBkMjR1*oqu zF3|_8F5;S@0SFcg%D@_Lv-FmlPw#iUM&m-Cx(oZpZ-{T6w*!#ZIo2Q;G?8{Kk`e(n z8uqMqNJ|8Q?HofK(M9YMg(G7pMU2ien5_#ub%l%&S}@An0=i4eL!F?*%$RTZ0kFGHU}}(Ay;wJH;Kz~>(}VgFUiIsB z|Exi#@*S+tW^aD-+Q=9nRtd0|->bkVJl1GOfH;$>6>c$&ZKOs~?ShwCf!KS7;&>J~A~nRNj`ppsxa(GaGc z{Kb1|zZn~T^iR`mJ~YT2!R-j5$6_`Bns21PD9Vvh)53lL%{f*KBo2IJgo4K*WQ}D+ zdAKdqMbR}QFmm4wdPo$xe6Aq|z{#i%+=CpTk1QK`C%PwKlKm(h%PRQ%@NNM7ILQv< zaAlk4D)2P*Mw7Hb0_CPXHZ--i5&s&bM3-#zv-C(C6*%6~7akj9U1QlK6m`126c3e` zV*?ejl75K1niu0(YcIKFtlR6hr*GQ$5F@d59m*QFkPQ6NxQ}dr))TVU#);5nIcP)L zXn;sxx{T4tlrhNuM_KMa>vR6eT*dZyoNmzO_D1hnkE;LOALB60{ZSWW?Ly$KTKR9C zcXUmOwoEL4Bc!YVrv*A*)>ZiQUKSlKs1c|LLw77DiG*OQ9!}OA91*V6kKYoY>=6~% z!=!IZeL`k^jgODu$O{!&7O}X=qEBFx$*VZY>An_NTD&P4jV4IcDG#b?#plV=g&qw)ZqLe^Qem*c)3lAc)0#^kMqP(B7yY#S6(3@D8SQ`2i z;hhQj#Z&bT#HzM(u=S#?wd ziH)ZbV7-}S!weS8Sh(Yv)S)FWJ@5nw)~Oy80t1^IT+el0`$+uDo_&u6jy3~8EQafu z7^RwK^jmq_$Y1Vta_IHpwdLbl9ZOG_ntXFW|I*LFC-x--8(4Vmdde*HQo@YE3W4LbJ$Ath27B30n%{%eO z`j+L#yDz<^Xdf>~&?f5vjg8@x&bPrWb2p6-<5cT5K+p2{KJraEoL=qvu36G^lItU{ zGv>PQ(zj@o=1>_7k>O8Uu-0usk_F9G)??%~nyE3*-XEiEqVub48A-4ZlV0F)UU+3( zOv7McLp`X+@mxua%6W$KO+wBsE2ewZNLHBOL)EE-iq;oox7H4wz}20Q-+hWUj0a5{ z<8xe&=6fD(#?W%L0jHse?~qY=@UxWGpl%PiCQa&pfM)<^hSf(DXxu`7fM4L}3K~K8 z*(!U#p6|qM2BkWm+3O?s;XykeEPr*M9&+~oklh?V34W0|T$JRz?*Llu4R-ePfZWg- z4|%;WU~A8k+qwcA)y;7B$Oh^vdIRj+D?Wz2^4ZXB!A_#Dp-)$DTj&o{@$NA1yZy;I zB!L!B+S{Lr*ZsTB??ai?#nPAkVVj2m+c#|BVo%%jL0yY#SN)-~EW?8_fyJb+>m5ct za7-b>Acm31e&$@a*#;tc{L)VR&GSQ>((cSZxz);QR7U9+l;dNfNMnJ1Y)=4fMWeu* zal;^gZT#r|(AeyLV1M}2YYxwgk-hLMz!L9|av4n+SwwMOhxXzsyp6$u3pMk*jWL?v zdyjPJqEXGduW8MAOP`HA_d@}#)<>i%6KJ*yP`*q{>WHkR-f>(ong#Tjk3IfQ)Zh9) zavM1~(YGWueV}`NEL!LYFQd!D-*L?L{0DxZJ)sW|+v|)qTHi}MaLx61f8;sS+ViHL z>u~`+I`D4{l_#%G`6ygetB%!Z{RmcDq6pb)G8 zIJhh{To{ZCUMmE58o{+2sfiy88GEy-c#-jSUFfuYa3P>+toQlWyGqs)YgvR-*X2c& zrz2s@{jM39(BWQyqI?QL+GC!?V8Hr|pB$uk#(=bH(9t&@;9j_>-!*A6gwhI(>@feb zP*W9IxMt4qq6P~<^!orN8W^t4<^m|XZtdoEVU)(+~-UAaesk6k1v9%dak1->PA2~d6@aJ}QwFX1+x0QB_|=vZjT))J&i9dG!@n!P{Lg&m^3C7)jmwL_;zi5T@4s)k|CtXg_gpx)Z10|3_V=$XH}-EV zA9(lsmXAI1vE?1_eb4fyUwgyy%dh{}_5Fh?%dwZ|D!S_Y*-Q2O$Cu;n^JV<2B?yi` z+d&3%5F)w*Mw5d>#zT9DSs;+3!$H6zg0oc~GHKJGL$D2|T2HZjd;kEQ2#n*&kq&;A zfQw=6DQF7-)4%KZk&fwT5I&W$B!C)uWi^?%C=X(7 z8wXK7^~|^=E>HiOT%+zGJYM0>JT-&U6!bEQb9*G4?ak(oG8~pNli}Vpam$mL>CkHy zk@k-vYo6@JoGPiKPZe<6lSD6z%~ck}??i!&25=pzskZAQP|fiUl6qZH*KyRByCuV$saia>3rh*T#rd>wO)0kBQ*mNZek zo~sQ7;G<{Q6wOgNttH{{sAN3eOvjk1Z46n)TlEb0wxeEmLJS9>GxJ^LS7daIBwx>> zf6E+4&u;)#XHn+@npBJDsJH4txHvL_$H|}&bnzbNi)&w_j^QF;XiukrJLYV8e;qDf z&ve*$#(R{Mfm477lZ*v)+L53TXz?Y(nuMeNdKT^LBaiqT+Jia60!tZeeN|T+z}D>G z?gZDM!8N$M1PQ@ma0%`VZoxgcdw}3>gS$h5yEFLU4mU5~!@1|I`Ukzb_ukd3cGaDD zi>RppDVpce9U{1L+?8zDDvLuoJXEY6UzJ|RZ26*LBr!5?d-!|!5KNGHQzFVZS3u5M z$hzFR#OPk9cTSQTw|-Y2ZK?M%zcR^zd;?VqO$?E@W52&7vgKM2M1$9+Zx%5&sec#aifWG#L3LkEcqJij3fms>=Dh z=@up)CWRByi0Km`b=Buc8HMD+@ZEk+!$9ie@R0DY*<`&YGwO@4l52%QqE}p;{Jdot zADXmFFMKWN(xzD-?nP_HcVRL4XH0RQ1Y`?4w=R0r_Tx8-W|@XRS7lUf5B~=f;%!F@zA( zXs$I`Rw~}M+DIK`J#3#%GV5cRc(2`Z`*mjK6$Ejp)onUoLLt}!%Lm*>T#Rc6a;=*& zZg%mG!WbAK@-YxVPW*-h{*zyT1atQLur;Cj1l6h$r$oqiX%)HJxL4yHE-&6IIaZhp z1CvIF6qW`m>CntI5t5Ijh_0v(hAIOaP1JUpS?hHYDw6N?nufE%^(y&<*kQyN*iE`_ zUqvVGV<$#I@NPQJ-?1K#gF22}i8Z>x`t%=OtxEDl;&||TY?1ZCg3{H@yw{08Lj*h4 zncQfeIU=tzmdNrCXu5s!uX#tm_w8yrYpUOJaPmKsHn!VuvFa(j*}nX2LF8AYZMwpU z3Avz9E@lcQOO%tkK~ajhaxPUP@FTY%@jVu3Sw#Kad0G6W=6gZ;y*YB?$K-7@jG)QB zI5a;dm$@SZ!IbJ@IS1#Mlkg?$6*YP=nCzW`hRDdlD%|In0>t)fQGDE|sDeb=*4Il8 ztqcUWmW0Qj=rxI8qhER4I#=4s4^6KYRu^Qk5~cA>*$v>C#S>|J3a??+x2Hq$x2+?* z)*QOi_4{PKViPEk9rxaAC#JPg-yHu70=QuHBR8sg8XvD&B*l?(*C{O&<>e25#3lQ4 z>?PB1cu+sV&(FG6;~Y%nignhntiKr>fQ+?F>^B*!X3DuzujkL_o|vo?a$4vszXL_% zW>H-+!O1pQ&sp`38FEP&bNHR1&-qH*2dIwCNLDnu;~dr0W^nI2kAL{TiR@HJs8_dX zk9fqKXnm=GQFTpzkd7A?$3-_xHX>G^WeanV%Clg*>CsblN&s3LPqr3;fsQWss6(0=>Q`L*@J(nJ+}l52dKvN|L0;Tk_DmhD zquKWFtefp5-}aE1Nq$K4ZECwRilMZriptT;jhi-%A?OTke3OQ8QU!IE`TZ8WAlaW; zC9>CbhoakE+qDoBtl54M<)>{Ud?wazbp-5n5lEq5{bmXF1kg1vXH-TzT2)lP)(Ia| z-r00s$ncELx9%Yc7T-YYF{sSDoX%y)Y0~e6({9mk{U4$a5f3pIdAh7#;bE3ojhD9X z&(-V4u3Ox6k3EJ153QLgVtPR5o@h%1cL;d+ShsiH6M!-!wN2(53gMq_8R``bt6cO6 zrv2!v_8V#_}i-qq8TlzVl(d393P*<4|aC>Li~ zHQaf(6kbqUh}DVyO+_<9E7s?QrtO**{MPE!((3W6o!jp;dt4);_>A1OIYJbNUS?BK1wn^ zWJLcsKR439EE+w7H!yyJ_cgWrMv1%fK;i82b1!MILkY2|nkeyB3-_Y~ex}MNuO3rN zGi>QvBpI3IpC5G^vI|ka;I7;wE&tRM+O9yA8nnWo+f!w4y=v)KbVf_^Ny!u`KgMGn znq{N!f}!O6gn>tXJpE>;)r&wykbaj>EGWrXrFAN zrk4~;MYCLPWu!25`QWTluwV}j5^hut=*KDc_>97nVM_z`Tg@VXkDQK7e4hkIzTpSbM27VZqJmZi8A%85s585pIL z8e^2W%=cO==Z$|MkjpI$!OqKKjwKvxHp)I>b>lQvWUmW9l@TC}QmL>L3TWsvOmx%6 z>;RYAWgImL4!cqngaNULd@~7Z%`r;g_={7#QOof4uW~{DA;Al-#|8^uyqdJhE=>O& zGsYBdTozYj7ZfB3VK@#XjbdT<-z-a;&aS$TXXeU(aQen@uH|v9A6}Z4h!jmvy9@xTtAOvA-xcZB( zkziQ?a<0Wfz8N;@#I4L`!lsvmWq&Qjh}SVVsz=gxYCkhSen6@;Q9&v#NMri|&Anj{ zrID#}J13Fch)3jr~1DT0G7=6FbODHs&)HwO>h%XvCKaQW3G z(1p4?cb{S?yuJOi1S)7!!(|=VLJ=g8Cv1z5EVr_*O%{*|M@LWMdPN-g`NjRYs;G%* zK3mq$&L90cSUj1CVk5YW00a`G9-2#y1UjMa$VrY zJ9hH9S7VSDt?c(_`~XaB-huX0_xn3U=f8qA?!{i&mu6O&t5a4`tbMPwI>)HgO96Zd znVs&V&*QH{6gH_=ZNEMKBxN*oaRd7nE9Jg+9fmj{{5|4Jtqoizl>%AH7v%5@baz!cARkokqY_3tJI#HO4(UJ>)Os>}(&>a1O-kCF`^ z!l7ohFiKrj)N_4Qw(=Q#B}?)OV(U(FX=S{LCla9A=46s#(_8qGcbIoe1cpxg;Zj(g zDK2xwTQ@?9PC2U`XlsUS?Tp++b9+H<_?SU%d!J&7yzJYEbo)6^8Kbs8sP33bw=CE5 zLZ%jU^Tk}nA^SuelzKzrln46w*&e%k5m)Y7!Uk9r==$T2fsEwDmsE~G%H5^~wA41D zJU#laavxI7bIDfCa;D-$$E@OO5*KVxr!LPstIm0XB9S`~m?Rzc^I4{e6Bxhw7;8t@ zBii?!jCisr*7BFh($}f4{FGg?;(if z-BU&T({xMFKxPGr#^HIF&~Q4#wLc(^u#{L<_USttbu{lq)@<6@KG3hMULW)><~pZR zPY;!A=(rVe{Y9`@a$x6bH&E~y;ta5$mIV^YmtxR|ZcqUnS%{%IuMKe;VGkB{VgARV z+Ck+S`~;)pc5GUmfp+`h=Y)*3C^~z~g~d?opbx%#iMl72&pl#m4f!peC>N%QGNRjN z*bZIR>hbkt&g$JLF|GXl*T2z5%aKiCKp^}iT;?h*{k78x+q;c)OZ`1TiQMm+KC&k* z7DzlnH5mimIL7-p`+vrUqC&4iJO{HlDrp!-kk;-C^L#0Wa3Ae9S^_IYGg986V2Sj7 z0hJsW2noZ6RSxHPFwMm|dqt#s-o;AIO3Qcu+SOx2J!@9STWxh3zz-OjW2IoWxvaPE z`@nt9MmeeiJmEs+v7q6+XWwsc0TLE(fen?fMwe75y*2pI$0}=%!(&Ly z_wizOAAMLZIe6H2FBI$?ta@>4xuY=FF78G;(^IqX2yjo4M!Qu!ZF-v|f?XR=milbob431DB1(GsUUuxHQuVp*%eDaTM#O?J1Yu#X+p^4zmTT6G>zW zbx_+ze5M2?_vK*Lq>5emo`fz0Cj@pfERsgf?N#P*?j<@k6{5sb*p0#74b_pAZ9;@cx}bapVZ-U{C;5@ z#KO&C7}f^K&xw5SEogpKz2orp)0THO9?s3A1_4P}My_xptmbS(2U?4@$t;=`N!_M}& zFlOJ7x*>}^lTEkgf;FZs(IhVJhtn&D-F}b)Zv;_ln!o>0)mk6qKvajkt``O?__{ zz!NphluW%E=^3L!lVeLcCPAJQxI1`rDqf-lNdV#c&n`p z65Dnk9~!u=Pqk=#~kL@3SOWf zksw0}!OVmLPBcPDqI-8;`Z{%z!}PJek<PgD`ek@#h3*^@Qvi(Zfi|W`XJrW z@JFnAt@rJZow@V0_PMa2+NdYW#jxNqJq}~%m}$T{%iNXA77;~W?1UgTOd!nKT`n^@fKYX}X?PAAb0EY6P( z)j{stk~lY^J?Uu4qS6`5=FqcHq+V)g0-!g&cuPC>?+~%F3moq=|4}$=xosQvWM64N zO#ltx@YgZf4_js);#i!E%VKdxb2N)0F7R%s0A(7kax(npeqi;x+lrYma@U;27Rb_{ zEd;d!mYhoGAm=VFOO?z-zHHE{{&2yZo_<4%@|<-)1Y+Rcqt#TpU;80vHEC2HR@2d| z#>T?Ql-@Ch_~LK#Oymgxkd1y>?swd({GQ}4_ZUm3zx4wYHp@|BV?@Zkm0-btImwk& zAMg$GDOmy?_yj`lclDY!SGe$dKP7Woj^3RM2u3HfcGuO+nsrmv*&3QQ<*Th&4JxUHex@dvMbwx3kK4h$hn3o@G z)w+Zt35+kD)wqmWrJu$mZ=-G*Yq}EB+lLtOZm=kDL9@;-B$N~rzIhg2xH81T)1-MO zvkZQFb2|y-c1bV+p2o#8uOxVTq{F%?QXWdF@}w!z87w=utC#aLES+JECuu7s8=YR+ z+%`}lE7OWIk_&kt!zG@;e3V6u40izw;LMSTm2{k@H2b%u%LOx8I zi_XE`$8WF!P%6AvIn-1VJ{=NZC+a3>)Igze$ni5!zp|2>anr8bE#wL4y;?K#AZ|Bi z`_p+nbylt&_Zr+c=d~%7v+oKFTawS^xV4z*?fLW;rFWzS{owkODE5&?P)Q%?q#E{V z^qX_YzP9a2O&pw*k@efaQgQo-kh1Ii>sjqGDZgLMa1&!X@MgsFA$je^U<)Ros{x}K zT1qWVwKvS+r3&IgVdW6dL*(i(KLe?pyLxY$2aO1^TkfQ{D(yz#CCeX7pn8!@^@5t( z9yWx)_dda8g#XI6vLEIZXkRsSQucYWV$apHb%^i5=SLAjc^1z*_Odkt*aVUu1mdy>rw)Gs)Ygd`>KAQq|}1G)jVUj1b0!#f3+fG zoKff+n*VK)>^af|P2pF&8;at#)rH}d_(7PxXms-DwEOvN6m3Ef`$w`5!IV=_btDE$&Ki51Q&xf-=ahftVuyOI50Uy5-A+6$I?t7{Ri$+ozd^AJQVd^ zeb1slqrr&z102+5uk5=7JT6?N)lG7wNuLPLGxtJy_D0WYHE`om$Ro*Yb}U9b!5(T4 zsP|@+;!BsJV*|k&4MYrjxA(PF2ZgY{J?2qQ&WrifJ|Ro&JE{ay3pOXXie*2PDCT<3 zr89ImObg>27>wpYYy@D4X_2n%nC^4*zPBWvSnH1zfON3HuQ|5lfC&V)67|6=1#XdZ zI5rR+e4+Mh}1+3rWa60?Ggp& zq|Ghr#auBz$GEI=1-sw~?9yrEniWY`Eabx&R2aC{jlVT3qv5Er@iszL5VIxZ0T^CI zbp=<0wye*Yim+(T!2QrtyN?z?Gx0F~T8%3SdL4pq#r!CS?szD5!oVdwYtq&)dXq?G zCcj_@k5~>a4cYiLO6uvfZzT&t>|Z=;aEd_%Lg;+Wnu7h50fWIwE*9$m?-mqsgfb`g z*BH^{^ILu?^?9Ts16%xgB(vz@wnVgpj7P3NJD+z;$U3YFD!3|Z+KjPcfI${LuE`DP z6Ms5HF8?~AEVoD``Ni%0R)$!OU^Wu%JMSmNVQU!G8m$FzHAi}F|3cT^VV6KA$mC%} zH^Z!)n31B?$nQzJ5sRvFNubCk!a>(PDMkL)Y0l7L=%P|RFqm~Yxv9fP^;6u9sdtlO zX^n%}*)9BVD#`trFS28(2wij~i!DT9<>FohQG+D!&|47}-m9dyXiT};ed5(nXxwNu zhBNkZO0O({dMN{IotrVbeOhF8S8msabmZUn>W%Hjj$V%+HMV^SVrJCm`@%X)G&rOt z(|x?Q3X~+5&T6@vVsqp9lHvtL23zcE*BLPx$}dlL0h4@oa1W#j6uYv?cCt&qljhGd z!%Z6nncke~X>4`M0qdCOkqO=v3_q1VSK(NFtW#c{MS5s)CgeCDTHJe z*UGP46@y7=CgiPrbB9W>H5|z0XPJ~=;2@^`736MQ?d&u3H!#C3z#TAlDeR(UW|qEs zoy0uF4>hwGuh+iz%z&sLL2L{+;k`w1#mUrTR25@$M7Z6byc@rkV4b=%h;g>0Q|5{} zeC#VlH_;I`^|hev*NiidnG=&WNxQm`<-=bn3QI-G#5ZwQ-|Sah9a+$ugV( zezL>)AgJU;+wV6&p>OmINeC9(`1VyJyf9U}K`9p!b))r{)JB$>y!znqu)57{zy zQe-Mq65@Y?3j?&o?s{(}A$Gp0Bh5W9KpiB%1O}y$Y||9j1)V}wMDYsTD!3%_r9FW3 zQrIkx&f;9FyO`Ew-?|0Pds{%5RFftA^%pMa8bi}G&3z{Ra#i`;Wmd4Qw2R2MspZ2u$!A;XvifQ!5KKK- z1@*Bq%6k%zQ_?5SVKU#wv7Gn_L3&i8HL;=L3vGl{OIzOEJE&5ah+Ua&;sd`>2XIe_c-+&3wq3eo(jH zGe_2xBi{?X~G4YaTdhCJpyWsgbvO~j#lT#(tU0XVo?O*QYRtE*Lz;;a=I;x8hY0epcIefqQmIkB@m>G5X)Mr zQ>|As4Y`b)emc3r)$P%b|IX#sZKC{>_oU~*H2JrYH*$2HING*wr&L?PF(Fo&*+(Bx z$PlBZs{dFNmq$?ydHLoGA@=M$(Hj2OT!4qE;$xH!8}&=jQxaxxJ97zv%ue@SKuu= z9%LwKGb=4}eyh*DCd-tVXl0RKZ`TSl^PT65nzoYVci%0p5+>;89fy^uh0!Y1E@u|; zOMK+H!Ee}aEPlNn38QajhHHy{`o_qQTuyP|K$n9?o(ZO&Kp6{HQR5D~N<5}5?kFRr z`SfcZRS;3FWmkLvN2QZ`6`$HiSNqyeY9u=N^~V0w*=?WIT-;F2B$D;38>`Kv@npHj zXOA!ptaixpkGeh>f7{$1;#_3;qjT&tW0Rx!!MM8CNK0Vx@1qk>7M@K==11a>PK}lN zv9@-mFH#tIkI>`f#$iS- zN#Mv1wD?*?h=|09MIg>!%s!MNu|v2C^O^p{c^e`v{)Ih#(qVgv)~;jgy^~28^{=lk z1-en{-pRB+Fcs+zh1}2tam7gD%VOQR|Il|?XEpCm4uUlJMljyR4!I~L?wex6bfJlE zy<1Qe!&^dY66-FSGhn~7rzX5jkbn>fVOqE&DUbo64eIG`eC5~XL@dRrtE8#;j0X% zNng8K3qyo!y}Ky%8*|qWz|z3E2K0LwekDK+ew^?i0Fp5L@Ng67#!R4q96xk@jvsGi zp((S&7_RDM3J-VLh-*cA`SU=dY4*v}9u4R7)69l^LvauW#CUjA&52BHU~>oVPWrE@ z0SzE&U&X6Kb&+E74EIi>lp31rE08}+gq2B>Ky(#$UX|=~sno@Dx>eh2N{jX-v}2@# z%EDfNE?qicDC_8Ry+0!-3%E%lcwZuHd4MShP4m;6&PyBie7aF6ak5#W!qkokK?Q<| zs$OA4+DvM@|Lt0Stj@f%C7+zX!`v)Q`!6JuPq))&^1kkk|%d8Hw zh@>p;S~M9qsDK{3O2+gXHXLML)gr$w*W@25kLU|{$cm;D8KGnC)<+y6{*;ruH_tn1 zX3Bm4ovi_=%(2~(@sUhG*dAC2u#~5tM8p!tqiB@yCl4Dmy(G0aa-V0?+zAQ{)T^;T zu9gzzAK_6LvJU>`_RN|E8Rnq7HCL-Qm{;9h&F2&_5hqZSTS4s7(!ElyJY!g(Xkr!m z>cZ;ZiZG*OshgA^=A~@I6|)rn&k?|(7rFPnjSV0EPM2cs6j5F`u()4<39PegU|OUk zoMV7(QIgS|Ab(<_OVq@_8;p&{k|IFDWsTjWY|2R&qPQnrUp`p>$>9gQU)YXa0%~9? zGM`hL$pDv9ZL~AGW2$w@uka^MTZ<;PIY(0V zv(VP?%u0iPyX%hQYX44d*X)|~zSOjE6)+89`~L3|5s=|BZVjjzALA2$k}0M`IBTr! ztxzVe2Q!B>@&3vPNo3olCFuJzk2@mY>i&V?`+@2&cUZi;s@Bqi=-!W`XUL5Ha$?M) za>r^hmYvxlb4V*}wEalDNDH5cfMDA{YXMrw;LOJm_xj1tY+;y?h8WxAaOW?IOj6;U zP$r}I=;{y(Gg5UR?@c-dpD^SR&3BaFluz0ygJFT2Wc8Rv=0^d}?D8>#v#cz;dqJD2 zx?^WyAu-0s8vK#jH4O6N2rxi=UdhX}>4+h*r!Dtl`(Jp3EpaX7RcM}@z;EiJ#79c7KS8r2~PH8ZF^a!@E8sdAzf(Vi-pu*4Al;zpl}>$Unb z-BW1eaP0tJc-wD%=1?YO{;I6+0f%e7jRKZmLg~(v zI~?F&;diPpWdF=ZspI@nNQ3|~f-v?==V7^)y+P4TO-xFa3#s}<=JE2c5409eLbW-@ ze6#gJ>eoMEc3qj!ZPD7(@bxGCk+tT6m)zU6yCnPlap7T7-AO5IE#%zdR#W^D&81wX zq^oGyes{6W!1Zap){@3~^iMjYQ)6}*l1CEA;U~6V%rtw|Tmf)r>@=+w1+aU`7aY;g z5wof7;(~M3jURbmVJEpLXmgOp)O>yltJuTXRofB^-~Y*<}R^B2|#sYd6~1yB_6>mK&$P+O`|~9DSmkeT+$CDP(+OIp`itk@r#d-H z|GkKA!Gik!vurCfmq1i5OS|+IB7vZK!U8K0fG&)~s2Fe*Mj%8%=^(_w9js$8Gl|#) z7p)3H4!y`6zxBmEW1B{yVkPvsN8MRAAQl7`njiP{V9{ zm-CQQpNZ6h)AIH5$E$D`naKQpne!|+ajuze3sw@Co8@&aUc_diVIlH-CuQ_F8Q6#+ zf}KI)Bf~SmSQ|GvsZQc&s!RIhX13Pkq}U};{7Tr8&P>fkBH;EqJ5a>bZnnt-Clc|| zSfp&^t|^j1=qc_`>!%1(#Bhu@r+0MCJp3#mc9CJ;UYoYFt#xUm%kAW!a$)t@}?RQU{UkR);$*Rdk-}y~?ZVAl$*Eu>1{xe`m^Vk7dh- zXsO*-udih1H!t)_)?XPj;i1}ZWv?goJ{m$fpt+h{viYo%*qz@Dmn&!2G9WSN1j67A z)yl$iFnvqf{?zGh{DH!E7^#U^;M7{>nbK2U*?Dj4-8z3)uDCdDVbNAza+#QNeQrbu z^E+R8#Z~)=X4s<}IzFi_MoTne1E7DBvtd@O$k)6!J0W8pRpiP}-nQq7z}_evV< zetGf){b4{lKfJ{qmjtY-wH4;B1=rP!fgM+8AiJBR!R za)uuDIli$;xNmW0!arRZmVx^!Va1RNA|)!Te(&s^rqRGS@7Dg6J89J%9e!Ph@GBDR z{;e6?!X)k%Vj|l(#7&fH1f_LROie@jOJ_u#SbZktTP~NXE}+k8-Tq3^Vyf*TrP)Jg zwhN$8v~N&&hO{B72z=c9yfRT&vL&sW`PXw_w^s?XOM%%4wAA#`e+*f)K%s67MSwtBq z=~BkAQHZnhsN0=Q4yBs5*2IuGb;ET~V)fi9!V- z`N-=l!+igK3Wxz^UmoIdBLKMrl@ilrlXQC&1dM!Y-{2G$VOSjK_xm>e(O{ildl-i# zhP$^{C)IfeBncyYCj7=D8%TuzLZ~0G;0m@tP;=qd5f`uQ8Yd~T#V|mbn`BuF@ywPh z17wE~kBt#$O|}!FKf?oJoK?jQ6ef=O8jg>Pc*syh@QW;xVNW%iHN(~(A4NYRH*&o= zV(2T&>&L)=WS(0-oQtc8c;Ng09gjU!i^D*)Cqu3s?tozboxb+C6|OwNUVF}abF)+i z1C5`DdNT|2Nd>!=G5;4{P<8-4_ebl0$CrK1bt!z`pHqh^yVZ%`v6yebKdYT<=s7ka z&T$PqK2;cnaOojM$dq;KI>0T=v#D8+o9tX<1uK3~E`u7+R+pC1F@!DHIXRN?fYy%` zy54HvUYDg_d`TyAe;Fqai2@sQyWqr0JFQ?Ku;b!35u3ef{S{ zC#okn;@WGMb4<2Tg|ySX?m`3am{x~yi7P4%{n;qlKP^!jm!tf|jDz6jPmlD!aE^&-&~?$#$tA$5r%B&;#$?1&>*sXfznfB7OWJA{X(@x_ z=i1nVvgAL~65YFZnW=)p8+X@dj=C!ssaB>|-_~<4QY@Q@Td{lCEk?H2Hl9wUE<~pJ zyHtgyTXOyUTU^-q|8eT?LK4+IRe&m-Mw>!9Q(nN0vtiuXA}20XRvVWmJPIuf$?aLR zbM)$`RkX}SIbxuUtmZe28U27~c@8~TK=CV^$oW2kTp{|8(A{kHKv&Dwitt1nUg{GL zk`WRrN8bJg?Nt~&Z;TDU(?v^{Z(8~Q; z((v)y*Vom%@HKKN`>z559RCIA1rrkXq|f``ymsM-E~GS7;j59WhhFOGFWRQRL0v&i zy#+WAPoBFYUlOX!?T1px1u?hepxU0!Ku@oR&Xf!w6tpzl*|mJK&Up^^rS&sKz@&HTw01+Jx*!p5|rO!@a^F*Yn-BW(gsya+TC+-k}>SEy4B^}eD_*u7ST z6nK5ifekz7)VtG@l*;Qv2z6anI2Poj*`ARM^J5TQEb0rxC!eqadB z62Vh;`1>sGm{&+*lEcr}~0*wu{759P!C z2y>m!iNKE~vBMD;G2=@%W?g|-vGR}~$&1$$WI$um?H%C`(*3#a{->^v1AwiSQ!UL# zKM*>%EWR9=zOg9;I0ki`0EPd+Ru5&`bJTKDpDC*DaOL&py2}M3fvf`fRTrQePW;(5 zr#Uq??gYFZs(2GFG=kL-8?N)w>sVM{dq62*0QSt94A2H%_NGjOG3Yh8KRQ4@*~R!>oa)P=`gzV7=IQFyB~y(#4!RZJ_DTi!C*i1h;; zFt)=Cgv5gqW*+CdHJ8VG`_KNCrlAqCvvu6(8daZdJ|y=~BtE_%us{6V_nLkuqd{cjXQ$99tRji6WMYD82;yDd|TpoQa!ug5Cf}kJyQ#*w;V${iuMIXHv3#&w;kbZ zq}310I)#l{K4Du8pQIPFERtl6J~BbmE&#(`i?^P#?%{sBmw|`;u^rhzvPrX(((7^y zL~hKnP*#Tg&PYesb}li)5DhtH0S&mIUH-b(!9}}06iQ?&45CHdx7-ix|=Xy+)zaZ@|{E&cjSYW(%9J9eU@9;HXjW)n}lD9RS(-@c&3umUXS~+*u}2@iZy|+4&Q3_ zX(%5@&~>}<@D7{)SF;o&!Ni|h5$*g^!#DlZrMrCq^=25=%S*%vv=CP&(|T_WB`#y3 zTI@;osgj*FsXd%DhfS+W~vaabLFxoVj+^ohRBEAXV8oe zXwSR5v0`~2-F(>CpZ1$nO8qN$%ObUMT@LoVo!CC&9<+`L8~j0N2scAzTn~sJFQtQWSL09RJrj6eyNK2`Z8p-zMika)Mt0kX*REYm|`g z+g+TqV2KzM9E1-efMMDb*M%eh8hpLG-*LR~K}>aNzN8ggUAnJ&(aoY-+ovPTR;vb| ztTr8zo~k_F@Mnc#a#HGjP~{uvd+;2%aX~XVTascMt`mPW<`L)gb&PSN$m@qw*;=4D zm=l5ZHJ0gQi02cnW30UjH1F76Z#|vt3Ps-oO!Dux?>>Eqn>6bri^80S61cQlT)0V& zsBdsiDgO0$+;Q?LM)7ZRBzx|lgS2bC&*(}Ki3c|H4cdPr`ZHPM)1w{{$04K%+vm5& z@<*;XD9`Kx_8i8%zhfF31&kEW=aciia`bPL`9XsC4z$?Ko#Gu(16~T>hj};edEP*k zdB3}OsNUb-yrX2{dmFS(?GJdY7+<(09aqO`2nji^=-Nfq-+US)WGC#p)lb!a*=?;f8U0hf0zkk=r5 z_FdIS646BDsoJyC_HheI?4g+J(pBudATtM2M+WUg}yZ8~&rcH`V)SHOmRtw+1?93i`*0VW!{sCt&Ue(Xx>eHV+((R-KF;o2L{yn73Qoyyp6SZG6n;}yXOiZC8a%J)DHxG7ilV}khv zxGRbmRZMsz&buULLA&3)Yi?nse1*v6eT#o0^qVDQo%TC-P1Ei?)?^)exVlmN=a7>3 zn8AadUDFBez830kC=ds<&jJHahbesQ+WcRiuFgHXeY~bzbNfBsS885YWWBD3_j>++ z;5lzqbRAcu-gn)1j?Y*8Tk9n?BYy`Uio~DTRCeS|UnZ!>{WQ ziaosD2dq$Bbuf&-;_T^bgW_5!A&Psmp>%RYAGQdOz*w)0chXr}jVQk4>E#LbFwS8n zX~XFR zUSQS5w+lz# z$wZ(r`&&Nm*A^$FZ!cHfuOnFO?=LB0EvHxntc^$%o6OqPEUI2(8pw*Cu)hb!SHLZn?-tw(h9j47KVV07=&L^kv>71wfJf$QQ;?zY|JORn08oD`I>8~m zM-^MMN})@y`XD}QexHBg0(^jbp{N7y{fIuj$CW1Ayw4B<2d4P@<-g_oDflYjz3SSJHXfY&!yT%YHRyX@6yGBy9wc3Jku%T3g- z3Sn7g(wl~1Sq_$jZZsOnpADQV#AjEo6PcLwb7BAp5f(%jQ%#lhtkvGpeWm6Ov*6(B zfL=Ijd%GGA9_HrHc(m=11$n(aV8U+O$+-WToY0?WzjHxY1)YO8Ju7l54D@){Rpi{} zaKTlD3s}hC{$}FhlSjGf2i}z@8usxH z2YPy6r-+bKxLV5ag+P}GrqJYmHY-*(cNA3~4BvWovzT~3ot_yQ0N)G)+`S%+9&`7% z(gG~nZpGfA^{-Pa-LH+MELQJ%Mmi4Qb0fBJv6pU^4o9DRmxjRms*C51{fQRe-K*(< zbE~wx7X~re>6=k3a2FsGYd#+U6)iKH*w8j%s2$qohIIsuGvQE?SX^8dw|aud)NxO;R;x=@*{YMU4nZs&Ch%3;SY2oT$3u}XK_Q`4wCF| zBJ707jQea{Q@oLjY!F7L<$rMZd+4Y9<@r{^?ss%`E%ttGI9Q@+c^_)@5XwV*my9dC&4`o;xaR)vp`QVB?Mn~oO-DBEPrT^_tek3eM=92S&wtwJwZ%rKsh;Wf6} zslD>I%IgReMJ}%=-eE0tm<>@bt4VNP$WU_!JafRe;N!AmwSTvi`b$~Q0}wWg|2$2~ z5YbG;p_>)YOL~XIQ6vDtd{F%tJ^T9~}^I>mhG7{ob#6Yo0&>Z-h- zUFc7}wTU&nL>qzTukgg)ipJ$^;s-~ujziN(w|4=nOP*Y?H#i^~b$IYVZCLMWtQE`> zi~&qF%vVmQOY(cDFhBs2Gm!Nz=^sm_`L}=mRC6tKEQ>4z;OOD&@dgAy2Dkxz$bRpW zn=fC&;^89tzal&GL3(Z--wqr%02|N&ni#S$cww~Kw+}{_AI6!D9>*+Ua$&@gCK(AS zL2oz+fM{CB8sOIdX#pTGtpP*axxES0M5G5+F2?_Xt@u2+2=kbv!$_N9J&d?ah7;Eo z7)R*Qn_f#dgt_}?+%LXGl2^PYt@oBo1(&9ZP%#Gr<9?F&G62W)b)4B;dhBfud_CeX z^m&Rv?f^WQ-6Xqh#JyIYotiiD((kx|q_l({t5t_>7vOkK{fpbK^Ho?M=QvLWH#)jJu~Q+VWiMJ$G03m78RY!^PbSjFtqG1z7PrX{6=bjQxX6Xk`+K}yCKAan0tgSVF z5KmONjD_6jQbc6rX^w>hvNLiX%9Zme@m;O9pFHxgYx{Rb<4EBX(()s(>3y!3t|Mr! zGgPUjEcO;_IOyy{ZI`A`XC5*rPssD)iZ$R;%%E$x=B>%%BvCGHIN;^oAkP2D{ll^o z_~kTqI5lfO@fFP{E%mSF=ACxHyvy|F%gOkH#)Urcl3T3lWo`PU0k+dqbd^+`__=ty z{Oxt~{S`y?4jD{`gVs59zZoC~!(V9%O@Qk$?dI?K+;g?M`Q`!Z99Dx54NW7n*uG9} z0b4w_*E|dAEdW|C$p8X<%XmAv?NHIak?qd6_03m9SaX0MD9?mNUgu>TcvmlUemUfm zj|3pwdj3!Yl8M@QKqC>~bbMWKylk@)z0MdvF?#pz3cmnswjy~S{`U<@gL8W8!MPq4 zb-EGGz=`rCg>F<>&$B=NVK>|`O3ZPRr*6N!w;ewsntyU!8As*awD{Q^67t#y{Ge&D zSUc@Q*&4mQbE$*1u@`6KF*y)=7s%bXO7-~%T@bO8LBO!d-y zAuAMsgoamV#vqs(Z}O2mUcjG*hm`t&MeL#jD3tE={s2iir1?w*P~tlB+#{p7h;AAd zvd)z!?pcT&x=ErmXJj~~Wlx#Res1smQ3nI~1quT?@MXrANi7j1o7d*pE+t_&@>2kM z4!yQEx;tTC1HaGEaIkf^rcXOv*U^acufpvDNKCLq^HRbM5fM3)yBiLv7Er;KW&_7Z zaiyXbD@1{6*DmFGzs&~kj`{2KJFHSkKg2ngVjcTkYImDIs&-#=8xQqnr5K+r+zzLm z?5DhTyq|3{e0hHjxc>KPlXizno@c0%)9vYXdU-M)|GFE{2tL;aj!T_f+`uHffv2B^ zz4NyB$?uETP(T%qEv=iRKr2wo_80&46QG=09Jb48Ru}{E7*-D%WuT9N&x!tKJ9v+d zeHpL<_zP(AT*1P7f})?(;L-jphe0p$H3&H*1s?HrKTeX@W73Gnx%K4Q&pfXzcHPAZ z_Y4wtKMca(18#OH9Es?+ERfb!7l3yRwB8%(WdDf=yxyRW|3}wXg|+pqc?Wm*;-yGi z++7QlQl!NpxE6O3oEG=uE~UlYCAd4qArRb(BtUWdI5TrDX3qb6augP5?%4;_UYB@Gc3>gTJ=XE*uCFd84$e2CLCnw0YIo%%2%|JuvbhL(U6T(W(2sM7XFrGxv2b#070Q`bI z1K!YsvOAAPJEHGekp3by^W>f16gu6q%oEtLEq}EJ^qt>iRNcHl_6%k)l@jhbkTI9c z)nhy@-V*ZP5^Cn6_37N84LiHpEwHC#jYlK9 zXd6*ilY6vni@EePedgZTHa`kj%_qYzn=BPLJ<#t(@eL6Do}*ioTj~ap`kPNc-Y8Pu zz8e05Lt1attNU}XZPkSO*Onf&5#(4n`eMWf7Q(7bRI^@IOTt{{7cCtqtgv@1=fQzu z1e7M^IfkaeT$q_P{#%kh0ce$qTpm43iU7&h1+kS?T|(;w>q+5mkhCXn#o)o8Mxrfj z9ln+f@y=#YE88bo-mglmWEyELI5jxAgWop1eTH?^Iqq|!w`#H1Ux2sV|D2^%yo%RhZNONY4|`>1zAxO>{9CO3jP{Ih zH-)0@gpZW=?|cU;^5tbxnc1;CS1dz|e$YM+#Z}7I?c;EuQ1JC==h>RUR}SJj>8|>N%T{x|rd|zrS(1#~JnV-D}dJj!g}#l&ptr7Wun^d!O#ga{rb)SP7I% zjAIHY64#u5lfjC|QR9|GSfPY(q9ASuggU-6+}m|t+F`Zke~iDz#l{FYWfz~h?!t+E zpmp+|$;4dTxR{_?UM#|^zJEs_=pSf0mD=a9Rkwz~TdRib3RIcuiYC1P2u7n~2`E~* z1xLy`qd;V&aM1w^HYm$q?bgv`58UvXE^C;MeE-3@c-AzANP^q?8ze~WU{?#TiAf)-tnkC>BOLlsYwH|nLZ6peLITQpA+ zO_jGYUslaBfn*IIeM{DZGWfHa+V548jFfxp~V^wWljAu zlkAs8&)_bkYYK%u9Y;nOxX_x+8kxV6J0yhHN5nXT8D9i?hr?NE5zf>$d_QT{4kF@q zmjpv&?j}jsdkvk~$5^vA)`O957AlcDAql z95wPv`U3mC_<1layE33i)rpH@#K0$dt4}gwklJHiw}$I!q{^t{@|SU^xH`)H$B?4V zONsy&@Xv&ozK2Z@{m4sUXueX(q zCun2n(HQEYCHe^Sgddi1B0SIwWY@h&{IGzyoC}hHAm|?}G3i8!IUdwkeUQ3l0@$s| z?C-=0*=R#k_rQYd5j21kPe~lHot@moY$!8Qw8o{Ax36I}1U{ju8XxV78Vrt;_OmP| z&ch;IUcqsUYnJPw!iQTYh#2k#G@+UN zii#HK8d%6@KZ~OCNaA`#Bp`__7oWG0dHQ41cDUJ!7!HQ78VrVTh$YWKh`&FW(!a9s znXr}!xJjV!*9wB~v0oVpPuhGPtTHx`{EI=a3p*qMbQ&Do!68+51aF_#2K;o# z;(sEc5cm|!(qmg;3}giELYf?J!`WA{4aLT@Eb!1Feq(2#OuO91zUeyA7p zZa0KC6J)!$`63%l?Ns0VCONVB!x^`jLI+>{P#KzQN$g~{<6Xx_CMW~$9>_cJ&mK9V;IS5XZ)N4O7UhTG zBNK2132oQI;<1^RwyWcmQIM!~C1mksmh_4?9+C~Svj(V*>9#I+89nxulg4HfH}TSJ zvO^_b=1f}PooX<7ylNEcpNpjp+MZaJNS3p}V?Cs1Q5~3nod)A|jkBiqrG_O~hV2s8 zk25;{43wO;SMUGHGXIFb5<;`?Vz#*TFcmfm^(#|#Xzg}`92}=KX#_SoPdgeC0#u5d zPbs^TC15h2yHlEwV1YJFoR8fdN2PV2C`b4}jj6tFYRzyb1hg3!TKdV#XC6bXDaZ#t zZbgf}+(H3Z8`Nn_K;Lp<7~H`zqG2m*2`mkCZ`IU$PD zlRZa)o;{8skge8e{4z#{zt>LHd_h7;)tK)SYO{Rs;;9I@knH$W0I76Nyqc54cX)OK z&5V+${pZKkuED<&r;w{Ha53Y-Exf8LqwLNY_49*MD~z$p|0@dr z>;LKyk~idS%ko@U3)*G#r5F8djTy#(;d95Ids44A(k{-1Qx(o+ao3R)EmxX%>Cff< zV|!S4f{)nbZnd@O8^_|D@kd9SBf6Z?jVwOO63wPg;L9&@mV1WefQ->7`fo@)#iOxz z!ltK7Gmd#2zP4dJG#vy$aj(Oq)m)X&XCV@aT;xI1@zvp`uXsYI0j z{CUx1yZ{+jSWJ?=^{tck0(XEFJjIybl0pDHSDxqQ_mn21&c~qkFl*wDY=}{xc1Lc- z1Sqt~F`28i(jf~kmKUo}Z5C>orjX0Q**X%C?d%3oWG&5A_GwMUy-oaE5#%eOJ{W#X zj{j2#5`+E-yX%styv%o!IPAH3DK$K-X*zLa)hxMaCEL=Jp%}V^a}w>^1WFUBOl?Zz z4DekrI(A4>t&SoXX=`w*Oo&;*kl@vkPTOlg4X@!j)i*rBJGv0$@d?^@ z05!BXWip=GDUP~zyudI)jpyk){$NdIv$Z5J+Db_lCp7Z%__FjW9Zt?ED8zWnW-J(j zyn5lZ_tBDNkPcqQH=A|F`_G}ngngXX>4b z#ektc&h6w=0+o9)v3UAnum}mPXoeF|0|8B<>^hm3BLyUw3^J=CY~enYMC;Hkl_{)s z2a{~qHluGHo@4kIKOsyIIK?sUKvl(CGTWTG+7>l1rr6}oVkxkzo-ZEiGyYO3wWk9q zM+}$7VRP4O%IRg>Z#II6NkAl;3(CCZMH`u6HjA2rW2~F>4q)_M9D|D?HR2=$uvOAb#Yx!B4yh z9kb0)_1LZ;#%77BOGd+5CPto&_cX8){kdxL;vzm7_4iq%8+~&O%8?PaUIS7J4ShQL zR&NRM*W+8Sjm;fVwUfWD4^vd9J+K?E|0S0GTRL6m+yFGv!jD(mfPU9+>N4ob24sgs z;+H(=j_nCYE>TfO9ZC!O@0Uv7qE7cHir$pu3kbyb^khYNN=^Rr=Ay@V zF0*TMcgo&+PzSfgp>;UTuYITu_0_vOy&Sj$b`@Xg%)FJzN?c`dj%Gn$kG5V6*xFZd zcRfk;JIx^p)cV|n?WD%bCkBkT0w<;YNWN&3-Dv5gwj|tM9;WSb%2*yQ@0ecNX2Y>8 zUpMr^o61(nPEAW4vtTK2kL4-bwzb}HY80Z#UlX12zVOWjET@oxyEaY*@Wx)z{XqK& zo~67tRYnz6uy)+)05sO7v^|QZ9%|gED{7XXfjqy*L za9iC~=Fi?4y!DT8u=s=ME<4p^!vb*f4<#Qn=-brkk<0lyi#Uw?bMv{bRnW7 z=GyFMh3s^0`}mJ%^PRBty5A`f3^^3$@ou{yXx_In3Uk1Y zKs|W%7*&^!ma0+!-O7NErSpu3m)=6}6~Ue~y`8EUUyv-m8qS!GEt+m)YA7!K?4>_Z zqPKxpdq`Qs1#?fPPV=J;?mTE8AF?Po$q`a3j(CIyY2WuiC^oz+J`(sJ!}U5B+F>v8 z>1@vU$wOrPT~!+!1-3+ZQqhsW83OhyL@%T0++Bbb$9SqzTJ80QZ_1 zrkrSZHdTgR=dFDHf#^u|-x7qteQy3S!i?hm0G&I_d$}7d>oDMcT5ZpyXI|CD=}(p% zA8YeC4-}7FQM_HJImvKr0V#o?t3~bt$#W8z-V3<`5 z%o52kr_RB?@vElKSC>_MRV1N%H%f05Pw`+jD{zz-4uNehNcslw18gWZe1WyNplu?e zPV~}fl5ib`2Ag`5<6g_^^4Y00*LS|WL=vCBj#daV`7A!D=R_Q6 z-ukB8z^8hLOo7EU&}j}2M^=0bxgHU}r5|QozQ5Y~VH^`qd|_1!ahj2zUd1M#48ZsUus4!*hj$P&1*Yee7^&;QKq$Nb6iq2RycNR2LetYuZH;t4e~xuEaqgakK8e(cXS)8bu@}5H zknYVgsCjpj*wsW*hD1qyzn8}Sbr)1`_=s6d!s+DH@CP|N-vMxRI&rS&i#{oF%2nCD z)!sC!e$K&NwAoIztdjSICKBFHgTPF|0EH)_88Yt6{otRH?TWQF|E!x{Sy!VqnBfX@ zaMl%z*wi@FFO!mmz&)(5se)@s*b0zr(hct{j3nd++tXh8@4x6h#L5~40KUl}S%J2R zRJ->MPPJEu9VfWK9dcQden-UU5>1BD%geBmXEzxeG${ci>ioxxZ2e>lko7!EbglQ< zIN#9}@1t{ihXbV==`+7s*C#GLOCYy80Zlt(Edg|08Rg^S@E^sM&`>E zZ&N2I@X6J+yxs1NyL6}~j=i0{fgpgOjIGbHSUL6GFQ@qd5G$*Yu9uv>%lm1*K;Ph0 zlJ)6P2#b(;1FlSbYWiKD1F6YRKv(CKxYQRpYn`&j*Qc#`=@;M%9YHU11>Z&k#AG;m9yC!ilKoa#t*ff&FgkKjkR4#iF3Xe9$1@=OBpH4VPm$ z`u@wI(7n5Gr76;jXr>;B{36|f1+ld{h}TVsO{lSa|L`(rfe!=J(2bt8nih)wU39RmxBI{Y z{n~Q&?z!UF=|H6N;rI13Re7aXSCo!Rao#*>z_oZsyXnTCo|aJ1Z-F~(WSji^xRPtz zkezI$h(oRJk1*2D>__0SY>}l~`{$8!Ol}bTldW~NoZBIoZs6p$8;4)pCM%$uo)Rl| zNdf7paeDpmwS~Z1iF5S1N7iEc&MB3x|HA83CB#3RE`h>b<+}}ocljGMaC2n%^X6&p z89xr$&any3UN~P7Q#m4^(l?2eCcW}g6;w8s7!Wsrt|$BSW7xOs-Xc>9ny{pxDD(;h z_S0I*DApiNW7=VKDDQ*T3`XN+y4q<0wnddA?R>??ldpyR`3GbSvx*HxZ-*#Toum59=!F4ZJL-y&%b<`NF|+y zJpC6x)#EE@ah(rlAL0+?%fj7`mFh#{>($Qo1Y-5aviSVEoo?YEZIK{H0cUZLh zcP;>i%90$zZMa_xeA%S+%BL4#GATwyXF?FyB)*2cz6dv5Yagb+YftP_+4E&$q$ZwR z+EV=%NDRR$FYxzZt8{SE(Y_wB_kYa68QnPeP$?L6wOVAz(*K`?JQ3w<1p;K;>UFcP zNWc4dLM?>bJP`~7$kTR+=N?glFJ|BV1^Fa4*9KDm7V{Bqhx}D9kfkPCUs44LaiXLx z0~xp)Y6lvMmSHCb{h$}P;bv%;U|-$AwK_YnJ7qU_48}LKAb9CH(V72P^=UBq`X~4D z5!NAAVb5j}8A<=ceeUT)ylc?`cBR!>I;o?F?bpg56&2j6@Npk!Og%`Um#UW9Tr$D| z8%8->57(%$&7FUYsud5KDG}I+t-mJB5d^7PLtbWXejyHNCS-Vf|I>L>Kvq$@MxcO@9t3eDNu`nls`Cf9GbST9{_Rz~C^i&^PIhyn&NpUDd`IeQ;ZX& zZ)(zoc^+|5xD8(2;0JbKS^N2#NEoyU_0KG?ONM?AWJGCY$V8SF1$bge7aPsDgc4w8 zm6_kY=OrcUm6Ki43+r82%Hb8&lof!0;UQ-rc-FHw8ox97ApVcH^RwKEM>FMOw)dv& zMh;&F(YH?nwWuKuOd-)~{bhlcZ`gM3@# z2s<**MCKE!rnEE>&Q~=1aO5{te~n~WgGgn)Z&X{nJijHO68{{#?p+<5SZTQ$J36|D zyJ551&gh`r2)YPerE59CQr4(bGu6v$qK%30yht5R&`KZ%;uXJXk`*c&6~8k@T0Hf6b`~umAK8WAI(>+VLkmLG z;+2#yis|j!_Mxp{>MIwjyaUJ>5Prl z@(ibu2$4{0lt|Yq=#u>|ajI&-OuqVi`rG24dW8KTMR|F~R5GW?Z_X48$dzb7oMv)o zj&=R6hCn-{|6ZVpAtyw{V#&FlsUkaRLsXD>Hknzsnm5=&-fX>@pc~vIt~Bk~jGVYW zY<8f2e496kS$OuL*^PRD)X?!fiFwjpky5QDC!_u5iwtL{fQ*yvcl^hz`qzSUy`FS;W^D#*-KL5M zWVk>F%`)M0y(3jLMYe&|^PL;Vz?Jl7nuRmF7x*eo{l`u||*{&rdqmmz<>jCx~*l%(E z|3a#IecS^g(xNY!n#vOX=4Idn2~YAyvXUyZab_3$Sam_f4OxR&aJYe%>y9#~gcX{K z!H17zu9g!1JNmF6{K{v7lE?v$vkrrE*-Zi?4F_Q!T&b#hA^LzRuEpg^*<$5st{hU6 zMbhfVQb8Xd=+@~Y_O|L0|Cij`*A8h9_R%6wujAim+KBK3j5{2vR_=6sOlLp%?r|Yl zhiZnY_47iv^#0AAElor5?f{3hy|wfr`CE#9z4-&{Mq_M5;f$4ue(czrReN8_=hTaua zv;7K5b1Q@LyG$ZwA`7RUhT|7wtx^BpbN?%{6f@DjvXOXdx(k19gcI&t&9w#Qy)7ED z;%@p;-j%`Wzwjk~?5+JkWJym$Ltv28t)^K~OxJ76eoBik^hKP_UG2lsCrPK9p6mp- z75cK>DTL-?uT5rcV6y}6QFkDd&X~^}$NG#S>(L_7BPaXIYHc=SZA5__^#=XfR1M_J zIwWnBx!wk02DKsQ-etGg(ueEUQaPB_RFgY%fkkxCF|+VB@y;t&zQpDefDZ+ghh8kR z`eFWpY(eSWoSRmGhc5O4_HW$&1VUBPW8ytw6XLFcl)9JW9O)J=v93;|-)_Wqn+v0U zgHyi6eaXvyB+n}%>95?G*UBE;+&M)>o9Q1Oo&zHAn?J5L{c|)~l23`kHj;obwHb-U zX=*O87T{#&yAPiVIE10z^J6wF#wlIJzge}I1rhfAhGoD*ZzS2y!zSs1r6nXVN~0_8 z?Mlh9L$s}ou6Tt<_Do~F(>k<~^+Bk#tv7U;AVm4eIzwc&czv2z1s!qyQA+OP7oMDV z@#ffK7>v=2d|@I@+PIT4#gTUAB@KxRF@hJf+iod;zc^2;p&J%(8ZaAlFZEQt8GcMK zSY|<~SPWnNy%UpiMO1r^MJq4P3=6~7N3`LR4L)6EQc2&SQnJdKTrl*y^OPbfPL zen$w6w5zJ=MzPYFB|drXlh)AX@&zf=W~-S7B4+ciWBr2z(xJZYAKDc>f@S1;`ys|i z(z>CWh?V|^uHTMG2CDYfBlz3jm&bSd&LWGmC=J)f+C@^7amTRpMtsoKCoC$>N@d*v z^t^q`xZ49{;=#lvHFB-Rqb;LziMo-7m;+DXBucVfUB&R$ z4ws!(P-{5pEd#P;!6r^Z#v{~qR+ZTCmYr~21+#%|hj`85GTHw-!XVQOA|R9A>J>Fw z-=}rX{3E_3k^H%*CAaXp3Zg{h@NXV+H~PSi-jw@0s3nvKcR*l4-s&;OZ3_&7K?3!5 z7Y{8RLW(MkN-fU8!i)KD(yGnr9|?VGBKF-}h2kP(e{I`Jx(Z1BrRJ0qVzoc7&N_KM z-(t0J(%@4yqL2bp;K^&@7ZVB4LGxkcld4nnP|)f!pb!D;iYd7yj=6)lAZXA;cyzkVbyk}7w!)8i-e zKKS*{$}I$n_`0)&5T!Pn8(q|KN{dayBnV&MWlMLGS*M z?I$JdjUe*3Fj||otp~SJ>t7AMr?v~V%Lmez7KqrGn65?(WVrZ;Yz1E(UFikEhWh9F9M=m+upjUz^=7{5E(JRr$l>=bU5> zOVKi4&PAOQKgj&@u94?BQ^y4*6+@}OcGMY^8;ELu^qDJSl|A~v8hJk-u4t7^=%WuZIMU zjFcl?Sj6q51e#l0GnY_Y4t71~04uEN!s~v`ai2-DHWn0pC_Rkwpf6(Pz7zzWzupxr zmKg6Jz;n^#<#LeA7E(Lf+~g!d_TDJ=c6=Nb6a_OBjk6)L=yH->Gs%qVs!3kCX}h7r zUEi<{oY2a2m(L!8J)V)CVg=fz><}kEeS`JPar1v)JC9m8M;A5wm_FK@)}vp=U58f( zdnS_`O893y40xT9c?ln?^#2Y?f?jyQ1M*$cKEHlpFiheeAo)v@_a4jQ%C7NPR_;i) z@4H03>+vc+G4WG$_&}=5r$trIH*tIH5vQ?Ci06+kPYN}ZJ{S{8dYQX2?ne1R-t>}q zn|#_Q#Bf-fb9j){8?6>E{4O#6wYf+{Yj8d8(1%8MedK&S;(V&b!k~x@$JI94xB5eZ ziAX`~oNt8G&{5guL(j8TD-y;lkC8|)v;m%)_MQbrp8V+<$7NWGyOZx;HBvnjsie6q z;JBr_LXAM>TEYV~Y04EiKowpguGV&KXFf`ACY)`rjs|%T(6e*qV>ci(Om>jSVTWXE zRaCtF8j(J4zgrmFWM3B9+{w~hNx}@w(=#7%ICiAX$c~sA24u4$2HljU_}5pGsBwg! zX0`MC;;DbFS}1vKPVH=8TYG=iJ!L_}#^zJP^UfkpclB7ff|}Zz$%Sn>ss{}_#r;uZ z^$nV7z5WM!2e~$NNrCR(BRSu8kFF7b78v*aeMc4gQrqNX$I)+YOa)%@lq-Dgy6Q+t zbUmN)f?9nxjGGJ@w%}3Of@m{17xH}`ff@MqC51tjh zi3A%R@kwdAmUue<{==a*)s3ck=r8U(veS#Z@c^jqmt?75ub=Z99kD=yJ!MG(=9EQR zf4({frG)@{^BW16`?LbuR=CDB9f1QC8E_f{O`rp`@yokKLgI{bU!>E$APqT%DUXD* zFZQ0&vi#{-Q_FL%@Xg6`(ef<2pDyS&o@xskBhqhv|NfDd_>$xJO zw8F_rCtKj*yl%DFs;^ZAOax1~89)x=*TYb@0x)9@_rh7B=qJ(-`H=!8EA@D7p?us> zd)SfaMD!Q)8i(w+E>DFIAhUO_#xqa%4efYNr>S4(m465>%_~-IH#)RdiOG?Q}SEI99`>CFmHFR8X91!G)u{8VNaQ+uWB zT-ZAoi#M}kdDO@Oa0oOIH3v=(2MU5S69Z!sGhJkP6O(~jZfN?4DV%vH((Fzq`C3iM zA*Kt(v#l=y)BSk^*(=wpc6bh}Ix?_6OPr}P>?)Ua$i6i%k+gaIqO0U9yyo{n*h8o@ zZ#9)XRDtj|n$v*Q6(fwe-c za%J?&%A_#OsbG`m4dZ3}u~S_JD=TZ%rlI;!1EitP9p931PuQ*_Jfwxvb*TYpBr*@R z5Vq!KWk{iPM1f|Vu5_i8>nu0~aWT7U=N*d<|L$L!xB)TNXKSZ@F1F&{K2A3G2&fqN zHC6(f-prVA+*t9f{xp+qo}T7ts$%du3Wgn*F}YZrkhsFO)|1Uow!QHwW6OXs9m9%+ zj(yF$^fRqfP7LM`bY_Kgs8!(3qT}}?ETb>ds?iNCiNjG!pIIz>w;3P_G18SA=(SX( z4H5-8)bjds?y%UAzzCw_@<1zsy-zn#brkaN--n{0Qe})ao8s?9$I(mWRVchbT8kcM z(rTqz#o5sZ3YSeJ=*Wwg$lMQ&REIyGa94n?V{BJhY!mabGfEWbuCB^OQk0N$ww8=C z5dE3gs>8ZXZ6MBy;>?n0$L$|0GD*+LrcA)jqD0dUcWr>-gCqb%ptSr|e~2UOJDsu0 zm^`jgNn-V+jM^)NCxwaCI~rIejn`0NeEBX9(R&u1^LyFI)574On~Oq{PHg(*1e6ynQjT7BBEctnVgatCI?$)u&n*FZZ9;NnoJT~J2 zD3r$B0Pwil#%^-O$ zS$P;R06$huaU4^v3!xA-dCYW3(6uGmLA;~~-1yoy@|94iy||#^3FFW=?1!jGSB48U zwN8vcksy+KqJ6g~nlEcdgIo$Ndpx$t!VN)g?5guts+4aLSwN12(THRXS|^>;d9JcH znr?D7f_2aCeN4%2$A$maPn=Qp))`m~9t8ki-EFd*G!zhJ>v>lcCr^PmEJfEd&(Cd2 zr<_BIoD1hxmQX^o*gjw#7Z7tI!*c!1)}2ZCxc&U-?LP<3*MQ_Bd}33W1~K?$MgQp$XG{Tba>(? z%Cw?Rm5(imn#Z@!vog507JL`fh~32B$43I(%iKt}*5R+zmrjEhTQ&BjoAQ`c@^-|A zXxVlc+X=dBJZCB`H%iT~MyRDuj^joEnmbiIT=rO=K{VIixY>`PxvYN)PQtVO zXmGiPytaT4eFi}5)jAx7em>+F1v<3a^KbR((jkaf_SzJ~nF8{5`;SL=o4XZ<8e&%z z25qb>6GZ8?tfKnHf9N`VUW$_E@+ zdCed>^CfR@=orQ-5AW0U=w;boEB$6KKszx%ca0Eg%9ZE1D#57xvesJeCdRLzu4MgI zVN|fE5Gk^etW3UN2c|i+BM26Il&j0}*%TSb)QQBctXaWbJNj0IIT2$g!p%k1lJ>!7 zsn6oa3$e|slC;x~TbP9`h5AD5(lsEn1gOu$!1bX8+)6Rg z=sdpn`-OhkpCpmQ)>ZU#O9?ghG=VcAYt6m<6gmm44Ew*P zVW^teO`EUB?U|(=G@p|dIHd-n-Ykv832H-Ixy4*y=wBS@zM4%W8RO(a^CZHj?=<^-W6gHbLNggtp7)NEI; z;x`>O5(oz2RDny<`Lk5HAptLvnr)zxdat20v$A!?vyHSkHJ;g@%Jfzo`?h6u~&DPK!Z=GHvqfE zL}^}&dF63Styu^beKtegU^jD{cM1JirW+Q~CUWy(#!I<2+~tJ3L|2|?;ogtrB8egG zl5D{~>{rro&;B{hr+U1o8XO^>6t<}Z>6ml-FE`xQL>p=5eXq&0h|6}cG^v|BB~#co zec3PbcH1=<=lWG~ZH#sOt_FiMRnjPKuCtukxi6uYtF4nb?6t)X*VBDo%5=5Y#h7MR zJprZtEZOltEecWoHl-qE?XmACe|$^3rGz%I&k@ggTj@CYp@s$;Sob3I%R=t{N7>zR zPkns$@Hd`cs7o#0>fVtwmUMf_29i|XkhCaSxw!Z&AbIb1^{*(SjAZy_#W@idDDBlx zE*q;(3{-Bc5L7IT+cv+sn3s@_<8s-)Z-LYbA+zci+-|*~;yRQ_dZjAPHk9+}(pj;3Q|15;yg@{&GL>6e~lAFKYJiHrTY9FlD!3kgPKy!A?8fQS-O#ZUT)gwzM)eu z&+eIFX3bVZyFVAQ`Z6dYF316e2_`aQ0YEGL(b$rvYJ29716BAIQ3xt^#mvUU&z6OT zMVeF%TvI2398Vipu8khOXg`=gWrVWdeak+mcumDJQm=72T0GB-9pZ-M4Vy3B*yTg> ztBdJsr6p+^H?PNTOrc}y&rB#wXXS0Vp|oj40LRon(Bkc;;~v!4)*tmskG&E6#xHP0 zhB=px`KjxRAj8n7CMqi`)tLMp6YLv>XwPL!N{TeW$7}tGsAPnMwV=I&Gn&WiJ!ayj z*WXyWILHybO*a~=JLAC^ae9yHLZ1Fy=_>~f@se9QRIOTLXb>fp)HJt_A<{0iUA9npBcw_B1QVcQZAO)!!NI81op>27qpK=Qe?;EBM9n9%IH0-B zK+|~eY-MpB-t{FlelP52yg%@62Tk@ym9&~PGm~t=_X>Ph^^_Z4wox$oiODO&8V=BoqVFdv=fDIA|`Hr)P#jH z^zHqED=@m&)qZaaqXN4|Rf$wa=Pj(zg+cdPiZX3LZ1Ku_g;P=7qMkDNB5#kaLCgk) zPU1`4i#pNw;uGZuPqWl7g4Tb~Y)^rwxkSfXKS$%M#qYo`0CXTWR=MKT4k3|Q^2zBl zkx zG`sC(h7#u)=s@h_Ws-TKUvCfL#~r>}*ExyN&ZD+m4AIuRmjCAAm-Str1WeUmRCA6C z4q!4580CZ(b0cDdgp&N_j%7OuAUq;asl64Yv$p2S{6jRl%+z`9TM5;A|Qjg#zFCL749 z>%LlCq<|bze!jdbHT+wFWT0I??j7-9b@%=IHL7ho*Mr%zPeGqA4(L2$eUh|TAU%^- zybPLg8>5!vJHWXQY|2~*0#^QhgKmJp5ynLwrEekW64if%;!>eJ93Nx_66Le)`b*+k zharxfI8cfhj0K#KWN*m@qgp*p{-7o}f>r07bU`80sA&r_B*lHZTB4hL&{=^7{_&~B z3bnS$aj+7Z{-xOuqK#2S1%0cfJWYGTWRDZ+f>P3*nnaP9+g4`^>IQj7BjKsLe zr*hiVI&x|Y*o65wNun^Cv6{dT2B&?g!{HIfU-wvnU+M2Uz8>K?%8nkbA?Cx@%cDRS8pL#cC=~Aq|Mus(no)W>K|@ud0{ZsOn+i7cj-8FZy{9$S)S5g&@ccU$ zfd9i^v)=}O&b^D{%^h&(l~o9!L?jb&ObuV}1%KcF-HF00>5av-%dCMrE~N-R4K0{P z6IyREfaWVTV3Gz`^tT=RY$cXY>tcsT?+2%L*ni7)It+lqHP=Ti6c@fVV?ANN2x#drd1ueC)+9->p_2G%{Gd}Vjvzeemd1G_Wfam31ls!EPl77 zm9}u_@7vhDw)Su(PFG~?NxPhr7{mq32$cWwSi#lo#O{4-Bv+-g$Cz34-Zm@xQYVK1 zo=}o@eHSXh$=j-JH`kA)vl4kSu5G^GTTnyk;XEfH^h0TxfKtd3ztQTD^JtD(rwB>a z$&Eymm9zU$EpG5^bELWYaD3nOhU)!uQ}jkBI=QFcZ^yQVI;yPIez$ z1TqgA(2aR&wfW3c84Kw2! zS9?V~iL^sM+;3fP)~6876X=D}=xac7(G)F9=3O{!So^&zpZJ%Yejo>dSMPik@u!`+ zpkfa{y7?v_Lb1In_PM$hn5fqG_2VzjWVRYocJ9JhRNwT?cM8^0_4^Q44d_2|?jQ%0I5Ja6C3b4>XtVO7MF6k4 zKpMw4Q=X3C;cMk(&{dtW?=4j6gw~l4(-+f&g#h%qtMBJbA@T};BO!V2_B9gEe$ZVe z`~FW*7|~PdXL}jlLp?i4eNS@_w>9yVGoFC{V1js45!TFXKd`9Qondq08LR*}+8g4> zhZh&i3};jU|V298SP2= z?i~tzD0~8R@D{o3M1tpw-%HN+Ul^Pf?WFYWB2>zJA26&R%NCy|wj!jz@h$&2Pj*Rr zoPW>G060Sx8aRGvV}y@xTwlj=AYuQ3>9ehhs{N({A-=&dpAb}#vtIP=6xnV`HUvv@ z>&a_}sf&zvzI^sC{;c?l>6?%%#NLu0dfpwA+I8Q>`tZEH{0#KE8PKgneHDElP?i!<20hY)C6^L{kKVWt&Yq}zLY0yLsNMM)%2eq2Z#tF+y=O`C0_hX{f zo}wa@KhT%1SNId%O1dz6MpK2;Fd%ItAg3uw^f^f?YXu9F zht^m8Cj#UI;IRCyco7Uq)4Oku=jlboB6Ku97_LTOQaHPPgteqY82Cye{57?*568g9 zU*#(K%sQ`)(I(au06ecx8?-atc-^w_Wcs0$KxMK8IWx*!8>Yx|*e8^@o{jRD1-^7iwXx(V`eejfL0kEz!4T;I-usElpB zIEzndC25nb?8+nBGt)1!Mm!+Vv5L#@tq)hh`)==iHtd|--2XT;3yy+h-(f(*6>m`*r-yeNKsY^qR!8NfSre>byl629}=*13&om(}Wd@{0RfT z*%$qz2*$x4u}f)R=ueZ<8i*e?uC(S$>nPa&{OEI9J}ux(+)PmcdtQ`)WIIBor<$W z&pkI>7B?jML60);grXH6$BJtH?rsbzsc|Ly-BZ(=ud6sy(UOEFIlM0QOjLA20=HmO z&b*u}#Pz{xAWFh;5p*^hd@}DMX0V`eN7STKxY^`OV(y3%h(d_X& zL?(uIyYXlI|jTJ5;M@^##TlLUuXLzXjR*`*xym% zL5f_L3XGGjCDNJbmAGf2qGF-K;V?RS_F53(z=~C$MAecVl`%;;nMgwS?z3w{Pkeyd zsic%C%I>&cguQFa_!2jL9XUq+jzBwNZE&J1VZo?(%!5(*^pBm3V~^E6zsvsvv_MP0 z5+={xiNsUupfD*7)lRC1@Pb@yTQLvwlX4MPjnu%C8X=CZ+O&1^u`nYRE$Vvlzu%W3 zjZTs`qAJe5{AQe0^f`uov0BbY^a)+?Xsg|Ld)ypEG(H_s>t|yA7CJw{k*Hd)A!-zD z$I^}YsB=P7)K4TACE6!t+0Xc6eKsYhtA$g~tBT}#f023`hQ#{yQ6-elR^(~u@$8L= z{CN^S|KVqR{YL>#ySOG&=FCIV?od>zT@Q&dSx8#B0qOaAVOa29dh3JuJE0DOv(vDC z*#a!zmPIZ^RdK?}O;Ec^6divj7Jc_8Hqb1dH!J~XTz)$)@_mLOpXQ^(eRmuXyeIFd zj*B|9$7!+I2##-z%mp7|?9AoZC4Sla2k)5LH{p%9+F<5W-7)&FA|%v072O`XAK~*R zV&3YFSh9QtwxmW7JT`)7?INs5Cg5z{2stZvqFS@s@Mfl9_4377?>ifPA8L=HSs&x= zY4edrF6+F6gw(-FEo-8P=&^FWMC5N^_?6b;b1M^Bu(d?cRwaw|@_@Lbd)_m|vV$ymK~1@hzTAiNIMEx`~tnVQUmFd9oc+2Rw=q3(v(eeSoFnIdTIUr~QNpU(R*FTkkeusNL)ebi6JM)1RAw6}nQdx42e#;iabdsMnj= z+3akDZ=Z)XJA)BdwI-^@=3(o)O~~+8LDQN(n#`z=M<#d2=9k|<{@Lvj^5=NG_wyR+ zR1I8qYZsgxxd|!x)lh%;-xxCaHwr=6i(z?!;I8Y@D0311UXwzV6he`+X#xINlM&D> z8R;H>AHtvI*wi8P!rj%iK*d;~JV49oS@|?pKCM)Yx&F0Q_W#wQ4_N*~63Isay>q6lTW{(nZNjk^aLP1l2qdkry;%-%ubu3E5e(NOR_4jS?H9Z~Cr`OUa_}moip1lCMo{Y?m z35aeI?f)9(XOfq|LhL4SJpAI55mqfm+QaU(Nc(DzcvY8msSw4RvY8iBZZJ{4C0~|# z24d=BW-?&yxR{$zWxJK2G6|PbHjK&1uw)R2NlIJlrL6U^>8Xo3j{eS~cEUJLoN{dO z-~3q)eHJF$vl}?`owgwgxc{ORutyPv1$qhI#Xa4KV21lb7@P&Pt-8+8O3z)aW*hJp z7jmQ4D}VZ4*RMZ&G`^?JToC7;L3e;W*4+9nN`^(_S%54yq7lE zwVZd-m~t71%%tdqK?&D#iT5_@HIGLo6^t9Z0e*E`XFJh)R>!$Lg6SeQyh*I)xZ{g0 z)ji#DUuX54;&S;yi;9dT#hYTh4|8%gRlM)Pbr-~8+u}7yuXz@(h?#-AZl8rSAA1lz zIybLcOXdqjuI5yzs{FsC`iv zbU3dXwr}2v&3}G|Y2Nnuq-QAlbbT3rlWAhBor!DjZjG()4!~4Wb3MfgIPXq^)s0`{ zqnTT9O5b_#~-1see6iN!1jr*horXuMUV=@+*Fy`6&i}RtK;C*crdv+#MgUtAY!= z+=ezMtjE}4A3N%&g7@M&gFyv*ntKif@9}*LOfu3RkFJxfqLn znTSuOhvLpLz2O`2IH~=o;jN{Q1LHo!n&LQAsTPma`Q!1<_*JNLNqcm@BoXUZZNkc* zKgRdVa}b|!0|tG43-Z30iH#ApQ9HH(ySA;vww!PT*FKZ3kD0iu=X==byBY((XovZa z4#TdqI-+^PB21q21OC_&ftH=FMyv2O7(M1&Y^m81Z#;e>RxDbJ-P>1T_Kf*RY;z0F z3i|`&CND?z(@sOpxG>F^KtK8g+38p|_ggI47LJ;yv_@xg-HM_gtMv3(oZPlC7WD6f z5sS`6{|Q&(&j+8wiW(ho^_9RkZ+wKmcQi)VXKqH^&y%q*`f^-*{&Ea?auJ%|eGTgU zIU7rYPC>gajgbELa-@aV!3mYOVAA{JFnetVf~uZ_KE1ER#vlGhtrnH=!>ISMJh&Oo zKeq+yC)A?Ji~7j;_-*u?@|Pr8tXAg=+}JA~(;xpx!28NODbyhSX9DkeWGizj<%Phz z$>q5Ex=?)k!bAb@h{UF7equukC#Zr-JO0G`(-+~49h1j+s8QIZI(W3GK40(yZM~C3Wvd2-}KV1vB7C06xP%4Nl)kdYV zM)|e0pTq4Bz>gI8u1N46)gFbvOvR2r^AUStGvt0V3`vuAAg<#@2#*U#&}kh|De-?; z|G?`&tEZ9JISe^7e?#7?`AAPqM5P`Nqw+b`kUR4=B#-$NTW3Tgaqz>4udxHWmeaHB zS+$V&^}9%VWeRdL(#(@@DP7I0ZN|2T#vrfBg@_FQ8Ob9*$If3!d^y4u@1Vw4pvHg~ z5u5ulHqEbtI(@D|_N!g6>eb)iyKfp=3_2e zis?SFEfP=Pf;HV9LiWYO2)u)_bJiRLQ%Iukm*=o{ND8Wr8G!iA_po$G9;#fB2w$bM z5O>=-@GScVoB9q0$pxtO@I@$Gy$S_EC!%s|54QH~gNUfeyt!0zICe;K zHFhjpehR$+Ri&<0I}WuqD12-g!N( zW5SgB-qNOyEQeKZk=KoS&cMs-I5$q9IKVFGMu}#Qvu@y=-CU5LUDX{pHoz@F&AiC! zwn^S5M<>7+*LTwofo@)`vd-Mh9Wu4W1K0C=Gx^|2h$dHav!kfO60_`g32?yDW_sg0 zsgdCsUKvz52UM8Ask#VAjJ0&mD9#MvW@f;=$PqPm+jQ8tDsX$wwgS}tNeLc|y5Mu> zbM33WuL}IqhehOSv_MYM%Wsfp?eY$rwFw6n@LS6eA{FjbFRoiLt3y?bFqK zdD_|N|J4&{{KF93KjcRgG`bXzJa!Y7k9irpPVa%sWB$U>_rJjMtyu`FaV9!9_u zbCE(ZueHwWg?r9hiq~HH4%_(4QRPD1)4eHHeEAiAT(%WOb?(6DZ^z+*Hbarw-~wEK z^C_4;dOGUfa0kxJnu&KteS>x0rg-R$*HCHXHF)u_tNsDr7gt+^4~MTq+t>ZB=J0eV zHFy`ld@mmRU@0oK?1J!D51ov8o6=2`)!r3v zPjNI(>GS{|ZIh4po*#xElWcIb-dOnav#-4!otvg(-22OM`QSVK;JxHAWV~=6o}RQ8 zbuPOeUC)ie^pV3bYeNK@ocAA`b#6PfZIpzM-x!Qvwq1u;zUYXRFFb)ae(~X|K7G(G z@>dKRHW7=1uENNVJK)zFdt%(qwix_FH{kOHNJ{$ylO}$Jl_})W(D-T$xve@zy)hnt zZ%#*O%l?>hUnpK1I2h9wq|(=-CN96dn*r|?sL}ik)S(}Inf0YRRDM<(mi|5+3sY;M zRi{okHSBLpq{)kn${p~3FSNzFmmb1QarmbHSS%y(zT%GS z(3rq`;?zI(h@EEeZjBC|3A_i;gbwW;QR4)hb#h}=suGK6UnUlQ`8n1$?uq|9Zxvpd zupXzj>4w&EtMT(szhP^gOVBcZ4nF!e1b2OOH)7|K@{son#*O+8D+rc71m2h2+!dEK zuZz%~e_`6hDfoF+8o73P5MHAN+O;|Xku;L6D;Hwk>@1vp=Z(0a(n^dUIStG5YU0jk zpMYmf4-B7wFmvO^K<q|60N~sm^YFm)}^lXInxEy&CAI1jq5X;`x{0Il{7=&GU8|n`2kBFVKk+C%f@fV*1 z{QV*pT>Ko08N3Icf%Nwt#;Vcjs6OOfBxH@mnnwpCeQPsR>Cp-i7haDVZ5knM$hFv* z_lU%JZyh}eIP+dqtML=oO({mTo^6r$`V9p0zmr815ZCWB)PJNFcD>b)Abtlb_aBIw ztqIt_`h`^7lTh`h3*q_tUd-z>qRba!xq&zFO>}gG)bTDL$+(c*%voH?m#pTBh78p# zq!t*qliJ+^%_bolZO5+OyoPIehe)`uLN-G@qo(y#X1#-5%2hp=uePt2yka#Qo2}w(pnEtg>N&hxpxVTO>t@2X0`CforXS|j@GwsdaNo527{BKZ zF+*~H3HU{QH{!2NuBIiv7-+c_Q)gQYXR^ylOFCeU>$b-?fKBT-%dc0qVF;!+B&!+E z0B8pl#IdXgO1P10c7?>GwE^pG%a7Inf9dXJh31t?oC>Fwu2;gV>@$lHR=uZ zH7b(aUOBnizXIO=+Q_h8`MbVSFWf?h8^fn6Wo ziLZ7v#o6bafu{B9VAr2xG2sVNeoexz;IM}1^mre{O@0FJ%-=<}j6$;xH{q&;wV3?H z4_KX=PwT3q%UeTm$`{XKdQ2Bw6!8UKosy5v58i;6`Zq+bQt+dexJSN(Yv`p#%u z&fsm6t9eoDp;);Doi z>eIO9od$UJ!wWI9S07B-P*alcwWQ>GV<`C^UmwrSe1NWxTk+Paws?Kcqo}uJDSn+i zh!p6>`ZbKNi?eHav1C;eCCMZAo|vY%vuhY zvo^hnVbhZ+v$z+Po85><`_#kt17E;5>lH+Us-1#vZO_EoxnE=Uvh7q3gVz#x*KUOy zZjZ-zPmRMeN*2@lwrkNiV-`O7`cHB-51c{`C-A-u?K_3xyMYSccJWkdh}$0Mi5y_#sHF6NRK-reWry>ge+^x%Ult16wY*7H4Jrh%q0| z#uiZ6Lf1|>krL%B&#jLC)JwyZH$KPw-MI*fZ-nNj)(|hF^er2(YPkpJ-QF1ucKn1- zzxkVDyyMXM`L|GS`Yjkdt8}sb0o^}B-v-*g;=6cwk5=*HDeog3nTU5}_Nu&Xe>Ann zA$NymVR2^9iHEWP_~C%>iUe;PB`yIA#ZG-w9Difd2046pBdhsS~-cFWQ3e+h0TDr+dJ&@LjCE z`vvT-(GK+ny^Q#%+1UEQH^`yTNO_jp_y>0URQ3dI< zQO9GsFobr?b0D5;jdK|_KCa9vSXXo7UoWb*f~LB88_0CvlRKpy5~W%oS0D8G|D=sk z$(wwd&Cv2*EXRB06zF#1&Q9x!S(TQRS{qzyXB)S3$!Jc#`>dvmTY~xA2B-@x^8uA~ z^~f@-VCub@nH2wh*kmgYFs3GYW7yZeYrl-TE?})~%ej#W25z6vo1Mwf2?#Z!_CYhX z>$&xLLl6-`;7uil{_W&yWdrYL(QN9Y=sIE{s+@WUUg%dB6M8;@8KlC6#8kss*Yw7X zRZ02&D;#&UEX3ObCn2T&&3LXy0bY1^Jhqd+h9~L-bnS8hGFSbCZ)dGUjtTszeBpB# zeOD3YZH=c{)xH?FqB^eW-5VE$|AgW1e1TQL7vbfR-LT~Lo*19i68%Q?!G;&R;=Lql zk8XMw@1BOiZT2BmSvpR+;x^oNVGhQ=I1^2%-PXQYc=7cqSh+)eiNou6!z=dy&-VY2+>2R# z+&6evx$J4Yd(%!larX#hp56`}FRF$G6DMM6!c}CVtF!+P-)qDRCBM7{Ayz7w?VQfDUg3xSB713h7T=hli)-;oMHQ zqGO}2_-N9fbR)_{()uJMXIH~b!^flN#(uc^?YjF1?-}<~VwLU$-fi&m^e#vlIUc!n zPQhPO-o&(psR)Wc1KoO_fsG%0hM%^i%8$E;%6Qd0^-^?hdl52!7>^B2+7WpFf$>v! z;G*l>yWU2%TmGE5vh4H@-rLH~!(!@>a%;r&Ht zq3;K+@mJsHu%yZr=+L?n=8mUCb;al7{ytZsaN2N;oE3(vU+IXju^SNGDivQ0n2pE_ zJEO}LUQB;~EPf+MzvH1c$Q=6~K3Ps#Ug`T8SNRI`>VFdEyf_#?Zet5mK7uZ-&?I>= zzW#MFcIH_)4W=9cm*M&zarmASrV)6zy0sG;W&Dayr~UmO(4GJQAOJ~3K~yEzwtopj zt;Uz4-8EsDF=#SYCssp^+&pBYrXsVr0lL4|2i|ud!kD%3xajtNXysduzZcBFuc`IX z;>@$r!uKaWoboGHY;KAN$KQmFk3WJhi%vv`j_t_p{40$6ZU@e|;ToF6`3qnExEA%U zyagSim*Ca6z9tWhl8cA?+5IM*A2}Z*$Nh*+-j;ZBP%HfYz>}DsUh;}^fpQPyxqrGA z_?InEdNeKlmjCjQ4$I;92KE0~S5ELGGYSicdLh#+s?=r zF63_A8;vGBfuP^tMAE|(5PHvmBQ~pfP{RvR{iTtp-grLNKiD5BGq)kK|3_%{=tbB) zpcN%&eP%D<{S8&xsfXC}PsFbOYmZIw19AG3ElYy;V||cP*cJ_5x*yRL9+>|VCv1BQ zIW@YV*|$Rw6SM#uds5c-X=_m2upMf>@)8m+*o>t14oXDWb?TClfbnKwUXW3z^#R0zAIc> znzo}Qz}ThT3eNmDy=TX0IX1ht>oztQnAH6?0w{Cp9}ArtmiDy zN*!-8gm#2Gq%q6%R=`>tE1`6ofl5p`Z(|3;tUc% zh{HW2r=pARcYHebT};b91NYzE9St{3z(a%A;+i*lpdQtNs#+^vCWihPb0-G<9EA&S z?2SIH8xVYF;+L0S!-%Z^U_$Q@iShQ_`W`xOeE|KZYPQFOlPSA-i*Wq?!`}R z*uH5ua-)i|>bFUF{~dBqzw1prbWwE_%y}K{p8uJCP~ODIPVv~bB@4O11z59qDn<`o zgo|Fh7x7;Y!O&^7@yg=I5%ygYs?@K7+*Ha$J@Rpk`EfVGn_hv3AMT14wWCo;ZZpMy zyp6{;--Mf!d*iV$G?q!h`@gt{$~<{@?2=6CTfX`f8`@us=H3joV z_CQA}{S{sqLb1kQqst@jBBQuNN$~DTig%P%ywAmRGf43k@V*iQKW~HCcRz;Jjk==y z4UOm;co&nF)Y+vyU-hXyFVz0lR!22(Z|9CdC zBI2ojJJs_vQwc={`AARMg!F75A}Q9Z+f5yCZjBIZU9c9#Eo)=h3;poH;ud&xRBO!d z*B>(qo8ijqZ^kvv!jZW-1KD*WvHGJ4NIva4TvRj(PrkPX=iK=KS|rcLuNy1l;_FW% zm#{p9#U~)+@6i}B@egd;rO6XxE49X*kDrLSFTIAJ3A}5b-WJ`ubw=Z`EM#WqqF~2w z7&34&Hd2gAm0FkL+U~KK@%%(mv1?M+|C@33f9k-qE1O)YfaIUv#(*zZ(Y=Gg`x3P6 z5Q-Utr(kX6lhEPnwz%Mgs&vE%q|6(Jx2CK>dSMvqUC;wPFDt^=!{4K@k7np_V|&!w z^bN+6YsL26r{lp7Z^Wi2AEhkvL8#WKIj-*52HA6{gc#*Qs9884UrwEe6kh@^zpWoG z51oktgTBVrfG0suG4-=sC!F1=3S#K~Z}2Hb@B#eA5YKf2Pj=9UuJhXIxTRx zl+&ZrI{!+qj}+JTy}|ZBZhPkXDGAVfxjF9VIy+?eKCIv!f#9wKamvtc@Mdg8W=1Gt z>xUtAbbn+fK0wNC7<`El*!{^1NP1>0a#F8FqokpTD_D zIw}twgN79Ay#2}X$fJBX)q0cr_L|Ko$jL+Y__)>F8^8l=2G5<3=DL(L%%A~rD? zg}bRJYCJt}U3V@v&nbIp-f~mC35a7k#ye#PxtS9f(}NManHSRYYXL!nbtm@`Fq6Zf zAxq^+AubkE>AN6_)F@1q*^3#>?q`ccGjXvJF0SVajYdgl_jG1TZp$YL)nsq>Qf5dd z{WXXB#cth#)s{{9mBmr!H&#e#8&S=vT`gNC&FKFO-}0ZVfD6FWA2yS@ey*9-Rlepn z?4$s<#j)%Zl}@jc;oJzk7WjFcloJy$Hh%LwU;$U2k1&d|Br)UlR<#bi3)xu>Zrm!# z#*HADwx?v&8mCPMxl{+r&X-#on zA?mg9pV#thz54YmY(=#Dqp>)Oykef?i2(nj1bQp@Wb|agv_^^mr zgpu1ser^`IHv1@(bvPw7$VFD>sp$7bALI{u6mKouE$;JqSp+?WUWA5))6GPaB;?W! zAcrzQM^lhScKUf#$NDskxpfGZP!@4daU%ZHp*3og!uR!*dDt27FdRg-xbY<_%{BEZ zy!eAHiX2Q?9m5bBq9xz*GIt@1YXZ`R;0=wWV^Bs;p5!2Rf_#FvT)IIA(fWu`nz$** zLK?Z=28Bi;CfsaCGjRD_S1_A2=7>;u@^dJ=HBExVQlc+9-9Cmv`aFkhkt?wV!3d8C zM+mK#xux85@Wh9w;{C3Ju-IfpXM2W*g&`~~#Bri1%B8PkXehjNyqwHTngymC0NK1K zpKPOk%LopOLO5Noy9n-B^$jA34v+96pX`@MfBS;N#P*!P(ZA4@o12ZyT*``1H#aGx zmzRTV%AQ$J&>RnszZRSO4Z*}UE%3(TyYSbI-7sMjUAG1F!s$`X{NN0zQBdl_gtzgA5NLZ z3$n7vp5!?bLN*WP8zi|f(O?QmQ7#TxZ_ZAM(0=O&1}g7Qdd z=Nofa6y37<+{tB6=Z0+K;U5LL6OkJiZ^zdYUH73h(UG0S$17n_`Yf34J6^h$_=ZF_ zpyOvd*KY~)m)jpD&uY0f>o(+C;9s@CzcN>K98WBi-roD!Ql2jZXCwDAEl?WxF0IRX z={p_x(@t*M`v#^VNn6NwDYwkmz6bH}#spIa?cMadU}LD5!y8A>D{1WAN4~JJT3JN*P35P{GLOIf!JDt8XatdP zMlGb#7$fWVovz?Es^6+|o&(EFodoMQU=gssCYJ+S+ z%@t*lN{mKGcy18t+!%_D*WQO6^Vh=@Q5iu2reOD3ZJSWdM-_J>MRHYsN!#u`+myvv zqa5GK$uBkR>50c(1rMfu@uJTQwDc- zJLi23e+j6ITFl!hWLx!_*GVEbT1}U?9MOI*oF`$@%xQjwTLD|eVBSO0g7b5iG);ib z(9YGVI7_>z)!csr=k(TQSQp#VK3dYuj6pzNYj~IFE3da>U`S^nIUzcViw!6o3smZX z1iS;4VjjD>;n)~&Y2UhJv!bocWRz@8DbH=a70%lm*wq^0en_@pY$q?Y9=HYd0O%Hg*S?57_HZv3C7ae4(t59ezKJd8@tO<3 zW`UD9v;i{CNC^E#`2qLfMsnyVc<3!0T+iLTTno4s za4m4OS)hD=#t*F(jx){6_tAFE zly`qC0=&z+kAdxZYLg53(C2Bojz5&PdKep0@h6Eej^D<076?^CFb;t6!ZK zuoq~jh1#?6-x71~xV6++GV!K&E7f{#Za~dm!Xa;ZjmZm6?UhO+#lMfz$oXOS4@+u`DX+KS_P7MkbdASaX+%OEU<2sadz=0RhVg>*Hb%I zF=vqF2_4b|oy2S!yRF-atGkJ@X2>QzP{5xTtFmkPFjE(ttmm;c#$|s4{Nk>zC%Kpd z$%ANyQJS&G@}kf~QROnhz-?)N73}r$=NFDUmvv4IIc-ZfculHigmocyGXuku2r}El z>j=WhfKf3q$oEp&hQpj(O-E7o#ZyFX=c9Wdcj)67{`a0WfXm*V-GgJ9dklXI-I}D} zo!f86xb+nTiU;4tBYMxExYKY;@4Inxt19?uKtBwfv6AXJUySF!y%B%+>V*kO6=2VD zhHh!jKsi4Qg%fbc()Xi)z8iU@81sXZEk|)gpA5Hit_55R9F-P07*;we2YQ@!nnj5a z@=RjyBp-Pkre~0s9sxLendt-F-m{+X6TT}-^>)F#LaxlC3A{ruz8N*2dJb`UUto3L z*O30dwH0EMy){~%;4O+bfj2+D73AmBKLT(TAo(k27>I?|EY4VNT*9p$t;D2!W%Xgx*7giIv(LGRq1L06`$6{#`JCS}Y!lyw zu};tY>r57yHY{w*v#WW==Ivx#T_=5^_9QzL_l=cuQ}bKKN9)8zowQe-2++fDjJT(g z#CWTUtoIxnw{4VZGZSDz*g2^T*v5Dcv`SDs!?>Mwv~8GpXlk2J1UY`H+H3$_?~xqG zZQTtl&>9zUIjC_(7osOHXV|5Heh-}h&Zo!bkY=pQxicnXY_nc7pc{qXj#sv|V66&z zk+iL9x%ADt6Uc?7vmX+_E@SYIlV@Ex);uyMo;=h;_nN8Nv0*9S91g|1lwEN*J02`h zR`A|a>6ROjHnJylM@CVo0IA$Lq);$)I}b?5gI(P*x)yLP@UK|F1@C{w?1$~3JfX_~ z&Y@Pj>9=KfCb>}W4Zio5aBWZ6t_aoJ1@8*E7LF$Ht`Gy1ve9w_Z(_6<3WH2ZX7J8O zK7n@;$9HpfX$DsUmx)p zMU~4D3Z!lS;05IwbPeD#SW8JW$*iv1+GO3*J~#ajCt|DAv%<}j1`6crUe0CDG+CRd z+akQ`XB@-LTgs#XtKK9Gi_1A}r-|6O0d_%GF`KvbB*YSUlg$+5mF686ZN~-MCLdE} zS)Zo45mvB`tG56xw`f&uRi3r%mnJ-8Gk6G^L&(+JhBR<2rPk#(+sfGeNz}w$-5gSX zJpHcYqCU&#CZo9+$R6LulbdYnY$?us&MxtM!o{Cm$DkgtYCJph!EW$2R-D_{xC1jm zA;(d+u=T&C|8zDv;ajlJi%2RbmM`Fabhw(!(A~wgKv|(%Zy0*t2zYM|DGAn0n;Zwv zxeszF-kG7>U0e&e7H}M^z@}Udf?c9d;?@R7;9WYimK%5z=fuQD5_nS?R(3I`oI0FGiV;+5R2$DwWd!ceA$*Iqy43f7;P_Z z>J0Nd5g=fzyvOe3oQ^=0d6^8beJ~olbzL_l&@2zLYdN>d+$!L0I5&tyUp~G7y#xJ* zEzS7EmEDNU98b35R&=Dl|W}n*hQQY3p<6<<-X>q@cQg-ldQ?PCOXp!RRP}{ z<~0F3VkUY%%;NoM2ToWfur5$;N?qIU8m%v(cpJf%A)LRDoCTfBcUd^r*l*2OCTX^* zuRd}K=N!&jMvD`salcs6=6G!rzfJ3MI4)aQQtu%;v0#*M!-J|~o49WgU$x%1sNMX^ zI~pkGSaMbLCC1x=w^ehsAq~GY1TuW~P9QrHR&zTFr7kA6wwov}0Wi)Q+0O zjoXtBu^i83xHJ{KfUyYW2JX3oMyeNe+01ru47k})48|ZVvE~fj^a&f7+t=9<1c{}vL9p^5SP-06d)b)s?}&kNh>yQp}KOo%;XGcYu=tNHen zWch9tQi3%O_2mgJ#amt!uvHkPKMgneUD36cw?=t0rx~_oc&GP1qbT#f9EZ*Oi&D*d zafxWtreY#1+4MO>KC9jwu55m^*zH`CrK#Jw9*g^?yee%ue{(-|8!ca^9@?s(%bo<% zq*%G}Ncw^g&c%aSyjH>DIrW0oDL8*K6ZJXxz7|=Kl9K&RW%YtugMe5AL|W zQwc8*`OH&AB>`+tQ7CoGxOv-&0zM&Jyj;jxm3KLZ{K}ICoE*+f7>EMT2I6DMiBQ;= z@yNxXF70AOnaNOB2QEA2rP=_Ilsu}4T+LnZHrK8Da^zaT0`mTPSO&FQC)Ko3t88-# zFHWeINhRY-n@G(^na`_Mt%hoeiBhg@7nSB%w|>hp2k%^Qisb0W5w1@V;kT8ZOLD`)Anc@q8i= zFm^6VJ2j>fCdNhYbIWIvQg8x}@8<;`{bzAi@MTQoAzw{F^qq;881H0Bs#Zv)Q8}8n zh)Rp`qQGfg%+;G&*of-p2Jv=8%lx@5_$q2NgQi-G0a=>h zg~6KtHub*6IA*3GFy`Apt-s#4F|D+(@_euWG5@JE7p#7BTsXrt4^HF7P2U)pWnUUn zF%Lsf-|uo{V?wD;*L+-ivn+EE}SO@ ztqrd6=p1`M?oOn57mBO7t9T#sx7}@^Vl8km;2i+sB|w{d>co7T897=NPPNcuV`Gt? zMs+?9Agy!xxrU7z;mRx9;^dQ0LVSDz7{YUMvax;pcKq`5&zL^_YwX?~ShuudP2{%j zTHsi>!2STZBH`Nw?_>SSI=tg!$c~ANLmExg=1@KnyIA<%Gv2$z^;d>OYus*mfp-(C z?D6o{&4@d^raEem#`mLjgg3*hCtzLhzDtpwMH%kd016Hm>BtXe#mw zM9Z$Grnlit2df#XO(Jf|R8CAL=JgDb(UlnhhA z6cDC=64z}8XJI@bp`-zL1L_RR2GYenocEWu*a%*N)_nSsXy!W&rsvO15;swljVn3# zfti_~?dhMom-CDTZ^I)rrNSi6+{S9NTe>L|CQz*xqTD1#~&F z+=jxqs^faW=sD-i?3}foW?Ts}3OKo1d4M;&uZL7@9q&W^Lc04Or4}d+bj$Z+k4Nu) z)a(v~YXAFUQmn%ePv42u)cx13WWa9G;%xNnbq|^}YfABY5#~E4oe*f>xg!NX|MU}v zzxg^+$mPjhTno4sC?5-y1%k^9#>;Zd@)@Pu%CT;NxcGRa3V5?Fs#jPba0e>j&NHBH z^iR{2ro`9*E@J+%k- zxbyup>NtPjcpU?>bu;JV(>g(FcKx=TNq?*BxM^G5%&9K9DBMQS4g7v{rgr92v%Rvi zQORXH{Y3kvb-pDzn~X}C)qpqsWz=QsJ}sLVw{MLvH|j9AD6nbVvUxvaWd9Gb*;as< z0oKkqSl4c5Rlm!&QyWbbcdg+q>bJ}+Xy0VAz(6i{L5ro^+TH;*wxxf39<~1xn=U7S z+u`JB49=QNO$;Cat|wY19YnQO)Hmjbc_+qdQH=fh{R4FiS_)*-?X>1&KE)Z?PrZuMAxSd;9bm3E7I4ioABBKcjTA#zA z(41UNW1Lk%76=vKv>ns0q?TJb_cqjmvBWd9e77XM4;zg_u=YGEPP zE6COOH~PwDM}%TS&qok+-r0El^`V&Y-8Xx+(X3y7K^(ap^1}5dM~@kUp+kpOh&^l9 zu8sfe*AIgS55}t1s}JcI*IaWA8Z~T)_eYJw&Ye3;w6$pALiu~;%9VI=zyQpfH}9a1 zHEH5RELyY(&pi9=LGADEbnIK8G`}|G0p9zvWND6n?4O0>YlLSuZ;qEki=c$M?Ko=e`d+G6YuHDfdeHLKw zj-#yRDFoj6l+m1%tL2mO%_=6ttU$C8N(DWQ;AwPb8L)sk{l~G~{GKzBOWkc|EXFvJ z#aaCpfaV82ZcpIcKrsWlF`Z4MrWwjr5Y~8Yk=Zr=nzuJ?Ss_rrhT@I1v*xJP-C)-sB$;Ck;~_NI00tf&bX~} zQ%0SZW@$Z5q{u8qxU{Km-2AF#&vcMd1Dus=<0`Mix3#-@oP@|^VXIz?YrOQDPZDRr zGwQp5v`wg{C!G7i?(0$~T=wE3@h0J#QOU($U$)g4a*%6+CLoAKesD;+DBjX6AB7SW zSY_RPD3R}gyOfg!oCoNCJW213&LwBLF8hM*J;6Ja6z{nGE8f*f(HQaG2Z-S~@K;|! z^qjdUh>Ah>Q_moG#R^1E_y{5CyATu_jPx!y!F%65m^Sq*y!y&ZC1Uw(*BHEe_3DMi zOP1io6HmmGPdkg%R?!L!~1xouHQ&I3;+T$N5r{lO8X7e-7z+?R$!+;kDU;#}uR;yYS-EQrM z)SapLc)|pvr>7s#76RUB>BuH;r~@kA@_?mRTgj4Rfrr`4)o51j>pIoPWBRS6I9M0D z4|vMl4UPf}NLF)FymxF*5%4Y`;4Ca8<(pxRz6g>u&A5zPo)aQ7rK&ZVn!=~b*$miP zidleNAeh~}Iq{jgb8A{_!=zGjjQ8OLZOVaKCtP{ewqp?4AT;-l`^7Zrk1|(C*FIRM zcX`hf0j#b|+lDo@b%kt_+PU<#lpd1_0q(Q5qweXN^DD=Ug+JB=Yg`9h)qGDJfj1jd zT)#PynT20bsWk>#VzN~Zm&R4)X5*0x%QqGS=k~gh`qtcO0cJIwjq6qes3LA-#ceiq z8GxN-RL z#~;Be3df%Fu{rzg)~#C|g`Ab<7|O!V0L$-LF|S*v4w5!(K&@J}Wc$d-NO2$BL9@S= zD^)51-jxy(5JO%syzsufO?GxR*}%U(j}q!^-n?11VP&5G71BdmtIIBp8(4$L;eN z-R0P_KzW02SpmJgkAG~Ponv=2@>@Xn>RY zBq51}$&RTozzi1MY_m``$y4uFiz#}9@h4Kb<=V$8tdp71HtBe3i#a1xhW02$B1E#wN&p#bty$MjoAV)5DKx%i< z!uKvGcWfm+voIN%V#nXU%@~pSvYS}aX)d8>2nAlEDu)BeHPfJTs_uvO}Ec7WWf~6&2@rVkJ4k>w~#jf z7yA{^cM#1IVf-KGIGB8|0cYlEkrz&o&R%M>V5N05d91_zJV16IT+)*nobS+qxF!VR zGyCbXa^E&9L5B9}V#nHbJaL4@u~Eto=RqtK>a3}`agIsNX}t zZn2f^_wz%n2aIg{sb^UAT@PDzza}g0v!|6tOucnflx@^KJTnXojfm3S-91u*B8`Fq zlG2^hHGqPObT^8WbTi~2-AFfsz@We|bjNR=_g(L|zW?vJ*S*$U*E##_v-deMwLj@x zYje+E?mmj-ZEwXmk6!OPjLTiSK{0z`dzaht*%Z6YoDhYt3%Q|p{vya{eq0as zBo$F1H;4U8X|pC%S2*-}0XwB<-KIV@T9PZ%u`(#?E%BB2Q(9L+b2+|?dOC785qM;c zvasI@rXC;V7d!OILE~Sg`d$j+50#F@?;J$sY3u+GP^-$I%6owr#I@u`w+a zQvrc)vxh}++T{_AcC50%R$HQaqlv#x7RNfaf}Y~29mid$i+))gDBe}C-=F*i%KRpp z;P2Cj{iTa@aV@LdrqmH+`ArsGnT)ZZJL9$Q$zT7!W~*OsSwCwqj}jWGIgec}+xU8c zTu%u?bDPl72i#kKyBz0U6z8M|o2w>zH4fjB=gA&uYZ_?E2@4a_s{Yli&Pw^Xo=%Mx zw}1>OIbQ<6l``q^uDhxbOh?tgIj6;AXg4rJ>!#wL3E} zuwLWwO@6>?6Q)Thdz6R9momqta1c-Qb}y>#E~MJjQgODe?Oq(kU7Xt6uOpe`N)M&Y z?|Li7*wX66EpabB-utNMMj{ST%n+tS<(IT|F%(I+q}2K3S3Y@t>~K~6{;pfy&X{Xp z>o5;x~JMP)PqeW(xizsdTc3hjbyAt@H&0(dnKupRTlb0jI>+wlz{{0L-kBLJB zJ8wLfaFN-4QNGAlWq==##Qo6K?$Q_(<4ot={Ou5UL}zbxJSx>RrK7M?1e39af(H~7 z4iv*qvGDb0PTtKXm*v{|f*n)M#&&MtJ_IHOY3BQZ+8eeO9u2+OV8WgCz3U>|3rRLC z_z+}}PA2!|Fvs`ql8H~ElUVcw+%^akGrz(9ux7<)NedbJXg*Z?A-(Ui2WU5n(esnb z7quwtJsBgFJJHSh;4O%dfBvn_xP#x1{6bvOgTww_{Hznnu%+YH)1BZ`Kiar7pQs^7 zpgeYt?zrBs<8sea_lDa|*U|fpb3eVr_=9cbKw;9uNwhDf{QSeTmEh1Wr!3n%`w2_sBJj3#DAy;N4ej4Ot3hZy-0R? zhycu0Eu^A4CFQEz_HX}Raxl?X1DwdHP=i#QG0Ax;pzoQEz=y`nJc9X^I8BYsG_Eg; zUGTci)wOg%?1EE2uD-dHACGZ*`Utqw7&;k(?BENZdpV7>x18!?;!DNOWkBqbZ{dK! z^m5BtW#mf49}WMU^aI^ksV*s}W+iE*j?f5dk<QA8iFx!;LeG5>{66nXfcABa;|9?pk*D6k#Z;gyHtnS>vUnVF51W z?Nr{KJ|c@blQ{&_e*OkKJST9kCQ9yRfX%V$agrytnyIaL_uXeg39`^<5zlih{|M!5 zBG20ojd24|`|n2|xv6({Mt=^cLLhY%%bVLkUQ%b<8=h@^VN#C)*`JWLBz<)U2kVjq zE&??@4}IhfeQOuW%G+vl@QQ-PG?~kzO%6|m;kqEAJA6g?4Ka~3x$!)dKVAm6*@hH0;UJw^@lt6QESPWF0I9Q7R zQS8|jE40b0^zun))n)H80G+Vw*tLR6U$*dVjTQ$W4>q3brEekI$L4$EWaYKobNm zq+WK(qtYmM7DWKqE%?is@x-9qg}n)>hYhMl{^2AS^vswQfh2OajhkFJ;lPHTq+lSG!f0Ep!Dq;-yq z<#+uIXjy=>XeV9pX&ETj*rg%GdL8>QbXK=6jab76o|?>VqF$!f+4b7^lL7EC>m$wF2%jHmotuU$9GTcmI9sR22jHo%MJalYh&B!1G{*IbXrk zRW5u#5(&?-6a+I^Bc-0Q-fO++>HHF63hr*Cve1`eLyl&@&#ZardEZCpHZPy9lD~A- zm*xEZfnLiPLF6;x1Vo5DH0MZx2<0t~i3@n6bX@P{M896%D1uStz^u1D0RBu&59!v= zbkg+?`^VpwR?)gIJ8*5bbQf~J2JE=!5sHp8md9_~_*wy8o61E@;jAw16^x%8>0HhT z3uQz7nNT6%hX;%iqE-BCvswpQ$e8!CH3)=#kWWH^bXcQi|MHZ{{vW^oCl0hfQoo)f+mYTOo*rnoHB2x)=Igdv5wZzDv zJSj$}GD(fsvtzHKzmY!SPyXjpnr-x9Da*&F15y^7j>8tPh~rtQUrZ-@aull!nq`d(@0zV{@iYK}`Z7U5$tl8!U#;U8wPTN3v! zcpnC}sws^$vu6Uq6r-^H)grApF?T583W>F^|olsswi%J7Yonq7a98xe-`2gT_IX&Umc~qFmAyEu>?54!-s8HP=`KI`Kq*DS)giTS>nUuvX*FP2TmBzA z&A@Mq7_!0FIg-S4t5|v2q)eT-Lr%n+Tjy;#>9r%|SSK~Ov@o^S&FWRS%+}t9 zqUJ;4j?k;AJbC>yXTh8w{&jUUVLBl4B1oG;C0(91Q=LqC(D5ZRNV87nrn-C2ba|sh zJwRdKj-IybTsGa$1T$>js1eVpTsYn@AajsQru``h|JVdfh)}AiIQ2^nAX^nO4e((F z_(Zv5Tsb>A6-oK$V=;7LSr4Jh(RQribKqv&l%$ia5wV;x0$VugOViYDw4t8tpC7T6 zfZa+N?XgWWb^gQOq`w*54W`yjC~#QbRDu%c0Av!Q2S|LF8X zW*uAW8*OGOSlhgtxBSzjyTWaGJ!8=RyxoVfrl@V&)ro)E*1)^XVC=?(sHsE|YlI+7x?pAN)yCWEpSCKh(#7yetEg-%4rQqN- zcqxN;;j%VfZ_+vD$mP!JIc((CtJC3~nz;HTT>mUBKagcFItjXv;4`bA;TMR@R5>xq2duX`9=j{Mg`VoUteJ zHbb7|Xl%TI{6KbHQw73>vDbtjlL#r+kEII zNZMEG;}g+Xy@&`)GVutL=sT)ph?y;_u4QFU)pm!n9BRk+2TAnasS|vjqIR-n zg?it~#4h9&dF$Q*3)bDc(Vczd*yUF&yXw_vQh`S{qh*1nrQP8$zoo{VeiAT9K*^Oy*`%GD8iaYkyKPhs2$~CgM zQ42did4A(@ot<=@A@x1y{7>DZFnYhx)YvzxbK~k@{eC)`)s4Pyu~G}Jvn7~kFj|I!;{yY>Ov;r{%2=*)GLTwWh?Y(AI>rO;w$6d>F@qLFxu zJo`<@rM6P5MdZ~p=yTluXi59($ctw(O{07&2D96cs{?YcVlb>qD4cqwvmhx&jI79g z*(6BHKDZK02;0zdg#82xjOzbQ+bFz)W@@(hr5V<_06GYhYMl=j9fUjR18<_U2d8m6 zHsCp$wO^8;9^)J|8JD(?BW(bfFCG9}AvQ{M(n??6k5v!miwrS_TK{c~a~W$@&|5XR zK$iSC1BnQL9gr{{eRT4nlHvWebCkxo1eD^rGic)m*E@14(|Fy{%uY{+KqN~;%NuB` zRWUoe$ZDi?rz@5P9F@8UxK|RZa^#;mjaChj0nrX&=iuo>P~kK-%-_Gn!BkUgX5QnxBP?L-fTaA4WJrA z`aah_|C(MTGZ)cT7#EE=xg$wWL-^jg>4)5fWReerofp&G2CW@Cfx&Ip*t$Y|=yTWa z?7~+Xpw$&>PvKvNQKIO#Alopls4SR>;dsigcFVY&F71m^t2bk%lo*DQ8smCgF-GRM z+M7oEzSSdLUo?I(mWy{WbcrnNzOC8$+{O7fmMukBHZXr}1G28jW#9T@Km2CYb8Lgj zq_T9CCu)TY@Jh=o58pjdMu-R1{C2A+TZGinoC1$DnnNgV(+`syVaalC5zo;ci@9iR z{pz$2SWA+#v*5#{B7U6VP4lfL4?JktA10z;ur3xCf3Dp5SHyH;l6g+Ne|5J%24u5YK*o$J|x0lSEwF2=A-JyFqxhgO*3KGPBC{ zOQNQO&cb}<(tmZ~Kwtv&4pr@EZ^2@rgKP)C$(bi+!j04v&G;U@90Hy{f0JMJ6o|iq zUqiZ!lb_h|`kkEiWFf@1OsIjn;k< zEkG^Gk2&HL8N(K$5qkhk{k9A+){b&-d@y*-Z1bps>I42JB2Y5v;uO*Yoh^YeBoGv{D7t_vj_`KbAQb(VYK z)CIUC1IG`SdYpPIo#O?66E^MdFBP{SE$e>sNA!DVOQ2d-xn_>FXZPGYqX|C7cR_>A zX9EppA&`rr6BB$^Lnkzw^%3!>MiTdN_b(iAYB-~-($Q4}_`L)DX8wbF;5w>UsT#FHFcl-h|VZ)x#L9rqu4E_K( zbLi?)>tXd$oA|3#m#Z&TF5jU2AC#c7C`x04W}+^GqHJ^wtSn$F4fFb_(i*u`d^&SJ zKtc9BEnrhWItw9ryg;anS=hQW$t0d-HzG^l^WVOq-{1Y^ej~U%)WCVIqiOKcMkAQz z#g^Nc2K3;0=%E5yD&`-~cyGt&+(b3jR<>q$TiePaw}*($FQAO_F7%uIWfqN))4}&6 zpZ#dQA4;TqKq_sx;61!V`~`BUn?ooSup`bul*8K*9q?`rD656>xyzn7M5s>OO~`7b zAv7&6(7tWfH|Oe;$1$_}EHKd@a+y7bj1x(vR{d$Z?{bOROE#;I!^*kwv-|n_U&qk9 zVOwI%bAj6FWfI-E{?st3n6I9Ft*jT9OJvUhGL+Anp^ti$le&BkvJIVRW4f%Cx*Dln zMHj&+#dQ#hbe5p8%<)FTkib3SKxV~#_#QDOg+@xXp|%x^mdkab&@u|;Jhp-5rnLu-^~ z1MWa%S0>wY#D+!X?Yfu;@<#FNzlBAUhsc@h0r(qP5wBJXn5~hh=!B&_1>HU%M{&8P zRBRP|141cwxARkv1)={&Q(Zg_{ms~Ud}JGo`Q#vOhPuIHz`q!qFRPHvGy~ zqzk#}^kNEUyk#WYVO-tBM<&QIPvL>anUl+Y*>@vak5=|=a^^F>d6P&r|A`+1-2>$# z7R87+fPY_3hb?jB+g00l^+UcgOPpn?wOGCR1$2Y$TNK_Z%2xZ7N~O8~K88Prtbi`Y z4D0fUiIX-POivUV5)ch_7i0UoACM|QF1mTgHeUI|c0`L`M|#kNVbJp;!a-twu32Lh z84=L!f{7S^kgVcT!5j0Dk-0a~HlqMYt96&*=R^w%%y|o_$sT(FYI%OI^9eF_ z90?5$t^7TRh}IbKUkx;NU~232Pyk;%%+?)~&&Q5wX0jF9LIeV(>5f_Mgjj{S5a)aK zhn>_`9dS=UdF&tpKjYn}jW-8(vvOCsfoEtQM|DA&soV>iZqZR4e+G=s!@HoYOK}j* z!Sj^lS7b0}DTJV6M$icH|7ignOUd@6@}L_n>WS_w%@*Yx=r@JjfB5?COm284f%S8f zsm1Vt*C7>aJposlg@9I?zp=}1q5E3_q$OfBtzKgt?Xb42a+x+?&9@6_o(;U1oZ;U| z`Z>WmljnfD>1n4|h-)2PMm?fM$zFD~*`@YuL%Ankc!!(`ngh^IQcN2;U!ahbq911# zZC3obNAz{1%gGzjT<^oo!mMu;8%-iC9^m}tn_pI#QtB2R<;P zE$3(98m15av;gtt@ns&vF;}E}#$dR{MaJ6|NGO_dQ{L$SV(t4j2n@gIxv4W1SrZY- z_jvhhOvI8AuT!d_9^^M?Y=`CVr;I1s#Q2|X%ht?T=lH+#xd^<`{mZF3T9zv6)yaZS z9I-{YL^2`}Nnh+I@I!eB5|_m?hsG&DOYxX|HV^5hs;X!lHdIIS!h75OW&cEf$q{RD4$(< z4^xN97Mr>By2m-SlT3)>xZw!XTfnpvL}Nh_N>F z7<%Z{DPWR(s^@KB;9hy%Rr`ogv9fIcm&WAiN|Ds-uGGaa20ANGmcflKzityP#aSTF zl3*5Ax@_e96*k9IlERh4{`ZFG_w7!J#!I=hOg{-mgiSr_ntSeA8vz}e3{SDe0Ue8o z@Vqf6J1iwO9D?{N<^lqCj4i*-(1|R>_r4+b^FuktAUcQfdMwK3-m&)wKZg-~zkSY7 z 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ðGhsx5lpd(c4C$fx#$gCaSZY_nv4wT_QlQ9@L$ zqOP25TlU9<$4?{#q!)w1K^yxymeN+Yc6gNN9tTTR7SZ998$uPaK#934DpO%HQUQ9$ zSb$p1d5XuUZ~sCnjJ$@uFz5h~hI*lObSn^t>d3tD7S8&x)HCIi7#~DwWqWfq-P}Dd z4(R5eB~x zb;K+!mxXXu>d-M9r&-z7D3uYsvy!#9LXK0m?Ia z{~}Hlg0;)@u1K1}nfFj6bHv3W4xhb&zhTek;JHK?dnp)c3t=<*iiBo?Ct7IR={iZj z&pOi#A0}udt1B*J8j;5ICRu`Rj|xM0&;N8w;Dig~@S{yPMRA>6(pxd{s(;#H@`YL+ zH3jecp6~6+Ak2DO#wcW=BK5ZZsNyj8mJXMy`^^sY#;|lN+wTA0ln#mlydl1o;hY_6 zo(F7h>7m|Gr)vTZvzkZ$my7dhKAT^$ceIRh`V8Pr$b|{BeDm887Gtysq%!7&x zEYf;rX8N`$_wS5%b@}7rMrn}5g8KZTSu%YUs9xn~{kP179hwMc9@;IRJ#uw2DjcXlTV~x_BXRp zU+UxftCoQ=JciA!Ug{)JFk`Fzs1cZKAGNaI5_tL`d5&R~#tc<|5Z1MlUb>2shK@9i zDt_o4Sx;cz6P%CT($IL?M2c8*DB)s&(UuuAz-a8qu_ZIImW;~ve_XZ_w^CQUBazf{ zKVgZHAoXl{47yy##CW8|&}C7Ca=G-;fjQlqA79A~(CvdqC24bf);KI$^&|Jbo8ILS zF5Xz~t1n$qv~Z_)aZJaA;0SA32D@gj%H zhMsPQQhYjx>qFZ?Lj#P-r>F_bMf~TZ^DGNTJHwBMT(fpm;|}|VD$6MC!kHGu4|#jJ z4;B9I1K<`PGA63Z**_ztBtAW!u}Nrwf1VcIkQ=_dJ+GDm(xXlYAPQ4{%K_(-e7YM+ zg!5vV2KRY+oKRb*j(1mFE3wlVBgXHjOz#(zMbyO8=ZQbmG9snUyEf@+jshA@jzIcH zKpFlJr(vt|xbCGWVSBggqYgK+8^^m1DO%CS5efsGNlZ+dSk>`w4(VdvOMgMx-_Aiy z`d?pLk*4}A3h|DRKImb#VxGV+d1a5(51zKzY7w{IJ16}=V?3|Gf3i7;-oG;Ch=DIg zVU!Bj)d|n1@S)=>^mj%!+(HU*E?oDnZ+}}%yjo)Xo zi#T|H`y?MbhrON*(w7a<(J(-M=<@rLS@7+fE_PW{;I&7S9gV3ZC1^cAvzP*#aci}6 z2-e(v*oyy5@Df%X z>k6(9SyyrNnwTfR(;Unma1UG6ug%YJ=G&4wWu_Lx4AaGlCB;6nd~K(r+T*RhUjruj zeHjsI!_hjrUvB@@!PxsHPv}-HF+eIsLWT3ab2Ak~*M~sTgPM z_UETrM&Eox$GsDV+PhkJ> z1@!w~bcbRUQG?%NZMdM0?okMebQi!!p~28qirmw&eQ>s+j$144&^2mQnsMla^^K|> z?r$7D>;z*gq(?^cVgo2SRBY?|8%*!#Q(0dTky&ajfCVka$I)1rI(a5L8N9*zlWDp$Vpf?%Q04`)yb8^mLPEgNv=Yb zvOavsf+w*_y4~2Jb?pR=Pg~+p#$o;xD|@`uh45aWYeVhyyoJ)V{$P-AL8hRLM)WCt zxcO3o`2hC049Vgcbis{2&ri=(fqZfJ*6{`560$pE0IN0nkM}z7tK*BD&Wk`Y+0;?9 z{=zMRNc9Kk|4iA8{}@|3#b&NQY%k$idA4>!yfIxT`y%REp<(fvi7Jj-R(2p5r%f8G zy%-PTw28j($pm(mW(n_y7jx%pVu|w0b;O@pOcDB@FBcU}tnjm7Sx^ z(i#!6vB>;!egOC6`31%j`V_Z`=CtfxPIajm5r1boOy?~%2y52mUDOw=QM9bz_rAbg z-&>yetz`$?VR&(tbE~Q1Jev%TF@KEKFe8q>*Y33iL}$9$d8qsK!16|H?D0tw`l$@p)5bU$Z5ZzKb)~XSU8ji-Br=CLGIg7yJ zvi^Tr=6IsM-(#l#mf};Bq;l>*@_E7=$VB{Q@XXRNhtj7j_S!jgsDcmKm5p>sS>W#HW9(lg_6^x zUr>W&?>%QtEQ>OH?QJHy@DrS;2&Bv>{PUN8!hd+jrzVWIA1>@+=#@Ht zFR!1{U;6$~Vny{J?J*v90NE&lwV#bE(A#C^%Nx@F7&ekW6d}lTv1nQP9K{I{dQNK$ zT;lA&VItmY#@u(~NjaoRDHQ7bQ2vZ~@rR1YNuf_e4!(h8MtAyx`USz>Wr(#+YW<7U z6JF!e-edca_BLFMb}Z<=ujAy)BJdd&y8S3vE@PP}MQaBru!Kt{I75WO(#ygaGa`aZ z`HkDqHhvBzr+HcY^_@8TYefu%_Fpbk$h;xS>JD(^z3TD;e)$(UcGvnx3SB7=I zpvc?r>`~^g=#HQmU=5TXF2ftFkrg0Prw}&@%00mQzD}m$gB&!-!LKl3rG*OY(SM z54kY8XVo=SxB|c~A|NI*fP8O4)6Lh3e;DFdf)G?Xoh)Fa8<^LU@l31^9adBRv z?%-YS^A`o1$VB1-j+3wZ!PoeJldxsL@7sU-3>?9|aRVuK1wkf5=Qwk@WF7>{gT9?K zUX5WFj$B|`NM%*m6E7($gJ$R?UR1Bm-PdRWYA2ekXMP=MF3zHd5wZffPYSw3`&u16 zgqH1!GHcv)(n_PK_};2+lp)%#*1lu5GP0fW16}wL{e^;?TBxe-XjeRGQn795Tqudu zQ#h25Zv(CF$1)jBd!>7dR<&rvpL5mEbusv#eL6_*b@Fg1D#%E{9xB?ZnNWNaO4LCU z?)(@IT)ExVv}l>sqo8j8wgj1s^13yBulnvo09X?X{<2ex zB;LymX`Urx*9S0Vv90=ITp&0u=Be)51afDQz!ioll)65l8Lcjd#op$4NqKulI?6s{saGakI7%Gy;y{Bi()XWEhcX8)Vd^JcWb@o}G;siRokbaYZ@s z$4*P=4c5dodB_c66)Yx;5?<9!spxNInkc}qeoWyPSYkdRnv;!!N*9 zj#Y!)SHmci&eBGZe%AU`iI>Vj%CE$!-L||@Xl*fY8>{dx3Vw&yTGl3;2I%{&*`-oI z1d48d=SP$74aHlNNS?*cfyGU{Ju$^BKB}%cl-DJpZHi7_YY`j~n_F&1e#dNy+4tyL zkdSB6{=b4Qg%OUSerI4dr$Dsf6}ypaQVOlfS7B;>e7H4R{rdX{75&_Q+Pk0|s|wmM z9so-IN5aE1TF2U8bW4|y*Gr>8m)1k^J=_Ria>9|4SW2#L9JyevpZye7RNMQ&mTF4YIVg`_l?Xh<0u^cTaX+V8-m;HaN9I+?)PbYRqu6D@G9qj& z?-O4tW&a`6WkAHcJv9?N+O$nPLz&~dwv zRaRW*j*K83oq`|Dfk61}m!B`L;zW4p;-vMWM zcz$SGiR%2KyW&uBL4o^3P=i^OdlTcwk$%?GVw* z`vse$ptK16rFjX4^niNx5$wZ1@r^6z->wgJhn<`S8bH$>QN`QZ0QF zQszPtq%(Yqwh2alOkhu)ygJ*NBud-`0bHv4;%!V-uD$%^R+h>QMS%ZGkI?4AIj`G` z1EszbvSYL%(fsVU?Lmlfm8lmB*%n35D6l2D2p(M$PBLlpUFEsIU8jvUKl?XcA9#LZ zGWTZ2(xrLlSJL~jMsz=}Cgz2Gc0Jk(nO0zAIWGFgH-=Uux^9oe@U4uabHWX^Rf6Z% z-Kc~2$A@2rF2Vkn2+CQaHk`@6z%WPgtitMcIUH+JyuYLtOUsW8w^f(dN{I!5_sHA7 zFTmx4pqeFM{ybJ~GZHddQ*0_jRtp>$+Ur+tIEm%ADvf&Z~VKlAs@krvfc3B|>JN6Ilgu1rn{g|tJiU#8RsyP>Xe zw9yc_DYr?W-@U=c{94<6+;+3VYEtRWz%HZDU#m*TpMhWhmI%04qR5XBFyt#Fy-Evr z)GmAF!a-J9`k_x}Nb>-jx$PpMF(1Vf~T_QVcEL5@J^`%KNPG z_Jz@KEdu+W4x=;EgvhpI1M602k4od1)NBpcXJIpRnG@oS+l)2s_ni)qx#l{&tZtM^ zlLU?sc!CoSs&d1q>dg$3{Wk0c7Qn5hv9kS&!dT$4X=kR@8QXzIHR#mlF33Jf@_4@Z z1`jyWzLWz{`*c%ZQoR;jH&dnZj#2;grNXQ$=*J}87}Qv%?41k2`3{XGO<|og1EnnV z_kDfwGcuq!Loy}RTmydIyB~yY?KXKKu#p=}%1`zq>vwDzE&vUH)%jeKp^u!L+!I0t zS1woN)Ra}-GO+C#=XYw|rF!_@{(LJH=;NMc3qN4T2g}8NTw7gTM&y+H!o=}3B*)NJ z74dw`*@|Qr)t>HrJVjNP)thrJemQrcWc8p+*D&*GPoSL4RGcD8f4N^!)iMR-UBO0T zfY->T@zkLdX>j=A5I;RbBiTf^nnJ2AJbF`~yKi=r{aIwvaG_7ekMjv1KPT`WryJX( z3>P|uth zL#!pMQo~XR%yNieE)TT-K0x4_9?4J+yMc2^lE z*SkL4&AAjo_kD(+x>(+<#ZAYmX8*}gA4C`3V`~fpgm{CKKk0poHyO;8C_Xls^H7me zLcgU<{~612@0kF|{;3Zyj!qTe3lX2}O?tPjOOKP9(xxG}y6&M)s%A78A_YY!3NC$) zN5WypbcS^XQFWFTzs+at`H|59W+Q*asTx#gZ;&5mKlJS~8((pHV3OQMzb`qMJj#AQ zMMukM8kIZqE5tUn8ud!3KJ;LSN&k{9Uk^z}NWYTtQuiaSrW9^Y#UCMtc9o*Hi@Yuz z%IP{?G%kpsC(GTr>2awPLj(+gq z-D}q%e%DJmqtK+-U0^WZMxoNcYBVBUOVrKTetSSZSa!6P(1tk zzghqt9hKg6uCBlKqYw4uWWO3#OVhlR+2=+b?3rO)uYBkODfmCdM);IbKPJ`O6t_Md z`0F)$Bwq#uvJs{Ie$vnL>a7~PW(nzvkMF zmc{9M;xe~5xvk-sk!&=lj=@!xc94PmT;kUjJCU%xdXw1S0m{G<~u!kKb=dOg^lOo~u`$?i{XW(uaodFkQ%Q$zV+ z0D++Ilb|^qF1p}(VmVZAz?(+yXE7_YR!ec(I)3ZTI+TZ^GXu>|RZ_~q33`w8m$c7f zXTJ<`Ed{rIYmhO(*IaEF3;c4v*tFEyk=Y6%Ei)9C#gz@4j_f;U5Qp0SaG5k^~|f$Q!hE|XDT;R}0me)QGr0mawQz47uihngO{d84d;9URBdUBRmdKMFQwHQ;_TU`N zziq4ujUu;dZh9+AGB9{;OraU70=EAYKPdLG=ro*W#!mn@4w)8Qyj)k4)IzIc(DKdw ztb(0ZFf`1}uOHcqKh$jN)@j9my;{{C_!djX(USRHBdtmMXtFY8 zE@dFyD0O$O-?_BRc+%utfZ9EF{Upre8uhUk1V9eLd(^`JXQG*^W09`h6Nu~gt3Nuh z%A%s(2Tz<=RZr9oAtTuvo%=;r7r@6X3B1NUr2uZ|(_>8jKGh8z zZ`8jh&X_BWQT~UncnzV1D>JgfBswyQxa&4n#2*fRcJ?pbcDRF5)ru>Y)0f;==`Lnd-LSQ>#^_3)U~e9awdO*; z^UAt@{PV~6)>gk{kA1J4d&?)Wqf)i#%yT}VZ1l;SJf`Fm*Ko~~qo!rm?l0BZ7QG^5 zuMp1fb=?;4Dv~bK{bsIJNrP@mi*g#(nOmegipK-L?u^usN&W7I+tLdoDy zGALG`N4a@6ytvI_)zb%)d#A5NVNd6za&}BTk z^@;y~FFNsfLzL*N4hPwb2>2)?TI70dQ!%4V@lgYO??4vD89r~HZRrHt*rWqvOmeGI z>?!@A$PH2+3SmygXyTg(ZU8jVXDqA*nZh2eG$U%z*seF^HukQr5=Ta)X=6Z%-D0l z#Dnc|9u|0g-y?a zG7T(s`Q0G?kEi2~lriwG`n*@i$)haWBvve%-4>V8k9S0J+o%*fj?<9GxXichY+`W6 z-f=;Yx}Iy1)5*qM<}t<8TwQZC{xlS6Ni#NkrK}Y_;c3GH>X?1pwJO|D`J$eiDuLX*|_MBjBO#5s8$B@ z$qoUQx>izl5531MC6+oz{-K`Xt8*{tY78!YCxy9K1y=Pf)9}<)z*eH#aqkK&R$u!o z>h*;F=n~mr453I-)ad%g#e=Hp)Uwz96X2G%pfZ zb4ix6Lp!>FO2wM_`6J@X-7qIh?&Qh~C0x>#wpy5|KKK7#zQq;(v+4Q$chfT(zGf0l z);MKP(ij*s7#P)&a;-n{Ud_>iItA$A6l4@A16+gEFms9FZQkBJQPGzgoOQ(dLrq*{ zu8{^h=xF%T15Mk}ZdhAZ`2qBH#CRZ#Bfm^iy+O5?U*GIUtDc>t%ig7)>d<+s`;zw5 z%*EWrj?A*Y8}7<8Bio}>o01lR?u(2dio@qSY#jpq(_#WIZHTvJp+{gw}8&eiM4OcF_3E*9q0 zC|WhABkerl#q3x~#>?yUj+~ZJd3GPhB#XB_!%y+bK%#0Tw|zd`@^<3lUX+t=!3XQo zod2qdZey;W-C$5%iEn0rVv^cG=On6Z`98Pu(TdRpfZ_zAkp4;C*P%G8V*yAg!l06C zmHgJJ@6Rul^zb+qg*9|KR?k$i=I~V+_}&LG)?Mezk(Vp8a59q0=G$(Zcy#kg!R4QcbS-N|fzmH1w-cSmbebwXQcv zR*c&5Vszx!NlsfiKC}jPX))#WKTmA=tr#)HLn#% z2k{!;#L7{gg%1e&@#W&1j=4HFJ z4_ejxersemw+s2OJ-e!m2?C(j{Dx8ud$$+ZL!71ha8~HQtVjPT8x>C7&Jmmuu=si> zp2%)k3nWyn{&V-&wGpE71Ip_5}&+~Y8=rqxg9uzKQ=YM1L?NeKX zykMSY>7>}D-{O!PL`gX!X)+v$qbh^NxEfz(QuYJGy_5;;^Gw zf)}2fB}oaS(|Q9>Ooy%Zz>kUX_T`M7TsCB3AU90|^d}PjnTypELcA@=>N9CBj%0YY ze5@XE4G)AGo7R@Fo`#M;A@L@J5q>^%`c(Dm>GViL!plwUoj4I++sy+Q=0JMGF>fbO zEmWiig<$q$#619?=UQBP(uI>^Pun$W@-J9bGlkZPanX8#tyuq|9;TYfYr*9Q;^{?2 zSUVPM8KJ)fLO@JYlEj-8nsSTH1O;EFNk>LMG3vE*s%GYEJXW^v5VPFgVJW6FMInKl z>2LGJ30iIj9Up9XZiz>YEP)sABQ#&t zFb~)?W{BN5zXFR)EG6^;A3emAEj@|NqCk&?# zv{aYb)sEIM|0$bESmo!khV9`U9MT=ptTMCIMgiLfn8UM+ERKSQ@0CkFH{64bA0I-# z(%jmwq5S(s)a5-TlJ_|uU2?r(6)Fweuys?jRo8X9V(goQ8O0zJz7yHg=-UPxCp$(C zbQLX{$L3y5bwWT-6zYWa)cuPOO~1U3^k8eBd;O^iQl^rL(QO1;;T&zmFsFHG9}KUV z+put$i<#cjEWcYeis!vKSkQIm7XPP9vcyu=0!T+ogCFraSX75?`-^RO^$fa6*0F4Q z)yq(7xd9ssBcbD`Kl(hPgSv3=N+|_ytqSYk+Lx}Q7qM-DWS~goz{T`>8y_k$ADlst zjG2CFGham+xAX~v_VslbDS9BLZb>sizfc_xXlD2bt%&)RKzPT;IZYZBewD^T`j})1 zdOq7|nU&bNc=eX4xt4ahL5<>P{O`2^W`1!G>iK<2RJh_!xGLSD(57wWl%f7s=alAV zzC6h-9yZ;rXMV&0QRdciv0K%a5R5<4j&>MQ@IExXS*8lq6IreB86Z7hQQ84KHFfzKEQ=x6BlnkRBQr zs~ZVr+>epa9;P)K*l=!uV0|pRnFfM_;m+S_c69?@HCWSf_0}2DS5m#?_L47{spxmf zVw?ZMu=V+P7mjrKIc+2TU4-2MXDKN=cAZAOZmCZXy5q;D1AOyG;E&%|Qmb)}*&b%V zPsI*hHWzzNu96HFaqqgUQ<9xXzX1K6!oH#Ybtf+@wE|tREIzw$~?P1{vXs^W*xGPg+ZuQ&wfC z@#t_oQxX_dm>1XI{%wC)r|@AgMFPOI*zLd_+zkl}n>53OHtM~v0$%)50*crvSq%_D zUGXt|8i!fKy19bi^LVLX zFt`DGz9{Iv_4$kLzk(C;TVI_wvk+sj}$hZ35Djo2NL2l{+q8q#mK40X^>#TH74a>yk`=5`i!xsh8{~g;} zRG;b5?KUDn<1tm-fWhzg})8Qe$XM4 zj8zT)5Hj5B>S-Mo)>Fq)S*Xx|`hRaD9=}J`^kXU9#~p}t9JD1G#?E%V6dN=boqDK` zea*oLApnCuK{EJ*_t~xUDghNn>4zy%Upga~FL3(5s((Z23GkpkvguRod73K3R+q*x zy(Crz0Ocn$)=QTpiukERDsW2x^_7yBRF1CiPyt%(qPG$0P zzMqZCNgIHCzN=m{BdB{eli$Y=eHBI}!_#6P`vJz^w7{D=(sN;7YM@9CBx%i+Gvows3~^+=Bkf-zP%KQLIF0;$luvZMNe4eWlts)KGlXu+Uf zgsd-~U)Kd63?o=}r|h=(nXEm!zgcm`IZh{<0KP`aBRX+o2(mEPiqEe4R5eF_HHjSH8c51PTc~P zS{iZMDl<8x%9cE)qHV4>n97^pn7n>}yd9;E55CqXK#G3c6zgww?AX*c5Ns@XN~pSZ z_B-w+Ke0tqU9YqFDt-@;ewJj?Dhp+TQX~BicYeX&|1BKaj}WOow&Xl$hrx=}Sxd5zE_pd_hSTD}@PiDVu z^=Df8(S6%plAIxLm^dux9c%cd7s42AN{oIZ;rQMlB|N*X@k&iGP5NPTQU$TP4)n$5 ze&}G1!ra4xLx%-x+Cs@{r4TWHj<1kB6+nE-WPpr=DgSccN{3-;ArZsnPbFOlD~^r) z=;wD1#4IuW@yDCvz5=W#_93M+vI=tzdfLg%U94BXyyGF-N5&@mgKnb@&0W$xMx37p z>)^Fhb-;^#y;14DXR0BN*)FBQ@uDI;(74!|nO2k7+)u-x@^gKOBjkoXZk<>>e2Riq z4xBfz>QF|2+)lx>?l)A6yAYa1_#MHeL;g|8UE*MaxwC?mZr|{{dIiSuT%}amlZ_-ekf~Pq>uYE`J*msE*2IW-a#6o@16CvcAw8oN^;zV?yjem z`Uu2p_jN-<4@SvVo;Y*2UqoczK1w(AcpA`*yoL-76S>4pTPRQ7`<@J4UMFje_WN!Y z7|Yg>F^xdyJf2x3{W{nCbT_mcN^QCGEPv%LmdLz=xN3eOTe$gAGm{6oI;|%@_0xEF zjr0or$cdYAXkI%t)HupVxb+>G{?0;(;aZwi;q*0N_4|0FW-YS2=eOHv4}&TF<}!9L zj!BQqM;I^4j^<=XPR%{Am>zla0Yv!EmR?{po8x@TvHNAnL8V2JpSZBJ?nfUVW1^m< z<$!#IV5GRtq>DJoyOXTXycY!uUiPdUss5q1()2S#@jn}sxG*5?ER*jhLFX%4s^-P+ zpQ?%okuHtw4*XYg|9hOLEt1s#8x(GO%x|B9?Y*8OMnbjsxg_tg=eqeuSBWz37CSujpNUpO6P}lLc=tWxNq+R0)ohr-k?QB%>LaY{ zs|%qJo{SRRqc>4P0du`yH=ElxtG99_ClQ#Vz$TX8);=)J`pJ`Cud?g>o3SufXf*lWnLASL{I`NaV?(Q-;4~goY zEQwCBU`l{6qkjt(e!4kc$SaABjKaI{eH#2F{nsqi8*YfvMlWmAqDa1*%P~Z@Gdg=CoJ@&@l}*Dt@Nr3^=FBj9 zEHH*SoU@AIz5eAFi;dsEOdHLSGqpAIg6XJ>`F-o?ALNj4b;me&c8-5L>%@)2vYZgl zOYEpbbcR0YoG|{L)_sxt)9>K7mFn*3H$*7FyzC z!vuwO>$B{%h3uFfI}+80<}40&+`6^Y%d(|Y;CpJxGUT~$y3zH{>f-h?G?qDNHFB}M zU{JE*{!l83@y>?L%{nH3wF5q99ai?MRt<6ZX~0v3f-#>n9eP$?dDe*p>j0KPWrNpiHDuoXsB8jc>e01QBt)sRmvP~5Q zT8$Ss$mS28)Pt7CmOCxAHefABM_6L7)i2cfK{J|T7xXKW|KbK=^E~({C2sArg)>#jZOm3m&$p_r)kP)17?OKbZ_>-Yr>}O6^ zoDOE=m!|+pT%EiUL=WGgs=iE{lJ7#fB_^zt(S)!wgO>wL%A^xji^th8W50BopBj#G ze=}1uI*nIT&(tiA=Ji)|S!`i;E8&pdd~9Vjk4hr^uajeCOcQFX#C|`W)4!&07t6-l z1K97{_*eEvAKS$P){TB^X^SH~rzEGG$N({f5YDB~2lK%-FN)(@^?l<~-Wm+n3Fwy3 zQxcRc^YCLl-eMi4rFHw#k$)k!aQD_Q>Ru#!@2ABl5y@eOy9}BtU$PJS@HeNT*a3R- zdCL;o{&KMz(aE5=G3nVO$AuE*^l!rs-gCG<^=3L`b$W$)I;uSY5JZ%fLd+n4J~+H- zHwDnhWJ4aphE~`&SMrEzyrN+pKty{j?k~=)kOD=Xx64Z84G^>I%kO4U14O2K zac#yQwnQNpX7w9+NY*=#zF{g>MGT}61xrNP4aO2hJ zvzcKVyK(jY7~1jk3TttSnF3XrNvDPUUhQK04>Q((?ZrZNf-dYES%aw%TMi{)wHJgC ztrI>yv(UM!C?oF9jXOmcDXJv-%Xp1l+@SF*OEX{ZUp`gK3BghJLb!E7)wW>E&sJ|d zrWzM5R&i%u2Q6fNZUNd(uK^D6gbz$-?7(L;NGsD!r^|8ja*ZljW_(7Hybq1mP{1>936xF}JPGGHz?@SJ=O2zwIdA$PYx$P+5y6{} zPkxtUbDe@v-<7`ki1@$eF|GP@YAwFgxjNEcq`D(MP2W5vWMA}_QKi1>f=J5Vbxt1**RgH+ z8xOzlFkFM^6jZc67^AiblP`FGmoEayb^tGwuZmSy zydPMhkMNPd%o%hqe=8r#tom8CG%phUcenHy#n^8u@5NC$x<;DqDF2oP{ky06ME3QS z?EgP&whfZJgk#cukV%^NPKxl~8(;X-hIrYwHtJq9BkTJ|rwvqy`Kw8^qSp<=i79x> z>LpCMY9u$957sKU5}1BVl05rEQR@m!kB`@J+rZiBbp5-KQrPfl)^Io{C2oG_GkdnX zjH3od#B=WG+o|g*#A3K0`%~6qLY_?bLE4>3(gilt#DiT925|+JDXRJEcY=%q4w-vK zKj$~2Go0CcV@YARa9ME_c@^>V5Dl_FO#a`0&AYX#j!DJLR-{89_PFr`fdW=!;D0nv z3ggB!#TO@(K}bDM`NvglQ~bXC5p%)bG6@PP0MqzPanpkc zN7qGRini_r{lI}ge{`mXi}3HZ{v9NrD&m}jh|&r)zadJq%S_+s&={{7)Q z6M4({iUfHm!sK(^8J()a~7Nd)|q?5sf`qYzFkEl8jz5(+c7x#`%+I z#4}rNraoOLO;J_!ktC|Nx?L4tdP~ULduquxQAA>cN=e*^RF8 zgr1$GY`AHC)e!}D=6bfXQ^mQX96)WNKU%)8Yy%>Jr%dk}{PAu7(pPUAN3L!SIGNJ? zfM=7&Uky$o@1#F01`yh2{T(y>8tZT__n?_k@OuSgug$>Cux zyxfo}qLh)m&={X`>1n!e{2j-3G=;t$?(WV`r%^!J}WfqSN+1ZU7hazKk zCKOi+VSZ}l_1lKLDd3Sz$&xl_HJVDLqs4IPqt2%dw@d#539aWu*SejJJ~LWnxEZi1%M4(E;b=tTm0JKWATT~3XV8STpRkq6js1t zlE?x#hOn2odE3rJ^TQ!j0()$K9{I!1TU7p~=Gv6Fq=b5nDAR^ABb9XKRY&R#J`#0- z-uH!8Fa)(U|G^0QCZ1G;@M3x<%wMyYCWFp&D{8W(Joh{{42HcII{a zx2%LJD#?HA$doykM${}a-X}GngOf7J*d&2c>%qj}64x=MD~MBz!|{)S)#Mj*D68e1#M_BCy2(r%Dg<747b{{ky%$ z16@c<05fW6-g=vU#yqy-sKiJdPdfMHu>bI!n(e4-H@~1fI;hD3WOzNL;NOY}rtNF; zYWX*(3#W`^ir{Td?2H2Bcj=14=Ib5f%~4<~L%Okb$rpDH^o;zB_nQ5}#IdGX+Yf~OrD2k3_6z<&><$_sD}SzD6dSVCnm zB)+>yk669lY_%xZ#9-r<&y8pN^V>`}Jxa{hs(;YxUfn`Y&_wyDfkJp#%czdrbYAYHxlXw!Ahz%|n`q;^W#KB2PG4nTHooLeu~nv)3d69gK>tR~ za0Y|lK3hW3Fy2mrCZS{Q#8bZ1N8S-W9<$@*_p4sTAALN z@wSK*C6WIeTG2y`&HE1e^Q=hes!@1+t^}t>y2EF=5r6$Vrg|@Q%6(&YZEMc41OhY` zuRQBx)$-5p|4eci;oMaKa+tRz2}^lv)w$(AVERg7PDv@PqsJ0~^4Ka(rl0%H)%;^P z#5a7Ry?Hvw?liC4h16eJnS~>!=T)ZI4^m|km}TtkQm;4JLd+4?tsfG1fjzm3dJ{@? zYoX;f>udR#oMznRwtif_v$P~HD=Ab71=`b8TFKNbJi3cyF>lP1-6#5W@;l2$EusCH zVHC!x`RP@;i{rCZ#+$>v$E-iSP@pM)QKY8r-OjiMDy#6iFsRmU@fH29x3I0Uk`YK) z>{hsFgG#2?cZb~gaLl~jk;~gWVnL?WT!&-Eyq`N8lMEy2Dstk zJ4VJPN&+h9NgNEZc9Q3AIOx+;$II2_^q+xCE)Dl-^G73nunjWZPASlClEyftz<#VfFuJ1($$2og9Q2e*fc`5L;i!<^zHb%h$#xCmgYr?P``jLgMJQM99k(Hn`(&71t zL@8%mV$8sa&Tpr@THc>feU5numM}Ltg;$rrvd?h9!(BZ;tfgXpaEUYtHlp-cPk0K# za0&2+Jv%Q;RCD0H9NM&)3>%k9P~QxG$f0ASE$RM|@*`gU523(SV~-mHY37K*bP5t~ z78DD86~jP*%HX6Sg8kv&U;e3Yk1FnSXmuKx0#clOg|Rl!E<*l;xiwz%d&-qMyD&S zVOr8CN*fJ4N&UggbGw!8W|0&EtaG!5Y6=(FgD#N>eZCd>h%%pY8L>v;qQRHNnM=J& ziBEL|#67@LbzJ?izm0T7N2Za@2XS6W{%jNTE zFpcFwgj3yuKaO$0mZyx*fT&Gr)p|fy{E^&R+-`-qc}fw&)7-@WkV-~q&p!z~DdD?y zt9LZb@Y`^HzgQ`HB+P{cb;gOds6zAqnA8c~i!hi_tLmud&-#qah`c_RDmVBZFJr}# zodID`fgUCPHPFnPjFG}a^VFWk9*hkM{8Oz6O1k>WrO)@f?D~D}f?I(m{YYn0SD!rb z;qW$?p|a791?JO%BO_uNkS5h~;X4Dm^@rUjQVA5ADj9mM&o%51{<@6gouZ+FUBD~G z(@JU<^Q(Pv*RPg934-X>&^|S8;7NsePgYBe&r(K$F8W%!c%wYL;sWrj@o5V1t6FzT z=ImB;U)5M{NFE(aVo%w4Ks-0GQ-U8BKFX4U$^Bi8cs=8NvOfwXTS^HG-@KE==XPji z8HRaVPu!o$#rdv2l{wu|<$?Ba%sAFfeoxnlKXPipR<+&eRVhKFoxMCxpy7|?w$caG z@;=m6>b>207}%E@80CA)nF3rPNW=^rYCjYB!*P=ddr9RfT8dnJHC;BIHvu(7t7(K^04Ht zi)L+3JNEx{C(w&(RU9V@nT*=Gsw3>r1VPoz3dLUCVY*)Eb4J5!>2cje`TIH-X7P|O zGcR+v-9+WWiU-HY-O0qaS<4;V9}r0oK8|=WGE@9Y%(?6_&`4!ifDCo4(TY`~*r&XP z4G=n$T&xuy;gf@ThLqoaiOlJ_Q@r?T){dLpM3!hp3_P@%*w@oh-WLfu@FqXLuT2BK zh`DNsSC`*+$&+}i?8Jw4t&K^m5~GL(ocb4^>TEWNl;Bz(FG~*xy-X4`_mVWYI)VP~dtbGl{zeFA zJAK}6TZ41?#Z+I6EL_rFTjJy7-$X(w4M+BEoEY5j!_U$4DC-0M*=1K)CYtR}>Gk6wA8lRT z$g)UEc7Zm&^{`5*C6*Oi=5{~WBg;qiBrp5@WVFv_l!*?Pl@`P_sZ+x@&$0oY==!8QX_u6@%`V(QS z0x`1^{Bpsu`a)?=veU3#2Ty;e-5Li% zmk-!f9k5vcxek4D;#RGduGLHmQh^&OrU9yoBNS)y5Y#jQcZ_i9d-0N$)>t9uKBO+t zaEGg(I0by9>AlvK*Km+x=3U4`mQ4l2n{V}c&KF>Lz7l-V9@xWXM1`;?Fke}H(hIyDU#;C|6@j8uV$j<^9f=haI%!=gf%)*V;E`9$o z4qorE!|r_8rX<(t$!XnW{qyXo+g|F@%L+ya(?_%(oZq^jrnbG$hueNR!~&g1odyp3HZ5(o zYDGQwFk+64=RQx+zC=^^zO9hoTQWcPlgC^u_TXVo_gHm|%T!#>1ECTdi{C?m^z5Kf_r!*4SCcrl{!A+>)C7%3C zyfMRyoc)mOOMCtmrI*R1L*Z2+TC=1Yy6?;Eb&&v9Jn=%&P&K@`H>o`KSwipGAW2o} zq@`!V*Zz&lbFqJzy!44Hy#??lmqVUHgj2yF4jeR7>lt`Tkn>bwWL|2HCXnR)?)ps` zLqX}@gfn-|&+NZfe*7hrz#8BQ$lFfn0#{h~On`%(Mr;0YtckfO@;Pu6xrR$(UlUu= zNrXSn=;!3O(cYHmxI{Fy3J0rAezkM{DDMf`ceh@ zQbByiyX%i}Jq$dLw?X{mWXo%7X za-{duH*sz!^v04j;??dn1dy65<)BTyPCjGuq4Ks35vxLBERISG@9pdXM>guidAIS2 zZrg+8?{Umkf1TR06XYFk{JzwfoHy=ugBXjp#@yB9!7WZbiHI7%z35t}RfNo zS`Nzkmqwm0&;4BTBi;>XwdLx?92HOaA3nm5%G2NN&{}kdu=Vl}DG0_-{nNiN!nWs~ z*KL1d{d(OK)7djGi;1NEXouthl7f9aC}td&I>*rEW+(Vgk|l2BEOPe}d2O2?_B{H1 z^iD43NB4r~r`{*$guC2toKPKI5LYSkzA>c)&{*hvEnFE;&WbAf6_>8h3_bxpu<_Md z3bC!c`0$mjwbTjUp>#zx@-h8^74qnxHQk`Z`j~*jnWK?viy*i*tEC_C8R0Q|u#oA< z2mJ#9y4cB69m-L#RStGPZ8i?3qVa|+@7B_b>B}-uBh1&e~p-6zoPs%xE)z`SNynw@46+T`!p zA+jf?zhzxz9Rob@X7?tYrz*S(_s>B`uG6>@rbSfF7XbYk^Ih4R&g1-*;rYAZf>8Ay z^imVSraTna(HBkP51M;Kdu&VzDaisN^72;?%<_R{?Z&IJH=$?Fn;CK1D;VkOpNWJs*j3u0O z1~MPna8l~Z=s$t{h&g1w=7NRN8|(IQ|EKbr==^sAH6UfuXLB#kW{Qm`gbk3u&d7O2 zdHWhAe*m^CNwgl-zYu527*=v5`dWkUgorrUXD>)W16tmtWLgkMNdK+Y4*OGq=nkpL zYNH6V_a2UAo&OwLvmRUuxwxK)M=jJ31-t&OaJLDsu(EbM-3QjnAq^p4SpkSrhogI& zZOb_C>Vy@gzZ;Z`5OU6IXGK*8K-C2i46NN(N?069ZYYZU+peCO5xp;p+icC||1)pW z`6@{7kd?67A4lmcV-hX|kS)VV zX6FImx5R|`kfUK8my$t@9E;~khz#M!J!}PG44lwdyF@Ix&7HqJl&?d4$)CC; z$Mr$$^-dXK(1i;`7Wb0mH;`q&B+tKpE>SJ>nwQS4_K*IrL{FRDA{rwxyGvvBRiubQ z{uRC_pc1-0cda3f+K@hY|7^4)A?b8s2x7%!g zzboTipfqp=!%|C`sjDK%l4 zU^;X5n|;}20=-lgSgfQFkf^%m{`EzSa9P?ce?P=6M)JO)aLy;50EzFsr7z9{_x6*n zp~?#+*XE4t7Q?WFuN({zb2a6si}l>@jx4di^Woa9|9kDbtg3frFX+8cqq958X0$(#T9HnHIS@L<| ze2|0UGcTT!$mG`HO&Q%!&sa3e*7U%{k49suj}V=d?-QwvJD21$*T7?6wFPSIr45gI z#V!$#5UWRYjayUAQ~@p9=QBRB@tT;qhYJGN++QZsSEA;XUhF~^od>LoF89?j%OktR z%bjB;rroy}3fq2c&KTj`AaV9pke3AEvwLBH?)^TiP&ph$Q&@8$>nxK(SMF;4u|(c9Vk~^v^!*1 zj+7a_ulO=N_J?Q%Js)pAsJ^cj)Z5M67bq}SVr)P(*<=VXy8$GYboV0~(NObjd~8_C zreXZFl|$t25|YJFxS60cBvtc`Qc>vU0NGh{zQHK62`v7pi z;=ElhyE1|QK$d>GwN+rh=jKGvCmnkq4zK-h#m+Ci`GW2f_EcO^LF;7Y1u>HMrKv$S zsW4zxO*z0ISf55+MAQWbwxQ0v3udEsASeflrF;6>ZM!>;mm(Ehvu>nurWH<$d#nh` z00olUyZ;VSf}uU8d!B}DLK}Qf#j8iE$|3WNebIyz#Kit(I+h)QZx+iP^uN`^dhs|! z$Y1|U-<1fuIHCtSW~8l`;-)v*0)UTJ9Ym3od_w_?M5|h|8qBXwe&%D7YCA;=kM-*) zrXr-~nTQZ3(!wiapA2V7G!Goi;ErbpS|ML_*!D)|gBoSp)dnZH4TDL9f>H*JSdL%P zl{pGRO&gN)exvemYtmnot|md`b1a+=Dn0PBnP|YOY9C21yACaaL1|eyxKZ<@t~D^> ztJjq!LD8c1;o;?HFApKtkt~#%>>sL$JdZ*{Rh9)D(i5peaLeWMn5mMu^Hx)hB@?{zGX|lyLyKWdqylCwv*N0qP zlrFlD6K=Afvm@2AzxOUTFFF49oRizLlY;B2S;z%%QbX?M;jqLW2_&h%YeO0xx6C%H zJFkkHisxqSR&!Ru$I^JBKI5hPK0S(_>9n5W7L2@5- z5~sXk6K1htI@b+$370$ zg%{U>9k|lvk)>6zn2<%P&V>CDAj(4nsN9I(wvu$K1;^BU3%Kteqs&!IEGRNm;8MmX9Ue_!UD*e1@_A;GWWrF){rR(eYxgIUK8tw z%H2|Np+NItcvE&PafOM-%uY)(Pc#B+=@S?|#ikggX`ji%vkuoO+wrOFBOYO&rsA&% zmoS$q)w;;t2K28;0SKmbX7{44V}n=26h4}+`4xKdIQZglQ@3N3iVqP76z>j4AIj{D z;6&cnP+lyZu|uToi6><51(+{gEe%~R%rXL&mm941C>z#`-W}a>1@=Vg@5*cwW&Y0# zP;j3adKh_(5Lol|5*>N{5-z{O*)+d9o*IWUQ z9HQ%e8I*}AZ4Qrqa1xJu4-f^HvsY<{R7Btlc*@eJc84C$?R$Ucdrmbk zq)?uE`?8@1&}&8OJRPn51NM*pO(Kg0g=4Xm(%R2Cyxxmn_YKlH(oxW(?lXTcx#&}& zt2cu?mwiyu4wH2;qnD`MtAVm3$ce*#X+}5cC;YN>9d6OPxHi9s{<9plKNDroX=e|G zXP2rvrU1UE+n2*7WY_L^Xir=xAehO0w?ywCLte8xd^4@1Q4^-`m-E#yELmL&wDU+S@pP|CQ73-K_2M?ou_nXy*$J11LeD^=r7<;z74?};liQH0bBpjefI6I zyV)}g0nv1#mXwfB-b$g(6Rc?~>DU@EZ`ivVeC8#GKW$Qtuk11S73ebmbQ;zESIuRb z^jA-_f8OGNZzb$0rSvxynEa{v6o(h$Tq!3w8FNp{y>Uzf-dqdEGFbe2l9T% zZKNv!686Zr5=R)G>8cvvX*3-6Q`d|;r4{Z3O?Q_)GmDMoa-)j7ptc80-FF2`I3QX@ z1TpkpR1(jiZSp_%yro@T10%;B<>{%1<(cv;>g9(UZ(iP1Iy`PI7FzCRVb}M z(SrHvUBc6nhw6oK0rx8Eis*EwE{CeKZi>}NpqsJRki$^M`H@@0@=Dp^%EX8IL#yn% z{sUUqGnW}x@ImijMtC#kmaY>qRmdAiXbHoSdWw^NpBN~ zo<=&V5Fn@J#c>_%^5aUFWoTuy0Rksw>4N^Ka9U9?!92Od(-Ni{VV&~3C##=BTsE0P z%H-@7mT<*^r+o}RU5`anb7e`FR9QlQ@J|Baf=a+<58uzSLNw2u+@CNTDK7;VWkC8~ z{Abv|A^2}6ukmor;u#hgW=a6-k*0d;Kdf73npp;}9nNmc=%3A>RQ%^F&eaLVUGRPO z>fVsIm%vs#Ve>hJm-L<7$ru!y85cGt>O; zsj^9Lsc23Q{9_%f;AKjtiWe?+ORPG6qJ&r{B~ro8F2%WCl`OY;lk!;<`D&nwv>K zHor6KUmJ9G{?i4a$90&mqu=mH;3omGwcP`67&paFwt>a|b#j5xyz^CHnllQLvHh?N zEjrKVGTpjo_vlyu_ppY>iA98ymMd9~C$0Iz-$z7EsS2al3jx0dCtsa8=nVY*Z~UM` zOMJoAa+{>AB55eh%*v$?FwxWue#G{Hc3#%++#Vn$RLa$Z(Gx;W^DEn`qd<48gL&t? zLf+4@9A4Kr?WqzI3+S12v&D&@_{~3&-oX*YfW*p%AoU##i)$2!PfQMPhfG5PH&Hvp zSouNAz)sm}aY-ILrmS+OWSZ~&F#nzZO=Yt)6CffLOA)br@jN%ECyk4@ORoG#ZYxgl z(+~>+j9`kWv}h8plW6i4nmI8bX__6#E%$sw>h#hlhuB@lsc_XtM_gzsT={fVHe2hI z=e1J5wYX{aZ328O^jqZzlmp)umvco~=$@Q*Pykgni!UH4%OWgi^eWQeKtAjV{c7FSmj=eEr6U}B<11bAK%eWjx*aM5vH1RsbuURW zgtc6d8%zFaCq&ew3y^rh}V9($?$9}Wz)8K;0XO$={wV$@$$yFdDP zcErcFx;QcDs$80P<^TG<9edZ^DYIHbMRtmS7OQ>uI=N2NLkfve=R(aYT-1j_+K-=g zKSnw*Ap5I9Sus)%e-RDp$1viy^bG@bxgY%|^3QcS*X0~_`Z@P>AOdUK6h+#=i_dZr zJ-B=bP(OGmE1+zj_R7784-;S81_pU8tiYuiGqxv0gI+C9QNDPaSl<}(IKzr8BVPNl zqr)ip`uZEOL_W`gS+eA0QBWOK*Msd;AAw@2t+k<7L!tXt-wv1$zzg&~Hczc;-HE#n z$~QQTFf~$c429PKJPS}GqU;M+{%Z2DP&L8DgY*r>G^$!IsXtlZSejd%|ZcZl)~=(qC#qMM7=uIego5`7bR7n{Jt*}Y?o8gE}2vv-P!{FT!fC^|cg%(9TV^5R& z`d8=mA#q?GFSMRLbu4MVU}GDr-GvK|+~>Mp$yl82MB5!Sk}=%6xFx4cD_nF9Bb;Et zb>|CYvtWz#b=zSY6FP$3%st(fX|59Udu;-kv;}g^aDQks4_;x-*ymDTpa~wCcpm$) zSZc|(;e@PraU52bXJvI2zF-{vQh<>m7(}G~Z985>f!nF$o(c4XlEocg7B}k$uieee zLuXRX&fmu}Q++9g^6!OVwJt!-fz{#l?uiNkil=pe?f3cN)>diDcE(Aul>r`Jm;PXz z0ZR>Q2nF}bk@}yEP^t54N28cDvsi{5eq3+l|K&EpOp~V zM9Er+X_-Q)OYJx;VwAr7OWW+cyqJRaQrG4oS@13nK=l&I$g z7T=B12MWI7Olzk{2NHW@R|yWjd^kivQ2pRUWy`sg42CB@p*N^-a@oi;0Ur${fmM;k zU4+2>zWh0=6hZAXmK#99T*+3oZq^Ni^&VrR$%6sY?mArWiG)qK?>3;ccZZ#N-_9m) zUWV1^eEo_tg`8xak40K!a@|@>m!A-sM9b}*2ZqMJ2;krp}L#?n<$5K$Isr!)@4;?OmIzp#F)^iGWht-l^-)z@9dv>0Bwg z8+Ke|ZsCuc|HIQ)a76)bYY*KaNJ)!ycb7_+fRuDgHw;}OASo%0A|;(e3@|8NgMdR1 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rjVB8_?^XFoPbAPJl!N+r`8W{_S#48%tFSk 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

3cE~AgFFkp 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 literal 0 HcmV?d00001 diff --git a/assets/branding/screenshots/audio_format.png b/assets/branding/screenshots/audio_format.png index 275e6904f126bc91d6dd1623b230c22906c7fb04..eee01322a29506a9d3f32402d1c736017c482a92 100644 GIT binary patch literal 742611 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°wq&+fH_OeHgF9*`rdqi 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

#VN+3A~U~m ztRCYFh~}-or_%iD(*o3~Pm#HIfzEwLN21%lpBICdilb)nGJZv`*5a$!2@}t^{Q9;w zZ$rwe*=bx$dHrttxJpc zeLXd(6H1gw;{n6?CD9|kIimDK5%_UA$(_GnrJcF^vW~)$+=V7SOt(vK7EngleZvkr zLCL^(2)~(VKx=WazH{c`aMQl3SKM8UJrs*hl5;+0At6aMMpz6Ys z_;A`ve7TI@I`$;)$SQ*B@g7l`|i{3wN6=?!59~~Wre#G?0jJQ|Pm_L0IS4I>? z?C!C=w3g;97Rs4bwX-t=%>wB#(ch=34YPofK10x+@c2oQ(8a=>lmtvlLrN{}n`7LVkV0Jfc(U)Y zI*2F(Cjsh%6=pV3H88zw?4AVSSMGKft#fJm|Df0V9F9V$hpF^aqLau-8K;)>vazan zzn)zuqZ}P=L1e+G^&gu!{tq#amtHEj9?!$^2sPqGU06-u+9yi^ka<18Qn_$Rme)fE z<2?f5mpWDRUt|&56ch<|ROCnJM&Te7>yHJer zyQfIr6(cJ+9X7C=`1P__7;_(GlKB>yTEFuYnX_yNb@4wbM^L%ltR?ep#s@U71aDc} z)*ruzVeR)-6O$DLoUkBs;NdTueX&*&-NAMa;8RJK`d52SoAF+r;#R3=YfxqCQ)som zH(#=bC%@tLx~j)s(u8QG4#ceMA${q>2A9|;r0AGangQW5W>C_O6)ynJIcfAud>A=h zIP+OTiQaRzu+i0-kxIOp6W|nIpJF*!1YvR*27o_3*L;nuHaw3Mi`w5tk(z~!hL%eO zZxDZEZ`fFUSl+u^LBTa&A`{_w;P<_K0di1L{F<0UU3)Hb$nkiN9Oc1=1i84tTSW$n z&l^Oh; zxfebxMLgAjtbNSnANRVqNu|sl{A0z!h2!_Nt#f_}^Bd07tOd{u0?l~Dc&OG2#cjb#f z{Q;3wn=d|i2&p;7s9atMWyuWH$G6D;gc)0_@J;TNTPsdmB)4_iK-L6}DL@syXpHM_ zS1!!Nvo{i350qX$S8$%h!>azUQ?z=0__K_Qm6!gWGlFuyH^+AKj?-_X%x@Uga%S{& zY6V|VkyQ6eY6xVhq&_>dRMw^W@}uY)cJ(AO-c>!*CRs8ip~G z-jaP`gb&qPujXI0MfH55{`A>p-fzwm`S5IayXUAyBd-iUwRQY!ZFSK-<3s22JEEeU zy2*2v`#&rZ(-wLNNzQutOJc;zO@1{G|2HknaF(7>=c~#h-NO1yXT+G|IO~m&MYyYs zPT~iC=%#Q&m2KR^g;aY0Mm0Ag?sq-lj2_{t5&$|bH;U3=;PEJhukGLS;%Tj93}w!_ zYIsw`tQMRO75{H#ATq8wd_Pftpm*8+R8-u0K$SVw=KYnb4_>p#xhIfa6Cn*|DV$&N z>e!7f=3BbWX}}tkA~1_NOSR@~3Q=>!wjy$14n>2xr6mp2Q%eq4R(((THtiz{^A&>2 zKIJ!daGeMfM$S$-A_*y1(;x-krs$8moimE*(c5$-{rb5LRU4<_Z)^T%PY;WykHLvvzvOYw{x$8VA#VaA z7>^4P#x7il3TJcvbaI4DtLyN3)iCMnD#Ksu5es4YMlD3!(-R9}j3JK-Mamh~u2U#! z*p15LE7yHHLeU{}$V_!>?fo!9f?n`$RwCZxMH*UoL@b0Nj+p|e1kanFSh*+O0sZV+ z`0lhCGN7`^)5#WPXlR+W1gNk}Qw6`-Dwp^lp64oSjQ+N~9d>Ij%}tDFJBd)|c?$gs zVMO}JlVI55zcPyd8gnmfe()_aG9;UkbX{K#cA&U&B7u?YfRSF!ODgRjzrOs4cy%mo z5I!KAG0|bLq`nWY2z9zEnWA8t4rM50A%iE3IJ~*{pjHl#+PZw#R&8$$@hfi3#QliS z9f|keD5p2F6W&eN4<)dkNM|2*Pt*n@R9t0XL>c1o-^l!6W%PH$a18vpY}i5K51B{KyqW{+;|WFu`a=2S*yRS zU%p?kXaIdMD{{P-8gzzVM4I3_%F_=I2)+hUjU(P6o*9V z7)0o6b*%1AmN|Dv$X1UcV*O=O`W&BnbS-W8X5Ib?5LugDYn`&!YWHAPkOn8C{->7t z6RU2y%raNQKiWuRs$lIDku~JbymMm>n;_Q1aK{hnO~AZV?J zb2d`pn%rr`MkuyiQSp<|12;E_JTf?yf+gczv;jAVhD&1d$|yqbCNS}7A^10vCjoDJ z2T!#%6)f4BaJXS~_`Y;NAwCvHdi>{^01{?5c0HrI+FWjgYve+PijgkWdI^*namZw+ z|09p1G&7BUyTVoQIOgi3T>2Ew4Y}V`QcJTPbwv5)-eaLh(VC!-c|&P@%KwO%n2O)D z2ymP+_ym-azR3~2p4iiEEWrDD26`z;G2DA{k$z5Se-jf4wxwW!e@dJL ztT~iDAN=i8MI1Rql}t*2zvj)d{V=G5ST1H=f2pODa$RM%PB$qM8FB4+Xl)xkVE9Rr zeCLnc{@&;GTZ}(PX4a~t@;IA`HqAa`AF&*t+U05BsF=ggS`hy$gQM`zJJ)26m|L%k-6E7S|Az6&_~$<2WeO|BvS_^#m0 z4DK$_FX`q_-EDO>{=LpR*1rBPDb`TM51&dQvblAEyBKT3ZI8+HB(8E7B`pTsHJ*Qb z*NVQ@qoZldYHwP(yjeCo+t%K{QDxqD4E#Pf5dbwLpMLIr zl%plv9A@jMQ*2ZLq1e`7P`!t@Zc4`QL6zM#s`>JX>=Sd+-yLqoxQfr9bc>)20nOT2 zaY06BWV^L4Ask|?H4))fe!fl(XO!MSpjzHUfd!gGt!E9=bcZ+?e!D~~K<^MftK3;P zZpjU?dW|+H)c}dN+++5LFdXYUdALSJ#EO)GIW9yIuqv*5w4Wvfah_BeUT)-Dm|4N` z>T*GFRL*?i{Y;XXHySL=C3yQCp%EdGD|VrKCQthhi$w?ZF6GIQA1(*?lMuF zd_5{ynEFQGG7Yc-c&NF8L&WmhEP+1zqbGi)UceTC&+7&p_5U+`m(PdQGxe>$)7M~4 zI!4Og70(w6sSq(-3kk?^dG*TixTRM`fRr0YRbk?%fcy4FTzcm?Y@+8Hkl1go8qNfF zKi;<0nIdE$CdP&zLdRJ2fF9{LKug_KH}k!2?9r#8LVb7gKkdgv*AVRRIzNgY*~=io zRy(zB-uhm|gH+1%`CF;gVvz}={q;Iv^Zw49>&jzxoiR&QEhWh@%2Bi^N3_7OKFZRG zDcCAx$4M+|VXQnVom{fgW&A5#5^U~m2k%rPvIm4Su!4|cd%HoVtlM}QKr{RgA$y)M zgd9judS!4&($E>F*TEbKfrjLeBV3~f@4pB+`{*Uk)KRPOEdZ;zNvDM%g zu<;-$@xEtyP(++hdldc3I$&l^Ty(3)m~)w;Vh#9alWN~kyjrL_u5>X!#SmDX!To8EJXa3z0CL4pQLC-{r^BP z9}^G@8LP5K=lVZfp~Wb_!*nd?SkFZY?aK{BlcYCMLu043`4?9i=$7kgUG%JbmV0$c zz>!7KVP{92kbWe1B1wHteMsiv511!HAK8f*byP49a7MEg z)xE!Ek*tL)KJaI0C8T6MHzJ2?h5nU3vdBH};7;dV`A4&1QHcBA8ZQ1k!QRMOqn?!q3oeBKn;3x@qkMWw6OIF5 zh|9~`n*y+Uo8Sdji$K$7co-RmmNxi>+C%n}Je92Yc5YwY0o`3~X%<&WgHBZzqA?p^ zN~ZtrJvd!Remv~7W)5lX{?|XuAZNpD1o~(|!MZ!vi`EzususP&etJowT?PJNUX;^# zxaGRj4dJnZy%Vl1f}6v%ZB*}i7^umx9msz^0qr}-4$HH+iD2i99_`!--tj%6)?D4s zVgq?i@=i27br!BV)8pmAZDrf&RtRtqiL5~ZQXfdAch1xGd*%XdqHnazojx}4blb8; zVxADm>))*JXsbSVBz|JH7wh~>K~l* z7nJQGi!TQvP~iEBP8aJlPh+0}tNRuLF{__Ewspu}6hr126K6q+7Z(lW)E^z_$H2ocNG_WF877P@eLI zvpa}GT~lhHYK$)*yhM(l;Kjkv_T)4?p<8GgwMaSl5E@H~A5bBMd@U7_u36b3#D15M zc-MiQbE~Bsy%I}7sLQf;Ga3fK&w*}k?|#CBEV*6zfm{~`CN5!OVWV*@*<~mZcmBNW z5YlvR&XD1yRxG*W^2j0%FIqvs!u~baxo<%BD=$a*iX^sOKW+p`%ImeZ-B`0I5zFfl z8g#FwPii*V3mWHM*&D-Yw5h%Y*b9x)E0uJYSc@L68+xU+b{kkU#QlSd_x^BaOb8z@ zPm#Ql8B5@l7vwr6@qPNq#{SS&$7l2&^!QA+*5M}*6hay!c1th|x9fW(_MXCse}jT$ z9ebfZVs&@c_{GWLbH1Q{Et{j%>d0p%F=M~oCq~~H%0KWeZsjSRO136ergS5xRaPW$ z_N)8Mb1+A_*U@#&62i?im;8gg|9VTe(-~-7CIK}fz&ayIuMCQhCZ)T6r7fvQg>ue< zo|>*MOJM zIsT(WtB{2q*%e7w@hkFrnX8i%i=Aa}))=IZ2et6DchYlCB>j{Ka47+A1BcpYKUODR zs%-0AZ~4Iw`arXFN@pT04vL*`i0k@#CxRt1XmRdzYx<6!G0<+XXH1N7aBsG6?isX+ zeB~8S10h4IVUg6^d9Pd#M}o(HzsCY1wg~4A7YO_eFF#QF=>>$FVp2LiPt>e0?xOT- zd11uX!2tgHFJy+?bn$qYZe*dae`y+vvx>#uk{@1!ZGhN6r}rrRsHO*e?h_-5;NnVG9pE@QWi=nBO#)!esNEhSAH{XkR~fZ07UcBkkgBZv|7KJmC786}HIUhXx%_ICn}hJSJ`<$syLo z4X_PQXG(%qS-|VfX-|e9Kp*0KNLiGaRWQ&Sp7MOi(-Qp4#2zyFx5z7^9z;tj ziIWr4qvr0G_mB3(4se#41jk3>KpDZ;sD>9nyopn1>(tM#5>|Aqk_uKAF2Abu|$S~<{la^g{<>w5)dS5Sg(w_Vh>IyBrV2=>& zw#*oE zRhrQd?sLH+F<>d^tLQkJ9_BSh zD#qI%L@)LeI4XNBlAuIG$?PkkBTLGS=(&VQRB|5`zE=3jPb+iE<$;!Gcug9cs`QOo zswu#IbT}g?h6BFR45$3Tr6+vCbMEVcmge8TaDcYyNqjklHbs&&BWF!hS%?%V4_xad z8du}qz^2!W8xh*zLYBa#of2J^cVTrrT$l-*Ro%b371@X#xe5ki7GFL}r^*_@jVooc zlCa+CvY#LZw3Msco}kLf7tV;7r*ZtsDu8Kbof!!L7ME8ks{uLz%03b`*H}%usX|V> z6_DL%cA2!5NG{}>G9AM3Xb;4tY>gpu^&pbm(3SfN`&x6 zEZ5C){hn@_6}&XDW@bUOJG4|@D!}Qode7RT7`bi<_LnFAj>S9Pgr1||Ra~n>>+p31 ztSIB%7PbS6s6eovd%4|6XPJp1n@&`{jkML_%HARh#_m56-?nwzG5#NbkLBxH4WiNd zSJOW|w=!~$_fTZU=1pZ5MOlzunqj#%Ek_4)PsJ|1*8QaIgzO8tW1c#t_mh(>7YuJICmP(Uz-ekmZ2%5k941XbPIl&VTAX$atPqLjsaXx zG1pp!{lJ?&S`N>H#I5WHtL^Lyl#a6R&s+d2kMORN&KM+fSI6>@Lv7LQ()r-0LysJn zF%jI`@H?kbk)_3OFYAq{YtYN#HCH|c)u&9dzQ){yR`FyZ8N)|L_K2i0PjapCV8}xe zW6uS+mCIb7sDOLK(z0#8S5v{oWjHiJb&wSHTwvpB`riIv)9|c2*yGiV3~ab1JvmBqNq`&jYM)+)w z*@VJzp0;|>F19Q+H;RJ#0C8ZQvmVWs+jQtIQ#4?vJ}^%HhJkadYu5`iZx_~|^B(w` z0-L*ayLNzFS5sm$tkgEUy|$d_zTzE6 zoHiA>)70AkzYDOU2dQkC)3_Vo};xjXF-A5qWtpx|}NikxURORo>m=z=1epXAQ#<5{-O7m`c#kLm*70(?tp)d zOdlG@9lp3J$g8NEJGnw|UyqojQk?|{>fdf06bKOxQbM%0 z8s+ULP7}A8IozTogU=6`(DSs@u$RM*-fSJXvGk+;(7M=H{`j`Lynd_(S>Hcaih9m+ z!)?bSAS9QB1-H{kV{9K*9X(4_^U_v&>DPVoiRZVRs-x;Eu{FY7YyCDCR>4==iB?KK z@bcFM!zV_K?%~H({E_C9F#gRv=vLAgN>otpI`bG=*Hn`e^l~yo=IHX9f%)$(jFZdB zM@oY5m!rT5mk)+%Xm@4=G_GBz5dGE<`C^W6zQ@oBk5R3OHV$9#!oD=$-8EokQUCl# z6D#3)9fB1?SRq8~jy)$60g420)8g9=5x3#z5Wmtb)J63YU}~@s_Z3eng?K4@z3J{$ zZhi>a^glXy;vAE;%Gc?@KhHfs>2a@x;5jT^nA@n2eS!8^eLy zis+pHtnk*?lWk5ePCrsV7dE~Cww3cbbVE|uBLK8gf)il9rWha&F=P&E^U{jYyF0}_ z)Y`y;=+)8@wciOq`*J9Y?U-?a`G#Aj;J)~F$?m-hv zQ~Bf|3@XuTtLA@XmJjum9ot^F{AavlQcS#8aesQSQz{x5yzOr8C%{3e2!It#$HK5PCVpvLH3AfxokP)7>+0kio%p6%eCkG#5&0w6Z6&JYuj0kIB-V5R-_E!=$E77cj6D^*wUp{Utulk zP$IhT?10t=l;Mt#*;L+j=+uLeI$k4!*7h>W!~i`d0}vatKx32V5aX(Na``{_J7I4M zGx=XhRb!Bexg%#wNhGq%Tt})Q?&TJbb*{x;d+kdkf9;FsiZ&+LV-{KdW{q|XKL)1C zU|Ivss*rVdlK9dL5rS>N&l?r`2K)3qjI^7KUmF7khwo+h=RAKq#0?5S+P5bFnJZY% z8k>w{Y!i5%yC3Bm2d#9ixMnCs=o!AXejqg%E>tAH_1$|&(V&?j9jM7%tA_((d0qbb z>2Zq!Io~Rrm-n4Fv)r(fAqR%9oPF=!r}zL>0U&vgWq`FFMCu6V!J@H ztHo)~+N0z+gTTL<@c2KWH-I_Ro}$oc294@{1{JzIIxNkKBB0~J;%g}4D@r~zxZ<|H z_?Px1hxElLIFxT86xIGuJkJq2QYBFWrLqI^$AYZR#+DBMZpkoue0ny_06PZ@5v5&t z%puFr;y)4fw$rU=3c;>S?#dj8zH{b&4&0JcT<{qC)946!PTez~)eW5Nk|l^o%ACT^ zvq$ajTUoGAJ-`?O!MX$hf;x0o&qtW9?ITd0tRuj~AShfaxnEm+D`#GFD~Y7*6*UW* z1D$K`ka(2pRt_>$N<|(uz8BcbW>@X=gx(GO7A9^#-0HTz1DZ_ZPpr(n_m~qSR9$?1 zm(b5NYI(<5yBnvEJ#HJr@x6KN;*V$lUUV0E+%&joWNcaw4P(5Xh33BFu)+z0)xo*0 zwbX$Sv|YD!8q|NzQv1Rv2gng7{(bn2V?0}N3QUsO^|;mYi19?vbhrD2+43-pa5DB@<=mPKPddBE{6k-`-$q9LBD19y}5LS-D2Xu8`$NY6` z23_HJZ)M7nWAKVDoRf~oYh^WI4z_i1;99DM(ePS+FQr0y3C&B?2*OZGX<^yajzVi5 z@@dg0pASH2FoLB|ZNKgT)$GOz!+L0I9gjHQ?B@V#824xGIO7K0_gz60)rr;rCxw5~ ze5qi3v5bvd6r=u)Q~0L1xxg3v@%Q^<>Kv}NsEar<`MZH%BOLaIRB@!=%0jt?uzY^v zY4t8~|EhTlZ2Kq8PqSWj5)>-wRweIdZ!kUH^`3+J{97uTF*iRj62c`-@%i9U9Pauo zB0bEI5ZEcOF63P(NU=5jbAHuy^+P~HWeY%Z;{&=ug!v25bIyP_5v2KS6j>f{^xW+Y z1OY35%<>-8N?4VE%jq-T&2MUQnf8>la9PJ;BW$c$8n4W1hk!u32u4Q(&#U}rKy4W; z;Yo@1&*?Ouf4hZKi~B`7*PZRD21U6L11tuZPLmby9zN4|PxgH89ne?$Aa07V6oj?Y z16XQ)(~&?Tjpzx{S>w02rJh+HaOq>ok#0AH(UCi~!!tzDKB4oevH)qZ7qGV($wEa~ zcYzT%4KsUcLx7dcp1h8*fG3xEm@$v>pkLBNmiMm%JbN950vvJbFd_1k1ioYN&$VxJ zai+`D*s`1Ls)PBVOzA`Jud&g>HtxR-)C=9E7ue22t;p8y5$xqO;mAGv#r`Ep#8>r{ z?1TH4w0|jB9M%(Db=E$q9sv$<3J!6G|H*2gMN(+ISPSv)K!Mmb`P-@z7D)B87hNo^ zn`N{?TlWQ9-I2Dp(w1b6_QNWPt$&@97vZ#-lOg83%MEKt{G5CSO}?lN2iR3r+Cc2C z3|<(6buxSHdTje~96YuXfo2lAG+le(X-S!VZ=2Q9=i5VJ%QOO5yDUShf(Gg&ZdOHX z#rv6OSrv>?->j@UfXWK}Xw2V@bWkPP3cLmI}(H%Rw`sNJk<9ZmG_H7GR zmytJD3}}}Ua{W-Js(q^Nc(__s(|vg^#VG18_{Yomv&YXcc~H;chD(TD0}D{$=pI&& z1;LB>@!=T0?tceB_OtEuy)z0SgjnC%I4$noW+!dJB9N)nrKe$c##?YL`h^qI}L$WNAV zq_IGpUv(F&6p0lTFz2598A8d8^^Lh`MbGn^Rr$bW_`v4)mOkRmrED@vF=|Y>lOh>{ zEYG2G&AB$A!~5GNyZqG(w5M6itnxXeqDu&Xd35!Cb}MXG4vk{#Z%Ve)6Wj`w_|@}C z%kg$kP{Of%n)PD~hiZzb-gasU zaKM(ovaVp2d{8IB$a`g^6GxB_ZHLuHn=TL&LJ(4e069XS4kR&-U00VSphvc|)?A_< zTgy21_FT%z(DCrI*$X*Z`IUF554(J9Rx6o91Lg7;{ViwJa8kJ0Q#-g7N!NA%9(sg! zma>@53`zru@jvX#3T@~ifwC(*MgwfQAQwgnZ@=IR>BW8(iPobsRp@Gl#MKc^e=bd*S z-3@AYA`WaBJ5?qNj@gw%NO~V&80W2l2QuZo1KnWG9oFDvD>BdE{?wZ(creGpbKX7Y z&>)qpU=t3Hzh9sp@g!aAYuJ>L0*RIp7w4VN& zMrcE>2ddeF#PwS{vg4njW>cU3Rh%^yGOM5i1Hn0s>Sa0ZxbJ_iSltNzy};bxOwksO zN(qTG)j|3XIVXpEXZZsibkfK*wCqvvs-uAtRu&+>93Q>gV%oW%$gtJp`oFq`qJ<81 zhl%o$S&~skYCIs1CX?GM{EUP2;JCn*cT*wYSNZJ`$J}T;i1*$@b>5%%J6gPrvtz(f z_$Ncnvk=lQ-^i$=uxHYOvxNH8qpB)&o_qM3qL1`V}4ghfJuFN!w$rm+?pxOU4F zik9rbl5sws4e=Sn`N}^k&ibOnHJMqmuA+^ zJZ6u$!Je5zYu&u(z;dtsfe&ZXp-UO*_Ixg^=nG*m@BK;Jtx-79An&*)DBQ8WhffzLPLrlZRg%1P~hu=sG_aXypglj{Ej-OA2Z z^<;7UUD2iEor=VVA_Oh3bKIQFh<54vLgM=0DPcu_w9U}#Y__~IUEXerjh1qdRlJOd2G^_wK=;+Fgm$bwjH;zpEiA1 z?Fp)EbWHJakB$L81l>=x?^s)CQ61O63t2)2O$MJDysan`=sA$Xl3&?84nvp}cAN|5 zpm@;{kzRv8pj%tgPZ$VPS~t+@!}Y5E&0TD{VBk0y4fg1@DmujKc|8k2_02!ApUSQO zo!&FPC9?!>C3j)Lv;+4(uhal$GtlLmW!Yd6ldf=FNNBs|2{acnVn0{tl%A0fi0W3)M9r{X7|g zSGB{rkB%e$vQd_InAf*=^s5hdBTse$Gi{8CLQw5KO+;~?5;)Rprn=4U1f%+eJ=|u` zvYocRDAnesap>1+CFj{#^ec&=2W{HgTb?n`W-L#OvzMLcxlEx`h|=9(yXz_WNN;36 zR>_WKQt(Umq!fjB=<0Y6ugOo>U9`wF#dTlpWIADfJIvnTGWu2TSVP4icRpv+Ya+Fa zFMdO(o9i6V6y_W?|FCE0(T5fg6of@LD7fL0%mW;-lsv zY8w2$FuR#eN9ir?`#?t`4)qo)BoOKL7<1Y{Z&FO3)X|1nBGE|l;PK0t@C_KHvM5rR z4J`ZDQsl6Pe!~pE{+-54scut&o7NSVmep6AArb~QA-ZE5*~5$OoU#H#pw{^*htULA zw#zw%{v<>cCec?3B3VX!(?mtT*~F4OQqwiLE5)<6tm`#KO8(1vdX~tBTfMvIGS3e5 zn!?W%97)-Gg9!*T%9w;Wvv`OMavv59Gc5{+K@CB>JHlnHzbWpANbD@v;c_qLA)jP@ zcKC|1p1);m-uq)?X1_3n$lPT6MQ>{QYIsybwR}vA(q7Purl4YXSXhUZ1Cp-&EZalj zPfv5J7tX1B;19lY|0Hm*wjqf;QZ0gCBwS?CY#&HdcuNfh3iJheyfzsp%1sfQ^sC-$ z%-F!!;rpWR!4Vnlr+CN|^vfN|PkqXrJKbULH!)l!9I06Uu}Wl$^_fd|Zt4$`z|*$7 z=Q}t2eI7`Q*s6O(&gmJyMH@YQ^+{$#?sjm-{dZ|KFI(i6DYOI04aHkicj_YUV}jZgciOEY5Gt#v(8Y`PEAw!HE4(vu8}F3bnb089cZ=lyGb^FJ=9JJ_BgLSe49gkTjT$lWfrjR_VN^V zvRS+5`!c-rQ&XHpFHlb6(5P_imVCecTJZ@wsal2R*_cc1i;hST7Zjx19ZwWk3xDv) z&Zbicbh|y(tYG~*VX6c77#U8e>$G#2ySSggTH5&II#o95pK9A1hUC1cz08PC(iRVA z@~{pyPu9+pJ3Fkr=Ds^E4GJy-QMQToZ){EgFe%FaqsKcc|<(y z0grmMcutEaPvhJm#^V^McY7ma16d*MwaMZnp$2IN+WTZsBKxjC97EjN>7=v&Ov|lm6h)01~SHZ9eK-WOp@Xm>|;TfYD`@) zo`m*fyZ$IBS2e6e9J%ufrl7*{L&(s)wzM!7icF&J&IHmI95izeH$9f6F1qpAOG%1J z6qm4>?ZzS%7cilaU!QkeQ0qI?l)t#ZBlQP55>BhX)N-%pNWuc>h3Wp*YLnS%%ry<3 zs0wlPEVN=nnjIP)f6`sM&gNaG?AonQ^?4815C)%Lz74Kv!=&=tcUo%;!+$B1HymVI zPuFt$E!f?8TW+&IyVmI-danV> zU*b?UBrb0imw2C>KoG>=%`_Prq0v@A*+ic>TXlpI@0Ml-24?e=DuINc&)9o?q};b*ptecCZ=+q2R$ zg-IS<{F@HXdKtZ5IX27>hNFQlrbPO5?sauH+iTGDG9oz6FPI`*-xv?tfJ4ivz9D>L$oXFu zV1qPCU9OTt9K^q_8J^x~9+p1Ii=NIxE*o4qTNr=zN zv}LtisVBYWzXV{v?}O%nKi{nWHm(!d6fWuBJrSlmV(paFMPsD)X)P^Zy2mMUCbBkS z#{N+7sfVWKs(yfaV1Ptr@ar)zyXGR0 zleO3!n5p{{6Tu_@z=*K$lW!whCc6IsB<34BiR51ny*@hBsud-oo2OpUcvq7!9ubGP z>gN=hJt@x&Js$dc_+6StXMXUVmNdel@RZfffbPB4X~=bDtsssxSegtf^rjiZlcmd< zW;JSrr1R~>L`Myxk|sYX5Mm#m%G(L_5u=7*OB_fWA_%Y)QbV|bhxMw`vBHq9@Lq24C_iAO$7yX5`7gg0l3s^q%0KT(dt{n3P9-06+G;usx<04!WlWenV02Ep~SKXG; zED3Dby9I9A>@(84@17&EEjdm-8lOyQ>m40WepgNv?a0cUj!`rEPkYnOiG7JrMxOSj zAZuQOo+ZlLl1hC~m^Ltp!wPu7fkBTMKh%%DiSN26svyZk!ZBdZr68|^8%@2Zw79eL z5g2XI((@(H`!}yY&e?4rR&UIcq`mk(%gT5$np+^k`QBoHdMx{rOO9(l?vX^AR{n5z zu`2z6+cG;dhJyJ9s}BCFy)R5|c>I;ZeuTQow=MyHSd}ckYnshL9EH&RsK3O1BE|G| z=5IB`GSRK%@l?&8v&_xvZi;azp|sn}sHBalBttO5G7u|SZlveWQ=srl$fN9maO%eI zcFUekmS+fv5pZLv{@!k1Bw45$iU+tG_6Ow3b5#ywm#wsr3OwHW@rsq*z(Wg*9114$ zrX{>`#{rHSLf9xboQnG!KS+HG<~{~^Ko%!uD`UvvSA+*kC=Gz3rFj`hsk7HYC;+*_ z5;J~au|b6{C;p{T$NQi2d8ie-!x;xbUH*4!Py06gFi~4k&B+0uy!ccp%~-=@kIo(w z=diij2o{qUa=u#5D(^-5qYAQYUT+9>VhZx~Rm*;!ej!NXk>FftSRq&$Ulb8Qtspr^ zRo=L%#j`HBC|EwR;_)>R4YEf1-j#nm=%rxEowfbJENOHpJE?d)BNb_WhDcd!8tLSy zN4_{I_bFqTL6{uc9DdIs(6yLl9g~tg8FX*qS$M$2X zS;m`kS7o!eIqw-F{rhpo595z(9-3j0&+={N+iS*4=yj$O=eQ3U2=SiGfe+h3a~%@T zv+e~lliqS59NDZg#QN;qB-!62Yq1*3)dgxL|NgopZ*Sm(hN$~t;I(9;oR_TtwNV(G za1J#eIqJuK)m5h|l^QI3o4^ZKUM_q-il3rfUS~Q5sxv=*l^Hz!f`(e-sKDa+NS%4_ z+FjKl))Gqil$s#T3Lu$q9SLjgI7yP@nOtz?Fx4N1I5oJ@c#MYg~rCr*h_L<=A^}_dx z{&1nKn$0!jbj&5f3dM;rd$!JZ*tPPsT)3YOIA&__E!sK|&sEfK*2x+@SM=8L7 zhEIL%-cv{i*cgM)G{Xaoz$^+=BQQTnCqb3Rp#-i2Xy3U*@pLd$Vbn^fAUCbj6dX%r zuGi!tVieklE1505e(E||yctKn-bmCSCIIl~w(R(-5vB<8qCGtB+~pUm#)2${)Y5_x zAaeY&mxiGYm?bWnd{5iN2XQ_{Q%?|(Yr8^g#cr1bmB>jDA&$i-4(x21kwHV=h-%9~ zf>62JX08gO!q1;UA}LIUx|Z)ne6O#lSvqANKoE`+)R=JPGE;c16`48nD2b6va$cnd zw3gBL{;JKY`rYwOdG&a^$j=D5Bv!zz%V(+Nm9m^jgA#d3=w$Bl?m(vf2B=*(5Axnghndp!t)CR2Uu z5K&=VB=&?~b1fhx(b)plV#RZ_;~OjgDG_%Q74~^ZHcBy1ClrQYs+*UyP`hh3@FoH2 z-yA9IW9qJ0M?A=)qi3}2o!{o&8kuU=ECJ#Jh=#gJ_NAg|uGKV&Dp;ENk*8}g+6n|d z=#1W+yNqe^^`K##x8vi`{R#dqIQB$!D!09Gp?`MCXQBt7)S;bc)`Vq5{q?2Wh>|Axx85}o1(JUhUKU)rq!4BROk?gPKXbK;q(J3gDU z1d;6DXC)klOp}FzE<+;j5+%+Ha|;gZmI2N|M8xe^X-j^ygsXl}gektvu>^xeL*iiB zuT*O)8+(!XwNBU3CKe4mDorS2T`k@L{pQ?=CJN61?b&pdn(cyD7?tgp-ONhS`R|v5 zA#(Qw21mivIr8<-0zUYWP`~ycJT1^wF8)2a95ofUJ0t@w*(C<2=RqnmoYF}c`u(y!atOU#j7 zdcn8J-Dll>3r7mSu8s*26jk=sl_^xJM!yc^d0umdTQ@vW|Dd(m zq8Xoo8{5RjrpSY6SoX!09>6Kyv`NX6oOIali}kM(-?l)Vpotb&syH1E?}*|QM?_H(Y?5IoIJr=7d_{r+=;^FZxEU3>_S zxZt~MeB~Rmx&+P^1@Y!)?6mPTN#C`|Ps^E0it-ga_YTKc??eme@2 z`%Q72jgr7~;z}oV`cv5t^;#R_sqNpjx|UA`MtjhTqg>onmmXb3|B>Spkw7 zv6^06?nEjOKqcrC8Z z;T*H!MoX`BJ3l``&U6T2p|}(6R~o(?Ov_>7bYv{!56{x#H+lf49xadis#8@y(gpUT z@*z8#$=(Q2@q)6JUgu+u_v40@CD@k^69<}zHZo~MZRQV7>vmt%iw~z4Tk3y)*s3hp zPR?idqJMHaL(TIU+x!(6OtMvr3CQZkt|H6on z;WsVL!^7b|!g|KA`O}eqPf2?fj2h4-%p~x5F8t9@LNEU50J^=IuIlj*4^F7r+g6dT zuIS1C<7tNyskS+6c1=f>GZJk#mh8|TDcJv+27AYseAH*5$Gz*i8_i7rG|jhHWA4fL zY1eR14B*J1tITZGylyTdc}Yo`BD@%AdmvVwy#6x0ZVa38YL1T<&^u{b*9x5S2IMPjeVPE*ER+ej;87xYv9p zSvBdj4WsV9KX=83p?uyLVdu7qqaZD!=BzN+IBLXt*!Lw2+rSvH>4Oe?c#}LcK>VtI zdNJ!WMEs4H=yV*ADZGAiKkR2SBtGi7sWj{rm)qup7k=)>OdqeXw7~)v1)Z9nh_jS&t!jt=@#8Fs) zCzKi>ptej^oCT!3GxF?>9k;*cnXNeoJ=`AuhQ@a!43h*yltpztuS7lo)<}at4YBA$ zhD@@=>X?i`orJ&Ng?QvgoI$T8kl#@NL_UsC+zFqNj)OU&%pPWzaMt1k$>L0z%+(qt zBXHL#Wi6B<$MOSsfoV@ZG*CX+cTp+5{ujlyG>Ype{f*ay*(()G_|aB&#ynX;sE_0f zDu{+UK#JH7>H5XcDmYrW(Pm2=bJkhn3?;CRz;3~p zB|W3Kv5tuW9~|C(p@5Erl+~ss`+nLZV|g43*v*dT$B3d}LRvBM$aZ_{E66?osE@bi z<3F%*kLWiD6%jlfP2gI+p!`q|)mXipV>A$E9){Ngc0I%ihmK%h14>pu)c!i~JX8<) z{{Qpxm+YqnFW0-?TBoiM#*pn;#-$g^FT<;NQ%il^y&YwEYj5tw`a6b$xbDcf2vhKfLifw@(0hHZ zb$Oc)*{Po|2z?F=2Y@=B9YVMc(_>$}KmUlZhg0HMrpTfLGpP}7jv3Hnod*ABdRBMV<(bDpb?J3Hc4`zQjqF+}r*R3uxLKMj$S9?}BF}$+M2wENd zj%tpHT|AZJ*3qU4`jR2zTj@9EsM$l#ULawMPVXpfE<1o}=X{%sw_Jk4-LA12BTp|@VG z+XSv65DGY^kihDZd#9P#GNHG}g~>%*3qL36zL+lr%W5oo_Wp%(uD@4tPs@zZn4_P} zlZhQ2sX?|R3tlIdADcn#mIlGOSzk??Wx`-e$exV=5l_O$^$FrPMt=cJF;u1(CD=T1NcZ_I1b~wXvqB^w?Ktm+!W!4&ehl!4@|k7ON-~ zKV8g|0f4bh4qhJ3pOMoU$FBcgcsI$YE{Zvy*h)oy#x`B3+@fc}OwYHwllJ^4gSG?V zPHg*^ppE8-ig_?L%xR=&s-C|mJOQ!!tr*5OtUYw1Y8B2V4GP0yc_5S}rjJy@`C&UU zTfGtY9VT&nUNC(+gDKN&9cB)x&L3#U*zb?Fx83>7dFE`dN+@shx{WV4p)~V;E5k>6 z^G_V}z-D5f(8;E(5cpez_@yKv4&l=0(#fuvtK0jnF#-~mc~|iIBwkzqht!ocd2u3N zf4nN{^Oq&M0_U@nmSApFT?q!iL;;Rv*S>miRwoXB`!?$s%M(Uiz&x>pKO?l}BR1;w zqYve*;aj_m#QNEKWkwBx6Gd;x6UAa%ZPwY*9q!&t94C#HA~TcvE_!_uMZnB*|DR~Pn&4X2THd$H z^ebIGP2NkVx)~`Zb#_}4nUQqT(f9YZH?`5foO)&pk)G$*&45BbY20R187B&W+%kDb zZS=N0MB;MzQLkkaBLbzpbevXf3vNt4yZ;Fnwx(Yz3fbFQOGyY}Q?aX#|B`-n5?oRK zu%U6A>5|Oyf0v!fD#~V`o9dyN2wui_9q3d}IEKE@_s)P}eidxMr(l4YwBe(w)3aJV z@kgp+-O-_mMCVA6)uC6_Lh)b^VdQPG3S!V}5WDCBp5_g4B?vC z%(&f;I5OQP@efsbhWKv>SH~`uQKjJl`%>6NrVXNub&r@d6W$vD7Pz`?&Y(Kxvu0L& zKz#?{^D0V%=jff`o&-G1_MGye>RFw|@ySVC&FoZS%935U2l25sG_E_hn6atWrXN6z zvavzIh!ARGGasqH8yYjAB#fXuG|%u=M3+T4JSUh;jNg*wQ+@k<2S+6~8(5Mu4gQDH z1oL|a!#)J{zKEhdb&-YwVD%V%M(cOygt5)tmD9OM@pOaE+`dbeQZ3-v?=llw>ZK;2 zHl$7AF@&bdJlyoQ>2nworv;&LCo94_eIvgbhXzC(T?WXNjg+6B+fABtXPLR&P*Q!M z-s7H`L(O~`r8mHU%^tW&D}XOrRw0@Fv(U(WG0(6_|WGkn7#&>D?Wp8inG*HKF&A+;~$Fa>(WjwNuT~ zmJ0ay)mHLq3`};k*`x|6NJXov$~>oxZEFsom%ZmLM=aLwSRc5P{5m?MGO%nZ(^A~2 zyZ0M34TUhQVH4MgxtbXyC!AhqgEwb~tOl?D@v=&YkNp1F6C&c+3&^WN)AZ|dhNSu* z)=5<-83OZ#h+QJ4u&ta2CeWmGx_ryuHW!#N;M}B0&fIh`%!RJWm+Ex|cR5}(Jb=ny z`WP3=_L>+SWeC2dl9V5<{DhsV8SpT@`=>V?z&1&s*=uY7dzj> z*=f1}7y1or&eBjCw`3yJY16OzP9!sm0M?3n{+H@7M-A5G4jqX*oc|!$E057-1HNcm zjfO^Mw+^&#a|gt>gfa&_%ls6qVrctdi5Ubcs@ogz(B}Nqp+Oi0?Sfkms40`=( zu>#Fl)awcw!h;>j+_ou{OhDXPDuEU;S#PlGWZ=w z2?%*R$PTW`9k5`+I17+FqDu-^dvg&dYUXE@IS-?sUi&kA?i*wb3;80t^wtVk@q{ig z;na_ZOhhrPXRq0_s;~qw`U`OP1Tc)aSEca>5eRgcM}!n44(-7RF^#h$8%DkWLRK6< zio1a!S8+m~(`JJFC9+b?pV*n{vLk<9WcOMcHxU!ap=irvu{V>}npHC?i}w1_#{gIE z!L6xuayS2+OwzwgDWXuDtiB&4NkrgJ^aE!S>xM5`{+p1?hhq`~k~d6E2edRB0Hcip zy>|8X`w;6P8u(}TOt6+Soh8P}%r3PRPaD;R#XsqTH<{*&w~@7}_^=5>nF!LRS~bd0 zO`vk=64H07DhAJOD-BK=4a(q1@U-oG;?fg!9UHgZg%pUwIAAhg84i%4vW1DNKnL z!%g<;zMoU!NDmp5Ab}ez=FCw%6Eo~v*z*i%#U0^gR1c{d=g4KemfQ=x?FhW_);n05 z1Q}+YtQ3&aOlCJjw{1h6rpB03q4ZO<`4hy#J5MH?7JPhuHevVI_ztj$#ba|c{xs?u z?_yb76%qYYn5Q?~OC}gtdiK?mxsH&~K_krM*RvK(zBTo@J_ys19j=d`fDkqLFAU7X zzy_I2TSej2)2->;+@J9eUty~mQ`}f1_}e!o?JNLnHkGIAqEWBCSJA*J!4MPeu={6` zHrhacd=kqMG)?v0LK_@2`^k3H;!=WSExT|1%K2R&VxsS=_<`Eo$h{|KF((Et7-pmu z^V?NyiUe?Qk$iRrW%(76(b|-~vXM89L*WZnATIbVo!Q5JD^%G6cf*e!4 zi;_$v?1*>dr11`^1?v3+_7(})CfGnBH%Xs&^cSm8UUCkWK=}oTEQ|E1-or(EwP5Hz zE~G0%g1|E;Q1(-T%LIyI)o^iv)e{Mm*bpGe3)`Rl*t2-YXWB?iq0aPl-Pp`W(>l&` zSA+1qe13C#MZ=mKa@nM@z0!L<@ih8ctL@a`t`=DYMjAS-f#qQE&`wg4WS1PPlaN_& znp6ArCmBlC3%>$YR4CS{ z>J(eU+o&38g!82SEl<|C`dxpc)3;AE=GSQMKgu$b%RW};Vgm|Z5is3fs;Cwbrxd!5 zF4`^65E+m+{Dbq*m2eiec!~&C4RTcmmYWNSMCkqPc#2M4z~`Q6)^_e3_)!1!r3t|Q zvH&W`31v!EjFE-vLHerj4D3{BGl|r;zNFE6hlRyD(b3v3sJ>%qe`T5zX}^ySb9$u) zjUJ*4o|QT`H>0v8c}gUgMel0Dr_IXu%k&NFurkFA_0i@CvhnHcAw`tzlpePuzb}_3 zREtkKrZ^fIT^B;Y8M)&*aVRQI1F#KP0pSQ>5uma2GGnn#GF zrs#KCEa$T7;v0}g$I=BnY{{8stu7+}?qs^>zDVv#dP!5h60`yFiB+0?ZlpRhV^6(w z?Xu915$k~FhinU1{GJzQE8uIp98um6;L-n({AD3~g-zf$W2V^LSz97u)z9!3DtgBJ z3*-Nyd-^(sZdS)iXI;+}5ky_T8kh**`1cSvabs^>GY5J55opGV?l4z!l!&abdnN`~H*r`Gvc zW8|~9TAQ!ReT0^Q+lMGBgZvSwCfK))+;{(H0$*HLfEXGd%)MQZLB;-6lb3eXeioO= zt?GYh#Q&VsyTNH;A7mN+yyo3S6uzq!n-M%z&x#;v%vQmqUL`H;8qcWI#5^BM=czdY zOzW_b5vnpeQTl9*IK?E|ONaP9IWy^Gf!rNA`rOBNUq!w$`m(ghTt2ERx7mYD%9JqV z0wmCEvbX(Crm{_!L$nb5gB6!DeS?2I3~2X6(IT|&sXuQ1=H=RE_`qD?^9E`cTRKcW zun(6>x74$bJ|QI5a~P?mgjcJ4o7kVQz7oZklgma@D;CS$;^J0dYb!c6TkO(Dg>_bT zlFGp_2e@VkaaK!){qdfwmbbUJn+FNhCzkUrsyMuUA?1sPzg+ZxqfuPQ?(8ecx{xc& zNR^g>@P$3+V!YHAD|Vl0ydtml`*(NLSE;KgY44*bOpw7ozXf)Fv)JbA0hM_6cALx%+s?b(Ubj_4BLgQcCVL&pc7N7{oV-1+%s z_Ox7Ji^_dj7N}>YCnnD9BWI+OI~ryuy#ayG zlCR5Oxj!ie6d zUPKVKil=LbvJ?0f6`x?q$@n#Q_S~)8+$Zhgs60kQ$o|N0Saf)Q!3N{=@h7h_pMZib zG$4KHheHj!TJPyk!O~lxI>v>S;5~^vfgnT|4Su_Derx_B)OS1fZ=+S`Yl71Ht$`~V=Nx^t28sy45r-5_=Zy3Tqwy-8w!5Pw~G~a#x}+& zCu#4zHOa-_Gx|5Xs2OP5CP-~CwCJK-Ng~gFZX*nprTM8*KY7*88HyymdF$GoLs0h} zW%B88S`Mmknya2ye9N{N{`x|FX7!s|#1O#CVj2RiGd|4i-#o^+Y6hop;K1-$Jh@fA zgP+*Roovf`p7+%l=ej`dd$ocWHvh&7llh2(eY$Ria?Y%b$NL61oQ1|8Y{-w(p^<1t-&V9^tc!=e%;HkdPFvR;W1^0= z=$WA?9ufbP0Qb|ysAHW&|ZeNQv0$jQKYQ_v6|rasstgV z1qI?{f9I2DDx&lK39=T*B#h_h1mAf#ad1^uJDc1MynDD_@{SL-ROC_PtLnTrWBhcd zAG5c~{A2At&*nQ}9bUSlE-+J}mH8gb=kYw>*1S1N3B(xfRV))QX|*?nkNC@}TOFDT zX#bLz85P}5Q2?ehpxZ)JsS)ozABdt7WP1m@m#`pD9OwwDWIPBGO13L2mb0L$Kb{?U zD#Vu11sDLRh)#BEi{$*HQ{Ij9-6^vzRGJQTG1OR8ACn)~(qkm|qrGBD*=SDwIpO+% zm~KcVJK!mw-rlp3*lUW*c46Mh&>z=rCo?VFk;>{ufXMU(Tb<=-DfZG>fYBhl+kLAh_lJ( zo=~o8iW&dNkGg0`tm7;GQlDzSbnsU%6VWtN8aRdT+GxU0H}ZTu)DIuik>INxKUUt# z*t*kqW1_|HAJX003k)+W-=JZ9^s`+lZCd_1KU$HG7PxHzKu583%MH=JXPj!ktfTLQul z^1KtqM0NF#!_zuIZCZ{m=?~uAGtRc|FX)DUyFN+%v()@H_O&bMwL!C5qkF2?kW!TT zd>8u8nOMC{mv33ak@|^Rj$k>?Y)4msOCug1rdYD!Kq;)}fB~)EutaT0M=>C-j!uW% z$gkdM;HwWF>x9!3Jt;#L>z-bbEA30IMF)vr!e+VI`FX@;@@R{aM+=VJRu~SEhr*u{ zw5Gb>62;t(9=ve2y3B51dHxQVr`-RCa#!;so{0!iMX^W~#bLg(2$&j?E0vud79bkl z%u+`o_!Gy8dBFLKx`aF_)m|@~vOCGMaqu& zeXXAOBBt>(bU4y;m4R0Ytk~omInkE-VUZChM5L8<+I<0*jp=&0 zHHDl{H1vzEd@Yg_C2O_{l)a|&e#YN<#qEn|w%EKEfZw7QPa$hrQ8A=uAUwdtnRqu&#MGwk-JIltTFYd~+l66x_fQ1nYa5%D_iZVeL2|op#JFXJ1yOy*-%MZHwC+o@~2z#?E%TnyksjWZSlF z*JN|DZr{1*+zRZx{_Uj<#jVGWmxci8?y4He!U! zi(_6eD!`I~_%c@<#~10AlMg=Ij=Z`rw#}8}dW-Dw19K=(5S`LE33idAM(| zD`0h-MRZmL!Mw=^G{?r$q3L~(|Nma4|C$ayG2n2P{y2(zb|AU1W&ECtc)n^fDe++b zj&@i7r<*rpHEn3Jsy8l<;4)Tt6PYPWMa-x0Tq~P~?nw>5oHx@1(M0F(--Vs~VUmpy zaO-wor-(E{o z?}ywIyX2W8fw?aeFQ}pjIq?2E)7Gu*4k4%}JwF%$kz0TLu2P!X?p^`R8km`K@b3z& z&KB&xHONtx1*?JBAZN_gf!NeE9ep_&%Er_m*4ZCK4imq)prnX+oh%yDBwokH10_>0 zF6xfZoDr&*fp!)ZR8i-WMLqhp=g}mx&-U?`Df0}@OP?QZf2PI@NYicDQ{zIlxgvZT zVpg8qzcv@90;b$+!g@OUxdQDPC|`2Nbk4EZmZyIOdEn%b;3gY8r1qg3%&!04kur5bfs>#JY)5l zK|7-^CNlQo*5|MDM}XDkaijru_64$Xd8`MabFg#w~8N2MST*7$e(Zh(@I@wg1_?eQBxOYkNE5586^l@sge0jp}g)- z!)=l^l?`GjB9j3xi6^N7K+4Kr;y4@+9z~tTp9Q(O9m%ZC|B8tx#Hl2@wtQCvE!DM5 z{T_^|ZL~U&*@`EHo17HZeeO2SI1n{vTfHsLU3XB=Yp=2!XdjD&+_Og;U7X=wuNef5 zyc+BeeIl%39LDl83o6m&Wb(I5CuN&N&g5D)sZXF}`DVDfWIwatHr~&mhXgHt=ha;; zk)_P8zs7FBdNwQ-EAfyo2S>|l8n2$mP9T`?9LJ4}nO)OH6EAz+L^Nu>U4~LyF2lDg z4f#Ic3Z{#Ctp_(f(Mb#Da z8>Sdv0^Bty9z%}#S!S*NbJ|G~{|b803aa?xydg^xggvNr>^IZwV#tULY7|B8rZRdS znN*nn7J%+te{Kn~%DS5Hb9no?%xLsd+&v{GCeN`()WXNQYW@hG7woM{)8&7!Z|dmJ z8p%$_{(;UZPz z<&jWp?Z0j3$4{6YLa1aP>HpjQ$D{q%9Pp`(7S^MCnZnCNBN*1&4mW(_QIP+O&_`#c zI~YHj^ju=&*z0^{Or%OFV6`!|ZMi0WiXqug$Nq%VVrf3?IZ%A9Cim4F0kTbejZ79c z^XO>~(!IVxF_s0iikL%tIAo6){B-&Glb3;_1Zi@ zoWuP${^Y*3smTs$doVYchAI-&3uv!0cXkF?P~2F>29+Sf?Sy?UHUxLLh1qIw>MVKz(6{6jl7lTJE!8FyM&_)`c5{ z)WA2``>m>N#p4nDA1o=J2SyRvi-Sp*BK%^$L_Qdf#!xP3l5VrrpqDGia7EW9T|O7buF4CyfA}Kn6JNEI*wD6jLS{`1 z;p*6cVa0WrwA|;6mLflLZ=BFo71?$6a>H|i7GB-r4IC*e!-Hs(kU*Ojqm7*9kPtwj zqf1yei~CTKWY(9pH)J(9|AS@DT%%@SUZty<6e3R+zYcX2v!!Nioqs(O}q zSsIYMj~DU-5J5I~!G?r-g8w`Li-~YlQcI+jJq<4SR1{!qNk$SmhAVD1J(BeW|d0ZFodWu_6KslpnncDh-hoF#TFTPfvy_NUjaxKdEpBV^c3^5N?C~^zS`%gi zYH?OHFK8e(Zwr?=`ie8=%W6CPAjd3wrw$7$O?7T%tGkFyrUf~AM@sU{{NEb60CV-z zs6BOZ;BI3*5Gmn#wzhFf+W1FO@Q_}GY!<$RX2v_4nxRR{06Aj8pMNY2=>g%FQQEv{ z%Bb(G__W;t)8^$~)?gcc>K#L$P0vaev=|Dam!5eiz+~r`f{Z!#^OPpC%pnRHA3NS< z;v*T3$2K?9A~n^A^5v>X^&f@_|M!^|K>g>v?ri^rfUhdT5lt#c*Hv>4um`{Td2KBs zoK5p9Rwq-8Kmwi`mZF=bI>};Pqym}aFw{0A8f=Y$IbFrW45s_cp*p}h=@PejgN}1< z^S&9egWtX>?E7K=e3T;+WC;H*YfGC*vIM<&782HdY8fw{P@s_83}ef^z}!4}QOx_l zM;ler0Cxz(;E*-h83~W=P7`G5H&Sl2-X`8-mVF3&LGU(RJto=sTk#CAO0ZZjq6G++ zyexLep~aM;zJn!tYM`p~z9Z}+@{)YJ5tcg#cM0A^I>R^zr143cQZt=lCKi(t87T+K zZy1K_JM?tC<=h_)1hp|M*mqptf(Wv1t^RU;0u@FA`E^kIts@_GBsdK9uwqUf98_Bhnf&k(a~S`gO)n6!3c>%?;k013Z!!2x0gffT@I~%{VRJIY}I@SwK$^u9vAjn zJSla2Teq+mI}kIqzbWQIC(JQsTwF%Ptleg{0lSSZ@dA?6sa0YEk%qZT5N#_tOHuWTGx&)kRE1iB$57BySM`1RGM=@j-<^0pK}VI zFk_GzX3>F8PlbyCHQiBAC(K;@^v1vHWixnI-V-+L)sm8e5nOWpzVS8 z`(zi62a>9kQ>14%5`X!Hd73*#5b!%ivoME>zYS98Cglj3T~~Am_oS12J+j~hErUZs z79F7;MY>UYe2;T|77s{mEZ3l`FzTn4yn2|EKbv+^Ek0Ds#UH`z(Up~gEjEtXUfA?J ziX_*|n)w(U-#IueHAU7LlaJz@zh!ic!+D-}xOBfYTxccve`_ld%m{5@5UXujPL=AG zwyHtlqQ>%-U)*IQk=gOkZqRQ+Y>BAi_tdole==9`Sf}z8F|mEOxx3a$T;v=1Q}qm? zs%1rh?i^%NP^&@G&OD_;YgRXj5hR|l6;P4zWscSu8g>7F*UvBie!G55R)2olXl{Mp9l#~3VZ8Ec~SS0-yXsFpMt)1d;~j}|d;n{QVS@|d?>hq!|w z#J`aHH$DAkQ%wZ%?t~5zb7d`kv~^WXnc*K2*rF{*XCn^TMw9zPhpVj>OXa2z*o#2$ z+ZATaA4Vbk%WYG>9sL38yx1jsM#<^I(X!PE4a8`!KcZ}%+IXtrln>j=vA~c!I40+ z7vGH)e4)isf8kX8Ce3ph<*DJVd92b4ZfOg?Eo$?TZtN}Wn zw?LK)h;41VTNWts}&j*R7)Pq2@Db5+04TSU0aA< z9Wm0>KVYWn)(qN^NhKx4w}E{nCfAi-w4@8ea;&gx2N-{VUf&O>beiL4gV=rUn8iiG ze#2ba=F~5xJJIT!j4mT~nUAh9fbg+2$pBf6G{U^^m5cdxWU@oTj)|%eFC6XGzj(|U zsUfxrRD-sO(&tvdwrFt!p7BhuEYXwY2C!y?E(n`?Er}!IphQjWeJ6nB+*O076gF0Q z5ap#~WDAh(N4xjJr$CPqJQRR8dd=-l#w;%gcf>Xn4?Aun=I!Mz>Q;?1#196oMq4<&YKjPl6 z^HX;m6jX=!a5+i;>`F1O;we4#UhHhe`^X+u3*a8Ba~)CqWor5*&Wex`aYu&>?yb#8 z6STmRCy30w0M;<(2D(%pg;cAberGo2p6#g;Bw@zNZB8{1MP&607O7_|Fj3tLqPm2G zbrUMN!yER7M>~3McXeBIw=<1laqqB=QH^fZPrbsj$Ck3x0!s^@ilibYSn2E)g{R%P zsxQLfRu47qcgf-s?kUO6q4UdvV@4FtOo0hQ-{A!5H&W=N1u^H5uJ8GXUv>paHD?Zr z)$8V(_1=l)LwagMRNi%L3r0hlk!%MOiOnO(@#%v?Z=eoxwM&YgYrq`h#!!2^1EFTJ zM|u+%IinXA^~5=f?avfX_VgQLTy%@j_clamMGP~U+$MR zs;@p?+tEe9v8Y!9^#fUaKmXK$@@8j4*o0Q{Z!6FAf52C1gV)AgJr1rwu zZ+&5L5X?elq>YIZYRNWMrhHBsg%Habq8;Cpf|NbJRZC%t`xy2neYl^itQH1E9EhqR zL>I)D!fbfoO#gceCe#|soNnRNBu?r4+wpwPN@cTPEkjQ#w$a6`KT@Wk+xc;$w_>hM&vNs|XFZX4#}G0)3T!Zv8p_cF-l6|Oq1!Dy)Y zQqTGKECf9Np7JDwHYCKeEsTgAPnnUxovk8)|iVUYC}V zjC_4r#*WK!6LlaOyx8edeM&7S)ox+UVo9O4&?$2@x3|op9{`D8e-1q*In-dznNVr zTu8E7#yy`H-!-?b;@_V870HL8B0vPNt8c`7 z&QHy{W?cICT)*#Re$4p0{%6Bx2;K4W`;#Tx70F;nh5-Cx+ z06dq5NVU^k9_CM=L52)Morz=P0C}A5-Xa)KE=uPJG;ju&Y`&)f!&pd;j$PM4?N@NT052W#qu-S3qB^UQeXM)3fKRMEYOmaB@8M*nY9s*+BZt6dA&cyW$68G zYUh3Y@Op8a-e;DG)U;jGefxi>FM#;;Kx64-f& zLfSMN^gQO5T42*vOL%g-ug)l1yg}WfMTP{~Tf~C?6l{5;U8f=&-q*c3o#D41Ri&?@ z8NvDjV)NrPDt?vayN=ONw~rnXv_0|P;wVRlSGkQUBMe9f_trPVI;q)jD7~Tie2tgT z4g#KZD~$0TWH0A7Q6ph<(dgzoZnebs&jVY7`31!O4e(V)zC8GWh`pb^z)MAY;B6$?>*NLXn)Q0lOv?Fri&3$noszrtqGW zKQ&R=I~#siKK0^)Gjr&^n1<^d=mE3V2ko4cASP9^uup3|7+^C<+t^OqzyIfViIhQI z&yKWEuHfpgSH@_jcDF08TPfIF0Fz4XZvr9hUp(z9gA7uXC;yfl-`ZP{h9noVo07!N@U<192gad? znVHRNX5i~1L2GR(8G&s8niF+p4gfpLR)?%Siv)#6`{oIs->2wB*FB&J1GfE~$`ngy-O;u%-8-cDiji*PpTVImm zdm64y&I`Rc2+}B$)u_F|=jdLkrSY4mFV$TVw#nz2-}VK&p;~)FD!XfjKDE!IY8d|@ zgZ-GrNxXg1>(rSc)SP2+9rZ=it`BsxX$80907;WjeM5ls^T}OjoO52XOtFMA4*QTb zI;^v(P}#cQk81_1( z>z@ALZENc7mgb5Q7Uw?ka>4%Q{~iaMrAWRnb_8O5S)5sy#f#N-bJ_b1h+3BJ-1!t- zdhq80pkx5jPpQY0eRIlYFhcA7T z2lUi45P8X@)&vAmuQ;3u&hM7k=wV!%sC2hesRt_QF<1+Z&8t6+pxDu&O`ExZq*1Rq zxpA=T@;E;z47hS6=@@mY`a4e()(H9+5yZ~e;C}qAAP(NYsGYf*4a_=rt{)nNCbER& zlrpwsgC_>}OkW`RgPgx`R|=4OhUxIvA--~g(WKL!px)vAfzXPxf~-OJ0{=yf+r--B z7sLpYgS9%KvO`5xg91uSVo4=b|9bX+Whd4Dl^bq5P5H^5l`J+6l#?a2wn{T0sr~0A zg8zQE=bheD2a2@ZJj^FJf@cVc5;V{*&P9k~mH!@2S@|}P1r-f8_Lc@+Cx%)EQ)s|i zRVA5KRc$iha3>r+7_Vc;ETJ(VY|%`L-I>$1t>XeQ0nuxti`8qKv9RL|IKNZ4_oF6eu+O{kvgY=CUJ)Wn*&J7E9faz7BL4*(4#4ePSl%b+j!% zLWxcm{U~jfI25=*gpab01Ls$`pfvlIuYd>gaBdu^;gkd#aDL)f=9IGa!@2A5UXGI1kP@MI zL_*LiNh3}SZ=!>t_%6$I(2W0l;a+K7OVhb^JNZ~LEzvwD=Oo-fkdGfQ-v0tnoFr&= z9MNh|pCEr%w$({Vt&U+HF7)dNVFq!FAoQ|U{~S*;gc$&kwV=`%X% zzVEh4Ozy@w~SdNk<&r>L3F+CuY|%1Lo0|Nl=VJKbUs5L;uL`pU{fcZpMZdFgyjGA*Pb zAs&pjvH1rpyqQTCEqF*}ZZ0wfqzEnRG7h;F^^Nosy{G8)iZ`7KHlhev-15Q#IKPlQ zbc5T-aMZ=#chS9UszCxs8D*@SJE_VS>;%@_!cTvK#kX)atz)-|Rb$~~i*yo?zxK9X ze$^$1aR2Nm;CbqLa(^p*XwQzIn^%70N9w3^f>xNnuY*TWN?Xe1DNGgjtVeg5`8k7U z)w@tJAjRe|8KBxv4hWwg4w&c!NcKSUm2~P`X z=Vmewtrsw4AFUI7s9;Mr;WyL>`}i zhoD(Z-U(jQ5~lUa__t&^NU)v;6@BPmVG!J-*ERNoPqQLb4xLYe*hsNsU3e`u53~xQ%;CCZ}aW zn&PJ$S{$5DA-ls_gBS&k0)1@jOeG#FnH9p%^3S?V3wR%N2Mas|v7IG};loadBp~O&mUWm;vt4%lY#GBQx+FMqTf1 zODTzs>mN;Uw3?W8s&e>a(-p>}GY6KPh&^Bb;d~Jq2~(loRh4#(I~`|UHhwp&{h}3N z+2=pV=FnX{)C1rl{K&)T*S!8##U18!F|Y!eTyMbcPHV%TC$L>lBA&MVQ3Rbd_L`pR z6t%T;h(}7-pp!H%A^k4Q2(5zP(MdlL4|$am`701t2f#h5bfM{=M<&OJ92M3TQtf)p^S0w|v}^|T*NR}YW+E+@#> zpnX2K<5ExkUrpB(oR84Zw(72macLxposyR)RyNAgH(0J-RPM zFch_B7IJ`=b+*!qbAwUuBz?>{0b794?s3sd-g!Tv@$29hQW38Vou6mWZU_Gk&fA67 zB2%vl_!3Yp4SVmk$v=IxUtIv~A@L~H8=S>)Y{g7qTLGhmyQ0ELkxU#6}mx_@ZBLDxYQ z(VHc|scd@Oh5KynFmhV0YLvcBc;wdhq%C!O&6x9-fQFhY?vxmDT2EA37+0>*?+>ZI?>KD4;B zRu~^7DpI(nFAFS%$W+EEBM-J6O%_PMz?u|N_ghOZU3eKAWBjx%q)e!pf6ht_qjNZxiW z8GgDQe2TC^6Wh?sM=M)W#A0|`_3;N7X}+;mlD9FVngDebt8N{32=cL^guF7O^A^ue zfJ-av3>v0N@-JPZp_wu<_!3<4U#jR$#EvtX@;+p5z`18AVA2`I#H{!`&W11KmY*x9 zM&kWo?J_}l;;15EH?XT^=SF!%ODj^t$`CL%zHM}*Iz8C6xl)|u>~MvSP&;2byc4G1 zP9B8Of^;PifKPR_(^BufGyi2TSG4xp+cAm#LU_D7*g+b0JJC_f8IFFON8b?(AYu~R z41T<#2p^;~U9Uwdnn;{HaPM7rJ-MwRc6{a0vr^l=T3QEZg%E)@y=?~9ovj^?|8~|m zoFY!>cYTl6NA72!;@J74U3oJeN8xdP$%T{BW3Om+Dqa5e4KTz$@#e)*=BIUuQYPK? zzq=Lx2q^k89tMvH>#ZK=Nqe1xr@gqrt-tFFJ-G@5>4AfpJ$yMVQN|I~U~*zq(Aqzp<)9E% zACU^yTDKZ;{VpHGoOZ4yuYrKYm`g?|lM@~NNj&h#WIHZCspgK+n*qW?%m%Ew5ZQWC zB@*irAc>CyJyhK(E6@vvzMT@}1hlUw@6axSv~*$!0g`vHodUS;@#o-pcKZYbUy$Ey zAt)f)rRR)9OC>V_rD`zyxUYt`bZa%M ze1s$4ZD_MJL!3kPS-xuy^`5cLpiFZ3^7@FgB=jEkfswAwtN-{OXt>1JBF zF_F_f9X(ZDY&_4OrZ*fEU+h~5g*Q!;WM1>DBEu?B3C+O7F73<|)wq(UIhZ<6@3fAF zVWZaaXsCf_h^=GB+(1C#XzyEC{{pk{8HuX1L~CxR?-m!rL!pbBTRsdEgx#|)@RIvo zr~2jVR*aHJ(&nD4Gp=HTAW()v-~qRj?#knH72*O;U;&w$CuKWFfT2}HPvKs8F@{BQ zxLwCt93Er8WJUwNLA>!dKHqASSf6zPI)A?Yf)in4?bPH*a5<#Qc4F?E%d#d$f}YYa z$Tf}nE3fXp5phi;QT~)wo3;|}rOq1no8pq|yr7dAol|FC)ZMC*WH+8Qzv_My>X6>q z7MN9XAYvKA8tSn_Pp((vqU*|7v+P!44A-J|sx z2VxLZqHDvoH`~S1OYnT=xv(wGcZz2C`Gwq0*I&9!=~Qtb-4)HLRFp9Go4b|dsUvGF zG4m7MP0SY(BMrPBVv1r(lCpuFr)|P`<~h=+Py?6sR)nqJ`CDm~w(if1t6A?;P~(C6 zwfDEJ+3tUUy;iIG%r0VB%TaVO>?Y|6qtC1ktyaOu@D@Q&^hjqx{)-2-Fs;F1j(we# z>`c(b_KHno-C!Qr4Vy?*QTV|~OoG4E^-=nNXMY_ppK-M`)`*KY{0LMG(m@u77a%%A zZdiFm!_ajD!!M5Cob4KNXf_*+zJ~np04^@Km1vDeLgQA|_*aHuo?yorJRnel(MNT0oEVJ8D)w6xJqb|OHtoB8irlIDJlE zY!9eOkp-caT6rWZ&dD=$u}8OV1e#fzccUG8r7li^aSCtHT^?X9x83Uo@>7PaKz^-~1{d9KpJF0LpQoOE7`@^FUDe!7yCd^kOchbNl zdKQis3-Byvn$>4ZCSR-oBRR;k2irhn_m`%MB$+F-L__?a_`1(Hd|`J0h&r5%!I_wU z*0HKn426l7$A1{>yM_p6Xbk}gJ%1zsQDADlgZoDp7#>WcLw!DR(7c2sXLQOzNJJyn zXS^8Rcu8OEwVNgW8-H59eQXTNLTD}wGuIVw1}wwyBCRmcs<}!kYMJ4JwYI%Fs50X^ z@mS@XTY9417?cUc`n(Q41}3Ma5k8A-)ug=s<$7>*@nO+WfW2HV060gpT~vZbaBw`00WaH*uM&kyEewkOC(mK{pMU{bfLD3!$03uRqMsR|=KP=yY@eGyYU6U~lX zH{GrM)bFjUsrVI!=Q*jm7GxJ!n1U7chy|x@ABd}Y<_&UQxAx<2?r%}cfhJ? zF5+LlU$$;{-e1%|t`_ICE*C!U-HC0;;PZW@Q~s^bf%NdRvtq%*KO5Ou-}^>#BiM6> zdw9ycQch0br8BmRRN|_)w?ZLvyKM+*|Xc1wYrV6n~p@Q2)(G6?x4D z{>^N3sfUq8Kzu~{Ret)XLh3P*D4P6vlYeSR#A)f2sY~@q1Tw)JJ z>}mUX8Yfu)U;YmJOHY6(@z-e7>8^-p4!++D66>U-|rt zG|$=oH~(qUVRDPTn!HEsMh?*Gv4 zXx2{T?*F(Q=ANS+t@trTwRbYQ_&(j}XDyzK8K42B^W9Q>N0$Ub=jfsirc7^gQD%am zY`MDzBPnkswH#0np%XnEHSSbs_wB&dTbcPx6Y_!{o3ZOSeDBR0e1BnG*t~!jUi4x4O_YxR^lT4?fa@C{& z%+%>U#ZplxQO_5B=hG~6(ylEk9$Of>H|4Y+-o;&+)ZJBU+8eRj1&_;Tf`6)u%b(Zo z542iaEO{!yQ-18=WQVU}y;Anj|E8-s@^T)HmbI;?N{x{Uz%;q!hIgUTVp~Dy`_{8` zrQbmbqvA?n>~Gej(a7j@#sqFJ&m1&jy3j#rtGlBpME7=}M>VI86aoV9X4*%z&JR*5 z>6x1@qD{nG4mZR%9f_;UcR{&fDpA{}OnjWaEIyhBHJj$Cry5)A!-HgR`M{N-htNUa zww=xg>M~krDZLb_x;2LnOHD`&^u?XLw_Gq(n{fR?5DN}3y(cAef> z^M2FooRR)GbGgR1pa&}*Ce&vIJo>% zS22^QN2#irNRs;yR!VDAM!OOJE-Q^3(j0T8OjCw5FU;ROJEt5|W;0c~90GID;Wy@latsklW9sVQyf3yG}3L~?= z*d`oVi$uN#qX;l-;>LN^*yaRg!ixU(^yHN~Lq1jdqgcdwI7U-6bN^%}DqATQ!(=#r zC?*g03W)XJ%U)UX%mJIM<)@S( z-CNO9-(Et&O4Mk;#Zy0*T*qZpGq7X(u6Z};(ICd~Gg#8(T7WpLdE1Fx@IG!k79sj| z_v-TvWpK#;t@@^%c?c8P* z!|`#99y?ID`2H%{N}#j-pHlPRHRq`)R=8PbqpnG>uweYmc8O!XLYX#!CCKV~vADhs zt^64vX}`{(wmC(uKt~J{WIHpJt_$3c(Bib}&B0Di*{|iKnc(C?s$5sN zFU+bO(XNUZ%{IoG=Cd&uUB7z`4R9i%dEAVGy<%k~FFf1Dd+J{0h>HJ2<2b*7M`j zueQK&^lWi{sn6N5X+lghYD{Y9p;GDUg9=Ej;cBo?(jz)X*TID0cHkTyOXRV4M3GlM z2uI7oS~wFimj@jt(B*EVW=@?T6l?p~yxoqv8iiPzM+Yc%%TwtTjExN$I7TmiJZ4=f zqUPl0@lG#}&ii5N2c#o4wUWYQMH+%>BIY$Qg}P9|Hf+*LD?OZ@P13tx=8HA9p8p)) ziiA^%b~95C6xmC$+2X=+JGD*Vnd_oR(9>2=ATM`o06$VcXEd z2i<8NjL7)b4l$2)c)lM0eKP1dZ++OpsZq|6Ays>wY88nPP~7qJ{Lt|+_8hWXwJx-a z1KDxNL^yE1hHdJ;gzN@2ia8>HYGc?Qd>(QTlIg_ihZ@3G>D3cxG!@K~) z+eg2GCm_gOx_jAdU@3PIZ~0NlpEx`WJl<#m{6%|-=cw$jrixWbv5J_iWHb)wO%DFd5aRlIzszaQkx}6as4EJ{>u8AMe#xVU5S362Y9*G zQKL8QW^J)fOL#(6w1>lwe7%*RyXh$Oz7b2BP(5vCoY$5LRe`;MS`+Q-dPf1sz8hP{ z>aHKuB0LQPUf{DVw&UmUjtp&zcsi&i0^7RVyXo=vBiVAcVG;anOlo=bCW>fc`Y?YR zB0szN`1~srEB1N0yqmC~xV_?4A~osHVQ%-{<#DCkwmWAMYoz3E@pj+bJbd(#vK>=R z-+7}5y%qcR*QevPdYg#J=ilDVsz9lyZl=elP)ttyp6J`|mC%)T!)9tMuyK8_xa;xI z$%iqDMY$0fV?y8EoapCRrd~KM>Vh9X$8$GbsJYgGgHgc=#vrsCeG70l z8zD>wQTeTbY$l?|&<8eWc47vN?_y8Vk6pF$ z-eIh-kaOv@Kf;Qxu#uDYVBi6M-gzx_DN5W`?|XA$VQL6Kr3GZTHxc2mm_CnFVAG8>7nZ-@44&EiP#j{4g zrdSH<^&C|xNKj?mZv?4xQna2Yh7=oR23GE&y_U!){|ac<%StuvrK`#E-6rUrD8lGr zOztA&m5J0Rt_Q^x+?A=ClWwBWtqcWfN1XwE)q2`d>I=J06N=dxDvYr0$t31yUM*~)CwONv7evBuK@ogNu! z%w?j;@So;yPh+NX)zvt1%K!y$aM0#JE=t-RScM%5c6U4;#6Rmav zWW9rS^^7ZwpV`BSc@|{kBCgryqdS*6z=BQ%Wukn@R@HZmnSQ4r|iae-{%yq>M@>d6V zGxv3q-Uh2WkyOh^#^HDDLxPGb1`hF$|42>@sXWS~9Fur>qAb!A!l1>T<^A3NQ4 z9YE zs(2YY8vCZfFSw0sQhXWZJ_CIJ`3iCWjL-7CD7jaTO}V$S?$5gAZ6T0;L>#{TmJ3;tatN_upBE#jXcDC1W>@e&lF1;pVk+bUb@DbC*@Tf_U<9&JTFalTE z<8AZKQ^u~oJJ;^4q{Z%1b2k?eKZ9ODkD(n?w%mh5>l0Vm2Z=z6 zHVO1zmq5jAyQmWE@f$3}L))v?bnKUQh;d8>x-fQaiwikes?e4``-Y2l0Q}c4< zy)%p#9HE-(`Z9YnCi@H*VLTeTPle7%x=PqZ)2Iz8B1#3FQxiS!bk8P69xV0-e&@af zOOIp0pp~kH;~!eNzHr&fX`(~Q>PWLKE(Vy!zy^a|MS&yE)s>kpd6sLeEJ{Wr=5Geh zwIYDHTXy^fRL99s7F>V~FOzTq_ZZLYPRq!N*_QY-Z!X$8XV2CCnkav#2M1+Jk&%K` zIlB*k%wufE=$TsHPe>Z+AgEn9GDo8oWl9gb58wz6!B6=-8H-`qRR>JMCgkHqmHDy0u{UK!8)KUBSCTU=3>wOhCc z3+^6*yITnE5ZpbuyF-BB?(XgsR=7J!peWoWxJxMH<>@|suI^v3zwB$RxyHQ57@C6? znY61__oB87t7b3)kDsFm*Tv{p{B}ZCbk<;E-tg9@#lRipVFAMkK@n3*PXY}!x>@2} zITrdoviJLdh964wgYIHS!IqoF6#iW4rt9rd=9=`y@V_E(;Ii5BG0X1ty%6u#X}UjW z{oUEJah4VHL|Im&ME1tLh9G z=mNtjaHd~~!S{a;7w=QXrY&~mG+2v6dmh$BA^OWMl|-|F6UmPp=Q_oD1lDdHg>EZ< z^}t0lDW?ad8y^zCny>Q;w*e)mB9~K`coWCq9T71VW&Kf1sjM7-T8;#)`kgYMCIqwDe`;2JeQL-Oqzgy|G?lH%D$>(yxY-!o)wffTkq*BRxso6&c z!%ra8uU}T9%fP&?Xf2Atbv*$#8pj*hE~TT+Rg+>d!U!yulZmb8XU`fcx=?oS+S@> zNE3%|aJW4kp4VU-!{uTd*%NHui9>7vs%Z;+bjt0ZbEFU?3P=?mPtzZDr2mPqXPA;4 z+jiUs_VVBCV19wSH`CntYY{nCz88BWHKtNUe%21tQUig{T&QQlI7j6N`wIYa$y{X= z3bhmk-E<1|QBd;1yc)rIg$5k5KB8B*d9n}_BL`klI3F|%o6X4rdzi-t?kZEGycnC~ zE^YR8TV9Lcfi?jzSgrHJ^D|XAjPDM(JqF}QIt6l!zxOT6y}Ny9?+$Hu=@0#?P`xFh zQ96AKitwKzWt_1th+OqKeQK*Lp~B|Rd{Ze`pcaVvhOgBq%wGby+KsdC%}EPGlr1xn zwnJBZ(1_i~IEN?o8n1WI0BC+&c58vV{0~RXmYuq+aN6i5AfuB51aAG2Js6vKmeygW z`PT|N%(g!%0TWU}bvY+cOH1o=)>%gFeK9CrPIYImjy!b1M~BBr${7C&{rE^~MtYnaVJ=>f|F0S<#00BuU7dD} z`gx8FIh}>cOjngyj$p(hoGdmC$JpDn&IzHLn2BJA$3=S}bTp$%tDYGgOA*`tSxdiw zwZj$DTft^VPYs0oVGo)Q+jS~-@(Zo$xCzh3PfFJA8AT?A|30%vqG5VJI=@iJ#m4pv zu78D{pP5!rz5A3ciMXv%z<3sbts58XD6ahSE;q!^M=7>wK-*^~Nui1~=e`9RV)6^`-t*GxX;`|}?j2}&%8%k~+8U!(=NSx4Kj!0$vl%-m_ zFRGSyY5-MSzWxwnd}PCfWf)Qv9l$+a32VILc3CxizYovpsQ}DMtiIApKfJ5Gs%L8* zTe82WtbYp2)RJ_4wWN`*mrWhZ<}h{t)-2bwd|5bLq^Ti zJ8|v31PQ&k)wH9xiF-W%8 zXZ|h^;qgMvWHT|~k{Gp6rbQkf+|az6GxJ2K<-r5Fxb?EV!0WbeHcfp?`Jc372~MN%k~LNi$hf%F0st5X>iHf(}Z_9Vh_xT zoKgy!0Vtq^BxnBWT<8eEKskx(1lz44W**ORAMR9j)-)+{_8(q~TMN<6T?<70*RYxGvWEPWDwF ze!A4%wT}5LFjC~@#olD5Mwvo7$L04)BZUdRS^MKc4uT|v8rmJyQHy%FdWHwc5mt(l z1Ip&QEHHbcPMm3h+9$Gr7ScI_k8|9}^Vn7+!n-8ru@fs=&nOecY3F*i5I<+10yh?* z?Hmcf0LBBTziP1VT;TE$uU!mauisk)xH$oc+HJ$&XThk-*Qa%hf3U5PSb|L>lH(qG$|#`;lm)90zBCk@z4ko4VzS%Z)BJqy$M5Bj(NJYy}6 z%d=^TMmZu*RSMlwc{X2lgWdp3f{`HF{b!^fa~XX;L`*WFDWA5^-fk)V&X5k@0DuPy z;n(-<9q-Le*bTocyZn|Cy;~I;EVYdv2Ri9fpb768`0nD z^|JP*rwEyl-Gjg1U!wBzXgGRL@gnG;FWwNwbm~o(0^bW%bwW!Y==ynvJt>p7??&Z4 zDd{%pbm;U=v1$=qlCrHmDUn#PD|sH%vseFodN9tz>eB`&GF!nuP5Xc3U2P)x)DBG% zJ5iM7(3qFwfU*E|`{OKo9o2jf%B#1hnet*g^#496zN zzM38*IL9+y4PztjzsO8L`Pm+=`m8}m)E!8ETQDBi{;HSrhCx%%E&cT3s>A!H7Q`Iq(;bvgkz_Pajy!oL>HR^4^8pNBbD7;Ch<9LseMw&yett z)vSzp^LEtr`E~kVN61$lX6L)5v|b(U(rYE#cJVwf*o%gsZ~ZxZo@x2N%g_a!YNZfa zmJWXq*}{`GCF7jG%>J`B#>7A$^YfJ{wgzI~+&cHcV0HI5iNZAYz-+yTDB@t(V>QcV zxthLw`gp!}93ABT<+2z)&iav{?g9OctEo+8g-WO;mVo2>NrTaF`!E zz#D&P*1`5m{~2=yvYV7fLaQu)!W%DP?lR}TS+I=!26^g;#9n2wg$Su4jxYDj-g{=Z z@|27k1|0LWJ+BTtA0hO&fH2xXFu~fkp-xRHi*SL~6dsUhP2310A}uaie+{3>~~NxcP%hMY=DJsQ?ZSu6HO5 zO-VF=`qV{JFByLzm4_#DoITG7izgYbSQ@+|W_o-C);Kr7f&5i`hGt{iMb zY4x7OKq;p$oVR(sR(jw{cj>xOHi1QNyGuZ?-cYkx`x|HFI?@EEssgbwR9@*hP~=gR zy@7Oa9j!ag(mW~rVggfGCt~`Gn!2Xc2nc`cYGMjbJI^xODQ2NRDk<7!cKOz9{ ztfW*Ad3>MgmFqEw9hkTgV3l;bSQ1$ZX?_{hC1T)2#jj{;ib2;(Q+!~@;C)|X<5x$& zqfE_so-hE}iaqa9KP-@(DFIAa;uj-|5mUU(9e8Kw45RGqxY)y#;6{h(?eP++Xljkn zD_SWg9ApyFC{9F4CG+6w=QgP6ll$jrf{e->HQfqlt)*cm?(T_C%a4m)v=4n?6gnjt zathGfS8|WOBtdUSfFxJjV`66xL_=IE3s9e&*GbT+e%@>XM%-u*uJuk^k@-SrwK5-w z5TvPT1F>Xmf1+0~QdDfSsH8t?XQj>49vQ!O2gD}h9!u6gCu~xsv=0(LW!|`D8^e}x ze#YHhrqc|y17)#2iCw_^A-c%>GKa;J=LHDl=M`MfDC&bmQ7fZSsI{;IK)f}Kk2eb*Y z{mT;)ywyWS3>?X4>+U(GeZ$w58#kMVzMsi6sEkdA_J0@d#V=3_sssc8b;|0pb9Z=< zzF}@Ex3xzGtW9(WAX7cxCqJ22F!kcWo1BFX`3wmbBl80O71?CIlMirHB^T_7EW8l^*PNTaBkUP zP7??2Orn-0#*@q|4`0%uG3|I6sz>qOYTC9)U`=3SI6R&Us1k3sR>`Lkdz3)8Uwn@# z*9~F`8bdm9D^q)C@>*R6 zuSgoT!jwK<9*tl)7km9m-VoIh3vq>^oTC}_53uG5ym=-t!%txkk(+6RNhXKYu4x_o zGqB={)^<5dQ?YX|Sz%@oW1msL<`(~ueN-VTby|M1az}B+BX0g|h6CYQgdJ}OxFk0} z0NhDh)787_c$_HTJbHxrsN%e8od9ip8AcG-xQr0P$+VefH>wFkJw#o4+ke)1Mt_Wp zdLS|5`Ig0HkyiDt!mIWvTpEt*-Sq8_WIyX8sNsJ<=pRS!9u!G(gbgfZl(U(}BIF#e z*m+jlOPCrmZJj|ClJF|N3REPqv9%QWAjIt79o~_cD6gs|54pgL!-Zf7?Z2)|taS+l zwSO^wTWZ?964~92pV&{Ed2EL`4j;1n=-0Ry2ue3~+ln2mQq^@McI~viCV3YI5msE{ z0cfGWl?)$5g6}yUI(!B4sa7^8wj2`eii|&_&})x3!j`iKzBJ2&^?k&rSK!fIg!|D``7`-j^0Edwch z`9;M_jwM+Zqc2yDr8tQ7MHOu%SN8CT=9zkI_y)-kz1{9)js1G*dUd&{}omqb)L zGWOP;2s>kTyq6y0 z#*ti4yDX-I908Xhm%09+YMb?J$iO^Lr+zThtQ#R27y9mY59oU1y?{)DEix8YHnd>C z#KvXrtc4=RN(de!nIr|ioq0B}Tzl$5c71`2c6|=<%ola8_I`+aVQ?Ock0XnQvc^Jq zIxMkjR&-yNE12pz>JeLKBx=I7Bp&f@43>xVGtO(jz?RewD7TbFBR~`;0`2zbPSmtK zp1cv01Wie*$N+stF!ZXtjcjb^orOYbsupOoX5S^MQnKUbYS0xYmlcXBGbU#B_T+>U zJC}rPvS6;7s`G)gw4OSI71;X9)nvgTD~uk$l4Z6E8`}HWHyS7|$&J6-idJmQPSjUB zLP}VFuHs4n)OlvhgGOAfp^Q0ARpj5cq8_R~=vg5@`QxT*@=S7Owb%&&>Y_k5(}QOA z2_D1!OO1Al3>6IK;lA?@Ypto<^44}Z46RoK?W>0tXmOqRS3|aMKe%|QKU%b9I$-3- z`pGx~alW#2!vDdrfB~&M2*>UcGaEBlX`6X@7=B+fbGBm#!3Eb+`7$M7qU!~2(5Jf< z<`{KPT}2&Il!ebXvxR;LZX#9zyI3!Nb3cnpM$2vq2C=gKyy!fv``t9!@iSyL&kP() zmBF$0$?3aLQD1ocjdBSDA1l=i;liD7^{U1auGO6>*L43GKj9T_!l_s z@&I@I#O-M7*=d1Zy&otdOTDf7mPj_sXUeOo&`m9!>as$W+dw3K#C@PQm~H40!V1jI?-*{24g4hT&3KTa^~d{9;2(BQ!CnE61-j)-78dG!o?6wN0E23O%ZxtG~LzzJHUp zEfI4*{hCYmcfZ?dbpPn?aeB{HSgT?!_{M(2;KO#V-68gpDn^74QQC;*(o^_IS|t_F z1vPd{2uJRooL~v+1C}50_qH*V`2A16ZeW7{Vt*t`4mGw!$270vL) z2Y^DaG%9vw##GFN+lj=Wx7s`E6dXD2tPH(*Uv2^>909qV18NGdObjP zC}Jt1+m8iz{g*Gk1c|Odce!$F3WAP~GQW&84g52gFO}GWxiqZ8Sn)8dwhxXyR*Sgg zq6xS%m)$;*UlBO5@y=(6Qje?S!4bL1=|A(-tMbt8ZGa9Cjy2$03B@`k`mB+jMrUM= zon$Tq#GAj|*&QCy#hVLO<7Cm+Z};}f4VKQMe5}6-5qvqU;;`=JTkMz>IFy&RXbzVB z8vwlTIGb^@?abDOD4h8H&$jzNg0v}i;zGAlK5uPZsl8^;L;4aai|1sv>zr7vo(b_a z-S>Li%9r)T+QhoSNKG_$2N{c+#fWDEB9V;E`^y|i8CdlB-6fzI_6t@xLj`Z@3?^OO z2F^Cj9_$MpgG(L`#fwV-CXj+AnQG1r{h++T4fGP#MP54d6Bpz0C(C0(HkTre24EYs z9)`uWj4Wsd{Dkkou9@U=p)ehQm+8hN)dfIEN6Sp?D^fAnqL+S>r+b2v3j6qQuMKl! z7;*tWs;r*+Qq|ejj2E9kQt%6=U>HUy- zs~(eRT^Q_2B~YQ{4y$lKLWJj_)-Q*n88BghLB?Wob?44QF=*i6k7{JZTs1u~oSOZ@ zmNL(w4q}-NR_rHq!erLPSZ;qJvBqv0Wu?rXZp&=IU?mUXdzjZ^XXGgI|G8;I?Ssw;EPD3|{~hteLOj>2(DDo8>G94E?Ao&QH1X?acHl!kd*1t|I19DD_^&hd@3f>>&|N!We?Jh9xH>11cI$p zM?JxsiH0BT0IH@s`;<@RQa$lX_r;V9^-7OnrG`1n5(0Z3yvDZKQ-k~=hX`tLx7TNGz227$^;~)V zocUB8-F^2M-^WK!=h7zog`1#5w02%i0s*B>Vupwllu6F(r&fry>X6Kk;2J0@%!PL- z=guM5NwHvtK_5s|7BPC@*I+v#WCE@VP%k|(Fb`YnTS+WdKuFedLl4_6@UBGYeqb$L z#QfhcgGedyugNPvqpm#pXd0Zp?jcj+Jy#Sf;}#qBUddwRI&>vZE9T}r&WNh(h5mc+ zXKk`KBj}kIu5UEmrv8&E^wROoyM4y)xLCvE=z2^k5tZWLl}YjZPJ5s?ISR>06LC8n zp3|k~iXv+h9bO3T@PWF-g?D{Di^~tdb%5fUIgHi#+W^7QfLSZEYVX& zIPIq~?BF7N)t>!3S(-YhHR}#reDKg3B)6(mL-6jiNn%)J=$1wP!^k%0VJYBb84Byv znwBE{S(nG%t3Y7mgnXl(Cmf}&W)ymduyNP9PS~YIUo|H~oFBC^BRb1SMaa+;(s#E5>OeD|uNm8i=A z#Fexf;s9&_dfBpme1N^Ylc$_hB7!VCze@)zZe*PrLVKq#BnYPwu6~=zJz*?g8KUz)swd z4aw}>Zt>^lo+^YMRQdi5}#7!WLJd6G7EDM8le+;yHI_ykJT*B5` z?{qIF)`!hzsPlEZP$eaICv!Yw6td+22~J`#F^q(HF??BfvB3oo{OMi|cPRR?w2^52 z8n18n@BYI$1y!XJ?eEK>$b>PaRK`bJ?eZkFJ5=bSp>Iu)r%zH-%D3&VZxf+98$7A# zUG9QUE_#QrZgBs6C0Tm*(p5%zoyx&||9WDU*bNCi{LtNaRk#v1h1Reyq_tR;erigP zzDXTGg8Y0w8`W#r%pfgDJ18OAMXZ70_&2{^NnBTUxp=vf(vUb@_4>*@4-M#%LOePr zT;L84JFcMB$6E&L_};5?{M~@d z1htdH|F#JH7q{CRMomd$QzyA-(!K7hvzIrMf(!2_;%HFDBYidaXQegx*k1%f8KH>~ zwj93Zu|25U{Z|Q3vHU@kiR)oY8KL@T7_IhQ#5YT*S52zMs8Q4DV0#)rh!da^Tsx8o z2r$!Tsy*9HgF^T;dduoO_RoNa%0`#YT{Q%WfhOGx-t%LtUG8L8fr+lOrzhZmkM$Lr zs;-d&kJH~j;Zo9T#>j=J>{>Wc!Ps^E#-nMm^*BPd{(s6-!&i^u3%*Lel z<=e~e>#t9AaTAi*e#ZF(C+7i&c1S5O$RR$(Y|Fk*h4NUZ1=I42iK?_=+GGib!E~ot z@UrF|7B4khHC`<{-v}-P^N21&e1cc+6mP!!JF1mM(NR|DeZy#j-9vB|`n?rHEyKe2 zFI|sy-^PQiBeU1)L2LT7esu5Ho;hj2w!gLd6W9TCi}jtYe%v*0u_bwo_-{-#ZRKhv z_Ysw|DD1pvTa8%y(&!ZX7Mb#8Ww|z@Uame-?UgZ7a5aHVQyxO6p0v*6!vG=i>9sGx zRwt-&Jii`*7?KbrSiJp?YOKc?$7dWcEZa3lerfMTCbGlq*PDQmn?R@>1Ed_+Fe3)y zmACaQ;(AetkW?f(dAa&eZbdcK-z}Q?T4L+oauWbQB7Wd4uo?Yh1y|UH9Rsif51f0} zWOk7DWwz%Xu9bA#J z*Noz1Dp-dVV)zW&V?L}nZe~LQrfWD>z;ctl!HNN7;vQm@|72!`2_@IU;j8gYV+yiH zJOX_L4?bb&xYc#d1t0cJQgKeC1K%7K7>p5ts5HEAYZxjpT^EEyiSg?y4T(QY#m--5 z3~;yFpaCIq$A&zM5zdnf75)zYH+G}9mX>D1K-$G_{e zrtS`mavX|lQ2yDZQBP7Bg960p4b02lBP==Wr-Ug9Lqh_iZSpIz9)5zGPYlX&1<@nY zH1rvV{y&bV>Y^_^a5yk#p?XLzCaYbfU<`3LXjoXl6=sx#*gp9U{E_ZcT2P=T9j~fz zF8n)6{GJ@9cx=$lW-fJKbD|g2uSK*83t8|0I?#j(Nrr9<9^R`|x&*mI(XJfm$&blJ zpS`$P6iCui1Ulb(cfXC-eIg$I<-92ouN{ZFN6jBpQHclgD!t&22^GoKQe~!*X47I0#n6pBb9E%?aA`mzX+$?$MEQl@iHeezZ{Le^*vk6zWqA|N&ly#sfi&KaVO(>(eOiF|NC zD1Cqcp*FsMcbh+2c;j(;$@OhpX%g(OqUR9C#Zth`q1Qk0J)1&jx-II}dcbJ!kxmsXVbiC{ z;Rky(86T+9)lWFB*b+3hl!bwyYoZCAh%&vL^NW*FsPjftz1Z|(n=`Qz5y!ujqMA3H0EkH7D@w+|@d(Pd6w*2KJIg#EG#9S5b;k7RJ#%lwg z|EWGgeD-wp9|9yGC2WvZ#OMA@=(!y64n(XH;MB!zL6<+9UMSI_USrjxyfdxmW!=J9 zWlRr9`q9sMdOfin<$ZGH#<2pU|M{S8jnJC}s`Yl#-M@$+T5lXXHFfh&d+m%Yu)$dz zm|Q^qqO5NN2Qpc(IXcHu^wLc!C5;tMFaJ9nRMcBKeU zu>q~;v1j99=Y{w^?<3Hj+(a=?GHpz50VCnAM=7c6zr{CKMT)c2xS?Z~Ik|j7^0>o8 z>s_>klm@IAM5sF3x#7V$Jw%+~uxY}h`3uFh+Da!l6N#Z?fnq0HD9UGDCqSqRYB4So z!*)EZJ#Hp4g_4n;rA_Lajf|I7km`8?YNbxb`Cd+xHV6BM$3C==5*(JIg2aa(92H5P5u z{b2*SN8irb=3jrD;hc%Q7@U=Z^NdF$rP5h*(-2n?{IZ-`;2j3+!l^gmdI$ZbgQ5~1 z4Ca7ARfR1vX+|IaDy55DIV1FXFoQ4TuJuf3f~v}S+p{`=jr-)rRD4W=U3E@{Z6}NB zn&pL!PKdwcB-3O9IoJQ*_PuWc#0)Ea5&C7hExY_YcKuodVaAD5IqF~KAf44gdf}<| zzsg6t;i~xdu$l>t3YiP0wk=ITV+TcN4~L7R8ua<;SFef_&W|m4vYv^PcD@6_H48Nv z2(}2#cpZ}+4h8d&v5|=AyQ%58VVG(a$H;8O(VP)b|C*iuxB3HI1w$8GayK3hL!`Zd z9S**%$CI*)R>B}Tv5y)YmuAL1^@^E)lXS~H`q!AJkHbf%7PyRMBJ@zR$yAgWsYLrR z5-dOu;mw_C0p_et>EIH$^7aqG-heg&Z`_Q^3{j6qMbdh*md@3E93fV%i{}x ztL?zFY*^y`(31v^pee*O=BA?C*AB zVcQNth`kx^5E>u`9w?mHq)Nvc<|la}ZWO8=eOZY6MZmF@OCo5}A(t#6($N4j8FX|! z@_1~fH12Tc17r?WAASZSWZRrLUv0ShFO*{yx0r%g5`$b^p1 zy)BN-*0{ZYcpAa|mQXj#vzQ4#_@da+A&)MS|(CW=+vjH0+0$=VXzPY`=gT;n8?l>_AU z1m;??xfV>=U^+-XA>Q(tme4reM~*)~lhOVY+gPSBWWQ+nq?o^En4mJ?C>B9%9&Hh) z7kRYudm_!uOheiqnjsT<4wnFf!~c*-D=1y`1y?gt5K(cf!r3lhZ5y3=qSeF}?J-=1s+9&Z5x@*G2L%t`s`DS*oge=3ghG+70a}T7Q z?|LHe{ho5G^-1oY(X(UnmO^JB$ViC(%hRIgT;AUXjX(0L%UST{5rRF-s=wMW@H#FC zxL;$}1T|TRz_{boS{kRBdW9F%T###LCtK&Va=%9-m{6SP>rVhWDgCRks1~SHRO-3D)ko|eRhJdeBgRF$QUQ6IoIMpdJK`d?j+bQE zEK9Ydw(R+GKJPFt%!t#^#6cCI%bbtit8V*h+n9az6eDu~{*nselfQyd9v&OJU7<$=O7&}hWoYHf5L{)wSP!FnGt~N^xLL-&eSB_>+GRRGA zr{t)e@NW#j$zk_e;8S|X*Mh4<2Fv>N*uG=1c{)}7Rm!?-q_PKUKcRO6q4eAeuh@|H4V}l`Le3IfyDK4^}qsNHK`n`B}NK=i>BYwXhLI3)U@X^3T zp7_urH9XSg5&7?guYK_`kK^xsZRi@Psxsy4De?#pM~ioCmm4N; z+q+>2s`wy$1|?R-kROy1Ua|si8SCebME&vwpJ)iFdu!aNXU{0ztnKH9h>Zt6p6?u} zPfs8#xh2NkZKDTbiuIu(U7}=7P^I%P$`ngA-(Jg@I*{%1J`;*cD}ZENv@7I?ZA!>2 zw$y3=I)&nh2;NI5qA+^?eE-(;8@_-SQ~s1LZoQ(joLq;LshE5Sg$&(w!9DtjrP&)Y z<%`fyVE6%*;(TvdD*Q9TLqVd1w#VHxekoM>7JzG}G&vy4=s5WG# zRNsL8AAPzs`kgI%&xjqj`B}cAO53>gorY>oR+k;S?(-DuuEF-Bi7(zWq3d3?P2_6> z_bvSfJM|2S=g(WNk7q54wJ<3pfqKkh+QGflSv_2)8^eL3@zJ*)^i&WC>>Aj6_31c( zeFI^{kE43T5piPbBD%{9@yjljI3)Nsf0~=$uBdhpX0f~59&pV5P36&~)kY+P>GgCb zPmEy+;`i-)!w+$o>y@g_jEP`(^|@f(nue79PX}_c6W#ffFBNOTO}-%76M$>9>&=ZO zr^IF+*7$TRU*VuW9pO^Gfb>{(@>)iL2ydV$rG#oMkc`OZj)unx>0@R76HxT?R)9Og z4b4gv-5!3X)}*wRBP?DtCYpzU50@hs(AIeGR4sl$4i+5Bb%0^pRbXonLvT=T@;q#S z#*eDlv-q162mc?eb5E|_GjQGQ-`Y{j?CYAiQQhl02K^IGvpz7>m5B?*bf2C@`%ztt zs+>FOg*yp%{{6q4MKrI2%eHvtZs|zuUyaahK-`cUK5@&{`=Eko!#9LpP^!{u(RWO< zAuWB}mPB*4Skf*{7FOk$HP7*ZPOV#vPU9PH-HO!?Bg!*k?G7qu@LZoO6?x!(l};*? zp8$l|m@l|5!E6Pk|F*NJ#AWR9HzABcjkICLJOh0JY@?Whbi$(Yv$eL3G5NrX*RSJFYxz+yi_M7-0}>*LYcevvXe0@!$7R_XDvf9~PBgA5kHfaxQW1x|<);$<Kmgz<**9H>6mj_ECYfiHva1^*qY=IZ zKlSBifmYK64!-FMRRZV5VP&SCG)QnYWLQjmK(Do1t`WC<#$B+>O(y)NV{jvJ zK>#wO7Z=Pqgu0=Ay38eQ55d{RU_zh)(;r-Wz;DRlyF}+paZ;hQ+1fF+8JiGS)y1Z- z_($MY+ERO0ruW%}TD2jV`Z9Yt4qI2`k9Eh;_14C$^PNy$w!L}>;lBz5tsEhW!|`h# z){RfCDN1V@W`3FIuNj-Y$m0NgF}8$Z$wO-A#tD`zts`GQR;0{uf%_6)6C)ABV`!Zl z-np9QsdFR$9)R>`S>Ogp()0}?h3B*g&E!LDF2&|%`k)FpI3D*7K>yERb)mZxjvSob-RgwUA++ya;# zi=}~vQLkbYMC&Xoi#shxs6^OS(PukxbBkg32$<8 z<6!1>h&YmwC&280>+W4d!--cB#YxKj&@5q0bj~-D-|6-1dY0)CgwiVrd%PWNxyT`A zF66_GaB%e&zsH8xeZpwi(AX}9vW@)RGmjijy7Xj5ys0|c_}O5bk3GR>#D$=m z1TK|9aU^DeUN=3P)enEQLS>MZAv9O&6fQ6h?ce6(^yQGvbT>*Q&N+kdO`YGc=-=$( z?z~B{yd_1JvNlC>CDV*_-l$aoz8Y*7wS(hs7?eZwuKD_cK_Ex4bZBs9Y@sxvd2ilV zhs)O-$N2pt5)RQnBo&d7CHg}eOrSK3*&E01SijdBx0Z9ab;;%f_zNK(_{MZJU!xb% zK#^YOKwk3g6?-f7@LWTOHNu4pDqnn#v8oShuU59H4ikU}3`9 zs8p%GHsDg55Y&6{ZwGxiy2~&TEC~EfE*1uT^TJM1Ny&WVvF$LX?meT0+E!Ay2LPum z$*qDkm^&=apVbz+&q56|iocAtM|I|)W3NJ2cKNLWE=UE4A_FKki!ct^y*5z^`qBuLcTU# zXw7&wUr*oRKXkDZ82KB|2FBf0dWnFoEVjm|S-9}jlWm9t3rx5wlUX~nD4Ndw=g9`V zD$fD;qaMxiZBz@il(aMQ;h@ow(Hew#E%-+8oRrnM>yCjCs`2^eMsvPU26dH@R%Zdb zoNpjrw|2iTILv@8bD}}?WH_wLu8df49gIe0@5a+IjbQkBzA)UpJ`U65bdcIFgvCrC zEIs)ay*%u==R9aO7y|Q&2!6HqB+hpe(gN`ngt^_&pX^OlYMcgaAcih@S;L4FRg*%JZo}kf_7FI?l0SenII;*8-aI7%_(w|Y-wd8=N z@vqi+?|z^pLF3G>cyzpUQZI&y@2l)3)muyWZR$abk^upj$-Bp^XGoiSpYqGCmJz2< z=>XD{1|sD$RSlX#6*enUEb}qGIqCA{r9gab88e4Wm(Ni}Q49j^_u`9+A$4qrTEGS0 zZ+*}V&dStmiXUkL!sg=rb+!AbvyBG{}u(O|6yDipOz}mhtpJ5Xu zd)liG5elELMh~Ggn8CT09qbZ zy`yvUjb$x_K0M#0=sne$pV%EY4nO3@=8VP<@0}_dba~?02p6bHD@!Cn3mtj7gGk|; zT0X&^m+-#CuV78{d8}M>sA4*Wn9}*USHow^b1G?vFQB}ZxLik{3$K? zngd-rDn4*;Q$P4Z4JTN}OIBW0LHP_eV3}k=fzRN`Ejeh;{bBSha?I>U6FE^eh`Yq_ zE7ESSJ*8SHv&5*kP`EHuT+#Hxeo&;~O4gU=>kN z5w((*tmq$n)kjeQOEyLqe>m@aq>>EpZCQvWAPNytzx@CV-~H;~R-jK!)H3~2H6Z|5 z(?0kLNmnm@0eEcA@6q%NRN}9O-NFS;{hi?dF|d(wN!%gNX`KgmMs3RO`Cjz)t{A)5 zoSE9lJz8&==&}8GriKkXe1F>a`ady2WnngF-TyfYdaI~^Ik@oj=#o*i-sH&Q|w-AF!QJ&EV-0w8WF^Ecjy=zNE~%%A|ZT(tsvTa>;OX0=Cz* zGql(;o0S?oV7(0lnzHa~7J&K7x;|232|5>3ip(jZ5@>;JHS+#4rR|_}y9IYn&-~Uc ztJ9vmY6Bxdze@QaPgrFzhr`iy)|V#!;XA&A{Rvb%-)6oX)A4kp+Wh%LYVct1 zM7C!p4>HlSdy$4d-LGsK{rd~WaDcyZa;-?E1x~W;H-=wfOF~)cu4t!#@~6KxdFnUt ze;fAI>d{~T?eTk$qfcLQjdOoA*^Sn<{^;uDRb*n3 zP-6?=NEl2!dYZbL22Z6^))cTiC!6D1SPI?i()0>nG{$5KJ7Wpe7pw;n3ZXg9Gjw9A zYG|`LfV=gGsOAyYhNF(C`q$3JRCdXGh*T8w$8t}7nd?}Gx(?e`)_E1s+$=rdyRxd; zGrH_s-`?wB#R!#&5`ihIsyJIJem`lzE>*QfBS^-JZ z`Y~8ync{-?EP!{5t@cg}n+OSnJwLg`pCb5T;qmL5pzm~Dg`f#7=5K2#mSXkVf&-2$ zTCGY!5U1$d>HGrP!|11gP9*3hJmnLU1!nutnJXF@b9ZlATlwn7H#yrxYa0~0yHFhB zli<>ckt3bbv>|%FEDs#@Ra(9UyX8X!jcDe!EgAag(xt=ryy$jv5X+*~Q3;0MshwsZ zfOmg)nyZ5b&_54HEcDZOkeF@ABS;m^|EW=Fsi|( z<$|EF6zV%`9ph)(f}{MDtE>gaCZz^nNOrmIG9r%hLh=eyB*iH3!h~c9`V*8?M(NP! z77Wh1EN+6w$u>;-P#DXzxNs{8OFu8cPW2~nPr z@Ba1}6r4ThhRG!s@C|p{2(Ft2!LLhJ@Ba2kMv;Q?7@-ZocgLND=If_bfr4AAr!5T? zI&zIiCtg~DuQNJ3o;t_kK{St!Ya1Zkhr61Z^j&*Zl=I6^fj<`}_7>cN2^3EeA?-M!^62MTlCMY&dy6Fh z6*t)M8J4x~x~K2%|9cSJ(=w|SkG`AY2NJ2jkK=I7O!%Voq8ywagea;ePS<*y<2 zh+n?m{J3Y3%;ZYs&KP;0-C(kDt*bC~w-(~Sa7hr)`lyv}J(&H}VK9RrocuPGt-(bu zrFBkbS7DXF<*ob4FpyQTI7mscpg^U?8k1e$o=#`3thTM}=?hC2UadjD-y1lvhB*vY zXUBrsn0B7X4?{~XB*1D_WHZ{JC)ywQ_Us?eNQZ?-Id_$2AOZU|aKbAM7dYmN7MyXG z`c*uhHtd`SL{pP&fPcf>23=5&6;$8=Hr%PfT+Gk(!f!+uXNt=S(PARGzrWa@d8NNG zv1j`$Y3z1IC1sIw(vb`lJ-#c7J8`#1WQDVaR<3TD)WW>~%(}b%hkB|InA>%NFBcbLrwcD!R!AU8=yE>=)pHqrJDFz(h0cpMbbf!KWf8*?ZBq=5`qgH{R0>H)6brHud z#%XCY@l)dC20;1CmtTsfCNI&Kxfv5fV{zu#={U^xx>XO&cKZ3;5DEy@AluB0&%ZEr zHJ-eBi8$3_9MiR40ItB6>)rW2&`+Ok)r2$XYn;ml;8)MjV=Q(Nuzz)Kjy6%qg&FKN zui03RvFT>AEwqJk-X6fx9KdO;4d8YEsdMo*zS?IfDprkkbt7c{tEPPf$?*tdI>bCU zfed~KK#e!QLzf9IT}mmxPZ$5ZwB+L6NkXBGgpRK%15=%@1m6Dao_w4+E3gfChR(M; zy4sX&QCs{JHOn8pb}cSZ)2$SsbB6+c0D8;v0n78uE5%6wPR4y(lB=`72FVEZQ`aAX zOcQL!DD?YXIE$TPJKuZL@px!h#(J2+F+e3()TiC-tIoG?6nT6;xIGDU0&*L~*@)56 z$iEg&KyU|gGK|Co#~?;OEj<93+K*0zk_6O^UwdUb=1G>+qc0{-0%8^44tlT=<2EZ0 z#P;Vl+F-6VMjg!dD)&)J8FXFlD|*}r&IvE2%wFdEBP3-$PJGs2ys^w@w`#4n1>?>9 zVS4DEq4?-tY-I(>u>sh3ZE1;dHAsv!)!WPw)ZYbSg%1IRB97S(+qvV-Z+Z>DJCz-+ zM=JuY2z>KLKndAR%79vrRs>oRXhq;)1omsZ8?0SrtSu6!sFcMXS4(x1x2lCsoM_l& zfLjc?t-jt@JnvI{iBVlE?)N8qzQ;aSYgeyy_sfTk+qM4!imguOXFpwGH7`;V(PSQ= z!nmxx3;+|`8AzMKX6-5bsFj~_YFPsEHW8G@_{OoN1D08*sy@A7VY!-Du5$Z8CI@eJ zC-s(PP}*W1#J-uD2E~F|hGo{t>yS#lbz!OZwESMZ<(H(m4u%gvz`kS#3IMLaw3o07 zkdDpqNmq0|51CYIm$f)%-x_wVmvbMvROjbBmMXcBV@%+n=M1yWewQ&6W;(u4`D==Txm@BZnE}6Lux%iHOoqKw}o;BVlH+ti?wE+XPO%}inV!g^DdlGhA z;OzR^B7KiBI#5VdD=a)BK+5+NX>Z4wiR1BZOq3+cZ8ngnQrkKW8@LQJF4yZ-7|14u zQLdZDAsG$~=Wjq92i?JfS&MJ&KrCs>QnO8wYH7t<%cZ-Qp1=bD>pJpnfrw37J9U9f z24Lb=Fju<=7V@FH?u}VmG5wpb{*gh$5H+g;rK^DOMdZ>A+_^W_0Z?K{%M{9U=~GpA(qr!3z99iwTd))iUh~ixoJ!$8W?O1#xU%4jWPqZ0;&IHz zW@r^QgFzgCRZOMMm|WKZ`#YRVDHVj5ed)Q+I$r>&4&rgw*opZ5<9C~NbyS>a(Ac;Y zl7XZuIYybTddz_-Hl6I~M7ChuzU2Wm0?XCgB zN0~PouT19#NE+zAvQAvp|GbHMXA36%3^nWbp+FfYAR}B9y(}cVIESvwcIJR{$+s<+ z7?jp#zVOp{tgT4pl~^>B?_)g5GTnpO49AH>fJTdG#?9)7Sq40 zL<7gJxLKv*8Lc_4{bo6c!M2>mWkP33zJAxvn0sp~wa}Mu_r7*yU|8o|HgP%s4W#fN z;d)kcIICOmR#;Y@H*N5mILwQ=-eKF)?1=I2VlHlw6!5v!(R2P6H&y}QB)lxW&jhE9 z_+)&^!0&qFH*T)h$>(()wH~bqv?B1$9|0vJH%Vx=9<2zpBG8J!!3ZSdjZrckWYh{+ z-c!l;RDd=m z#D>k*$_~ol62!|Pt^^bSub(@F4us6hNi&EpC($Nr6~pZ@WhAxFT(su+97qjO!8Ky% ze5B@%7mQ@7eDio-zgp?SN66WDMCiJoj6@uB=L)Ocv7aIVZ-O1uviNS08VB zG{2rw^N9vB=G7i66qaZY_58wB`d!b&!V>c2!b(c&O9AZvuPs;`jHEz@2=Zgp@xJ}| zxi~p+GHOVQcUTP1F5;w29q|lpy;f+W)C9Dy(;IkgSF+w^nAIJCO&vzNpPtU^u}M#2 z0Z=6X%ufRhHer}0Nms}_U|)M+Z2JMAs{ihF%c8cp85#CF@4P?i)Z%{ng|EfK&p&21 zSHPo>`tJ^6sy0!>{lhW00)WB*%98V(rhcC$W;-Xg2f46VVI?{Ql((pBUI&N@&}?8H zw_^D>W^cTve&(An(p#&reUin)&h~fI>49B~6YT4OlQ+kG$h)OH7T^|u7ZA-0Q;cl_ zNIhKZ4H(*Hj%^?*Uc@A83D;}&Y_A;Ay8)EFfH2if3w-H%%JhK1BeRUpH`NPU=4Swr z&I0o6V9s^0(r9pAk%XgS5cs}M%Qwk*j`R)1n@^v!W!Td*uf)aW>9|f?wlx4CDt-5Q zc0CBPV_!a+%3e3YcrypYT^>OW|K4MF#672OwS&Aef>LJaO8{9lIhU&oE3_s<9?$Wu zqZXJL9iuFxn{%@jPjJ3}>B=h@nMuwK&n}i*N(07VdAsKU^TR#6+uZYd7!cmad{Nvt zNg9a>-{gSTFceb)L$&WRZX1{H0_U%nV|)wp>32#|pmWVR()oOmV}6EX9)>Z#xqmPY zu}%5Ib?{HJ{DhF>^&bLfAv6&f59e_mFg?d{y*xJ`Q*&#~V|v5ib}Ww2QZ4_u@LnZr zTu1G!RsJP$jW}P*&MLW~^JaCCz&792|50C3&FCWl?=6_`C6aAQwe+CXP~t{+L8|L1 z!>GmoOTG8MW6U*-DuNmA!0_yC8_kP2ScMEuzi?a2t6@hPo2(*Crx4=ni4Y3u0zk&!P z;|=jZjrTU|#%pgQeMVbmHN75xUj@7DF#PbLavVp|FQNFv1Tl2 z>{UQIEQ$JiyG&V_)quU=wz5u7bGNFVT$@O;)l2vSrp>@xW?q!g+J}s^52}Z;oz|C0!OL=8`;t0Rz)L4ayO5)F#XhIrJ^{Fx z<;vQ<;q*>7BueSl$Y(ta$%k0DKXJ8=2K>2bJbn48+yKkK#uL{ zy6({$BxqY50E0TN=IsFQ&DYV@d~13ocCIg*&0b={UvJQw3+Lr_e$PY5$!DglJSyE!#Bs>xMOz#j#pPVkeaT>wY7zqY0k$A{k2!9hi&XMVv~%P470kC z`bsX|w@nKyIYx6~2zcAkkPEBPI@BIOcrP0`+B+COc>g=&4r+}B z>_7Ud|Nb6>xnvcvIbXVYGVy=_5$AReRmh0|18M zy?FhiJj0`-uPf$J0W<)u3P?BTPc_tP5w^6nMAib9koVNP>oMLr5O*Cp75ASw6^A%J zon_Uv3AFhVDajiDTw<#40^UmCYygmy99YG;OTbu30JYr`i>>`;sd~1rGW+YxQlOpN zf~HoPe{LkEH&}(Cd6g~1^j@78eTe~Aa$Yq0smvzs~D zCD884B5<8x+K%qJoA_pv0Nm})1j>CgPbI(}@UGJac& z$$_rVxeX*_0QDYvf%mB^L4(o>&gH}#?`Q$eIw8U-rv6GwsmB!2)vdE znDJ(vuttry@YXh}%xcY?Dq*iK3w~1hoS2MCB`idx^$=?$d*!6EPHVLt8=*;Mmojs& z7rnhgpcd7%_LW9$0=`+Ens_fUpkB!KWl4})0d2=|eQtkT#?K~pwf0ICcU8_;NzeuG z(+@2P-3nLw7`32Eme|{=jIOJm=0dY-uhupI@J>LHl5T6(bxdN63xdy;99yg`*Y!Rh zSgGGGS%|$dNJm^7(Z{OyShz|cEE%dlYcN~_??Wv6 z(2IWP^MWY}g!gI&91xv|%tTb5^KgCKnM}y+MFH%*SNm78#_!SRy_p=3p_QlCl7)6XFJGA|s9^R%;4SuW z|ItbPuHB#oTmTg#FsNN_t3}f#fZZCk+zr0ARNJjjN|st`xn(I<#~kfg=L9lk*gPU5 zR(w;g+Kgp!2bXeK%gW$fY_aM{#d@oz`^`shi@$d60s0FA78t|B&wV*Q`NEf}%gv$J zanK&YlT%e5jI{7at|QMj_rU8xmS-24##Cc=SxeIn44Xvb{6w7 z<$b8zHUo`RT^F~Ex4OCD>I3~|?sn&4@9VwvzaEHF!xM4e@tcruk6<#D`6|g&bdf7= znas&Y)&Ljwy%cMR<(BKX+PfJh^St)eN%AFG>}1b%e)0yQjiy7o&XQ%k2Y|WuxM%8C zuI|Kcsy*=?!(;M-2xeKvbT@U`wLRqZ`yaMl$HO+F0B_ zaVl<^I0AzW_-A_y0M(~wuEZ15uej&;x@p&g9RL6z07*naR2r=Wlo<(wtX|b#82}55ViZ;s0_Y%?dAA9j_EgOI=uo{IzY^C1`ywhLgF+)_SO@l zF*ZapN{JK6wG~I*tYN9!NUk(sj2~NGjE6}ie2rS;Nrv5&oL_bC%)xC?wrjZ+J`xCe zkm878#xP9lDZ7Ad+Dm-@Y8zbnRDE_0f#c9C2z)z7pas0YozHIT*jf?z#v`y_;|=gG zrKeg<7~q;oF5A|6sF0lLYF=7E7h=`x;_`m;zU6r-mj%AP=Bu!DA%-RU^~y^)*3hw( zCl>}=FPY^o_)%}Fh~UcX%pjcCv)y#!&x1spwjsBkY)!2J?3X}SIJa5{=3o-XRvoXB zp)V%o!icKz7N`(olFP;f83vjK&1C>54L5 zCoIZI%wx)Ih_f#RwHk6Ofly9h7WqXtjM>#CgJV6mRWtgkeY~3S7HhTtV2m(^dia=14YZ#yJ)6g@*VJ_D)qozU?rv|K zY(Gq!EZSLd;#ZNOZ@^Y=)6Qt2eHjqlaDQe^j&5YT{WzQ-sg1;4hi{4pPoJR%ni_Qy z2a>g3nxBp@(aU;{W6=e6l%Cf|>3MxZt27nrg!!W)#O-#fs zvmm{OJW6JD2cP`KLnr*DT}lm@an$q3M=y| zN1^M*$jl(!_)jhMYoXIO% zUupY&#PS%dwT$iVpcUDW+JwP2-@y3p(dn1s@x^QO{$9mokGgumvwDIHh_!boTi=5m zrJHM66$^uavtwO-aW9hW`$tD%z8#_ml}3)YE|PTgFG@reour z)08qBbesJZv&)fCAHB0oUw6jyGD(cznVE{;hoPNg99zUt^607vMaM0!H=`iqHzm6` z7u--J`UdA!4(==RBv3+C=RiIKJz~j;*N-1P7C%`(gnDBKnfYe?!sMlRkvA$y zW2a33=>YG2kokH)dZ`gIHiOh5oMgTX)aeVBH^#j`F3x0@r(B{?+|l>gZoO{Mt?xPr z-8;&c8F95#lly;>qAM-}-nzzRf+u%%wO-R_n#>4*cbQEIx)oKD1G|I0vDrHsk8%D! zvM?Ky)Z5RJ99t&Stb4Of`1pisy_=Hdvmg5k$jnVfaKx_}pB~3WpL2HQ+V%Z;`RDwpB{lzZ2CDV8Rs_BYBG3Zf-vlS2HH20Kz6m2x z)p)N-YHreiwS`rCiPfwOE+xN)j(d2m0^$b_Y7diXDU(E}*lvT~z0%@}JS`>0gO^#j22^ZMAzECluAo(u0(+sn|v=SZ&w%^1ME|o z?%>6CjFYUSE}uJqjkQY&7XjWi^#DruX1_s!g5}b87tEJ+rQ?#)*L_5*2wtV(uYw`)oaAAiloE2aA`&t(xRRt@k_S(M%w*&Ox3Ke7;z2uOf!qdr z)@FmLH0A0;W^3SGq@}Orx~YKo?9@zLyL>Id@_K3l^w_2+w;iN4I-dXcJyZuQ*4QCp zJKacv6<;^LFA{q(r3Zn0^|JuZaQi^qH*i~=>d%&7i-5g#%+oeknz2&ndneljn5ize z4{$b)y!JmZ#(R8FXI^RrEfIM+7Jw;WYOEibprsg zy1pI@n663wDzY@;ET2T!#ET)X3`Y=zcGX~+ArBz(s z8*Ll|3??n6PU2vGdg4%wQIBs9)n;+TRm`NK!tW_n$@!m&or0fK=Plq%4Amc5jJIXP zPP}BFWQEhLH=hyHYjACVT>&<2QSZw-aP6dA7Oy&mzWxp7(urFmF?Q2jrM%#H9Ok_A0_fB}OvZY@{@kPS^!#M00WM$< z;3?Y$nb7HYx~Qw6lE9F+hq%_cK2G!eIbwGl6~%GN0&bygo%)eaA$!;5JOmp)R438V z+e2-zN->H{H@i^JMzm^;7 z9`IHG%5$1;2HyNGa}teF^G@x^%6P?eJ3&E0NgHg#V6DLXGGnOUM=HKn?~LoP_Ahhq zyu^+00<{KWQMT5XKNUUgTE1V zNhrRsG8N}3C0O9P8@#_IHUIbCWLqz`BJgbzffn%oHaU^4!)Qg|b&fy+Z`6vEqHe2> zSxJ05IVVp0|JeHyz&NXN?RS#NWM(pxO!l-%n$W$aEwrUT*<}~xqJW_21yR)N#T8Hy z^j;Sf6<6G@h@uFhs0hN9ecz!_+R~LSY13xkGf5_s?SG#4J!cY-t5+!g%AF}8lbLV6 z?|kPw-d$H91enY4jeYwXmhgq@Vj!FG(U8I!qEVBT#`ckWJ#00RwC*yf`Yt}~cf zNJ7<^az+NMZwUc4pIkw?T`ZMbs)>zya**4cX+%Ju;$XKczK=aJ~!q&r6 z>tM(8y5HGB5@(C$MhG$pRYep56H16u-ySH%nRtSyqC?@T3gzr zX>*gBTTL+M6|AnE0rH%+{xA9gtm9vLXb*t#R{1S{Lab$sU_ly8<2aZ!=fADH@F36^ zG0Hu9HR!;FpF$G~)!0Pq%J@m`FdDBZBp zK&Ze0xO-#+jNzKW%#PwZg#p~+0KuT`Y&VKYf_~H0<&|1* zyRtA2GdFf3q|B7e<1;E!z|WZ3!Dmz)THBjoh3vOuI8_P_rj{jF*j_$(PW@p1hoMZU z1S?z&kVmPrO3FFD3F7T$(?O-q(aHo*3YWPb&!U>4oPl@UMzJ@ZsVla%hwkm882>cJ zVj!R!0g)c`+c3c5^f~pi@ZjY#YtC$m7Zpkl+}8&hnxtdXHW_T{kf-*%2-U!P>4ZBs zYetVEkmI9x`D!wToOK*0Hk2zxkX~0H7rqL))iYsiHxrC-34nDGo|hLFBYlBxYBny_ z@m#A!@V<0G1qGbgJAtiK7iAlE64(z3{<7x^3F$IhdI_G=gJ<5a_D{i2Z2IOgSlD4n{p7 ztGm1989387hQ?((0!dv=8Nv3)BG>!8+Bzx4IqEgyNqMlX6R}+jd+<8h`T0L>;d)E|2fraIE4mz76cl{@mTtf0kjbI z%e-=}0S@H|RTguW?U!Y|-4%a5e+A0s$Z>BuO-|mw(hd`7kXyd^b9orbr&kKE=1kvD zPJioLWZ%?da`nwmNK?<$QjD*yr8#wn%KOedP8L-cy0&bTYd`uEdH$6mg&du;kCO|} zev{;{zfQjV`%NxT^vZ3>opZcgboNn_x9%76<(oIZWTQaIEIIlur^`{XO>)C6_sXUw zE0LLf{C#?0ZvgL{8HdPuCoY9yYM!({`762piMGGJ@e^^Gx!*FB`|OsrkFS;1y*IS~ ztSy0wedL6HTPew#ZbNWY!AGld%)*-55a#(Qzx-rnLuzqV}z|a)9eB) zk_bFiHcsMn5?fdYIR;xnmfueOxNe01m@C>f4h`xx3YDgaoc642xI6COS3J${bsPHjCY2? zbqBMCusuetYXu#L*!46h!&NZr>ZK7lD3Ip)k$YmIuK%2YR4s(=PRdwlm*DOq2zEps zlYoM@SW1TKI+oAXJV%y_qxS6}h z2H_gL8yY@SlHOM z3+!!57L?Y439d9}ZdI1p$W!K9aXQOW`CM>+wFvBO+-iMj1XTtAmMM|m~#yy428hCBQ&n`j9gBy+ zPs2#At5=6MbG>=Dc>_V7eHgj>)g@(cEyuP1&4U2(96QW`XF3K;tWjw}lfMwvDd?N! z2!?!m+I-mu_r(})>=d@`#klFh`>Rlz?_n6sg&^lXr@mH}Ln=>Ds`>8jzBfmWmp@b| zVF5%x87uJSkDI|2bhAq)!MFw%)#-c^fE(~eA3+hK;vP<~l%A(i?;hi!9rwX7Kz9I2 zf~^Bdd8)5pwj$kQ0I#tscsD-Vhhq%jXGDW^_^g_k;7~d(r&Xn+-zV%J1~M4I#>F#m zZriGY1OI5a#<5G6{`pI@!21<0{$7145Sb?GDS7M}S=&2HPW$K#dEkrRk;nc< zKpU7Sm1QTqMGmZKlDlrY7ilm5J3t(msF9=IeWZlf+%5NSXlItrUws6|m&!-4eW!GM z=@Pl2;eYXgzq-fl2H75X+Qcc~bE^4s;(Z#1?HIGG|^xGEC*o(QLE50Q-R?O)B z&IFMidFxf&T+^vqm1`w#&L9FYph?tKG0yjRiFs_EmisYyZvh7b-ued?S!@r0i#@2P z_XC7Wd;=k-gXc%BBQ<+krM<>}`=|yxN89DVfEo5%hCVdFQc_xT4aul( zv8T*B{!)`Qf*wt@cKUt=yAJsBcuq2}CuRqCsM^lYm~3a{=GtS<=C)!`fbZCT%G-VE zGCe+zslCbLxd~W%byB9U7m$$__KV7lS>6Z08|Ga(0F--EYM!4Qm&)lh^FV+7$tFpf&~0d%w8uo=5iXC72U0atBA;0E|Q_7Md550B?K{-OL|naD{zpHfvZw(#@LVk!D>PrknZVW)4Q6%f*SxclCYbzha-w zJ?+R%@0Gfe3aKtCh2-3>4fALjB+!1>3B|@C*;K8Zz+(}_^M^Mx@^-iOwaDu28`S+h z2Lo$=4xGpn~Pya9yUuAg>Hc2IhE2Fh)WcZ$YrG0f4<6 z81-rC2U?fw3F*n&eWRe0_Z$Hx#{~f<`i!OC&}ODQi~(Rab$80W%{%2@)T3|2l$0Jp z0H_%E5!}UTAUA|@l)_jX1Bj%#UI~H#RS2T6mUlbAdShoRYSWX|#Z1Hig!4c!&<}tP zroIpgh!W&XpFOQs&MJbz96Sp6Cg(vu7-(yTH2sl14Qc{-6xi+r0zJGw90&%yU0#Qt zr=KtlNV6OppI9k6c7gZNaB&D;SLRcDmvj9L`-L)m{Q=V{|uyS>4!Y5={3XD}K|pTy;fwaG!Ahr!1d`$w4VS z^{ntl7Q8g79`G}g1r@@bN?COZQJIr^;8HC7-?Y<8naL)pG6^e zSI74oy=ve+K1beu+38a7(Dm}`r*^9^Wo!#i-n|()mn`p8}fM7(H7qDy-& z3HkwH{loRIk-rw@FiUy23Ri&cFA!oSXs=b7W8-+hm&zb`amefvz(pZ7XF0LG3A}3p zB{Cb1;?Fj0kmn%}9)Prz##7^D#&B$Ks(Qv`ggJK7gH}F`?Fz+Fub9q*FuyX#a(qHf z*6bQa;7YZ!YQCJd;v^}8bMwz0y;Yvsy-7!2S$?4updadrE99hQhoM~4u&f5)etPRV z*#ovatsubx4KR`xi!sAKy=)o{!$aMubHHpv>K%rG+CZ*UOskZm4nADLe0xi?vg<=& zEOYYnv=%czKZ1eK1%@9yrX&HVy8y(8Ama{$ZDlE}{uJ_8!E`Eqz=@Yfijl_)K`|t@ zMWIqK`Q@lX9f#~2uS3EfiG`6005A&HFg4n*24y)I1UtI-$aXN*Nl26_xn;?$1hy}S zDOn-%hD#x3X5fG~{Sfv|NjE>o9|EaS$bxw-IF@K(H3DFnhp1SDF6Wf&a(vrtqTpCT zFaa7a02xIsC#I8$6&=e3xLx0|Q=V>r(l&BiQ>n|pIWmQL;Y(o9BPB88|F90Qu!vi1(AehP;_Hlh_ zx$IX_uk!3Ys87AMrwwTfP-WP>4bW<1k)zI9W5L2a?1LtAGt&9;;l&FC;#S~LKnGqM z=AUa+lfgcWDfBg;$6{1#STKW1lK}hKc_C^^{kBtoAoRBxKG8YRgRF@^BxF9Y~ zql5B7f2(w$)Zhr_pYaqA$a>v2|BWMPG1U(OL&-q7-kIp@DWwQ0-=CDyxNR_JEI;U= zEbyLs@n47MIhBj#?H~J+Tz=YYX?o~t`Q+DrAy02dDMa^(F8YZ4_Lt{MHUA#mC3pVf zD*5JvVYy%mn%r>Xhh-k_O+m0`!(Bg=i$D82X$FJ+jtf2^7rcFcflZ+7x$QsY z`tSvE$;mUJYQpzMXM;Ta^DoE;fAoYNEx6z<^2N_yC~sd@DqDa18F|;&?t!X@(y6G- zIr~bv?yQ*H`0Y#OhPEa0(F-q@Ia|IZUtBvwzJBrhq~OJ;CAs`Sse}4w$HPCAFaBtY zoO1a!a`yf(cf^7zwdU7y{_PWT@w-lt{0BZQ*H(Q`zI;+46jMkGX<8${`O^c^RCP** z@qRpcqW&yoXb68J7!Bj0`Zx8!Ne za~1onlyfe8pDay??0)h|X@z=j;ePu{5rUHG)i=n$UU|0^%zKAie%XmqCjGMM(c9#g zKfX(L6)%!A&wGa)zqD3*A9_?ej-DqCmwhVBc>muT?%A{b8+w4idjj+NAW|1;Tt>M$ zm2^tm0B#I57jn9k!e?2xo3ATKRQ$^2 z=44Jbfw!TwN#fKGQ zG>mz3dVd!ru+HIyv%GZOp0A;qC|#?q@BsxLou*?!wA(>`YdbH5Mq3zcusYs304U7y zrn~vxbTzNTSH=9mbY+^??b$55`r05RO{yS*z3rJjy;1-l6JR4zXj}U(1le&Kj>Ks& znUtGTdQPI8SQuX4T5tP+s#$X8;it$pl<4}|6E}l3h6EV@!l-{t7wixg|I>?0abM)1 z)-znE0a{WFs1P*prh^MLuaSwJ{Y_ z`PsSn9N5?ha+=EkzzP*>e*gd=07*naRHH~C7z8+N>gv#PO9b6fu)xy*P-nwjETZ-6 z4Q%RcL15(^qjTsQ&AYv?5kP4C(<8Fw+FK=z+~*veUoIxoD8ONy>J9b=9on&P8gM}{p@D)tMBs9nv=2s_ zV=afpvK{a?a}AAz=s-v#n6Z7wPTAemA{#rvY+=z8&o9OC?0%}RuakBh@44Pq*^$E7 zLOwF@w*c~#c|URVMB$!3x4I5FC^yHrCK%@Y^s{t}{4CjqBVughpZU$>*f{@? zmIf@4;&_n^V3GMkTNC;QCWCly7)k-AD^PiY@C8%~{2WpV@Fs(AOpnnrXBvg{J;&)X zz_6YMkj5DdV`wi6yzR389UjFCkCqEQ`8j#Vf#pz_z&P)}|5MKX(k;@|d5m1MeD17#`T1p6$hG&ZmjQP!Z@cPwx#FnwpE2HiyZV?9$yY9Xw;ZrfLX8r4{On!w z=5KD4S?7FDe)q1JT=(^hRqeKJ3Ni~P%RmrLnq{v=nw zHAimw#)ss;b}W#KzW7aVUbCH}A zyhD!r$aRvg`;gpv{pm9H@O5%;>3ij{&Ku>*%de70n&G$M@4LUlb$TNo;z}eb^1#a&@8OZdgAr#ej*FJ-^hbIdv33(2UKbf;GG%({YTX_({&xuFo8V99OPm9`q#ST)hbnn zsjOs}Av()SG%)SiZu{+tUuWE{uW{Q+lGpI5BU2p;&d9#`UIvIb$8t4#Gmz{J-Pj7n zeTvqNp;yM9m|2g7^|dP-tq$kFQOq%S6O4gyq+%Lt?%8plraCEO4@6PN+Z@fEA(_Jn zc66SI`|Z%ZMFZ>vm9=9hvhcY(kS=-&9?+lwr2{U4F}2RMMKuiIs>zy$FszZ|SY&J6 zZ3V$DwBg=oTlgu0N9_>4?mkbpob0=TYvyI^8sBvH3c|I$1mVi%*o9P?0XOxL7qrXe z3@Bh?pD+lKxrpwf=<$8-04455dTUh0C()C&QUL&g)cOq00W&NWqZk%j$#1RpaygVwVAgx@3c~2R02SL zY{3ua)S@Jn%HIiS{8{5DSUeJ-BytMmfciyX@kYUXqVyCm2nGeE;e%kW2LZl=0COxC z*4o~#?-6h^2UT6faRaBonv%h1`6x>K?ScUVf=#c4@mpjtqQJYnBq3#`CDPctT{_yD zH8^3tgWOjbX-%MkWX)5^Gag1C`WukYBnJ!32&}!ydJmJWg-V0D!(^`s)C$mlV*srK zki0XNR)`$+*@@{=3PUx5Lq^P0WzD^EXgNJI%aIYpvd0LPl{LqB3X+vZKeDEBFC;vx zc5INH!|l=qGr2zG(vLyG!1qD`F?I&~lQPgdD0@2F zr8SAv0Zy0*oKOY8U_w8lLF*u1eIeZ?Nd!l7Fz&)|*Jeq&JUox!Is{;Hwxy#iF7t(>>rvnPnH9$0@>Pqs~@m{gcBy% zbf_~h=NJnlu*UgI4l?z|cG4wx;q}}Mlk0@5thNpZf^5F*QWf}{^GmKegJJ`MZu}_Q zjnD0ZEBP0CHp>QecK3x6?R$knB2DJN7!6`<6ebG6T*d&rS>L@Eo(I&$;DLLRwa+;l zYA_D>V?N6AJC^)cn;><*({cO9m9{=t+rD|VT>Ho_nZ5F@3cN3Pe1?4YV{emb zd3_m^wTZsnviiBFrFEZo$?17_$mg#3zTC5ZGH3cP0dL>%`cp5H?_G4dESTOSSH1mI zx$A)M{zc&JbG%Cq{EXcEU&qVVpI#=Pe=_l^fcK^MrRBVLg5{hxE-l@#UF5Aa+%FA} z{YL&fc!pf^*7=g#aF2ZV`#+SMAK8guEz&ApRgY&say= zam>Z?g}MjjV?SGEb1SN&9Ql^F%F)wXfI8de zz$^F1#ip{=d|1Q11l~^EA`J?1-O1UtaZwAcrA&bB3$o)g%+t1NXC{$%9ZJ9+;04Y^ zQSAKaM6GO>c9?ahuNj`{MDD~IpSk$9Ey2Eb^b_`@gx<=Jh@+w+h=n?Q|Y znynARyo=2E2;1Sy^bR1%ABId<&EQ!63^H^&K9|5~ERN?xkR}fy z|9BMjuxe3{d>H~5G_V_`v6ae+c@K~sH7H7@NFM$Ofo;tL6P?G&Nzpfb7sln;otuz1 z-z*(aH1tdiN)p#&0%g(y=#vn@Xfe$2SXZ05_cMzt<%Bs0NOi1O(qJab58Gc3x$HbG zZ>PW;{rUpf?ABW!Mb11N%@biMKVm;w4zs32WtpCPYI~z>yy`~jU%y?Y{oOE#D~7^h zHq;3PEXze~jq~Q6rm5Wc(VTRE*@-ARlAxFE_lfEr5IgX#vKwAF0!tY6jld9)AasO` zu1?sH?*j}!x3fvsbhqh(E4QRjq9vs$EFF^VkWM#3PQIh3LwX^*w{hT2)=X8wag@oK z2OhDx!i*0&Q}9|wF#zJDL1;&EWD!8*yXGvEc{sVC1{WQuc5d;W{q=R%wS=Pkr*oQy zYVDfp6u~)yx&J!ryDt|9xOM*UhH8}FE6}!i#SG^xFsUWPRB}%6jhCSU;FnYvuE96D z8{|>k>w^)_fAlnfk^rBh(V)6_;zY@6Gx(5zao~)~Y0`zDPz%yGdU+3#-N*RhsOGFi z&OFF5gi>)5L(j zA_;}Yf-^6ZZ+_ww+4Y0d<*MN4pI^5? zEtVJo|$SugG|x^@Hc+(+ju%8RPwp zCv)X(r=2FX+rK04{P<0>dk9LnM7bn}5S)zG%TZ^1ST23{p;Dc{QNH)(U&v!ykp|V@ zD2=1#GOIi+1MLVD=T%E}G%fATyQQ_yd)vHjm+_x|$FCK5=gxk!eD0K}{Nma>q@g=U zR(|+%vU20M<(v1nyrgf67aS$;Jo9v^-1I~F&f|6RnJZVyL;wC2`R^{XFQ1y@efM3R za^(3(%gC+2mEWz|h2S8+Tp=@Ge5$rUj&44!qN4Z8#p*>ck9he>$n6LQaEnVXFnv6`988iw_CwI}nQxnegJbH>C~8|e(yRJH8cZ;u@B_Vs6&p}V_8x`ysnkWQsxknZjV0qO1(1Vlo*V`vysx-^t5Z|@JV@4fe0>$h2;pT&QI7RfM&zpfpd&DJY-*Xe(0eP#Cl(0<`X-p0fbk(ZV& za)jywn?XxU2P-q~7|Vw@MV93cG)#=>4x>Ulqwtc4#@Y%}5TL5pAKBIzR|oei&bh19 z=>2b~=uP8H`{%a|mxDj)iF!Jn*>?GFOt`*pM6p547j>ZJ^^07YM=uE5jKqWkYCS$5 z8tFZ|oqfqWD-sTs1>CODB_U}mtu&m-`kxR6JS?@NQ3rnKg4@BxEs)>v-ZzdY7)wqP zxijYs=G9sV`IIqr(oCx}23V7-Ts@mokcP9ZLBUPb zblUQM`a1v^SCYqp>6QXJ&pr|}zo2EJ9tx4G5kyfdEEHN4L?Z58z_u-$9#W#S*e^2k zk(@hT3r|uDtreMN_Js=b=iq+%>?7@9&WzCyuTh<2{q^qo{xJki$ZNL~9+FPg`VOmo zTMYiir8zFR#pq^Qzxb|E&KzSeNu=W)TKZUO*o#XFL0a!y)SL0i#?{*Mwyvb@aLS?d zla#>?IyLY=I4KX20%nE}Xc+}h4G;V64_G#aSg=3`!lVNa&6d&#xkFTRY(9xsK7>8E zvM`ePl+)Y`)60e8$oeR0Y+2-OSk{b;xwAD&{K)+?zju`>w!!1UQQoicXswSpj;(Em zzbK%h*P|%GbqS`EL$T;sjJsZSN4m5~+O+q~*iuocAI&d-Ii}wx?B{fK86g5xg3hko zZgnW#HR(^civo4@c}mteAb#;c{c{1&v8AiWkk3nKl6)hszfrYJIlNR%rIq6?3ld6f z9&x4-ARbgf2P-#7o+FK45phW%%HQ(kGV#YbMLH}Ox=1ve#qj%oSjN@JHw*v<9HNXZ zZbz9ybjXr>#me$)etP>1RLoOFeReR(6I1*nv?Yt(ehF+(e-)=@Sf5)(<4^0}sR-Vg zm91Q+*c~w^g-!@7VsY3fW_MoEx0Kn2`CXS&C!1OdjQkS6R9sZkh?_|^v9_Z~!(VfR zJv>QRr)*7#7_Yf%s0BQAQxCB;-wxW8n?D9Ge|JA`arx~_thg0=0}q|x|Db&+>+PYK ztt9cB4VaXJhrirsJf1aT*80em=IQUyIwnsOrz?1F@mo{=OiAW^PGCD}Rqga%OszG4 zQQS_?7m_BUYF2kx)?_a2dQuwpy{#kN=zv`17z7-|;z?Y(UW{MNUi2$UFvnxCCA*5B zQ@i}Va(B6O?@Ez~>CmluT502comjgr2VG_duM;h+?kWuGIzM2EY|&+HJq=S!u)7a- zD2jW@maX^>&t5=c2rh3#)L0VQp1sUkW{A>8E(G%5%8jkjHAxVsYsN`P_h1KVa2!0p zijdDOwSTh$)7R4irJh~ysP2ZfITKIUADT%0Iyi{$sr^b{t2;8<-pKH&kODkEP>TQU z;m+4-m+fxHC%j_v;|G4gONRAq0~2i&oGuzG@vahkWa5-MsfhDAh(i1-=<$A&D7DUm z5A(zMvmDvhQ#SGU3wF!lVRw6%n=oV+M#v_Y{>#$Tb11G|0+ZqsMhn&>=qkD z$jx`7XPH=b;m~B9tA7>PS1Mkd8I%TFO@R$K_yQaS zC+k*AmiTcTcGvna(`0R!C$R*48tU3GkZLgxv$`?{^8_sh3}T;l*Ea7JHSw4QW?alv z$YA)tk#x6sG@Rn$JoBqbYX>RzSE8z;Z?`kA21kA73JH#I5Zjh?8sE8p6Ew~$Hz_M+ zRC3x8{#~<%mc`=&Sl6AKW}%#P%^IbJcGw`HV>CNs9+S9;dtSI4TZV81xu^beIb-s= zVYOzInWOR?bR*X0tiWQzz~oi{tZ{84XzsNNj6}vZGSdI1OhPnw1#TxV##tDe9crbn`9I^tvc82x->1;8H$@rDQQ#EUn^)ZM=%ORC!6*1mRivifRH-?pD32& zhd)w2vs`N5clv0;sN$7i@)?9xm~M6EX^Jtw$MoR0lIA9fqf9LGc%LdF^P~wNh}*N# zqE`kKrdT=$*0d?MGJ$=+=go)2_7Q;^BH zCux$w9N*n-x*v(yLed!FZfuDkV_IkFq5W}H#%$50V<{_{A6?G&Bxt(dq+oARzT5EM z%AIPlh)&_iqvOF^RE^pjRSVBuL~S4RnR86VTIPW&`O>RL<` zVS&}U>n>8Fe>t6cKJfALvBO$xJF1md$xS@A*#g)U&-SL5^)SN_vwkCD*Ve4Fty@}j zWrocF?*^8>VbZ)KAkDFgeLd^oon7598&j*2n5H@V4cpNOX8WBA$&N}=AZHSv#8us3 zoheA5_~M~ZYYEXc{R90;=rBzIb?lr+Zs6m=KE4Da1bV5FaKb=sAC5%j?U0fz@+tpj zk0@pt}$9kA&zArCeVS9*#wEX(c=i>&)&D9FkF>m;FCppSn!cZj5T78hy`|3%aM zxL{cO^Or`P;1yta-6wj5-z_7@^+Oo1_&K?E)y7+)vPNyHuABIa$&$SJy+0kn*Y|qC zP2;4qBRj`($LOINDdK(`dl#_l;eE4$YT2|(LAA75)3?ZKX;*0xX7;|nV$#_VZw*=A z=Qten*IHECQL-oA7aA=#`y{*Vj-{E#Nl5-(75rfTYU8`x;9xG(W0T9P?Mm5nHC)b5 z9MtZh5#otYrMoUq)mheb88bYj@4BGzKGeTX6}*Y%YTR99#6|fql*pPsk^@ILSiUH{ z8f8naT6P!)qpV4$^ZK$ZQZ2BGZHz=>I#(*t>1gA9B<#h?v55IeSdFI`M51M29>fbe zarQb>192iPsLVaEOJeaJZl5S?U%Dyg zZ}Y{&13o^$M-@Jd1DBXY7@2CF6#=1ht<+)yymm~)e077!S{y5wXOE+ev(UgccQv9A zvE1;-ji^4}GUoDB-Bdp4V6^%4IOWvxdb}$t!WAZ5vrT*C@0>FHGi&vHt$LcaFjlp4 z+HaXcKepSEZniYUKiuU`aax2kicC0&%M=N19uh2^ZgxrB8QEjMGK%lEMh_Tl2e~c5 zOw0hrwE(W6?o3}5U6GM+%*}sHFd5+XD(}RBBE#%a^j!riS^j26a3^qEZ?O1{Mifn7 z^VPL`Q6Qi*dW+lNhyMHZKKciTQ==C!%sxG&AE(L{7>eEOApnJQY3rghu`u6 zrv*sjl&kHCPMNSo`26@~L`0k~W5n9o5DT@5{i$d0uTFJo72KGLfs2X_~u6*0`$G402 zc<-K$h<*UF+Ch=Cn6z}CXaX0p7AR)OEl!+$xy?@5!Bue^`H}6$chIw_aG^Dz74>-EAUqD zUncPi{N85b+8|%V*coAX6+BoeMq3A0c!*5$xIk&D$A^+LF`%IQs66&0e$(n9Fk0x|UlM zdN|iecPLed6vUwW!?m69C(WHmkPOGlJZ6H|Xe)2WJQ5oykS6K%hnPNsX?~Gl*kSM` zMx#Z2M;c#o1!X68{ht@0WWLu6Ghhx&=L!ILb{I3fc(;XQfX!{&2aI9b^aAvng$;X6 zNk+#*;O=9R2UUeNewn1%tkEUxgFVzoo>tNhYt8}}UfPOMY;U7WITLzt01Oy&`#CxB zk_gltF$Gd+s_DBIf){DPv`lo-aMy}=-U(oUCbdpmz|c`I^wJ7O2t+pkpDFWq(u8MK z??mD&@^8an0eq09u$P_z?pLWENRhA&!R; zLfE95KLuqIRRyJ5wH;;3m&LjyG%AhLa4$>^s7a_q+}skIK77nmcTAA2FU+S}yi%-Y%ATFZ8+>2yxyE~|XUt_U{^AY6DDdrHW*-G58-KBMgC zhP^%dck z6q#hd`{;XD)=P9VBYD2RYuGGw*7Q6ul|On&xRItbUt1oImLV5k4jLvW*Mo!Pej$DP zv5;BdoEulqw)NCBwz61RCw4Zm3VJOa6aG)Nl@r&n!MyRM9H0kv#8Z!2QnhOp*k zCEr9gvr{9UD~9C&$yiQ*OA>$KG|xuBami!M=MHA<$^x?rzE^^ab5%6K3c1egF`+RT z>-fiLPCARL#+pSp9c|K95F9RK)#0o`1D6o&33I#!^lW?Y-;eLRL=aZ8cVZGjH(C~1 z)Lo~FpzVuF?q5Rtf&riiasX@`QW?Y|wHT&*mIHFfdmrj5Vz9)@=yQsjgZ3RH&p&iHX;IUHhKn z>xONk^&*;Q;?crM$Q`D8wUVrzQfm-!V5iN99)kq~!To~a?Nl(h#K^Gm@-32U1AwT} z7vD?!m0S`zqv+kNbNMP2rN|^7FfbK=Pi;s_hN_a^lbLD1I9QXNfa{jg=LmO#W+KTz z#BLnLKSt-rkpD)jz4;}RRAK>PjwJXd`YH2mp)+$F0US`M7cbC3Lmr`5jQqRO`Dm~< zn|&c6UU<~(XG=9T;v|NYO6q}U&rcq1BCa&&!D-!fGMsfU~ z1q2sY$SyEQR9Mk=GDs5tDO(YO;gMaC=CS};IR67#0;hF~>M^}%%LRw?V=K91xecgO z@O;^8w?@%p?ywASK#MsqnX|7gc1(A>zOim2Oz|!TG;aPYEpnr%_>7|vW)w6w1CS)6 zZ1dJH${%26m3x_DQw9Nj5CQ)HF$;k$l49UBx9}2h_OS|R= zA2RRdDLQijo%<*O_GHa*5&b_2-LAmmBi0C^Zu(Gpk^$@Hm|qVEr^SbHjPwekBjVqN zNieL&vIe?0h~8Y(AQvy!DKxNyLs;%S z0mhe)uLpjVgH%f0+S4PRqoD?UlY#0-(ItU*`=O#k_s9uo38DOy`WnnH;=U4*Kr@>x zkgoSJL+$#bxsn%F;Fez2ML&bCd1ehRAtGG)@|9f|zV{O!WA(S|Mt?$D!`N7DSr<7? zW*vv(-*2*_dYFe2nc?dh>}O={uh0M^cZkb8*Y`wS0Z->vWjd=mbox_%#b5Q`5GfbP zDFIH}Xnuc+4OanP7(qTcp8kax-O;EA($?a01$!hUl4@nx_J3~COsfi+-;6!O6{3pk zAwW*hj7voDYL!`2J?)47jo&CI5+P1;bvvwS=Eb|h_qFk_sl^&!npX$S!n}a5$7^(_ zL976lZSIdO33M7OYG{wu+Ua@Uq6XQ}qmK%_6hl_Y89wpU6CY#Md3@7Nt2&{Q$RJ*u$`&CF-Leml1$l`5Qk%-?Tx_e4 z=DJJ6?45?TsRwgL5O%++I{W!}mzvYeJ*6TsG7CC+BV4=1ntH8_y389T;hU{-_Gt+N zh>Del@Xcu<#tM8dL|8~P)BaeccN+TJYZLQ~_3I~^;oJ<w85gqF(&EIo9v$QPq?5`-^B% zcrG_MDEkwLC&!k^-;Qm(>+;Z5pw(3g05$n?dWk=dCrt_3uE-YG z`ej|eM_2gB*Tde?QHmc#F7)$9aIQ4$J80^@N~;TjCpN_T`B!q?q)x)G-zJ8-8qG0v z`BPu&2iW$c6;u=6%c_M^wxj2q6Z&%GSDhr>xTu;oqawkkrg8Jwgkn!eVF_mtz~Dbo zp(>9uw#v+SCR!a&gSuQ9dzZjN*V@u~(q}DXfnA8#s-gyf^waTmEUdaebY$#$DM8pWy?7 zsr&V=KUPrGIVJFrTDF?r6NQF?8hwj`?pA#kOnck)p@yjRuzCCXu#Qta$n;pZdI?1LMVd}B!&$q;m2NcSyJ`qeL7SeX1hA2kJg5- zs3jsH#iZ^%ZfdBKR6D`44QlgpJL73ECK8J`AV$JCcdJ}hLPhS0pUb47A7YWqs3fVe z3N&Ce2ufSvzwJIGs*~>u0)J0HsI}5^)nz?uRSHvNT4;jm&Su>nNZRU^RCksflwEOXZ5L+)zl2B69}Y zgwVB_{-9=NmYIrsXo!!($*cQGz&2U`5>>3bQK>EbFmw$gZ$qwqoiF_T>nzicgSD4I zw4eF7*VI^&bSMW~NAWle|Nc4`MeB+6=8q{6S_GHCXS|&3n1`+b!Dvc@SD*h)XsEIy zSBpt{c#X#m)_;!p-7Kx{q-?N%&Th;bV=1{90M%^7Z{kOej(ot?L3@T0SYHr`KmbNo4QgGhP-BcR!&l`TS9>gjT zT5}LFZ8IDcLP~YK>vIhx5W#=nY2#6xh$BV^TJLOb@yy{FZW?A}ZqRBG38?=T+Z#wnGJDyJ;kQu(^{O9l*JnGwz_IEHZD3<>QP_b%~_ zwX?PT5>1d3-%V9geP*d_U)ePtIQeZC0R<8*j8sh?VU`UiuW*WP$`#S#;(kOA+G#TMIjk;eCmfN zp*G1#dqe0=TLfQ|L@u%<0_-jb3G$4YfVv;Q?FLq{S68Bk|ZGItVbj?E_|10*^MlvMIs z@Vw6w214cECOAqT|9#NUOB)E7A=~TNBt3?ZYQ3cM^2suFTJ5x6A=w}#*CUT!#uQTS zYKwgf1t<2940`Vm);!lAg$8uEbQe^QEJ38OG5 z;sWRRK#cA79n%@x5~hL+2&N5e5>z`2>a}(^S9Z4vX{*DSDSslTaqzwmQmMYj2k++< zBn4ZO=|!)2ev`jsUnpzBU;2FVfDbW3SEKrshtlkM%f10;{|;T4HwMQC)qYu7>QZ)) zK6cz4=Q;jHQAXlTGPue_D;VxN+)uJcOaP)aMZx(8u=Av2|BUmLFmP*b&21md^JCfq zDxp}nYjYHJMEAOlxTP9GI2CxLAJ2m}A{%|gCfULaTipn%G9U6`O}Q-Vd#l&N;I?2r zB{*(AmVH!s!?WSwyx)Z{ma-?=`{v{21p>AYsE=fM1z z$Ys7oZKKoIsPor-U?Sp>|1)ENIH=Yzy-ZPfSTExJU2S7z1mvTK>>nx_N=NqP_ki+p za}krBFDb+CuR@ZX`!N>6V~X-{=JN(HG~t!%NU3=bNFr@Ka4q*PhKIS?Y<@7h=;K({ zIt%qAg=1IjFe=L0?DtVQ?B=uYqO0@`z8e(_#$|p+6d`u5YagN8D?`>2?}Dm6o7A3h zIEwXJk#El*?iA6klv4J-hi1scVOO8zT&Gaon!6x21qOu2?V2U_oTH4Jo+6z3YfPKb zD!9b_K3K3ebf+nhwtXgdM^MQ zPBjP*#0{zWVJ95%LhYu~uA8@6Ni(*Ylpp6Sn zkJe;z-V7;64g`bj!Mq(f$50UZ{!whZ;jXG@!5q6pb~X}C{HGtH9p>$t9@w5Vf`D+H zG3*M9a-@=sPorF-e>$>IIZ75xUEkI;^60!+kpNK<0ucBhh2UZF^z7OTKQMb#f*g6@ z>B+N^y!5@wT>ca6{IfiUTafCvX5B=seik$J{x`ZPH|L_eUsyvhKU{u@SowXHaAdU} zrwVzPXKN*mtG0u-YV~$gj5<&h!@a0wCkIFZWMQAuX~byMHE0h#I+#L-;;DM+NkXLN zP`0n1nx8|VA(_-;$jv$_`m9Oxggj==*cvV~2EV>UE>WaxWomz{R5{4`@Vak|+^&9y z3!tT8yip}YaBU&&bEZH1=lHbwu7XktHfFrf`3}eFGB zmd?1-qK<0%hvQ3Mpt^IzyG^b2)fL*2zkkj8L;Q=&ebr99Y$`<&Y5$SHVT6o$8sHXR zFw7qifJh1QhbC(#1)=*ANQEiqwwY^cXMf+USDo%;vaK@RRnjO6w*C6;%hEP*TT^u? zk%W_&!jFQ&f$Q2k9^k}!sk9M`X8^3-h-zW~iUUo+96avJIdgN27G0`QBtv>A&cC4n z@^dm$4s1>$r-L)mIm7)&;5)ECELYwbdoeXAT>$uR-SX^Z)DS#gCM{%FmHKw6nn2+_ z+ZjZL;H6SBI9I8X5$2~qyA)(!p}TV%$OB|2%e*0cLQM1??t8L#^2@^Vf1b@H6UYDe>0O@zcnLv9`} zIS&pU@JsFT(BOpFwhys)^W0WZo|R!&Dm)0wn_38t`g$#Nf5hh=HNH|8t4! z(ty0p)l&-9!-r}lk}IBgr;kZwJv-(`DJ58UMk1N9%sUgGL1I#zK6!9ON!ZCz`84I@ zu`K|gzJ{3nea0?!BmO0`Dp*z%LmSNO-QQUV{XJ8h;AcY0_o6wkmH1m}AE)szN;D;r--xC-_lLt8r>Soc_U^!14b1dLELeXf=pe?|0 z^pqn?3u=HVzpPeQ{~d7Ts$Ndsl^V4WP)XJ zQUG;1NKi8MgX&c5Su7NH3`Xz)X*X`VjK*o z3ai2$;jVqcZkdS_0q2@#1A?M_@eZfu#%5#SAtWi_J0ZZWHfH6D;)=9N9UNS^*iTps zQD^2$D3fC+ z@Qs`%iI{_al3mq;NdigUey-OnvP;q3BHQvRCW(j!>c*!i2$>z=F;{TNbg2&QhEvvp z82k>rIyUdM(6|nJJ6N2!bCFw8;CR$IF1TCcysb(YtG&-5%PR@_e<}M!N+Xihz#jzpbZ4?bQ6*uLNA@JD<-%>-2PX`R zA+1Z4AC9QM1>~NK=T0v$j#~cl`_h8EN6B&lGB3_&Od4O@Q2Vo0yH+pM15 ze!j4{`nFgDI`^N zZvJuILt}}7k8F?nM6AE3FH)8v`&TBVv1i$cp{8nfcXo1p+x21`X6c(j@?9Hn7hCiW z-1jcm`kf@ODHykEb7t5;H7A-!1SrBTi%sGTrCasUCztttO80sf>#Q3yTI&`a=HBEE zzNBY#+B}-U*k)18J$UCi)j93O34G6Cmwc6aq4xi4fE{1jVRkl4WYwtUOpgbB`DI*E2gE_nq)=ME^C_q z;2kYYB_ zPQ`^IBm=d%N_%HM1jrFV?rV^Fa6DXDTV)D5!y|c@Ww-g3Br0&9*E|g-l7D!yuN|n$_6r$@@RhD>V zjk2xDea7dKR1mZa-DIb6HPk6U3lmcoNiY@*()j%236rk52f~Yz@T(MX{Q!icnJ~#E zH|DJcn2Vv>F*r=7-a@exv=iCr5zNf*0zuqHv@#pkwuD`7m++NT>{eXWgcK~ z*Oipb);?!38<(xxY9#kA=cnEd8E*26r`p0dL27I0TS?fufk2~)-i9|@#M>k{aOx%F6giFDsW3KT56r-s0!%4DrBE!_Cvd+8;lL*F zoJFYJg}SV&GEtK2FNrC2tca%~_4Tk;gvHPuBZOlZa=LF7@`Zwa3&KG1-Rj^V$zi6T zilaQig9#_=K^V#q9)wl=0{umrvi+o)iZ#UeiGqW1u3(!Cgl^STLXfaIaE*`hXu)NR89Nz{5VV#bY-iauh8L^X?o(s~0joJC-b*J^yQEKC;~L(2VhAsrXIp}; zX%?2tl!ky4(|V0CLtdz&UeMN9Q^ri zRd{&85>%d&8gJ5-MW@mzqx%|>x+W#g+z9zdd|5?T@{Yl-ZTQ+oOPUU^z2Lf`ptuvz zoVkqILnJxzhR#RIO+R^}j*^VeIm!8nE&eY@Cw#rZ-t4YI!Y@fY_)D3!Sdl~jEYELT zQS4pm&ng?310sM=i7K#P|29V=XR(#j5jzsHWRMi=c;_C59hvg-A!-Me!iOvAI{>@m1fOW*~H@XIH30lZE>PVbOjV`Y9(X~I%nIVbW zTixG7jVw*5`8_5UsZCt>i&B3-wiv-j$Ak zDt$7@Ng#-s`q}L;C}|z;Tr`@+hdjQ+j9B=sL`AuJQUjf>2C0#M3B4qDd>4bw`A7Ch zVQAoqfJ)wL>#+3^KdV$anUAD!bLCT$z_1K^+vWgfAOKQb(MtuaW|!%>(Wt&Lm-OL# zqAg?oI$ZJBT0_^6UMi@a0JeR(+!*q49JmplWdcFv_A&U$!t%YbiVFD3#`c>gTU=c& zE8Yor;_zq6O^v6~QCI)wcI7TlZqrgXL$vz9N{6_=hq@?Wz+y@5_GM-OtpNiG6A^XP zI$XB6pGL<;IDgtC5T)QQvhlbU&3z8p`Yp;SlC0AKDp$+~iY8q~nxho1&re#E0q=-u zj6pDhlb+*RF;dJMVt)!dPcEIa1C*Z8@0t=ULhrnO{mJkit{;`vlSbHtNI0~Z4kY1X zL8`|@qW*P^sQ|aIB=&uCx13jS5Cr0}o8SUI0z+xguJOnKi+tf3Z%)XUq8qSgy%AN+ z1s&BEnLug^@kjV**rhSwS!0dNStWjYgTU73i;HZ?gXe!bhO?U!pv0iB`PBNu?c$dC z|7H!zGH-xw5wL<;em^EwT30X(m)~zV6;V5N7vn^c=7HNZuYGJ|gL&#`mu%b0k3mNW{*6q5@cgNJjDLb3&2(yO>4TCXkjBb-OxiR zvjy;S7<74Xo2WcUzVHle9~Bx@8`Libh%$9oh1fsnFYgs$`sF5RFtQ53;2@2k_Wb8$ zW6+QmS(K8Q>)pe(m?#1<;t1Zu-+G&A`YJ(%g$e*vG1AA3U~=HE;q3ODB&@y8fvoiI zhYyhoquzGh?ckd%5taLaOQ4G+@9MNq^lX061`Ij7I^kXLA$kq;R0wdNO_A_VLM4Z-ZB*xcN^+gswfXJ zAf@U&S8SJ#;l?`F^V)9xAkjILagc}+c_!V%yWLG!XTiV-lZ!d@`E&cJe2G`MyZ==3 z31R^xxshuZj8ApOP*SnTKG_Qp4(paK8~T+{+s<9Rf|_BYJl$@=U1MWLM3(-bN0or= zDHgW1kqou^U-)Lg_S4DP{(4S0Cm z$R9E5Q_%}P$X%fT^iW4DEK+8MV!S#C5Eazcn2{{R3s2&;2+msn#r=c3F6T=*cnLs> z6xx80pL*nb`RMV0HTqt`QOF>}5^u;v+{PV1iT!>+0~RF392R;_@)mwYT%dn*v=g1^ znV)uH{V}1CZY!soCk`LbgRtGDIjojw%v49y!12z=?T06TO%&b(^x6aB#L;o)BzDqh zq0^>R!A-Ha$GWW427UE(p=1xbY}0Ut$;;p%_(g~AY4-7NWQP+f!C1%BlQi~Ws_iw# ze=Icm)K8k>TpD0k!5HSbW!aWmokA3T;C?KV7KV(N%UEwuHiHhR^WPNuDp?Sggr-Lf_tXu|+S+&O!f#L`P zqt>zyeEz^ooS-YB4_nlBE8xaTJiM|R!m@>5Z{dxU@+fRj zX@$0LpIfrvtSvNOop?mTh8%`%A=(ck0*2SC|LF`~cMgkG|D7tHfBVwJN3}SoaEE2G zmp{dXexKaQL(pqdG5g09@X{$tvc{oR&>emcjoShp4!?w6cDJXrZ+>}xvq4;4*X#;-^{$mKuJ2xtlk~4xJC&VQ- zKIc!qjh=FD%TcL1Ap_1!JOTQJ?yU30mC&FbLu@hQkT>&-DLcs~^W6hmpdZ|x>V{*c zqvvaFyEe0+RPNH!wWXgM1fxwMGux5D)7Tz(`6m;{$#TMZ335#mr31#mqrq&M^S>7;nr(0HiGu_njRZmR z6ClYyLa`vPa9QZCEUXVt6)-9lq@a+E469NJYGDW1mIqT|e8H>t^f4*cB1|vB@AUi^u`pMiuRJqdnd92E@T#D+~d7Z*bmKtUF2v|lOy z(&Q|Ij_3lYydP|{Usu%=Vs9`3lcrqY(1a~xf?^7)GR)D{ff^zFOrRM62xe08qKKiL zvpWTbj!Mcqi?XrWT8wm0TaGxX=GQlPd~p9*JetiV<9cizS6U zvcD{;+%2Cp#&yqYYBv4Me%dgXG|bx>r%j&#n>j*L&*xl>S{d2UD18s#AS92sTzA&? z7~R|BcurZ3$)OTtOy4cfo4OY0>;EaUr0%TtuMP%ZuUyc(xL}$J794TpaBtq{JZyyV zZ8&1NpO}ahF^Y!cTV}U-_Ah`Zm#`doc6e6G^SUmyuxdrLHkWd_LQIXD{WC=JfNrUE zB8wtY0->N30MDtLBllWE=tu6RUq-|m73NBl@2`_VQ$Ye%6yJCC2R)e1r~tQW2`Y^j zfnEvrdG|DsD{N_f1vB|%=4LKW{thf4pwFP%6!AS|KjhoTD84}7q@iG>!*OnBwwCWW zl((qfJKIXd0;m7`?(i`o-=Ah|D+m8dx~o zn0#%DMXAs+{AMoLN6?kVlu~rrCJe_0Dlk0I7|V26|8Zy5Z}OYoSmESGx)i$qOKMP4 zoI*|jLV>Taqzh@#Iv~g&kIe}HL|ID_VtZWz$`A>GkpfZfCV11J0bME#UR`fASRPX5 zfnG&p33#Qg;p#o*l5l{R(0HicJr;ks;GPs1gDUhYK>rde$N}h2+WakhWHea zVO-Y!^l8p`wFLYmokC2mwuGIX1heJhD=-6IDk7U_rkN@C3^68$&xycam4Li|Sjy|O z3X+9ZX#t}&10TM&`~d{rVc_jo?!$YnRhpF>+vyMFVbACYUw5UDR8zx<76#lgaR6J- zCNOru-Z7S7xI`Ud@x;_>t;G*bJuX?DQ?V#XIg%UVRFJ6U+)+t=S5*PHWxD_GpYaP9 zO6UT*T0j-n=zXma`uCp@+NU33o&J`gyiJYr%JPvZJ!}x_8(S(ZmOH`S>9!_#1E)A` ztkYdd(w9WTEK(%C1aPUZLB6Q4+vm^Ja@6`&B3f^nJuh%pHijsIl>!Ou+`*<_xl6>W zAN?_Sr7XnX-3d<_(du|NHX)t1t+7U^AT!_{1=KZ?Tz=YIJ}nvxw~j zbkGV?XJ!#i!p(+KzAck|E>P;7V{3&^+Irq^y_ zjZDqvob3FiP$3nh?4g`&7!y0I$ESaVCjN<<%>*3>wVKw)A`bQ#cUQ7g%&w;^wV(^% z)|xR`&KK!taw4{i#)%NU{HdwtWOYQ^{|;D9rFAvc6_Jt{xrBiDR~xR&TMAtzp8Mso z-9h*8UCW@>++RW^ZS&sB?$ktPXNXQ(g>lIj+`fp{4r(=Zpqx)L5uXOI1DAu3>|dBT_l45c}8)5h3RniZ<{D>sJlg zRY2D2RP?^?1XSdE4e(zx^Pdfsckq2#vwWJ<9% zmk08rZK})ON!eJ`v%S+_>c>E6CM6(XOdx3bf7ZD0ghPt)^Meo(}6m3O7XBg8! za>+=^*dOKC#lK}|&M5#GG?joL*5Ic;+5@Who!+?HzaKtwyo+;2y$I>{Vt4=)0Fq3% zY8y?HD^@$+=WY#?r2{63H*!qX1%0+!uca=OkVKK73!u7sAed1{Mhpe;Az38rh#ttR z3Ed@3GNIOs&z(owNV9923mj0z&?o3c>_9rYUqSeAL)%qi>o0Nt)4Wz&1#rX=q@aVNrCFz0D+NF7$G5 zA*wLHq?^4HPvZeEM-#!cm<-AJ()RC__|d6cCMOfB7bbpKm>7M@WeoK{5+7PePWaTDI2^L>^PKZw(nAb9!!l8-!^~;4x}|29 zEaPJmN!xx!VMF#<6*gIsX$2sC_hfq(U_LTznDxz1j#EHp!EpBdx>={zKq|gJ zb;nP?Rp|4w0@=0+IsKDW!Cd91Lmc957%Y4IAAf9=_k_d0yuac)x!*_c_;npDWHN z0UyDWJqGmN5n23^Sz5#0Lkm0WCz;)tD2t9hbDSt;S(=1`Es4S5&Z3{XBvqS4vZ59% z^Nu)q+{MrUhoLnwI@v*MqYr*%eapqinf$PIWoFb9f*1wmG}ehRudrV0(4KQ4< z2Wu$8f2O}b;iD$4t8$f{YeazCF)r_z$`gJs`lLrx5~QYAcMXtRW6`uFvN$Q$5OH~O z?nL1|BEetX14^2!A{&AX(k*vZfZS$Ib`Mij2M}yw@A zj&>_rn7`baOMeOAAQfcA)&Hlhwk9gPk89*>jz?H><;TB_zf)b}LPA%ob;s)O%3wX8 z@ew~a-Sn-%W>jo!c8W*I`=?JuXY-$x{84&@N6aWVK5j1l%HPv};>()#6y3s{X&(mI zYVhTLduH56w9kC4K#15W|5uliYH@+ud$p$FLj%WAqGwd1S}F{`DhY+KKi>p zj7Dd3?w-B3n4YImxgbAvs<$zI%?v1eVQ&`pr8VxYh>bKEM;(97AevYnye1R09POCV zzW}Czl8EoWgPf=W7J!^IUIm-2xx)h3_w^+iC>)?>PY4UpD&|OyqJP~42W!WX%9p6A z^;fgixF#;54*@^>By2pt?qtr_EI z8nZOISSTfvskrvD;qtAvhkRNg`sd;NdDyhwZ?q%es>no1BarZ|k8Bc2pc_Llg^=WA z(-e5+QjVnbQeNgP8wTh%bLzI zpnSix z!|U>V^5kpRrWX8nAkOivZyDX@Ci|)@0v1zDvTHO(hNJR}?_aBtvR7(w{nlXoPa$|E)`i5@gJ)@%b6yZUz1 z+9ZV_i}>Vc#y-y&Z4mrTdrX=Z!J~w@p`{lh|jk#o%v}|79@7Q};PD zk*)bGiE#b~XnAKI?Pu&ZIClqHp!BsAA3T#90EEB7Tj;D>CI~hhxtMlXZu``Q(xdTU6WM`{BrFti2D2& zHi31iiArG$^eZ(qx1C0nKPL5V9D9QOk^XQgs7i5d_`Pu?=k4S$sga#B2K}5@KP~1t zE$QlV6egH&EoZo}?7fHsbzets;|B?!NYKndvXYgvBv)&r`HQ71COyK0gkxiF^MTMp z{tSpU4m@S0joy7*3G|a0jplZdaOxB!%!seD$<&05IN`Jf*sZVtn^$WIm(u5it60o_ ziUNKbs0`BrzU>s5fZz_mkAt`apbp}bUkBVPe2Ph$+__tyeC_e%#jnp|7)_)>{yxNS zX9N%MB*Lp9);t909$(4DPUbq>9ygoWg$aSUG9dg#;lp@LweK2Wl0)n-c7ItO-`n;5S~SbvShuG8czG_ z$ry!Fx061U6k4p(dwl8#jvJPuQXnuws!>h(D$dHt4f*M4DOFGt8VV%22pl|PE+&?dA15AjaK zc;N^{l&2AOXD;ll0j zWB8orDm^=&sDlv^;>@u$n0644AO7?HSU;&r-gyTQ%1<13Q-qpp4>a6EvmbA|lY!A9 zo7S7OGUP`2+89c!m1j^KwG!^`iLL*?Hcn}onJBS5qj(g^N!8f@If z$^jbIKP7f8sk{nTLk&_ z(UbdD>c{#WGsO%(Z63{S5jgI&bpdy~;DD83AVVfV(2K;W-esVQ*5=R}Z#?2~#@d^8M z;c@~Yd}dUycD5QAw6PC9y%jspEAe4kn+9-7?Ad|)$DDw&$X?sUyxphG{0ck|Fs^%#+lA}#05gh z?f>`ub08ozZ|*Z(ZW1=N;11P&Oy6VZL(atNKbR&Wx%pNC={v#K$z?d}3AwdlKI48n zT5{AY6LPm^MknP+JMlQS=}3c9p4)+aEOIdiHLU?rn$`Bex2hjfVR*6HHXar}Om^xW zT;rG)h^$Q@$j@sI7?lgY3(qmje3|FV>6kdd2t=v}<3dsY;*!CkBT*j-5koLLk#l{N zi*&1FwI|f`$+DT$eVxf``9oERF+-KAT)3q{zj3KMa~1!Tdk}Rrdk>v3e%-%VBo#8b z_o6CS6Z>LwO?pmCw#vGM)d1Pi1vQrl@*+eLZ z%Yv^z1baeZv5*@1_#1Y@{V_kjw%6hs$zz^YJJgoEfB zyn5&Fep(i%kkmOH`krVytlaQrlV0?m=Yi2H<~Fl?6_PGr*xG8KE4`17@5Iy+Az*Cb zLJ-w9lci}Y@MeXEL*Y=Pap*}>T7}|smUb6+Y`bB+!v8Kf;~NN^5&e}9E)qG0aT?nF z?1n!Pk`}>{{N1Z~Nl&GdP$e3Fev((AMFA?9;aD8l4%kged{z8hR|;OYTN%+wl}--O zQmUDAvCy~eC5AH(ODDvy)xXu+Y-G~u?$P%HRXUX#1JBK-bN8ZOFd;=<jxYyVyO>LhhJMjbmAK79?^a0?x5si&PV?8*DdsszXO#h z2#e%1ID;%ewjft06tKJ*cW#|cXPAVnyrjJgW1@DQ7&7PVCkq=D?(e`% zU2@&L6Yjl_b1NrS(UlLz0at4XQM^gd`=qKj?KeFZcxnOz=-M1Q&Kd_EFZ>YiZV9>} zp>u*rX)*qv-~kwrKKxMMp(Z5EvSeGCl;sz#siFXeFz1b$x!(5M5v9Oj!mPmS_Y*pg zL(N?AebSyB%;4<|TT(N3(sN6B=@@EU3DUh~k#|hfW4Eosk8-kU%K*rirep*>Wg z6UkOS`=Pz$m363dw&gjQYtQxY{ENnvaiX#}VB_vz__lr4IObk>auPb83CD6+8=o*nP9IM^O9I%Dza z`xA3ofBoPP=f0vNma(B{4zLG?b%Y-AoCRI|s$nj!xec>BufplXoor%&IC9`c58PLm@H`H^gM!BAz($C0%gc_g#`Ln*m;`D!}4X1RVHVpbDDz7AGzkA^R^;#lVz|s#eh8zW zhWk_Ejxt1%yv%0hdIg5AyD zzo(v7CWU(7)v`Lju23^hg*2{7SC47x)0Te}IS7d)Zf4LI&8QlDEj?hR1#a#!KA;U8 zc`0hbCr)0WKlR>a!AiESeze15z7_vvDN`1XS`stecP!B7{kP!Qj z#y6vQ-F@NLoLl}QDcy>n#NdPGiR}JMKvp%`spR@d)h6X!gZ!|P=d#to(Lzn%f~w(6 zX-_C)qc2VOSTQTd#eN9K+YJK=`nNeqe7fipuL^PR8w1?4JnyTKWS1) zwlm)*E-xq19c(ZrF6Xk~(cwB0lvGf%RaSnAIcqB1r~goCRVgvKv*0T&cVA|b*Fqv# zV<9WbXUBo}D=u=0u$ebT6tBt%r?Px5bjd34h!4j#zj%_HWK!3?ovtAKdNGyTRlaYz z7niQ0%Cwh|Ee7^%C2shgj>^$f7+yXb>%fBbH&;*oGJTsU9^6GnUG_?hT`fN+qm4OK zELy;~lC#D9KcJW{Td|G6KSO|lD+d9bm||9ef~;oHPcO5f^3%N&KD0Kx1(=8c98&ur z-m7W;7D?j5{q^NHx49YciHCP^&yE0KxmvdVi_+GN@`@(k8yttW-fxyqfpoPA9wLq{ z?)-h)TeAI9v^O2FN(8hUmb2vw#+u<$aKkerG8P^uapP8)m@^L9F++)Jh7TUgQvQ{g zWnL0g-P^63h*tH-6CJ+%+`UL1`xuGbAt^kg`2a}yDF7Ln< zC7oggb3mUMBRL{$Xt=sh2JfI1U1GuJ)gUvRGDSWH=P6G)OUVfp+rJw z325kIg*)`|j+jFhdV&nRWk{|2{#z)B)6xpv$cZ$%rmFfdON~?W&t~+16Wfy*xv6D-X_hjYxN|85SM`_Z~pr3xZ6(>u?)jVl{*WTzYxArpLr(bUGt;%-awp10Yz zgK^Yi1ix<>HWdgxdH!AKU$|huR^nqQImxcOK8q+8(fGR8KVgqP_a6%y48peDTUcTk z6JaV`u$P<8~Ta7f9>l8?S+))$GgWfUH=YlrCaM|eEu(7z~=;gcsg5? zAWo3(DI-&J68Ahedg)KN^lG8nQUhbzVANap&teM()^hPuwY!bWerqKWmy@dRLY?#u zTWbv}7-d`^M>e)7)Ha!%Pi_hlXssAyPj4NW$bKk@Z~e_{;pL|2NjYhG68A17RxUU| z`46XIdhLI68cQ{NSRZNhdS-eo$sbTG6$eFlIoU+Z8#R0T@g5j8r&5dKhUmk{8AUpA zwb(Y)z4L{CzDdEY&XB`-4I(y^LY&THDxBQ|`zO?bD)yl0b7hjJqJ5!Keo8?8TShC0 z;_`7HwPT#5*n?DWZSs6nH>Qvz)kq7b-^ssAosEA?cN8eguvZ{WCK|6ddp7qD2jZkI zQnYE#eZYBW%8*-A>{ytjSD)&|OuoRYAV1<+nfU$BewvT&ErvpUu8U*WW#x8?it{Ois`t3j8B_H%J11IQD4~W@yR}pu3M*nZv?fEFI5xv zcPa}$;Y|W5-f|FkOps8_5}40_<)>Fw zmeI0MOh%-NQI%J2F`@(Y<)hgjKMxhMn%S&l#}X|Ecm81W`&Z`^eHe2z@bD>$9k3yu zmrspl`f7DEAFU2Jpa!7prCiIF`&z0BaHRh=faxW-v?PY6R1;eZ+ce%D6P*t-1_`8} z0SC}m%sC3`O(*N zn2{KNZ+VwDP5X7rP)%P7AB`jwOFCLIXeayjsC;a`n6v@6J6m@=I4c*h*Uo{X;<}<- z12)&FRpx^nD7UT_6v$3}dO`#D91wzW(K(h%LgRl_zmHVF3$-j^1xWuG3?Q}qokM#a zq$nSDz!(&nSpY=kU0rcCC%dWzbw(YCR!=-yq~7{oy8t;_UK5PLt^)yw-ito@WPV=2k6WJJxrm$xC(>5g^vgeP|0+w^cP~`yv(nwaTsPg$ zIC^Z=ev-s-c=in*p{^%#c;|;FeZcdE?ac}fWe6C0+ADG=18Iu2{&ACbs@pG6q7Rq{ zRw6X&$+B>n_1u)))w-lrwo>DBe_MG4R{{JM!!36_Kr4yqw19>Fq9S8+Jz)=2)Mb*E zMEqKFo_SfA)ghtdA>i&t2oUt+`4Xjs8!+%MmFe`+_uGWE*)Sc3Zys*LM872&S3j`a z4G6|CmxRy*zt5TFWxt)1FsZ12sfSGTr^PgUu^I)@mRS3Rb1?22fa!m*Q~VXjWzfX@ z5gYV54l&DzIk03F;3pxs(+QxyAYT{j<#irqSi58gbxfu>xy)eKM!M#2SBR~gZk663 zv$60&|L@mf(6fI&CUnmdFP57KAv~7iLYQxlv|i-IX5gAj3kfdI?Q6DXYLVllkdoO4 z?U^HV=?MlhpBiCshvq^9y=!=cAgUsAD6-9a7D%JBC;+C)SVF!D%NE25FsIosk3v%vOeu zT7BSR-m)H|QF%?Yd`v8_YZ$r45Q>`}o#aU;P+;ak?KO*YsL;PD3c0d=P%>QVxxI}c zUe?q&0rIAeY748CPy0w?hhHmtFjlE80_UjPC;>L#8b|5UP~f16OzpHWDLdg79rMqF zmy;i5B0}3hdRNyWt1rqDBJ|Xq1{_Pn*IX4}7ElraH^0rY*Sa{nLb3Sg3p9YGf?6S! zLR(l>20UH(OFGVP%zxDy0fg6Zz{!t$Lv|k9&`76S+_$wZ`MK`&fNv!pjS4%B6$M~@ zu5Fhd&jq3ywHkhTa6swi1US@lG^O~&e~B#e)GM|r_Cy#zTCUoCqo^PoOY244E+v_=QzU>+y z|WqQBJR-91{`1AJV88H$VSA+W=Djg;gTJU@7FJ| zE=zCY&|W#cL8&fOqubkp(p?{Sz@$IG-B%&h6k5p)E6b6`@Bado#jba}!DM-%TyGN* zX^C#;%b#`r3cXMNXWzzPIHhpEKe7~Cr zmIB^$iVi7KlC7d$MkZfJ>^ZZ|uk!UL_WS`d-Huz*`*f}{vjrcT#wdW74;n?1wvss# zIoz7wK!Rk2^^6YV`Fl8VyR!l|Y0dj$Ac8_aaI`Nj)ttK?gFvff(=%Mr6!GAa3zy&d$|4tRWLi2!wC7yD)6ekN!j*3=N5hbwme^ zXNv(&7)Lq?(SFhj>2&Jp&nV2j;Lj_l;d!-8hUv<#E`UIpaYPA?nMK_Z`OyUEYswmR z#Vi0YTh?DcgkpEV%YQB4hz>hzJ0lS85+`Ny`S#=u_rOYr0Y~}lJG<_6)Tc4$iIQil z=Ad{g<;txfL0u864czpKADc``j*_*R%FuNwHMK^1O@ zj+yX3*eWg8oo!PkLd4B1&`yJ&Gm$|p!tvWi(mNp z_zm}Q+v09!-&--w@n%+t$1?#^n&f6Zn?U9sEbXdg2_oE+(I+jBN<34#6Mh!c`S(ya z)GHyM-wE|9CN76K29VEL`V0{p^RL{P<}%lRFP7wGk2wjv_}SNNTU|8OE_n#;H(f_p z%f;!lm@zh?SmhqVpnsA0EW3>&^f~wv`Bb($yl-~bywy+{=5~)`Vh`lFPU=0j*Z58Z zjFEtStEdonp{+-p|UphG(@PgE=fpXNI_GqoA|^?S$Kb8$;vmdQJPtK*IJ`RG=Dnp19j z1?)^#-3pO+C|4;Ga{p8Lo5)uJ=b-5`;~27CopJzzcX@Y>G|V8$ zAYgwHE|NZ=Ef-AF>L9@9CD}4m)#B4s?$G&Mwt?tmhwGE1EfGjTI-ds4^NHG0s*u0U z5P$jlt=9P+7(re))78ZIQ&p{pgD+9znrV!!kK`(v7@5$JZaynTJUA840 zzETg_)X(o_LT*A_b_Uy@_fcV#!biqTe&!q6IQ*cWdXla;;-$v&q-|B{bPrfRNI_$( zq|ouKoU-4D5pHackM~_6cRr24g6T*@*~Goz@a4Z(PcwuwqJRU_iS+GZaQ}aOH5w+& zpa&iYHC#Yxcbj4MIQE`~^fqCL)Tq3wNW>Dy;=P()26*mw|J`T_p@K?sN+cec5K$X0?*!m=GX?FC0cLq3-fgRemS1~&wrHh4bI%SFx*;XciNY< z<%rg5_Sc%gDpI{$81&PZQzz4{YUm4B|(l3Z*93~wrZ zsr`beed@(BhRgL`&{^Wc8a-`ffE@35$@s7Xnyvm5_-lOR^u*KLwVBm66^fSf;vr}u zJ{I6t?+RHekwiX*I`_oO!}fxZ3AuAtFyH66QD2lg;!^jC_NJ6Tni73&4m`MQ zWC#nggo~%zi`lC*5(mCaNswLqD7j+TQ;P1wxos<`+5TWuuTzNlKAzt2ZeVS!p#Mhj z?O)E|NqzGs$_eg(1bwV=jAJ!Reiot{!Lpj2@6Ax(`8?I$@`~_oW|gJew}QV=j1jg) z>y}_(ogfM@l7e0Qbb;X`6zi>+aVJ{qx78abOv607gEEGX{~7<29;-NbJWa|`k&(vH zii*rgwEsEC;hGb5FH@&`!?KfGZKn-fZ~7QyyKbl{^6E~J9XnF5_yeSCk(*KWA2V~` ztu}aBe2My4-~dBlwQ{>GC-3Ve36cbPo8hWen1SgV2r3jkL}hzJVkxOj0G6RIW^rp05>v6%4lC**t{vYGKQT--sSo1ducVWY%y6P;jP~+% zJ;%G4q^bAAo>*nRa4gfIfU#)%#tm>6IZKku4IfP;OM5BoH=>ryctiJ83>7KuN*EYYqZ^XZ@^s-tota@ueKbW}5 zHMU=&{dk;UXGf+OmW$4hrrTN$C9bB%H~Jb)RayS^2?ss}kB9{LRhhxew=g{12*e9B zN0St@Zg(vDx;-Z|r)G!2`(^cmE@E4v+8yk~xSQl1_B30G_wno%RZV5cMhd$DL_LTr zN%4oFJ!KK3*XeckTw#{;A4A~RQp)>J11C(Qx0GhTf*e`KzW8F|;s_ndxE`EY`_4LitQ3`!a27ID=L%*FdYmDdB*=;w*6f?k`l zS``lZh>M2Ze#NIL%*p3;NQeiF1VisrUAN z|IE5ip5?{hvi=2pKi7rNPK=MEWhpys9We;V)@v;Yc1G7R=h4@(t4y1e#7V53h@MMt zNp@dVzWNLi-ECdnwHa&;Qu`&VUbg;{j@Ctmdqi&P?Xl0;B~^!ih3i&Rxbm0scfy5P zIB=TN>`$6+M~SDgj>Cj zhK*1rb3>zW^tS@T&3~BB!cJjW&KaDuW_eZ55UUK5dADw(mv!Hr2Ys9`%sX#?X&oqt z2 zbneB{|DfKBI(qi6CaU?!zn|gY!NVm0;S=7vh2t)gtD4dq^CK6K0Q8wUbak_9K87{- z=6#O4-~&Ia_UeC}7;?c(Y|ZlIq3dRQqd>{FW)frj)i?3k3tj5ymy$jO3Y#JgX+*T~ z|5nXMF*8bKe-EXAOQ1t#=fE~g+=J8MNJ$)(DNI_`>Fpu< zF!!r8cX7OeS97SKp+mm&E<7V2K7Y9F>o;L}Yq#ZFF$_5*q#&kO3(>=cveWHB&P|Uq zSdu)w2$BdFmyEyhsEZ<*@(v2g-g~Z5hU3QH63PivycML7U;AWOcL*4X-3QN?y`)<8 z+ze>tvD2i_TtBa(u6!Pqz`G;8#YvA>EgtG3bB-ejg~%2@;2c4{LYd~yY6SFcwc%KV zeR)JtW@Xu>8;r!;MNL~A?j@ec^;*mP?9bQ5lvq=0>?83ILL7-K)9^KKt@`yVaX7^6 z4O@vXKShIXEP@dKh=1ClI?P@cpG^j6MGy;U;osAS*`$4TWeKGJY8$xSZ_-cwN+Fy# zVu^AyogIOd}VDN`bSu?>EZ(|7C-EyjM z0xD`)CFwB$*;XohiU^dd;la+5g?}sb?^)(;@gVwlwPX@W09TB3NG8U*LG!VP9{Fqz zU!3ldA&HwRr<)GaLlw2C`8DX_GP&t@wLI5#T_=y8ki!X2)y8= z);Qb0xIM#jLruFzjK0k|+&4>l1jp)Moc*-1j^~34EXVM z%y8-J7mj~JbT{_ijFSouwR)B@=xVEv`dO!*J=e}P%{kLPew{d-jC-A?3rOUSQhw_h z%vK&Bj)N#Hl!*f%Yxl|O&J(kmK&5XoqF94D)0#!3V}X;l z?|&O8ZPwv}5+?cI%BF9=715g(2vDT!q1>|dxcTQ&T~e--iWs_Vmk4N{As&5~;@mQP zNA%}ljN-3q$@irq#pRz#;+GxTWn-bB*zUhXrXVNX?We!~{&758?PrbLLAA%lcYiq$ zOCxD_6*2ccYhn%|X-9bxoB;mk-j)Q3E3p9&@IbCJKFM9@Qi`cKC-aJ!j_~Sd+zw2y z;d;D>ir?0WYI&@8-<24jt$*KzHkwepjHdI7rIe^nXUMM0U^S1E{ zl2%WXy82oSbVG>xJuY3t9l4<#Lfh*SUXT^$-d}-x!P(Skbbdqw-{`@8ePzB|+55q= zvXt-G?S{^YAjA<=4jc$vgXH}cq%d&b3b1<(<4~*(WmPc2U!^`QeyoV_dzMXZD$1-4 z{KJt*q^3r8>F;va7gqQ-=eGIjk1uYO&+*AhwvD?jk>A03;;rI}B%iFD%6iJYG>a@17cAH4+U zbE$K2;fQF3n>F7Y?ZWmCSK{+)HuXI4B~1IisvFbhQT7%7{I9tmC_4r&5PL(}t>(6 zn`rYX|$3KW?_P;2ITJbu4?+vXlOW`q;lv8iv1#wB5+h88r%QzA6p>+mI7{*RFxuk4M#>O(eto%Q1^Eyj-BYBGvjI z1IBD+dX+5}X=u5VPM9s`UpjA;i@l4p@u`^Ysnh;ZCh48QH|&&YekIXcI>0kHF`n|N z=eqK!UWGb+GfUWur`|*YESFTe)0H(ZX(e@S1!%>U;C2-6s&VwP^%<3p<2$8Mi~0Bw&7*UzMv{N)5?I8EH72uS3Uxi{k& z#iiHLc74XFn39F*j&94zi-*L(9XsAWOYHJmsSx@?GpO^??L$(o|2dZhh5s48jr{C? z;vhVf4juS4xHz6KUXZqty09hF7O*_~hg#Ju^{d&4IrCFjuJpg^|Mx8s!3%PF^~R&c zpl0dhi!h(CRg+v860}T;fm+@Jk%(F+TLBWqBVg}Xm#o*0hx!Rv~!zTe!FW-4g@vFO?qiPY?dwrOH zKNNj}7k9yLv6-=LGp4;rHDwdOr&ZBPqrt{&y$ILo40Z5W;4y=2|HMV<41>vGt; zJXt%l>j<+tfhF$z%6W8cq}&zr`Kk#5lW;eZw-C`{ghiUww@k?$Av)(XO)o96=;%+J z9H<+JqZmtF-c1~9%~9}a{dqP2(jTy^oRulZ|DwQ^R1WQ=a><40+6_Kc5XhA>KP3cT z?7u&~@?DQCY5*mQ5Gm62xeB7vum8!wpC1))sL{S64%SoAX?&DCDR|!Xh^S&0U^=Y= zEV^RBFMghT8JE{`Bh!+{8$$7dXpS}m=@6gjUSg>uaQs^3y`|=7-a{^6aAq8DaV zHS*>mSF)vSnKyik|DviVFA~kx_4=(hY7Y|N6P@)y9xZa&X9Uzj){hZr?i(UI@C=;liGw zuBjQbjhiBa(5&;NRrh7L)xlpd(30!akc&PbcDWNPJ9}P?szdp1GW_?{wFCJ84P=yk z?i#a(B z`(iJlWtG{)8scE{u3JsjLyEtNs8536#cgAbJ^8Gx5Ynn)N{M0@lCCffm2Tq~X-a%s zUumcc^P2$u#;e*i?>q=E_g!%Pe;S77EDkqmIP$L%MhOb*{dDoDt23vKgiXg!!naJmlrSUK?gt83}rP!)L@KZ!3_O+i+LNTDO#w%Z|#X zZ`d-Ew6%1EecXE~CE+#N@wKJ;hriQUK_RrQw3g0?sa7V)dSTZ8psDk81+r{rmI>u8 zHLI(q=4#toQA9Su)Svp5XEf+(Jx6}WLPL-4z6G8g*Lk`~+mW-(gM&fOdDpx)d+6K5 z3|+Cg5)RTsBLT*>#g6?L_3C9wjqWVqK?qM!&)vfQ$+_eGkpW|#Q6tp#+8)b;-{BN| zg2+8vTXw3)m%DiGVAex*y@llwDAST$NTO~tc>?lW$qL8JNd%SWLr`!Sd?8*l;@lj#!#~5J+wwa&f zqP8*baw53;vv#C+{22cIOLjhG*_3~G9+_-rNB1-t<-W4@@uaS03`Pcov*H~7>;_`q zXut<-!Z0MC-%)r_?F0zvRPQ{{^gxHNk<`>9<-Et-+@hv&jH`Clj1I%!O|szsJmc7d z`*mAd`qX|IQ(lSVwnc z@Q$ZyEv}`QMD1_MN@K1kxuCs6#B@7&_#(%u{ZZ-zIp}}ZVlibi-%6aN)9#Y<#Xic~ zWJ9^J$*B1zJ8%QtAnGg+-nyxaGnI9={W`oa88CM}TRlI-;pyde;l(?a(-p3SgGf3|C?B$u;&RoRc;J|~sFKb`V&2M?MxpSmK0 zr}y_v>vT#rkt!H5|CMoBsO05GfAU(Ov#R}yV6_`IOz;ncx*wb%u(CP@lbH>U<7~``>ERhEdgPq1l+i%L^+My+M!Q%Aw zUqkTGmiP;7-uDk@G#@gAqrW0>)mU&D5XdU&Agx=VN9Uoh5*9jU?WMi%%0!)%?BVA& zjJ_MqIURD=<+7>{cMUlTXqEt{Honjt`Dm(L6YM!swo=5)x1bw(@xy8T(gSc%L*3pz zd|3%NU6k1^OMs1VL5DLxldod_usYiru#GU zg|pzp&bfoQM&v$uV3w@dNd;`~G^%Jb_@*rly?TG=Ux~fCH@{ztC-_TqSqi`%gjCRw0i(qktQk&Jaq5jd~*WqlN1u`+;4}^(Q za+ZX`LK%Mp%ONceFr0^r&hG$Yhkdj*5XGnP`BS<{uel@1?_7g0OeO4_67s5pn(-hH z?K?88jDCb(Zak=}p(X#cwHQ0Vju*iR? z>F=~JZ%59w_$i0a(d#aQ$NAT7dZ3loU{!9=gl0mry{r{>VGFZh(dLYCX=D*aHqe!DsLR?dsIkb3-11UZ{OJI-E=mV>y>C?p-Hr zh~;eKXVtyEi$`Q|kduyYyX_=o;!vHRs0F1oTH=K?_~xOmlbZ3NOCQFJAFrGKk;dn*t6rWe2BS zG?5v!rj1>{d;hswF=rooFW(Cxmn2-aG&}4NCC`E#3H~x7y%%Z=?OsI}d5NT0R^zvq zW?n2r?jxP8zr140PkWG>)Q`r_TVNIUOkftJS~(5#v$tOIN#u+wa*GN-{|!L783R_e z&_9G4DsW-~or24knq{npDvg}Y4l;A(g8o)%@z2>z`)K6`_i5so2ick78=p)lvd5yt zw!WhOkVvuTo7j*i@x~xb8>&sxYq+LQN^L`${AXbFhx^z=^7#bTW{1x6ds$~o58m0c z%3$Q(UDX&;>$VTku$P&dbKXl#Z(6?-ueBhL-9kBU6u3{(XR$VJ z$zLc*Pq@v6T;ypkG~I1qAUR~Yj9!+%WEr|4z8}3yNXBA1Z{t0&OJeneI1K5IjXid$gDbicec}dZ91O7zqh7V;!oLX7EbB!+SM8THv+an; zh>`b=*7jT(J!**q$QwBQn|Ma@&|L%@1de`^Ljz<(96H|r9lhmr8t|=?mncT-r+xPC zDCyK?62BRx3fn*1n~R4d_iAyLhzF8j=eIGH4+GDP6~JorztSB8TmSIF;W^&RP-omrkYBa{pgP3A^f@l4O51Dz^c;Ecf^C;i%u;KIK-_4OP|Mf!coD=R4F|F^@-ca#CUUr&xgIqK+*Ex2Ju z5qQg5d99xuG5(lZ9HYv`3A-VY!o<(6wfk{evQRBGn7mb#3PoiI9yIb~b(Zg4tvWQ)&XSJGK+Ys>>m-K8_ZQbHAU z+l8#t8)%yIK2y=^9zKSVECsK9Y#6%yVNI5t8(ZM-ZLo%>_rLCS-2L({W)zoi#Lm_G zQfTkZ&z0dF5itaGEPfwl?}*5)=Pl;&Lg#w59ZhbbH$I^q5tI)+;?XLTR+l|y>1BYA zyd$jx**uQ41LptG_0>UfH%+$-EEa+VcZU!hf@?^EySqzpUmO+*1b6p9AOv@Jmj#0B z;_kXQm*;!xy;bj(nyUHLR_$L?)7^7UpYHB&!U5eMyw#cKUVHQ+8IGza1Dpz$wp1X9 zU1qj9n!G)x{VU)=GVN19Bp485H%)w*nzykA4d73vot{#87a9FJ2vd+ETB|J?! zIjuH){Pl3;@-oG?WXZ7nR9@)W;d}2bVqZ4bZsLEjty({M1G$-cS!!7N<$uPNcJ6n& z484$Z28ys_e*;vOAc9ROPPsii_+C&sxSevrta-|uA}*E8Nc{809sZ%4O@s4h&Kewg zE=c?W+I`KOXUQ%CPhId4C1V+f0-I&z>+p-{sn~*td^9XKdNr=O3PXZbjwUnuAIM!W zGc)>WMG|qmtjYR))$6iY!NO2Qw>^Vd(t$FN2?octWOkbkKT&**iXU>xVYMy1BUubR zt&#%ZL#)2zj9-=XEP5p)r3}__7s#r~pS4`4lNUNw3*XsKp#tZa)oAv+kX8N9FIL<2 zpt$5Mp=ttD071VkX^Pu?SXxYvQXu$xk1BueTBY(tPQW9Az3oNGzJusj8rik;_%#A@u&Qk;R?a9n>=7ciz1l!+VPAEi_!I@pv21Nv zJXmvU;b{J5*K$%-zR1|(xS`(icW1}Chrpl~jp+&Gk!veE)x)DcWw+FlVS6#m1TwDv zd&2M93F>Nldfca~tI*Zct4d~Zlr1W`YoeOgg)Ip$k=Q+sY76?C%oMU_SB1^CfhrpmIv-~K3h?#4TKFQq?d>pKi-5l6 zQ_Iafl#GtVZ#!OoL%OiOZswrBd_m{bcnJ;lc6#tfS?!HDM)bU%4^miQHJL!;xIl6R z{BL`$x#XIW@RBaf{tzw<6WV%UOF3?NIf+>eaxtubd7N>Y?jB#H zJUGyed7^u`dC*uhcZA{#k~f?_GPN8tiNYE<&&FUg|6INbZy-vmRe3!-Z_E~-P3uCa z;90DFmO|?R`3J{CBh5~3IKwBr&D}673~>3qZMU#MSOW94-y$kyi7h|a8~*Y>B9(TV z_@h@~sM?CQ4d(#|1IJ7f{wy(9JYst^ugP@>JkxCxwoR$P55;+{0*6Fpf`QR%8phc8 zp5Dvt8+=8D_pGd=_zz|0-5$&Z%g{xpELG$x6-8v(GWkiu;0gF0V4etl04LF_P>_T1z6c3OXrTYThAVcxSox1e_ep>TFb5Bi{!`?RL2-9fJ+Uvbi_o zp3Zda$SDIcQv_#9n3S=~h6uA`sd_c=W<}_5O?%I?S?ZovKSP zbOFBlt3B*SvNiqHNh{s@D;-^$sV+SYyT^;KB)S2f+tH>sy#b(%G}5Xe&qoM69}zJ* zB2IV*YngAoL$2yIBx7_iM!&8rP2T2o!5U#3odhv9v&^ai4lvaGorFibrSE>}7MXD4 zV`Xu^=3fh&8ls~^{6iau3*qs%OEYm+x@CveujEdtz0)YGA<;nOLFupjx%&ptust2i zWqt}}9g^-+JvyMVZ%3kH{(6DCKYbwPKP614|dENZh)wdol6?F&$M=c_t`Ncfu#xu(fJAcqn4r$|bZ9X&HQ&Y_G zPey2C+u18)q&Z-;F?XH&w0-IWa0yagxro#k3g{iRZa6+jui_erJNvzAx_ZlkxiqHm zI-64Nv^(L(q1^{PEc}(RR$O^)#AAOj8F4d;R-pyScBqXZUob8+HLUT!yGu~A7Bb1X ztM@J&<*H`4U@-6*Gf4f`5F-K_y`jnD^u}mAa)-@tQ9K#PQT}dzyomWX7kc^)D1+*e z-|vmc=|XKR)4W0&1s2c=Mitw1UtVoP%B*&JF{RVcxv+iSjtkN5U>MY{J$$EenQnzV z(e-UA=55YQRUHAc99a0tigHLMT^ncZMU|71KaruxMWKI}8Fu}fXpWTM7XB{XL5B4< z)dXVBygLNPdEsosMtdk?FJGK*oEUFvN-2vG4YPb?j4bovtxEp2IY9IIJ91+GPzfx!U2eK@x`^EBgBB)8 zL_sG$lm9l#hNV7bE8tA)9ov(ZXd0GLzMI+NZ$Q``78L{N<6-1+ zyOMG+%HX~_x9_8PC51Q5w*C_#S^6K)H|aDl{}7*&oVqHOV&11QX`g0)26<>Mgcu6j z?+#Fgc5shAWTPyK|hmR4xp8 zFt0NV_c4-al5wNYpp5B>vx-Gjy@{(KbYb|Sf0Sh1o$uG2zR#L^27G2Jv@~EE12D|4 z3~4$@C&!nerqF}sJ)3G)!-myaxMh9`Ep%prWrrh(-OGsyT@&iYf!Ff!>1YZ9Oe{Lt zO#RUXQHmQj?ueKbA1#0Pktd+vbj`7UX}dY0w=s)MP%yA-{qrm}l`DU}#iulD<^sE? zDfex5X~Liy`g@+?T@kt_IJDptc%^_{Dg}pigd>4-X!^P8)`5v))xnv}0}7?h*ylcP1E``lr~{ zW8jrnj)ajY&?B6>KMGatl_DNp)$0qhqkq@_rdtMiiy62bI;xLR?>-(M09$b>zmWUK zJDxcg9&rCUD}VIGvE*y&RGL%XXlF`b0Nn2|Oq)N4 z`B~d;3AJYwOqqSA8P*`Z2Swp_#7L$>s}ry6oAG8l2AwedtY07iD^m9GL1zo%5VH^A z?)ysTPn!odzYj6Gb!?nPinFxh4H<|$;#D>0?5B=w5z2o9N59m>XCoW3I7SBLF3bzi zuhp%tYn6X+?&E&D$Or$a!IA~IhaAo`JzZw z!XwHRBXZzQu(vbKb=ICR_m!OKfAU=54`#?v*$A}v4{%7qsDDNWfYtdYjAyAqW)2L; z&S&f&nBLpD3(pPgi=xsT=nt3`({al~fZcU$_PETR0F$(e;;2+9E5ks&orl0EHH%Q6 zl{EK_&REHw`Ic|8^qN&^@{A2!5D^A= znYy>Cl%%%!YZ||y0d<5>qtH4LWCd+_yHjS@3uoCi0XPlI2%-Wa?UBcKPF6qtyKIGk1I&RoGHF>y^ z7aO2a@&oE<-1a9EK)Nr*h^Zzr1JsKHO5`!Hoo)E9<>CeiBDA`&y8!Kl;fXv}y-F|A z|Miy*?*foK-Sc8#%hdDswQ|5*+B47sh&WFy@L6I_{?u{%EiVDDd_F@&#ikPT^;R_b zN_SLZ(IwY#>%w_JHK@A__&Up!g3FE~wf=X@jjsUF;e7cwCXKHr?;;&0)a1GM^kQC$ zYTMwu5d!fadai`pmR2N2o^D439MhI^SW@Za-3Sn}4*1|X z&RJ9s%l?)R-FE~310Y_dHJ99H*D3INguB1@6{_t5wmQ3%xw6HYZ{+ockH52^ zPL`xOBJU!4D=-hZSIWmRpqOd1ul0`EMzEv_B~7{7J9I7c|CJ)_J^zL!y%?0O&aCp{ zJo-Jdp=M;cyUT{EY&Oot{9Xcr{$R8 zYj{9!I>9B%@7JteoW>dX7RIcNY+^bWf@*}w@89Pdf>j$IeEj{I-OXOcnwKyK!aUK|NHsEY`LGjwV)Z ze?7iFCr*q!l(pU4+~j!YuXWvj4tYn1rjTzLhBLy!UN)}@5d02Hm%6#8cbB^VSRch8 zN}{pA!b;SvE_$Qp4xQv0S#+n+e5!G6TEs!OyN844?Y~zNQvxVsi}#(!1nu%t=~0{; zodV0@8jq3(P`svvmw)`_eVY7$l`}U%*Ki*k>rx2aq&lZ-SLe4myv?HHEGqXfL4uSr z&HKQ^r@$G7&3ggq2R*ydowou+p3e+oHP)TJekb-PzReNsYjKoks0HMkB1jAFUD6fj zAft>Q?w=N8eF;*cMtgsj3w%5&ZN?udA?r;qO^cScZXLA#;X<#(&=XlTogrwpyHVLE zRHS2PziXr^VGZZ}bTr{pcC&+TWR`8!D$#_%g~{vxj_YMxu;Ry3o5Ct=c zC(z$QQQX9^Smwvxnz&L_^ZcWuJzMI1Mt}!GCrDp-F>IUobc1tP^xxpX4u8#_dvtQ} zqnDOzBkgWXvp*{aaEQ+6OG=Vc>&ebpG4N&iu5AbVpV0aWJqTZ^lCyGc!+OuFa|25z z4yX&N7$Q0jRqo+Q^y^Ejxu1%%UkCo+7Mvr!Tm}^TgN&J+xh85o%v22<_B5Ao0{Bw#4y3+^ zB)|5~-zhOW;VzZejB+2A_`wL;GTeXVkxyB3GiA**ifMaq4I`7+UpxpkSIX@5u&fH|J8rttFE3wf6l|(mQypI zORaxH21cucnu@jSr0^(cFr7U|5Xf~K-Cr>R6X z5w5RL>kB_}TZ(~yP{JuCd%c9$dD3sQ&N#;P6^n#&m5QzFqiz~vBN`8r=rAT%beX(R@P=vE>dUbp>W~8KPf>)x4*_Pch>0 z`DEgcjjA2S0tEV9=mo{x!N$_9R%S@J^gG&x=Da~GTahQG0_3W~9_(Z3QfqU-F*;1P z`v?Xl3VPe_@a|1z&9UP<2}CA=py<0|9la zRbUdFK-QBRxn|ER?R_~Lz)!fnYjc#(@_48n5gtc8XAVWsxDL#SBO$05K)c5%m-_Vy2gC-T|Q zx}F@*D)M0Rh-Y}Y*%_l%=be|oOZBl^Bo!g)@LyfH)Jr`Y8|276_7r7qf#9w#E)$o+VL)Q4XiF zY`qP9=o)NcBuR6QWCZ0ruX8piZ_}Mzqp{keAFZi6#&c zll3za#6+uF&Cp8Ve}l;bvx6k&>S;gY5MmrR1^EOR`LlEiF1Xfyn)0g!8qL0m-hBhR zpv7UB*!lB^43kKxfr;=Gu=YU`V`6-!Nu-M(vMOVqTH+M@yFtO0$6e|(C;1mna@j&F z#t15K@z4Zm*@hW8k2(BIX(!YuoGR6rv#TVWwPBr@yq1>xRX-87=^B!0UKEhdfTXuL z_5_FP-P|*v+rt(sG^m})%sU6W%zp{z#;h!dp%(U~Zu(;M0_6d&$6rm2DB!P9mxJ6a z^_%12oZiB3J1r)%8|e|NZR%@kh7$K{5TcrEUN%-={wo6fw+q>S_D+5B0578~oyIh_ zz;gp#MELw^y_1bGd$exE=MST^@bhnW`9<6uN8LUn9@{mmAeV&mX8;-juC`Kv4KgQL z;AW}WVCk3En*fcyyV7dHQzI{Bp6?q_r2HCBDCPQ1dLxpDi6c zYIbXtoSMUyqEni!4?|R-wq;9HG;oc#N6yduQ-S7KHr^UN)u*gkx3?q3J12af2BzcD)c!1QnTSHRkq3WZ zO-f~242t7cP*}I}Z6}D{MfDUEB!BB-Bwj~}vsVVcCk}b+s5u*x6YOUKa1Im+dN&qo z7VJ3Ln+QU<)=kJv&0lo-FzNXY!%;JLu`;{Mt@hvdWC^Dl?gsa%l++WKo)JH|hgKS7 z7%8Ea4dI*anhaGna1Xu?>vdyMK_ua3SC$=hVIPLCUv|G@(L`_j{0;fqEQ|3Ne-KHV zElhw$R&4YM`Zm7J-5t?(>PK1c<+zv4a0kEQk=(O&W`r3cUTpatkS1FNUdE=^tGXnH zp8%Yd+pIO9sjd=uxfX|#IH!Y}e(!Z~=R~cWu6rh4+%!A(|2ZsuvVfoc-cHhl_ULPZ z9G&p#z@I9(f^S^&xduR1(nnQ*Dk!oI=~Dc%+}IlM47wQ6IkxaE#a$CU4P2jUuPKCs zVvVuPBCTw~J@$PG(P}h@4kxB*5{q>Rs_l{;%~*AkG`dQi{Q=huu{Ns{SY$U zS~|8AH6QTUk3&;>rj!nWBkRJMzrboetw(0{Fea1xGo=t9mpiTBofW3Qy<+vG=2LFh zo1Tz`K~2&z)f>5)_z}tf4Jb2L7$fqOKa}-#xRts`j7{q>vw3U?0ACzLht-YRHeAcX zty1xemJCI2;2rl$Sd`{*OFzSbMVsfZu`IC`jNBHCNOv1qG!3}3u@me4$-#>MHn4wx zxjX%1W~FRP@S`&*CUft33AXj!l;C@yARV-o5ym!*%>9)TviBo;@_(#M#sQVxo4_Tw z+H3xorl0&#jK3N4c}{W;879V_1e4{_24sH?F0utQ!lt613eTIqnm><0y?q-HV4X#% zY&d2v*HS37kB6I^^XW>PS+rZlNg92<%!QgsX;_E)h>^juV8!# zO`+~~YTa7l93BWu_mIhc|0yWuZN2+7_i#yI9(}=eVp*-8L^saqhjo4WgNHn=_G%ld z?Os-G<`XLzWU}@-Fs*i+$@fjv_cE*fEFiH~1{SHp0=1TcgQ~iG9es zMmUS}@H*`nb$MZc9owXL7i9mJlw|F1W} zYcrklNC464VicWjDrRxhblbBcpBCjub{#6N3if`J-#z-vHdSFwnOQeH`o?C390*$> z%?o+iL3+IWE+%RZNz!)z-e{vZL16;lZZ`KVfXm% z1c-(+*x75g1ZQnCso%LTDz(n@_!DNaLh@ymxF< zs9`K5;luL?dMMImWC!UUr-8IcqfcQ#`f-)EVtG! zu)9y{fm?1llkirm>DF&TQ_s=xowFNj%=OCtG7dVS<^ry$6BHhDxPV7RW?1$ z%=6V^IcQy(5t{Q@O>$2V+W!|Y|Mxx@1x7fg>1|D^U4|;(iQ1?OXtk=Y-+_aSv=GA4 zf6?+DXM;W<3SzrDoKcKWZy=p}QPJ;-v{qZ^kY?9><}oF^2kmZa&{Rg^g*t8eHP=9% zbIWFup=<;bWk{42DgWgPmGA<9t$iL9;s)qm?qpjE&gZj#IwiY&-&CkCMtpY_2>7V*>HtPHQpLA-dqBKG06ES20W8)t`>Xhku{nyu0lc^ZtnHH}`X)Va^&yNd*c~ zM2JQDdem~!zjolpf^~pQeaEM%wC-KTvi{_Jg)?QjZk=*(A()^bb|{uD4dAtrt#)sP z$4X#?oqv8u8LM!U+0m0I?>6_yPcKbL;X)uvv2-p>hsnP4uHUx%cbG4Mph2V|y2@bS z+|rv6X$!lJW6z_+-=?Gj=@IJRr!$Xx4{TmDEG@o8KkEY2P)=1lX;smtzqVpuwvq96 zQ#6X0#=yB+c0SEk^sC$69}4Rpp_L_yZ~r%nS_>kAJKbzElXdxh&Lag`P+;ayMON13 z^TA1nb8kY`S)&hO5i2vbkWBhM!PXditjm(N|m9L?$ts*5g#I~<%DZIOYp7B|ozm9`+5 z2HL->3aDFxTd5CrywfAz`>uv^Ey=Qkh9wsLjgL7Un_@Yh4R>kFM{L5x*tD;lG)=mjv z&H>m;@j0e1hp^2!%W$``gTmc?c=!eex^AbyWT8;~pE9fejjdR|=6?C!V?%r1PYfWBend|6aLsG-A$+ zw}Hp9{~@`({q#ttm9_YbhbUV~iQklW+jhn-!I48`j9L8yh901XaB~23+>SuAP4ypc z=-=}&(?VA-@Xdc@7r(CGKU7k}98F=;W9 zF27EE2jUpF_BKS6P?C$^xH}o+HtiI@B>0Ku?*s`xU_s(qsSaRZjQpy3x z7&VF#v3~;L(fhLN%(+YXw*%r%#66)G6B=NK@?bXdMgIElm^E554k-gTX7N(T44X#_ zlia8|c0e*0ILL2(Fx1~v#X@K^K(nb5tZ+#O#$YGEJm-JMt@>xpZX}iO>^KeBS+w^x z`QR^i2%!1$N{9Dg){`0CY<%4wx*Q2I@qlnc{q);(N07-p{HejP7Q7eOl%J>KV;l_S ztUNS4zpV`-ASmEkQ5@=oG@>^tPB%V094M~z$P2edmtH|+*V){};R&%Zw@ND~c>SkDE*yQnu<*+4(i9EC`a8dh=aw3zYqFQw z$jxj{9-cxQ2Da1jSNe|xGPARb*gSX6rM>nA5AChs;XWS=fN4k`?m~&Bs0iP3fT*Nb zrU#S(=CCeCt6$#VkWoVY-4}9c=b%hqIpU^bs+5PC0pGc$_%%~z;5^%ziPEjNV@am_$MD?hS{lmj9Tu7 zKVJ5BG(^o5p(=z!SPG$r>p&bw)@2w0zFs0Fv9&day0d-^2#r8Pi`S{3Ug$uzbaBe; z{+wte*p7olw?;3ubNa|F6WJ%e$@QG1a_Ug^w|JYti9BCIPtu|#+;@i%E-_0JvA>7( zR*p7VPw+h1&?J|?3|PPUrE${(Y`di)QyDjuvXX|SdM8N$IJ z7Cm#3m(@j8H0xqT=3<_6ESI|>?o46^bsE(Dl>xiL1^pz_2D_vu=G`UFx}i2YV|SsT z#S<)m0rQN9N@kyZ%vL+Z87?`i$B9+n`ozZ{+N#s;eGQ?lX8vxl3MabY5~WFtky$+3 zuHqO!DqOI|k+I>Cd?rHf@N}E@k+O%ZID}80;|1NO6ZMtiQfonV;TFQ3gA1yb%U}2IXKk5`=4Riq+Tp-WySIvHe@;R;*W4?3W57K&wn%etbTO zY0lQ(_*vmQZOkQkxER4SW+(<3?g->?V{y%mgox-8#HKD5CXs;N$SP3zJVv%ukhym4 ze1F8>0x(KSfxRjK6!}m9bvQ#rP~QIj{^R=z^o*=D9I+2l6v26LwBkf7q)15hi^=T< zE2>DLAxEQWE@@AG{)Y5@e>tRGj9$o>YP=iDQ-+2Z1NPI>v{x)sTV>IbxP5L`n%yGM zZI4qr#s>FNvqW5GcRC|?wx4j|n$wr=tM5HtwHOGlf=2z+;xlpYl(pbyuJSVS_-AR~ zGu%cs(iZau@C|8}?#>Kg1ZMSp4{Ba?brQvxzScGp;Wz+}01rI4uCd(L#^VA*=zcJW z6crKfc7I1e?1ULM`AW^^hv>?AF|!6?x@M+6^7+B}DP-fwtGHCmDU>>o3IOU3ehJfI zlkoqT(E+xH^;wV-lESN)p|zGJpGwtDb)|Zyn9y|%U7?RUBd)v7Uk&k7NCZy1V&SAK$Q6wk=*LTV9asdz7O=s7c=CIztAjbd? zax_+QnGtQpQBeg*?E3Vag-hMW8{ZVa!A?PhQ$e@=wx!MtIoOjV#-ZbT8pFVXiu=6X zsOTE<^5?|-%l41J`h!Iy3(Ave?sEeoNh52~>l5uTEjli(1IoSlj-UhdgN~2m#@# zStQ%%o=8|}cl(J5PUPV&09V-YMS0~jt3k8LXTT(h!{kk3SX$ZBQ@#7CeG+S?$8~`| z@~w)#r2%vfd+&SgW0fSiMj-59#s);hd{d^!CcI)c2-|c}Ovn=U?_$+&|H*N2@%#h4 z7zSs{mYW&(DrW=%eYC@BM1>7UPRA8)n%!yp1%LYby8l02X__0u4 zF8Olt4+Ca*AYZDh`zOnmkE;xDt-KOU#^~yIR{ z>!!0YJJxQt3?ZB2BP|54dWKhRjH>2p3u^0-0BI8})-2DA2%qw_Ig2j9VfMnH)kFJY zgV(vcBg^Ts`P2`n#K-snARJ`KSq0zv!jj za>Q~0Q~3G)K~u)B+;eTk9(K3M5}n3zl&!w>=J6hHp}zJnsx=Mu^5R zA+9iL#8H~_<3~QBzjtB?5l$RWY^&jEl^Er{N#a=pnY5DqE&_^Ow~}4HhG)C+L?9ME zNP+@A>Rg2OR^I$aA5rG5lK6p9D$W$kCif?8+`^o$OxrJNBO5p_z@+sZqI6zdKnLBLoK$kD_T* zm^-|Ke|UwdqglWSvhS^QGsxm=TWjl=d-r7W#wIrJhh5#ykttQJ!^lLrW5S_6wyAU9 z`OBcJ;a{?d-6g0%&H_TM9$j_nCj~@#5V`d>^#2A)CS%SQ9FfKmnH)w*; zhnUiv@mpxnWEdCYP$chWexu-RHxL? zgmVy~P~kGu=0NXL>F7?Op!zpmf2mA<_iyh?Ik+H^Eq!Vujgdjte#t+;$}y3(D=hbv>T%)4+Y*H8fq7 z`$81P-RQ9dx_?E1t!er)Ux~!^_4rCWhuNVR6#iRmI&T8_rzWK4oNPB0NYSswje34I zwppQL1Q(6+NwaLk$Kt4`Cw~UtohkHsk}h^&GO&t}E+yBFcij74fZacAd2dMLLN)?( zxtSc`toDEYAoToWk@2lG$so>(>ah>IGtZejv?8gkSf2Kq;>f`l2w5 zjNn^NcR+1dTzb{=b9Eu>+m}=AupbC{9in04*Rgr6q9&jU@!l@cZx3rDU8|_Am%9)e zj^t6-nlB&uNd}fU&Y}yS6tjiC|Mun@Q?Y+jp|<~CWSk^UlXYFDcZDdj?a_r=(~Ce) z1Shh@ALML`IXs+21$ZtN-iw#jc2+dZN$Vnkh6Oz zho++G=`)tc_7M6h(}3gFsQQ08O2>hJ61&RC)2`U6>JH))Ypk2|cTk?%F@aeWxgw%79VQ7|zTHDG$uc__sWw>q^6 zTBnTI_Ip~dMY1v`?1m%jg@z~ z4r=2XFCWn7j&_B3-o|nPkH2F^-1o?w-q!V_=;n z2OD3ZrmSwrt&J5NBDv}+PrQxR*66JW6weBqO}#Upwu7_Av0?$MeX6Y-t44V(TOIGW z{4r`;tg#M{oF$*-NHofRsxZY-X=!@){DEUm zXH7!R{#hfenOtbQ4IRy4Yxg3IkM61fyFKgXykODwUp?Ha#-IO88_YQN{q>Jif{;Yh-pKA?V&o4 zlMLRgq_ov(AZ}57x#Ivw2QPd4G4<4YvcdrA$v>;gUVs}Y4z8YvbLxjf<$W{O>JSOm zcQS~$1u=TocJ(huYdP)Kv)HvNrS~i=^>NLK_%`*}RH-@{lGQAT!8m!UMl-xp8&$bms5? z=ff7&y*}68cZ}x$II*i-hRAtM3U(!zb+X%)Z%np&+mVXM$7}MYyu3q{eJ!lfRVVmO z&&c|)ca)>a)(vv@DFyeVV1T>Pxd}B_3?=G$TiEpTH|Q*ER79%^8Y&&_6C@M0Qb*@O zO(}`0R+5FI2|DhL?kU1H&+2{zsC2;n*$(g7Npq>p$Wr#7m6)NN+#L(;UYP8O%0&2U zko`lXjskgHa+#u&w%}9O1zjAXWtICXV=x2USb6z=T#b^>7pxWn{KFuCj6%vR_NPcg zTpt(Zi<}YyEMmV5+jPupfkd&v<-2+RCq=!b93w8)W7UxPgUj8|P9NU$EpR$nj4`Qu z1!fY=Rk}Tl8A7JlbzkR`I)sLB%sGaeaN|tgQhQ7eqxEG+KeA(97 zcRET*n)kn=)Tn3+`O~&UbC~ROYXZ&2MdXTZbl$t%Jai;`zz8X)rjz2t?C9yC_&zKe z5J+xW<(7Z|={SnMiU`@f?89|Cs1hA_@jpEyy0mA zX^!gnlel*FR;(&yeEs{oMBv3e_j0bYIrgQ*M$3xv{c;L?hO8dqmF`CXT~LFOizBYE z3*MJ7afY*=+Xb!KC)+oXM$NgFd@qmc%0-cAAQpqLP2Q6Zz;GhCXc70*;Ny2b4% zP9j#csh|+do_;|&7ob}5?;RH$qrQM6ZDn;zV*duoXgpW&_Nm^a%8^G!-A1#GBKNH} zGOoa^r2cq*D=>-M$2I;@Z2O&4V{gvX(!If$|N_h0qQz<8g76 zguslK>E_kNiewTl1$e(I$3iY>=F&NVMiXa$Psl{lor{0iFGxXj1N$J-6I$gjvaNM} z5mT-`Sk={RP-?8!#kW*-eqprk_=r*=4$z{2h_%dEba{?cY3p`grOD5zDsH+Ka$q(A zg5$NQ;~j@Z@tp(HNv6XEJ_^rT&h9#J8|h08`W99t0yxd;!zCS(X;>q^xTz=@;Oip( z{?Nfw`HFI6Jz?C_ho;Fg6flq~IF~=M5~RhCv~ohr0m}`3$B5WUW_6Kk&@%Qr6rE7y z!ZK4a3&C^BP;&21<@VcD4q9sm^pcwAqc8Sqj!aW1(;?|yn`X-V;_bbM1F3Jhhyt)f97{55GKUJ9C1M9YR$5u=8Buc%O@JKX6wJr%TpdD-Du@^<5CdVpeCc}hcU z*2y%sjxQh#;~1;{?wuY}!>0hJoF2Q?U6ca>LSBD_mKTx$_k~Hib!nCJt!lN|u8X{a z7(I({BFG_({_ndr{kMv+yY9 zSa^|H4`XYEmO2HO;oa9H?vAU2S*vhRa`Nv=m)~3YYW4_7qoppCzA{TMAepau+A`H6 zI*}dvvz}Rm@#j!vzGvdQz4|;dngz3M_M4$K>X%-aby$2XS#9t>uTQ;j!uEN&Fk(iH z0B884Zow=hc<<(R9}K?yfE&^NO$Q~;q=;zgh%jWG*p%_%a3!8Ou0n!J&u#p`?6tum z7hTgoE!O!#9b)|utv@89I3J)HGS=|1p!RjT4Wt6xAiLwdH~oZIu*5;IxntkM-SPN7 z{+W~!Z?G%rXJ-q;hNw5$=UM&02ubYLi5K~gSNaj{4sv}9xN63a>rv4;Qeg$RUcACg zZD(_$Ou~bY@k@mUSvtF=+3)KNlFY^LZq-V|KbV(DwVwI5$j1Q-!oeSKd-jYa4B{>)~v zGa-_t4hcgsYjWTnJ}~r0@)jEqqR~5+^17R#XfkM-^U>Yg(CHv1aw_rA*8d16I!rUN zTQ~nj@!W01c@OTYVc)=ScA4GZVcts*$Q;r)|CMmW(3v(+xcUBJP&LZT)G~11Q+oq; z1dw`5%uAWcVD_#S)x{pgeP8m_pOcqpt{0>`+SL1N>d{BenHyqY-wJ@2kuP+SxH*W9 z?J58@RJOYY7#C`bm7fC%!DV_alUML7#qvVtr7r96dlqqFat#Ve57nJjcrGlXHQQK} zmf#F&1WPjZn^bESyBeeY&!r!be|+Nc{t^t~k)97e=DEa0g7U#JCoe5(iU|bSYO;)P zN+7dC%{mj>_qhnt6K>ffgTx;!62~V!U(chIR~8~Yxi3Z4zqB5QsGfZoK2~RM)LmJn zi0+t{n#b4CVieNY6?an;50TyRRi^qcl4%Q_Ye2kAuR^i3)5gb>sT-&{J%X}Mw0 zEk%p9XE_)z+GCorso`;#cpD9r<~Y&ju@h^KfrY(qHm(ql4ejY+aL^-E+sU6Ce{dnA zafE#AC8GWIk>b`JG9JYa=qB6_H1xD6McvD>0yUVN7Q+&C=3E^u%to<<$Kb3yT;U8&N!h4JN_~X2#C-4yT88%tNG|W>kkNQS&ixItB9)np33mL!o zduy}-hg-IUVqS%?3RwcDQnO5y8FLg|IDYDX$E`H|RLc%sJ%R)?{MOGuxGSb5%Zgt2 zK400(aXho8T^_0HiA@QQ$jYzC>`wp6bvDwzCEfJ=v0v~o;(g`4Yyp%Diz-@VP}ze; zVb&q)Y|lh$=_lEwC0}@i>Mo6dC61Ym1|mnqYTx(oRA+vkwAFKY%tP(ZXCG7%qY+FU zy^hAu-uhrI` zjyQQPYc%p&!M%h#HD2uF#bEiTuL;~!uC z86Qc{MXJfRIoZdhhO|R%-$mm2N9`+I_@zrp8YTguholFk?=1X#Wj-3A;=a3{0mltJ z((07_=FW42!PsYdjMC*$#~1kbhX0GHuZ*fISk}Y|9^4^#aCe8`?he7--Q6v?Td?5n z2Y0vNcHrQ8u;4J<_2$jozx`*g)w{Z?y8077eu3W(yCWBbQ6)S6W8EHg%oXhw*!>oo?jUN7n7!P9-nc?N_!V z@wfE4B3Z@GfXK`KhbFFp?(@a(e&$RTwP@%aR_n4CVBLnFaan#4I+dLLa`7<~oMH_D z3wE!KXO!g0P^F)hV=duoG_QIMU4*JuEWDd_XfiBjc15!F zjK9G~T;LS21kt8dAU2M}nMBQotQU|URWFtY)~{%eLSB#4xy3P6QYJG895IC#`&s+c zCyXW)NCD5VSCYECIMwZy@!nat$1=Dn1|FtIxm~$;Ut6rytzKw#Gm37x`JhIZXZkW? z#Z;PQQBtS;5D0O0L{d}|Nx`*7bqPG0ty@y_V3s2V{7#Zmxg5Aj&FXhf(1iisbXRvs z`NHK;)Vy$v-_Cla2SM=R@X1dpgMr$#*m^z&emd;V&^&rA;4$`umi{CDo#SzW3oD`)B@GhvQEs zykP>nHjf#`a+ufefZjG0niM1lBmP8<#Yod}6{Yp@`6p}GggpAvxQ8)(r#dz46Gx-b{BR@Fg@{-f50^rhH_Q2U z0&^`IiNDF{Y7IAkC59~g3ErLs;_uonzp+sg^(b}j410BzRK+}uwn#mW`d<%|*c6yu zCxkKlnNJS#ySOh=iZbh{d$J*pc73#1GjWV0O+~{OBp2AIVSBDF@ z)lDYH4zx6y_qE)Ez}F0p0IpVHUCqgmIqX{&+eC!{04me55Uhi;3iHjTCDS3-@h4InZHD37=Y~ zZ}d77dEb_S?4gUf&RYxUAjy{65SwkKh8!q^MM=Z>O+695#H1({2}vdfE*iGjMWM{@ zvJZCtnUcDZ1o|<}UsH^kL>A{|GHYShxUGfxdrkQuvZ1rgp`q8cwYTQ14a)pdPQ=5X2TxU=;ZXH<1 zXLuYwbNZ0&ro6VRc@j48rkcaI!;C*e;!o02?o=~-iv6lRG_dB%U1LItUfNQoi$JSH zk&WB@4zmS)leFpL6mjlb09PaAg}$fap*b&6ToSJ>KP9*yNF)xuMD@@WwEI=Y}Bt+Zl6GENProOtM{l5M0TiS?7T*_eg24R~^l~s*#R_^c0_s!|<}(w8VNZHszI=+?b(IXq)jFCUOsC_u zlu$AG^JAIfN+`d2%QZWu<5Z1KkEH)?VJURx%H8@$(WB#mnsw?a-ezYzS9ROQlSU2Q zcr+H?Z1^S!TkQW4S(pZYK^PA%o;(X;wpL zAh|&a5b}WZ3>X~D(+8rsXsMqHVyEyQ^nI!q07t7yjZe>b>z#(W@LFk*3NM63p_>m?QXM4J%mF>Sid{a-;&~bgZ zhO?&Ci*JkTex>DNh<3y6T0{qYXZu6!;ID}|irOLuTrt>P6(lG>G7=x@DH!DU`n#oi zo8>UJR7JQjJUdeKu-tdmk_3Lxk72(8#Mt`Yt(;x&DPs}5(p}0|hJ#4$aDgahAy>b= zzi$da7NwMZ>lv~g(|MzwL3<-m(a9#$I>TsR0LkRu6Uy~<2@KFYjK-6b&Q04e&LHQ( zCtCVq6zV3X7zhoq`#^U)}8h0OKV!yAqVnJRN zI1za(H;Uo>$m23X$yd8~C(Q7z+l-P`$ z3Gd9K|8_2gC`?vv_&hbNTn0c(s1y1!OMak2S3szE!5f3*ybq=WMN-Id17)-K{%BLs zGdZjV4HjKX=VUyWtO9@_?xe0y5ebZAAuKE04axYxW zMN`>v=axh%NR0K?E%dz2dE85zb#BqNL?*(Ey4X<~yvd;g`!peIuRFq65TlA#0!ou; z1bGXO4gWT$5mNVF6APU6$YcCX$-G$;{fqa$1G8NS$`F!M;c(c2T9P{y1Ls2GbsXc> zE?!ZYzBi6#jUcVvF8`<@P|4)K{Z6M&8&*6S*!OyYt9+S;aD2!KCn(hcO5@!E@|jbn zOPYxV4?OKQn$wkCAg1hW)&+4Ju(O%f#gh~?kDRD<*VEi0S*dRazuC6#*+h|2$i)*WcuF`T>_{U*Vud7o3lhlx zSx~u==>GbPYed%bes(+`leux-RKM%Pnk;qH&+HFx8oPpo$8k-2ezpP6{+)pil)_vn zGaQ>KWQNk%b`>6R!nHSQKI$x3NV|Qu7sJZjn+R>azPA{S;^Z^Ymg!AKxGrGybyVhn z)B0k!i&!NPq;XgWy@{`5(Vhtrs$M=uTMs`@D`;E0~p?2$PN)h;-JlW8~B5cC!O5h}mxBy_Nf z>l=?ABZvE1+^ofD;eltUii@04+*&@tK~7IZIs4^c6s4-`id{Ubjg|G(6(v;2SeX$b3VZ`YN&-U z$;HDMDiwBaJsbI4SNHcXNt(`*f6&{n;FSHh$9-?GyYK*|@LHVwn^_qRz`)d2Q7;pN&)t-dOnS>$Eu za_8Wdn70pU6WQ8BEp!-7f33xEP{=O3-le0_x{8!^uQI;#h3(Ysp+|p>EmEiszBZzS za=%voE~521DY9L?F*b4qcSo?u*l?v7Rd*Z9dXXpJi*e-k`Js8{({dNGeX**v&+Ses(CqobtvzAwo6`|;aV&p?lzRQI5WYfi*N4&lbEG$mJ_h#iU8GxDmwkx&EsuDirRrCRX9l^ zU(f{AkA7NYJmNd`p5c7VdGoEHh*ZOkascG|TjMHytlpV=WO^rJvNphq-G_H#swx7_ z6Yw^S`|-b6fS`VMo1fG4Tj0U#DXX~_r2GkwFFWzs@uBGZl-mE`$aicb-)-wC)OtJ~ zA16&RSKbvEJQ(BC^9+Y4HIT>+mSL*Tcd$vPCqu~KHEe{~#?Yt;9tOe7`I!P{U(1rt zS9f<~gPMn=RCG#mSkDoaY`jSbFVDYg+9o@w~`Udf~t4MJ=)JOE-yp#Yp zFuH2aElW7AMg=+T)IauSXD9uU|4>pM)YUsFuSz=VA-E+-1#S2KgItEikkY)Qk6JdKyRa(NjxJ|CB2NR@o@WaY}%knp!&26Ur#{%zzHCffbWjt zS0e-g`$;fB#Q(gt^m`W3pZH3}R+(RRbvse@Gtl}@`dz=ieUovyWPJ*R_v+f+cQC=Y zH51#a}s23lGRZdToWu&m&O5B(}uU|5b^DcgyN$B7u0PD2DTP-(Mh#{m$D2AHiGZmUwH zYG{YPBrycbW<+9$&5J**#jiTCaN4*%G6D?{c?FnEu4+MFVv81RIdjN2PS&(tsf~XB zef6Q+XHp3X;+{5^!gE>aN&M^guBwmf1?66O7(ythJoM{y{AEOjLGWw*0tXsQ&EP=Z zr)9UJtCi=Kt^McGV6(OKUA65KFbD&w#6nOKO|8Z}S58RFw@txb~G4eG|5xS>;*;JKMd`NNUT}O!VO;tfh0xGq{Wla&1)P*xJMY#mN{KywvK<$ za{CCcl6qbG^24`G>aZB3?3&Ab7#9fH z711n~SV02>&qSOuyZ1HegtF`|;`89uTpDDoo<9018R=g=6K!wcC?VYH{(kt1Bn=WQbui+LCcVloe^N|j%vAZ8;j2z#agfrsmJANSXKR(W7N+>Na_|k zoYBDVCh`h)=db9z614=Qy(Ads02xj-F093fz(iuL2~a3$7jWcL1E%MI?Uf)PszZ=| zp7%073N!ZF`sze_rIEg}Y(3(-7#HYNLSy)Bhfc>>6)9v};4V9DX*3>r)cH^JYFTDx zgThqhz6A--qn#U7@C7S^^je~$%>R1c)j5;pPHk!};K`9+X|p3&+YVV!Zk`=tR0ngp zLtF+mkFzZ+jauZq&;w^x(_+1T3C>OrA~TrVlnxFsl^F}O8DtNcNv)oFO}X-lGtO&Z ziS>sbiAiTN9N!bCK7AHnpa0+_*-B5xefNwZB5(8%|I2t~^met+9^wrnj$t08?)FrW zuklKavrds^U)!R$2(W$BFA(#^~4lEYW6IZSU_$TbVPPRw2m}`ayO5 z+Y1@S$)ypT_#$}527fF#j)rZlnUidgTph+YFxgA=L^hM5oCvuGBSzW29PwuHvi-u1 zvt4x!Pk<{#@~x@vWXI7zv}&w%^>C4#9-DRlGyqIRv4N^t)(i3JTpfDQD$5VabfiT8cVOEdJfQpk$d)s zFQBeL_j2YOQP5_(R&;-16al5=&G}nUBWFI4T*l=pa+f2ocF`g8%4UcOWqcu8eP$2P zcmJvhGxJt*$aFGUd=_LO-Qq^wW6+3c{MR#O*7NuF`owW>1+7rFF2W?g$Ebjb7opol z7+t^ytMimtE&JucPGMFLUI zi1AeN=k0k<8cKglFsWfI#cI*?8(pN*C{P8n;h@?*HSlHq_IuyP?)R`Bxj?bW$CgzB zBd8u5SlvKs;lUgaX}ef7faK3o=?YPXMjFSAL-Kwx{5rxNhzOop!GS#th`Y01 z1}aw=wqF<^bZ{v}UJdJfxfDh>w3ph+xJIq&#C@_=y{Y^M>+E1O|3a;Wq;MQXgo3nd z^B~W|N`|w|950fTbnsQEgeF9YhL_Zl)3<2#*z*^k8;8d-p(vHKLm!p9qM44@7s&i3 zC!aYqu(dE0ZwyJ_buBcyMsp&>RlCk~eV`{U?Do|Mn&pGKNIw1+(D@#Yh`ScJ2jA`N zeEqLWU=_^<+>7azK|4Mk2XK1hTiOW-yAdP;O>5wy67xnx5kAP(Y9a>@Z#mg*LAGNf z{-EYYGeeB(?}^6>!N|u~>NN@C4nB>6HEoEb+{@Sx5Sf`@g;2LrCt&hjF{P*a>4xw< z(J~(px`g!a8&SotVrl1nw5Z>W9NfzFCIOq<3aGu4snkj|pdVrj}W zzA))_QDUWB<^iGCiplzn>uBZ#oRVdx!avQy;-Bz%7yx^^IBKzcRyNMlWs<*R-oMHxo=z3o4|G`5 zD@+yRS-ton1vvRf{CrLuG@~)VYTjoeTewO<mJgnk1>xl?Ad_M@W@^1CM z#GC4{PFyG8jSkw$3lV?)@ndChV}5^G(Wk&K2=59!R?fORm9zTphRNXkCJ3}oX0q=^ z_?Th@&+o@*Z&yTa77%!x#mQE*nk=l~&fRql?b|q^{V2evKo_j!P48-xwDlRwdwb7V zb*bPnB;Fv#Pmk}zg`Wg%@M^FW@9C{3w~((t)J6(kp#`1?dv5V@h8L}OxN-~TP+q;7 zn-rze3bwi2cN)n|U-3B~dzWf&%(B!@p$Z6&psAJN3=dU8J2g8ga5!op=S2F&4Z<4z z$eG4x~K zm&#?SI3!~oQH%BgG%S~PNOwe;n6cY@buq%o&w}iaIwC4 zfbC9ai|vFKA(x%vzo&sAZIy|Tg5btt$4x-Im<|cU$Ocs_wIs0@p{1c8+#sqqxmHs8 z@x3vLYU^FE-r9{ItzJNDa+O5#Z5`V-(LEfK;%O-R@Op7NfB2(+6JGzJK-Bm$!L6j_ zk2;?MAPX$yHgiWdbcf9L8|;K#0E(bxZqe7WA4t5VhtwVGMO6pamjm3tSVDpxo{p{u zo5?e^Z~b$>8xktyVE2s}vw!()0M=HQGFhB?Lmc;qs)VN`$JdtTZM{K1fc`ZQ*&Y-F z=g&Cu&jHvoSx?(B)xiiy&p$`i+`&t%{x~!Gzxnv?jzbr4dxj&6%S}C{ZvrM0U1q#8 z@vgo@ZC~dCGXjdIUJ<`>0(F$hKosx#nLmqFEk<r)4?u2VVA$h}=0a&gq?zz-Ynh+ngx1~G z<2h|DO$}EoCHEqXDDYY8=48}GI&~tmNf0oxb0j<1V!-L!BCwwMT2w{H|3-z)Cr}D$ zT((HM8?dJg*u1k&gGyO2hO?WrQDAf;W^?va+^vN$z-74am!PhNR~Xe~nFi{YezBpv z9EDozWQI0IVylwx$FF77wRcZ6^A1A&;&C|zMIIG!)qV8cy&EEAjFgpV}g z;48_1#4W2h=26X&7>hTsxEE#R-3x3eo&HeS)lNB*t^xO zM=3u;4&OHBeA$*S6g}^-{Q))CgHsE5xU0lD?A?#xK3^b@*AkVt%NT}V!vOSFL~AG^ zE1LL`2#UH^Sw5dIGox{#*#MU~&a zhGA$95sPOrWDnKo;C0~}rjeJi8^7;2DtbdRUL^2vB%;sEniN_3uZ!&(>$zC!SWNA4|c z(7MJ1x!e%b)W(ks$AcgKaNF!hWMeIOmBMMzxNUWVGitBjB$70)@vnb?*c5>%8LwWI z8s0yu^WwL-*^2j5u#*l(jP2HOVyZRhC;|sm7`BLhV7SzL;9C+QqS9HX&kLjQ%FU=o z$l4E75`sN+RlSsMr1mEI$i~v!NlbQe};4oDL9QnZiR+bI%FZj zhn2mvn}{4`Y*Ty*j>6%f=mZiG+q6u2oXe<=v`hAd-cJ^bv3M=o1Gq=MY1)K*Pt_|_ zip20McDqe8qMxMMR2~p#cT2-Aw7tM=!I@&mZD2h!{TpiPQBKjLX2R?3Fjp(ECJojn z!il0sFW41d*JR`mUDR*wA$-oxpB00+68Xnb!K65Y*}J5>UG8`M`!9^av}evz5x(Dn zZ^(xu!r>171rl?sE37FbsxN>Ibe(1YV6>-TziViytLTD4$+;sdE-TK>n4aKhaeo%T z$d@02OP4);zIQc;+B@_lAGSa2EAI!um)5K&X`=<#wVEx-nO;|hbZ2h#-VGSr`w$E& zzws(w^y{4$myKw&iW_s34rOAGDK?ydHeAg_LQwH_e$lNj1SYN-NM5_J$@|=X&{qP4 zp$OeVLzSyEbH!3>>ebnBu|`jLO$qsuZg&20{6a7!My+C_juj!W284Sjot9~qEkSLd z*ftisL36|l+XyAx*1n$Y+1<%_$UkeRC~mfHNSNQTK3zm??~Wz=@<{GBc_C}tNNqfb z6X-@GO(zayy=oLhtKU3e0@l5CQp6>+hAlq_)4soL^K9`1y%@N*tK%Ica zelmBwg>al}%`VhKQ`G@~e>-W(Oz{|-jrC6?!8eg(Ot%>)X0%RaO%v9Lv$k|V^Wd8}m{A@fkA;hBf-hk@ zJ<t zJKBEz{tK6Je(EBJDKPdn24K|8H3fKwkXPUw>d^cq43%e8+9$uCO?@+u_FO2jiNd4=8PRr!UK@P}Lvq7ZDk}C%8+;F%X~kNg83MrEOUp{aaDw7!)|;6)a(GbqLI(ZYyh!O|`)e^A!M zzhL&O>L1=tOiV*^vM-UeuGjC^gDlR2&guaVxX9H95sUOa1HV4?XBA!++$Qw@!GhM-&Gu3*~&OubKoALDO5_%K>O|FIq*<@p>$+4 z5uZ*2VRs5bQoWY6!P$|DA)ujv$7aH^ys>z={lCZS)f~}p-d%Cw(7wiZBVXJ9K0(Mm zYbGfm(cG{IY`2NmV>Hrz0n;Fhg*`|C@9TgV2{ZcH?GKR zgNu2V0x2DEjzgfj2`Ju=9C&=d5-|UehFZ{xoqS9f7SJAHyy1kR2?u?4r=--J`LpZ> zKA9p-mXk5LYfUmW7Vpfwghn};oJaez<%$JlW!EHv6ib7O1*P8*aovV1?DZE@lPl90 zMVvj$(TP0rE-`tPL8T)4x&S1vN;gd!7tC$!P zT7kHaIJJ_=fa-Q}Q%OlF^bPcw&<(V`Mm;9=3eD`(5LaWl2~Gk4y0D!<&7>^245SN% zoj;~zN&JTI0Tatj@?$mLs{ODsE?vWA9`;k0(x^M+SNqwQZNFTbAzaZJJA8Bz3{6Kz z?y&RBM2*qkUx>U4rCZ9rD`i<$Eas`nygn^soNTU zDU!^?keeDT+P=7-WaFAi-7+R8YiELy96 z>(OKMH(K6LB8yV~W-1Ijd;+m>bm323uwV{F4`rv)aqQ8!MJ~qGdNSIa)0~ePy*{qv zS6}V%Td0r*^PT5w($ldb zLYN1<^?5Bxppx123j<$o9$}R*o+O6jjE!NCN!!M^+kE`Y=JT)Q4w|FC6o?zz6!heK zv+=R@?nj+uHM2zAS3@_+8(zwQmEDA$P`mUvUnB-7A! zw9ROkqY|-LqUrKk`vM3k3fpfH;)IA;W3h7k$GmRGQPi5Ujl39*zctU8yzbMo)%Ow; zuJfVkGdEnT@~J!SKpV(~@4gxDfTW}NKKx^Q zV`NNqrAZMoP5}sr*ObBUDN8`Iw7vB?AeL>qWEG-!^01hd&}}emv~qHW)v* zWxBI6pDy^|sLEfF)e#(XA8QC`giYX*!|b%!M{y_fQOw6}=n?Z$ov<5$@84AL5@|rhJ+5n!%0tF4 zVLK{|xhufZ5bBuI46X+K(eEMeqD;YKDnIcj8ls-?xe{@1H~*qkfzaWrtdK+KvR#`B z?(s`^=SYmW{PkuyQT)rF2cyOH*Nx$aZX^!8ACb{1hN1yzvg;C58j00JiSMNLVwco+ z{N+4n1w95qrn|w%lF_Re)TjfQHP**O1yQ(cTau6Ap{tEol$voyaZ~pE#Q~)uW4l=d z0VjY4^B?R0&Wwq_K2N*D{YY~iebx+Fue@-~vBgIoh+Tdoxo!Nt5+EV6<1T>UzZQr1 ziVSGw9_#~oD{Se9qOT0ZyaXT%M>lF}g=I+DLq&2kD zZmytBs8#|}`xcPTry~UZ{!LUh_I zvNH0Sv_hYrX%24-pFwN8B6p}3T%XyL7pgjUD7~XSMD2Wg&YB$N+xFbO1snN^MJPL- z#iHC36Ext2|8PTxj>%WYf5De&);!o3C3)rVU1#~b(W+-c#UU#U5@A_3lXb(sf6}Tm zDs;>)Jq`R&?k@E zpTl>6H+`5+H)c(Fwdo!NYIC>_Y)(h=%|*D%fwBLJ4m&Hr;iUYJvKiiYg^{R zCl=A5>6{Z{W&Q`-i-s-(KaM_1lW!6zL9G;TmlxbzRX>glsE8i6L#o|xkbh!Ue3ax- zKJz04+dGxB?QSm1j{;Sbs`OA{*d3F)*x|7BZ6LUEf?m?JpzHDZb;FqW;k^C{;4&M< zT&KfYwerxH>1^i&mnOGDXzJp{8!z=~x?T&D@HNx2Q=_j>#mN0^Mjd&v@@9G$q1qbA z&571ta7y!_Kej0RY{afKbj=!5kTCOB1NU~7+41Jv5}4r!pbn_5i9$`^$Hr%FgSk0} zN^7Xtjyh}@ozvRrUux*f6&Y|0I9}tXI!rwbt$0~2(*2G_c}q{dCPU5{b#Ur~9~9gW zx>6Z7-WEMwzCi=>9TI|YX35fy;BsHAkR6CRGtbT6^7?XU^5`v5&5DOK8yXrYF}v^k zfH|Vv8DBvkneJc8w1HzeD&wt#p_j*nzCWI;vy!rz@`SA4k|=E9^o81y;AcNwcN^g^ zh8-Th;YiDs=6y1!zZjYHhF0W1Jlz(d!SpXn*rQu2seje&9*jgZ(zN}m*YM-)0}nYwB?}XZFNWPd@vE1`XegT><43Wa4}t99 z!#M+58cFSBS4n9PSK}yrOC6k_xn^(nto>7ngdXc(>qCO6uDQ~j*$Hi_{uc{?v(`4u zKrct@KCb1=P%=bv$|-S9z}f;Sju%g_QFa@_YQBtrH1g z4{b%xa46xSq1h)ho9w)kcMgZb@plV~l|@BYR?XOEn&^@G<4lJ!?q1T6JaGTsSKzieeF(zIp91JVG zyPh67i&t>x_R$sG#?P7)j&wj1l$!lRwt;dj76&|yCi>v})kJwXLBzB2<3e-_dh|V? zjOz|j(5Wfoadw*sYcZ$SPR8v1FxHYo=4xhd=o%@iQPeXgXFH9Iniv6 zfK-tNyl^wGT||vdp1}Nolquc$``zuZPfNGRI?{?i0ya1<&#*9Nzmzke;n6^JkPRP* z8;p@@V(&4UwP7IvM-ArFm!p!X@0JBFuMB$GDJS#(k^S8CW#kl&s*U_YMwb?KPkt(U z<2l-w5N1@Pw#ckSkunC(CkqF?`#rao8zAEsPs+z)vkSVhET>!-a^-=UQA*Rd!CKJv zKO)eDtae=9BM~T18`yv6f>aPqt|m&JnO82=i7cXz*b!>C~;9j=vM%tz-ot@^>mcJbAJJE?Es}7ex`mI$p zlFn_L!2@3GUTGfL4Y@y7Z8WZlz+uxNd8W582tWBBK+!qc&Ts%^mk#EHIt#Aclr$ZN z&XoD(;f@Bg{2S-drnVpZ5S>EtT1U=aLU7H5%;B|>y+`*soY~$s44n<=vxb=-`6&&# zNwsH)_x$-)gc+C=6&<)T(@)(~TifqkNUMD>y+{DH=aQGMVD7re(!f`dlmwD|eD%+> zYTK&6mprG5T>B^-@O4kig0@z_BZeiWU%}y~CbhME%VfY6(m)_BrL@Qo1JTKNSph(Dco_YOEN`WVjlnmxCvk~gco894u4bpoX&gcw5!lK0}NiW-2 zOyTPBhFgzzg3%14)-+G*6s0REon3Y=CYh*&}cW1lyy zGIpe$XVo_aG5zYw@v`Na> z=^>TL$TG*$5yrl$y2{g5JUd3E5m2UgW(S@4w1@$%Zn$^E8`lg}H1UdoIWbfv?_o|J zgg^vL;9_qzSP}8jo74iR_EJ{%>L4j*|EqUct4ja#o5r5rYM~9pCB&ho7ICl_^mCg3 z^s;{LPOa(n&#)+pj9e`}pJo*1IWGD#!*$ts4AQwavSXq-2%swB-9IeZ<&M6xRXtdQ{2x1X0xoIGk3|8!Uk?(?7k?JIm?xk}( zc=(!)JQJ=DT}<5OpVTIzPZlmNApb|ZLl{_b6FE%+51dZ913S^+2%{`uSjnbMNUhpg z@Zu}$5DJToE=+@|S#{9wl!*fb#hMb|VdWo42^Ji{uT42Nd}|w%1mYK1O(x-O~Jeocwx)55A0v05=kA>2tTXUCwpwpZs>gq0*H-=#u9= zRaNBUPnJ8L@BT-~(2npjlR6sMO1u(#Ul>N!@);GPEM(fTg;^&Vyq3NvVLuXR>YB7N zhNzYv>%Pn3+omMwi2yMBPqH)D;kEpn&+lGy6w@)MAA*h3GXJ*Yd&u&qYY6Ff(jUra36{1_M zhY5-6wkgvM+J_Ufi)j=g3crsK`WDEC+hn7IBn~CHOY>RABvk~z2U-B&N5RQguMt=nbWW+8Nix}_f zr*t?mjoTV`7+&^M!nS}-iiQd!RfNNkau1~>zh|B;s?XB5bsrY3a>Y=L+n_3mn{ z#vMKil97d%r7r98i1=;roP05IE_@P0C1)^u5;E&?EQU-!Orsm#*Nd+o6GvwIeR{l9 zr4P1H1@pT%Jsh<*mx^t_GJYu|8T;xX<~OA`XHymLIH zz+tCBxROh3wh*G8+2o-Jqs{2R6#oS*js}haYf(L+KC{?~=xD6T@6GnyOcX%MOP6BO z+xtad4l`7)-DIVJQ{8;!f<(h)TCA$e@HWXbRK|(V9HZqwsk5Q&jn+?m&IVK~tR2!S zPCX+Stu+YhN?Wy0nU@u6n@Dr=ekD8+%c-hxY21Y{mqyM)-#Tn?f{31}`72Sz2gXw? z$FiA~uFF*AL(MtesJ?3mJN&4xE0;TF0V4#@49h8z$EC#=3;L1Gan-Yw2B?6D@EA|3 zZG8_`2wfItrFmFqF&4r?W>*eZ=X5Og$z4>0KEA!xQjwQu7SObOEyH-!6jiHkmJzB( zV!3W4vMX#4n>42?G99@I#mbyc6||mgs7UHPGUPPgQPz6UyYcV zXMgB(#u|vpO+9|bezb%hj02p)Li0g8H zL=lrcun7f@>c7XaW+nXuzUjqjAec0*8v$a@Q#U96v*UyU3&7Z^6OtNCU&sHy+duXC zTKj}oq4X7}(n=0g7&vLniK~d!cl&}ebxi4Pd4vn78-bl>j91kX4cI(-1-Ad3pi`g3 z;Q%45D6S6LHuT=v5g#{r0ICsldM9oOon%M)j;S|WLFY>~(`I~Kwn}Uh!x1yMTtl5k zhx*ETAhnsCwtZ~8C2&^0hvgh*UxC_va<|V^W{T?6}vt}yKY z?;G7Brek?PGv;RebF;od2`I|2MwhJ&<@x58E74 z{t86oOGLl#x|nGG<}e=8$*yU1foz0pvbJW1F2Se3AF8@uDa)diQQIv0^tu{{nnExo z3m&5!2*Z+Od{m?a4#;AzT6~oc)XkcBqOWRgZM?P-f?Yy9_uj@qsH=1!F@o&mL9OO- z+s?Qyc`{se`P4ZD5v}}`f;+fL%aEQ{_|4(^$e`09JL8?c9!*8KVlje5_AO6@J@nIO z&IHiG=*_>0_v@Ai%WHOgshw~wg?i+|(EIyevIE|0#YYw!XE&(pM`!?@dDRqZzh?u?BC`}QH$%Z4G0->pPYp0Est@|!)T z&rtBw@BVFW)HEO)Qed<9B5In9iy_51b)$+$NY~=g>-_e|#g*e6^V=UOx~VVVL32X4 zk2WPZ-~0c~E&ur$5O`i{nw&$MG06aJ{Yicy#k2)-Xxynvm|6&{rfZ7!Fc!HHXNATx zjwYd%3Hqj4O?~cA9mpNTZOk=SpJXcYRtN(*;u`*(cMKiZyx0nm{TD4;`CWUR7^Z1n z%^cQx*^Q3)ATP}@q?~-bu4%uFlpGulF1ZVoOiO)QMW`mO^jcqZ5aXX@0{$~)_TyAl z6F4W`<85iEp#bDe1ukw@v^S+7t}BZ3Iv<+$5?t55+=9)}XJgTJO1k1J!DG@HeI}Vj zh7nzi+!H?xQ1ue$PbypXSAZ9(+a=-%BZ=CWUsiDd`F$TsPEA2(+JYrr5_dJAb-7{s zC>oyW`kO4HBP9Rdm|R4Cy6J3U>&5YTpd?Un^1&&Dvrhd}DW_AdOqkH?Ole~Kf3op^ zh3|hB9%=MMCZkm}Z#UY$%Bi|i8)BCDHOe+(vahk9n2YfES8ZykR+le0I?VR1i)zd6 z4N?hbe$wpxaA@r=W^Y_l(l^L;U^A;4*9TVgcj$wgYLK|p*VBKmqGt1-yWa;F#Z3z8vk;@7+46V*me zr&z4DF7M*B@bU8O|HNBsPqS8hBZ$tLS^KleOapW)_W#S;2f~lYr*Yhe!f~?v$p`{N z9<_}7o{8Yo1mC>4d`)#-f&R|sYO#@ZK!X6&^d|Ia0YnD3nQ*-x?yIx9u%LlL(wnk~DfTuIJX@goQFZfiMzX} z-3>9=9g+dOVdom0+#peV+gwPh!F z9MkwJj1#?bT8YhGH;eTo!&B?r!$dhvI-#2M<&-p&=AH+^q`idVq~9t(8JiOYHm>QJ zm)$q>MQk(rZ*2n9aMXIiPluFq&mcY}=sI`mnV>*}NIZQ2w=8E8N)~eMQL+Fyl zn(_UQ0>BevsDf-%cUi6|%YyE+vw~Xp))F_O->o)1#*H=~Y6fIZbmK1}Alb9zQk%%h zpEEAF(U)h{A7t|yOvE9;Q5MSk$^{AlSXL(js`m5DkIGJQKkS1#FAMhjVlYDniz>Pk z>mvJf*O09=qdmw|=&yrdXSGA|QumxwN5=$Q@GOO~YZic)IX~YE_7M^8OL%xE&0elXRJCD;bLy4crr)gZUR#^s$ipM=T<U6?Z!X6_< zwL*BAaJikVREuta&D1p*m6ad>wG6B$1o!rAIdV`uSzS;rYmvn0h7~d*4wOJdysY_y zaP$&$F1>FRBgT^t7++@Pn}b)8mruG|3dBtA8HcjlZ6}*!CKOcJ1L)&g2#nZ52|aX) zAS#jOoKY}mO^52|&3gpcOK%y!+NUw4gwo3MPKUD!Pxg3Y8MmHj?A3FU7=W6*QT`8O zUlkN*)NG3rJh($}2=49{f`t&=-DS|hAz1L>E(syH>)`GK!5s#7W^jkgf2+~F1eeDgyatG^vT{MeTKfiZJKIr{Tu0R$BAnh03h4p?haANCrg5&q@t@(1J zCFgKG)}lG}VITp&ak54GUdIiaBqyhVK2r$S|H&T@&!U{YcYUh@zpw#Bj?sditeV?~ zhTTYigg&19z*(XGCoH{YC$^2W)}Bq+1^q`HXMevBhA6v5$)8p8z5!_|Cq0F#3vZP1 z9i>gS-FY7ed;1uS{+boC^gOgvfNroI|r4)iR}l$P&aqj98EWz@&4~K)G-+P zE`wU$R+~8U`?ctEuOc^d0az1u(zE@4!>RXR*clik?kU0ncN(?p_nIMV7%@MTzx@tE!)MUB$G^zsXw;(s2 ztOGDusBQ^hlw@T%Fl7)W>9jR-b(tDxq6VdBbhB&NPtt%-D;+@UXgE&j4z&*ArDIn}~3x-^bJCNV<{}@7Q@2 z2%d|kN$3v);QkxZUpwIqG|CB|RP z$Th-yE3iypUX@E%g#;HUXNd_81f`I|S6 zf{?QrXh~U$eK^}Z6=SVxXXVtm4c zs8U`IxsFfUSR{h($^1X)q%vL1F6^kiMW(C9fyt^JntsZZE>S+8LgE}WL{&g_ZH2d* z1@3Ja|8p>nh(27AOu{8*C?W?XbOPM?QP!JXaAAy&M2eYU;lJrK`Yc~|UzwlMHuTtP z5}kPMSUl@koDD*1&El{?qbDstnt*tNi2 zQiyOsajb}7-LRo2y6)XqDIgx6&K~nl-Qf4*TWhsCY-1en5{I;AMvZ2|;xkx*$hul- zE$6GA8*EGC6{s>2x8SJ zhttcjx9(47u3*^9*0aDM&f=L?!yMfpZPM?q>?vAJXHZP?@n{ z$tnodBAO&$iCHL8>Zv?Ac#0cLC*KdbDwHw_7PgR&NUZB5soGZMUgx3gqsK7i=SuI4 z;^v;~MJF#?&zv$0uC#NhOE3^#M=~b=yTY-epABIYci8cVWQx z=Ate1asU&hq@2R2@rEqMS!oVjAajl(Smm%AU?)C);m`nrzun3#AltG;9Elu)6OSsC zUUZ7V+Rr<1QGzOblFaL=5n@~|$ss9Pu;F~K3>NQTo+3kpDoPGyo_cu}3!xl~ak)2} z{C5KUe}L`{5xeMq2(jJOwa%cnrPKYKnr3K3iJ-OBa;1YVbE|sOu8n zn5Jr;iyu;tmq`S2kSf*q>>%J?{~li_Krrwdk-;%=hVeuop{LA#F!afIL_^`{C>Ja9 z{vEnmlOsVQw zW4zY4l80Yh6zeyAo(H$2|uQETkq* zeGyeNccs?JMYJo3aMjpP>as=PN~4YqwP<*l01avH4P$>eK)I5@n`bHeY`EaCUB_ zKAkCiV73Gft-^TiZH#(Id)I}Ey6)Qm8t0BI9|W*95iUHvi<}8Pi{cmuYP#`TPYL(v zvoRQG3S_z_4rd~ll3|X3T7+=3>bfyai)PcKLg(3bFk=b-V7OYraaPnKXMlAu=dCD= zvy#flI2_>vUsn1}cthDP{|WTUVWjal_Qka>9VvDeTSCYrCq}KM{Tmoq%&aMp^##Te z?jz0x1Uz{jzx$Qu>Lk69$>_KUTDjJ~B7%2L(&R}&&BG0(VLTX>hzGs|aoB5Nh z`!(bf8aZ&KdnG41;V|ZHoCh#p;vKuo!+Wd^=;PFzG4=T~)9F{>XEFM}2T|nf>dXi(k{> zdubV|L_AzVM11mZ1U2vFrDWixk>C%%;UX&$a^vC?e3SViO;3PicX(#hWOMx5FI+$N z`1=gAt?wxSdL7y(>V6irza9m>7w@61VszDX+fDSq7V8|R6JyNTEBjpev8i1HB7k9T zm0_UwX@1!Oa}r@_%QF|Xx7bJ^@seGCKbP|_&#cR_IYvJ^MZG-Xs@8Lp_(cR9c%lV} z@hv-?H>?e-#htoUxL}z5U5-g+Iyaw$L5j<|6qhLVvQ3Ha0eLf$YRaG})oS(Jnw|GZ zOG7ztsAI*jP|8=Zp%VTnC0WFm)*d=Kmci`qHZDUjC2ZcWSEF6suMv5N8XNfNsz(94 z>9Ktg9SA{vU0PmAeEXd@e{q7gdp$Y0xG1=HuaG++tF3gyyX?_}?I(;|zJA3dMJmMm zaSX5~{$n9zg-sZ)n?G}5i2g5$4IC_(&-rsqXm}F8oJS`~vY_GZ`JQI@$jNcLSqouK zWR-%~*`g9mfGLKd`bjkJ8%Juu{P+>d-BN&|VOJv#yn}>%-hRGtN|&FD7tC zoI^g&h;_<)Aa4J5Gk_4=E@T=MtutmPW5TZd)3la-urPQ0E#61fBTSr8WrfN5ihKmwY)zfR>tgPU;#yt-FV3-6%>s8mlj4lasr-75w$_st!b%jeY{9i(7* z7nce`p*cuU(tqs&I3c373xo7O+n2Rw+SL21!t4x(3AOKod|+kg3rD4ne45E$ROc-J z^2#&zIgjf{%rcacwk2c-&VjQZd3J|{97M|@(rmPvR_rLQyzfGN-lx;mdk(5P3bZ8} z3>e{;*p2WU>X^6b{nA0sH`-E<5hrdmuo!l_5HQHk@mVOOxr92VyT+dr{o7T6{K6|& zEghiGC6%Qw&Q&k&{C$8FRU>dz9k-H(3AxIlrx~;Pq>jc#uH%#n;12P`H@#jtQ6~AR z-5l9Y`GaB^?w<%Gr9YOc>Fi`x;puds!^mh1`Mc_xt9B)5Jo8{fyN3v}(4wT>+-Rt` z9`ngQXv_mMXQjAeqstJ^(>$Hjmui6-*chCN7)L0Bwk@M{=mmN!yrmoQTSh<^U2Gt6 z9(zm~6KZ=vO$Fk*1PM5(SO^A@H1HEmLR??hAMZNNU5F1lJq6oh1N|&2yY0w7LD-`O z)A0*eHHA}5!4H%%GT;-(C5=U}C8{D4x8Yxz@~A%RBHfPsxe#3~^EfDxw$-JFZBHO&sa?Fd1B z#R{OySdPfEgK=^3pmNugg0H!|&>GIV7Sqf6KJ(U4M0}4212%i!gf@UV?Jl`>9~Ted~ppoXQ2J)+*!an>$w*;yy|()QRj@6L3Gg3w2fE|1P9l5b#JmX*=&UGYgv) zf3XnMkd`TGPQbYDD|#$ooX(Z!OZgUibltl@qcI4e3VlC&^KylcXX~Hg2E~oUb5p5R z70#bV>v2D`n~dJ6lz6DUw;{F}7WnDX_qQk|^J;Q)nqERV$qDak(N`jd*zKXW`lh0> z2VU-1%@gmyDt4#h3vt5_a)vV^a6uVzHRdDzkc;BZjhT(Uh(Xw?;RZDgQacfbsGZSVFm7UoIDFg7}jTh2?5&-1qQAl36Stj9G=9$tFbF(+RdsTHL} ze|c(VP1!;|Ktge08f zR#Uz%uVhcXCEG#$kQo8f?rfyd_aB+k(i9-MxlxWNE^fkaN+kPH`$TD$Q`3y}76v>m zWY>!@I>Af0N~sp5tTd>PQrTdM)oQnR-n1A}GPOG+Z-+)ZVG`l=<-$#xn~5~dEOBYI z80T4fnXyJnO@B#@y%WT6V*5oeYTv}NuzS#TpTS&n!50~ru+l!1pJxQ#HUv2z=9sq) zoEo6z25G8hc@y-bXW7P4pWEKd2T4sP;hFJN`k$?N*#xik*qIuv7!<5pQ|@yd3bUJ7 z7j}>af`Smc7(-jJCr&*aEdmy}TYNO10aVt?LQ>3z0lOkT0jzrvk!?F66+OMuLrx&1=LHxmb!3{vTAOt9C z6Ki&TQ8rq|LPf901|#@zs9Wtf31qi=4L-B7qFZM@nSC5S@?`<(V_Gmv3(B%d_C!~b z$tznVwoGvB(dJ)XqR8247`nx-)cJYkiGcOGmIk_+y9PZCA4ip~_u&1G_tXYw-h@oY z=FgEFv4)jpc*|SK-S(DXpYR+wMw{|nh)Xi6&>ODX7CiMO1CYG|cDE;=Y=i2qO-=Lq zE`KmKsgdwMu15YdKKBspJ>+7+5!Oep6=s8XBh;J;or8r zNoai850HzWyV_LUaD1;jO{?*bG=Gx;Sdz;m0H28~mZRp<76!<~>PWHv%g!ICB*I+k zo#Yl#W2R=UrZiPVjdn18#ZBE2dk#lLE!;Qgd?zLLlJh?!*&dw6Z~?;$o&1@r7#Ue`Qed>v-xZsS!DtE zFWtU-y=G4hJIw;Ziinr77$_izx30WPqB&WaHd@Su;{aJ;>e$x`>HZ#9B*DC`?|_yI zsQ7b>l8j=LUWZrvW9%EOB90)8X~OwWp?cG^`ri~PE(m+oo-=@-SkN5-s6EV}+LjZ>_F$GgdOq-OSNQUdFW=+nZ5+@>eiOYY@3!Ma3Rj}-zTm1H4;Z_xe z_cUPEe=3SAC_8H2p{dWRU;1FWaPc8*>Jn)ObFvjfDw6U0%&37v?c_dTUbbw%GGU)b zToVClsJEdCM}CU4|2}DhR)_WnEu)1eg-Pzc-&StKCM2tfl;2rEwkPUyXv`NL0u&$?Dd#q)x_bY!Ad2^2!^K{*^imPH=*es~)qFQ@wGXJ<% zRNw<6Z7HGe-1u=U21KFuyX=Ew8|b2gqRe9GwYcr|zZ53iY(CJ1Ceh^pjCbyEal@JQ zJG1MEt-mYe>TVKMFM2XV1#3GWJpQcpbo z{PSc9GZ=PBANPj+UBIrCq!sILPn~k$=S3_%H2h7wK`yOP9abe97GvCY#h9Nb-H3($ z>tm0k+L8$*SNWdF5Vv?KV?Ql5FYMbxJ6lSq0J#P22m>1{7R#ajVC@IRFS-Qgv_{4TN73Di*ZwaGKh;8n%=Up zAaS%#_Q_ryV~buE<^HbYx>|Z)vaqSL!1%N0(NTh2hR*!G(wm)@-3V-V`_G4J;h+ZL z{p#En}_`i9%u$W<;sUTxKT%b7==vX#impdiE8SCYbi zJ)-Gl_x&I~%oLo5_?*qZP|h7RGHIyMO>Tt5Vq#K~8dT_MjVEcn@1irt+WMbof&0V_ z{)Zp_nX-LozMn+EqaW|~|JgCp)^hSNCe0^DeaqyG@uDx22fYK_1&%1V0+D(z18fo} zH7C8LvSe+MqFk?@xlD$h{K?knIs>aQC}4k&716zY^;;K(vRB95>-5a6PR4YKS7s;o z+)OZkXSJx{o2=lO;BByPTwT;Gv6~ zw&XnHBJ7AF`3`IISPkT8i}ZjuE7GdG9Xpg0@fyyUo1cE`a{?ptKt|~wF{6Y(1)?j{ zh_(&ZEUB9h7p>;^@~@2qYYsJ{NL^JOTbQ>I{-zkM1~(L+HG)k!f~zBbk~s3Bl<)B{ zsckq1XXWo_xGfQI)vgom+&|VZdTACJzR`gmXgcBT=>=`n)7`=0c#YZFWk($Lt)A8C z^?Z6cl}kjUO{TWRLw~|DrdoXB9{7jjC(Fb^qVIu`xWKmG2gu5t(^AS+L0VR` zdQPkslZlpL^2Mg$A?Rk~LT9(vq^QMu06qb3f{1!&h`N5b#nEsca5uZdN1X^F=vFOt zm^6T!<%Oh(cZhs6fVvXoMQsZ?jb;s3rX~y9WOtZ$2)x^IDSZoFJ$PD_Evd1GbEf2@w%aWFQVJAOqg;!`x3e*msw`(zASN}?No7krWWr6N#`Q4(-#bi{#U!1<4tteFikpNl-B&)L2K9|C3#UYl* zpKcKgU4mnfCftRqZtvn4l3<*Mo12(UM$*<&Q?+s}&?8 zoT*<9Piy3tUkv+XzoRC0A$*!jcO2^`B8;XBHo z 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�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%0D|7;A(YA~3InZ-{OI(;UMFe#WzgO6w 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 z z*w=3wG=L@AB^qH25!7&R{P(Ootclk%HlCzs zP5rcsr1F^SuFBHq$=9>|j{Ks(d_OWL57bc-mfT&}Rn`MwQF+wHjh>A`4{U(&_$XtJ z@kPGCv}EQIgZfJu+%||u^r~GaDW{Zv562T^K!OZy7(kiygysTDA9@0;aed#L71D_2 z!Kdq)^)c!C?uca&ln%){We^@TIHYHzQOg#>=ts8|EVEF1Bf_3ctIF$2MZQp{P*<)O z9#IH=j4LWS0Xb}_xLlLdJ?kiwO51Q6Od|T-rx>^{jVeQ&Y^-Avu0M7+Xm1`MWD1hO zqX`YCQd_qK+}U08;?xOZw83PZ)hVA(an;7G{yO21(6g6>%NL5~ly0;$~i^t5@3A%{dJ z1L_ELAE#0tmem~EdZ|Ls_KA?1i4?2D;V_7MB9`z!ax!&-81^^JOt_FQ_Qg=2Xb%R3 zfjYwY2%`-=!@A~JFv042B|$@1M{)3lV#y#t^{$C7nq~=ed?LLb(FmLLmIY zUZtLZ6HAj_V9uN}8J_y$RFDm8Tj8z4l2DaQTtJ*_A_EUTg;JCXb+mN(3axZ_Mde8! zwi!g-v9n#Ez>-Ng$v`O5PH@>MsglUN%7pYafj6ecjZ?SiD<-^n+{!7h7t)kwfWUDs zfcv=B?I#9G5fpi)MgE8%4F%ON)b*3NLt}uX3&BSjVjoe|0{Ul9V;oR*D4_+fT~|)ujl^G!nm$f z#;xA$?M^?3+i1v0BmEoe8tq2JU4#RPyZj*ZEFU{I^%rd4Y3EV{H#FC~e=}{>CF_hH zH?<+WB;t!9Mg}qTQ8Jq2wuvLg0vf15h$>H4SGObncKc$zNLLtr(1g=d5!50RV6Cwn zah^y&)E;Pfsbu235#H5CV0a@&_9n7@%CM{ws~@Nu{R8F(*JdIrPYJ)J+WY z1NH}Q7WE$5qns%wf2;&8T~%a;#dRlr40Gt7|EhfG&-XmdNKwV)#ltG0eCW^A>&UGE-Lis_UFxPEL-2HkzFx- zcoB7udQtz+WGgMqzE6VG;aXi}d7%a(L$7&u}oK5r% z32rhdL%q*72-3=nNI>@##R{2F!Se=acxKy6OI~k_?je=Q6Yh*F+qes_w|eqzBQ|BL z{-8M{g~5};MB}L1MrMMcR4M~OaM4_kZby>E#s;Lpe&_n430n#(XowH{EVl?-7@UKi z;bb2bn@m%3Ps~wpc+Win60&ZMaL;gl7llk3QUsNNwblhv2a1a5R%&2?oI6;gj}Y-1smpltIUh zsr4DNx(4b(!i>i>tMj|TW-6-(*?vFoT)~EUc;7zuxh%jX*s|{N9LiD8c5j*bKwcu{ zd`>fQ{SJv^xk4T-TPA`bmn~<#i$>16N5nv-jk2?YGsdiE=he#!Cj22sw>IxP(E1r{ zUH8E{NxNaEkw}I_Ed*DP=OXP>18-c|xkL9;FRDuE

SqWigKPk#;-x{C?|{%buPn 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≺}Vz#$J3_C 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�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

X`Y& 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⁢0!WwQ2G|O4GA_j%wg5XC||JV}@L@j64 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 z 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�X-~tp4(-k=Vns6Q}Tt_C4SQ!Q>|5otr9%l zsyr3KfgEq77cYEoE@;-;;W9r>dlG?|1B%?)_&73R*+(WDEhb(X3)YwNAMn|H%gN}? zJPcJ(9K7WBiNk9bV7C=9%=#n^I2w2ZOn4fNyIRLDW-4t(EYrh(f#%-PM&*Y7{wAe? ze@LT0!DoATaLc9mXOPxpq$wj%o0@9tw&1(R<$vbTwRSm58k1y128vJ$9+aSLjknzM z(PAcM(nQB`orunl+5I^|?Z1#+$xnkX67tz&%O~|iDrV?7ry0#8$YdTZDV*NYKo4QfarJNQ@-l=r3=EsAC!hq8dY|fXgz)XIF$o8grgs-3x;%Wn*+$RN&HU&fMTyz5~jg?XfmTiP0{_J0@HlI#*K0DSL z$Yj)wLGNLbI*#G`o*)mCd@HLa{U;@%X#{o0?+V)hN8dsVwKM`je z$Z&O!njvuzLI2mfhS_szbFQQx*|^MdPYiz91aurEwzN7fGM(xfCb#CM_&m17Zonf9 zs>>UwD#&}&fc=y1K}$yK1Ea;RU-E5vnwFl!3coh`E)TYP+vOda6ZCMsD7XfhN+NBJ zGa@Thl;42O#@WUB9+_N(W&_m-6L_n(%b;iiVWs>+IgJk-9H-C9!!xsOBAvXbEI_IQ zat+mAP`;ptjEocmXPd9taukY!ULCxmyhQtKv=NR>M&@@2J^G*FPZSmiZuW#GY#1T7 zoJJ?0wdS@g@XI_rT!Q?kyZ5-sp`9I=uRQVCPN;wi_9t7c!524@4P91{q9q_>$_mGP zvvxPy{*7!+YeL2(2nr5D0HeVZBC})bQddF#`$4}Df%MSd9}F{e3MD<9Q2YRpW*VTk zrd^t6x+nr6{#-P9ffl2_j{G&x)nQ~`@LjHh*R=_2ll z;tzY@ml2p;3cQ@{gWzd_E)*15uq!(VYAe7*viwyjoj!!q=Ybb#>0dPjkHI0T(B{qj z;wR99+~=RUk#^6bOY&uQ(;Mu3skw`ov_?W-c=bKaZ@HxOq)WOF(pv;gb_cr{aa`P=88$gd@Vjfq5L#q3t?(I$kjEGi3 zm;P)U21Al|V)`YVz0n(#gT>d%C%X_00;ZuCJx(JX^gh<60Yw-Iqp0v$&(Z8_UMmb- zfsCm5P0YG63GdIwMZli^s_=V~pS#t`FZA~%wvvN*slszg1s(mk2dTe<(ynX2bcRt3 zkbmG==dNZm-Lw0C2#G{6DoiBUM;CHS-mGWTWz~E3V)Vrxhhm*jT&`<(_LG$ey2uie zf3`8nC^p-Ei3t1WgzNRX9bi|=-AOq|VIewq+AxV>7vZP&fLhl~>ZtZYxrC@0fU zykGbx%)hRcY-if-9AHXfL@JRFt6v)#lL{LqEF10cXfiKJKT#tJ$^PI7DYqjuX~-B% zxwCr`T@oy_Tb_(#=P6=kKl*?SOFt046`Mb+PQC_^7rQKmLWdQIQH>|9zT9_8n5-Q5 z39>5dRogJ@!|!8wulK7kwIuT?6duks5`px)qVpQ8invNcoiq{hf=Y)|gfhu#-y)jK zNO3?~GA5{=twb|gHpLPDp$21Q#dK#UYzce9-Ns6Z*bbSU_O_@$SKS(xwoLkjSI{7? zXI+hhJd?I+#f;4k2VoNbaKx#@V&qk+rsgaUfFk2#Q(ui!+@q)8aZFO;xY&MM z1;qUVwFEy8uf8RoAh6||KL;LjnU2OdE^ICf?r=7Nm!V-g(!)@y9dPqwcKL|B$ZwkO z#~7}8+LGY+d4-7S)*JyKTO^rIA{lAgi%RZ5y$PF{Egb@~%y)>-_q zTu&<4bP!=(s~}UsZ~z3iiSA9}?Ulb8J4d?%3RBlWs)C4X;e7KA3~Kj2r1-A2(1DAy z>2!;G$3kc&7l@6387qn#$S-i!f8BXEF*iq-Rq4;=#g*7(>vklcuyhBoZwq5?m(Nt!tzW26NNXrZN$6Ts?fWp3 z4b-XJ!(mo5WZhjugB*(dC*jwOXl zEI<(-VuSxe8{7{y%1St9$gRa4x|N(@{>`~=vfJ9BY@AnObkN`vFzB<@p^bChV-`#IJ3EhX~R$&(e?m`7f;z}mG zmZGXq;VDr%FI}z~R(=viRLQ=7QU90!195cBB0_eEo@5*zVn+J`q=+mHOnXyYGid;> zsSJguFcP4kG3|9A5crh4BKQ;5C)vhce{95np~qUwI&s)LUibCj+ZGITnjaBgP5oh? z_>2sI-8TBX`KPrMrDeq1_?CCi(oKnt3tD4$qxhQ=OqFHm|FUK= zUG;y75vh!4LJdfZ^}3MQQ&)b$ldB3@*OxJ`W6sG27XVe}?0R{n7#70%A*={l_|Olc z*qc(IR#V%P^uF~OvMAHqsw_|q8!0gA1V4g!Q8js2}78vkG*TUar!56ZO= zb>-s|u6LVz+wbSubi==t-vl*A${G@ZYL8I-^?PQS%^g~7w8vDquVfI_)0pvFWI&(+ zh3Vrj6xWwky_st9zDNQ<`)7jWB@VHmP=Gyr)B^X-zyOM*l8I5k_hJKU`I0?y%dt0z zeCk)mv@;p1G_Zy;1+Z@>2l6$Lm#$AkvMLtbX9F&{LNdE{$}}`|BdwCIZF4xN0l|dq z=R)}Z+9gVC;J9|FuMQPCFs|C@u;Ks0?gp?l5=#+c^d=qQ4IT(;31kXmLGU_FpQXv#HO+)}H<;cyP`E*ao%;8dew1XNe?^-}x7=c-vd0F~^gTOwa{oK_eMRu9 z!3p@V??t|DT%pU&3Ec54|Ywr?(t=On+IB25i*A9W(9-J~fi&F0tj|&&p(wSbCDz zZ}K(dlIM++N9CidqZ!&(^K(_l1$ooa`sU4a;ro_?_9K>lqunjEqh7_i@lwk0vS?8K z1{4?RKLCOlAn1BPdUk^X`Dn|}pM){#?46|_!Sqwyvvsm|D$Jk7jwX1>W?aJBTlgB z@VKLU?;8;A@xud5NesU85G5d!MXItJ4>LyTx2W|<@mwr2No-4kXU8S<@?Y`>PlLM% zoY*d3H-|`{=^LgEkN)p;%k;18E$OPSzFCU*e|XH5h-|nt16+jlDM3n`{da#O6vPDr z>FDVvsZBrb9`AAlf7WM)mzt&j>vZW-3XV`GxoeRiucomG{rCOyv5Vm~(9Cq#!TkW4 z0dUnotUQX^LFM&LC4NVO0)qNxVXgbDdPs~R)rdPZS(?3u;ES8Tsg(<7sa{#+gKug8yXH z_UNAcdpduiQyP0jKBv(*4RiJ3ErZGKM=s24bJ{TRP!!^bt}NulQrPnd9=uJ1PvmN) z32BtESHldtM;-YtfMheQ+^Z~E?>4+2K1mmWf})|(M6QCC{wvj5hC}G&G7y*-eylHc zgGHnN%M%>Vd(fxcoy9d+R2Cgt-1Pq+QDKLNu!0&iWa2^regREAX{rgU`BU6Axhnep zq5dSatjh(oJ3{u|)>ZJ}UOn6;eDj~S?Gp1%NbQ+Rm-tPAXnHf?8pf&QNqW;lI|1US*ImhXFgsUaJb4K?oWZayG z9M9YmX`5M{0Q%@h)D~cCza}dm#i!m%IozLV8fSMN;2^drg93`{J%go7ul!MUwZI%^ zy$(kIvr^E+!@f(p#YC*q7X)pDZ_ZG4+dAcoV!T>xv|0*0DqpvuUQ2qkrIj$oP`wRE z8h~4ZzWx;g6crbnj11sx9>3ZzqJv*8U-&KxD>H-#4!_1E(S_$XG+@^5a$sLWf3Cs+ zjh6mh#Pk2A(EdNt6&fhf3LZkSU!y;OrpgKg8Nqw@CUNAvAX5{L3#uH6|K7Wu5G8Z5 z1eD^7ht3IE9(R=yn~VJ5j|j3_cms|$bV^F*CqK}fS?&@s_fvYF=nP{ycko-DZ+HXC zrV{q2L)X8&A^rH(Eh8&QM4TN#OS|~UsFQyz@J(HuRr+}%f{xn>r$yGjNxjT$Md z3g~jo^R8dk_?i;Q#~m(>`!J#sQ}aWV%SAKiM}J(BI*QhjtZ$0l zdr}I_C!og@wbmZ&EV|J#{CqIu!+~{HtY_Szy^4ViuQRt*=ub6 znR~y469|{5lS+H5d2G9X?mMtd8`xWbi%J`=wyaSad}$yo+$t#H_DzN1Qy&h7G6$FZ3&9 zlujw+I2547z#~dS>FlaQ?Tg$-E%#^z_HVJU^2TRJbyJ_*y`pyy(MjN@M zAOjvVGO)iog z2XPDy?%s&y5=o^^hJ$il6MdE#w=^{2sC7z7ecRdYgoNnLkWamm0fP+v<&P_ZUklTA zbDISQADf3jT!_XnOW*`tv{mDmk=6s$3a?V!!c({>D|WbT%7uKFYltM-Xtsd^Us{kt zf#hd1^P#6ES(+3~Rp1Pz0Cvj^=BCNN!~;ZQNusXm-upi7TTD+k zAnHn#mET&TbF|vbRm?j@OzKuU3lOpot!bphz5I8#tuKvOv6m66j`nqHwC^okNelhY z&6;IfFXlTPClT%X{d=}hzuMX=2VaUDWBr(yqOQm?*8a!(xRU+Qj(jp&!28%kaEw$h z9=5&?_ZJnmnCweT`OTF@+t43e@lb^Cq}Nt8e!go~nH+V;U&k~i?nOP+VH}$L#^k&> z!K|xiwdtVHhTGy`_uD&p5q?b<4ZdT}r$^X=m-q6YyDfyJjc(D?zO7TWII-Be?ae(= zs?KX4osF9<^&UDj(cFziX@LHpeFEF-z0Q@v75L?*()!&zp>!bwnJA?%Z#;!@h|b9~ z_Ak-Xc+TPC_3lbS`B%u=R|l(M>ZgN)S{}ziHqW~-uBrmN#<+&q>3`-zsz47NT_ctJ zi4%3agg0_DqgYtK(Iak|A3SVM-{I(WPQ}UDfMQ4*g?TW51WQ5!OZ=8J0q&M6_{!12 zwcL;FcIBM$C&7nHI;2rP$`$XNKz$<#l$mj{$c~j;Qf+Vd!Jd;{SvI3Tsdu`iq)8`L~!`fS+$> z!V~dzLKt9z9z70wIa=4|^bpjCgjFh}6QZu&gpSY*yB(3jZy)usqN0IM`%%y1^ArmR zm*r#g<(*HzT;9ocSo&fOkn<95;eOo=$za>g5YNhq$o5#E+(`Di zbAF&@wzogzU-EkjM+t<9%ZZVT#t-z=ko@Jb8T>NM+u$(RP1&Cyb**q}`X#ERYE!E@ zZ*BcWQBR!cZ{(+ct;Ww037u!Hx+4$nq^Qb!M)Tn|RVy*5r1lfw>?k0ztWpY(1t5MB zNg@2_0ILF0wB&=@7mT zn(p^aCj#vw8H$NT{+Q; z1k}k5WHc1X32wjQk0t|0vmEXlx5`$EM;#lk@33SeF&GudK`^yfyYrJ1D}2ynt0q%i zq8}wPqadGr%B@$_qXi;PWh=$7A!`f`A$|dLF8yj4Z5BSzjGf|dOl710y#>#m4j4L( z7(N64N&haehSf+c%;+&k$Vfdk?wCgkb6(WMUJ1p`!2U31#Zii65o@h(aDrSA2Ze0H z%SVvAA?mUEBIFHa1PFVJl?JBLr)yji!kNzzAou|@(9mNwC^8zp^>Q_$9QQ>|v@!O| z^{9G@Q@6eu+2tQcY=d4)!XY|55P+j#@ozJFTHbdKJ0^H)#`9MLM~ANjIIjeM%?G4% zEI7<)*F*!RZdmhtx}TQ%2GhZ~^Zdtaaq`Ucbhx}R@Xd!S{{E3@V2=m2Kg$LDea#ma zK_syHBW%<5>B-H`bfu=^mXf9sc-nNV&l-T#HC? zmCr=4UM~WwhMejjBM;qBb2@H4>90%sL(5^LhtGUm({+{QxA#*-X<+9ld0C~iru?PYRm494gPAkUvctM24 zqM6H0ukni`tGi?g8KaRer9A_9{bs+TbJ{$lD1x%;t}3jJqrDUol?ADfYE%IjZ?C2)mwK)A`? zx>!&7V6n!S95eebhO?+iq(*snN42Qd_gRy2$PXy?P$8<}!) zvXphl9~Vn{5#j=-|N9(~-ysBsf7Ax}MF;}NKDIuOy{-6S{{eo!6yCh%OL*s>ly3b^ zNM~=(u3;t_<5ku|QpKOATvKEJ9gwr%Xs#UY)t^#tLcw**Ya(i{j=g9q0UJpw6=E&g zE&_8E-QYI}c3z{hgjKhz(#XFHf?R)n(-}bMUNCwQjwm-&lFez;S3#d*frr8bK)J`{ z&6{Ny2gM)7Ui`7`O!OrL6YUtl0_WMgy>sTFmiYnfLR+E!+9{JMyDk+$utf!EC2*#O zp8F{~J=X#o?M#;coa)vl-pf+EwZ5r#*O2=Y<9(gpBAv`p`h+c1Cx%TDhsCYrC^iw) z?sbnspajl0F)ktbpg_E^VQ#%FFf2mUG$e(No2&?`LZAmN+bzcI9N2o?E$t-T#lgwdbr{N|P~;(H^%jLuYgsX& zhaSDS2d9?JrYg2e9$K$#!6dR<;u3RGV^}wU#&@EZ!-o?^g?y)y-Df| z-DT%4MDDEQL9Cj6>!ElaGPgb0-&yL+9z?OWQsfTBihf-6<{%vf@jTb=qauD)^(C)- zYp%1dLGJw$Uy^Gax6$pB-!4pLtolN{#(r{w58P9291d|t4hCRRsT#*1IzRo0eS^=0 zt{atZ^n7D|ZUwv7$V+!u2_V0Iq)TetyQIPf{Kh9D_2<_0{_SXCZG^K5y@rav%l-<-zT>-}QReBhqvL+*c^P2po%mhz{)((# z9MPSle}n}s>CfMnd2?6EqDghT7p8>GnfUo&H2IP_>; zgR81Y0`55?zUv!}$i?qEs}p=*5o-iizYeKi;GpLw1`oprUWf#Zaa3MJ zQGh!@B07>OW{@ICCcJ-RIEwFGE6FgbLM1GB{-E-Un{Zz;J^o$E?SK(xTV4n#j*taq zHxq6h{wae;?(h3ya%SH`TkpuK&2Wu`plo(N}W?sh0dE>60;zT|7gvX#`fqG6j3bHi5l{&_GN_<4=9pi1S!*S_miVZzOo za8DH;NC(*#VFxl|fE*bf>Oyk^KfW#K56r1z^BLSB#jO;Aa|uB7LtMbjit#W?a9Ma= zIj=!stX~EQ9mb=;6rZe5MPJ9Et^6s-?{BX0GuX~ zwNd*vBZ2&EbHgods?nTWOyeX8*}gg1G`BA*b?Fjh`Le8%H5Vy+5aG9-96J#iE`K1Z zw#z{=<#P(Z_oj$SAYK8?Ongg>E3S?H)9-GnyhTu;NIw)8&`g4j$1l3BOy#b{iy1!< zT;b!r5z@jPP}&%RyOJCtNmM-F*l;u})&Xoq;UQw~gJXSMc%(dqKXHCsZTU(oi&N?u z#cqz|2sb(ja59e6`e^H94W=(Q0$io<_`2H@0~i zo%}m|>xcK!IZv`#vwUQ2rOIa}UL3Rh#p?|lD^-r2v|_WV(ONAjp%v}q#zKAO#nbpj zvuPWW+aH$OtaZS)HfOmPgt4a?5#6N2XQhS4#s9 zr2SdlFQQ|1`rYH~&Zb`Yx}xxW&k9oez_v7%a;)n_k{XLm=sNB+w!cfEUGezU8{f4Ua( z+^<)!=C9+jZ*~drb=)Ts-VEVu@Pr|=rFTucFhP@^KSHMWP~-J!bLX=gj@yl;nit`R z8a|%p2RyNt>3(MBHH^7-51OG$F)R;Ns#w0)YoA!7dtAnU9-SrPw{n#SgH5kL)p^!~ zYq?9#+{7N9l#d+ucZ7MpXjdP8BBHcmLSLTSyWoT*!W@*3j8+NE6W(C-pDxDs;(x7v zV@gE+M};S+$byH*cx>qjJ=bWU~2)nB!JDl#kW!Gu0P;MS3(06|_q_e6dKc&WbKm1b$ukY0a?3Y;a5VXFPf2DdoKo;|GlX3?ho) zJ|#Au?Wt!C_qh+!fFm+w?sl#F=%e?+Cxe(@3F1NNM2kvMCq93EB}9h<$YFh(v6)<5 zkvo;^DNnZO#4zvp^tQNH3H?y<7e|zMa@{bNQ~$W&PztAq&Y8R0-np&A2Xm)mtw)m! z2hQFYgq5mYl;X{G)8VtO7!^k-j!(hQPbAv-A53OOZqIwoZshF`(%f@i3Ta`WaC5z| zALP>BV|^(tycvA1dwpeo_sNSRS?jiIVJ^P+O8=y%=Yt+`{kUiBp>eP}ld9a*NrdUC z#1Gx35@HULrLFZsZ?jF~ioSjUpN;9^h|QLzTxbDjOHy5j5b4)Z8B;&wSQ7jY5vtaZ z!Ali`3M_AJWh!5GPO+aL_2)|ge9yIW*I4l<-Prhya1Y7SzB@Mc-gSbtjpuzfY|>UP z%#l0rYr7q4m$@)JHBN1ZZk)uk7LWCiEG<6U#4dDgQ)eM}qZ8$CwL4#5a$^|4?7v0v zTXl^x#7D>MCS3*lI_n*WcZF(y3A@$N?t#%S`DtaxuuVZYE5+T@YZ88z*ugGj1 zA2$4*+qIFVBtwM2MNWLet6hERK=nUHNbyaMbPO5U0R;#m!b0xpzH>%DNdXto^^UfV z$f0?7d#xuQxDu~X1{vK;v}2I0T8_72BdCe5ufsZ#cj%5yL1om`)z>vLDF-~uS`aS1 z88NnaSP5(sixg}T7ayENMeVpO?t zHZ6VY`Ia`^A;9H^VQn>;R8jvkJmf9y32|bO`aiDDts>$9W!26F!`dp_w=_8`R|tf@ z#(}e3Fdhcb^T~-R^I+@sTXXGRi~kJ`3-BeC;qpOb!Z(UQ`E0#aRe!rNWX)Q2I%vHy z-}dqB`Y@&X+XW@QuMpL+a{ne(?kmoQk3*-*FtfbRy71A|4{R>UClKxp1K4Clx%E~} z#C?H@Xiejr)B>i?=2gY``eIAV=7Yo7!X`?fKhq0RBl-i^Sks0}&n;;f-k1o%VD3sx z%WA^?JMj8Ra>^OhuFY|+va(x8K)mXfDjyf~Z!o`%oCS1#_WTTUcs;i>g{O+Z{PTgM-~l;QA=@dS!6^%qABiKS^% zWJ%|Gdu8x?16EA6;cNSzpdC8|b^ODW1d2aqjXw!tVG-4z>7K z;s7uE#RNRyl)d{VB2MOdI^pd6N}Ae5tfI-wc%|Jf?)y4cmR#FvuhK5jp1j zR8*iioQzIK5K1nGyoiD^4~TnP*uWQjw(N#i1yul!9D9<8wI$)G)PDC$1xSEMs3gLD zBn+c_mSr6GsgTU3+!D;Zs766&M?wQj)(SmbInheSvu10THwycYm0JM_JDCFUtsL;s z?>cKeznfLB$as(!7!a6ahcBIh-%5KCP9d8~k{&49I?bxP88WxMoGi8H8$xB+xk@O~ z5m$0sQ+nV2EQcZ5#h1hWr1kXT-JChIJ1y^e<|!HX!5I#0ne#KdCUdNV?Hs|~g(%Sl z{>c;>-GfzLDsIj{q8U2tY5RGWI{4GK`q6#4lX}%6w#^K&ld$;&=^+Ees`jtT9pqrB z2mpV@`c3!EgdMXMhC{Nn?bGZ%v znf(_Z{Sf_PN%+9(!bDtD0TJKeHSUG=f3zQfJE<|G+2^B7HOd<17F)xWZbfIYllPKB z_n{!8>I$s;Gq4_GK3)=~IF|6BhRCYX0@gSk7vbOPXUO7vFnXSsztKns<@mERqCX9C zEdN;&X{+D{BKcC+tE}bvs9w3%@Ygcs1cE~+AI$VBzuCsoUdf6iX4uWM)O#rt_#pBE z8bB7Hr`L35g86w4BG?ihzqI^v299d}Vy1?Ep>qZ-CS49l0>J;sqaV2ev8MMG-*h2Hum4)(^1g~692I#qwAQmzZ#{L`4 z((XMo+H|y!ptx{9?zw(ff5&ZwJ#_krm-GE^7;+#+C@>NuGZq+f-cp9yeu_B()bBX{nLw`0n$p;--mB97X76sJUJ;v z0e7L161w&(LSfD&Y6E+4pM$Z^LY>)7b!)N6Cqm_(&q@HS8+~;?PY*Z^!cuD`j zBOyZ3|GLAo-RdQF@-!m;qt_y?S0q3fcR$6rJH^3ICi$9}-1j_M7g5k*b*OPOsSjiH~vFSmdz`xvE_{XgcrkcW*dR)&(TM z>k_C`i~eHnss^z_Ij`u$`$pVPRcmIA4<0}n6kLAo!~qn_5)Ek@>= zi0g@Xx6%iR;tm$Jc9m|BZMKpU2^Yso??ZMkeQ2nsmk&Jmyj(PaI;e^{<^ZXx0e~<3c_Q zZ8e?+lp2a`Mn3*q+*Ox*OU6k55C+&L($7_C@}fa#JSObS8%S@2cF%R5%2>e{!%@kB zLCv8!dp=>Sy@`=)oL`zC!d|}n6#(y>6BK&t|8v=Q~6@OBWutWTV z|4J$FRqtKg0WwBydc{3bz%*xj4{qxXw|dGffjZA7`b+mlD5e%{95YKoML~MnL&4r$ z9z%gK=q@VdHDai=f#Evc`eAc4(;};Liz;EzbtA%9pa|Bz) zHf7bp+s_F%>isq@XlINIuD{B-M& zFeG!DsnLwyb20A8$49K<3L|X&^OJmG!E3%YAKpWgBri>A?4e7c5Y{ItXVWIpw!hY@Dm%VZq;`~Gy}rrQU@zYfnBF~Y51(uHcD};~jPqa`GM<~`epS>?KKOVz!d9${ccQ|h$cQmc$itH_y8}u5+OiK% zbE`k!$rCr#Ot79WJd`1z>k(hsY4QHO67?n9)AN|Z`DE-%)6<`8Y#=Oy*l*9lak4Yc z^Wh<2BZWYp5R{nePHrD?XrcQ0eBN~XXmI5Aq$JGkgObzig6RGijltJgA#p0&43#AO777qC;Z!z*8cUj_M2M9#+Fu1)#c}ae!2Vz z#|QDXWY;U}KgZAPA@-3#M(t50x9bU!(PUm=2-YKvaLh+>p@u)1ylg|B1ALi_+g{UBU2+RrEJU=vm7yn3OG#;xyEal4p+OZ+?=V zs(BKv?RfOF2-!vgo+!0jee3BR#BUkodftOT)=_C(HAMBe&OKj&_bDrH%A;oH8cpr>k-9=o4Dxcsqotc?b1B!Gids>6d zhCV~|RanE1L@=XjSqv-&|1mhdfvV~o5*^b4X4uNq4sQ%Q;;t!NFf#yTq1pVLQh@u; z?#ut8>#L&TikdY~H|}o1Ew}~^*0=->L4rFZIKj2?;BG+^2$0}GgS$gRaCdiin4Ved zU-#ZwGw=JUPMuvoPxPVStj-Au!V%RLk7ZHf{BXD>$I)%jzPxk(Ql@9=SoMN!&vW4 zRnVsd_R}3avJjDv&o}c$xCpB2t3b8o%Z|TapXVP;YvxZ~(w939g5!AT zq|m@8f>JZ?3>pxLxcRbq??!&@*7Mm^?k7~bXPEM%vkxe>EoL-|FXFzF@jcy3mL zhwALo(CeoO+OzDTFTK|piluAUR7PIIGm&QzBUzE_P%k!NRDhZ@67d}s1ZR&Qv1o?9 zm!-$eHKVD*p4dw}ATuH4j)>7S!XNcybfgp8wfq}Pw27V->6>k?&K8wq8tx_$ssW{f zbB`-sIke~V1J*M;xI&Oy@w@#0;AqXwvh~^$aOtUbq8AVD#u@%GACs*G!SzRx z&!5AdM@9Hf8s@}-(Ru<0~OJVD?Wae4|pIK704Vs z_mmL6Y@acwHn=Y`-q>~a!;R$V$P8%274)k~c8HUQuS!abG1hk5+CmTh9rvlGDSw^p zc39b}(pFe-VF?@{w3owtfZeNRPNHOHw=3jUBK?k_Q2y5vLgHh zUFUwdV>?Zge-7__PmcochEqKKypY|+p1GB9m0b4I#HCC(VjDW)6E*(>@uBv|h{kQ? z(r*teR1Md1%_+uAD-olAWb*-t0sj4whcMOc4sCw{N(-Z=QIDA53kpHnRbNH97>UpO zxk^)4E|md=p2+~}2#j2Vz`_vaXrT)$QMY5%$ud?+jiXn-f=6PaFQ!QTUem%to*x9e z8HYQv+Zw=XiR*pG)!99qnJ!dts7_&i7I1V18ufO1 zeNX8EDi{7i{Yt6-!9XX{E2@nacG$;!=tkr3@$Z>5Jt=xBsSUCh*u~ujhZa2W{H&wC z7Jjs$XgL7}S7h3ZD?|f#B)&JeQKO9>#HkGR6icgi^*r39^c_qkSFH8S6ti#tK_0vl zL@bh(1cnO|E2R5!!!+e4*CKY7yMu`8a#TL8P5ae{1FKZ{e;UmvV@2qST*R#^Vrfr2 zkW$s>)@rAYF%});Hns>4J1hQ$0LAjsluvces1O1PuLfPuWrIagbFLj%OR^TW z$e&cshS_jd&|Jyy#gtJ^%t7GeTi3)FtLyD*lw1jtbeo2m7;|x3_gR6c<`tbfwe6l4 z>(5R*M`;4QvFjRsW*08F#q5D>V9!WIXQPAp$treJEZ(+C&*yAPzBJGdO5U}DVWfto z0Y<{=UJ|B6*wJn%aEf;Tb#7u0p;+x%u!Ob5T@piVljG3H#&D_*%KvL^&qT@BFid_aH)b*#uSPN|Y8L1ENucgP$otxbOZV zt)qTG*8hK!7Xy*r{sWI(#mLBbU=na3LZm5Q?f+tb9r*IUS6^qh=s0Kr{1divCd5f6 zn>U9@9{wIt3)YU!NuBcCg&pcB^H-kE+j7wQw6m42^jPN861?saInR$$fS%VX|0ZPV zvWoEAXhCS2r@9NK(7DuCWG!-;f_v;V7hcKU_CvyLCD10_lRJmq#o95aVSa!BViyhag%i?KSpFAO$k#!D7c?gGd&WxcKBS8Qjar%w z`4T;kY?>Q{TQaK>pT&il^$xL@7qYX2+0OV0>b;|~ToE8PTj+0_hSF|o`;qe91KBi7 zP#vjnP7c$|%%F=uFO&~cN}<63N%fv^GPdvwtYZYAZ8HwRwK!a%euRbfQfoLu_M3Q(gif9lH`4W+KHTSqz%fNRz@Icla)h#u{ zWqY}WjEnJxyNDI^-VK_B^v`x=b~o$;xz}Gp-!E%2A!q)pu!^UGD41$ZE)ih*&0H!7 zAMg+A^`J!LLinF#+W$nevi2h+5tyFQAcLTTXj}pV8v>m_mIy<&rcX?Dd!tHStzDo$ zpG)zbnAM)W$5Ouk3=br0E|Jzr0`qD|B_Er!|8l-xjO}P-#oH7**6B@vBJ9olZcyZf z#GVuh|Gg8!hg?_h7@y;F3$OJ$<(`RVq$ zb!G~l`e?F$1Iz?#UgI2@&p71_2*=xaI?`v(a#X1C9*04ic*P{GDKfd@^y12?qD{6LJ`o+%@y-`uHA!LV{q^0v%?Q3+e2 zk>cu+JY($_i6?fWJ1x#6vRufVZ-Iol&#l`5KGd#4W)K6H?w7w*x(lFAd=txxa2q^9 zcKF|@$p4An|KTPxRRiGwgE}_!{_UWM%oVLL4ist|>t^lMCafvza^eB5?=9KZOx5)= zZm3&;t;?hN07+huNNMWV3H^IXv}K<~ggVPH>vsYck+!KT9HZoH?#Y zSAW!?tr%>$L4mY6QMB=AX8mhJM&3AGUbAzIOVxjM6MYt}t8RHwurT7{G2}!~AH9_J z*BlEvqz@t1Q*T)iNa?B?*0hV- z7ud~a^+=BV9PGlF0<5Ec3sO#9e&bynS{yL=+jhr1zr&UI-o8Ql zHC5P&1l!^ZHaHxUGAz|u%rYox_g#kMT}i90*9cwupb zIAfU}#_1SHU5SsQqO0>2X_#uD7Cf9@&qtaxpngM~H1Xjaly27UO8PAq@@LIO;P1S$jiitHXQvpqd+V?nvLj~n={Nk z$F8jNH5p_9Zr2pN6+t&b`R@V(|A`u|uE{|)lm*zgwPm~zn*tFIcmI4g_$P7kQKXqM z$E}S(-<|dP16rFVR)fU_zK_}oQt6kM{jXM)hcp$TV5jDmsG|BYKyh1M-q}w4W`klG zn@QkHoxe6JYMm>qhrCq7ZNM)jnyQzurX?F~r1oEUbgCADuVa`ugTa3LGkEB+PTcHV z;?DC0IBx0n>WUYn?^7?%oF~gO(2x|t%o#@+9IHZi3O__Dr1xYb|MWjmRW!Wzkjz-sajpqSsc&1Mxt6V=ZV`xq}fth-G zzyKQ>TMn*l)k1vu|7G4s_ISBfHW|3~c_@%aald(Nt$qY)>T**?=H~WLb$&N*jdn{> z7!7=0f-QT~A`;eM+!py`qM*NajkuFJKN0qz#1#yvc0E3ASdfoAwJO6WVKYVJbjux< zJo|o|F@mLLoA`b5?_t)h9`P8(=wYSy7NjH)3FV7<_!q+lFig6NI|&oc-ixw)_!pOe-{^GKe~=Y%hwB!+vcS2C80@^C#^F$Pn?u=9#w+L|Hz}^nJNrt- zWn3xJR2VCoVl_(1n0(B!mN>I05wnK)weq@omx2HYEmeZ5^Ke847m31_g z?b@~=4M3d;ihMuwZ%pCY5Z+v}Ut^kN7cDg(RBa<#;WSx2dt_Xqg?*xs=sUWw+PZG2 zu=?Eh864=U_it%ni}IKNr%5Hr$RHx|faMu= z)TY>-&Yxi*thit=zJ2sUzLheef)0RQ8XqA`$=K5sMGmV1uLMjG!weYShAB!;*Jc;# zjV*$%Yp*E#{^EC56##I)+*&L>FpIcEPF|&B$?u(_SsQpY^r~*2e4wtT5}mb*hl@Wt zVnDH&S8GI#lqS3NWn-^#SAQOwd=*-5_pWzAX+}?4u;b_6*)0Prum{=O)&LkFoq`^7B_({~@b&T8L8S98qVT;&QdRy8kJ4gURX2ht z+%gzZTlvI>eKgFQKg{PqCN9HZoF9hIT14xDxuqKdqw_ zJF0uMz5ExNia&d|GWTPyA>324#1O=N4!280$jeCt1m2Ui%YmC!IEixto4lG;QjWbY zK3SyBUreJXze(R&iu_7{b{i7g&vJy;i^W5r9&6eunLVDMlxM!VuEEte*lLb!}40(cC_yzS+4ED*b=d8fYqM4DPczR z8TK16Y-2&W{YG3HHZswPI(fjw5KK>C@C-6H9d?-4-l8%3B@<`iWT%l{TEpPAZ!2`ECFgwDh?l`{SmyJQzN^38)f4^eFlI=4vaIBt^h*wb|${TFJdzEy5UB=8SC?PVnBuJ!2KF*lW(fU&o2G{+p(c}6&rUJ6Hn zqqQS9w()5o0q)w>Ga{n}FXuB}Q;cCoQ%mbu)*qW6<>r?9P1Ru4qYtw8Fw51u3e#28 zLRSw_rn|WA&8G9<5uT|UiI3~&mK$6s66|P&QJZw?h`a4AhaOLgB5p$O>H?P8nF6oZ znqRP+ht@8o9;eTjO`V04#VtOzF(4#w@by96*%%47JRMH9C53@vbik39{E1Cu(!|IG zgnY0ay0e_J7N5eBm!?rx_DY>;x0f4I3K-1d8}mvC_uv09->u*gNW6vRia`4`Gg=3D zEhw^^%K9(_SNWN}*2or0^WW8d8j`gzMe)|~w4LxpTHl)Cufk#%ZSUo;XpLd~jx5JI z%V-)fB@PFdaU#D57&Nh=*uTNJYC1DWC4-gLexFX;3yXa9Z#7k;e5>AJFRQ|#yIVOQ z^kVZ-cad=H7CMR69ImJtt=FH+Gb9>UmryseYpgiVr+)?hvDdX(Fkmz$S;1YpaDrhH zzMu;8<$VWPmos=%qKPQ1IS|qRALN3&>F=<&3+f+X)#a07E8T(BjKH_SRuLQ4i)38Tr39QTnK;S6 z+hFy@&ooBc4C<*aM3pz$Gt3vf+xk7NK7k?xPqpl|ZvWZ75z;wJaQ%|C5B4Cku7O}BWhWR}K zD|Q(7I*X21^5=iB0P{cLMJ$9n4YcT)YX>$|@!&EHioH`BjKHYlXa^7bsn8O&XM25= zc)JilT-pn8E|A$RL?bEL{M@2#7$~Y?r(N!i(;n3ELb2Sg3V=LBpASe7NRwyfrwfYi(Gm_`csG(ovHa&Y zN(v%&@`Esb^JWo*;3tpRun+iVC9Pe&W_-Zh`BdCYo-1}s0qi(sC0!iYGSVq?Z^6k! ziTJ(mjT)`ADNx&^3LxY@!S!Cqm6AoIOqlL!A z^;ljRu%OJ9q6f-z?+(;>d3U3TN!d=zw)u8{T#+wL4+^|?4uvAVy)!`OCRDl{(DB{= zyfGxx_&b*dOfy?2hM_F~%3(L@DIcS)f+lyfxudS^<7!AQ4KT{e()B&Xww^x;@qiKI zvC4;QQVW#5#1rVgg$A#i1sF?d>n1|FM(hZ5{MGH~WxiI|v2pct ze=B)4W*az&56S)5UGpUy127gE6Cb_z;J_9q7DMR$Er!SJ3SRH^^pyf0ax%4$oY#(BCM0bOXY!Cuc$PJ~BUdyb*73*2dQyVI7t}sY zB!Crx6g?EKe#7ArwK@xLDrtbAC^J7|xJb@wqi!w|T&<#kbJ{u(3ZRxpxpBZXbUOH} z#4%hMK=8qE-*&7Y9pFSzK!l=1PJ!&=r$7cNM;N7UXJ=A~HVz_83xbZ#T^X2%bDGOC zq{))i2+!D}81i|y@0Z!s)6@`UL_`O-z)L>8$&*E4MNK!DlYiAzrTQ7b)UXTJ{*;$E zt(8L)_x9Wck@jO~Q`>NES4!++rJIdGn>EfdEJjO%rh;rp?)TnbhG1p5>vUdp8-wKP zGf^J7ZAZ(TvfGb8dKV!WPSYus!$!P>La7}{?4<`Ebp*N*c3ZDsV9Q#-td`*dKc};Y zP8J=9`r=Y#6B25VA`Ju|AC(p|7Ecpug7j)Js#am#*g)!Qlk#iMq_eiGW)V%B4DLV+ z7YFiXpPL*Xi(HX6j%6*^%Zjju^gPxtiQor0b<~db3x2w;0Ysd4W1W$5uWdr70_0=$R9l13u($8{ER|-&3&$eIGtSS$oUy}A9h1RqR@z039^XQpE6JM5NdrWxe$%JYUdE|jWWgR< z44Q0^B%@&n^1Jp)q%ny8#0vg&;CC)Zs_XGysvl#CMvG9_$6rxQtdQo^-?ciKP$Ajt zR6H2J<14CTX3bAg!e2b3r)ffgCOg8^lJ4Hbi~!v1;%^p0`^>sr$(=0&@Y$id(M6sC z*dJ7#K7LCFQg6C0WowZI=anB?9F^1K1GToW#xZ^Pflkip=U1Q8fV@sOLa@4#p7L^l zs!5;a9jP==I^!6d(HD>9*MlWY4EH&{YWRC()0Q}XtYOCH$3)GV#>u~(b zw{<&cV`m(JxmR3p>oo58zuvkakHgP^W-=S!)CGJYT!2JC_IpI<>*psC#np`n-VVZD zWo}g8*E>}^kob_mFzVoyxfx~|2!aZ@IMEB?kTVJ=#~Gm%{ExEzZNm)=dEJi?<=?uW z+5q-5g44SIQCoUyis%X5L>cbk`Cc9tIZul%qvy>{sBa|<4b~KnpGF z9Yr2xo?UeRuWMBRi?sJd@ViG> zuQ%g{K=w1G1%|uX0)8Yi&19zGdu6!x2~spP`5e zG|PVbT_vOqlg1BYG6B9eDd2%CE*U8W&fQJ9_G`Ug5ZnfqbuCc**cLe?D^mhgms+v$Rm_AAK|tBS_SxA=hDCqY|B z4tN@h=}-U6f&b)b?$y`R_-N4iYD>dC7We^6CR-26T16m)7b*jG0z)_vNP}i6gUK4K z7IivS^|NaBvvqJ9)&)D>r-rEEuPZLL=8LAB`Ai4IrQJMacq(jggZADHAO+fi+vnI| z&bP-2MHs0VY7c6RTNv?)4%4~;nZSrj?{yjXVv&o#7|UkhCWU$_GXsLDJT1ho>^C9z zqN4pzC9pBU6+nOzEwz_&%9H|P07Ec4mh|19;??6|j6)!;q^E=ELnDO2P7`L=RB3l; z2WJ4c2|LOAOuCa6YDX^nGBuRzPCebjmaI4D?F^5fzgsi}Vs-rq&_VG03n6`dZZ9*q~K+1>pf~a zaskjU?2I^nGWWjjyV;rryWg<}`<=xTD^~Kdvp%2jwFTdC8Bx@`Hh(G%DnFE-sI+kT zYwMP~rL$evc?af~wkDp3stW&UjyA3Qm>|H$19u)v2=VXTobEHknEkOb-CxU9s%1k} zb|~jv)$LwU<>7%>+Z1tW+J*xuBE)>tt_|l~c8$dOez-);XP7Lt$@LZv)O|kox?kd% zuV&tkC{^?g_Pe%peS{`K>Ej%f{5!mbyvrE*%H5x^&3c}4f5KKlvCHhUhy1bqeld-^6Afn1?S}$L74k-fgvtyT*o1&j_(hj*zZn;4Mm%t8 zh$QK|cmCbiD2<9udUn!B?gnDmi}*hM%cZ2voGnu7vm0ru|3ll!Ex&$2{b7t8Q&tRe zMy~02n>Eb~PB>k~?NjZ;LQU-JRtHq*cK^~bgzuzD#0CF?^U024TkKTa>q)yTe@eYx zpDGl)=n&0UjJTTW&b6#hv1A1eOZ6|H@=djKo$0tIk|m_2!@WRO>L2Wv8c6En0_PU2bT46Al`v71bg3l#meE5 zhFx+4Oq>SKu%pEXu8G82=N^z@Q!#$GkutV!D0r_8#0Vm6cR2S=TVpcEwfKoVYq-n> zN%gV9wKocA?KKg311hJqXj*#|Z%sR*n*x^x@Dx6ND#Sp!sIHDv=5w2J=F) zdo0j{F5B*c>Z_3$;81sbk)$-0pMWq*J8~Xi<1{s~>pD2f>~~DT?pZ%s(R;rE5`J7GG4J|sAH${on3rytmBu)N7osF;!-#7Pk#kNE0p5IwdW7}U> zK*nN`0|&CKSM?Nc#A`~BN1@oopb6r$NW(NIBm*R840p_?Q=Y0;rv};e1ELOVn5zA$0p8cR;_1qy@xg_I`WZS z(lnmblU7$WBVHI~=^`9#)9+Mbj9JPASOf@QYL@$=mRNDfj?TeMhQ`D5Z>uJ_w;nXB z?qtga@ROTI`tctQCkW*gr+Q?veyKSd&dtx4vnffnb#B*wjI$pW^%gi=j)-lX``Bz|j>U$XFEI)I?XW8a9`cSjW`5Y; zM5McKTre9O28EI2ezknahQ6TBx$g!$kQ|2p=!11E>JX1Ne`OG^qMm;-#X^7KMSRDG zBj1N7_^sHB9b>gkoH4yUV_JG z(@^*J{;e6xf_+@-%wlkCTjp0Xg!0bL0A+pKiyfnL3IS?w+*G4ww4{@dFBIhP!pE1l zaytiiQ_|C8U4A)7NA}#G)WSVt)=?dx1!gH5upd=;j$OP!{mKleR+|<3Y7ai+_iAZVdpC6vD`A~Cq47vX~@0s7N6`#JZu^*73ZzL)LtOf zZjU!@K806+6Zur6^O{MhfHrA5JFQC??wmnW%sA{|d-exz5agW`p|aeDa@E#AWlSxG z*fS&y{ekw6yj*VXJon;CnI!otoPK;QR$e{ec_iI=OP&3}pM&^5slG<`X`)=Jp0>$! zYe~nvH-_t9oPr2n%bB>VcoijamJjB3iztt}^it5;EmiOSPs4^DY|T{q@M(OC?uoXC#+i<0xuQiU<0fiu?Xuh>Rqhm8P5#@o$PB!RgZy zj%;{B*SO2YS-Shwc_d3)mIpp*y4}4wJ-`RB z9PR}LT5QM(ukAxw%mc_yN0+Z;T$``NH&y;3PoTthM=DC#7sccNq!04!ENbWz~YfgW&F5|*~*d_~Aseo0|bEdhjIJ}9z&iiuM+@&~r%e88_d4|5u z<|T^Fv0ArCO)vhIi^?OTa9uTGpy&=Ygc!dA9~)hvJ~8lzfywXybZPynCEIjBNt^O3 zE97B(_(hutviYo}u7C;_Tzk=7KyTDg#H`TEb9W^QxitTd^FcYVu>w9mH={?zsN;C8 zD+FB>G-qdiP}^lfC=t}>-S-jnRTaJV4f=xY)B_U7ghY)`#Rjq~;Nwxz;U|IPiq`W6?bT;Wy&-0_+nmYhJ5h#0@AkDqTWh8QHsyVikYK5^#)ccPLsV+bZd z$ytHS7Hod|IIQ6OLII9fRRppD1%j@pALfSmz~8i%urj&BU|AAw@(ia1k7cqlPV%qB zBN82@3O@icTIj+f+^9oTG+l6NrWLu<~T@Mh#2J-t1ecARlosWwN# z5+4px?qY0(T4P)e>C;B~^5-{vZFgQZCr@NnHxf8VC;N`Ki*MwQiQ?oy_+ryQM$QdRjGMV;We zk-^Z7DyK^^i?mq|AUk2Aw4oR5FBhTnVec0V0wnj!wKG(LcjU5C)jGEL*5lr5n z_{E>S_nR=B+~X)9b77cj`rH+O!mM0$Req$NlN(nmI{K3r=iQ4|^lK51LRStpjmyit z&kr*QD&dPz)ihVR4pVFMXAzDu=XGKMuxCZwiwc8xiNSMd-8rd#$rP5K?`4(1dp+0#!I? zu|LV|7S-+Secd&|(&|{zGAL=!;939H#XGY`jrRJ4jYSt4Q_fCITmBpFj?&JJGf7U%m z+*D6w+Z*#nu zxzFAejIR_dqI-`@kOmJ}N0;A=*;7goEIz%}0vJ$%=dg5nMB|f=aPzI&wysSPCfbe7 zs#%v)&ifm;=^f?p zgSfo&H=M-^Vuij5NcXO*?TWOcvj6sAuTy3Qc-6l1AkUG$k@(4jZ2ru|F~0xX-^QA8Za*|EFI;w&!3 zzBjM7#cmuwxX+`g{8?#__TU}A4w3k7bgh(J;}AokUGDG2^_ofy-;%OU@**%_O7}HR z>-oTQy4L|OAGru3hk!ksvBW!L@~@7Zr1jcr>Ps{L>NmSa!TH3CUmxc-(w)5|*ayVP z3{kFRH%9cn8b;;_;jG~J6O2%2K?SlUy0gTeDjTnOY&?c6`|t0m?#oZHT}H{E(;`G> z)A?IA0o%v@dUZe#r3h_N^z-ziIbR|63w}&E10gWvKF%Y+D4!VZ%o%frV{z=x;k^_9 z4(%TMQss?Iyb?gZ9qo-Ydjs2bo%?7rSu6ez4$aiw@FmPyamZH(EZ#HYzW7(HW_`xq zoU=i0M##E2yxq1*wYxhmv(B@heRl^=S$b19VdIOm7 zW`eiuyL5jZ5^x;6jX@NGF~JdQjDL-mo`yyiYi$NaLw?7%8*5Jsw#f;LY54;+b4a57 zsxtckJGOX@l^(L1^wG84V2ANw+x;;B4W!WhjN+O+45i3xV6b zpABR2uQBrap;*1Us0RG~by!h=pCqH10*%WDIKXVaYW5t+=3ey?jfP;hN5@>zvcC(W zL~mV^X^;v+#C=cK?R2YWue{$Ff)<@;P9?xF*}#b$@)6lt4nQ~Q{g53P94iCs%J9XQG#XgivJZo|`U>CxKtTl%E?Wrn)a z=3-|2D19rvc7~IXx1CW$DZchbW7qRRcT=SeuNrwJ`e%%qJl8$af@cr??fI=n|NaZH zfY?va_Oq8Y`zUqnvd7_9qWp@UteaPPOSRHt3>!qsqAz5dMgkO+*Ram4Cy(wdk13Jd zW%n;N4NqD%2kpEqZ!~TbWU)`&7zL>P$auwD2{$B!a2HlQ*p1;4dB zL)gY_Bz*S;6&1S)dGF-9=h8Hw>o-T3S!P=n2Q9GTH-)kgvxrneeG-mlPV(cbvMo<> z&OH6@@W#e{AGhZ4Ozbta4^iZG170TfEK=x>TlXM+;g2qDYV+wTCbRJu4P}DV=Ysq8 z+~QilvI9iOs4$M%gsF)6_@0lM_CeEGxQKiEdIyThdVY@-aQT*n8Y2v+CnzKH`vgA; z-9d>h&)Jc~F8}R^%~g)tS7uj-pwBZlxPAe+9bLXP2OV&tMSbwqE7IFeP)3PHI zt9)=lV}z7D(XtarWxmkG>S9yj!jZ zvvaK6G951j0cNmCu1|vBi1FCPEyXao03ybYy^6%f4*fxONBXTQ*CmzvTbEXfAT>2# z^s=09K?0P|IA5NdCAKvuwckoNF2zaDn5NMOj2fo9UaiD?OfBsCzxQBoY#=C%`4|(e zGAef?s0P^+3+BFxpsRT$L~37`74mDxIF6C}*E@-qd7R3vsetx#^6RciSgf?;{X^a5 z{F^G1(d%6y7ebd-@@O(?dGouOchatOD{0QXnzP4sVwLw*?|9D6ENvwAKl14c{YD3I z?~T;$`Xhzr5Q#-NdK<(ZK8Q=gy4cjYPj!`>PKJ!HX8J1R0bHJdV_iF!BQ)lKZ6V)> zah}=Z@?eegVa8jBO&lAZN1mF}7uKUS5<*Qe3M`V?jshRziIpXPn^sGa(pPRktCuge z-PQJhuGqE|VSzDJWz=f@Sa1002i80eB{bRt)>Xq*FIDlKL;gx}Y@{Zv& zv~FYhJC?V8kpm>lftN`yk;m2!!InBV?a2!YPh(Xm^I~U6dVJm(U+%L*f{>biJh^o- zBAT3+Wb8UEe@ez#b&Fovb6NczV3tI1!F`k1QdRn}wCnZZ?Y6NRRA58h^%XDfC&#SF z&PemI>xQz*+pH&^hmYvg%=#*A0q-+Dd_Gs7A_M2ml-u|n5ZFv4wo=DF5MEu2lXGOY zg`@d7O3wM$n@{+Qn2yUDR@sEdjXyB2<2g1GMzN~O-ekrC;$El|@&Q5jOa@RnMjZ2V z32(Ec?@V;IXY{vL3kUH&D1P;`mg3uE7atu~IILnHD6X#ef>TG9J3_vEibjw#t@anm zI}I95zehzuCNMduLi={rmed-h+*{h_7u_rdlP#&EUJI9qlj&8A`*E^IKnr@a*)Iv7V=>HZ5bv5Es559~a<1e_ zcNc1q|GY(k)0sB80ejXJc0>nYoiGcq&*}sti27;>_k-y9WLyY|4JV+DQ^~ZvR>r#T zMxlkpP22t(l>KcuDFun|bvRAGmxchdbNg>34Yt$wmSsw=1#{k8p*wgK$6?Z5Bi}Le zx{sNXmW55~jZq?QU6BqRVG3ZL#8>-p^Tv*{0XNBU7P8>S4CGNNJxF~HjIa}e_O5R?H|sg4W| zo~yMGyYn_&pqhL!nB)E_kisLX%5xSk-E{+{e|}5XmEuY0yvT@+79c{Ah;`7R2$Ko}Kn9QJX=jo#}SmCwLcu%|ml>OKSZz0b>@ z=VkSX`yux&H6y^RTCwqv?zT6V%%Hk~{zbI~p`~1efbr%ia^MSB#|gC%+Pm_3bbF^C_jvK=X6F9UME(*g@cF2L}~HG1QtKk@eU9D23U5%e{JgUrl? z3-`+}$6cH!JR6M{eqWD4r({ZHTdF@?(~H&ARu;<lSN_phFU3M<~ckOrO=wLrZQ2!w&wC5r50vM}wD=Rjek z@Vq0V?5fK@*bLPM%4aJcCe`8B9sAaOX3oMrx_Vhgi9ovV)`HEgF36i|hA#}598CIH zt@;etHA01Ep?Rzxls%ZM@S;HR0Q>rkuPoNaQ9q8t%qDE(r0#^k7dtJ{+7%@Ee)aX- z8)L!h>B^e_)|^}$PrPgF?uiTi8?hSIi~E`p6rNwi1M%sB)aFan!2k&`*7iyenT|oM zR*R-EP^c`1r@!L-iudbOIrAHLk8vE`ySYB*ns1Q z7fL}`^`!$)A8VUGGr!GhsxCf?G;WOSRC*3t45a?iwF^F6)DLN~?KNdP7u89| zQ)H_ux^y#rOiFj{;AX!Y<9pJ_>ekN1mYueJ;;CJ=b6vj1P?p&CEZui~`*z7+!lktZ zJkd8Qb-`9H8AaJNwsMh?-twZ#yjKtHOx-p){-|#@>Y@K^gAFhNtj2H2jIaDa84uCD z#4w7$^`@8TGo4buMeh;+^O~y)CE(I89x_>_>(!;L`)6Thw^a>qJ9{~$Kf%hzb#G+X z-x-6w`N1;zs!(j%8(b)E80(%4Z798Rut~oYYHj+7AVB#Kn20+FUJvdyn;_uj@vsRP z&aNVAT;wLa+Fp!QbgYxRc`iZ)aTgs4xvrQCZ)cBFzRCF)TWa!DG$j^WqN(di>so(g6AmmM{PYaa$9L zFPSsAINTBHXH9^Is2T}N{BLN!S&IdKOv?&lytB?b!0P%++JyUM=Qt?VPn97>QmmB1 zkGoa)1q(^b)_D?M3T_-^0MS_Dy^YG#%qbh+%anFD88D6)x~x5C-}Z@7us8K(pS6cw z5J%2yq5}-`N|R;mT_;_6u!pSf{k6rW;}iztCgQi+T_-!?eG0hzAv6xh7ggo>fkF(2 zMXtlxq4W1N$)E=u3ffa#|1i)V)n_s|W?fl$L^QkJVjF+6YVCY7&-duuVJ#lUzN4a~q^td}@=0_nPyxW!niJt@|#GYb8ZBOC-9xu8U35?hd0 z1f%Jjpa>+O{!7c6IYsylhRE)Cit&EB&J#KHaI$M73S!DknyG?|byoK6zahnTaiZZ#7nN z1ugAKNHOdN|CEo+M!V+8h`6@S%QfzaUBubpSiLF7t@OGNX0c0L8uDX6L%B~^iHxvI zWZzaIYhS#|0oqOTE1y>Gf9$qOtUW{-js480{a5!)KX1T~Z$IB0&hq2{8Bf(A*ziZ6 zj=mRry>yD@)G0l?UDy>rUP{RJBA55_46dPiB0Vp{fg9WUzJx~rLJ946oasWh^dAo0 zndpPj6W{Vz3qk45Gx{}tF^Y*-G;eSALS=WT1OH+n zujAn4hFA)o1fQj;L7py7ATSW6y5|w2Zsl%VGR>iPLED$<09@e9f>^La6GykfeZJU1 zjDU^z9mlSVGTAmBDE_9;{5c6|@Gp6o8QMk@=&%rCh?c+*?Yhzt`|>>bXmm#gzURU4IqT2G?~B!$}Ad++B;iQ=H&hq_{(IcemhBptx%(6k2GpV#R_> z@zMe<65Jh%!f$H_Pb%W<-cuo`T)d)^v(XI*NEh0 zxa-;O)27(5ytg%`&n-!+WfFjG_@Cpe#mm1(J@`L6N@L#Y5Y1fhSv?s`@jpWD3Z)PR zzEV}vpXl9(-jXVp+pJEqSxn>H#^PE3nd_Q9h{EKG2vFX%Ve7vCsXIdRF#XH~uon&@ zm%`)fmHcy0G4;A{BwT37_^RQ&5M=A>1@`W4$JJeRkDDYbiTV~%k|dU*>g1~;LRz#K zYkPAv<9w;^_;dZ}GXo$Cojv7TSwA75xKHZ%joe2VOMX zUE%PFLCUZeT(K(jG9sa5=LlB$m{-ICDswXY_J04xm&B}E2(bRmkDfBSC-uCrJ!7NS zC&a!q{KWZmmQcWXol(~ozN^?d*QO3Rbjy(O>`El}dEA*&pRVn@EI>&42^coB_avzO zbc#+%}y@@dtr)b zO;Zh}-d%XXy;Uzp44^is?3)4vMsMwK zljC_DtO&SzYZ@x`c*&okt9@iNQDWU6$$r)nyja=AJYypu`xz_2b`|$xU)?bh#n+IG zj~vhV-}1~j&F6VbZ9BOj9;vu?F#@Xt0gVF9c~0z_{V#7{WhWq7NUu-!fqkVWjoSA= zXX76hf8%?4z6Pc}wEJrx5UGQla~mWA|Dm4M1m4lW1UmAR*4~cqYAz@s8G>w^7hVa-5ecaSS6do03%(oNEopS!QbfpEKe$?N}jg7MAQ( z_}zJ4_>)nw5COf1l5gX{*xjdBgr89srC7|8J27qvzM-@ziwrhzZz9zjap)oRY`Ev2 zSlOPw66Kip;B9wnsyd6iMkP-eGIZRx6PK!@7u|=TAUh9y+M3l>awxgrat;Vp=cP7k64_gfnYs&4l+VF4n z?W9F4vI$Lv5DDHFr)(LszGq|yoaZjZx3@~iRk|T__MxIr41g25sEInpTSO8H|NWz+ zkjyj39B0|AT-~H>k~Fc4p*au=hTri2NHgyNdPf8Z{7GG){83jGqTFRKSF(w>!5d*2 z0D*;W7Kcy;<4V(#XqCP@BkN{^r0=iZ;fTn5VIY;#u=qaSG`%tRk*#w_ldI$>&6j)X zxC}1`>!DWD4}TF!?C+QS@_ea`ch85XTYm23`E6WPFPxG3N{Hj31}sOCq~OZmODlia z>=oB&KZ%0zuPUTEP2Ss9{)Rp%`J=k#{WGDemT2Ha)C>I_P7|B|q30a~;Cah|{$Luo8~$hq z>a>6Iqx78qLX4SHHTG#JyHZY@uuKCqX?(dT#X>t^efbNQL8w?64lD}xGv ziuXsl0UvZ`=Gj6IEo^CJz(GW%(B2;PnZuZ-w8uvb2Ef>LcamJ+yN^9O9ack@>;qK+ zbeC;AffZpFFSc<5$rTIT;~(C#8(m#Tl(D6+id=ujYq+|SC~x$9L3$}e_>=DL-P03I zvj5Aa$f3n4o0XA{hMS4@Z&RPf7;Ya+t86_aKJ3;#@}C@7IKDjhwhdFQcwLSO#Q;`^ z5)t8jWcr3uqBQ)a>dm$o`UgaprJlyup&q~A?7-7g3!^Zyt-rT_l}DtGD8H@Lkf~XI z2W8fM>`9Er9X4pCO>H#f9Zoh>XGaPrJE|}cG@+ZvX4CMnSlv4ax&8#J$J0ga2|mSq zq3wWCv%)iECEoPqkvIzNMi2okyIMF~D1)%oEZeCCEjg?BjFX^<{m9rErf702K{AGR6X`KfI% zhvjAw3c$fC=}m6pQP!yo-wnTCV|zw8jnj$Xy0rX(Tp5H#Zt+F{sQu_fx(;k>+e0G8 z+dM#Tw{1W0>l5sT?m80_&a_z#cnNIb*^qKirqm@4WH-^O8)RjyyUW=UVwM zR;t`$W|eMf#Ye7B%1}EG-=|Q%MoXH6v-s6+12JY1TTt0vCo8*Q-%%E4WCn(17}-9u z@3>^DRPNck?I`1jU-0q?&~zM(OLA|PdaT^q_kb0ix;V8}cDC&CerIo@VgIU?@8rF5 zTFAh}Zs7TEw%|2qjpG1b19uVpzfX7|tDz4kF9L=Ir)y_I@`U$M^$uSa$zhE)crp-J zJX$LM^zcs3wKpqww=f9zXjgV&dZ{?sorj&_*uD+4A+|BVyEq) zL$$paDwBa_(SSJ5hPn=pN;g2Cv7%^5k{$JeW7v>-6mE{FtRc(5bpRewchr?x{t*bG zj{(<3u3)vl4|5p-^%x375uuGO-C%aj+a_)wUALdQ&6fNXrbmSZZ3<&`@$fK<@%>gn zGel8;E&0v~&%)dEn>xwJ4M+Y<#E-|=2Y|D!m~A6vN15_^fvuHL+TrII@4Im$OaH&{ zrfFf^2a2{Pp;F7@gwre0>Q=8llN-T+4DzJyns&5Mi%HsBaW~1rsMks?8@XZ^GL}s# zma*Xa+Y2*uir&pcDJBgg+u0pSR>1EICYW>O#PoS@y5n!92=LfW>hOAeb(X;~kE7pq z?}$rU+^k|!`eGT-Kw8r>IbI>GD|OeNZXZjBCx%tmPhS>YIOgxefNc0u{xl)r0_Dncgu~;<|Qk z9s@}q-fhVf=>)G9k#V`!sVbufbzO7~RLe)x63)@CPUKzegw z&{5}?3vf)0+cAe3+_(07t6?^u7Vn+^W#908+ri>7Q*a_()@Z#vy`M(gTb8Z63g_Zz zZFUwIG&l~Y2m`KSIT?S$t0A>nv>|3x<4+fpppE)XRtkGix*X>*ew(~xRvYfbww>}A z6>c(`d2b>kR3@W>9Mod{Jic={a{pbo@Hb8gV0#=W`KQQB$lHFF>`3Ahwv`VkFhIL@ zYkY_QsPkSsV-a#S^_|$Q)i|<`Or@!36zI58%=Eie=G}TpR?(5|T~OFbum;r?LC~$G z(uIhg@_m8qWwM^&ox!knl&D(muLk0zxJ&uoVKe(0>Be_7318!hrUN(axk^?^xbG~Y zlxU)DaX5#~BZKh5V;gC!KK!k=sT}8gjFTO$hneqshJX169aVG zW-2AO>~%KV+!6izpDw1$RzGBcQwW17#4M#FK$xYSr7$VxqUBc3u^evJUJI779@=>0 z56_y{9?||&W^dyZG;^OW{587svrOWrS1HFNJ}ibCSPlNXezW$dhbhudAa!qjF%|!_ z>6ZEEfe@>gA#K6ZDYnV;q!jw)JVIT~ZK~fR`GfNFK^(v_wzD`@wlET1 zXI4-q=gnT;n$gYrd?db>j4yd`aci;A^a*J|d0P1D2QuK_CM|^z6FDCced$I5=@~xf zPg@_Y&$x%*^vV?Ku&vrT_9%S(C?N;m3H_YicPx)2h#R;?rRy_kUd z(-ngE!8+U05lZp8*NW~wmWz^HZKu9mIr|lt<~wV|9RD$E4bCb3o<3BhBL=hOLq^}k-?ekhf!F~3QjYlVG>_OQ(9}wj~ zp*m_Vey(|7IIZLLlAU9o!)?b+fY6b7Z-QxkA18;q(m=$j%}iN{Zo`iP!@3U+F(VXe zro~}>zjpoA$cVe1CDUKh&925~&g@?nv*oXI=RG3|*;Z%C*x`uh==oV&uNhp!v_J6q4MyMw>@U*)dq)z|@;(czR?xg<#sJw-ZV z(Iz||!+cZY@6Us!SantiKTN?Ez5Ds;{p&Syf60HfS~@eK96eX`_qa(J1-mnD-5Sa9 z=4qEwVTx3`R2DpFG2Kd16h>P?-wnQ`YqGYRlAy1=ACU0y{ELAWo4Ar2hpMtFiO#|W zRzG<16pg-byvnjMDyFNG&`WFb`fTM7fmng)10T9BVgke&$gDP;kM8D}2*umxbo;OQ z^0HT5T}4Y$uAJgtT_Jzk99v;>Il({NHe(v-PGET7B)L`288VaU{?}nbA2~*m93nw$ zD0$>x`r}MWrwsd3VU@v^<)ISwO%aH_%w>$FA9JSnBDY<9%}NB*kA?^wec1ST?j-@S z>*pf4k|)H~JV;Z9+sKaq)BfDx+!qr83Q%AG1sbt^9-y|e$nHy%A>>{6pk)7NH_n_6 z0xMktGXmsrVe=m!MDDXAgo2+=>AhFF$%!=Ed;ZC_<5Fuj?@z_=0B+n!t3G_C0wG$> zW`+brvU#O)ityw|+Rp}<^-vLt#PftZZPtVUsvq6Y{s*=CAlT{a9426eLc!J+IFqTY z7%m80LW~;l@y2H_=$=T_0NFgC`Rm&MYSBHui-l)0-_7+-gt0ZypWWk@Tz#v@l580{ zka7T6ZiMXW^L>v&n|An&W|;qe-`9Y~Gu1>hjR>Ux)LVn2qR|Zu@Bi}I-pbK&APS*S zLKSi^TnimazcpDvxt=OjM18-77Hf&01Klax1gElM0#Fv#UR*oE=gEm^egPU=H=Z)) zi}Tc?Y;}n9DlFeD2Z1zZ>dBUAwb7SmbIlz*WLj+&yHi<{TBjJ?rHy;x&=4zK>S-!j z_{HfdicQjMnHSQU`i!HJK`7?T2(Hu)VnVcESDrEtslx)oQLs>?NTZZfS#AGNizIeA zV5EWxwkSpks+VO0yv|wDUR4BH$uGByo-{W=nE=0soc*3lko$YCsXqV2P+t9G@Eem= z%=0-LWDE3ho)EwB_=3dEgtRPG2ahS+AGl4QR6U7o?H=gty?%3h<0P}+ zYD#sX0J3tcHMl>Bq>qJm4rT z0RH5-^p0unIh3mABg^OM2ete3kOf7@7N;;hjT?zyj?bO`%17N~CNwJEh*91Th+iiz zttXWKNRdEDp#_gWozen-PZB;>J(O7E>Ti_9XM1$ZtKw9N>s4njA_05`<3>B;pUgop z?=v#pPiilKYSkt*@`mXHg%O5pL@1$kA*FqdF!9w=3 z*{C@ea3T`S+xNHVW1om38zPAj?TbcVbLz<<`f@55FsX=1TqKQFlGe!aApKMA_k>bl zXE7FGw5^0lcbFzix32oW&Z~m7vA0uXQl&6ArP&LfES0`!_d?E5u>Q;Rw=DSZsWQpt z_iK>zpqN`x^*27gpk4@836c4%HU?EZ8G8l#YX5tn8Sac*cJOpoxPW(mhN>fH1Y5In zBq4wrgbx9_!c%I+ zsmH-%z%L@6p&<%r1nLKxNw^f60#%khs43AHt?K$WykjOR4m8BLrN<{vTOQMgB*80Qwa>y8BoV z2f$Kt9djF1K#*8)N^C;_eGK%_{^h;2>WFe_bWcHV2h*%z+C*8wJ-=ee?yBv-_xrGw zGRTvLxwa|;s3?h^;`mFqFEg%Qe%XGIKKXQwh5~;D3!SYT%m+_TDiGUg?1Gv4vl{Ag z>V3UJbVZTX3s^s11>KJ@WlUHoBVZ{(5~UQoOFVN8DxU1-8a6i|Pt z5Z!|YcP&ODP0uQexs~qtquViI{WuvG_fX=SpkVBuY$2VOnIrNDZ~W2Dy22~Eu=tb) z7i;%_?cWO+T+29VYq{PZ7S<3fXy)9*Ysi@rNkZxy6QQFORf4I`i?%zPMDir^fX`AF zXEr!o_z)N+xeKE+B?Ok@*yK__hrHwAMpQaKk>{#V_$Zi*{GimSI;D2;`wKuD4_(M3 z#h)aPys#?l79@zV#3!j^=O8NVRr^;y&CIQa=p1=4*i*3nqx5Y1cuCNXq7HrbAM9j7 z?2T^nCJ82=1+L7QI5{@*{4!OL-@8apK2h?`2Oya#p$vsK>_gzc+w85oA}wg>sO%>z zF)UZNe=ly#Hy>F-rWYb6BC6!~ihM(Hff$hIg&)UUsJuljIv9W-^(TyN95CK7zmV@J zR$8M}n{O$Us1Ew%Zaer~E=J=2Jt%$QWJXwi!oC(Hc;OS-xZUoB=you@*G$%U>9&F0pm5t> zQ{`0rtKmXR^Z2Hc)ARIPkx+&*HDwr7ll9_YlXtCmGs%rUsYQZVuZ?+VsbW#XCj*kwFPF=09^4yrB=JTSNePXl>TK>! zj9-%UD{L41VymPEkYveO!rIrQat}Gd&7T3XA3YGo$2;Tq*h8ooA)4adv3B=|i@Ep6 zJaq3Y&sZgUZv$=L&ajaoaE&H32@?))9^CdxXF&-sPYbsWcIQ} zk4g7}yI+ez7$j`zErxQI>kS2AOgxtrQJ-+C<+Q6GbzO*G)6bAusu2=QdfgDc?vBe* z_62$*Yw4>HwdNPw7O0JYkpGdH77OS9G3&4cVlgC!*kPPqz&_q|Snnb|Yn2oa#hPMpk}lR>y_9mN?cKu(~^KA_4J9Me3d2T;c?rNMxpDhG(@llBdR_p7A7HtebIagp!)s zYZ{|mfo?V2zE}ebxU}&Cc1_r&E|P1iR_Z?l{v@eE#p@Q!VD^B8>~Tj}FdI@K+_~oq zcV0{r!X&k>1|*^po6&K!d@cG>vOln$x1u;`AJbf5^TjlGM1?BVur(vYoF74ch>k-U zgsCbun<}6t=+~fh5u~(f^=}N4+up9Lj^A^@D3*5eJLgI8yi=uo-E%j^Q}7X2Ug6+RptO?6PBR05Ck51j zB#PhpA+GAzmkQ$O?I~G{l#_Qz{(4fxa1deG`<_o>x?BN$N6MtLF`X}8reA-YiEA4X z-Jvvv^|YBUwxDd=J^4E7NZrXr81xDpYB$!Z*&3#xC%ts#BQ5LkCI4A2EIlzHn@@`K zlp39Fd;f*W+i_IxHiSI&y9baXIF^h`q#r9~-)2HflI)?-_G0~wS&Nm0Ui{pnvRpUE z^U?|F%bx*Baa577)(Met$QK>8=IC5c5W@D4{%=6^AKEasm=yr^RmGY6I;_29hqPX3 zlfKde_k~0Ta8c_9-(h#NHx>w5_2bc>lO>+2c~v`?(;MgxcHMofxt{~hGao)ua%XzB<+ z%^mfbl3Y#$FCPmBlt-Rq+6I5$&8k}dg(|+B<~qfE2Qln00N1~Ne8An*UAum^qD zk;{jI$D7ukC)F45J|;?b1j8mRilK!N02CqfGD>&ZN`(%9@#s zr`l(4%Eqt8-`r~*a2}WQH6uzbJoNE4*iXi_A|ouhbF-FnfmTG4=VNKIuSIz7<&(S8 zu@09Nv0V460eGOD-yNya+h=H`c>-xodA*IGlmx`o>Ro`4Rz>3(c571T2enpPzK;56m^~A1gT_#c~g+fYJ3pz^Et|ZNiTeF-JTh zOpjuA6l_s+EHPOtn?j)%X@YOm3agS!^H8EqbTLP2MjnnL(_HZ-cVZ4pQ*x3a1Snp) z*h|Ykr8oNrVXU0!qKRwQQK9U6wUo$}keX=&r586!BXfZku2{vaL_q4Od}U?;Gq{YD z7+@cHL&%N)A69Q+3WLC~kxCT3W;({sD}Md&;<|)pXnrhDgdAJ1b_%G5E7Jx#b3$&% zb!ojZZk7%xh-vx^gQb4wqm0MSW|g2EQ)R z#_!&u#aI4jNM(hnGtySa5|9*v^K3>BJ*Y>jl-=>|*L84Kk`(`98dJYoK_H4d~{?B?n(B{R<))dATe#eUwf;{G^Y678D# zu30(9L0vi(bTkBJXEQ4nE8^Z!GI1>zKTuPyx*eSfFOrE?i1nL9YHVj(d91g2(Phk+ z%0H3mK>dt6ijVfF(c8Gw!bxMjb7&gU2~n~|i%ajVCu4MFaIVDAVN@SK?^yJ5)8Pi| zTI}mN!XjPKkF8}_s?q@>pVA&Q{d)-^;tSh8`p2ye(JxnQu~$Bd!>-%k681LT{ct}Z zTyU8(2d8#6sD#ovm~K{ze!_=#q|;`&PTzU=(W?-eeX>H!32NBy{gl7y*Oasoj@w#x zn^0_5{9pxWr^v6)ElhPC1Ey)-0@exs!`bk;>-mk!fTK@>Zw(26(3NLzOf5UD?*lWO zHwL2B^lee6nIp@u3hE#z`XEbo3xB_-f(4U%&pk;LPj?Snm=MmSZNJ-^5+^gcnY=_gaGBIcG)kwx`?2N6m_ZG?TVHe4=mnO!r~Tjzc-f?#@p zbb!jCWhm8u9GrF)cNrM&oRzIj0R>K*9H*w*_VoZtXdJvyfV*+PL572d(@z#BlkmNRRy5f=ZPGae8} z*YWTjx{UM1e*CW&cIk_O@)I&8?T(X_ny7|c_@!VuJ0Wj*|`byYm6cFS4!$ojHy zLW^()YC^n};R?^I*m0rHAcP&j1{Ws&h{eOh^FMKkj8r=y3vyY|ied*~g>cDh%18uw zT^9J5i~xroio8nU9k%lUR#UWo%($a5S)te!Iwti_*3@L5ThB+HKVF zr10yHO1v(%1sDG1h4;diBE|NYsUufw?w~sk?cgVr&I53uJ4vl$S;d`r>Re#xvOZqP zAurr&xG+Z)h5-vjJ^^j$uN3eFzy$+x%&6fv^qQo6Vb&`_i9gEx*S&TwO885sobpkm z#;JIWF^Dq4Rikppj>+SM>}1nMO%D~+8q)sM<9|kMBvfLLOIQU&$$njYkfQDH?GRLY z*uM^$?WtEfh9`ndo0!PHJs{T&Jmus}dBY|@b_-SXHHn@J(=s~Q7_cByJ7h%4s{)#A z2;rZ9Czh6@{;%yfqV5v`)3`BV0;5Y)ul=w8U3`xQTa;xD{l+3dr0GiTzHR2H-0T?I zP+#gqh<#0{XuQ*wg?FA7aKg}aU|-*Pg-tbDS71aeDU{kFb_Cb#YueBn=Kn>byGAJ8e?{XwH$5h7U04sbEYC_j`dBkkCsYHhdu zLoPq|2LlzE(4hp-#mx^5ThGBpr%kpTa74L9ee{Xln<&28n}u5tqn|V5dlV$@IvY?L zpfPTg|3{rYgqcxNPi})MSrqcwhZR6=b}?==#^Xm?BV{mJ``AZIZiO@9E64C|rT6oV_gZ!-8jIsQ_6itNf^5`;86-BDdbs6yv~}!-+ok#0stka| z<^nKZ3QJyYVRUDwnXR4OOx9-)?`Ek~x)1;1aOJ4seW0za?5yfKa81(N`j1A*pr^sy@Ud;kwZ|#0(I?fz)m=$Jb1nF4g+C&a~ zrRPhVf>|KS0?(Yfa16_qZ@a(++<-uV&0Coh?dpcI{nzUvf++cvhw^dZ(hW(AGAJx_|zF|E5vU z9z94E5XK65Fw1B=H68eBMmwzrW$GYojMPJ≪7do3#L*uY0#A3h1L%Xm2AEZhFRW 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

O0Lg3|5a7zD5jml7%}2D<7iSi( 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

q!JCuj=rk<-UmyWM$ppXV`xLTqjQr90Di5{-As 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%0AEO^#xnqnPkGUT# zclUm(6u`pAQYibfJp`W2d$q2YIc`X%4%=MXN1# z?+M|{RWBO9WDz`cmi6oBhQIngx_sWTN&|6@ zkJ_da5vHH`QFKM8)DGKwP?9maLOu#$j$L6diO$NOjr^Q+63?f44E%{Z=G~rLv@`o_ z%Zx+oa2pQ!NI~Q3Md7p)qHc3-7C-TkQV~*I*FKkCYC_dNEO&Fi^hNb5lQ3U;|Kc~k z{Xc*B_rHkJy(UusKmWe=rKtpX_Dh4MzjT7yFbhN5a{d``&y@!{l+FgFQ2^3&mtfwb z847z7sv3$Am3Ous-|KN#8%Rx?uZP*SQ+gc}8M2GvJKBff`7o;*Mk9z?R;K6g5{`Or z^d-283ls9r_^o1J0TtCQ`2E{|%xVvF3#23fWJ!t-U}|51dxLh*3g~{XDQU;}0TS3k z1KKOi)PC+sC<;qQUi=jw#lw>^zQgUC?mhZFwU2P`msk>#26ruWrE;Jexi(#py3&nO{9Z%`oJ8WxV6r znfW{;ehVB6dtu2qSGnbSodu0|-YvhDR~XMK?%-s3wrw_<68i4_;HhJ!j~d0NRTkh# zhVjBxuPxClyfLVn1t&!9@ASVOPcrroiItrT5C%uDH`6PiRYK4BQoXg9B zp|Dqfh-OdqLz*dmpdCpc@lc6f+RrsD54rjcV_AREe-cP>zRg2dze0GmaVk~fEN37Y z_|5JoNYfpUuqFE~vDTpLz{N3)!oOymj0=e{&gZmd=fJZ(t470fKF-R4t(}xOo^lR= z@dS2q#5E`a^V83+%coB{Bk4De$kH*vQr9AOE#~e{tbnpXLis*UD#;HV#OTjD;;ky^ zn7h12qAWNXY=OGDGESRLnSi$36R-@5Ad;67R2FZD26(J~jXrlW1O7;mqC|ja@OHVz zwCy7yZ9_d<9eo|0zU9pHA=-lXD`*ux@{SrYyj6LR<+icakp%}lrf=WV>jVl3cyaJq z!>&ZtJlEa7TmEf=Uja640*3x$Jnq<(NVtQ%I?;BxH4C|bGt}rhjUD`$SM`^GM)(N) zjziNYl`5~ioCKV2&WL0jOv&bZt3@`LvmE-JZX^iY zhP6j}x}WsHIECnzvm2J<*bjX>4$;zyt24pmSyKgd(t$@NPj<}Ln+!O~v?K=_;0kWw zg@^r#-?MbC{s#ZZJo3(-F~wbJdeOGaGrAXxd8>SuK0;HPQeqEXtn{+=Uc}f*4~}2V zOf%!tylhNgXLeh4L05|TROu656Q9#`Ho}wO6P!7rtI}|{DmqqYZh}S(Y#Y3lL(rc< zP;|C#uqm#+HgDHoJ4wQxC{kV~n8aVA@iK%ts7V}c2`!l>dO3`_cZ3}#FMC$ zE)^3VJ0kriIwWxcjhi@Ba|yVkmrax`f2&Pph{8n@D!P8~s8_0=THQ=yrE;rhgJ0RK zBweIyZTp>Uxss;p!Zyj33Tb2Y+O(kx36I$c7VC{BGX-PDYMWR3GH%*T-+{j)5)Qb9 ztfLQuYuoo(x~Jrb<+0T%O(faw`Cr{~RkKwIi5~Vf_f&%zljjVkSrKl1Y%U;p{pNq>?6 zAAW8f#udcrwwv8OG;$P)i5DWS(|d^i@LB~$&hH>Q8TZq#pZ0pz^s%sX2DwV2=)N|+ z8sfcFwbA6}Rj7X-dbIhc%45`)tF zM>%+?5daAZ8ye2mSeyLFEWnmQL!WtvwbB|h?=)dRKUIi1Mn)6@Wo0ZG3XOXDrY%8{}-@ zT-wv#{1eT1p?s9j%K_6HO}2cF@Us9eU8*L_V^`uRMq=S_P^)7m^PYmytBq=%IzM;fK=PYYA8hf>8|6RI1N=od zsM*U{R6ZY^lk(Vw^U&2*2_C97?0m_wa4ToU!&dktaj>!&eyDL#wNctyxw!i-jV}4r zyNs>LjGmy7vECI#|J&#>B@EP#jV!ca_S_rUc=^j$ zXqMmMEzjy_&3$-+_P#+4wWpWr8~rDVX2gB_lEUPFzeYNw)05uj^=`K6(CN;CfSbO&Q{ z>gIS?@9ZCzz**o&In*_+krLd?e_vr^^=$e{p9w|gWl}P z2;f1_dg`zCCfp`I;BxhzY;-nLlUghXC!xUe2|mq$XAFB3yB*JseUWN@ioz9qT$gu4}Ltfmc45g&U{bcC^~L(Jvv-fK7~IbBs*XfHW}Fc zRGP?x{8X}Q^HlU3N#9h4l=qxyuq?Pd+`7y&x^7!KReQk=jgm-kg+u7ZJJDz2Q_;$N zVSGhLZUs`%99-Y}(mQk4~;A0{vacj zvEs_IYJ0~9d;F+w8Qg7x$cbz0C>uH|(K&s*p8y+fXu@XoSAFcztuc@FcljN%PaiXu z_c^gb6(31NaHOqxJu*_?#mRgpwv{}vN7#|_#{P6kXQM`q1;V!iz%q!0s*OqvRTMSFqKb^e+0J5``r3=?G#s_ZT z{os!Vg?656KwQ{EkIVVkLEe0E8_5WKjg7YGrkPuqF2}{l4dR|UO~QF_wmbpsrQgLf zJbN$4_}nvbAb3Ua)`;=Dcn=&=&c2>&UMA(gj<-16gu#VFp84GUC{Q)YIQUYYU!uGH z-Y@R&ehbHgj9%|wjQGGG;+?(>tjGnt`JG8WC!Uo97=!PGRq&u{f+PyoF$yjpc!>VO zCyW0lzt_>a___R}wxSR6-81>&lZCC%neV%q;L#tYbNapmj$6j&c9$Krnt(vw%NMe5 zK=lwj&~_4RtHgf(c_TkgHQ||*=%PBfhY{u8j6q8i#CL?7Xlv^z-q&vb(S^*)tL^<` z98^XTD9**Hs?g?Rm_;R|2*T$X=>mdwFD)>JgHN8G_PyVu1A8qYpt*s;>j^D;O%-rl z(#~d;SA~yDjs&aaQ~#ZQRgyPw?QZCSL;)er!OjwSHpNkv`AzDLSrc~apFTVLwF%p@ zCH>5OA2G$){I1v8y8Kf|mIa4Gr)WPjY^){ZPQ*|XcG-Tj7_EkHb z#aVF)Ydi5_Ct9MtBDf5;biJv=0&m@{B0%P?e*P*M_yc2Tk zGSZIt*s?A8Qoo^_P|#rM3Z@h&Hu23fhC}PVujN?ABk)wu#7^jRod}qY^Ne$F`zkwm zQhqW`%o<4o(5{v}CU9N*VLn-z3qN&D_im6UrgM8`If>^5w|A+xuJLBA;ZJxgL+3;{ zpI9&_Z&G*F5z#86Dg${kJ&*(sU;S_y= z!AhqI$tFFtA)3ZyTUl7m+f*cFmKfO(N)x2>%Z%c2Mt5woEXx5_r%5LTU$hf_R2^sq zU^eoReFs*NLY+r(mZ-ruASfVJyBSB~iMzsVld+A(8s8aj8NAC~WII#owkj0d zORsmY1Is!~l+NBarRAl&qNC5!Hu^Sv=P&l5G>ytUk0gOUuzRVSVOQ0GLB?W?9{B_S!Iw>c!HdtD6SevTH$`4kt8_7U8hh| zAgt8chG=1mI0dW47V;|IJjZPKi`ld;YY~?@=ZhTV3i8EhZnOPBB;YSI&UY!`j48}n zgWw>nv-CJ z`)lx2WfMBwblL##dZ&TSCPU~q$&d%5RvHGb#rK8J<$>U3orx$~DYxKKbh2Q0Eg*>` zK6N9137Vy7fY~!=`%L!@=<$Ws96Wm`PTJSfDb24p5qjt{u+m@Y%kL=E(u*Ol=htTg z`xo-~#WS>#iVat*xJ!HamwZT3Cn+P6mRG{Z!nF=CcqeI$v>CW%#dz7c)>vebu+!XM9U!9d_ z>+BaFz@%U^eZ=`W^yhl`PW|1qEbYQ0w|-dfDep9?(+Yy}R1w|h)d$CkdOJTYCzyW@ z-t#AzNAC^HEz|F=K@E+WbI)?uN%CfX*=#WC#m^FS zTs$CL!?!q`zF%4DtgZr;$ws`L{WRVvgKm6oNE?<>urdF*??nSKwAJ4@kR%y&&%w{J zyudVXjkErOP4j4H#;>p`_KU!^Y$uqMcyOP~NAu1*?qy7SgcHNUF)+6LuJ{5c2}r?R z%1xtRKa)-xHj_i+azi^>^QhoFh!u$RNmgTYh2V_ii393&xHu6m33YJmb<%n^V{_xC zyB#ghK!}=k{xtLEwUQ0u&5|b=R)ECsidgMxHxuJt;4=zoFV1irBb9&3L9YD3By}d| zI#u4FD4lp6K07I&r4d^~4m_Rl!x_75(Q|F~#LSLoWW+AeWGXMbL8EcvO_$(*V48QF z!7&f4@&lJw@&Nqtx^QE?BRZ5eYr8sA9sWn;-qj!cna-N12$`Kki+Z2;=IrQsh7GUybK+;?py(lw%K^56lU#Qd0oQ39 z8Ay^t?fM8g1%AR)-^)63@%}Nb(i7kpeg(b+Zw@ZcgD$BJud93O_D!y2BrPT14e&%4 zJ4F!7kt8el>4gLY{(N4pIVc%Otz$Ay2rnP60;c#y`z+v1rfV?bo-;>KH1Bt5Wp zf#>KaK@RuS2TG&kwLY|tN)k$Zgetv)ecTiw+Pm1A!Nn8yL`FIq_> zPkU67uzz|fr#%a*({_)%;Q#;?CrLy>R2siFPDnN3v+WWI;4N{g)(; z0Loy*Pkb-7j?LJ1lN>Y2rVln<6)!s3E7^@+c+sQv)JJ4OFw6#ydX{}6CZ%V#4k6Q4 zbjrhW&rq?+;U<;OUNsqulxeCDYVT=XyzjBK+CnRitfYi1@l0@F_3K24^+SXH@SF6Z zWmCQbeRdddZG3~Rw&DG!{0~?Hz;G>(OBY(d&N6^mnfd-Ve(IZl_Md+1 zEXtUA5N3@r69R*0 z6flt>0)N4c;JNrqxS#&JWTHa3a7Izq;kkx%9Of#?C%9gI#n}wZg;nDSUr8pe`!uus z%yXcDXR18!_m09a{qw9GzIjfDEzeM*ujM0cKm7vdD*6kS74(iTbQaAj6UL8briHuE zu5uoOWe?!4vdE(y=W3_QEkSD6v}YXabd@JM_VP>R#ccE7WND1)GtSI9#zJs-5V$2y z(JdWEWpwG*@q^0*EqYeFk9lvX#*=6&spQeC;uG60nZSKzOuMma-TJah2} z?^d_Un0v-bCmd8YC<*Sv=SdjRBgfN6uVoPv5UrQ%com!5_X5ZQTdgGfp)`6Ze0 zGv2hxvoqR=Z~n*Zyq64E&uF>8Y|i>dtULc;eADuM_h0!nOmX|qPN!`(V&zlzfnb{E<92mch z4piGiOr35({|PYGNiFVmujDi@p55ECnUe=J4aF7)cLI~K;P9c6=K4Cvi?+;GY8HxQ z!0Z+cs;=^Dqu6>yGsP+gPGUInu_d28EMBQ&?0!Yp;N;n}N%oVx6%A&cb?Bz2%m9`r zajE&DNt`Yps18s=;BJskK_W!X&%{qn`PqG52WF*xX4RoBgyGjpim ze|bKz1V_hLaFDgtDuR>0B!C!;Cb7%|-2iO;q1wqV;jEu@+jjYe)|1bt@~L}3IKVTG z3#a+4w2a;m&Ws1)Px>mhCNkWa?0f$Tj~GNT9N_Oe8K0Sp&ddV?$7ksE%v782fjPlY zXzQT9i4be)5+Ufee$;jA50V;A%q38Zc6aY=#uuKfoM1l)vI3jB=+kF0s} z3pu$0=}y3jWR*W?7aA(LV13}kMD78X#+yIskopPebIYUt!ds?`FX)7T-i*#&K0@ZW zCza=fI~&vqq}U7Tpu$ragq2S{4(Y(qOBD5=`VZYT!>(t|a~)5sM1PQtI!-478l9-yI43%`d-r^DqC?C!hTOqViAhWqIIF@Xq6-f9gwraUl9f z5Mrwq|PW7wv;;q@GW=k>AKcu+*T1Vmh5#?+U4cD8Uot%At2yJ;M+;&k(; z{SE?0$Gd0Ha*zJ+EPkJ_;p4uQv)X~#@%4n8T#vF?r?Wz?Aq0U*GR1z** zRE*A7A0d%uGIg9)9C?VMX3f7Ef}GCI4rf*^JaDKR9ax=S9T7SynAGh0z(32dR9UE* ze;gL$SY(kcNzk)07n#y^#^xENI^FVD7_Wkr%wW+>_0V1Uhoe;3HMq*FXE`)x+Df2o zXOwH5^@@1PHkmh1nSXR3?c92vF$TusOE4rzZe_sQ^|c#kHm-r7#7TYf5!qCg#c{wz zz$Ra{3}Z?@)xYs}Y`*oeFJ1aE0s1?u;|T&dv%$mJ{i+%+^+) zL~n}pX{Ubh;vF`c_Z$rJToRhXk^8Oe8s?eho<6-Ff%Um?Sbr+-smlkt7B_xJwAf0Q z=)KhiNumk0)+-M&fI7TnqkI!SI7uJ^*{G<-Kd}$4qNr??@6x91L3Dm)i9RHt;QA!2 zWZE=N;N&6p2#D?wPX+ga&B3^N5&ckr(NWhdyt(FyK0yx~9}g8(5+9Udc^tV*(n_|& za0A&xpf7%KMblOz@St=QG|HxykvAp}nh%BT1`$zWh7)9vESk;GI^NY7cVJA5F_N@LBylTUnl2BC2F%XCemwDF9TA?r_@w;-K=*=LFgGwa(PR*=uI@ zvuks9v10&979^;@bSkF4Txia`*?vGAl&T_f4Hb6LL zhTRFgxATOhd%n+aoeiOKf3pb(C}?khz$n<}{+rSYhilq)WdTbanANvTX;tgR*FXv> z2>M@T2EbJZyuVB|8+WH-K;#~?F1bH?(n|#FylsWR^z)MSh6y%M?=P7B0D7F$1keh< z;y`bp*b0~g7Q!ly?6j#_5Wzj~b@>v3OKhh%nsdJdNGcn}>5}u&8A%4>Alx2|X>{ze z>A0opu?N~Li?z1ck=p+c*t1vT;&Y(S{Kxh zDb5e=#jesZ1Rkycv7$@D4%%1FGRF0Fh2zje-}%q&D@E793zB{Fy!S~kFPA2(dxPu# zUYX!o(J6G09%`S{R;y0vEBJLq$SGr2bNv>$?c&ho?nm@oW6x+TygU&1k1$NVCiEvkk;nB!HT(7vC9e_(J{I zo|)&bWJ^g|d9R%;&*^@6G1pEN&%y8R!rw7~GZI4acg#O9d5FYkHa3+F6aOFk>8=d( zNdnr2Z~1!Jyum)_-Ou<`-4(c1F0a{h^S$v_kHWaVtEF@zh=OJw_Hm6)ST)H=!)^~= zI~A~u%TW6m#*9G93;uPxf-mE(>!!U`Vi(n|l3P=uG=k)A&i z{^qk!-~G&Zbw4x1`!mnpz5MB+%ufpgdvsu17-w)4>yID?&hk9t&9A^z4R5d}276=% zQ;=&&Q-o31#8F~EW1R1OH8qb)3C*w&+e8F5QZo z3j*V~;kt|u?`adYjAfmg;OnNG?xmDl+K)gB!@>q`v>)6QpQ|hwQ@KB5z5+y_E->Zt z+Nm7e6&4HhF_gTUYibT5o~sB$;~jqlTxh9e zT{v2rhYnBiR^26f&v*%4HUW?^?eYP}6oV~33rwXkpBv-`o*f76pCGv#tu0SV;ReT| zS);1?Ui_EuANI}&-5wT7g;zBj6x!bgtnijrm5(aS-JhUz*1!T&>B=W8FxPd|-7O!% zKOaq4sL#AxnUsT^XDgC5H21y+l_|AVKFEu!jUm4c`|`VBzIbp0Y-Vq->#e3(U@~68 z9Gy`)72QEc=~ekDev;s6a^^NbLTB-G5(w5w)dLwL0de%%DgVFTg;y9W$r>d99(9`D z?e&`mGmbr>M7%-Y%+!0VBzjy;kYvTehGh8YJk{}(7J~~Vy#_CDR)5CXL{^jtv7Y-1 zYn6GjWETp#;sj*_WS7*_rg6%g|5i36s8SHma)9~ZqyXgU6#;?tW$AYkkFTPu-zQkr zNdZZ|IwVP7^MP}zGJh_`F`;VVBb92}5n$uFdyO}h1(X)jKds>y+t+7?-T3ekYNlBe z4Jwxw>7%>kgxYbaV`_7OBlLFKog%w=$E;x-us6W-skZ10Q#V~Q9$ZD>5@0*;QYQ%j zM_vHY}_7ZqOugt`5LZxHpdCz>)zgg5U9Dg8RFWca+jGM7`wmN}= z#t@v;mstH^Ty9^H3Fxe#1gCa&fT7YOZFAv6ILs@$k3*Tnm6J&H;AI)Q4UXcN3qQH; z5@hbX99L`c=UMmZ0Kx05^L-r^j~|%55&Px9&o$4qJ@SXkU`cuf(dk#SlT28T6Bgg`3HMBT?xRznYkh=oH}^ z9J(rNC({5mNl}yK(N1{7$na3w5F(|gtgluYq@IyZa|de*s7MGd6c;%Bf-y zUxjyKgSuovav)#EW7y+3FMc~gmuG3k$Dy-WGT$ZjlDDvmkOl)8uQJiWt@ew6_d@r6 zo+U@OzNj{7!o)Zg-%4kg2dPXeJ$h~Z*oer^_^WT1se=n`HN-QL(eSXwnq3E7W+cx{g#-RsZeNy>KMxNeV>PHnEC~UN*`$*G$kV7HsjZ+ZUeA z6He?oAz@Z9pLQP}#$(^4dX<+w=EghLWzpTTxs1;`t$R__-gX}nRV+!?pa1uH{SW5B zKNy<**SYuyAH90@yMO+BKlnGlr6BMB@8ACgv-FHyZZllY00000NkvXXu0mjfxCCJ& diff --git a/assets/branding/screenshots/main.png b/assets/branding/screenshots/main.png index 7054909a0ce2ab34833e599f553722a73b4cd872..c4dfc8841ff21ad4b19f0da8638a478afc62b34c 100644 GIT binary patch literal 765628 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�GqCM4&NW1rvL^UaAGKGw^9~iAVdD_| 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ɫH!nV)RG2&*D`8%@zTxv5f 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

j9z7$?p0TC8p*DtczWX8-pf*%` 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 z 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

5Z;)|=*|b_)Ossn_$hcsmm8;^?%MWDc2 z*J-+!D38r{O>QSRyg**%VFh*0tAI;IVo*nxtk1_UF^J@Xvt$ zq?`doRtb#fslmc|BC*X)y@kr$s4P*wn;Sa+;q+D0+5LQP;PR9lP01Km%#{~0(Ur7Izkg^=5zg)hZIgOVBUDxlOxaIyj)yAWj33sG;XUyXM@^$1N!nqvif! z|FJg=(kZ21I5Bwf;cjj`4zRc!t`?)>Lr4<3O~t`rSgTEvUl7Szf3%-Z#jV`jTkvx! znSXtRdS`o2(%cCgTiyB0I=UVn7>{IEl+bHNMS-Qwxf*^o+0)W<{gk#mG$B;~#meT=!2 z@uIZipOrgm)C;gbJk9xGW`Wm{EX?@kJ4SP-L_|PHeYm(iu7t)K_2HYO_m*B%YArp> z2h~w;HrJ`}6Zv-eko5Y{<(H9!QLnKJK}z6$r3&uPr~VYp#Cxr*y-VT0Ym*M2FC3`D zu+eOsyYs8j)T??7E`%PWiL7kmC~M7jxL7r7QlnVX3GPcwvegn}e!o7PXS=Gw1t;Gz zEy`N<{!cAH`{cDcOxg$RwK850KzFj9CZ8p^IqmbVc5WhyWz#*fq7@UY3dCwqg{ToV z0={gHda>@}g2=9}U>u=VhP}TE6Dz|6hbR_|{w@94!E!kwpO^T+3#fqFIYrKTwM*L*%iDoQ)LnlOjd-Qw>e%1*yzSZEL8Jb(3f4I zvXYGpYi8R>nd_`^rwi2$GB4x7Cs{J;(I|as#UYzX^{a|2po*Nx$FuC5r`gtcz*Mg_ zE4{Q$O^#Dh^I6nR?bnV5ramA)3m^Wwg6Tz_E70sxgQUMz+NwAe!&oW5q+ADZVBupd zN^>X{nC6BsbL;nx*GPA%r0t{^XaePiE@Q_?l%o^xD5u!$2pG-sHW})V>H^_wF0pDX z1-^IDh?)^i+?01kuSma1zYR^GMo=9u8f$~&gHi`7`G74d(f>UhAecp3C|3o4I9uqI zQ0`c^-w-1{*sBj{-LzY%(Z*gZR~s5zwEpM&hIE$?+qLrR%JXJN*XfwI>2E3fYk_~v zSmaOfo1Nj5feb&G)~pqRS3>}98b1m<4yi*ySK-&0>|f9h&6}wo>UUscR67(>57EuE6_uR3IL0w@>1G4x zd9c(je1dLj>6Yx)t>s--Jjw^P^lBr)y%`;a~g$u*7}VC8c;bp*j)JN9<^ zLfV@0(`9y>I$fIjTr4M8Ym+xw1d4TW^}E7H!tZgAJ0FRw>B9qvb+^^FcY?`fG&^Wh zTWHCR(tEwDFesRlj*ABmw07@s7g+zQ;5!k7r~Y1A#x$!vCPLUETwEA2vAP?^w5)tz ze=+>7+|~%3)0co$=d$i zD=|r5!m)2cP=w-%0zc04IB#RjnB&<3taHJ&wfBU6nwzI>)#A1x1=0 zJa7+}UY^C-G0^ZMQSFs(YZ`^jj4sgiYbeEF4w;prbGaq0>LOxybel~XyWfc^r^s0I zu;|4duu5Aj`~yu)97FN3@1u0$V9wp8t?yy}b9XXp)SMgw{|dV{SbCW@)NQin%ai`jTDyDv^Fob_ zeftV_0#r9(D$X^GNA84H8XT~g{wt%v1Kk9T#YwtWD5jYi;7HM&8%*-RsfaZGFU={t zuONt3wAR;dMG8$HSA$c;l0-n~Y8EjM&;kT$an=SqD93Zgzulld@gf*@W<#MfUu6W0 zIThQkQ^|#yt+M`^k!z6|k74n5q;w{d2H7r(Ke7*VlRhanP8NXZVp^!m{xV*|I65MQ zu`X8#ls#v+XeKZtE_qh3_Ape-#i|0p-n_qtJX+O36bwm;2bK*)*gx+JgE&m(S8aQ+dL7DWXj`I1f_ z0M=$CJM%2jI9LTJd$fyKPCEiPa*Mop- z@hP%}*`pESeB>YtX1TPN)C2+pxm4|NeG9ME)*brWy&%be zUwni(>cV);hMlfqr4d@frYK#{uO+7X!J(I>YR?!+xnmat$0`W6r82y(#5*3j8jl^U z;^c%zn@mSFc1vu>F5zas+H5ZvNAMHR?PLl5{+@QrpP%&0`�AO>+o3+gphe?`PEg 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%0AV9O{Z#VMh5IukK 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�gXO2$f7_^E{RGLKI87zOnH&E18XBFw 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⋘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≺}Vz#$J3_C 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�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

X`Y& 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⁢0!WwQ2G|O4GA_j%wg5XC||JV}@L@j64 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 MO*EY<=oB;k=pB4+A->TBnR*%qSKtSJ6E!zfMY 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%0AN2PsucPi@>p!dn3uhntdYx^d05M42A6Ynfo#x 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

N$f;biiozx7O>>fM` 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�!j~#~~o)leOvk zfX}$g=tVdE<{Hs+zogyq3(#1^{m6qwBkI1G23*SkYM>50fEDw_8wbsZ4Tp)l5ZUH zB4vuQI9FB?-Y@Ty)IS1U9e%|aX1r8XNMVUL1NjMy>q62g!Vk4aiz(T5&m<<8b_Tp=yBQju@ zcy`4?6163>sLSE5L?=pZodL8!`*6_gCkdx4?K2bqxTLz!zXLesHgNajv)#T+JYdEzKb+PEMD7jwV4IAdY_Ys%F zS5}@H_G;a{%sk2SwSEMyWZKt{-&i~@r$o~`(D+#YBz&w1=~$6d@j!QwgKxJj z3-qBNt#lrxu0+4E!C20E&q`4_Hz`mqr38YJ^EBdhYTcb1!9C*~GG(7!qhJ%h_u8@S+? z?BPDTER?fC#`E63{@-2z8XbPL2TC9AI!<5WS;J?6I?*#3tRhdU8wv9MBHYZ_(bWc& zg6tc>2IVjkVaAkh@gE%YXgk3dvW^W%iknE4rx&)~RW1nEtbifnOZw0?+Yq)XCjOfW! zR3h@}(@{8y7=yf?zrPg$|MT$LzP_~~%S~rb8j4tB33Ap$lIdIt0o-VdS(1#_qWdRD zgDUh%o=$PX$8GHPRc;)R#4KraYWF`;S2y6{Ev2eip@HtW=8jVI%9gxYGxUU%1uiN>WCPwJ`?X#fgskb* zZ(bMAF)|1PeCcl(Wx@lzu9i1f_UA1=d0o&SJR`+&@&YHsf8cof#;wfLK zRaKO<8AlEMm~`C<)3=$oV{P*{lXu^KI&DAtWfH+p!o=MdDU0^F*5hBS^p&I& zyWI`$mkHf>iB@zH%5Dh8emi7J1#V}3Bb{!`aeHeFo+8Z(D8q03y~U1myqP(D=g?u9 zlmHhyMWDH#Cu3cvA7NR;6|&NW`GQWJF);|1qF^WX!QaO_b&MdLha%(fuck#0uK8sK z(phoA7|L*|DMjY{LbNYZKrbs6a_w!vW)Zks?Z(cp@Kd18~UQ}>bkdMyj5 zxP5VN3EktiGypxe{rM%#yhse)-dH!Vy_I&wEAUV`p`o&gY_XlJUpT?`lN&lrQKhVB zmxAZ^<_Fdne5v(C3VO#`&DSlQ;q0oS3IwQabm2%l`A&br6Ywq?MOvh9QpA3b66Hz? z&j*{=t84^>225(~Z;yy8zWywBS~0M2u=PmXUeZ%?knX7bR{U6`iol^=FE-XwH>vw+ zo5?Baj^Jk)VwZDF+j{bp>$>Yxz{zR-hkmy<78Yw1af$MS27blU(}ck-BocnfPHQf6 zeQFIhz5ASi3#G(=?Kvj5JdHnWkGIoJ?}QhX6g>Ir^QaGV2qnk(+*_5yctOxwdu+l` z+niHu*5rEP&e=kj1Y0nWTSHMt`I>T&q|pWh5Wn=F{sgz^8nGHDCVYDO^y05z~>wWZ7((iMmttF$=qPANKbO~shV%yg93f}v{Ib6#Rvus_%_ z)+rZ%%#6O$*rL;3N3<@#%TK6?`^tDHi~5D|^S^cY$iISp5ZJF&3hJ#!+d&Cv6Tse* zNOxG<=6lnDm1^wwVFcEA`>ZI}F!`$nk7640AS*P`s_2`EUx&fTC|h-4U|iUSw$r$d z6~;p(9Flt67`sQV=g}R8deZwmgLcRF(5xhx1&l3hak!^JQ~ zyjU}8N*3MV-HM9_^N1xKI-yW2`4x3|#HIs(p`XJ?2n_x~C7vGo!@;&ulL*;Y2HEkG zC7*H1@CpT}gC179!zr~l_5E5sx9T=EPBt|46JN8)tk5MqZoHIm6<Eyt9_sqf>XRan`)=( z+E~WvXv;$Rv6_qCa52@)?bTO64D6WuoQzg5Fz4^{%&hZ%>#Mzm6mw zkU8kJwg==;E(H1;d5HJv97Sr@<%C`MKaq-@_|xO8Fh(=kHxY9w+fuK6jz$B{?6DW0 znGY8osIuEm-bCfJZ(MOVPUAOtA)t*HOD1cj4O@zHKQT_Cvm-`t9vPd)DWXNGJc%PE zvQAWw`(C2>W4T@|qo9Xa;i_XfUf)M07O03JUu2 zxwAf$vBFA;_eqE|irX?qIJ?1PJ+gt^ zRR%j~BCbzfgQH-!M5ruT40-f1I8&$zW4sBxM$M#!_=HM7owa5Y_8#WF9s9zNcJ~R( zVZdc(u$k#p5?wrPQWGuwjg#23238Ky{BX zp|RswCwwN+SS#H~`8W^?gt_fUw<%w6yO8~xnx1pciJvn)R`jsesn4W`{o57y5DK}r z?ddmX`mhjaKXb%AH6>L~gh_e=2m-F#robdqj7wo3sBlwEZY74pE zk;$R82Hzo41UjQ^S$qz#Q!qEaN5rk7s*Ss9^rQqw3iz03tYsI9e@GDlO2WI&VCA6P zKK!@93lbPdYJOjJ1;B&PMop5Ky8^uDpS-LAqmaGEzG68Nqyt3*WSST)*i|y`a@zSTc9Q<8 zUDxt}2^|uO{qhF`q`&=QY@d(AV^w>lFbl9sp?+5_N32M%Qnl{iC9=ZdpNeTESqeVm zkm-{&;<+75E476Q+Ve zHF>ayJJL`czG{bc!tVYiO3i6cie{cV!Bg+f-`W&V3Gs9XKKLgJCVB@dQv7qTN>Z9+ z{9rkkJaA=Nr?pP;LNd(u3q_>)jW{M3d*sjZ9@OWJgg?EEsT+c`5}_YC=z+0L_mCvh znWVcyLhn)E>yw7dfc1vspos!zflcg1#zYIUKU zFuV0mQtreJE9UT)>ghJr-#jqM#E=#h+CX#>vGCb4^T`|&WJ&<#Kw>ud@Q3#_E*OAs zb+Em*oQM(HZJ?_((FXHlBe0Hp8E0!Q35KWD;m4Ry(dF{p{D_kj4&T!&!nR0`GtT42 zf9O743U5cH9ec`SyJD82Yk{nSs9 zb6dBq-yFZ;U!$?ESN0@0+kdk1I=H#rY&Y)bLv3Uu094H*G8bPMyYr+NI|^{dpT^)c zB6L7Pr(*<9@gp2E5>F5?s@cCb>3!UfnMjgb)}Xh}n?H_t_Z>%B*m))kK5tp z4G;6^8iCH1w7^(zAGLCqPo=qh=o>4l2R8Wi5N`Z}s{>18gW$b(>W|~)*B+;Jp{M(H zbOk>+RKZXxD}nh}(U>yMlG}S&_P1&Ydx&Db9zugt%y5Urx3FtUC;nP=5Ka9($V727 z;-vOBv?3rL4Qs2q~~;(ND?Hoe7bXz$E|`ExJVG~ame)2>5l7w+rFBQ^QC%ByKzQm zTIPYy>#=XzlDY%Ep1~g1xJBm-+*Iy17f7>u=R zq`GUuCvLA&JWV$CzR{=-qlJvm#UkC7cy%0pPVh1*^!?lP&uf9W=8ri-tz^gP)WRfr zKFJkhyQw&-CVQ9;E6sak-!rvxSk~u(BHhyJfB#3B`#q~iZLNH`_AD=2`z6{sD4*3- zGE-Lp4QBECkquyFW2?NY_+D62*wIYL_~H7n(X$v3aovTD=0%x?;!Go8j)E1AlRs3c z2L(KH#-p1)7E*5S&oryrwJd=dI&+>9ya!aBVZ33^p{((!i76^P(+YXp!FX|s1gZu_ zn;H1$(Ch{V1BbCaVdyV-e>hPb)Fk00|4pI*Iz{A_GOd1$BFXTytu&c=!lfL4g&b0b z_wZMvEEOV%>o4aIKqea~BHzP+oKMw87fJlg2!u1W{$~%SaNLD4uc{&?$ZY-CRSiI6e0DHd6eLRC={( zgQ3Z*BUoSF#cSVvEk2zq>63lFPortk??Aa33SW)~PgHw96oJ(=rd|dKr0T6!CRPgF z&~i+wO9hI&YPFKsp8fmDR=A(_-mJl*GW)WQ-d*9>M9~e6-9j@tcBG~G@2J|i_R=p^ z|5O1qlbqccko3^&=OdO+p(JP7*L$4u!zmwD4$0-pRPRa%Q9kpdE%&Tg=?BY~`vH^3 zxj&ki?l0MT353hpym6qhHZ}})wtA=dD;ZJ%ADR&Zi(Pe6de+UPo=+G1ni*m38;PCk zgmCJgbuEGdly*DdNu5zw7L$QhX^J5Km=s)4$HPar8;M;mx1F7_v=C3{AALNC_ZCpr zOc1N0JnZr=ac)gn$(U3&*@FVrenEET4-ENF{)hXKulRZccaK|nK-}Z7%%?Up*~S)5 z)=r;Bfr?*Rv&YJFa@o?xSA4Jj6@9vle^~7Dbmk{eb&+*a9E~4HQAwz5Q#vnIN*#8V zbD~In*z9QINC3(pF32_RNsrBFb6M@&A$c1g_vwgThkl*I>f)mY4F=j?8P8hMeLBx! z1nOmp2~qoKgr8-|r=mKS>1APZ^aq<7-`2df8=h~X8;nqtbSx_LRXwLQ-~YwrpOT;l zC85qlZ#Dm`3TZs=ku>Dl8IR)*{75`X`d9ra#Sw{xNA2(D>2YGd29E`SgkdPEIxqxL zkia`tA#=hF?|jL8<2^`Cl)-*;$M6A9hk`YAJb(B`DvBEwy6le(Z(&mX?vs*9fAkGh zSuYlQ=>l*YTxV^N=7tpyA5d`)s)}Ci(>JzlIL{{Z#7N1Eljzj*>4%RQ6?4ocb5mXo zr+ygJINRE>kW56E;(8jzUdD0Otn0UJY}3x+#@?` z03jyM+@4WEX14q-5f|aH26{)OP#Yl*W3@X|4FOh4GmXbOlKn566;_nApl_qZ!v}3M z@2cj(IRVB~zIffI7?w6v3xaEFkl=W)Cm3ek*wrS()if~vEyZjJ! z+MDU}^6E+`z`zscRNaw!^5}B3yn%iDt?kd7y|cP@;xNKOMQW78(y|{QC)CM>9`W5K zRT`>+2uSW{f(WQw3C$!fV2E471W9^w*?i)EXY%jy6CS!BH<_d$0|EF9FY40;&OW$Q zhQ^^f0wn(4%rwU(1s#nTDB;2mihE3S#%EW|n?Xkg9I%2=?85@ix#&99#1jA)7Xrj_ zkneu&PYcFX*FT-RQ+d4G;~BB_ebF}<_&I-a!>D)MesXSjTB_ON{I!FyzFy%+27Cv*kX1FzO8e=!uL@H!Dz9n2?t>`3 z=&Ja7a6-s3R!$LPmhX`0#fE56{@h=nA;e*Lb!j%?Q5SrrTvdeA+dZ>b z$}0gR%!K}?JuLb&D_mB);WcVg>XbPQbVnuYGW2dRsVHH>Qec1ofT8Z!bgzsj_RY~uDVxAy zJLq?Dag9u$Vgl50o`;39C8e&eReh%s&B*}mu5{|{Xv4P?9a>|MFvwgBqnu8)2azpr zL%l&De*VAXfHSz@Tx9RVg<#Ekj&2m^amD1+jfHlBH4$~xntrv|I^VJ|L?n9b!769N zAh#6{&>(s_0-BgWC{IdZpBsj&Rw-tNhfa*hIzlam$Ht>`jfN~VW>g)^CpeREv9veS z+Pg9bFlejK!C>FP_U~iniVX#xz|xWcQg?&^)w2L}RCyZXP*WQqiHPg1#CZxw;(L*^ zO;MpUPYK*-Uj`KV8GSXy6i{t13#IZIC(O0gW~%o&kqPmWWgokS7r3}lu&#CrpHmY< z;4p-M1WN_|-2yP+Mot_16yVj#lG7;Kb^E(5hiX1GeRR`28lz%e5 zlF2)wWN{2MU2`fVRulvnGc!q;uXa*jr`>e8kW_^h6|uj4C%e2n{=9 zyqxJ847+k2hOGqN?B$dmRTS4nV%zo~As&BzpjMGOI{)VxioHd3EcI-^Na6Oq`n~^u zGSTb(0{;gT;5!63={)1{+{M3hVZ3>#v9wp3+FD8tfr*_*P()Cbo*s6bdthl=#TsNt z>T*kkjRkTA+{PZSADtoWIxaQ{W95%ZP;>$k4aY~IR;z`cLwltE*O!FEv8{6*4K9lE z6WYbnAxAn$;N|kr;~DSX@XLkE!eV!m08xhK<9K(}h6J<-3hXV-m~sODCxPxOYh>A) zBD^lj_soBE8M+Ew2nKe*J-RK+jjRFxFx&vI!ZZgfO4g>N%ZV>p=gm^FG~aNa z1SAqnp_Z4HhNC|^gb)pU*1dUU9sj#bV={;beE;1ffUitE*B^CczL-$+S-3}6T1avu z;^qZi?&0^R~605HJBf(Z=+xA0`xqYz)SZDJtxS5TDWSSi1s*%sU{ZwipCeL@5RPYGZB z9~Y?;k!CMAOWyzNOAE~81=UGN>LRvBw>>5HW5dP&=bS7Up$zyqrBA4u5m!$SrxU}; z$EGBwBXc%C>%u=GDAD5ub`r&W?mHE%gL$nVBv5yguGuP0V{AB1UMy5eUgdi$Nqo<) zyVyfxOe!(L=&GJZ=@JVJN$$nJvjCQ^lX?FVzj(*$4|ByQa4fL~Z-s#H2 zvV;I`bfnvKK+WPFvTH%Dkf-djM1Wlpi>Cn{Y_}kf^GlZzaIgpj`Kkz_%3SyY&v1h@ zjOYtoK+^UOsxfCXx@f;9riga?y1oRSt;dbPQlzE!1bkP@&A}^;0?Z#Jlf$@+>Cq&i zsBjS6vJw2{(@64|V&02P%W!&r*5qIEPV{+LraYaOLS_lJ*FR&>U^)+_hy*RasNzDt z+vTZRgVBFa6d1pU8{#i_M|zi)D7MxjbT3W_^u1JM2C|Dym-yA3C>bKZk71nY5%jp5>cUmIB|e9in*Hy~u&ckSKg$X`Vv zOY&*O$J`C;P}KIvCOMgz6Z!F-u4-Er8snn7%!xLVkO_x6^M%}=T!7*q=;@kz)S61*uI=u_vOr5okA! z-&wrj83gH|tG(~oz++xdrIIS*qyxcS#!RLm##r2dJ%2=iN6e_NjeZ1lg}Y3m=fSp7 z417vi`({S-m;lEB%bmBo6t51?&vz-*iGKh4xZiGQi2T!`i!x8))FYJJ@eyTPb4s?= z$BscI>J;rG_8odS<}j+M%S2iNKZzf@OMcriYXo4c$B z=?)`>W~B4yyvH+e*h<}|c3+MsP_n#J_#M0Lowii4Q)5mX+WS{=GC|{#iZ;yO*0+L1 z*YYr6ctAGf%}}uoGeG#jKlxB@0}S7uoazn27*W?OxRRJ@_@NW!BLNH366XG6rrex# z8Ke_TosS5-iupk+ZQ?=Ejfp-X>OJSh03(W)2&2zQ3Buq7xxCM!K6K=EjWHh8L64yv z7jw5Xm={b!)j|eT@st+}`+17>&`2!aJ+rIh&%Inu4Sy<>xIGjZ`hd=TqOQ>LEYE_h zX9vy|ZWUqK@ijV_SCp69w~_s#=Pj#U_Q`89o+o~?E}bOIu09>b;9}Xl#rzxuWlfh^ zOgErmr2TwJRioFKYh{2*k~_*0|EMKURLgy?>yGAIwkB@xD>nM`VM6!1XS>z{x+=k( zykt>at(^6mPCNnFT1_J@6AtLT2DI_?Ww-F{}?)%N&@W6 zKOQLyn+mDlXo*=d^I42q>iBJ|BKc&t4@FbV~8J8F)r+pCGq)W z|{H`g+ zzyN_k04Mdxrs2I(hkwG-ecl?x>SeU{lxXQWV_qkb3PWCG^}$J7=eFH<>s4{VSnqH^#Xf%lzC zKrJDL!uS@RxB>wL9pwephZEu?(Oq2BcQ=?Wyh!B@!uPo6cx1C$knPr;P8%%4plz&E z8wfpxVW1f;s46i5DTPQ1mnW84()^Y5HH&{0ghn1_;i;hjB9TOe8qSxNU#FzphGqRxdN=r?JE= z*sJwl&|4=sYJA>B1x!NMD&$n`i}CE2@ZVT`vaDtO^Y_>;dRbWMB9(! z^C^nAKU?&dv^|hvGuM7a6h7Gc<1G(GpA7#@ml#snmkB?8PvKN(FI=k(r^rRTG`3 zELAqmxcx>55s_?H=WC9DN|=X%s^6!iM1W~%A<(K@2vnb?8>4N(z+4k)NFmYWGhIpV zG@%;*pl5cNtbmD8b;i-u2hm|3g3q5FKoZ=i-wU)@m;SRo<;rjHZ%RGsf7!G$pdgX6 zBv*f*5GI#eYi37H$1zSEeszi9`{0)L5*B4)Cy()&2CWayGDamOJa#y+SSLjOUP6dOaQeCW~N6GDEAW&c9j z`H_G$_U0brlm}60Kti8#_1ifl1bv}Zc>rmx1ZgMt;-AEMPSmFZ!CsJH?;nL%HC}Di zJ*aP*zjbv;C}K5*W;Oy+U5`skU=flWZwS0!{v{RmEOUAI)BE~G70%KZnJ?m=@` z6mYkIJ4Xn7ddD;Ych%W~CPlF09E;Cps#A?0=1b5cT9|qlY~dg640XQ13x)$J#U1~i zF!sp~RC@#Ep5{Zc{kDM#VR;US*Q0P5uQ-dfF{>w#@DWiS!CF)P!HyO}^9tyBLNKqQ zG+9q15F{lBP2W%byPd`VL;O`ZAcqE;pwR}>a%2tZs1S<$6BdiUu&DdX3_+tOeB;KG z`D=|>;m+ERhqy6oG^~PLEk*sKn&oIS&vl1SB04m+L8!*WC?q5*#G-F%0-gH1Fn%v1 zl@p$MZl!Ev<``&;+Q*nrufIe?i!q1DK*!(Vq#c@o+6C%`)o|bGwu}iDGV&R&YAe!n zW~!mlhsRS)F*0ZaH3uax#5>$5I?kU_O(btzQfLQmYDcJO%lFYP*O+^B=;jHm+3nLU z)D$7)7e9u7f@ua0YNIQuQm`h>_p;U}rjc=5)QRjn*1p{&_(OIuS`4(Y(=)kdtYBGA zPf{pW&%#5fqNHMGlnn=4M(8vye<~pM@D+2V+xl%RwPfjQ4^QE4!-T-#0A_%G{#_$I zpoI+Ov|cxQaZZ2_lkLbJ~FnA1HRH=CZ;6Z?V!Hno=&n z-(o_M4DV6(Y$-0VPOm@vvaCa!a7gv*yNF1#6QS;K%Ag^eu}Z$}R@@NLP8s;-Uo`3bQ<38sUMm_^l0`vhFRep~{bTLkxM`idZr} z>hG`NDFd|?b0qU?tV8Z^S7ay}Bbi>a-#~11T zv(U{_28fB^dy0W)GlFDPCVsJpAh@4bYB=45{})YcztmSRcNq@|{9cGq;$T?(_aIl) zuXTOfgx$3|zj!M?Q=Qp;@bp@KIb76jOpe?_&U34UrCXtFnXgN>bvLV?@w0z4fsq5kg=@25e=-w-(H&Z495$DKQ)ab9ew zRt;$xqq-Xp<{AR((l4b7A+yjxsRg_Ul(#`2G~Cmx%@?$W0q5UuK)ECpbAHjYsaZrD zw&s$60_og4uJ#Ztp@IC7gu1+bwTE|^)uE>Gqu{|!8>9_FA%KF+Zx2gmhb zYf5@8-M{b8OcLPi0SK1rz|HMhqyz#GZuaG+D39b$L9E1ozga2pIkG zHuCky1+3)Dl2ODW&*ay7I)ytU&~0b`1yKL`AAVcc=lZJuFb)m9|Nn5_5UpedWLQlS z*zQMt`kcz^muIPF^4;l-lT3bE4s{NfR`uIeyzsnIwDh3i<<=AZX;?8T(d4dBumzQK z$4Qm%;tgxN?$-uwBDIG8aiorIZ@&WQ@&M9_jy6h2W&;i#F!K7?0`{9CDs95^c7=Q+ z_i@;r3_TLWK z*O5HPJ<}?qhmrhAXbjs4el_N*#$fs@fMZI44OEC4V~$AVv%+SOh6Pe4Ck8;g5iD3j zel!HPy<1W9@2QNRb#Sjf9Pzattbj5+5D`0kBH%l55cg+g>Tg^xxD{aZtOHEKm%HezQy<@XkvZ-dyP5!~u!1yZZeKE0iqiZ|^ z7HHr@uHHZjy=w~XDP`p+c@;`?9EeMIqFU~hF@Doruy4li&e@{5VeYE!R})uWg+b~x zJZ1DzA7iV8zL-5Zav`G)f;vhb5=ix1{v39|ngX3r8>8kOrm#Y<)x!_7ac|~>MyxSUw}y;}S1J2y(_MA}v>cwG?sF&EEeMvohpD-`xi>AZdMY2*+0X&BdGW z3v0f?M_GZHP2&el|4yC;as?z}Vl?LVz!YCy(xbD2Gjg`E*SMX^`VuHZ8c}~hC2dnG z&42i#q4Mfh;#rV;-G`AwXYy$Q@RMc&YHlqxMfF4}BIKK|A&)h0L8qmyy|H}5_+fiQ zf9uzI`lnQttcu?4ZkZ#s7{UJ5=#RrT7dG|zqKIcH{k`MWf-IzCf1b_#1hM1&&k79w z!$66W$S#vMH)^H9dNrrx+1~ZeJswpGrr|Scp(@;L&cz|EdiWa>u&66NS?Xh|^mnzi z2WBRzm~Uz9wmkkY{aU{_=HD~lBo#5xQ;@G#fRs6Z6HR{F0JoDo98LtWdcHZdGD9L? z$R(X5KDuW$aFqGu&84R|yWzXb+!RAe5a^+kc^ENxMNuBJb}M3WH|q?$ye2#>zLa!d z9zmE?V88^Kw^=9px%~U5{DK@uL#FP8Cb?U#GIpz>+6Rt$2wHXOtM;^iw zz%+!;-OLWBmx@L3g8){*s-k&mLL39qTq?{%820f)huyXx0~nGS>M2_J6P3YMO|$~e z&epHX0}TUR7j>-YQCz?im8))0Zo5Gvj|K}ve$j_I{}|{gg!b5{C%s@naGCoL&sv&V z`9pa`rj6Mhy>kl@!0voC1q#k?Y@^okb~k zV}20Lj*Gwi9_?GwE|QF7sE_=2I=?z2MQxOCHo`NQTen{lDn-tRXdgyZ5hSNfR+hUG zS*%KZ=b3_k&a>YhhUeqr+y9);OWjr089zq|RtoI0NP=_0;;7eB{e8%{rhOa4pVVJ9 zayPji#GL2%rU|y={9E?URqRiCw|}ZoX|+!@QoM<~SeGD!k=67?n$;*s7&B$)?OeIX z=ZdL>ObNo-yc`S*XTh(z2^qRX_uJnD;iQ<1P6m%Xb0P4zfg ztf^7PZ_R$YMaVAKAHTmu@z|XFv(ZeLWF#l(?Qq(X#Xkf2ehJb!hM@UGOLNZ{-_7K# ziE2#@H-1d@YQv$cTlYcx$H{hQ;e3^Eu^}F0tj(7)tDHPK%Nip&lDPb}Ig&aCi?@Fs z%W*(z3q`p1?n>s@NsWcrU*vSYd)MQHaTo=ERkTrm^>BHh!!m8u<;ff$ex>+pG}A7_ z!p+k94>qwglFfS&T;6StcR}!D^<~VUhk>tBTkgZ#s{KmBWu*pWBCaPP_QYf(->QM( z1Kk!Ht!q-4akBMDjsz<9;MneTeRXOjGC9e3{AwS;-}04zO}WzQu3(z%0b&1?0e&+H zlF*BSDom71rSG4H?AY_qIo%VaM$Yl}{m^PgnA&>1GX?$`$3IC1o2{$?%n-%ScylEBLYn-Ss zWz8Q+g$tf(Xu0lv^@EH5tsYH(rqX!}&=2wKGVi=M@}(Sh^Bdir(Wm;7+W*?*SCmgp zc&gxclOGV5E#Yzlo{;oB=O6|CpBlzCDT+TfaLAGr9`3Nu2QsO5OeXHC%lL*;0joXM z?8Y%?>KFQscIkhY%aRYIm^?R*ta0lq@6P8xNMH@Q$hqI8ChWlG&*#s%P9#!Je9^+4 zUCWfxA&rgr!!KqdRyn>7?I&qJZG2<=n3g&#&t9MHeqORzsUhY3G5S2l^q1cq!Qaxa z2UAVX#=i3xc8CMGA}x?yBnAxZ0lpRzUoFcOa1eP@o@GsLsmgwk?Vwyzu;SHS0U~%m z-wb$Rqq3TH#JMQ1SZ2FiJH-8|pxZo?o`Sl`D?YdM5<)3@pU$qM3M}dr8&uO+%vXhXvZIw%!cgg}tMVXQ=}_lKp$6IOIQXQ5j&{eOyI@m|usJERX6 zpYphht}I?^ClxJ82dtonDGHz^CqAw?>aSvFd=j|y2>C0lBBFMKWwl{#W{|un{xo-&ceaq6MH) zqhY*eeT5%N=Fzh#eFYET#($FYKMd1d#xW(#kgPpt`JlfoGtWx?Zr?nV}`)#;5ez+yjtmy8Z8cd@R7)ELe`-<_!yY!&- zi+Ae>QzHuEN;N!UZa{wTIHl|;4bd1CeUkC=Rz2inC-Tlxq^QgG@Qu$-=85M@*QKsW zciK1G5q_4S6;;2mf&>5903?&{I%n+3ho<$05-;%G#pmAfRlhJ*f5V^=jjBD&SRm}( z70Kx2>1CvobZnN#HoV|<H#sfMO`neosb0j+jhLLB4@{=D*5SF8`=ga-QU#6fRSp>6 z2vB+6y*T`IAtHfcyWY}l--&HWWV&U}wcd=J!LnBJv<1~S6xxtpnsyX_;yrv*QucQC z-`UD(>0;EQ9Jnr~zuCe6>pTTdFrG-Z>>vT49>%#!+8SySNjps#pV~~8*zX%Q?za%N z%gV3bI(m1zbCmpgyT$**NZTb1s5iiO!=|QBSl1}z;y3-PxN33}e+i7uPj>IV;N|{V zuwQ_vNzp5(*r^%fj4px=-vJ|QY{L-)>kBnU#2FO<~`QVrFtH>d+9F6 zhVrt^YwN5%1ZYuiJ`Z$vkgF(VAIUV52=7uJb?%aNknNzv)rNbVh31_qIZdr*^ zf^&0QsJ|kixA4&&sMHfaJ>TNDCIq_+?)@R3z)6%q+5Xe~Xf*Xwfc9#3`ZZbu8cjbNuVpnoqu31}_q-F(RCWaWn%3lv1ot{Bf?qT72fS zIF#N}*tIDaiFG@lE-TPZSZ*)5)sK9;L<#Ar>nWn>-MyF$I4=aC$^4fOTW{O~t93;E zWR8v2ZeZ3SuAV;xupCQ&=$aLNU`Ou7iu()|jmU}0<7qc+W&c2=U%8qG{s`C6Ow56|1%JA3ufaglB+Lzh zn@PgEKJ-KFcpysd$&utmf+s1alDFXvabJkXNyt-S%w1~=KpZj@C&=(DXQDm5zLtbv!=ZzRm^zzd z*h3I(kQo{}`jqSr4n{}+jtA)*Hps>NfWB_<*~?0)3aOe$eT^=R6hAHu&VjES_11Ez z-?-!d{be%X-reVEdwL~(Z$G4mi6;7ykxopV>h<$Y0!n!eA#imt{q8NszM$>3;i0Oy zn(I*)yvH`z@`iWo6Wnb(liT*CLFFkLOvs{5mTQN_b#KVBL%5EIr@5dr72kgKo8xG4 za82YCe)Tcl6+Z(%Uv%X7L5#+~wiaeg0BjQppV2taW+RydiX z7kGs-e<$=7cfqw{TfsNPrya$n*XeWnUE)SJbR|x}kA* zcMT4~-64ShA!xARuEDLb;6a1C1PHFd-Ccu2;}AT!5C6UEzRa4nX6C8SbMLC!yXuqb z|1!s-wb@nDkJ71*O@5Eo(?PKxTwcfJr;G%(QMDTy@US@oH!iJ4zKCigOz3%t|D3FM z@`|6VTaIqLNg`Pg`SLdFg%k_;?wmQ`{#+Rd0r$GC$h`*N_NImD~TrLv52n{7 zru}#DQE!F=zfzPFoB4^OUod*+d^HqTZStr1ePU(sJFTCvy$i~2tz3AhFobP_EX?Jz zL(j6xm`we94(ZB&q-Q&f&>~Rk|8N0tt89ON$+EP&X}d7bP_z;LYfRa04DL)0e5dh- zcB%u7g5kp193&Bn00bCi1 z1*i?Roy}gbac#VMC)#N#ugKYSK0GSl3e-~Cx0IlXwe0ENs&wG_rce8<5r=r1d*bco zdeeb{@TSH*dOP!>8oNtt#uW|j^V156gin<0Y5RGj??9KL!l=jdeH$D21YvhmwI;9X z>ik0|Q!upQPHVg8^rG`lFywK`Vp})WK+i!VxWiB=!!>-hg^i+#)@8#=n)J-Pnu!b> z>b-1eV~mXff+^UC`B@}(#XIa8;ex2N^vn|7Pvshl*wgr;`@f}LgfGO%^?5~4HaFn1 z?3Q=#u2x(6OQLQ+-{bC{4l&}q?h9y$=AHALzC?4we)|QfdX@^K}dC+eK8_q|JZOQ3k z-blffezLi&-d%yRC8vVyoVs17N8}q)3s;4 z>7{3){(<`u`jY0fC{{=@0v%xX#p_E|KZNw{2w|dM4*X-S;hS$#&5)#qV?qEVb>0lh zq2v8kd3Ls7=aY>^80*F+kt(F=LZDlqG+E6f1K)jRAI3s7mNw#j0!P>p09T7K#^S!Y zEGbsistX=3%S;iMEoE>GD4cY`v8XG7+H_}@3pmtt5gq6_M05}|b-LPyB_HV@DJA3u zIBMNe7;P}ghY(n8X1`+OfUHa8Poz6WX{^p~SBE)Z zY+%M>OwQW++;-dhMgaE%ijRQny)Db}*8NQ}GV~WQlTWqCk)X1*Q0k zEvbm?ruc8mOEHg2UuVvzGv(*2c)6}$%Ais6A2+D%!X4sPWu}f7842%P!&dGh2D5@T z>36#YnTd&$%{xC+ld8qg)4J<1s3sNnI)$87%<_?q)y8_e63d8Ypw5GqPn_@$qm97@f&2c$G1aq}o8RUgmzvc;mzB1?S8CLsgYEAsU4jcI${=fBcmVr^A%9 zZRFoTd3%RQWzq&3(M+Yw87-5|?YUy1ZRC}cyH~%dCM>RcVc4`wGmW5$pn2s2RAWTb zMC+^QrTu1q_rXXNPcol%`?JSuzbgw5WyDq%x|U!WMwo84=QH=cV(XvK4m!H^YW#Xj zKe!zGZ3F@FEQUo)a=P#ahV#O-a@X~-m+vT`^x5RK>Rsa>HJB^?h0!2q;Jw zQMW=@V+>K#j23G7jR$!6O-8>3Aw$PCMrZ{6Db~pE@XhU3Y7d=D+x^`%lGr0 zmo}Kxz~iyw3|m{Q;KO^L^NZmgZO_CbUZhaKC^^x*d?`T~(nf-5+k4qWx>34Jwxhmh ze6sZR)@lM)J_qu(L^uB=Lh9=xzj1<@OkLr`p*PdQ{^!FTc%6MgwsP&d@#PSt?K!57 zhz(S1{}phVoZGM3!xg#idqYhg#AI_w1fFL9 z;%`j3@@Vz5K6s=3ebQJ?SAJ{0tQhYK(rC6zvDddNmhWKmZudLEg-?wHhT`g`Al2Q` z<+FEt%8grv$P1ZCp-a*)p%w{iedOxDOm1@oqC78Yb4Kp=)hYpT|3_p3a*?w9W+r($ zK*TRY_OwjMlijCjFl6|cXEL%*T$#k<{MM524}$Y~XFUch@lMx-n%~=B@V1Nl5?c-a zAArVHzdAc@;AKtf9kSBt@K?q^1#-Dc&J@=D08Y>Z_I zBy~w@fpJLtYOqO=*(HAr-!`b}z(Tj)&DYeUcD`0^O9U5`Uw+{#Oo~t(mA+X5^-lWM zMe6Ml*t>0Z8W!`4(STwTQD1)8FO5&H{Ei!DO{m+z4d)?A35pU55A%GB8N%#`rziC% z&w#&m&N4>rPjqXH3oKRg#)oA|_$aRf-D+4b(Btk)9#v78ko>41Lq?E5V4i?9;04qt`ZuijVfN?0X!SyqN&{Uj?mb`EJQ zw%*jZupyPpqb|*8By!p@HT36Oj^PG$>n=VqhQ9k(%b3lw_-z!}u9>tz z4xlneCxKF@oKH4lHd?A0U#ghRMd|6F{t1iZhrIB1Vbk%`V8)oBDLlNxI-|Z?e3Ae^ z5WD!LHX_ejJhDdAJ-^AI3eO$GBj?7XKn(CaEc)V)Km6?gm((|2+{F{_{usg&h!;0Z zrUchNA+rT$n(6|f2`Utrf~eN_rtLwFe{q27!Bs{6126Fv^p(NKpTN2J^hg7WV7lHG zsHwVo6AuJF8()8PL~|VBW}-va+xSESX@-Y2RkL!-VKZ~rV@>fK%NA*fMU6fU&QIS7 zwv|aIWjdI&=2o6xkf0K6q-VQf2p$%b$0;cq=%SU) zVAtQu{UYw(UpYFC9OQwzqZ_=66F$<3ClirrmO1%7gQ9#dB^+x__b+pmh8u@)cIVw1 z`i@2u++_^nkqG2MMtwGzUvwTqIgR#k8*MHT1b)@^o9$gmJne%`;~f4@b68Nd^$_o; zwh=k_{^Q|`+q&(7ha#FCx^@b#TAM5{=@&0oQ(QlC2fQvND|R13C)!L6^B+42Q^|IO zwdZE%-ScARUi9ysVa186@d|BtamTDbEerVY`Of63taofboYMmFj`z|Nc@vipXRz%Y z{aZxW$YyOc|TRWg9DnDYpczcmFED?rP1D09Ufq)DT zJVRT|&CfD9FFp6x#|_}oV+8N3XMQL(z}~~={<}9T+v1D5E#%X^FST6E12KymZkIV){OhpI5KBPLv)2!=h{1gy@N_ zxJqQ_c@c8{%z1Ff1Vt!^h5fTMxKk^a@7_QNjW@X?>gB`Ax8i$?jQ|iYm(3=BN~`6A zB+l(Cs%Lv_K*Zh1#rJ%M&oEX2U2bm%-A%;Ez}6mOUFNBxR`zAn_j2;AuS%l!cvqka747h- zA9D*?n{Vt{oeA)8fQ~+}Rw`Jnz zGuehJg9A_>%k}m%;Y2tiyRoLxC{+J(%`=Bp9~Ul1!KQ)$j@8rNum|OzMAVq1La%fi zvFr5RbPR$aRvc-x_`^~yi_~|(`ubEW0I~jzAUG0haQjUJ?WGOC#+KhUh;6)zb$NkV z!$@#T3W|7;RI`>!HJn80;?tI~w-lFy?OF_hB}~E@)^8K25jsoW1HIItd@${u&{~mH z6fWUgY^NafA*GjU=fTvZq3U#1SmDbkoz0K$6t{c$oez-Jc(U10seJM^2z258^WaTP zsuvCLwjZ$%zA@?~so4O}Zv&dlrvi}y8Vy)NS3G;&*cq}rxkB*Z2P>$(I@>5i%ZdiK zy?=Nbhp;YAU!PmD0v}Jwzn!~g_mN-8Z&lCp!;~}VVW5lf~be{ zC&9nf^x?%`D6{UoD2A_E@ufdI^e&%{Nrtc!KDWKnCh#%@kKSCeCWnU``bIHtOY3~? z&EG2Qnd z{1Ar@5fG}o+3+EKB5=#r#L#?o9MgQ~at6_9(esc+qz24?{_d?OOzgTj^$BijFFjjS zSM#?4Q@ttVFz~HlHfY}xWEB?}r`P{QG;8ONFfNu4x@OA=cA8P-IkgFAsXPMa`A|3& z2tJ-8i?P0J_$mqaf^$4~Ia2C!K?oTQq?D~fpz(H&%@b<}Sa#)HuYR@;*a*qKxtyy( z={AHFb2!f{m8tCIj`Xq0!=zgD{mmU}?{%d*3niHoGSZQLfML;i=lzxy zNP>kuF2L6garXphp8slmL^cdrWhK|52pizxvhwI7jJfc4%NbY00VdE~Oi-J!TU#3d z@+Gsanh1*4i(0}NrqG)wIE627N1|Vjhx<@_G8ME*J0FjvdXqu%{N7y74ty1MdtI0b zt+(IH=)PSIhB`zdQkFZ?iqn%<8k}^sVz%B=LbM+#t!8R9AypCAcDz1n+O4yp^IECJ zI{sbnIa$F*mT3PN5n%N6lCvR;gZA;zl&93eL3DZmWr%+b;y`_jZ#}(ssR0&yP~1BE z!0N0yV*sNElNo#zY9)?Tx<6t`mbF(vW+K`Mb?-Y*_3(fPZj?H8*Mo%=`&TjS}_Tyjq>u9NYfmaAFh#q*kVgac-qI+qaxnRRa1UF7$hKf>1-3QBxzWJ|iJelP03Zc6?KC^w?ZX z*AL*k>CK*F&E`ETXtK!pkn;o1zsd~9Jug`TR26V2nbh?sS;|LMlsW(HH?p#j4I4aJ zDWh*8`CJqvM&m!hiQ3>lLeOwf3sW(=;tnHD!_V7CeU8^91>CA)Z*p_L#)B@U^oq|S zrR4rSejSzkD7kGsl6oQelK~z!GFNXJz&!D^1nEazkyL|~L|_4NM1U-69=tetJ*os6 z=y770YU^AtBJso2K}7+~$Dwd!nrW1(*_u}WdAQ)tL7AV#O7~(Qfq8%QYvV2jJ3{BH z7%$+d)N<_O<$Cve##zO5y|x4hn)j^yY#h9F6{FD=5{a?E+UvE%zvk@!=sg{lNS<#9g@b?@=s$&gG(_tAmI`>VUK@)_*p z>qF>hQ?{{^F5=@}7pbaS|I@ZEC!w&?OcHS0eB-h(?F^jw*dqNp)eo9O+?*^H!!|9o zFwt?g`KmbFIXx#FN2pG@s*7+ok}`EmU(V)57}bA#$|mQtl|{7FBKAk+iEL|+GHAvH z*&uw&45WJ8N_eI^jM{j8Tpk+5N8-Aa8Nfcq0_&`?x-}bOh^YCnG}9gfD`e+!x`JD$ z<`KfStMou4v}lbG7S}DmDu)2r0Hseg>JtS~RMff4)aLN`?LoW0(Yrr)9&Z%@ygnc$ zP8T)kq@CRE+9yJbDQ)@Brl)-f+c~W+;GsTQVBvr15C1%Q}xW^K^@YiR>*_>D@m6Kpb^F-W|9q}{Zq1GfRoUvGr{K)e2%TiwbLe@K2 zX^ws@;NfINEArfB#Oi(SJu6-$)-U?R-V}!34|$zEB3rCP%)cT~cC-r+D#EJ@PehgE z2doK)(`Xm{?9I5}%s&iQ7{@Ox%H!9aLOyP4LNr+nO%w?+z z46!gdQpwi%By>LJIb3k5NcF=#TsOrkn~%C>^A7Al zIKRpykRW|X3UyNh&f}4C8}5mV5qjYKW;2>ve{N$! zG6^|-XOKsV9x(hdw(~vNVD1sH<}nRW$N*Re;!Bw8Ds^U~jOaT91`+Bqrbjq5fKWn< zgfAlmn<28-VaVDp z+{#s2 zA3x%KRT;e$L=$h4P^|N%hDc>`$hlC!AE4!+_v5<5scV)YD`f~QmXnq`Qxl_A;PXRF zb}KbeX8BX`TtwZFvG~DVsSF;}^E=#9R9Ktn_jfFDIXaNH7*Oq&THc_#_q~vjpaJV} zoFE5!ro32Y8ibH;y>UVn4DF**2dCOEnslz&lc1m9kYYgkS zT0@ty*~CzFkl=H<68uXXdN*`$_vT*Qu&FhSS#1caF>UF;3%dI)}>*=N+a;Gz~C@vE+CYZeu11O zjT^XS!hn9ElIquQjTvA;hn1v5sOXT4=uuF3(;n|CCxZEf;M6b+s2-}xdPjwCb@7~o z4gaN&Dqc{Vo4(QOApZ{J90Ae?Nn?!p)NY{SzURk8?xR;zj)gB>tvEnD1ZIebRxD-) z+9!y9oEXA4VwVN8Cr1aq&~^FCUzhCt=Mv;#b<5phd+DkrUr7-^hde%H>RY~d0$%rj z=TSjhlw`hs_gc%5wu_|+w_mBTT&iZ#?PnWUuJloU4nzFzU2w6v`a`|~f4qNW?#S84 zS)c5r{nXWV`1XZVTwc!(jmQsu>D3I^d);(%6Y=58j5qDsL59?&|DALO@1eCw>(fUO zUPlg!juW27iB>GauPz(OzZs~1tuI=pW^~E)h|ls2wlt+pj7Ft@L>Y$G#-=U{*JgNXvESX!epVexb{y-W;S?$bO-{Rx%mI#- zKhZm2lu5c*vg2Zs&zfTG_N&~aE=?lf@kNv1@9M2#>k2Q3#orU-g{X;Gd7K-*a|Rc7 zyojoS`S>l{&mnMt!ZvKe-Vag46SuJqC5yZx<)m^?q%k zjm#|-K;UU#TJnkA>ZE%-mA$oUHahb=Ypc?YRhuQh0r^I^z`sKg_E);Eh=`Xu-d(4+ z;}%W}A!?3QTiL4ugdbBY<45F@cbkVV$gI7@6*#?&>Bl_vKG(EIkki}g{^vx|TJ_AC zBhHSfm5pJ0I~Q$Lq4(GlgK8q*QeFLyuflS_`?olbj$>@eUbPr+SP)f*1b<=LV-Ic8 z+Ln84A(iZfyFV%P!T@ErCE?@tm@qVuk%hX$oh0LGKg3O5Z zVd<O~uENUW2h(e&$B@eeQ1j|joum z)3dsLRsud1)D2HfktK?>2F(OGI6I_mu*0|R|&j76lU~k$5Xn;Zf=m(r)hq{-v92H5?hnMB=y@uHvzZG4L zc>jTqtfnb=u=p;u{zAo42cLy7OqL`&A_PO~$`y2M9F^}Yqoijb&ds6?>Q#T>eg1qD ziKm(5=GXhiA$0m~s4S?p$qasTeZmP&zz+)fE7@t!{!`}PUeEW5s1dMdPr&`~V60*PDxZ+1kLh)G`lhHJ7PI7cd^rdT7txd6~>@sT((S0k zShbc!@y4|Kl=V>ZPd(mU_D2svv4R}Ay0~HTL-`}7_cYkaf1(3H^*Nyj^T8UQvC=)& zxgqd*>u_~Q`*Ow|66-?KI_Ynr?Qq+K9u%qYnG}(a{1>qNMCGPrx~?lC2>P~9SK*_8 zE-LhebyQO7>ZI`^w<5)9Z!5)via0Yy0wALcOnJBe^}4eo8dV}XGOMSEpRY@kM(CCc zXK*1XHQ%tSQQyw7NBki_i3dUFkYRHRQ*L7q-!IXM2kE8tTzQ zZkmE$uZSHWgO4>F@_A)|^z3be9T|&2Wh+Q+6|Ertx-#hM=UtC2%(r_c?)PE%1(PW^RUhiioWIaYue}6 zHsT$(+Gz}(GowP$SeGVB8o%}EjdmSvWZl~Vtyy`R*MJTB)5g&k-Sa@R13-$D!upn` zXwN&GYO6&%xOB2aVght1^Y_j$t&Tq2zTxlE(K3iR)IGaT4X+gQMO>d)k0JZs=@SNl zPPkKKJy%eg8~Eb(=i-mIZN5RX(gU^pQR&~08PYJfQr5faIK&dYCvJVbV4yaXLWV-- z(l$0fQ*_mrXD&3TxFnoB9Gi&T_>myA`Tb}FS~+bvL~mMPUCH-bzey>38-33$ap?d* z$>MIU^ONNFSaTObBI_N*8SSRFX$*6YHeQ-C`86WbktXGzviQ+)?HA%VqgFjpeQ5x36tcjlh89he&l$z zKvy_k3@WH9{#wA5`^=4!A3|FQQF!ll$IaiK(^(*i3LTZAn;Yw-B_}i8R0(+Ii@Wo- z!6f*I2E~5(H}y+{fFifr!fZ;NqbHzp*OSXD(+R|s5b{cFH9k*fk8(2GDBa*9Iyc2j z`sf|wdbwGDvzkIm0;`6%51_>X=tjC3;0?aX_ozkdkua%dZ>`Ia9Od2_z6Z56tM&S$ zaA&;WAIJIU`1beJEsOR-s5(iHWtIxmtvB@|(6`BD&w=|HjGK6wrQ#VeH%hu;1IQ4}b+di@vVVThW&I>?8_)>41vkt^>(f5CNdNS| zAOCa3@Hg|(9vQx#XtK$A1t3qrBJCHI47$T6A%O79KXP>UNq!7chp#aUhzn>il+nck zb>{Iexpr+7q!O05W#D!AugN%O6BM&J?u9Sp+E9s;Q>C-+Ly(rfoJsU?^jP1a*GikE zyba4mKC6x4!L*!}am7~s4KjoF1wx65O{Tj{raFC>940B(FGq}oCw_Y6bRj<71ifF0 z$28B-T;?d1M-G2=Er}faNzw}aBqzJ{5X-gjgQkWD7fGy?*E}Gy&U}hu7%ZU)6t04y z<#;5j4A9#~ZPw4#D9e89avzand_TOAW==@sC8#lZ&Z8e3L}KvAGzi!_-x!1kMERJO z9CMe)gX&JahZI6@Rv#zB7%uYRy;5H{Ev84@92wlR?^tD?ZsO5=Vo$Xf;nx_<6G=ay z=GcBG1L!HMy9fL*vJ<%DM4Ri6+EFINoq2s zxuw0*6yh#=Ixs_d#h>?bgPoo5KtAHrPcm7m!F}5QJjaD&<*r4xNw9HIDN}!$o2j~m z+-eJiBaaU;OiPRT;t>0`1mcltuR_fbYYCxUm<^+OEU4S871P}W@ao8Pow3d zgrTEK++3~$w9L&|Ru40MX2X)qr#Rt9!)uvdj_u|}h)&hB2!(%#a>oOc2V_Z+BF?g! z`7`Z_X@pF0W0iLPF&8<=$q6x47?lWiGrkV-UGA||0-9@X&V=f31VlTmj^*xL;xflB zd9rVElpw<~%5>;cA^)hHJdLs5lirEw4xA9h^LE6JVh?`EmvBl%reh#B+Zy~Dr+aQO zCCE+AAyk}wOVo(!5~sL37XW57KJY?hB7Ki>8lIOI7b_Lee_ceAJ-tWI&_|@N2y*6` zj%9HD-mws)093Iu!R(}H$`z;o-X5$T6kSH7(zO7f@WyS^2$byH!^9XSFN(=~#rP}f z=NV#R>cfGc+Zt0gdclDML7Kz2B%Tj9w2^%7Q=d4vzI7%yQ956&&iavoPT&6P`DwxG z@F?}iEo&qwK{Q^|GjX0#w%V`5$?$1? zD7=@$&W0;OAiDvSJbQQBl;m|poU1UZ^!<^iqQ z-7ZY`j|hD~PI%^y3|~20Oc5YbZu=`;zB@V^xkP%XXr$ko%A%dp*`KuOQm=g>2;ps4+s{7vAiF{xM#H}VuJb; zyOZCHfyBpn;b{u=ZVf9jxH+nKgNG}!jTewu7ys)Px>hfU}O z#b#R!e_A5dE|=#1gtQw4vucJtP1ItdPE25{$oB4GTfeKw)K^I+F?jqR%mS-ojpTm1 zn2*m)IyCw4vj2WtMIb}LV8gjzpMnR*PV>aY!2v*n-8!=PUT=PWFA|`Oe$vYNT1K{s z5I1pKe6D}+qmJM1FB7>)8v1!jAVGiZ^raI{SD>Ec$6QKN`??4B;>O|+{LW*SFJa|^ z8@-`Yus8&J8V>$SawEDyRw}4Ib5UH*X@1P(JphFy8j*eBlh>>-XSjxC3XV3y6=G;g5);}_ zWd$&6l_m3q$u<#>CBYZ#4znNAU>1@HDO~}0ARHLHG%n`RbHbr6>A^#1- z3Y1s{_pYx+y{-_RCv5TTO2Xlcr7rlw&Z^UC=LnUchm%r7)@TqQ&c{ij(}xZRjyPR> z$iyripOXrh#kbWlS|JdC<+a z5mhPQSd;&51Zl$@Qsu1;$J71l8$l;-k9x{XrTvuY^C>+lG$80(!w=sVB@sx}UNQOU(ipjjn*bVmv`%7YVrg$(X)eg1U_WD3IPRm`Yt*M@P%zv2!?7R0O zh8V3A@IgP3XO9q)L|`?4g4air_o&}lCIyivCt1kW1)X_Pmt@n|f|HRa>$hN`kBb93 z0FmuyWswA21RoaLIYe%Uj1-esJ}E{Hqw}@|a#srI+o6#od(PTy0>NyeBp{lAG+lvG z2_0qBvt8miLU^L(ljePqcIdYm>xp zSJyHTU>71*B8YuNSk$B+I|tuaj&lK>|4*af_r8ymFhT z6b@lEanV}mW?Cz0*x;PTcwwKm*YmFVhgMXt9t0p+{46XQJ*NkrmptXxr2WeuUxwGD zkpYU(ksUc>DKcXpv3sRdMx^EK?W#kZCgUlCHGzR70nlqS4vKOmugEU28@%pZK**}j zv4-(Jr=eF27->1t202~Dal{w=b-Qb|zSE$s{CNrPK6_Kzph8DS*6n>Z&tVkY6S zXae##sH&(}SPR(1uiB3@p<#=2o!&bTO{1KVjKU3s#nz5e2(6oa_v!|0)X5EJcCSPq zlu#EeN%3TE%!4v%VG!cG%G)e%vyn;%Yrwl6F|0wO(h>(Eb$~Q7)KOkzng9?BER+HqNhF5Z zvEIg5OtLTe&ecRBEW<|-(%PKI@W(1iRDkZ#Zs2Fm)wW+ZI9P(la401}-q>879^WUJ z_vg`m1{Omox%V6Xn#>(rzxBJGBeYeiHcq5sc4n*k_X#ZB#n1A4rxd0{QTrxVkOw-q z`JOaSPm9ckhkT(7o}?_R{yw5adhbmyC;>^toSLglPuugu?OOBM$f+qvLQ)%2Rcqy| z<|B;%eXiYwl-rXU@smVe*Itf4b*UWKome+$ME89_5ZYZ|Z@_0PxX7HVfI929N4Y!n z)45nEyI^f)zc9D#5gy`P--`vQ6=In{5y~te0brQ+k0sgk+9j)}UIh0Bc7mT&xh2^! z>0YsWyzLwe8jzVS+MH=Wwv?ADc?00+q)LSX-Y=ApvR-pK8aQtN1g^2O8vm0I;R*F3 zTKkF#Dr%#vU%^y*mW%&M4kQrP_r!M%O8-?9<#budahQ1F zfi2o$aICy00;mQhdH8Zj z^ut!sH3+XUrX$inu!dTQECC|%_q@;Oshyf6iUSeO_Jn6W7XOah-iB8KghcN_88ZR) z0`GVKA{z6LC95)8wLG=!^&_Q~P~u{Ok`773K}d`x;frdFx+TEKHN{e^AQ?AmQ^21W zF?o*_;KEa$J7j;-0i?e9P5VS)0gTrlUlU?;L|6*I`+rP@X(>PfOQHsVu>ufVP$%$% zD_>iS2gw}039|A_*}`aau^xZnSGTS-AyFylVigDJQOkJ32^n;(r*@IXtj#y|yaO+L zU*r$6msS8heI6V(`O}EHzk5XZD}ZoJ#0))wC_qU{djuY?du};>xeorDhQOgf;$T%a zvAA;sK+pDeg#1MzbvBO)4m(b=mPuDvATOT)`GS%#z!!ZImN)*7IF_{Bm-8x{8XIr=b*85y8@CFzd{&eI zKSsv{_L5>Hc%398L7w%sQElA5z}qP?qb%433=azw(~}-%b8r^bpfr=Fpq6T_X7IB{ zg|bu0-&@T1Q1cekLoU<)NwNXA!W-OpmMgW)CgFQG(0rM zI_WcbZvof8K?{zk8)?umcqD;8N11t&j!Lb1b)_Pg_Av5&dNddR>*4*Nb{<2nVRv zFC|Rb`2ssQN8^DHlTa^$jL7NqA%ySzITaw1^Y!~bq*ddqE=%?ws%^U`OT7bhQ5}6j z|7^{uOn7hAICC74BnOKKP-M-@cAyek6qq_7&P2B`?iJlyQVQq@lBT)dul7eUJ$h~~ zd~h5lwFxqKFck$CnL#|;KgL8mv{z}FCyK8otfwO9YKv%Vra(-bX zpc-V3LglD(3<*M+_B@>7*yKcu=3U0J0kU{zu#9nXOI`wjW$0O~D%z~rdj(=leVlJd zMpP=UeJB$5T!9JIBtr;Yf`;fg6@Ulab;!PIzpNtYSRUH(#jngesL4w=JBaX`E(-h* zoOECc>R2^)E1qf3;S>=-uM7w*e%x~KgWngD-F5^M28eJlv7sPdg^|fKg1p|L-n|(& zirbP=fGQGB(aD$^&}{B{8wRrd=$^Hs=kEHr5GLXvJNF3%(LDm=AaPAgW^JQr|Ci{$ zI_>50l1E#|4%+!i9C`{ksAF=v9w1;TU=fI0^@hY|?mKF{@#L_7RD+)KmBs_d-hwMM zuuOg@0Us2wl?UC4!dG4rM`$zdclgorNghTSWS+0g|MZIm=^Ikj)1oKdmrrti4AHHM7K0Kq!?a=1sgG66dm+K9y%c8Z zkatF2r0`Q%5c9SBznqeQ;E(JSIU+6KBApX$^Ro)0Opx6uTQHK*3^>vOQZR#BGFcf& zC`q!@G1uwhiCu6fiG-MbG67Hgwp4{92)p$_eLPH+*-wH~BNyz=g|=~ydqzML$a}Y) zeVQM)$LYae7A5)cmM|*;G?JuPO}jguDwD%^q1`A&g!EqGWzR1W{oka>MKCL8P!d;& zHgd`gH3luie{O68%%}XxaC%#iQA^Zgv;q}PKo~p?PT2qU@vH#8Ybvw*Ex{ln_(SCN z{sW!_UlIRiIx3a^8|yW8hWmbh!yKJr%yw!(=EZvEj<_4D2r~J_aXYCrVSP9kFM&D7 z|9Ph*?GGx9&*Q`W_JmvvtK+ogoyJAwLQ>3Rj*k?#qafG3R=m{Lc{f%Og#06O^fss~ zE+N#ZY;OO3%Vz&LIm_gH&P9Zx=Z8P-2FN(k$won=Hn1KnTkC1Ozbk@BRK8e7_FYxl zghZWV9brl7?+L3JY`LlHm2wcmzfI(1wWCg2aCc#Ry3%VPye|l>_I36|_$$Vv$k#Jz z1VuT~?^o>N=JG08xLild;`q>sBvTnQJBD40#AA-@FHzA<4<98Qpfq_&_-M<9+=#0= zsbd&rq$BJfm!~h=;QnNzfR8RxTo67m1Y4K42k1}1s<6Gt%Nw!0l@BtnF+UH8A`2QR ze(^IsCa<5Rtr514Be#Ks%1q~8k%X1aoBSwj-DJ|h!#xebdE$4@Ktiq>MYT$>#Zk@< zV}H5!9c&L=cPiTCj%f{jZa7TOrVnWC$O6I$2myKk3^9%C?7ETJs%-o?wuFxxaoVP) zS*w{*od?+FxBmDCUW#ro1h{Ov7cH_6Kc7|Z)m75?cvT&UZNad%DTBR~WE_1daB=ZS z2s=0B>$$OJz{DLIG@m2Eq`(@&7~zfgmbv{N?&b1c_QGuTz&Pj<*{1ZWrCD*1=+-7o z7@GF5EcC64bNH*~b?xI@@7I_rJJ#&{#hLkHR!!W>6%NDo>@UkSfwM%89-YYcRH3JS zzO4iuI)4|!Q}MqmQwldFG5QTKaNI_O?`Da!Y+&KfHXjDFs!?e|xD}U$U8u-HB|4Tn zLmq_(jA49zAy?UZW_9U<|8XJIy@8sG)nCrZ2JmJQUv5u!@1^{X~+tiC^Mwvx1vZ8 zL={3OB-56pQ2dHg;>U^G*jbEZQ90~NxOHh?Y=p$V(`ym+hWzDY50);zYrQo3+NN1; z({K7|F=9{Z@jR$%=8{$iO$s?6$4m%w#I$EijBe*k++2{dG}9IVnk{GP*Us!83zI#g z@0ZjL;X=kD=9=ujXESyn<9!HY#>;sR(UC4+a++I<3~xt^azS*K<$WJJ>#HaAcomHd z&(eerN3)A{q)Da!w{MvG-|XHj)APr9z@2ZN&;@a-ZaI8W@t-!UQ|Ixa_>e%S%Z?L? zaljBfdGhzT0S3_1HYbaugeW%nn?hAt6g^@@-u?2kMx*sX&RDSzhFJ(&iIHg$7m^bB zvUrexH2@<5Y#~_GKwxqaym-bi$6p*g^>AMNMG-v1#Mf5t|J1tc1_Ma)@9018{`Y@Q z-=g{9=bzV08pgu~2%sB*1`fEY%@UD~XgULZBI~1)k^@+!x$k3|5t*0>5UsllJ%UlK`vg@0XRR?_|TUr`u?MS#KYp{vTe%B3M#ED4-MEG&TZG{>&(s>BL4ZAp{RjJyH- zDm}9Mo{~qI(g_Je8H#Cy8~eAjC>@j2~c)5Lxp_ zAA{w|w*k8?NXxf@j%nh?U;b^oGcfJ*^Yh#PMJh3Zr}b~7P{)vsO3c8Be`6cnd4QXF zb{__uy|!Pf2R~-_)bC{VKXShra-&HP-F(mUe|f293_nB+3b&fh4-d`izH;!9Vw;%J zbLs&sDwZ@q$TiNFYzWKAY=)~cPxX)>=-}6CLz;bQTk;#*T?f@NUHoD`J>UJSd~OiI z@|234I*0jX{1505;L1`(;?L%ANL(yG^+29@Fy^&WJJb$SVj$N0L)XE?09BH}TZ+&x z#QZ?5z;(o`*tL5P_ACsp_QHbjd`3PKj8@69zZD^@cT*)qIx+aMpF~x?2oOn@qC!)e zYu#2Xx5~{8ncyLv)_Iii7y)10Vj*grqXYnZL|C>8Ly`#7l}(kzqMiUY>qy|+%Teqw zEVe$QZDN#)LX`x!m=(CU*U%vr3Ewy+NJ8Z6N(O2Az~l2GGVfgU)LcR_Q}!d2;b@|+ z1C2?(UYgEW6gSiBJa5bDo$$pleRw?%8L?@~Y@VLnNGcsb00H`W3&3N`$@>#|F?4KZ z9!N*w1nMk#%wr#45?FKnuOkrn|2hI%U=W?E(-&x9 z*qs){F)WgK!_Lv+RP2CtT4m=#rxSReTa#~x@VGh9HNjFsOy{_PcTY>XeX5i6V4HL| zNFSN5(QvXLs~qubx8@;7vLq|=e*9GMg|ZTu7~wM-5f2ur>(mm8cIUXRU-l2qs{#Tb z<8RE{i|zJKAOlCHI9NuVL+it_42Gx-Ma@#g@aJsQxCA*nRv{0Nj!^hAFMMDs?afxC zbC2?NSST`Jh^7w3&JryHo(HN8;vIhXrSJ6G}Q>i)Vug5Les>$Oms?ht>l!3I;2 zG5@elRrfT+_6$uv(iKeAWl@HQhCaTyTr5DK#;^2j)8h_MGpjn}xSuSGI;ollQy0;Z z8g%nG0O*6y{~}f{j3TV!CU~ZAW-jv)Dl33N#|R|co4kfZoIK5QFrWTjL(a--KMO)n zXL=(oPxP9BB`EoS0mIl{d*M?X+Sf_zDFXGY9xr7X7sU9 zymaGt*Nf>pDIca1Dif4`X`_!JT5FFv=NR977y@_yI^9=ABP9f^JNPKOZrIgx!?4-lbv$Ayyp+au*e#NMd%y^cTBT}h^ab{z3zm5OLe=^>lk-;=sl=133I5lQzr5u7TzY{ zSOT45zJ&w->jfw<+sW0j1``QRHR4z?^|-h*Kb*H3Z(P_jbSDG=8#Rqq(_lHX5p)i` z?n0%si>F4Cp^*uVmb3svN`opqv(dtA^Bb$sm>4XPB!aqq@(&+AXq~$G@+KM14(k5s z|0YuFP8U5}ul!#1b)JOl{&&%7I)+r?{ZF;GS^wT6`5pIZIGHc$4kymlZTNk=Xi39+ zF)oRfZ0~>zJkovx2&Qzder(gSh+X4vrxw3xR2+~ioQos&P59hl?!+AN!=$KH8>$gA z24jzRNhGzyXcwCa(_4XI&pzkt-hi6#lbSdRG_=X z;is2N`Z46=l&5Wk)W#~}LN6y%p!6~M53;;0{)MrcGYTgCJavpfiZ-Vz0mqL#y{SMB z?greL^Ea}Tj&PjoG*%_d7UhN4XU$byVfT<-qG)|sp#YUqNZ{m>$J`!~Qk&(QyE6qF zaB%lb&Z;>A8MTiUp5L(s#OGeGsGv6#1f;rPa^6eo7I;Z!RZ|}tlV-LO#_#dcnFCoC zJ)OfBbV2?moF-og#ms3#syX-4BZJg&*~Ku#(SHVIPqoSjcr_ud)IKjYU*$vsVNHA~y2S5l@aLuRdtH(Sr1dV!8)}-V3|A>;37! z^lup%F_9rfJr5^P;Z_0j*cWU;=}RhOyN9${JCw7skGUB<)q*i%Re*Dp|IjbH;2Cj5 zc&y+48YJynnAJ#rtSqz1pv#p`{D}xT*o95}aN@bF04VkX(ess0*y7?^@RgNNEBsGB zbj3|68Z6CPs0RoBQ~G-F$ZnH4Ieqr)g_(tSbx6a1;Ke*79}#}NEx(%f*e@WTL{ zx+D9?xGYsL#VJ|uV;uR-UJYW-@`u3aL_{Ix?{hY88rad~s_y8Fw%^?QDvF^p>ZNJu zWHEeB`(M{zUmS@@&$i#ML^8WYoT8VZy&T?8GyMOj7lj4dxU`^P5lCT$ElT40We?lQ zEtLs6w<@&bT-++M1OL0o46hjKCpO^LigfK?F}SEV=DL{VA@scHZ<5y;NV6el{zuoD z0P)h(Bmgy#8)-4VULzkxX=L&Kd}fCUcZ}G1E+J1-h@^N)+!!0}}C2(~#@@=zAn^K;HC z<8&Tn^ic)70@JU@GBFeRY+uj3jTOaxzKm~(b7c|{ab(828TP07KJA~o5R+IG_GgNt zlsE@YL=Lh>H419sici;AVcZh?e=iAQCriy#Dyh*skQ)p$K(uefKa7p- zR<9U^%Uhw0`JC!m{q+XX=5NAF2&KK|_pll3#~RZm_LI#{FS%m1Dhfi4NSV`46s=mT z54Yy`n{>;7ewt>%b)|Ct_n%Rz*6Q@?^2j6eHsRb{qup7ZP-U7`1M}YT0R^9l-+f;Q zF8tXh-&+X+LdZ%4c#QgUqhzVw??>h&w~rA1cG!|M{+q<+knrTyC!MufL~%&~53Rfj zXs~F9ov?GMWzE|xT9SJ%FpL?t;1INUsUL6t(3BXhZ15W&y;%OW3O7vO>LtWkW(Zn5 z#{IgBN=E2v9UabWe#xh;Lc`6J;m73}bN`63V}v*=sebQC3RCb#ygXk*xcKH6wTDicQ9a`>JhW~%{x4ue6R za`J835oeZs(Fw9YiT+J^Ik5c_pE7S@?IHV-c3if@4UXHc$kk9BFdLqALSpK1ypDD# z;;&&wN!Na|^CfmS{3`i5VXdj*aPzn@>Q;|ks_?EdPY3WDfQEJ~LH-9y@0xibR5;u7 za5jrSFfdSTo7=wjLEZlybc0$HOw2}KtR^g$=C-z6RAk@rnk3b{v!>}Syiy0i-MpG&4Z zQ1dGsG^TjapTJ1lU8I5WGgP>L zNwU;c`qqZ?H)7%g1lHbu8H&*d+xns%ua$q3YdkE|!S8@G=utT+up^l%sJqp5zG|OC zJh@KLJcRQfnKdb&^$bBDP?(Qkf&GAPjNyEu2?Cso>p@XmT{+Z?0(Tu@({%uF&EG8!+l+nc&6o}kht5< zu>3}Z34fjW3#D@><&t{bjo-si*Qh^N2iYHQ{ig1fu>&&%Vg+iQmx&mBB24Dpx&3Rf>uy=(t@1$mZj zM4#qUIq`{zRC|nbW?8Cvdv5(h5#TOpy2ZXr3s)P>;&U#pLr(1#Smz#!=-jV9 zL)Nd|R=9O(P4+t;YA;R!t@Y^pME~mKN;rel+Hb7MNvSfpS3jrHeWRCOB@JR=Kde#@Eo(d=EFelpU}*+%zNLhrzlP#mkJI)PtY{7Ai(HmL^G(%j)7bkf0>~D- z<`ik6MdJ#c-A{QI#tS*eIjk5=kGImJG(z^%kQcYx>nFB;3?*-u-tGvGoSgNrpNZZ- zuOCA2@2qJE*S*kAD-#0dJj-%@lIY#;PtmHmDp6op*rE05vg{y0f4H{E`NhIj%^h!f z$ClphJGFsfHF&et_DjCIg)`WS%QkeZgk^KnqHFL>Rx(Y&wm%?6voGb%hcs(^*{FQ~ zI%u_d&ih(CwLdxkMSNe_ytWmx2 z1&dWk@#Na?j!CcgX8Y}{toWeyX@4(|OJD6^<)Fzn!}hehO7?9%8LOR0K?0LH49uwE zZ(l>*^ORLM+CYGuT&?blK)vNM+`^hFZl33AkjiZ#%<9uUzZBN}*{lV5D`%A$o3E?M z_$W`hI0o*|N@I!@VP&?Yp@htMxkAIDk8bUPTLLx{k4SQOO++w0Yx$%;$nH%wrT^?GM&~*dn&lb@ zQd7Tl*dxdLbg-f@O3Z8j(^bLYv?HNqBJK`{v#s@df>iXQA$!N1ocZgW^rt^P39j`OLJZ;j~IuWwX6^Q(1hRn`tW1t0HW#;JXJP zus1pQdQWq(lE)41vXl9>9>HrUe0xS7|8s3!n-6E|yDVNJ^;B1YXctG0V6N+U-|Twh zhbt-{yR5O}`>C1~1~9n@ocsIA3Dt5ojc0zQ&U~>5X#>vla59{Bjy?9cN0?{bE;p2^ z%AU(+<^-s6z9OLxz^5PLzj&X`ja^G`P)7jX;fX+~*!akud}A$IKizKK2+FHR-7?PG z;kZDUT@oG4)4oLh+EZj^&`!-7cA`Y|Xj+|&+Gv;@)6)s-YDF$eQd;}T^p&kW0?BlLisL9`5@c?<@I*vK^rEzT$2^42d2 z?$d^4+d%?==Y@FvgQHjpnF8)X&?iIBQ=W*WMq30$oxgp)4=b=TPZl|J4PuorHtN|( zGEzhTN~d^(MpO7~uNgXfcKEV3g%ryc zoG4>7mglbNC4Gk-can;~y^Df$AbYr@e^G;tO(7e57Xk%DGR`>8hrW!Y4>G#tY4;#$ z#CM!yDT@c%2a&g^k6fpHo*#%d8k{NzdH*=J=8oo!FWzlsGGf(i4o+U2MEJsi$q`7H zNdsqUF{chLtnSm{A@svsQ!jsxr*YOz`iA<89frB^Rb4oQiMrwqGSjMmC@?tID)(|A zkqw@uWJOG3RSkZSxJ8eB#+)w7iiwzH2w4|)!xAYMl1$M4>Cc>^AO53-t=PpHQes_Nf!HO-x%2jPVvoE#!539bL6)hedG6m_;ZMJQ=FR&VeV{o>=>%@VT zD5ikPo;t>r;w2A!(pL*UFUMVpd$x|9vw!wGUdHbvPtKzyEE09Ayzvef){6BPd@OkY zJx;64-4&T|7T;;j9jePlQN;3qUdgsQz|~c%iBN&9d9aRm>eXD(VOLntx!2;{nIA1B zT_53!_M_x#W<~XWio?CRJnp0L8{LG~`Nz}88ssIa@t(0H=FcSyWIQirOobxnKp6Ub*}q{RFGwJcbJUk zvWq%ISpVI?LZ+Ym;fygfkZhn2SsTXZPzGCDdFaKE1uYY=jJ#}}S#l1w+ewDNv_nEZ zU=LdJS3migh$QTDDtHrrUat8|uSZCVb&#JBCfn21x4%2I=NP&mv(=|KvKjme9T}5< zEF3j#y&;YbX&d#0Y+4)^81vs_itgleP2cXB%>N;i7di@D^9jKs4ZKF87^hn8 z(tx`YvLaT95t%1+?0$cFHVrqn1{&eaoPKm>;qTOGcUo3Q$#r@M!hq@?pO8#VM0_4r zi!(})+pt6VgcCsEH3AuSHBs+Wd@$zEn3t3OB>fqLB~EX#EFgfR;#U89;14R4t$V-> zK7PWlNQe26^rxiZ8km4Bo&GV6;V~0#TNFJF11@e2VJB1J}n7Z zkwT^i*wlqZq1|)8t8TNIgwDkto*-A^y}~Xf5;LSJ;_Hf=1O3=zkSTblhu*S!aV|kv|z$ zKnJ?P-^^L4Di;zHo^_LI+<&ysXse|`UUP>QBs0OF_~+!#Toe&n0uA%{%tytPtqrtN zI?sv&u{1r$=HTpWIFQX+J;J-cH}bH~`~%lq`?RATFaB_;-Rg{7Bun5d$qnr(usp|}fdrJ_GgBRI7jvtm& z#Ukolq1^oJzgB$sN)n-2Nttl4UQJ!e6#V1j>*c5$F+GlqAd47c*uyG(bo1~hrt`IxtH~3))$nO+gHp! z&Xb_yiSNNm>H{02i@FMKyEs)Xd6a-&O|ko=jc^!RE2!X35A${#4%A(g?$pstPOFoigCTYecaD7}}}zLrPYDUwb`_uLx;RI~T)rCm&h7dJTI1seN$hA9^^SJAqK(Im`G9kcCAf zD-zrh_!u-2nLUYwO_Nw`o%s4P+5&Xfn4l@Nh1F&B1Upa6QHDn8yUY$Xk)XYL6JcRO z5t6hYSwC%f-noo=FbCc`6u)AJ_wcU#j`YC?(h}CQ10i^?`-9@_{XWn0mSaBSF^0qX z+3Fc|<$B1owr~5;kcEVpIsqw)l%W`Y7n1xA*u9!I(E>0h3sw*(CGkMHees->mvE)P zsvq{_&rH&wiy2E1O$x|F6tOI2R;s=($GDd!S^N0s*diOt=1ykOc@rW&+ z!s%kn-q4i6ZmL?-P_9huB+8ByPwGpWQIkP+c-pVu^EV7ghJR*KDn1oW8<;RO$jygF zQ`D_11Wm<$!9JViP|WviA&#x)~7R= z53fk+vBkGN*>1)JqG<1KnFZx?7?8DhU2%ELFeueN?y#K-gpCJzGdbf2(&?H`hs_gg zOtd}DI$ZMu=olEJO5wvpcS}M$UTzK4ytJyng0M-mWxsreK2!>Kj$QLy&OCW-@-oCk zr!EI+jlH9wXdi`2*)yzpEV4LyO`(5_9FNtbiY_mSxde8W3iilp#)9gv3nEoaDHRg9oGb zwBvTdLfZP`W+3ZO;65li+aE9W`@!bM6Q>*Op4c7*q2~{VT*R5q(4f1xBl1Vy@5}zo zUGdlboa`Hm4#_Eh$tp=ldIP=y#4Y<``N9_zxtZ2zS51p?=UG|(l;|sVcxY`$0)POlQL(Hgc3z?>cVmDI2Ubg)L zsJY+*A@bg`ISVLW_omBiex^lkH^F3BeZi<)e4#oetO2P}6Xn=7jjGXH;m0fVe|@?) zjP=%5|E$eLLZ+Mz#}SV^2!jE1C0avlh1$A14oKSHW|$=xj>34_b_dTl)g7AU(N=uT zD5z*t{P*wE@`wIL>NIr)?xh)YzeTM|?r2yeAIzga?fFKrSbRrZpuS5PKu86$+e{UW zzc@d1EyuZzZM)gY(Ts4m5|gA+eO+XMn{JnIvB7s@2gMd$d1^UpVhWSpz%)J%z2!T~ zjgh^=(v*LKn!Ox<4G<7$V?E7?)2iN$^?1jsZtPxYZZ&C&!09v%{A$Yjohb3e{@-_! zxcXPtaM$n1XFLJOpmWMn=FA`*Xx7@TKQ((5O{_NmQU&Us3$kB^2Xg3uEu=)rIUSc0 z<_v5RO^t#1ZzgOaC0L~NR~)wPFP_B8!;;6eg`1BZcN>RxTlTvZ3%QDqRX@8P$)nE< zLcUn@7>oEth)@BS$>L=`lN+hQA*{D;sYA?j_|)+WMmxo+vhAfJmGW8PVxvS~uZi3p zCX)ix?$=bNOeV3KO?bUYX%e!KV46qi1rbj~_Q%j=uopB7AwC~va7!YXQl>y~h5qZJNJ;QF(6 z#OVi3Ec};b(>IhQ=}mZyF&O4Ti}vB}5cfY9O2@n_*ClxFL&w__5hkp=jIEj&_-}QX z5W$N>d`B|B6|>Zz@^=%61sTP1chiTKKfsL8}vPq2%A9L5v1+5;h4W)qizR1na~B38Cz+PgGRv?(oxGhp7$v zq;5sDGgpYaZ^cx-80HNsba(cZ`z)UtiLEqP{A}cXP7Jt^tZ&L1X!tkn7Kn#8dl{D-Z5! z_2$Qm-=j5$Kr=H2wcE(fe0ATk>Iz{Ec+Bt3x*Nz$b*roJr+!_r(cvWs4NqOYq#}UE zJ4cVj(GSw=VIYks>MlUh_>B;5fO>;#_n7K=&J7Ifvg#i_0Vw=uI^I7X1PARd%&i$p z$yuMnZAbnD#a3U`t{&#s`!yMV91FANFcdbxqRj)yVb`jW{mS{?g*@f;&*qP!muK-` zX}kXwNko1lvsnI)nGSi(~n4I`7Ly!S2aFD0=+=nBw~_P2$U_b@@|W~%M%A2@$OfL&uc zfpAWwR4_F8+0?_?#UTGZ@2_o$_0#q&IEGXs9eRpH?(^N74n?}#X&@$WhAnv+YdTUt z!?5f3>wmofF0Kgr{=0%huaTtr&o?=egza&G^%lypIq@CaL9&2iexedBC4)IShUhw@ zT9T|;b?ON8i29EWG_Vl4NVc&4wC=p@lu8WAzP`TTfBE%@p^G7KI9LDnhsL4 zpS(+4eZq9&akGEuZgWuTQMx~vVbf}z37PNu05JPmjB_fEl?Jp`wPQ-fpbeJUDfJ#f z&E5quyfFlKHyavRNR?A9Dl6h}qJe+b20%tZX1xqm=Je2@~0&S)AKe$Iqhw%5mAz=Ha zh}DWHiT3mNC=IC}Mkk(RCa-?y<}ea39`HecJ$8BIkBlmbDw;XfQXS!P(%X*)8S$ZT zA$oyfJYB(uaMthN$kp=~h(%4^ypr3&V>|v;ciDYr<>1EdBs?U!<4oFa^3Lsg^=zYJ znj}U~AIx~?p;|WuQpD%O9nG!k4|KiUe|N6MWl5hEok`tz&zx@_kkvTYArebj<(e#H z9_V!;j?7Yh3LOzPc(kIw&4R0n;J^ZQ*kptOS4}753!nJgl<)u zL8Br#68bc~nz2O;AON<{1|xsum`{z{NaA*gPq-EBt)&u{T#dmRs!#95@o z#j1e~6~ecVamNJK5T4t@?ZyaW)~}zqI~6XByUmutW9IUGzV*$ZRkW9shoheq4A4Vs7a z*qO#%FhLvC*F+ip&^{m8!|?4%Cju=@LHTSwZ(sR|mC1~S$3wQyin=pW+QU3{C5{;L zIrW@v$MD5lLKIZtC3l!~pygo7a)pyP%F{&9Jo5tNf%`>qc*p>qqYX)N+)<%g49&Gy zJ^Zm3&UF3~!ZW9N&-$Jw=8@}C*SC(9_xk-G$%-lXrx+rT6;qSQrYkb+8uj3KiYRIq zfskd)nD#IE#8s6@)YsFs(|K3>i!LmGbNajYl6`yIv`DJ9-Xu@$N(}d?*RAwsKB%YB0Tz^POKbv_CZp z1*K_-vIhHWa9!+neK>-!Ek`mbqARjdkpFu_7Qz2#V6#nJ-xWM`dTKAa6!4bstB2by z@MXdGksi}6BQOzRNY+E}QQh~eOMuJHzRM01YO8ii#xudx)e`b+%Pjc-*eb0dMF-_O zsJP*kp<%%mgm~^wHf;lKxr6@f!`VSo0UPBNC?@RsaY`Q9BP$6ch(j+k#a4gaLkw+k z+%n^L$W4xy*EdL9#Kedm1of5|hoZZ4M%c}GMPOA>yA`%SX3Sky2O(}-n-dhi#H89%lnkB~) z9jR4+p*pIyg4q6*`PX}&iU6^6guiXfEe8l5T70PEbGXcIMh7sz#zsf}t_gjGkiu&z zJHhA&$tB8>-`$M8C^uXDfs$NRbhC~-M5hN<(5NU~cwh9Cuk5j=d?|5D45wY%6IW`} zrmW{e)9=$OUs**Y0x!?e6@m87O6JVhEoI_IFaB_zuz_k?+HBDfpMwor055D0`D_CH`=0k}yV|(kycfGyU=%^>}A>C|pOb(6BIx&g!#T~P)u~!v6adr?V9IhVt z9LjrvclCl!wVnzwA;7hya3R-ai$9W-3rebWHIlH+XTbF;*=SCgGVZ;%;JC`@#{Xui z_q0b$rC}Q-obhY>AYFy^QPTSPF11a~?N$i?yhr?mEw#W1Y@}R6cpys+;55bblx=I~ z*&i>T+s}M{cFyH)#rqj01FO`3igifmv|WU+bHONB)52xz5;agEfk#;~pVZvqjZ^;g zm5S!|lBe*@pE+6;2SCj|J6^peZ9VbEk5SjClRhT8=(Fxnd+akfQHhcYGe(eIWhGD% zyk|B~AmYZ_cjxa4Ap51%BZa0!(_$y3H(!DFi!3Xe?MXg|%LQNiWybYq*Mkx8eAVs` z56QA?$77Ut72hvAqI~UEK3Q$V&l@C_xO0Ug@5%yLNr5sFI=vhyQm;ym`Su@J!AvMu zZ~}d3v#IcajEw_l=bnx;T~?&KVTE*wu)dnxF22|EjbmcVHrI;R0aW`h2eeGaH{nWO zcbt(1vd|EI(w^8?iStqVtYZ;spmjYwdd=>B_{dhut#p5kKQ2+tjr`X4klXU9_tpcod$mAhzy z!}*L(Z0W%@MdquDALnyb9GtprN|tLWRF&%9iwy!K#V%s7T*V9D<>$^bir2yCk)Sv4 zv+gZZN=%Oghj-Qz>Pkx3q^)u{8d>26tw~*mVx^sXxaV|JCfqhHxK6gg{jGocuW|t# zmK-Qq-nZ*POYn#9PXAOhXXF84OwEUx8$$AuF`py1x;wji41^#+^bXoonS5@8T^?Ug ze6m9SvWM@Ej{TVW_eD3`$o)+3BMRHlU(w-Us>c^>FuA)ad+N=fUcRLCK4k{TcA{P= zjSFyu@zwqd@k1zjiRgg;M8)GXNhNinr`vfaaiw7Kd^-sPiJ|{u+hx{g@J1+obZ`a3 z2hVZ&@)g{G!j1-LqaF&hQqJ!Ilmfm3indG`+Ky7tjwqn+pNs+T(&|8hbO)4;@ELY# zB|gTl#@{ZY?z7bQ?&{g0w4KTgJ{TMDnAz8I^Z37xXIw_VbZ>?~wB7iclo##zQ6w@Ib>2z1~1!?OGA|o#vVZQvbw6OdYD_Sf8YJfbGKXkx~(&CEV z6Uv_=lNW%m)pcOxXMm(Vj&luyu3x~?!u9L{xBQ26!Af*kn|m29Brn!nsBE_Ufh?a| z>)LzRYPJBF9ZdXfRC35#x)EPXdq%6|NJ*n?(|2@%DEh)@CtBOV`NznO4s8d%8rsbd3j&VD!K39KG;pXAI`pfb~;C&Lv@tyV!`;dTwIw|3)Sg{=K`IrC_z@+kl!Mu^uY{VLih*% zStcf*G~bM4qdkiq@s6~}R`S~HPdM+GWGNr+W4+Y?V0;e~$KuLz`g_n3X-&VLe>!u(Q-@al9m z7pi^DCA_YUQ*}KS(R1eI_hmWez||lTj(S-bvhY;&$1{uKXhitHM~;RD^$`?g+YD>Q z?WR^}LcAw@B}`*OW8o2Q#tJ%jGUn6sc!_F`jC@=3Hsd==pz2)PEV=iRfogYWN)27T z;l?GEliugS-CX*2w>7MUw>^FPbn#fR9XDIYQdwFZ!%4vt+ey>J{l=35Tgk$| zpG2;FwykwcjVfet7Kb$UWdH*uCPd<*C%$y7Wmp4ahAsTgy?2*5TV^C^ICRp`PS$cb*AjOPC=m z3ts5K()>|BYUsE#}F@Xz4PK{>AbdyHnC zX^#H)mffS>HSvWbdv3S|`ROq`?;lGZJw4sgn4kGuPO1-*15JrWTKERFEZE>~wQ|hT z0=xbtiSpO+n1OeP6O3SzQ0I1Xsr( zo{XqyywA=z!9q@pB^=49`d#;`<}m6J=z&E^fj|zg#rz2~zINwt>Ij`HP{A z6x(rTBmMD9e6I%(kDW#J&ygE~;x-rk02VW^*JZ#%1OJ?vxA&~8jWAaf;yU%?vKIgD zTM=k6wq2uk_P8XUl&+=wip%U+@Jv)29Alw?a?t#2hFI!0bqZ5> zlT&#VlhRpf8dOSJZs>oaECkq;0bEc!81H5R})W?%h`%;Bgq4gS3K{qY)8q5e@1GN_DzuFK)>tMK?bJfw2~e5UFS4z`yBa zWoVHTGxZjbfs^128ZCIj8QNAR5)u=@r-g)HQh4xy`zJ2lXQP)4w zVS_nCA&eB7v+a#iir!9W66y7mM%(Jjh`;D#sxs-BPE1e)EdHPjd?{pmMD>EcYbpyx zQ8yfLvWppr*GHW_x}ynR`-2=-V_MF?4O8FjOU!<$x&YBN>|S1&>qEV?#(&nc5Eov<^jeE}Rux_(+3(UgSP4@oY zW0j8daC9b4j_X-%_LBP%RvuqS3%XO^fU3(LdzwRT&J{}NK1&=pH_5BBLUtLXkmw&Q zdG*B6Nnxo)^;11~)`IqdO!vnlX1iyA#ES z&x$Xjy2QqKu@~o1xI=v$$i*R&rS6}cqK1M7GCYeINpXG|gdb@IkeOEwhOs7ae&wHg zEB*SeZ$;gdgaG&kIpewNig*W$bNQ5n@inAQla(Q9_oW2`&04NAScQ?tUx7*3tQJ!+ z>kP>=hBp!7W8hTFjnR1;FYT7`t8)_(m|f#N+WVM6Hj_*IYZZSdkMT~gtgqe6WG^)Tt`(!q7@8LzmCNwH5T|5Q8a^Bb7yG^ z3Vp=<&;BvAaiwoT1Zt{P@xBie^H6bFvu&9^tl4`~wde5!3wiS%o~W|17n$YXsBb^2 zvlhUBA93ie@YSG0nUu)?c>BoaE<7KBJfg(BHw51KB4$F0w(CC;U^8Hxh+jKFw{FM| z6!`(^=uSnkCfqKxuNvryEk#BQ_dFI0wZh!oj++FIqS1T@6TNH=c!&uY*Okk1m%cPW zaWqd87GTTprC7a;1`(GIGH1PzKy-E+`vriJE7WiLfg+i(-gDA&6`SrTKgt&NnSq9 z$*2eWD}sAF{_6*vdK=JfXDA_b2RV-U-Z=!y1JA2h&qXJ1W6<3qyRxr*SIGTP8(B`A z{4>SB3GR>Hfy$3Iumd3k?I9m<_b*%gvw{|($W_7U(F7sF(mSN29_7sSTu$$t4N`#g z6Odn26cIv1)QDt+tM~04VsCD^d{Q!NaC}D)z<`AQwaFFBGBl==Ozv*IcW-&!34TR*-c+&mDEvz5hoRR_l8#xmP-24)3=Z?55l( zv}6x?FTEPYRjkQZ!HNv%pU_ja0D7G)q-sVWoYC;**Bwm~0!bh8!$3}VdCjsnS~`XD97sz<%7OvHH9n0@M^ z(JRWLgH$yfW`hmM6h5Op);gN@jY{4_K}@m2b7WK5Rg~YFK71_Osh-{^uY!r>i>t+7+JW|McWcw< z&Q!e&9gRM4?)ClB!WAbsDMU_Y%?dc_656+52O)0)uSsQ+@Q^FtrT2iOn+fTAsE%k- zRk}?T9zZio+tM?&QJ9pgV43_aAxEnB7Ke81^wpeqWfF%rYyW+QFyca{P5X>7^lrNs zNbsuqqz?UDtC(4Lg9;j4GM~)SZ<5nR4Cyjh18gafY~nRoGyT#Qm6tN#w<0Nmo*A<6 z=opT`G&tD2x>D`(=Qw$XKL#YHWa7P*KM{#my#lbsS7*3)HI!ob;DD=VEASdj#h}&< z1BTWd`CwkEZ`WcL1xbFS!Fe%hUBw+729A%qn6O5j2nHU0(zD#4=@9lB(d6=`va>`T`W>z6~1bonCRaxY#5Y=hgg2E(Tg}A{3M`NEhAa9Z@N=LxGmFH5T z>_6$>2=&>j=S`r?_Akcq(d1LyZ2+e`GlFUYEYxl)45mBWD!N3ZlO;F2Q?YD9vAd=NSwG(*?wp7aVM~8t<_^{YIYK*$ zfV!o9=E}ZEZHmKeQeqn2oeKT!uwda^{`9Y*Pb!7(@tRdmmDN``kxq^H+306_yg#)< za(vC8d$lz875rJ$FH2Mp)-Wq9mG9XPrk_;SX@_p!oN+Kz%5_|hA06Ax0&dC zjG*%2EO5!j$5tBmhh_2QH~Q%Mibtw|iL+@D(A*`8$@mTOIZxP$QIQuL)OCOZ%<^ks zLo9TAMM;?j^0z(mzJU5v9uFKs`#Q- z4x9etvqf3Z<>})?i_*#b@|kmYi;lgD=XA38zX9srnT#N)Z1pYtRHZGw*!D|T~vM_C2$QDdY>AasVR|;-LumIh+ z@>S@M;hZ!O!8dZVmRR(?-1rjsN-p$N1UMQXA12Fm@}|25S2!4AKsfF{tex~oG^KJ} zV%+__Lo68JP600)&O+e&tNas7a4s7t*``AcXG#Hl!WU?6^X-gw9Q2Ko!+Q7`X`{&- z%FOYswHT+i_ZZ@J=zHv$z8tt20T0GX~WIg9-H_hSiN(yw(l z$Xg9&*)9#-H8mY11@r!M;G>f4X$^KrlZ*PKbIftpH0+cf&s#AW-enX&PiE*)uf)Wp zd>}C7e&X0__Wt~~quizc&bP1=lpy#IMTJ>#Ug<<3qA7X0x!IxdDwns*42CEIa@u3v zSvUZtKF=p_3MhEj63I2wrGhLW6UJ=}auFD{Qsi}ij{%cpLDoV@DIxjKflofl@Qj3? zOS;s)A8WOvrF}NnE7tayII;*kBoA&gW$Mm-xYH8p*OWwo&A}iz58dia zdTz)YUf=@rrGeui=gj(2dw+P?LOt0ida{yo6$DKL*K4oN-2Ihn7li7XiO&F1?Y0^P z`ru=KSbYKI0!HLaT<84m^avXy=nGjZRc1D`wORt225yEmVVX(8=n7{^0Mcw=okaMo7As9 zyvKG5B+t|s@}LWX1;*ZZ!q)_`DlC%%t*nI_4({VLr-2QTaGE_wM>yc9YGd>FC5Oe# z%R*n)vtuO=kTXWnRPIEvUhJe08L*G>-!ae*`~Mt+cYvE}F7}!W^Ui+wkdR>e!idPX z`u7%rB~kZhHjt^S8#m}P8aG#Oo%bnM<56IiQuC;owoQp29(>_nHL7#)7bOMJJXm1! zGh7nQaoTf?U$wtIXv1FwB`_hso|5wdUbR|o*;+u@*IHb?iUnN_()HM_P2WjP^&I^s zDb1TMuLoa3(fv~i+Qm~>xKhpq)lbRs%6Vu^SN#;{Z-F;FCISQSe&Z9G}WH=(8R5A@Psv`B*cIxqxvi3#5D3qVMnA&ablYx5$c zr0fk0sm5xACqxQP{$*t^M1n|<-9KD~VWU@QJ0ZY>Ea+j-6GUL|Zi|(q4NXyQxjK;R zQT+`}?3MkD#l^r@vhcP9#a+5aDh2S4e^6R-La=^@WW-P)?cgIXZi;+x#O0a-aY#f* znZM;_Fn_b(a2O23FbV|D;rML2^oDqjs$u9Op`=Jj9ZARFL9thVJxpc4Y z+ssggPusgjSaSP# zSVmlvSmsY2u&24GJapp_ccg4Hmw|j5k&la)bl}0ljLh!^`vHjC_Ux zuH$PvA-}*n_9RlQGnnwfRI&d)LM&8m1(C-tWC;SsLLe=}e@CD5(+q&++Gi0XY0E@J zalr!{H_{_KqqliCISVKe=Dh`MR|We2$Jtv2#npY$gSVT;-Q6{~B)Cg(4MBnihu|c* zG#1<;KyV9?;2wfB?oM!b3+_7o{i^2WUo|x~^K|>EtGdrU`|P#O+G~Z_E1GY6^qaKhj~%*pE|Tl<`&GNjzzeLCR}F_AUHChfRAWXC+&06yj!b531|dV z9UuCxH#Lu;FmZ%OW8(uitBx9Ow(l;xsCEsjhNJ9pyU`NC1~R{@3dKhHX)QSBvzbdQ zpg2h2<8(n&9htx2YiP)J?!emzF@$JZ8q1@i8#;$yOi;8rLN#&?)rV@NKqVxSx7`gI z+!B`5NG)(c!0u+jK)j#|w|*nDyppK;@>JJ~2Yijd?Fj}wsl}w66Z~-R8dEOKms~0K z>xqxZj}ik!w?NKV&49(j(ZD^kA7ZFS1(xe>csFee&(qYzZB%4iC>_t3)Uc4dthx2C zJ0%MtYTWn}k2a938PzxEhn%0CydNy$ap-7P8-FUtuNSfxobA->}WxiQ(gN zBClP|amPoJksOhI@fjBu_G+&)S)e=zCWWA@?=oL8qDZ4bzVPBueA@Y_w8?==V~6@2 z3>CL-ad`f)`09K0orgzu$Pote_HX?e^+RR%)fp8V+E9p^JhxQBJw|P|*pn2gt1YI@ zCzhZz5^(@aT!K%dQU0HxB(wBQF7x;^q3VMcz2whDbc=)fq`XHz&S<;SW zEBdx?b2Yz4&%ks5ITY(`}gc z%n2~35YC;08FkFU=fd5aab?Z};=-DN5Pc9%n&DQX0)!4XT$Tne@c;O*cKM%>Ofp&^ zcp-`p1dG{6;q^iFd>8ayieHAWV7C!ScVVqh@Q}sjWH|bfyHwUCfkGDvF`i!Ul^wI# z>Cu(srs;b7Wh%8?^`Gbi8p;CS$wQ!*22!>Q^X$6F{2ILGzZHX}jhopsk)ar%LAL$Q zT~Mqr_&K+pK5Z;FFl-$oM#|MYnwS(LY*a^At(a(;_9pK0D$+E~;~;6RR5s1uBkT1D zCy~Xbi5?%lwo^sU8AoTX9qc8S%sjztvKk-d^)gcN5k-&2G)*N6d@Dvn^Ii8n+S|U= zHKYVIaNX4jO-EZY!tIR(tSRLH-I8V!rwD6~J@AHh2iM9G|LWKpk)QIY>;TY8^tENnJ-{ zqtdA>E8$Vvy1e>6Pm5q7Mnr<-cQ>Gk@8l$X8l$)KrDRb2(Z_cKC{ZbdAs4>(4JLuD zKQV{>Z%GP!C4gW{E-j+m0sAY;szNAJVGp-j?}QMV(8px-4QkU~;yI4)kcyMsZcq1Q z2i38ykit#`h#bx}5xykPenGJLfJh_o`JxM#ht2-kdV|cluh>Yzs0GsDi7@WIfe8ar zjdkMyG0*peC8)+#LwR^;c1^^32H3KDAoQkS6v#gSMq?Z(fDf@dCbk(Urq%cnYECZr z*Yz(+3N$;{ra7YKRbD%4h)}hECf5UhMS>Z_-rq!I@lA2o1R8mTv$yfC2+OtEDCVyH z0r!Mp0`y2WAHwct^KKN4OtP*jJur-tvI*M7eI(%;j&YCYB468K_Fug+#W`e5!SrYh zXSXH>#ZXGTGNq@xQawE_3JyMF2LcehFfRC#1(KV9CQ@CaK#g0dhidS z4FN>MX#}vJ3JeD)A|&R2tJc%xd}uIT_M9AOQ(K^Z8F4@=FV5;o?>&v%8Qu!J#hKd_ zxYY|sr&Yrs#Vh;}KaXZyblZPx0k-MJW&)$tIFLf&p`jYDNqyW9qXx2Ccc(_XiD6rZ z4nAVG^eo$8$Tv)9D_-d0Q+4Lb2nGtsOcNpeW3JVXC54bwa=HNU0Tnb<0!aoh-N&t( zn~oYGZBf3z5BEohXn(n#)B1^TwEia_N=yZJiM>a&l!fGi5otV0ihw%(5pjs4edam!P+xKjPe zbR>nxf0F&4a)O&8{g1bSL%}@RS1pHdN(X-Q^L{uEmxLem(-3Z%MSvHp5b~NUQI)u* zjMRPP;Md@y)pQScyfJZ4Q`$Bzs%hafm^>y7>W+iLVE5jA453uF?OE68jxd0%Mylo{ z@{0Y;ly4L5mh{iyK@H3A+za&N!o#`5yv7TjzK-;OH?LkFfRulbgJlPTptNQU$;ddK z#P%Z=sHCWooq+^+M8@R$aMK$6GF)WN4tZA6huv$a;9Lq2LYH737!tl_-e!RO1lZ@;0FV2T3L2p z2&LfT>eLxQ$)_1(yH_D7+)TlujG)t>)TVP|mY6&Ye@rX7$Vd(}_Xf5Scm>zkht}|r zbwtx(NM>CpE}86I=9VPBv~!-a^s!2SnVAA;ZI(IBXzNt|zb?xV4)xaMlDkIWZ4?$l zp9wxLqU30BY8MBbFvCK)LC*L;+pPZ)D$&v3MCjrVQJ~Y>2`_x%-NQO(h* z%(*K_78y#4X0k#2PJNPk#0DN*5GY{kmGW#mss9I~O5X&E67RrR;CPxti&f%{gGE0= zoB~w#UeMUvilCnUh<@*ID9uB{0G8RY93%<}=f>A|T-SalW1MOL{{DNxzD-ed5e}h_ z+DAiE&_Q2hkmAhsFkCKDR}t`u_rnINnmuTM(e&6DcU7XjS3dfx7dEgKIdf!A2apB;5S)F zz=KjCi%J7qf}e#}xc~PoUWPwI1hVs@;eKG!5n7(Ja99XuLoDi+a0B6>uN!atvo&1s zs0CPP>N8mXmOFOpWJvcw>L9X8w{O{acjdgfI*EG&=IN6c;6$R3b|^}?=GNLCPkhwIm0^oyOn_YTZB(Wgoe5kh zD~XCm%QnpVQ6lx>nbkcOQ29hP=5T5~8pL`qEbmxiog1%Vuhgc&) z*P{|%&s|&iQtZAOw-SKwh~2Z;{};Fp-(H@Zq@)}kvNQs?K*jKDJGQj95i*^`+^uVf zWxOlA^~V_XB*W+G!Hl&+hfX;8&AXrYvrUNiTL3S%7wc$i%zN;O^&N`HBxf*pyKNt_ zoV(`{Jxt_vH|V3~73R3tD=E{_;{L-sMpZV0Do!JV{hW8#7QE{g#;$L z4?%&WrHC*jFmC`oM%q-j3!fWfOTfaw(ynlXs>>5;@9W)~N5Q_Vr>e39;+-(F!*=oF zpov*s@w^`+Ff2UD6u8qv8bD@%i5SxeePtQ%2s~oN^`!f|%@id;qYL^L|xQ_1<6Hzhek(Pwv&n#7$mIaip&WNU62* zK|fF5pRMHvUD`Vcm|8i;!kX`*P;&=79|9{hutCmL<8&lJuqwK1yyDm!1sCr49Qbh-cq3-!lu29L%UkKw^C;8L8SBwFPU!YsDciEig_}y<3 z{W7>xjRpd=vvQx2bVe(GTr4Q|l>mY8@3a!wMP;=o!Xo2F{07Af1n+ zE@o9yb7v$#nHc)c;!p~DQ`q4D4JCfY6XI2%iW6M(;CLX#!mP|R)M44@J5qMx-<=j$ zbf3I)Q`2pnhJr;E@h~E_SoX)21?iOBRWcgjIHO}k0Nu!o<$YktMG7PnG&T_?O)G2p zof!>=W$OLn#BmS7irG2j6054iN}P8sIgA-CAyLT){$OLX2R1HZxnLC?MZoN}s$ z8~CEkNs~@W!fRb2cb0q6|5&mAXC{pKf2UT$gsc32Vo@3gU@9T|dp>;5^6#%N2N>lCPSB6f zQrFayeP$cG0WmQMuc*o}OgDlF2<&`I^o+F8Tbi-Z&VleDqJ0TWn$c^BDdQi9?d5sf z%WT3+a_1rX@P@#GBCIgHH}{LGB3F&bTfkhz2g;y316UO;A{c6dEvp`ZWo!9@=l`y+ zvf}w`%DTxgzqdslfL2ZGMsG{uKBdkb zIB(`%rrYyDPpv`TABYD-1Ue%2{!Tcf{knKyT$DSkE1V@B7aRx>-#&_brJx!qwPeoj+Rm_kY!>o+YXE#pzFve}geEuB~MN z*%YT>@z2YnBtrO$w`&_01!h@RHt&mo$?LL?CAp#MZAoFJnLiX9b_7K_1+a;fBp$~J zQ1gzNMw8AbL!(qPUkj0M9N*(iJRm&>$(!feZ6rnqh3mUKZq-RQDH@PB2PPp=tXnb% zql9U{Z3x{dN1+AU^q2PU5nUXavDh=hQI)YL22>>@K5)2rm3Q_FHjzdVadb8>mwt>j z91TNH0azxh_$q#;q`D_Zbp4q%J8o2VuG7$;cAAE>mGJ>ln>aeYBFOE>!r_-NOa-Q$ z=#k*atBit74>2o_Tg-u-r;wVfiDqw#nNfqtkuY^KD=R%!XL6S?fBvO`gg+{R?p<6Q5B)c_qFXETp}EcnHNo4pNHJwUFAf*(X8R3 z&#UXGZy$&J?XU^;FIyf;UT{+Igv*kqUb!f$3`+Kh&d+(kf+^1@F7iKec(W`W_a+v6 zXd^KY#7t$DHJ?G{A|s6MJcvn7&wnsRRXQkJ-j^(m-17Jgi?IyLkLScTdpTy*2Gjf^ z5|aDtPABp;oBqe7+Zt!2LCWjG#@sRXfNjp$uVK`oiF+$cCaNB`cS0pY7HXvp z596aTbAHdP(qkShFD?&5@OU9MfcITVU0TYN`0bvEniR*TA5uS3SNd?HnedaD8T(kI ztA45pw~~EnH8F#td9`x8s!E1zbsc#!dkfEY!JGOoEeZcJMCy`BNGgRvvy(w_JKd=E z1)Spx-V1LKJlc0w0Eb|ibir{UHZ?*zsSkG($}_W)J0v!XyUe)kR02Ea3)gXd*!L^( zDVS@!k_th~?zem<8=_95&mtsq&MM~&8kP{t$`}Ia+C5=fiJ!zXp>b-JPCV#^4tkTL z0>ntu_if90gG{$?1bom>`8yXZaH?THpuS2rJ_(w8ZH1hHL9}0PWm&7}pnc|d0j5-j z@*j=ime<^W<>7*&n<8RJoN~%RZyYok{>eRA5C7E$Tk_I5rOUI8p9eCH>--|#bW{VqXAQ!Qo;Ac-`wN?Z59)x9@K6w z{pO&W7i8(t=S7(_Pf?rYd?CLyzqIzf)OP2PJST4}Fb(BOUw* z+Sij~i03LT6E8nPn;>}i@EIOFTy$lkB)Kzm$z8vzP6flCN|?x?%11fc)mKA`)E!ST z2@>~2{k%!N1&wNJ^Bsu*SpG>~)0#cn;ap~|L9OwP4n0KTn=@EHYwg{$;zsSQUrul+ zE(+v*a%&_WJ)eGYQzQ^o-oKE!(kkYhmnHJdn7sE|a#p3E8ghenNz(#@pM7w-lCz^T z!iMF@{F=^n+en?-7x6A~NWx!6#iE-A%f}o2D33D!;GJdt$$h`1#%@%N*|(SG&Q21g zPrmT6KM{0_MI9*Dcb>0MN_SfRg4We8_>~BIDK>+1BW_X(TOTG}Si}&4l5q~7=y;Kqvspp@8uC(>RV67M~nVX?swBB7j z4BD#Q*P*Lxzr50ImKu=I5}c5EBy2pccv{?MO&`A-Q5#Vmhw!pB(AP5b9FMC+lkwoU zZvr(J1(vHTHacY#c8y{|9$Y?1ZWO32e^1Rm+nC^2XH02SSy9Y9aucl%tH^bQ9ZTz; z2(vHgW0f!d>k+xZ?CG8BZQ6--XKC=}N)SSHu^)Q<=(GgCyhffi-djZrd?UjMaC*55 zJGx+XZM`8CY__J{d8xt}MWS@}n^neXcjDov5)Da_816e*4pW0mhWm9}2#@_f!Sj%) zzV;cXhqSsja)t1}{Km#M-iP_zv`3uqPj=P*&SPTw(zCYzwEkU?hzo=4YrRV3z^oQ+ zUE4on(dl+h9Z`5Za=I2IZp+K-bVxg=t8f0Jh`Mqg?A5mR{%6}ksWw*O4( zZK#=5@vlIkBr%*airI9jv3oJTK_s%L_lB%B5*f}%hlNHiGeD}1d`0?-n zq0aZ%b_K)U0q@Clq-m9QD9pB`P|Geyez}DAKO(6{(pe5+Q4ECB_E@vmBzl-{H)jcc z(*j1CUrTqwyS+_WenUj1JcVAeVUs4xzULn&zXERFKRy(U!7n8r?fU z+K)8mYU#mOR2sw9PasG)JXg_x?N6gsKw!RaPpogI68fH=JJkmw*dp62+AV|^GgN(Y z>e_ldnwA7j359cmq-+16&edjPmwE)RQivqd^qL}(iPebTiK=^!B|Zg|#!6;(_iET3 z2}k+bWb4=-hee)?Jz~^wG~}^jO}}wOS23 zSV4=R%>#o3-ve{_bn)4fcbZF%@$c@F6Si078aqxVc+ko}a&l)E0Rhe2`FnzMDC17f z{gt%=VCtOT&0u4o4A1m+=jPP+Brgm5 z{e{RNYdSC$JXfV}9BX z`#2|Ug7&xKiHqu!D~iFlxE^!rO1aQ)l;e5+V4_%~$ViV%sZx`6SlDK&8Fj#(ZA9;T zPjfX7_M<6m`UXPDuItu`@*bYYle=^lx5b#IW>rel102zZZ54a5GL`V+QG~QdZJDEp z#kk6s35cX9tALY|Vj*wS);}c@bqH(;Y&p^3Bk@|{8ObS5FD_B{Mr!sPnfv2`7KLy% zvJZA44Sg$7cIFxT_38xrD#33`b>lYDmz#ihxT~jVpa0Y`=)}EXtX7D*49c^E{(fkb zeQ%=p+9#i+7aznekZ}FC8vj6uc;jhIH%~e)W1?tHIQo_rO+aD=r8e7_GD(1WEtX4M zX4prJo3@SG(W#1PtW6N%&fv@2#@_0*o4+iNE&FkV$U=9SyPq>OP@$hzGJ|+?jAA;5 z!24r0s*43iG17YcXKw5ZKKG=uzwtF5elk0c{l%g%mcZvC2h-@y+}i%%T7Xh5pUb^T ztSmCh?s$3e&NyaV!07ZKPJnKwxIRtd*b*a4UJ0#Dgy2)?gVRBvPL`7Cgd6r|yEK5& z9ZT+Gdg@IaIlC7uPsJ8^)+iCSzgygS;DJo(2!>@Rqjh{*i2(t_jebm!tXGsjp*P53<@2yIoagcNv@{`N^M0phLm4o=`T9yoG%sMYVTuM ztnNtN3s~eDrDu-*>ZbKUd1^Zu9wXm9pTrCecPIE6sHVD6J!t)+4H}1bplv1&C^o%NBg&y?ZnlHcKPowWXm%6i4Ewe zx81yyWT-^od>EBeb6OPN=$4~-B)MwuQk?gjUz~5AFk(4+U(Zc9plf^h_52_zL!bLm ztT^92y*R{*aZqGz99TnwhL)at_{uBS7{Pwndiz$qBg4vnhu+@kI_0%Spa09d#^|xM zX}gy_F{(I`pAiB8f(Lp6;uG0+^FQt4B8b14Y^==gE8c*BXq8FBv^XenR;PDT8F4=J zMcn~FnDn3D66;4%_TTu%%~BMQQgn;Z*(Pg7n^I7!^QCh=&a(i~=h{dIs- zh*=@O$syacMMvi64+0Ek)2H=SO%zb$L7hg;d~&Tof&NTk3r|?hyhC@sEKya?T7KmGvt=eYAhWhBgg)xn zMN#oIiwZPbq2t+bs*>L8e{Rc6?r4v0i&qj^e@KB^zHbKiYA}bHGpzf)!Jh1!RIL)P zM-!6F_2+MG6Y|_hUT*J+n%;I~VCT)TZ>I6x)>=Q5-pxUQ?wwCR)X@@x*^3+m#)Yrc z);yOzyH#^BIuLmJDP$jp^RMr4aHj$wU%vF3)kw(t2l_>8V4NtKY#SCF5<>wE8y^aXe8bKA`GeAA}|TTIn@d zJ$ak(qt*FPZX%8U>=XN~s#GieFH~dwY3vKGcH%{!wy)$ zJcf4aZ`T)ds%Wb*scfmET&Puh@A3D;Blh7|D5cC07*~;9-sT(11g9%!j3*b7jf0!+ zsZ_7i?U2>+^U+bk`%!d~>Yo%;FV9$It=pPMzYjF)Bm@cKqE`U*o|&fYgYR=fC!c&< zq4iY(FL-#Mcq0OY-e{Qzi^0p2`LIxY30VK{KFy~@s-~+Su`Hj>kQ+GDqvLvCqE#P) zCMQ2ztCe}aLAqoKH4zY+C>v(N@b|*IX4LL}ughQLqi9^`NEPE07Tp<**?|V-^mK&h z(US8Z@AovC-=gDJ5qfFVzT+}{Uj--`X<~_pQ-|brKwwThEQ{BiqBHggR6ci~B=p_e z=pW&hZ{%{UuRD9nmCUEG3#yz&#GaFFBmGlTU_VPmG@ifqDrD7T*8gdIOPlChk$%hc zwLDt>;qboT@}QB&bAgk<(UrsT(?;h_Qm^@QZ@7Ef*a;~rP)uBYSX{s_rmbd37E{Ba zHGZ0lkivPsRy&r@vnn46T~v5}$wMEy_>pJy1vv##NVD)b2Or?c*1oipSLe&9)u{F6 z=e-f;aq}QhN>=NWE2I;YW<)xvaQ-L|yxQ{0Gx0bh)TT{7wwc@PJ9=qP=}|6~Mp}xI zc94LrH4&$6W*}22h2Yzq)MZQP@{~Exx()yNJN?<#k(vZqbwhG~IrAmF+0`Ge32FF( zF1TmUVakfG-0d@%)^fy_D7A`~gowLr>CRV5@~&ER8^#62Yme!tUy5&jc6S;@Ko!^% zc#_`XiU}i(I;wfj-mSGvhn6+5Sg7S0+*nZ8MB&E6W>MoGH&a?8_SaRCF*K&ucy@-0^H0>7h#eH(gdrvc`<*Gx@t!Ua{&KT5H$C;dZ zD-mSPVY@M={Gb?a3YH=Syf#W8FpEP>kvw?^-iPxrP~Qy8ST+H=`!?h>Kt(eBH|omQ z<&zl2Y#dM>x84pO_{o;>;W5^cZO6Zc2_I}%MiWCol7UWRO$YmivgiHi%=`}|*z7>OE(w}&HzmB#IgSHn*Ilo^HDjdfUTuXP zDQn~4sWT}yL7>e*lO71iNsr~?+2j_N765mk#{e`qIjQ1R1CMg%YH?8vw@WCWxhdVsN0;PfgP*?oizwleW6YTj~Pt`wnl460eQ2czt&SO-m35k=(V74gU)t*drO4{>K{jv1oAxn>)!H+u*r{diuE?w64p6Wi)8crXqPxeCqt?D7 z-{+cO4}4)~T@9;G(>S#mfL`|PZ&)p@1~sq*t^m}Wt-nL!7Z z=kaJ%e4i%DA1kbGsauO?zKBJvEe3RqI~ySkJk$*7WGZwMS0Os z#fP7Hy6x^;$gVhYmA27GrA}-h?nAHFORa=|CVdqYSHl(K+CtBK)Ze>qaSIB~9gU#^ z$Yx42GP@P2v@hQ^Jv|nPw43jZFF6}=&E=`3Qn9Jt9&Xm2EqqFHZqmYDT3wF9&UwPn z|92wov5TRlJ}evP*qCSXv`KO{K#U8&VaS0yy?uW7OX~?z!HE+?{Y^---ID0~aYNQ@ z>ho3xWmw!fRp0Hx*`Azfjq|?6(&SR;36th;gOOiSbC- zka<3jRSG_vLXo=@C9!{|lBr(~wt&%z3@sgXn;Ex>Fuv+_k15*kk4qla$ZRDPjz_)h z)1|4g4QGxjM(WrNJz8gaQ6wt2-NAYC?_8_}X#A@2`4mDw6wrX2=~~u2gdlHcLpIh#Jf&2@j`!W9{*4=3BM#i)}~d{LV}<> ze)|K5FZU+c%TJ0nU4p){-N0N5X>H?`|hMQ`GAiY#Y4yDao5>BY1j z@LSpUD7Lusl6%8)`4D?1yfheJ+-;hTibD17x_H3(&B>H`JP&3_3enemGVbl`d&mYe ziZ&|l);u$QebbWZmvpXI0E6<2h*!Jt^)CU~D`gEFLRE5Sc9CjO!=fV9GKMKaDJv-D z(k=cjq-OJD-Sm+`X?t67J}8^odKS@sv8**7;jz&h0mVUbR+Xq0;vT1hr$Lkadd*OD zEb#hcI11mYIC`Q$5kr*i;>2}lcU4-vO(*UAzT zQxG!Kiof~*o-}5bY!Acurw8Ir>xXhcY7F9?BrTaROOD5KO7g>kh|Lr3l!(mY7RZfl zAd-)9rTu$qtbrf352@81G(U{HXT0jt$gH_5W&}hPG7cmkMHk}2+B_Yv=$^s^yDRg5 z|1H7``hID7hAGw(DilFP29gvH&=rqT9NEo%iW}i+SoXanxnx@~4j{HG9`3kKV?E`3 z#-O*_?ZV_*iDVUN>zX^!U6=eIjP-9pok?4FeZNB3R~V<{ z{Ifv*4%|WUPYI4=TQ+om$b_c)#pd(!46(Y3V`!hei6;aWZ9|Nv^XY3_BWCwsLf<+6 zw6?ez^th z;~V{;QkXOl{VYWKuaYywE5|?TOW)M^dBd!R#kH88{=YMHD1hRN%1Brl+lDQQ(zhkg zbK57jgGv1T+6Qlz@Db6;pBFKs-!~!E&M$1^xuwf_tO}E5wgx`rlM^ixq?3Ft+H%XL zvhV>jZbkP38wDE0^U|hUUFLZM?n!T zB!4lSiW};#s8vTf_w0?mha;Ts*xy(t6t>aij(^B0S-*es=^}Vct@sxXmQ?RcM+F8) zh*Ueo{!-}qi=zKSf4gbU`|Ikx$k#pv{d4@!u7AsoGRHw z!Rgv3KGw?K0R`yzEL}OrYQ2XZvgQ{k*y8TgU8%Ew5^ijWVyC8DeLoQNj=Gum+f@%g z8GM7g@?9QlzdRceiAL>fKG#?j){TS-((S4hBH{z{3S$iPFnd-Ii?VH@M@@-uT${w# z9{MX0YEctD?Yyu#TD8LHZR?)R{VldB5yM`fp0&ki&)^nj@pO4nFODH21&k0(1h&N3h{BxB}af5S?d@&EDq$VVeN3) z?kR?qj}G!)zSWHu8Ege|j{M>(vZB>MJKTRBnN40QPkW*7lz--wLyjNvCoOzu2 zEU1eHID+)*6lmG?nn=Q8GyM`ullo(oIUN}*s%v+vsh*a&Xz_sn3owZ+AlS~hw)}OJ zYkAz9Wk~9q?`bP#*z3e?cm}Zmh#`JCy5^}K1GLttEXW61qtmxwRa}>He6D8OmsvT0 zBt|8GVan(J9(3ovio}UwN~jBkwBl!2Y`FQ|Olfm9deRusr$J$gXyVaqwm@$I(tzrl?>|zq^jdbjsBiT#h%l) z6UYcYL^QuIIoT<$#dnTMr6Dj&|tW$<;f2Zu<4iGknD_%Y5@%^!!A@Y=r#L^J(7GQ`KmRN`TbE zw+iRZ&Loh0;ak`JegXFv#A<@yrl_iLExwJ}#QC20Ll>-DR2yzVm(1?MJ7%q z51GNG!}BXY+llP3NllR^mEgTLOVPa-KN9qZ%!jfSkX#9l_HQ72YoR%0ga zT>}!+3TO8-4XAq0@pN416jx2x?|+#{SnfTcJ z?bG@(wh7c@?~P}Y%AVm8YpS+>%EEOQVULH|TWKq+WdgGI4?CB*#7N`^YnZ;gb9wI~&^vN! zs;?yMxPMGvgiMNjtlot@>%(oOK+u+itma+FNS7-;PhhCK7^ArA&7C?qhmi5^70izK zhdrE)f8FA1LU7Fu!tueNu8ZrC&k?L1x6hFp)7lRxApOV!k^EqNU?rY{_kL)-(P_>$g5Yt;dIwPikkz6xs`--fU7s*&Va?$%_{C1j(@}{qA zt#dm5kG2Wjx^^!2y@$%1t=P*?O*n+!veq`>$1Qu zo-pYxTG93Fq>U?hJxEh`9R4DEf2(uv zW~Guvlr*=AKpY7>kjq!Nz*RrKr4o1r=)K^6-8RGpER|EG2k_*oUH_6Dt<=tbHbU|1 zL_I^bSxG(+eK%EQK}tBD6ULYck(_3^k2jKWxM`tkV#ceT3&HSfW=_Y0!buS`-jk8H z3yl-uCZBA?n~8$N07HwpQs_t>tpLhVfBtFJQoG1$sVq`>C%R9A8WE#Ia6O+=x$* zE7q>`1+>TZWZ@roSIax~k`S%c4kQwk&XTo<$5JdxZP#64Z1L z?oHPsH+yh~8H_`M-CygqkPZ`6Qz z+*FNOW91h*)@Bm1nJ}D}`7Is=P>QLy^9J7t+?aO7skJDP-uf~0{6I^2vHmaYprrYD zz%h~IX!6@i1_212Qc5b}M^NNzTpu}hmPjLsKXZRJoTP9GHdTC#|U`*PmP z-&EaS3|2BMaF^jkQ`(*Qk_G(L_3<#~bsH7CG5*X12&|=h`pQ=n%De|cgt*t|ccYF84)oH2hvqjzLovoaB9TN&5>h#(xhZyEL%12lc$ zP#kY0>n@`Nv@m}|TvFBR_^I%>opD&&O5Ee=3ea>}x>1pP2=tdUN9K`1n59VR&%j>{ z-#-hZ4+M-kF@jWj6l2uodz$Lu$+4L3mdSEM@eI(F?(a79)p-1B8L=q| zMahwu=RFHg!H8(+pm-Y;fEpM0of)PIM=ZJqux6!QL}MYWPg&YHM+*Y1S&d2{Ol68W43jZzXjMTXUs? z+k)8#=0!R(?72^=0+P(?*m)v!70x+sidVt_^mdglf*@PH)W13}T#f#1aI zZsa2YmJ}VlH$Qbd+Wa0uAUN)v!!g?;Wi%x^<*YLfb0PJI{2}w_r&#D=KtHLZag(jf zhKt7_@GZaWL4bjlJ47cy^?YeoRr1lMnYLKdVKV!3{jbRpj|S`khotyBJg$aJYXXP*c9^@G{1Wf8A6sj-p zp{wj(sxy!>TI$6W^GbUWAIZD#5^N>NPrM++3x6llCBp@Fr@CY=7;blQU@u>Lo057T zAoa^{WdTOo4Mqyj9BT1BIYr@YGf6*fd|}IP`YmDB8@}aTaF3$*S-)1g<7 z31VXL{*rGD9y&sHS^`u1I0{f_rQ;r)5)z?|!}>EZEtIM4`b1-@?bIU{CPXvCFJw+) z7f4o)<&hVT$Dz#+)>@^%sjF#Q!S^lG#3EFlh^tms^!0mpB$sMz!{oO>FJ;$<{TGX4 znX{HA@a|f*(-^FK6cW#pZkY9>)#U^|HJ`tz_xs}xPRqqUwsZYqT%XfHkg%nYOoU^5 zYk*h<^>4~6AMp^63WpF53H5G~O3aQ5B;5k*;AN7t_1!t+c4{P(y*@XO_LxwDfQr5gEEz!;W>+OYaXGJ2Jf$@ciFOi zeLu$OIO2Bvj=Q2#-*kWV%GoRzSna&|mHzt?w+Dn>-g!Q>U?9ZYkq?7vHs6QrCi2|XWC(za+$2G=TD_t zuMUFY=3r)oh||v~MC!PXviAmAywJN@+eB?M!6Fr)Rw5_*ix)xA>1Pvyhi5@AVbphg_`kf3KXT7O2j;cvJxo!NY$Fb(nDgpoEJndRiwq zoVD2jiKMi4J;@yXb4HVLEo$8&Eb~)m7`8pKbnDM6mZ3r6Q_Fze8^8Dzt>#Z)aNIMV z;;4Z}HXjL_Rfm5M4WKA1rOi-mt}*7xPLdVw;`3;;M1#KjjS>4f4pr~_e%H2t%U&oQ#y*jP0C%xD9D zLbUzf?~$(gvBouq$pBh7r<&c|VhBwNcZp}*VxNZT{z^KrhPnGG9*AP4=ltlBxeJL^ zp`upOQ#hCoSUMlf-A7c_40h#jLP;;I{4T$>#ZSOygg!D>5tbO#;9BK1kH>D@M&;8) zg54@Hf*%nPm}Wo|&_#JN0=OvkH(SD1Rb@*d+E6$;Z}A3tImiv2{b%g6F} z?8U4I4UxKxH_%HZuCPwB#S2Y#E|c2G!WpRj{kPfWpN5ky$|Cp!sPN-nfId5oUY7~g`xbwL`jBCyWHych zvar=MGcfH#=aW057pX5&6y0?rpk0MlmpcPFs#18f(pLY(MsS|E_ywq@113Gcg5VtU*+8x)&06a-JDFF+( zz(hLbQg00uajhZjN0e%j#Gzg=L>=jQFZ=By{)ZFlSP|k1Ksc+86@-fg63*(x?yx(M zaNQLYRW~4H26y)<0Dd6^q`rLBOh#-8v7pMl52;6};!kmsXne|Oc%BnR*V86s)vvn@i#X~!4kP@nvjxSXFz#rx)4@JDuAT`dg zEp8FG=@r>4sL5=W^?@_~{!$WJQom~ZU87h&9VDbMud@ZSXC`V%J2KCr+C7m(kS2$q zb;|CBh6BHujQ{}Gm&<9+sES=(UMP1pJhzBHD#Z}}34K&C1^+kz%trP5$ExSA_GhuMT?E;WfN~*CA%6Rhh>_zrWWGp@eF2&N zaR{O;&z6RQ8UHO!HPXXv7r{QaWa} z@20!hvHn*4ol|y!dTi59#iQ4+wAQ`))=clG+g!zCGngb1;2hN=ouj=vaYdm$j9sW@e zSpbhEw2w;bv>1^uj^T5#L8@N3n7ueCmb%Fr4@9Xp+=K09f$Ftzcm_2Z1BXV;vR*yZ zJ(yxynm>OydF}WTeVBHc<~mm!l#!Ttec}&Z>5ubd8Y_IKD0XMAoMJG{3|)7osZsyO}>t5RGX5kM_>a9jAl{P%s&QwMSqFFsl;VP(7#Q$V=%- zQ*pIAAxE+?44R_0<-4gvCL8BNv%<1U-gT0c2BYl?P8#+UJOro|v6y)LYyUXaZuzHa z4LQjDmniqIKox%Oy`2>BfDfrjhvB{;&?zMxw6xNjfg& z_Eb0v7uCLiF<2W?ty00>twS;0c_<1{2e;O{I|C=MOq#H z1&0u({K_+_-^$4-_>pQS1e-nM8wiF-iNOtAhp`2jR?T(A0N6}?Hlwjw2o6ESQyL0 z+xOR{7E5td!y_Wz@Z2FHV{l&g*QXtv2s|K>J8&Ubce63N{sTh8znoDWNO(cGf8Rfp zdW-U+!8ZOSAru8)_(Shb^Sbd$GS!Nk9|C{`et_YH&IK)?QKx~0N$*kQ=vV1;Ngjf1 zZG$5mZyKoW5E~>_ZHxzXlNKmDgOVj@UP!$Y$ZD6(IZ8dvgAYql5G=nlh#6mg9^614 zxV25f&fqn4?skg7%+22nDno4!5G8&ZTSF^=@=WUwer~@~CPcH>y$npCV{Sx%;zeg? zd;P01M@{}bt*$I=wZPaotkjEJjiA#?@GPdzgHjqNzr_!Ic?2={Z0&#*vD}JfevJg}vr1ZOX9+9S<@b z<9`ye+R;63eVsVR@WafMH+S@s$iv_WdIqiz$?-tL%QNxg5KF_ZbkO>R#GDIw^sVic z#O9NZi>OS3he~a}V881`8W;r^A{TR9S@Lr@dFw!*qxELk-j%w`i2{U5h)y zbC(@-0G8R#x&GHc(iJWZTU_yS2K8$A3fM3F4VpT}FmEa?nwQFbN5A(CT7|7NR0XRH zrFMsp+F#*SnPOmbyQcx65k0*yolZgxxpB|yhLN<}>G9Z74m!}CNz!Hc*DR4wG;g1d z%?)H?zYavtmf?RPpGIbR4{&PZNe|+JnLo--TJ*B6M-Z;FhIv2K)cTDq;qpw?@M?J`xZ3*-;FSlL*k*zk>A|S`gLbJ=e87ic0Kh-k2iWP zlo_7!LMb~g%U$Y(JUQEp7X`vRlXiR1sZZy~JhVGjSWn-{?qsOe8Z!U_v_YAvqTm?u zU2YQS$Uda}E%ZH-(R-K+PDD`8>*=q)JaIO1BY8uS^w2v^%1Xvi?Xh#Kj2&oXFrgxt zH74r4VvJKZBkUv3Od)SYA3JGeAlHWupl5!&I00#!PYFdnceGj<1N_OhyA|dKepJR- z@SnKpkAC-f6Dzjreapm~C(<>}7|(FtKuK)%Z-)oMj7B=nLarU?`w^co%F0xaP8-uP zK&;d(9h6M!U9+&1%eo0rq>ss_p9MSnr^H$-$e=tF;lrml4Q8fLR<#WxXBDA3~M%8YN@Gw8b`}SVG1wt%}cc~H2 zqri4b&mpuA92y3gv3$>U0URGBb$u94-mJ}%$4}vVYMR9NbcTRgyHjxedf#ijUSVw= zsKx563|}#myUfUJ_BqY^o@9jGvAHH`-P3+UT;j#$C;h!E3r`@mV23D zh&>A(+Vb!>;v&=yc!{pgn!Q;EozUkMF^S(X^PKJGNRVx!Dq{b+FjJ>^4?nu;O8(%$J7S+8S#bxa^(R&a?V*Fm5e-~4Y}dd<`ZT@*)lpfv?>`I5C7v55j3Hnmp1;OJ1Cp0&>^Qm z)X$P955@z~Wf2Y}Vx;i$6+-f3No$t~nfBJr_Qd_KL{AH_Y6B6#@CS#6JPi$SNNPLZ z$V2~kdyuFM&-oub)Cdo8v?vjNfO*g)?>n3R)HjeDIiKgX4FxkcRzefDX^X~swN7aR z`}pNu4T#`clOOh%vmL1G@y@`)}wA;x} z=Axk8{N(j{8|ATYq~6kT8=SWp955V<;8U~<>HXV<$4S3TzX|}(CDOP;YQ%I~Ki|JO zmUT-{4s!^vIK4((fulcoT4(4m#3w_fxu*B7ZT;J=GlRuXy#h~ zcOg1GjI=DhpX1_1`ae_OxI6Gxf8FvQ5(Yq9EDQuw^tvt4zjA_xOejynE|jwB^Vk& zwxHM|nz+QrYIXfh@r>x<+;%Vsk|q1%-8Aneagp{4KUViZx(2isY>WN^m%Dicm3BcB z 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%0DaY-QF|g1D-J*3 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 LNkvXXu0mjfhHbMB diff --git a/assets/branding/screenshots/playlist.png b/assets/branding/screenshots/playlist.png index 30637b5169abedf9b2e6d2756d92e3a734b3593f..824aac8cef2910de4f57eb369b7a9acec6d092d8 100644 GIT binary patch literal 592162 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 z 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%0ARqlm?PbeivhbYB+(&a3)cTD5=RTfL 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

^RF(pcie2T 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⋙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≺}Vz#$J3_C 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�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

X`Y& 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⁢0!WwQ2G|O4GA_j%wg5XC||JV}@L@j64 zGY(W>d@xKvV^_jerib`V^e#6Q$H3t&8o7d4`{(@}ngwoq0Avz8JUbo+3V6KsP#->U zw2H;mO2moEC!qBe33+BTu$Uvgt_^hz;3e(a>pxeg0PNuQ2&`7ix>TQJ@yRsQ5P%QU z5ykd|0|bu5H^c{x@XV74D+$!@1mL-%oz9^aPr$(I85iy=R8=4k&1)4)+hXefbtKw` zg{tO?z4ztt(ZI!DWHHp^C#tB(p(>-lw4oC29l+mFfu2|Y{EOO)|J|?K@x&B|CAk)V z-BO^{*!K@BAK4Tagy)^LrOu2$&TI;#i|c48tz=_G>qt4ghim)F8(;HF?S-%U4}AAj z1+SK>Ej$GW8U3?WJNw~n;eF)Ik-oVDCaUWh!#BtTS)W7H7LHrQs`!_$`$)U+u}`i* z*|u6SE+@M(0B%2YsJ;G`FKaLSrGH=esDg!cT0sBIIKJkiy19ha_t(G5rmDkV&_#?qn>FVA-SOj$rkRHfBz+W+be1Z$ETW>47MDQ|zi}BIuK=H-e z(m}RkqmtnmPZen7wj4diEeg0p{A6G@_?UI*HnD{RH88Z&A70j2w9p`zJUSSpjSHwP zV1U(u3gTZ#M9*`>V!#TY^IAXd!=#{|_v*hDG+;-7T8@@vHQLj*0JYIIY_41MB-lV1 zPPk*}<*kGO1}B!hwy{peD5txCg1k;90QydLfVfcw@lZKHMfN5gB}Ovbz+J?+gIMel z?G>MQ{PlN0H1#kBGmh80*b`4f)-=q_A}*?*%6-ytclCX-;DPhM8U0sV3?3M-Vn%H( zz&KDxKnJrMsoY4%yC2VIy zF5OTUgD=`f5fg|{71#(&ekKl3CSM=FVd(5LjH8dwZEJLbFHS+m$#LLc9HZa?{rgs* zZ{T6$ZRA@t9k^INS;wIfM{(*q45lHDOdA*Si~~M~1sUAuoJrdr-{@$QHg32FE5fsY zzrMq9LmTFoUc3$$IUi-OPunp(2Utj?#xNEKxBO6BnTv5O&3AOJ>l#f#!$O`6p3Qq5 zf2Max)#WJONfvO5mU8wD~mZQWmZXhycUpTN}pu>oHrOf!KrjCH6Xz-*X|BY+Px zIoTqljptVAPh96&{5Ae9D>N5?cfT+*ZwCJ50|QRG&t?ahME97p)j`aahW)ospjml9 z#Zzr0upPW*PK0;HeuBR~XHECeDdPqXB69%6cs&juu7jo+f2VWCk9+lROnl^Mf>*R} zo*A!^ZiCF@9JTZw<)dk&B9ryV{i_DRD)$Ad6DeD(r~2Mguq`M!K0N9{_H<<%1d%8F z+XWHEDM8d_38SufD8@{fBSbWE=;)Z4Y-ljRK*Pq2&?jN=1mZ?e%K%Pw;w~&gbP6Il zWBr-*!^jdGQe-q}QjA5n!f=EG$Sjz+0_4dN_-GtrIC!5-0bcdWO_W*})?zHKUK4++ zu1lL0&kzQgA}Szfy45o|PK|$^{s@C%Zo|=5r-*U&>Ih(TD!0;e@8MIOuF~0R?ZsF9 zNPENE{(d)R#y+zn0RQH#zq`w(%D%jUd-nnKdDB#3;q}&+4rh#65>V9 z543^j_*KRp(nL`_QUMwFX_`*Ifp<&-^HRZj_kn{*JRb7m%*!KHCt834#8c)<^TPkYDv-e0&pyPY_BjA9--V`H8B ze*E}SJ5XKz!JA&yp8vDING4guz{)z`$f%2Gm*S_Ne@^@TKe)zQ08Z0nXQszJ-I=@;(jK2~AD(t^Q2f2kXhFP(ng(@aP#;|r z+fiCVKm#=mZvT2a=llz*Rz+p}oT$}UR2BmM5In2XH!x2GhvqG7mvHtaD+93BTw-ut zGCD=zI0|O=*s(T<{WO_ANX>iIdWg)|_NbnA9|4KyFwftM-z;Q~#-4?|#FK`^zgKMJtKrIt;iUla>`-+^$z)6bRw03ZNKL_t)T40Obm zNKY)-fix!Tnu5t#?WYE2W*6jS@HQ}27!10aPOfCKYWq+4Lox*wGsc0@#(**$l!;^% z@f~?D&JhB(cn^Ph55Zw^AA96@)Nis9I?LNeVMfDXh-*ulbx7a;I$=P82EZV=FkNtg zm_v3_T{~W*RE7T`+y2jy&Ydqn-^X#jNYHC~Nh<5A%~1QPIq zkMi;}O8M9G{XFmB+9>Sp5$@QDS@i^e`na^Lst?YziV$XgU|jy*b+&0lyGjJ@TN=_1 zUr8JF^|U?a=B138&)P1SMA#(!&|E&j7iGWaLhOj{L>r%7cpA53kbr%P*H15oSJ!)i zJaVjU7T|KgNo+3SD~oJv`X<~STj%ctkqkp*2I2KRF7O#XuJn&Vvbu$5p>}%KLAW0G z0%NX$_R13Fr{l$aL`e|0Yo7_NGVeiu7%(H=MtTO<1I;+T$OPXHt$IC*^gTXjTt@D9 zCw6d>Bm25jj(0RKqp$jW;IoAXq`(so#t(QI&ShYX-0pDWVb~scCOk8|Yq><6PzO~% zyp3_=-Ow`pV}4@)&_4q&hennKlio6q$$}KD2sCX(?FIA`Ul3z-pP5T`=zBrYz{z$- zIsyKHKGyf@5BI8VuGnW0FL?G=qV#tfy}*wHzQ>?tWLJVN0f$NtcnOREctD50*3%u{ z2xS#n<;fk2@$7(eb0?ZPkt7-UAYE$6$Z^F;Cc8Lj#TZY%txtYjjO1T_LDLkjJyjlQSc zM#Qv_eVX(%!r*+4g4j%%AVE^_b%dRQ4^Wl~T8RJ5i0pSZ>moQx@g?AbL4{Gt0F?y? z_VdR%)}BgbYzRFt^6GmzbSS7++rHbWnh%GL)f2TG&Q;_Y4j-63Qh`wiSUVfrOMm>i z?e%YcS2=6D+A5ABt1+xFja(~`!l{KBRtwE9G!DAqhQNkk)9Qf&9h|SYWSV79y+{Ga z6vkbR7tSpQXIKXVpy9+Hsf>WFy>>G~VW@j7(yP^G)q9&9*6_^i9)I78rY4e|A~ z3IKel0s!Y#1^~7fAU&4j_A9-}A$h*&&s0|NzQC4ZX4-DiFLfSt&yi;fS7k@IebAQk z3iuRA*`q64OnfqaWSGm@&$Fr*0K5z7tE=T@uU0kyQw`BR<}X(BggOk3DfUI{rKQ7k z%3-lS>Y?{-*L~qD18(qjl$aAFlS2e_V`a2T{?(&@am{~e-~SUo+3r(S?oZYcYjm10 z##-sStJ3~|^2h#l``x#_OE@D{D;uP&Zxz8?zb{#&K$7n}-xdyUD1b~EwosjMTLaSZ z>)J|9RQg238H{Pr?+ix(t_dEnXk4|4EdUo*0AT0N+RlIiREwMIsJ;E|MRfwh>woW^ zEQGiz0f2Qg4kWx+%gNqYd(fBa6o4Ij&ad?P1!e7U3xMQucM2gNXz+-B+=7+)*A<M+GUS> za@)3hYdcn3j5gJ3{~h}dw;y}X545*k^ImQhndg~>>wFSWD1iFTdjxqX;~{g3M^U(u z^bo_RLIAgUkX^<3!bSbh`T-I^wFJQD*yv)?J3UHu7V004q=$iv#MA zuYkjPn}Krkm*lv%JrNele1IU{1T1pSi%*M}AqVkL^lHyKjBe>$2%;-f55dJ>k>TVO zc+L#;U)`%vtc-hP8R*zM;MjjD*UGJ@DffkwbN%fPZfNA;PV?W}8co(lxz85x}lETMm_RF)x+01kem z>v}FJ{?VUm14SYiYMx?*TJ4tT6jaPzsppQ?nCPTauj(Wcidtx$z<})v#-Wa#tbd%M zwOye4>3fdr#l?D($N0gSN56T#!0kl=t4}%frl}CbxurAbF*ZAIoNLmp>ezFys|h<3 zGdeQQ;qQn`A4p{e?FmQ8P6{LN4tU65#BuC!`I)HeI9nNC{-%G^ zP&=zi}ji2at}jUE@9Tj%^v23=a5r zf4`pZet|P1X8PAPz|6veJ}D|ZtM1%>(w>7?+SP)Yrv{MmjVI2(ar^_aJAcLg0!~7l zIMl%-+VHr>{1{vtw=obV2Pepr;h(gd{s$gpK*~}mHuD z`D=J0L;7kx`pnjc5%fgb#A`i*cCe`Dip`HXxZ)IR=n6ilfOe7!*0z z>c3aCGk4%rn7mxsrC}0BTItFv-j)0kfEmS1Ih|O!(O?t0Pg!gX#i@KS3;;TRYo@HnYQ2wwi2Tf?U<1g(Au$fTcF$jzUs|UCTweizS`p+H0MZkK z^0*EEj4}qiz&E#|NN6JnqLum3(*l}f93qz9;}{&MT?;)5fXu%LLf}oSd^AMyr@TWt zQ5{063>sjH^4apV%U{f#lWpsk-R;&p_qFT(?t|@7PkvfuCzJsX zgLVvxtrMhJ1`I{N8$bQY_Lw>aVC%hhR{-Ed+q!iVk39T=XFRq2S=DPeRXD*`0T~^d zTWdeqvcVbed)dk%o3;K+k*xQ+9lOr2*>=Z+OLb@VT`<-9@T46CKj6e1J-Dy!*nLjb zVAxYz8Y)17ISU0_{Lc&|&U?TrCyd*YAPg^ z=EorA++C~lC>!yt?K5Fb=mus&5$)hv>rnQO0I+1B@Mzs#@U4`wGRI6W>uD1*dN*U478mrs z92eOnJjAZPry!klFi?m_J&x!nup6)0!3NrBJoCzIJJ^bV*j71uQ_8=d!~S=SlbLEp zX7r!hF^o2(mbrqTRd?B#gp5wTzVkgC0%Cm)xEOR~@Ihmu?T`Oqd~Sp9+ab{D1i0sR z?PMss5HCpgAd3L2yeY)UUodn7DozQ$!41zf4!qm0wBh>;q7#tZ-@Rs03W~_NBd>C4VhU@V> z@#FTGLFl52oesv)NQ-gNme(^@@LlHW0BiJ2#@QX;;3?Zi@OzNk`OY~UzA&$JUm+{< z>2JUVX%O1_efpH{WArm;crEj1S^{ z>GCA>aeFiK*tlUfaAXOd0}GC)09bg$SP3umxmYjsVtrKZ{%xX3$x2akh1YxhbS8Qj zQowM95sC~3teGzbt)@t8)Zkiz*+E1*aP*RXLZc`X*u=Ks+YOc;)eFMRV7Z z(*>)TuMY)ZxE~SDd&Vc6@I%8(3P{FboI1fq<8cr;$wbKhOhU%hWqfnRf5QV+s!GV9 zshQXg_jv3SVCSCbGU^Z1x$rBsig@DqF*-_rCI~`jzi^!`FVp@{Pb}c62FYL&BaL3UwsFV# zYk{b}qKHId|E-RbQyQf9Ndw-wO3^-CRmu-n3iYX4ah_FPYewJG!SSw+Bg5y(mt5RF z{JArdgRjT$0t`v>g8Qu0YEDWNMzskH~ zz=oXHgGxNd+w+=RX|QSpT$F>fug(_y*!%ycJ?8T7;kdwiIJB+H4y@G9ptbH4+)D+} z0`~JR*HM29XH~lVj%v3AV54-k8*Qu3E;`^vFH$J!mY+|mvly1N}ZvQ*m-j<mp$Tv?GtrWCTj&0ub$~R#hgfj9FYWv zOw{p~RnMTt0y&06egz`nkRmX;$}!&bm9MtHeE$dAp4!rZ>D~tnUpiv{~B|V{WDEkb2?G=7}2M(;ClzErn1LTYY@EnzNQV$T| zJKIv=Rz|fA5v=BbeQ<^Phf2mimh`JsQhkS7>&BPx0U6BfKfpXVB%>UlIJBBfJsSnG zTz8-zU@ChLj+RU>?-v%^2iLZW2SQf zq`OobKx2~f5*&g=DgQ~Xnd~vW%RTV*+01u=FVz81(y@3;0T1y$-eSTT4RO4qc6f?F z@KV=U@!B+EJM|k*ExxC!zf$pyKRP7%Zl14ql~Lg9>;?CMbG0ppSH%leoDl!Qh+c{7 zaG`%cM>ssc@*YODp|bAyF_lPf(5U{g;F$2i4<`)1U@m%9dA!H*16KFr*EmO=snS>F zGj7t`ZO+)m!OdWQht{T>=Ffn?aolyiYTr(u^f3c3Zj1LcHp3DccDk%_V2AlNtsDoI zHDl?)4)@jVWdE-F3bcTRYw%6zr}=Oio%=hX|3I5A*uoP*hUrNhX56N^<@1a^>bc4p zz-_j8R=hov!f)PU<#!IlG!L$bf52INW(7O6@6UMt5H|A=X<;()uLU-p$N^_4F3E)` z%L4WXI~@Et(1h(en9yM|?M5GFoZDkSi|-(apJQW%o?nP)|42Dli6$HwFC8%f!l7W>n&gb$;5F+U+wnm`rlNQHI zb{6ThS39ik-_wfFKE`0#=MG3$;Dilml4xGZa08&&9w6gO&a(C`%dyHzC5saQKc1ZI z3r3LVCRd5N!6^fW#sYi5>W&RW_7B`vKc!3%Xuz>!clr!c0YF{Po zUUJn7+HYO+j&}Z8Rg4S)04jQ~+*pvrfTcVqUwBolnuHNSof&0Ke8^CdVQz;V-IJL^ zV+mR5oN1LEZ_vcSyD&TxZ6o-?Ee&WYLBLZ+SpjzF;Nf<%&N@GFtO6pGm1c$vJ4+YC zbva_|x ze63c(w{5ATa+r>`h#PId!PBNIapdBIDH zv|SEZ{e@Eqr+wqxmI?rDE`#|{1q1ff3i93UDUW|-``eFPS1n}^|C+W84f;sYKW?W$ zPyzSK8NcnTpKHJOyKia#?}t9xZoK&`bv)g%TC-h}K{5tXXcu#2eDrfz874loG0-T4BA86aE;{M)!hidG#%DPgyGVr`DDb|9N z-*8S>tIc0{{R_edu4D$VFc7TXUJ;twjb~# zwnHqIV|_;*0l0nZVmo-Gs(KdYkez@N3Ro~r6RU%k(*SUVnJ=Y$KY!gnv`ZfQ9c>S? zf{yQRo3`w1ckVsV?tlK-?aN=gt=cGlfUHMEYMmeow*bN1ueua-ALCsr6>1I{J8l-`cH9;GU0TeVv>SNrjL zn1}T~60LPUJU&jTw?2dcpOtXk*Bqr?kN2$uve%uGna*u}=zLEB1#N57>N#d5PCb!2 z@-s1f{H|6C-3OY(I55zzXU(matCP-CARedwaJwF49rb~X4$2ej;{+Wf8Wgag!)QGy zHDX=fgBf~Oh8biTbSc`E;VBMPEe!mS6E4F`H3NiG%FE*0jf)6gqC?>!0c0x}ubxZi zkU~V7=?iq=D;;Rz9>@2Io^oD!ascF<@kiIXcx1J7@p2iG^R@}}hTrdoE=DqC4)k<> z+e~sP6v$xTG3f0Wi&Ppb0>AntI?`eweugWiQ-UK}nHHX7%P26QZ2*E-?87{TLeM}alAgnjkXu? zUH;enl6LC1iVVv3)T9y}@vNMGw3U#FS9kflFb9XcaINFf6sTeYbObD5yg<=y0Mj|E zvvf8ms09NJqTt#FKKagjck$J~Ep*&(o)xV-&Bo$y!A7Rio zl1azKEBDR546E&Q-K(~;qMEU0+-zsWr3DRXQlEaZ6!^(>qcdiF#lf*{GSN2AXB3gm z!E=6lWw_%QV=!-Y{EU2)`P zC_rW>o_FnyWOaAC0Jq^?N}aA-PFGIBNAM1O8t0=TONIg;H@|h+U|ye@m!@~-8eR+E zjR6|YKjWJ`jOQ#Xtn+5F;5&`2Z^qxGN%W9uPdbG6%ol?kla6!{A@KL0UGNb8*SI%a zuw$|GvQqTqC`6H~1FlF6siQ)eA~Ah+qAT#GdNXz$%C~s+}kx#4U-=AM9c9Qb}qFNK-EVNEaQHV2l*i zNK51vY2P@+sFZh2vIFJ#;;1*I`C=vfw7t@VX3dA%U4;9&7hKVPFC*(ve z0N2ViCNJqCn5}O$rs_8aEAcYO;mD+3{LbAb`$TO{D<~aL9{+S?qUDy2HO)!$h`)0S zgLwggg8hYu<6z%9quo+`y^+sc!z!=l!KwC?N7fdA8*ggo)oSNbrKW2O0Jd3xAJL>H z=u8nq(~6Jap7~d+XArjF73@{UN@p3hwZHn%(K-sRSmZQ^^&3K4DU|ihrp;y6l#{se z)HcFahc;^Z)qnem1jO-#>(r6xStwR&V=>RHD=jW;X$KA;Xva%#pFDcFg4CO|<+Nb$ z*1#I4FODS~YvQW_+EUSNxL=FAvC6m5_Lc*A+gHBQ&V9fGxI#IlkCO||IC|6u*ifs; zU;gwzv?qP{GurKU9+;l3jE|}-DBEFaq4uidS!9%~Q~&`-8Up>BYMxY>s;0(WcOGG= z08SHn$)X2~cT%uKm-sA8e0)>eJiVl__!RSk367E5Omb!)mM2e&rwm;G!u~)w5~_ zo?~#aTtRG?!F%(Y+TE4u@aRh()IRy?FY~xh@ZrK3m^jU8S9S&F)O^A9IR*fpSn2Uq z5c6;qaXf3j?X5ry`0sFS>EP;90fxeo<8gZqNJl)3#uaE}))d}h zBbKMu)08g(oUmF4dQYHO!MfBS1QgYXK(JVPt?Mp~b+B_Hr>3kd!0G@sWIO2)eXPIg zcamuu697=)-+sBq!+9fINEQG;fJ=sXZzq9?8M!_zI^ccajJnnf4Cs@CvC^^e%VK#( zJ?M!O6AW|@;DhD0l})losryPv=k$lHfIjCa;DlG3JOduQ?mw8F;!g(1r~$ zDJyDyIS)AYQ)dCd)uzQ_yMfy^s$T?45J1R1yv_IV-|Bxk4i#ZiZh$Qx*#UqU@S`_w zAJDqJvKiuxkm(H@;8mepp48x#I=l~g#`Jl&$C1`=EJ>uuCEjDL^P(vs;qTRw4~y++ z1!FeD4B{9SJUL$9>Bxg_cKVR|&kq9uC$;at;NTwb-18%WI<*E=v`;iZKXSq;!2HHU z|IVCU#mMH2W2>Tqevf<)*gawR-GPKW!#;eV0`h2$^Zu&CcoN0`~O&^L#;o%wb**Nj# zy>=%{k#((BcY~l?76T))Ev-}o332!)C(r}#0#Cwv?Ot$=$%7>G7AytNlwhlNv^U*C z#^*08Ez|}k-@#Dq6h&aIiHavsGM&5Z6<)kw@AM!6=5Sr(ne2V?h&kCbpH-h7_ZVM{ z7#nDM7vt9C<$NZ-)h`Q5p%36a!30n81pTlDVE_KZJpS(3kqQ97Sb#C1bG`2I1Jf6n zduas#e(N3YYWJ=qzgDp_S^d#as=m+);V^yrgOBHq001BWNkloR0sw=P z)Aj637C>q zSv;#9Jbb+U@Q?g(+rRIQwq;YT7^5=;jX)pMi*q!BC_>A|Fk$W=3vTlujL0|yNRNi` zh*K2~+;vCWcJ?_uqHnGWr{N>Lj|nhos(#Iy606}`$`M6P{Ikl5yuB*OZ*!qawm_w= z_d9J2TYkflz!**xYw6PsMTtOmWnnGL-AcJNzeRl|W^<+7`NO!-v0st32x>m*O7{KMKyg9e2iUC%g zin|Y0VB_X5w{su(UErE^$6Vgd-cv_|E*-13Ym3pbm3Fj_nLKo0e>-ajWJUGKpwQZndO@oztcy^E zAHVjccHXyK*tQq$kb$*)LKz^k)9|0#{zCRF;?7mpL)9MUc7|DCac2K+P_NFzxHGGG;~Sgbc~4r1OtFA?HqVpLQUgr2=+#7v&@P z)ko1`iwv@KVqlQnBn#oxYH3`x2-sc%a^PRc7j_=Qzx(E3BwbN6^}+px%>w9kn}c1sl;_#8`hRI4mCJSeXqJ{pHmTwCg~! zg_m()-HG?yFvi1xxdRfMF|J8&F(b zH;u_x*41>w>y|3*D`;S2!hfCVFwm=S9S|52aF)q>Uje7SVs1vGNE{5WeQ<)i^fY&`LA2tt6%*xhyh2e z=z@SC$^%Y0e&Si+>bRX`IG8#nPyI8^pYx*X2E+*>j_ibDrgzn%XSkA2X9Vz3(Ccq- zlWXpSK%@=!5!=J>8|RbrZ=N^w-LbOM(vSKh#_?|ozbIS40*0%C=-c-RXWI6-voMgp zI;^>$`4^{>!c61Er#lzEpL?NWjhpyl0XNtu!Mz7P)1PQE1=R2?oEnV5c#cmHx?wzo zA^0EZFyK87N`^%mW5pMXOM~-2Gp91ftOf@c0}dl}f_J=6-uAn}Yn)W`Z9l3pcIL=G z$p$8_FutM9F%UE3kb3Vo`o;oe4@w3HXvdCcVD7LDJlP#Nkl6U?j_N?~p2dQ9(NO3! z;E4P&&|rp+;alJz?;2k`iqP+czsPRkb>IR*F#IFAqWgxo^SuK*nRCg8aPW7c6L@S0 zI!&ged1NYBEXOaMn?B@WTnm2(7jAcy6LFRp=o;ogW}3Pl`$r2;E601g$azrt~_!`vwiMQh+L1N+V3Fj=L`46z%HsnD7HsF|y2Sj3YebN$oMS3p#7Ux3;3-T|Gy9F@pv0sGV$$ zfKdhGXWzl&ERcM%oC|(t0s!0?VMffKgoI=(J^j*eYajaTja3A2OX0GLf|1t(Z)mPn zt!bW5{Bx?TrMa@`!|xm_Xhqs1r4@$%#&&xZ!aKV6&bDRGy}I1Mvj|48wW1rv9XCJA zDAe|fh4z>WAJA_2(*JJTQHdU`Fe5lMF2QC;hW9le1dnj16+8*VWSPi729Fl)=U3X{ zsx5KX?RT^t=T-m!CoOP#4?<=QHi>c?``D9T_*>Y@)$+xK?d{N^+uPH={W0x*fBW&; zPM{JSbA2EGdJU=aJK(3BjJ){!!2VJw9W-RS;zOC++U>uDyUHXC^M)U zSyv_~5XO~8;I^K<;h#RnEdXbqy{oMpgTjKIS!f5U=E2|p?ccP=J?XnCC$RaP{M&?sDcRCYEkq%#Z$=D9-SEIJkO7%GK|2hnWSKu&i)ZGo=1>L zaug-!7`Wk{`N*`)8?{ef_1x{5LmZFpDU&GjKQhqci~e)g2d?Hl7}rXr2cD+(q~~!$ z3MGwri14XRZe63!)jog995+nXgZ!W_5oM>+IvAQ9pzJT=+BS^G zhph$2i>WqK2LSfogPi|*KAM$Uf_e~4sEh$_Pq2Lxo=l%=aS{nwy{E}tu!w{4A7ms7 zZx{<4@y-5@ez^i)upx~;g$NYzR-~ipZOZ$27dhhXs?@| zx--nL@QrDAnzMD9gPQjp_$a(7xZ*au!DRdp7pM&sM<3ur?gP$Yp(y0_X(HjfR|H^X7M!W+ZZ3bb4~I%bjjQgUjojxe6to${_QPjxvRpA854NGa*8-{`{1SddM5KLykh;!wr1v? z;h~ZTFD4*4%)vgFhB2U>Y-Qk_#cvW#V-KHDM%A_G2FqYQ2Usje{VHpc(4h5Lm3C&m zfws(J{r!-Gh844|B4F$4QBV@N*PNdVKrIR+e7@O{48h?vsS6*%aGO&UGk>ybtc zlx=hY zoKH_2z)+Kcq!e*Ht`(j{KeOr@qa5lu^$fHMYs1u&_f#>gvLKTF378ZKO;JI>l#Ges zE*TC?_XbXE+@jL^hPln{NS)&jrv@p{Ts@*O19)c{LRuKtyH;i2FS_D6?Ty#Gy8-~J zZoX1S3(l9&P^zTHf7&_qxQ^y*6ov0oKxm@93?Qy_WwOzjlrhLG3K*6ox39&qfl*`p z(=;?M$?m`eMJhGWjCAVS?_65|4%bTRsoJys&3<^q7*~bn+S4w%sQumNZmtY~E#;u1 z-UQnAik|sKh1jN}zj``t<`{x)WI;J@Nv-7ybqR@$i@Rzs{E_y)cl>tyzUN%kju#CV zV5sqUMWU1Dz+5b6>$Sh~i|rR*{aQMqb15bR=fi;#8hpT63`>)m zW5FySzTxm_KW`UfqzPbz)3ez2*Xlp~DXsoO4Pd2R$F9wCPcW@JOl`;ClZV^^Uf5pwpWfIuoH)_uHz7CRoBLe+kP3R-bW1yb_cpHJ&n=Yjn5$q9 zqCJHpY^T}a6gZFBzRlnhJk8U6S=qGp|tM}{DjeM_pln-kF zl#~92Dgt2^AD-BQk?yE)t!r`GdgW1{S?@hDCx8;1|5ld4+Fw<{_i3#~Ccf+@nlKN77kx zbY1zM{Y%$$9n9z(B2$z8$qEE@T7;?LpT?f{El)d6AfL&pmdB8_hRMX~HZpMpoGZW* zLt3)gdU#l&%t}0MDC=}Isi2H9E#&ZrhlXG;^=pC|(xIV8oPEd}tR*1UiKb>34aA%2 z7Xbyzr+N};`*Ws=vH~V!C^9fdsuD5;BkElg6;y%Sr2Zpwrm}75Ov6}|LxN*MdyN3V z#yt&%->hWWD8_ac$X@R6r>v2BWuT$-D3ao1@5o`7#F7v-{=pf1zJ6O}OOKZ6O#@IX z?;4@_DCRp`!Lu-{MrW0}71z9&fw%ZuTMedh*c`A8waje+cFGDKh8WO1^t|D86ppmP z(Oz)$`j~8dBcRX=`bEstJ*N31Fi`LvCt);ZIU17J2t;suoQvl5%K5}wy);cg;zIMz zPG5KK5SSR!#W@euH`-8jd?VYK?F&euPn2Us8OK)J6(Boe;G4H5M-~AF1u=VVg7lp^ zlJ-b9&l}Do@Tp^-;V=`_TmFnUpUQ1ft3u-&$EBvHZ;Na z*t(pUlR)WqIS1yC_;Tj==x9^Ohq=+-6p%@v%xPO{B3qMtD)>;OvD4D{%G~cxZ(zwh z1HSSdFAqEv*Gh84q}9UQa%G7+zxR8yd#SZ{NYDJ@4mg)&(rqK zLk4F?W(?zje5ik%TO$oPPrOwnPVvyBwq%%QGFt0D!?qR97xPsB?tDYv#@rkQ>lOTqSsv`HlPI81p^PV)z-)KzqWLPv}v0`g*oV^uPdk z%=}`#p=~{~U1Vr_uCPJF$hjOI!gu4h+Y{yo%D=Vk`}r=f+)u}w@S^QdBX1}01$>l_ z|CXI~=t?Fv`aqf>3=|ssz@?0osaT$jCZQF;!n zq3Cv>A83VT|1;X+{iHB$Jth1?7g%^YhHjrO7704uW;oPFd0bP)kkMdvMXs? zN~hEcD$-Flma}lMR%!v~Q8I}3$=br`7@PTGD<$c`FMh$Z+Z*2TM|EV|u9C|t#6*%{ zr3B7teN~F6T2bqAZiOJ=N;foQufWuG?xh9J@?M|VS`lYkz-4{WN@tuN@E2$)=GXh8 zZML9fuWv27a;0v6ITbJ*Cg<)O;GvI2P+$IS4{O(c21NjM3}94NmtBC-d_HA{h`^dR zF{*7yb4)M{#YNbPy{U>6eyz@b|G6K1c6u`a#xOJfd0EZX= z04~X^C^T12Fp3ajU%XjCf^$$*OSLk-P=SK~eZyzk10H>8rRs03z2}=*0PwAEcwM{l z-@c^kD;%k3&dOld|J!-A=&+?$*ov_CuHzYxoj6$F*Qz!HEZB=)1~%~QiF&GxZj5`b z(&<<55~p#QlsI9bf@MdGN8mD_K$Z-i%;w(#if~Q-E+Jr1+aGSMEdUqQ7J%J5w$-pJ zKvaRIjhnaE7Jx%laIaOty$ax9{uJ!<6^L5za~ekye;eA5KJyvvJ%9G$sz_gST&^)z z0YIFdz*T1&aTq2PAtsCzj%rG{7n~fhv5pk1%!}hkPqw>m`AXY!?*~kD%45K*`Iwj1 z1Os&p;Km97e4<_a*e6sCfJ*g0cA{Q6UZ)=HXb1NmY>#>DBkG9A>+d0ZVs?}(Rag{T zTK?{Xf7QP8yS}%by=!-!SaL*clYklK74*V#)to3gv21~ETc*I#D%{|D-(QYnKyhSW zIgy1ER*Wyyu);foptY4{WvPm7;&??Nfb+riH?X4xfx}IUs*J7`ZNQ<4$T>oXQ9p$L zp*S7qUG$Sl1DUO!crVrSle*rI{-d68b^!Ykymq-fI~80|&_~Z_+nMAh^wh*<{nV7u zItC-<4}wKZsOSHZ`Ifd70MN-h9S`*uwh=&vL$5Q#4KmrfnX(O1$wsVB8j&-uv~%;S zahZ%ZNlLMvYU)V#3uigzbyA-_O91W780pF)=tTla-w09buxe9hW7yHRJmwZRAZ{wFUHD+pT$e6ULD5^$zdZMj@_7XU=w5_UjWKpUa&i z6zSW#AnSBgobbb;B-z)H^kQd$y-s}*;@s`67 zrotEDn(c5txbPqQtWOMQkB`syc?0Bt?rWSV+z)O5M}5!Hg=w~%S$4G2rs@;Oe(ZK^ zUmfjlPwm?#Lg1hWCA!lgy!AcS8TZDn=aX8SzGIW}Y=7l^PyJl_1NT*Sp+sG{Q=}h{(dBg!YqK7hlXi+G)=p1360$bJMyQ~$M-UiO)Jjv9z-^L=?Cmdo&wtpaL)uh#Zp~8r?^LF`8>Toxcqw{#`~9IG7{aPu1fWXUI1(Fekb_5$! z$!Um@3hKzwAFh6Y4mPxC;6$)=AuFe^V}r!2cg#$3`~$zA@+4PK0znh6lJK`;`~)XK z2!KVpOdsyqCaxCS?X@b3&kE9+<<`^?W@h2=X1-=-wJHMmqg4d(J?;F;0Ki^v;De+{ zAi$GSg%Br2kV1S=(rwz?NQO4EM9 z4}DL2$DhBy0yaBqFM6eHmlKE#0;P)sKT>pBy{pDLAKRd{LxKA+)X^rhFG!|x;5VJs zZr{7F{nvNAwSC|7uJmk$7^tlu4oJ-8LX#!LZ+K?4qA~CI?O$zI{p>5-o^4yX-RWSh zlK-2!7mBtJ_P3yA50GWPx%>nbKWG$7)%- z8<1VYS5ZU{+ausuD6y6MyDKPxbYz^E@z4t&*uHSXP2@6GdS7RDjF(PUfxpFa6u`R2wa{;NPwG4k0v=GwkWPuN{2 z0#q7H5ywZTnXXJLH)}{-O@XG&%l(IswjaCV2ix1;`RBzGaNHM8JF1VTN&p#af;VUq zTN|*i{|ncBtTF(;y`1$5h9Rg?$2uxXObh+uY?u>qbt;7oM6Q* zwZd0%nQhza=sj#DqKqrPVn&2MM}-Hjvr?_K-P`fa)bf;Ni>x#tZUS@!ZYw7y(oP5 zea8s^SSP9oVgkR~qQQcV2#8eM&UNGJxq|Y*ooXBe5iCgAb+jCLUV(#+u@N2>=0#t8 zwmZ&37Aa@sE&ylso!bH;rXA4NyJ!V+)mZ`cYrfjcv3}?m?PDK3bv#z#Acuuzr|pAY zYDe~n-XZ3UQyxJmHRkOno%Ouc0qvRYfyq25BL!m@&+2p-kJ}8Sl>MqBk3|6Dss0&; z<94*uIbEoyF@(N=b7iDTQr`sqUo!g6M)f<;M(fr*14fA-*V8XuP73p zEM$3%ycV79Ip1w<;a?w*jo)$2aB$pt#uL3iFZna|nF{Q|ulvow9dseyD^qdG+6B%d zm(ZVKAnhEK3Jynl_iK1RI0qdj+16>ozN@{yqC1W|0xaVTuLuX+PLe(A;UU{Za=`Hq z{50Sqi;Qs?UPGe#rdSY1e~9el)%fW!M@T zN8Q%A5EPrqaV4IBNB7B~Pxj&iKEoM4>hpdGa&R62kDj0Qk9t-{cna@kl{|W>kJaNK z?mREMLJBXN1sQO#Q*WQG7aT(~eBa|C+~Uzb_dCzI9|}giH}J%$2qW)^TR#jKW@MPt3k)JL|1Ht-L761^&t zc0;@jpieX-H$p7T6N_p@TqmgC2~xTs_T;8B2t!0pPLw^18&SB_stXNC!9SY{iAxSr z1Qr|38GlwifDmm3z+_aFXBj?TF|iWw6PqhZI$O6Z;d&pdSVV^nI@}Z5(w?x2>nr7S z%vDjX18{t6&L2Jk$D@KCE^Kz@qX0FS)mk0fSe46v{>o>!*S-Bu>lA>qN`^rwU@S3Q zCz`U`Oo&*&FowWvadNG^Qfna+GO489MByMU6u>VL%sDay?Yckklp*e04uF&uz*zje zQt!f9KT>!&+yelxcwilkiZV<)%@maB(hl*~p8Uv%wGV%~iU8IzZ!4=ONS~x7YtQ_k z6D%MU)Dk_WlptKd9&e;i>N;2N!5iiL9xEsGSUqu~aD57%3dqY>(9#5R+$dC|N5QmZ z?9;~9fDOmndG|W6-C0M^?JD|n#uY8+P&lw0$CV1=Ku^ur$~Oa17T$fYDd%UIZb+rZ zYAXd(;TWes)SmXewa@#!TKTU7M_)>I%4Sdb5c+0dT#Jx^)>_5FX>c2^4Q z%C5O;^HBTH|M-*kl>g(IJnw!U&fPr(sgQwzxwu^8**w3s?I<+OZ7J1WTQfEyHKBq5 zzytbSt%7kIQ9K9igmm6=CO1@tUeqnXiOuMWS$Bnx{k8Y}eeZc|`~GKL*^e1qJ2w6< zT$6ojJSPiY?A8C`KYpY=>@iPjyDF#wemGJ1o2z~{*D-f@R@MDyeb-akyFc(DX3_8@ zf;G+=+w*{LZ6~Xy$Jv$buv)Tfspj}%WgKu1cm0p6sFme_)rk$o zOUo5-ncujn(mIPjP9ALM6kmMxUvAS7z&D&n3UsiTCWvmhR5-Oua=x=%fv@?3{f6s4 z-Y%^Gz|K8;+ENvx+*mVfweW{yzm}>dz(0NbAKQhOJd&${`RF)72T9G&;9F!xpjhcj z-G9fMf1_RXqL;HEl z!{`vO&92QR#Q-irfMI6ESA*+Y5-<&oC-q|9)`P$UNIO@@NuP^?<9*s_*6E4_P#2`)vND@2W=BW46f+D=!br_GMAtP`v`wh z54t#BY%Y_&r);CG*t@Y$`U)^QflNpJ2G2h!ZQ@5CkD>F_V0#enfMs4kc7#FAQWhbtMkDfunEf#C)CdAq5*(F*19PFDl{G*_aojLj! z#=|(?$gGa9ILIDbmuYcgjbrdff+WE){|>kf-f)?Asc&b@eJoHYz-^ER9*p4eU(KZY zHv~9(zkWV8B_1WM#&-wU2n%@C!7I-f0ug?g$uKxQ*gFwA_%Q4lXBdHeO-zUk0o3M@L0UHV}0Lq|;Cpy)2ohxqH1b&AN<|7h= zui!U2tizBoSRTcX%{;OE@4U-)%)}kBl02I`P0*2E$3gon_#h}3nT z8BRyQ=@UnuD=#q45(NStqi{g19vtx&iwHR5Sw~2re;EUG1W=f*@>mZY&?x{Xt4cQl z53FoY4A#SEaCqo%4~@i>&|wHQ^A> z6r9VI+RJ|SIaOS*f`gJ&s^6Ya>=8_0G?3EQW)Wx?!tLQ`mBogom)pKo~RYr#ab=L z@pyM1*w;SzSAWu;`ivjqF;xq!u6E{+f*uF}ELDw!#kLd28B?E?6Iagv3ew++7D++H z#~kDX#F(eGYOz`Y4mrB>Jk{X*DoXJ6+Ygk_iQQ4)hkJm-PWs6TI?PuZ!xumK;Yy2t za@$qs#xr%Dky^=xBgbprE>-${;df)v7tlcNYNef)vz)atAcfWOx;~1lLsjr_=e-}q zF`;zN)?GV!Tp%1;Iw#AA>Yc&?`;h#;YoCrqeBcG=wwrGLTFqVTGek;=^MTx_R{mkH zfX@K;=^tjk6n}lbG5{W4^$yP2v%3NynBP7f1V;>3Fz5Tf>uK$MANZh-9P48eH;g=i z9!{y^BLi6T_5ER${qn_|Z*BLgK-*I7$y%w+z{;3_j6@&`D=E;oBx=t@N>-3oM&aDm ze%$Ks?wU(4|M{P4zy2G)V}6)qvv425gXSR1Rg(Ae%Pwu#UUz+ETRh9`O)eCw5*enO&O?7x9JfXc>z47IH~1+phJCew~%n)>NF zHF__AS+`3!YSm6hKf10xaXYPi2zRPkq9A=ACOez#7IYvTNx9vPC)ghLMI`I_jxmQ}6U*W5l6R9zjB$&YWgv zQU+^R9sxgt5o%wCMP3C`G48aLc1$z>%*rKKkv-2=*Y_CLpK88Q(WRkNHgif0VGQWlLs4mO#O#CiGkp@FFRb1;I%=eIuObY%dXIZ2*{S6%iGb(vf8S#or1v?dFHbZ+ z-kDx_K=&(UNGbKxV|L$D^vQw&2{UuM=eaiVd>wSM6 z$2Qdf7&PNJ{y1a4rkoctNo4?B(mwo|&vW&AwTjXWN4xerelO*$H!~rBHp{b?`uY@7sU7{m>Ov zDZl84KJV$nquX#sdp&pF?%fPb?5>q}kYc59Jcm8_b9EGArMc@EK(r=&uM`h6op<4A z(V<3Ew7HwxL+bDTJKFA@IDG-fw3*S&wYG>lSehT@`XcC3xV!24k5>(VC$wEV0EZos zIxS+uYGoi)cY6=7v|oMAOWQBK;@2uWr3!Mw$?ys}SH}lupPl#`_b78xD-HS7$$jlR zE`Lh9?vtM_w_7E#Hdm_p0{E)7d@NUuhNG2|Kjs0x;JH88-u{Pw%1N_?!jaWdW+TS6 zQf<%0Fi2YEI@vKu_s4O8H+<^43IIH=jse_Na-~dL1b3i=D(-NoPEx>v{c;sYoGVL~ zhuu}b3Z|^pn!`95yn_6w75h2~;AjnD*N*K)BdMvQCl0sG#lw(68yBi0Y=fXYMzi%W zG6QN(A+|AJryFdlpaN=3fG_Sobc8ruDt^FmmDq|x*@7Ss_AH}7Vg(siE5Na_0wl{- z2w-7n^-<04M8;2Ld0;yU_Fk*#sjA^i|HWt!Ybd)-LGBc6<#ozK`y7y6QTz_xrnnzS z&A1R`8Fe3uIO;GvW$C$p_6CE_FtE+ou#qq57!u5qjJT2`nOX*&p=}f?4PT_vj7A?e z6gi(AT(e%*9ESmiaEtVURjH}1{v}&rn3xSLE)+DuGlp|89{EVd#}_e|WtTAUV%#T7 zOM#gL>!C9Qk5Z?BJXx9LGrG5tqlU}Q5@ge4f z2hR!Fd)S(wds7VqKaJy4&Y`E^d_i+T`OlRWwO({>&Z)yiP z9bn?KT3FLKjZ@-2?`6DRh3zuKu(7~4+VpdynC?y#+VdDJA0&U)z|!sYjNgOt+|vAy zOu@Ur7k>L>0Cr)X@w^ZU@mz=y)cRV-oB0U5Mfng!8b->v(7}IuK+eyzE#o|NWi!Ez z$HnK2Khlq(G4nd`Y&z5V^RrzB_)>Rz2RJFy((V{`9G<~f21)9Jf`zO5%%o6S zKLZY&yy#Z~A`Y^kRG&n1m^u!ciInv7&^?1+qAqpYty zy1m&yRj{mDgJJd3E1%b1|Mov@7u0IsQl-bPma$Fem-sRPIBC4k8gPP+o=7ruwIW7z zfe-2$$yLvhRHpM-_)07$BaV(X=Z1nZ$##(Lc3XS^xWpOh&R~IqThaFUO2a-s|{%wU)|^tWniElFNbt%?M1$|_Ed8_N*#%Z?xdS6tU|Eiw^pr-c9qLJ=QFlG z`ak}(J@dI&R?2=I|K<*T|`=`Ybcbqa^zs!#}4c1I{xj6k9}nO z;731F#?=;CtZRZL>$1^sQRj8fweNlU6Wd??&yUhE!|E`$ncTi_Uwh3Fkww)?TRX9Z! z!huSYK*6`qf9&tugCFtjOr7tF{T{|BTw^aewh=70n?Co6cHyOu*C_xza#K1O+t-n$ zaCZgbNIq;|D4ZvNAd+HEtT~#q+Fx~00AyG$`kaDeTEMQBx_|S*j zVWfKC<0ZPPCE0fE+}3{Z2fnXeef58?V+wch_FAkiRlg{ZrxnE-H+iObjrbdcI^V{Y z0t5i62;ir$YZpKIaqZmVp%Wz&;MlF6s4XH@!(zV9ow|Gfa(nZCdPV!`m%Wk!7iNCc z5(N6Z zT3qx-pcmU!jxTL3wmsVJzU^ym_j&j0+|>2Ck3+>ciT@h&3Qjqwtup`Z&#tL$AkS+% zNy{2J1E+P5MvLSZb!UzmqK+eqy4)vwdWb5{H>JcgLu)1ws9+_Xe(G9(FI+PqKokvG z0_dAYzvLfN_|ab(p~^WeDZJ`@GOiU&Ebj$lFIn6#?AL5*heE)!kKev8M?iUX0GPreTd7fB3Wn3`A;Cj zIIcgC%`hL(2hHnxP5}Y|&$=wJnK%iwy3}EEU?DH`Eekj{v|v!31pNg~X=ShvWd`&u z0&CK%6t!$N$B;LEmDyY$L#Tt&amft*)y8 z9)ug2ZJKAqizwQS!5M?z_iB7xRY!Xff;~e3PC%SA!PlK=@CPo$ z(XkU49wDsZY1n>PkwxEnr#nuxD`oumbbQ-ar%P}`;7=y5|8~1TbG|!e!Qa|oL3oOF z3pCd>ZZ{vp9PKhoTR_uclbU|O!%ERop^tu zkJ|vq3@ohW7hfY=xS!yo(=vE8-Ui!EIJ7gm_C5DG9na?H9Gt-x6curtwy}tRu(X1} z!O$OZXuNhD45ap)=`Q=cQep~^BV9W6Ar2E`0Z6~ zzGqI&B0}b1rx6+r4~C!6um5qZ{^wxOG+G23;vkz}2(Mv^Z01Uz+ly%t+;zP*1Y^SA zmSqYAV0;*h@zLSJoJcSR&l#trpU0IzoypMYNpq4?)^ora7{T9+{PL*tj<+~QrVbpi z&R6%5xiaW1!n=m&>lnZa0C0eTSS#-;vZjGCh0lUhie3BR<6uiRh*4752WK?{Clctx zWbP~QO5sb zX}WW7h1LuHMYhuT$Ru@fH>pz5YG$%YXvh&36Qmd($8MuX*A*y`lWU^Iu_sRI7L;~< z=|>`&SxI-a!FCW}fFrfo4%ZfdD&5wOmQjqH3IafL6s_SJdG;tNi=P}brl>tYm-s9;8BH+gOJZXtS3JB4KMnWIo zWCsLlc4MKy^nc)ueZc{nFK6OlgA0sQb$&>WGh+b;8yqlFx88Z`WmVn$)5rkOafmao zo8D^8MksiMhO6mHya*X8uxC0Cyh0wS`7>8l;%~eAPR=zN~HEbDmlQU*O9#nw|Jk$-Y zRx@8!*6%#H+`i`t7q|a*?I-2F)Ogp7GEMrgTIRNc+ROdD-}$8WSAYBQ0(`0MteOBg zTV5-A1*oSOovvt1RbmNzbuIGYT#V_@5?Ir|ld5{eNUIDDFJ@|tA zwwrIcwN72AzA7UDXT5W~99n|&1ZT?3omFS*q^!o+m`*`b7PCYB5$rFI{Kr7i9c4M% zMc1fBz?=!`FaMSNgKofIuW(zg_Fw@3q$e!7qQbV4zY2=04Sk#;5S?KR<+#}{n>mN1 zuaE_Zz%MfhN@gK&L|U zxXJ54s2%wjtmH*F{BoeVwSct4Dm$EX(JrS5C}3LcLEZo-;|eK97R^3oC1^ELfdS$Z zeR$6G3WaVoCv`4t!w-$>NT!1id0gg2n=Wpu`#-#+cQ?wez$RB zk9r<;+tWC3>%{xCBA4%g(esii_`qx6iE{wEr~ULW`f+(_+x_El;*%3j{dT_~b3M+h ze|H|oyON*bbA4YE6d`;Hz~a-7jr3gWtJNKr0mfYOJnH>rY@z*_dEtev9;gbxz+t7X zH$3FqjNf?ctJ7W|u$-A3BjX_b6F%@Q=rQ64;|(5$KEj%$;Rwe-Gn1QtB4@|Ug#al^QLl zzaFgeJnl6LEKdRpVK?3}MzE+>vMh^&9RCh)%Xo303UH7g!^eS>`YQZiI`#fLwv`T5 z`l?c71E43FClM7ioGHGnXJW*JiBi>Fj;)_%1Tx5Q`>y6pC^<0);l}>VUnl@U4Yx<3`MlR=Y| zEY=4|ga`%{Rv=+0)gvl+B!=m{WICtd_AA?N+4Xm^SxJ@)DwKYIYo>dc8T}J!W z&%r7bhR>052;pd~l(WDhYxnS>QCv<2`hLk(&uzc;wgdoRoRt$mo&d8ZD?)JcTw(j2 zbaH_kJNt3;*{uTs3MQGMahZmz@V)^CMcTJfrt`BMtcegLGU2pgsZPRxhOAQ}S61q5 z`1#roUweUP&v;J*10n`z8s;D{1$7v?{)YI4)(%u|C#^iceg+L>km|={5ny>h53M)z2!Xa zszAiPBej}bPUcE6!kp^>M7FPO9z_&ai{=Y7fHt&W{l%YazxLYSEgJXG216RPeq2s? z;hxn9i-y2TUlH!B zIdE1{@DW|0;3I-Uu2TTHf4fw>;#* zy%-;Y2`J9D-e(yFB&)wKR{-FmM?apyu#-4y18Mrjzb8+k^cS)KPL|wRZolxNpK7nY z`gbbuquK#eFu*pN`B}cgWVvukpoU5D{D1%R_p}%P+{@aRzIyArFijUh?b;MknKQrn z@Bdxzey8q~UYuFs9z>Cxbp*3PJnI1J89Ve?wRSL+ znLFH;;1x9+Y|OSp0G{$yY$n|e-3*xqXVQj4^u7ZNqrPFrjCJM|c!qof`{AB~vXZ$r z{xCSmZOSsp!4&D!!UEfe9Jl;qZ~;0PvXMn7xao!Pq9|csdA2j$*N)@VSig|1>0nEb z#|W3665f^RY#RpsYQ}Xtg!O8womAv!aDj4Lrc4~}ptN7-T?GYFTOoX@n3A(>$l`j7 z(%*EXJ7UKMSpz&lzMq(%qQX4a9o)gLA+w<>Isy)UXINciaKVpjYk&g^G5RTlGQR=8iVyOG zKb%v-3S~eX4ZfFq`RnZo9BRg$=P(B06(1cbh-bWaIDKZm4z>kfU|)Wpi(!U|<44Vt0-hI)`)iC z*z?Fh&^qHwfW1mCUH||f07*naRKhE`Lhl&MFv| zc_TS1ehE&)4}sf{r@$iRb!gbJ9Z(F~QKKM-Dr8DQ9PFOH`b{3~!gY}K zaefJN5UBxiZf9b3WSX#C8POg}elkI<#DsZ`hXxJPp|wh(x&e4e#&qAdU^*li(B}mZ zTZo1skjltm6xI(&)DZZylBbbo0UeyunJ1l{!QefoJ=N06fPbLWJ$ac%YIs*`AMl2` zZQS1sC+JXB2Zy7|9rEj~@bxjt0gB3a@m0@hZ+P3g+x;rtcL^J8vA>!OE+ek*9j5^) zbFBx2$Uj;wPX>f4Nt^EmB}HB`-g;WS4W*>a_biIc0~jbY5@mStgoP+ODzvR_`Pk7m zUykg7O2M9L0AOxTMgPPS_1`tC+DTT$>ibjb-1=*;{~WgfELQ*k=Ru1noH^6!smZK@ zeGwp_C03=i0!W9SD|DL7aL%6f?`~iJ z+AUS*paMDvPqf`wCRzBMtfp&ac)7 zVrPhkV>N!xKi~`VUnv0ODP*iDn4t0VnHne8(D_|>k~S3{Io+N9&p-pZCXO+m^3Fsf zZDDf|0MFMm^CfE-)TrOfUPNJ-2yzGwcD_#7!|V85m=TOT!q4N%DFc9CPCL?^QGhNV z>p=b#pV8TKKUl%X7_d!%hi`&k3KmtX7yczYtA9E;b_`sgjVs<%Q?WCZ>d)1$e7ZB{ zIXN2T#694OBV_)dac|w-ooLJtD)zeP)nD_V9H7w3FlWrMM_E`^aA}23Jirf~ZQMqm zh9R`4P{8$ip9NDVe)Duv8+nfN7<+|PWU#MJ17`EDjmxQT-Y|SLreXIEI5gaoGiPTj zL5Z>dnZSU@)*U^=8AmZVh`h+Yb@PGXwKGiJ7>(v@%=!g6fERop9bSCLm=Juy`RbS? z!zmM;z5qV-w(O46oLe%5jANlq^3A-{gAT!?Y0Gywan%LoVd&{}`rtM}lyPM|bmukA z=kD-@-pNjw$znji1OIke4Bj$*IR@3dP~~`!h3y!3W8jE18&c#m{>W6c*T;wXq`f>fT;lloTI7M@@35Pe zH!MHHgW)^lm4Qvj-Q(i(9yC;U9lt#Y zR*$0yAQcUiGXx8n7%Qv=SOPLMMySHAwB?`>O@m=EK_=sfaB#915mK{L3TF&B20ZXAoHOv5#|i^w zrdB{Ti9X3F!b~zE6a%+WR*j)OM9?cCTQVHM3XWC=6OBF7FitNE*P&0g<17IfPhe`( zBPpFKM3t1#A+6J^RuGDJAE=b!`rm=t4+}*P$L||eSs&5;!sq`;d-FU0xZS7HePOgK z(gwrA6EcFw8@ z8*h!Eu_%)XJc|r?Rx^j8R*uAh0|!W*W8@R8iYul5wDsPZEP%-fyZliXw`)IjLpyIz ztqNAQ-8lhiw=zY1pxrqwF=|Hs<9Kx>{=^?|4A z-g;0}b@dZy8W0510wQ2&STW%E3S^YTAmj2u;wz3QV+@+inpv_&aV9GmB{5_ojxk~k zjuB)bkKJ={%0< zLke4|n?uLPowZfvW&h*f9RK8ByzaBB1F-g8zxQwiAhK5WRqnr34hicV6n>ZiQ{T*l zsBi3h$MAGSU5&MfdKm@!>U4zu{AV&8@QeZghpGtRt>cN$c=kA1nG8&!2LE08h~c=hr3uD$Agjeph;fAD~ki0NB94)x}c#^*oovE%)fX|kch(L)C}z)>Cx)w<|}h{hfY7M4eJsqj;wD}thS z+#1J)+5{Loco$#Jcq!SAh~|WYP3vLeur3phz6IMWI>GIc-q#!DKdw4$27B9ILD>X9B=!?J+Jvb6f*n5=dab zns+tU;ASy;Y)8!Z(1@}bv?!tZ1%X|N#~N%`tsU7GaF}r)b0*W<=@i(|H2%mYo?|kH z%H~jCp1jdWA+9~L3wVlvd>0#C?STYhg&#H~H zb)B1uVskl&A?(^|uII4QpNjqmvszbAFc+(ZLSxfvdn)5+Z@%!0B)%OU!l8nJT5&fo zWI!YmAb>+$-*Je2oEqP2LIME_Y!SB?fA(cL z;bWHDUgh`O3es4|xzEN+6eHyU_{pgP?whIce%H@P{o$GeAF;8ys_gOcnK)s9&Ab)o zU<$JF8Qw6SLc7q90u7uP2gHMUHi3XO>z9EKKg;o(A=_DwlW8P1Z6^P1q+Ihcz>q); zeq&sAR+=uxO*_oyA;PdarHd?Bo6BGa4i|i7yX!tWCsU>QDsmn6SY>U)Nq3N9b3%n zX%ZP*c%J$ka_I3jA1v}1{tB(>3@rSxz}fBChwW|Q857_@(~ZC2#=*N)A4CSzFL^4u zIP_TI^cdr8caSeS1K*}m>%T>IJfCX}z8)Gfo56UBtZf7lR=zbl@wH!9Qr<8ZTAoRh z$v2e&aJ(`Av>!}Iu8EK_ZfKam@nlK{?%AOxPQ7xlC?sApzhxCfc-86x@!*Nf8{*86 z5lkRL6TS3zRtc;CIU(;S#)4GbqM?BmR5(;wp~VddT^aSvPdCmnRyx%%j(~KpY-8eO z+8ds;&=mZg3fTm;&t-#<-P>THabaZWaXEiUhwq?)70q04x1p0rKMg3Qk8A9%dYzPD z4qu8jG)d5dJXR^KcUKX>gXNUme?O*Uq#DB^0--WXE=<%vvGR+3$6MpOU;H)W$AA8p z#!c5=FgT270s&0fddMqvrC9G@SbQ-h!_A-5+-?( zh9!(;@R2H^<2s7v3AYkVt%gX*vGoFuE&?D}6-DLm`|6mtv*n9jI$K6&(x$I8bdcT0 z%;h#5i06F4&ExHV_~G%etLxnL%7Vb2OMM)$;%`Mffrn1x1r53Sg-jH{n^{H<0M8d^ z8{tJMO%z-^{E(yLuG9DO=%m{}b?4YVaZOduueQ9(yC3{^cF`=Bgj4H57O-hf%hI6B zm4eg7J<#oRZfL{@!IEbm>Z4gyF%RSDG@V{B#w|~+Rn-rCgz51pf_I4LzDrh#vy#=F zTFu?9|1QY;sNe*)8`$Y1eAb#*bjUHL;#oMe^$$&Kmy}y@ix{~}1 z-A5k4Z#j_Q&3n#PVaaDcY5exB?=GAGBEYCU`WqiO#E=aJVxmz^&MV*|Ho=F ze`pw6Id)EulMku=?R9#<<#VW}UsS+W0gku+dA$4g>mx|CT}ARf^xoR;@bqU@A<3&t zZC2Vp$+wLkd(BTsPcRr`2DDM!+y;lP=%Cc) zi3!Ls<)#pEsT9cpZ23W3&Vh7X<}2Qer4~lJ`QwV{a4j=t$%^Of(hGGI2VD*l}0YQ*pcqQAFfHa zZ;&#^0~|A`N3yrZE2kLSu(YxQl}G+SP?U46k-^@;*1)v`#k^NRGRqkBBopb{JrVh73VTIBG>ljzQudD>XqPa}ETreR#jzDkpcvf;m*BCouOOD;+ z(&*B^<`ot61upVDcmWF>ntzimCIu+`r6{lV-D@6VUzk=Ad}uiI7CD6~lwkm^*4Hyy zBC$hmdP+4K&cKUyJ>O-{QcI;TNnbfBtf9pJ&>u2|sGj_HUG+*GYXcNN>Rt86)qf5F z-!n)c>}w7s?K$_V?GypbDDk8=Qz7LW&1m%KRx9?0>VD}CD$pe@9KnEUFGtWRTR`(N z#--Ip_02O(>M~X#A-6jeWWnC4)iGc_BGwBiSmLmQj>$Mkc7iIvi#O(RcsLzExFl?8 z*J;42H{gIo-9}Nv)!u|-gulD(aKmB)^ZC{BHOz8aeXp+pr@+6*%vE=q4-USi+r$MEz${O#25z<4ER zkMJ5ML)dWg$EJMSP|+ip&@jJqK?;wG_eFDmrwLv+jG!;*Y&>?bXVD|+cES?;*;WCs z*Ym1Pp-iJW0WB~rKGoD5fCK)F@f|(cFoPcwBn!>##HGkxYoX94$TPkY;31DJ`ZJG_ zzQ#LwZ$bV_k2t`db0*&{{1x6zup@dRdJKHvxupX@%}a)3FS)=K+mN=4sqrG z$b)3v4ngaX9$WY?cxLScI0NRLmQC~hnoY6dq~$KMw8$gzSbt}02LqwuhtS4s&1Ws| z>v*y#zS59#hOsTOi1*_ICa_3-Wq9iJsj8GLUL%j0hdCDXTfXjNu7W7&Mvf#)M49Q- zyx|pqdM<$htz4iZ{6k~FZ+iT^@fu21R}+4hZ;?A zGS=WpA2YO8+wrW9Y*N~$SIIfKx|ooKMEmL|qLZ500f`v(Gzd)WC`&k;)p@EtFCsM! zLp!lt4PhHdQ`NC{`~WsjCRxcQ?rdmvh6If$88f1tUoZF>XaFpR3l;1?bDyfepF^=N ztd7B0SXU1>oWme6F80>=-f#Mb@lRj(3*$x<0jyPNTh^p6{4*KBG6wq?LmC#AUmHUl z8VteEy?HO=7fw|?(m@4lV;O?rHKinGv3mp0)o$a@Mgn;jN3m5}^4Y4C4osv9`}*$s zTj0?mB0Oa9`g-;k{Dtw(58lRo&sc4y`$%Im1uZkS1SX`DA{#NdQqW3tn~p)`0bOf8 zt|WPmqYR@nX9gCKKlACk>Ugqi1#T38(AqYEZZ20=WL+t3|G%)py&q4r<@t+F6qlNm z+Ku#W961Q5^{c+(i^s3N?bdOk9LI9|wdWc^3^-EcNvE&Zw0du)?f>1EeEayP|JP4x zPGx%hbmSk5W}DuV86;!Pszj8%8(DEi_Y%isR$$_VU;do&)BpPC#RvOJKszlWKrG7!L9kG|>J@yXlorImg89K&S{ z5FBRRg?gucv)E+gP;gwT%oo7-k@x?>c)}OlqGJFn0KlGVv|$(3^E`bRKj>6W88*NpTG6uuN|*{;~U3r z6_LEI#<+{@80#AqXZ0#C?GXk2B4+xDxkb)Z<{3J^SbaxOu+xO}fEqXi3ab?c z-!UCQug$Kce(7Z7NZR@hSwdfiiEVJ6#=ELRqvHd?my345{9gAs9k5;kSO)Wu=c1ll z2$Wyc9Fz2QIlx4Uza0?G-(0=)5w4tL@tgw^-F^%y!KbK3Y!Au5GUPm|VBVp@1G+fq zK_*nYu>BDV6wO0SM(ds)Uh}~26>6w&@kY^e6IQf3?`U$6(B$x4g~OTjS)^h%lah%0osCo zd{^}X`cwC|Y4dpQ3@+HNwkt8nV17qKJ9dDvbqdG*DMdf@K_A%fUobHBTH{0NJEY&olYY+eJL#9NvJnhUaxB^ zkQZurVqTmN78C>#S#tpRkQ|dUV$9dyfC2E(iR1(iMlxQ4@bEBcl;Z;7TqNri?Jv9@ zC&PHmc%>sWu8lq5!3j;2%r&CFOcrx9;6tVT?JS}hN6i@ik#@WwCMQcg@t^;oJ@Mnl zUid{fPE%yc-`w{fBhh-HQ;$uj;5SY)fQh4r-*FQ0cyP;W3;eu?hZ9^$aKqQlcY+g= z>TptYTJ)H0O7S|{2i=Y9l@3H0Xo3JmR-1#x6`$rYKI?bTS4b3HxA5p{iluuOH^ z4$u+5^$$9xzLbI=`SW-P_ac)aGTLQbJdD}SdeEB;tIU_{mLc|M{z)AJ!co^6e;%VI zcL%=0A7vAy1^{lhGeSmDJLE}Bp!hODW#Fm7-h-Ec5wQ_u0Jtbw0#?_MmWhcyM5*?8 zvVbQx$&@Bj?LCY%Xg_|ATN5LgDc0w#c(GDU_#8daS@bT1MI6ZSij&`loF^^v8krH@ zNSUZepo|}`?xOkN!-6iuBLM=Xcn6PK1<}fhR`hj*+)U?pAs;+v2ZD~Tqr|=6v+gI| zlSAoXh*xEBAMF-=TNS0hy8-~1)6SKHgOqpdsl^Iqr=&fI1GrnOcsRc7Wq<1%#;f1> z=JBXHUwn7>bQ$nf)QpSS4zTpTE5NU{2c8npTL2To+qCv=mP_PuhKKQ zYF38U9jDIL(RpLs_9wTEYajXea=faoa@cBJyT<8lEv;?S_?5=DdF_GYfAITPx&w!f zJk2ZsNtRab_r|w;-3!Oh{?c!Zt7<`YyI{RswG%)K9R-O;;8Ydt^?j-M4cmuL*M9Op zzwHmlO^^FLt@^u2UehSY1a2;wT7<7m*DJ$~f_C6j(HYY6nU8;D-1OKdR`$jHHHJC@ zt^nFRzkarl6=^O&@a*{QaoY#pJ#K#5Gr7NCA}a%+_tz372#$dNq!-TDNdaf8Wc~Hm z9vUD2*eA!4hdxwHQDdVM?v?3Ii{F>2@qmi@h5eio0mq-GDR6ri_^be^;ySl{;Zw#R zy!*rBs@mgzs)`cgjC*8%aBD#IC-K=ABs2oS_ZZJd-uJF?^Iv*)RochVpjFENdd-ub zY$2?Ydp@XjLYz{F?1Q)d+OLl1eEDC6hfof7Wr7g@`fzJX#=8(~<>V`K^*-u8NLB>! zK93=Ud=;b)KK$%YzIuGi_q_~<3Kq_flNYmx5p-m~AwA{0W+~`1%BtqaUYoW|>v_$0 zy63q7L2<4~Ym(JGC9=av?Rk!Lur8#|$1~_Og?rOB^e(opD7&raAgp`?L{4UUUj^hm zKgGc1UC&jVk33Ite0bV(C6mA<%)0QrMNm0z2Loyx2Yh5=SM~Q;5ct9t zxnvIz#OP4=rF%3V76w?i324p;zU6M`1Oz(y^^e$zzNPKp`L^&tk`Nvuy$kS#a!~7- z+q$j*>4LdV&NH2G;0mJ47TSf=Z|ZxuyQ(PL8#;O~4yW)QCsd0YYIK_c2SaK5M^*j7 z&NQB8po3IhG7>Odpg12*ifN=K(?GNq9+ep?IC2sIw>xBB=a_>}WJ_w^U-!Wu#?}b) z0QS4n`LCzo;M3Ws6Hv!`as{7ShjT9X#>4q1Ib0BseWBt%6t1zmI?zn(w;a(>_TQ#6 z5wixW*tV}VUnKNneDjgmB8$^#E(yQQKz!Q6`}nPKDcitp(;mV2YupLY;C@VH+o|cI z#~NAXc7}Z%7M=$Gc#B4FS+K1>SHMGef0GxD`(zxL*QSY-`vKC>aa@)e!hqkwSKe{+ z)+HvgFD^98{dTffo#^rA9{RBE?LGgEKfn=r0j?nsxalJcAuNR?mswM+iRQ$@Tq%dmPT|MU_g7O6@zF#1*91#?L0_u1Fwev zn_tjA@NCDkX$YsZt}mVV2k1ccfVMjXKc~+k6EDGs_ zmh0$5%DmwT%*2Ux00JE-Ok_K+>k)7+3U7i=;E$U9Svv-fymd`9c^rE3o#wqR{FnYc z|FjcsG2s{WlgGL8Qus0a61=o-iX4GA5vW-Lh#7nP+~$GMfqgpYrBHF(541}jbK)3_ zig)Gyc3kQ?Tqh8O-Y@F!c2W#%_HnQK{b=080dFM?+$uV*NnI18=Cd%lnH~lt(iDg^ zeZ*%8Ryf^}#I8?*5PVRINRBleVf2S*+>nK}1JrOv(0!QI>7!Wj(Q$WDKt109d1&8G zjP`5RGsSE??upTFz~NO+7)fXX*O_$?IMAuitnbw%H`q)1}m2(7b_{Fsa z;CJ5tq1poQkdi9^4TBDR;4BS0JhH9U)i$htDUF+162J}L)B7>-I!)FSD^}IFi(Y#d z&##(z7GTB|Yq_FLXGp8LEP5@OJaj&ki=2c#(KrycCDT1w~TYY(-?OAullx= zwTjjG+DCn)tTs@0@51Tvd5?Yk_|s2Ss`>H4KgFV|<7YJ|OPb?2Zd*qd+68eItLGOth zY=gQ`&m1{aY3>M+l^i_tsZSm6`J+D_C+fJq0~L!oRT({(N~R0ZwYskiq1m<-=HgIa ztY@_apaKBTde*q%_(@jJr(WjcF#3yLaTckrYOIy6d9G?a01K~s?Y|s<^IN}#_`x<8 zC@o|t;J|a#VBqJo%}QCaVD{6SD%fsi+RSl_sQ&@iXuCYaH~g!g9bfmY-^NF-uI)X@ z?%Cxyk3#d<@wYQ=!?AUa*`iN~p;Hfrj;zNij*6yo=!sabdoJOe=jR~K)Oju(N}VR% zfe%-<>lsvxXTeOr2bPq>uBGUAee9wf%dR7 zxAfUCWpBc5@85^`dY;1^#+i~L4JHtM+ZiM(3@-x<9u%HKh7k&o!qPCUVnR;418t%~ z6>G#we;tzI{r(zf0zHbqD#)SpOvJy*`an-RbuTIZaO~3$+o^Yv*3Xsvn$He*FIW;4Xb|mBTyLzlwf%}d4O7zv#v0&>>@SW0ukUM-5%&SMNdx08T?1Xmya z2BWY2YrdIO@i=He0)GoEbxZh0TTB0JA9&413%nQnr2t<*pug{>E#lr>7yCKmY{S*h z5M~FyLN7W+35KOFkFRCk{YOU`42^ZcAK~m+b@V^%U z(pDUJ@|OZ}Gnf-vX1-YYDS?!Fud`l!zqcqD&%q7Bw&NN(+RzfFF=?>!k#QCIC%&iN zXu6Vb+=lgtoyA4w!UqfAhDVciLZ1NgWB3Vkcm}u7NA9Ihz#Lu-eXNi0Cxelu7hsQ! zQeQ+bqz%6xP&?4+zB)Sw@4+v%t^-Uyk)mM`*L>?*~noLuV;G5NQCQF1 z$g0X$O1(8nSsIS#b8jgF;OBm!P64PRzbXY7`&*F#5N7Ub(>At5AK|luDg~J`24uLj zOql1ShhYpVy2iC5WJuIF)|7eesjcRlU%)fj;-NNhpQ{#KsJ4DrEre4!1%SsPCfgtk z7-r_n3vPhpx>N{!?$e$$-u~eajT?_2uT@X1w2IagMAn;dP>VQ>qH!R=^cSH;x6UY` zBJc!Dp0V5zPiN}i@iLysRpl(!Ip?R#L8(Vx_|<=9{F~SRa?RD4Kx##`sEmNg7WclB z88&HrMW-sW?lS%rCHbw0R<*ZGsC9*v-0S;%T|R;_6{7yrJKj2;_ktHy?TOuTG!Kqr z*zaH4FnG4Nl`4&W91BOaP!1!EOq#7{N;zFMK6CGd@q|ZSH9q`_&u}GNbsWk`kF{$@ z_`!I1a|lv9Ec%0WL+a&`}+0EfooZoF>%%D?;N z@ubQoh_AR?PBtCB3N&D~cdr~*>}%GReHC&%NNtXld;~5L&?tOYA;(LHE{%`8>mB2n zU-VpNR~$Zcv<^k6cMt83({(z^-cF_IUxK5F;0nan74+9E06W?jswm#!;;%n>UmXMZ zG;9I5rgTCD7Rk{N9q>TmjA|E|9$H!6+bOypzj~a$=U(#e_k7oPj90(rC%x`m;SpvV zvE115S$K2h-On~S;FeYnXJ7@jO(-LKQ>wY_0o_9I_l3`?!#Kh2+ zHuWh!nsshuhX6(gW58=nXZHL{xbeCsn4SljJtdvgTL?18(~ zZFpRy4aOYZ6=B5XgQG-&Y6K-VcFpq&7I^-3x~f*hq3w3b=X8ZHCSG3+Ys+5dXr!LwL9J$*r&hbO zZB)qvKeh|o(eAlDeJ=g#4Z~qL86d%th?d#F2!2F2IqREv39qIh!`T`@xSFfnUX9Eg z)A#aT_Pj5=A6!Wx&Gs^084dzqzmu}^CMR#{qYYew&Y)w4(DIFEgH!PU`Z-*DNV>9M zbJEa*$9>;6L)ahjrFR-9Y_hH+=tI6)WV3ZZ>JAl&FlU;$*%YeKXPTgEGy~&ndWX-0C6~$-Qcrj8*-8WR04VCy~e$Hmb?I% z7o8toX*phad!sMB0~iqS%Zj=2iuNd{-VQ(=Z+x*o^OV!=H8*Ed%)$h%t`okw3POXU(pt7^)%E@g06=UQ z0AL}s6jw7cvyv!HrwJ;YX%f6|O0es!hk4K)Y4VPI2GJZp68+QELW95M7g|ylDBRt=WC)|w_sQ`&N9QXY{3=tV`aQAa_~l<6*VGE|J@=j| z*eXbbtqsMzU4y^|ds^0h{Bj4X!vDdd!=JtPo#TmB1K^rEPrk<~4Ol7XTo8I%|MEl& z@wNheRWsrfA0IDx{+Eq+eelCdZ^s;5d-5^*-8zW?bJT_N6h;-kgpx}J)B};q75nW9 zEPUuaRRplI9j?FjTFL_Tb%IxrBM(dtVjV|XxWLICK-liirP}teGd}l`H;i}w{yWEY zk9utJG~llOvE`*!N3<<}(MRMl%uk-Y`8Ow>D?qtkLUB2S>Ix>V)aw1qB|p#p!l#d0 z-~T672(TQHqbIdJ1$wH4?w~8otI(a+X`_E+Aj(kUTuqq{w3-X>-c|*W5D?=kIp^6l zl1UjY2%fI5lQum(;nibC&;bsVQ#RSI=aCdC3`*D)?>it&KE(C{7$qq>YNLscz4r7| zpW50~Py^$EyeTUR1sZui1cM$L59e`Q2ZA{Vx#mEO>2@qk7tROztiG4(=Qs<(MqEoV zCp;hpT@`NW+zM{CV;p7NGSXE{)@6w3?Bk>WReW%;hO2XhBhP0HxZ7EWzGX%Q{w}`5 z_r>~GAvk9gcz!b)(Vxvg%6f18G5J{OzuH6_2O;5{KsC4L*guSM##-fwD-!?^J0O96 zJPyEzkKBAMg6tH39OL-)Uf`lRpGnc<0ldtF;g~H_4qP~N;5k@-;ZRfTt5*@h`Qc1P zJ5qFVctmj9zKnCeQ}AO2ig*Qn2^XMqT6|qQZ2OI;3sf80yDz%URW$|QwHMlZ{K*Hx z0|N>*UKM<+zwx^rY!j{CWtx8R0Ppu)oKp&fp-l%We+%=T043!7NKbK}J7oiE7N-pO zUW%MK=$3crE)YI9WB6sHEY2Z?K=Wj;OcQQg2a4)C9UzTg$_a4B=@3lqr~-F|vo4It zF`*5iyFYB7)Y5(boc4?FKR_j$CaZHvIvNfKcob~#wRE~VOMC}?*y$%;Kx@+@!3i1_ z7Bv+jd< z4~-*J3n555&^zPXUo;Ty_&%RQ-wW+XxA4wFPd*n%JG8W4hIx~G>r(>uGY4T>ah`q+ z3x{upVn69$w2%zqS@S3!AsrX^Hyn68ToO}-rgQpAI~RE;GI53Zr+Idj!L(0$U>V3T zhbQpoq91hMf!gp%#<%?*pH?Wf zYAalI`V`u&i!p$8B%D)fBBb4>ab_bj33tSrCv&bY)qC0}J&!4(3x@t-beUJ8g;OCq zffX1AD7J=Gjr+=>xl~&K?mu^~(p%vo=vXwQFzcu8!M z|3Y9Wo8XaR&2l=w=qXPe@A$*psu*IOX^ws0i|}gui}*{h&ecM~M;1|#fa$poeh3H= zldp43_>zH*{lJ&8zn8_!P}s?F^%~~(VFh=}jT_gVJU)K#6+blo&iA~uhI3Rl195;r zkPbSeh#@jibVqSMZW+!g0nJbAkKzueMIjYl*%;L?S5I}EB({>Ax%ckzw`-fo8{YEk zeEDSQ&RSR=TMsRlvz$t;_~nEM=@`Y9VRUjmtmX~{PcGNW^`)vTy;aX&s@1l;PoJ(8 z`J+{w?O%=;yr>*uJYBeF|5!=III+)t-_d{VECL4^5&{mEQ}QVGy;u7Fv!40%I`{pL z$FVw!@KCLmpDhO*`%o`Jh^RCXO#z>vcpd0tywr7K7QvCqPWbS9|6n}1G61fwQvfi2 zR4ES6Yr-?FL3^}I$HV+fd`Oy+(Xq3$GtSn^d_K>7@)O6`ee<`D=RfZ&#uFd^x#Q@G zt3kYlSfu#4P!;`ez4h(m=U@9XMUP(@ciw$BpE-V2nV{z?sB&m$oaB?WCFpFmk8Ne= z;dsdf#oE7IJj=m8r<$4R9jlU^IN`g{8+)eg;QGintG>f0-F7_^{5-h1q=FF97lGlF>$pW z!B=StY$y4dpZSULo!{|2%tSa^br5(YY89=l5LSr;w%S03YwJlpfp@T-VT%ruSFUkU zfG$A~i81vS>)c3&6RZ`ZN@wwP>Kf6W`UkZkVz}Twc?&01;C==y=NiuoE}%*QVHvVs z4X@|bhXcYk26J>Rx09`&_cB+K+}N7KZZ+@C!hukx4rbD!!1xphne`Do4u}i&w8!W< zLt#YEooqvTlbIszKzS^H+lK1Q=ELwIJLpwBN13EP)oBa7hDn9s5Sm_ie0F$o^36{6@I~0NizzX`9H2BAo~SS^a@d3gy9S{p^w5nsYiYg zK7q%M!Bb``(7;I$+i5h;{C~`2&NR@)cn~poyr&6`*RkIoj;~ISfGhy#nxAIYTD@cC zh`{4IpEVwhUk1g954K8pSTUd5lGHD%qF413j!_rA>W`LdjCB0Xr*zoSQoVx{1(;k; zdgll~;Kfe7N3Z$4CL+GGgxj_wMM zUP%Vrl*jdmLM?)99CH`@Fb+oSKikKmsaK%8AK=l-g$`x?j{Y@{E!kE!f{-8EI-0LM zZjKj2H=l*!O`91U$T-~}`4Twvj1(Qz_8y+MT;scK`QT|ugC{NnhvCe-acnYv_PM}b z{p(0Xx6x_NhKo4yz33V9<}64E`kTpHk46^Kj{i0vUg!Xd?El8O`IDC-zm(J9Km0ZM zEIbzd-^R$CU^V8@IrKAc&J3LJy>S%!Q2%1G3ocf8(60Z^IOzO=w;V*tSb}@@3q2Vf zrFOfJW%C)(580I&ocI-putr=K2VBly-I{;-l z;2iFM@k1{kFMY)ikDIQoRa>MY$AJyq>orxG7PBi&)d2YKocS$mYvn{49vO?2Nf*ot zolsYyjVbeq@gJq9K!c4@(pY=}gHqWO8t19ngM6@@)6@3@|I>L=5X58OzsiWdysY-3 zFZ<&0mjC!WSGW9*R`8;vt$6ac4SnpRC0^;! zlrvo`;B{g-C-uFvJLBjzCt1Ypt~wfEM zMqq#vP{9S5svg;}lIj(}w zkCUN}98+Phil$y>qNkierM-$K_zx@ofDWv8vC_-SyA(RB5YK@+#ssUVcX)&R<8Qov z{J;Oto5th6@VTN1-~hB-t;ai9rL6xDt)@)ivAR*#Kabag6Ud|VG{(2Q@eSj}U;Fhu z8RFXFi``lt-z!-;RIB-SoIPFe9x7iB&TNiI1neYgxYoZa@wh<0|GqoM)i>N&0f5?H zPn{tl&`=hL^%ijhoht`w>{J8QFUPcdmM4}TsZ{;F`f>5xX{PSa&mrRap+sxd zN+>=kG}X2g1ZT!Lvx|1n-qFesfj9i7d#lz!GnEKY(Ui3oz{5ocjAW}eRwr9QsnivS0-_Pn zDPCq^2mITC18ip+nqA!y&16CN<_rrk9)i z+P5E0kiL^X)4n4)#GV&=B}zuhS}>4~EkLIVkq*~!ejq{IP72PFtp@5y&&m16v3|&O zAi}sHqM~%5LuDaUYEa3qXq7=$Svd6!&!p$v2_+}}#`-c8&di~9=IQKU zo&s+}uOnz_<2i<;Si$oeh6dc=;{Zm<`#~sY<5VzWYzmRXX;<(AZz#aJ@)jYhaUf7b zH1O5Rc4H7pxa@kOHhwXlUCa-9!T>50g64K?3d~p3S5!<|vBz7S%z!7srELL{Z>{oo z1ALF~M7-FcGlJYU*VUo3*uKL#^*8qNt6k3##F|`TuDWB-f9weAX@)XLrx=qv_4HB5 zC;}MlLo~y;gPjRpyxminjqr{qEW}UJ(Um zcCeanJZojYf)uokaHOE{2iziqK_k?b0j&NXuEyyIhG&Vt;Mcf`qG7ZJ8w;#k+fLCc zKj^~a1_iOkAht1%wbfyUU+a&>o*`V-HiHNN6%nKKy)J|iyv!MBW8nwjj?SL@U2R^% zf#>~BR;euy4NHvrwADOf+%Ui&JSq4!_X@j@tYDfBa=5*~Mi??S;1j9l!L`SdX+qI2 zwxsq&-nzC@4GwLwlJqXG-7Dur2Ik71SPfPXvh3V;Y6rLhC2fzb?) zagbHyKxZ;<9$6FxjGXf&Q0L02_{!&g@%Ys3x7X1-V>@47)Lt3<&-;om9e3S(XBC-4 zVLtJz_U3}?gGIA5D%2Mp9(COf<2P@;b)3Kd%y?+6Y_r-ujb_0g!#aCxRqFvaAsC^( zGDzmi51^b`9)j9(0&rlc@qXGzH<3{p#@wTh+7UI;Z&$&*Pv3c$nyEr`qa2;bJ^IG+ zm9=X8l9#-6JmCpXs1?s^$~j+Gj*TpTafPY|A-iRL?$Y?syWTn8@=L!s{`DK)G(LLA z?c=_4rR+-l>u`wL>wi_fgH?0EJF`^e?1vrjLnfG%W@ma7j>$8i1yF!*8-&0!?%jiw z_4?dUN6&rDSO3-V^6!7ec+}(mf{I9Hg%_C;qCWr0;m_yNxa*Uj8n61H9~iHF{Ts*a zRU8wat7{c|yZHYioYNxP`BRt1bD#Tk?z262?*5q>q~(7(aG0lR^$n}X=Pz6skGbi_ zapxU(jo{Z6(4|ppZ$Uzkp1H{&#yY4+Z9(&^ryWAztL6+ltMg6r3R_08jXf9-3=b=O^8S$LSJL}RV)dj;GpXRVju z7>l&^@hU_02N)5g%;$y*YQ69UUo~F!svjQ5ufM)vf+3|=nvd`Y0+c|fX&kvf=z!hn zlJU3y*6)rVdDV}O-}(JpD?lQIT~+kiK6s=~AwY15QY2^3vmW(oCdrKs*Z%Py2x&tE zbrXul)X>!DnnPyVzvxT0FWR>rV7HQmt{c*$m5yP1v`4g}FC6;%M5yd!>tcdIg4Bzc zM<`Ee*gD6KPxk-gofP;bqRjkB`lXvTz&NPi{YY*TBGFXpL(|RQ=fq24h_}H)8?`#|;|EvH2AOJ~3 zK~x3@DoB0=BuNM8dOJ#S1bD~1O8D(S!zIVQdGMe0zh`GT(A1-Hp0OgIGT@y0VK}F?@ZaZ;m^JOye?b@7-R@=b)5kctmapH^&E<&fj-(g z6aK1qnPOaU)b+D@N8G160sJ`K8L7zCIvov(0GEeGGuCZ`JgR$Fp{ zr58d2JukSYLuuZ~wcv;Iwcp=g;4U(_VF!r!nFifsao>Divfl9UH=O7CY6l;1`B};v z{>FQ_=6A*A%NXznu4!L23po-O##NY%iZ$|yw%sm-2Xx1+C|^9<4le#saI9^l$d&nj z9<>OZS(*uZ0v3`1jy-))kA^npeCi6E9N|=Q;$XR#cN<5Bv(=7uRBX8oya{c>KfYF{ zJq=`UI-axN!nqeI>Pu~#=xgh?#&y%hxX0h1F9HB-0J+Cyc_Y4oU(=}h-tCYNLw^Tz z(>H10u|$D{*H*b9%ziGYh};rx!)OqAD?AkV$RoHBnKMr((2{u+ureqVxencz{+l+I z@uq3~#YO(svA33tE-*|RW2<}FqC=xAGfd#$6-JGPvrheKOth6`pk; ztGPW~3b5#ua=#vpBQl zh3cT+Ly;;N_C1*zuvUI%+$b0_pP6!T@HVYJD+(Hy;aapCMz>Mj&a+_blONndlH4z-p2VeakN2gJ9s@1+Q#J z4j*aFiQa8HGA0_-HNe9H4^l{h0jZAY>RcKB_sv<-drxgx%!qi#8rrLW z={aX};5YOu2C?Y3IhkrtD$`jJD1i}zGp?5jR~7#q$e~qeKC|MNEXt77Udd@_5*7rb zYVY#-TJ^l=!G`^Su>aEPkj2*bzb}()yAQ5 z?81?8_GtA}>FGGu??_dEr!mNi>IFy@Myw6uOsN$OHSzSe3iBqD&9Pcnz*EG)qoP`` zfO7Sdj+7>Q7PZ4_@%`t{Z5rl^J?Xg#ufL4ls@}IqG{7>Ke^6{|iA3DzOKraApJ1Kr<289C{ zbmZ#nVat$*hpMzi<5M{fVL|GnZ+!T;`R2!sr#<;8r;P;CuGnmxNUtv-2wU` zs3ilH!8Pg;;7y0TN$~lwv()xw5@0U!ysWA&dXN0Vd*~ZFYNp}Gc~0QF@zVyPf^xBE zV`M6$Pyy1e8|%*^&^_ZTp&6it8C6G zGYFGaaLo{EpYYOf)m(vVnX^Pod?pXfz3Q63*%#-mdOyyuTJ1METSK>`;xOCO0!vy4 zqCAywA3mIE$RHu2{*?2Ka{-i%4%1Pg@Is3o}A^sFgGN#Eako6ESBFsyJk z=NTsAaN2_sD)CA?@JK60a8;zyhiLJ5+sQ^-!mnU942?@Wb>tuP*g23eW2vZzX%U;vca3}cE z_;x=%zR(^pSw6{|exEp6Xb2G6cQ8+`V_h9-;?LtGpPC+-L|bp69S03oJh11u2{N{lN$Xk%- zcUQTXlhvktGULGTG|z`-#+j;&n7<-0s~oSm$=Jd(i_QrDtN{;>Y0(?_n^_b4=+x=| zD{lkms_T;lhN*iNTm)~lr|Vge{V{b40Df^Iu8WtEeru9-#HmfoMjmeNj{u2DwA!F?ba5(2R6Ahd zXpRB}a31{%aj43_T3v{M3l_@WVz6aM8lxt9O~yd&RBA*6VXIpnr!o~5A*2p65z63Wy<I!BW*-FzIHAaIL-N2w{I`TR4nF3$I2k@IfQ)p~D z1rL-V(LuopD`di#J?20T8*SxIy-4{KU&>*OAtghfXNr?8Wnk}dLMaCuCleIS;X<6R zqHDXA>yCnKK5pc4z(oUOk&*N zJJTzBfq@UeA>4Tk#zo}3=LjoBW#TN8T=PWXzH;oha8w=YS0J6guyCRFbMIU@yC2k9 ze3b(%1Ba!i_r|fK*uP%RFVfEopSvhV2tEcW5C{aAkh8)YwuQ4l@~Y)WLMy-4gaTiZ zKdI0QCLGs*$-)LFMQyjnRkZ~UmBYI2%mDEoWDfKMcVWM}IFMKBMVzp3xoEprL77o? z1+XW1uL60PiV%bv7jcBB^gd}%ma`-;TSu@;1E)`RlE!(k0yTHvdw#s)?|;Ym!5{tS zwHjU_o*J(h5FhXY1+3sgAwt(Y5CkH!0v=p7 zW~bH%f-^lZD2HGXy*!`~`l9-)S8zz%4(e}||6UX}O!)HlhUJO~j1Qi39RY{E4%Z(4 zV^xcRTTGzGaE$3;xCp2*fU21ov9naL0t?WAPpSaOl>)V5Zw2}o9JWrAUNet_a%6VB z-_E(PC>@yotan>qZRjqq^7~pGSm{Qe7-M}CovRdo@k`r*0EE0NosrB0t>8-6^eQ>V zWG6$*a{$8D6pv2X6aAPS-vM)*+!rf68N3=52u-YfmY;b z!!g`$<>mR-^PxtHC(-Z{;EF-fj9r({1BNH2_%nFUqZOaTM^>n_MBcjJ1?&6sfbtj!7jUt{Blu?EbK%X<#>MVi zSHW*Y4FDNA)8Jr{zc{Wi9C%*kQrHZWbs>OfI}<5Z1~4)KTYv|#wM=S+0|9bSVl>Hd zoR2h}Fxj^wyuAMafyldNNEktYp9FTgDT*rf<-06$?++jRI$Fcq5C91EWr= z-++eX@XnJVBJ<`oP84F~UI7Cx!CO}9@~!Ona$I8iPLqxxu9FZIn1Wi|uHb0D!W%N< zkfyFx7SKS>5%4~oCUM|3tw6WcL_ zC*xzIjXMPxAlF#E#U5{^wnCN;S3m-Nqx*|U!KSiC>VG--Sgyt1ZaDO8A0);DdNOusLjVFYnb6oKD+FWT?G{%rfyfiROBjb@i;rF0-;djx~hL zRZWa4z<1%)9b@~%^?Jw-c_cM(!10&u4!)>BO!3i|Jp1Y6x8C{QaYJnZ*r^%-L?4>Ya*56gb7dM~+mm1N{cU*tSza7|3dzKk#S4 z4xVIv0Pq2}Kagi@tX1@L)RBkS_JB)B^G2Gw<_ZPl4tRp@J@|AAh0m!UivI2uLpGK6w3Ui_6qmuuZYM!f%|E7j>q-~GgG_i{;-ZFi z)@7^+!%(rMN;yE#0P2WiRd7Qe&r|-3w}H?4k?m*FN0Oh5oKp<{GAC+$o2$EPTj?(I zugn7J`D|Ti=igEb7!_cIlM30BlY=@9=uh*N#=sLysH;WFUesu&ok0Q#6$OM8`Os~6KKG>9dV>IN*t41| zb9w>q(~dw!gpVk+d@?H`4rtTRNb1RxEeLU$)!I?OC5!`bYTmaH=r<=U_kFg9DF= zV@rGJ3pnsK&)wSgkg=IBxoQqr6v&LdE`Y%^g-6##QP2VOT+q)hjdQ$1{xE&hU-O}z zM&iQ!%XvqB)!~{$nX%YPGV}sq3B;H_d>?Ss`=RTq18~iS);oaIbn)0sKgprnBN7%q zkNk46$QdLXI5b>rE8|~eo;VBa@-I{CLwEx$A+YJjzb$9J+d6||G!6OX-*CKhgmd2y zUD8Mvje~!;rHR6P?PuE-$e5x(Jhm0rL?9M|RIjUfJ!5BE%lrJ>;|oubhWNkeuYJ!D zAArTOk>3ms8i$c>i@^-W)vF8uSZQdyE(R3lw%}(aeq-V^ez%46&`u_rm9RFbqL|mM1_XsT zlM_r?4P)}2grzSLFA}I;bhZn<0%)s`JuJ$t83QO#Mi)H*qXt8czM!R!B8@T+ zMRPkN{>>ne;blQCn{twgzy<@#`^&vW0Zu8}V^wz0o_q;e1-;6Yg0ombpM%`DR)u7+ zpBs=yd2~qtB{=6uN(yZPhf$iS1pwZJhRGyD!xqjU6jXv{i>w=W9pE5;f-bXQq~t)j z>Ep(b?taiK7UgAA&h~H;f{O6r>16A03l8;h*1Z$}%0wkuGH#+gi8cH~zzwVJUKLJo zj%P07O*skDmne3pK+mO}^9&yS;17K7*t$@TcNM?eDF=1CENx{B=u`$2xdSx#57`Yj z-S|1jkW=gjr%^)1M&sf>m75wVHJNfo`iSFXl{#qgCd6B0%XTH z^+^=ulp{^~P5le=iLI!$>BCFYuJw$~A2xa2=Oc#0t79bIw_RoFkTOtz|w-kXC_C&zGJ% zGcRw{Ng#4W8}hyTnx_^3N21eS;exg=Xbw;@FOlz{pWr-82h9Ea+9m;~8z5jsTv-ZJjXFP>xM82jy1S|EgEON z>Pv?oFx7j=YLJcM{qxoZtfF5q((x)s>o8VUqbKTpIQ3kq0^XPkD>_*Lu>CmeB2JDF zW6$-j@T2|gcvi1${BAjr4W;%JuvGSdVaFm?WlQyuesO*{22|!w_K|76ZxwWNS0NOI zV4p_YKGvjO@CmkuakG@c!%W2CQ)54o1duIm#4|Yc5d|M~0 zf8n|HNBRisG)TtVieJJR9q+b67s`h9W_$^b)pRj>rlRu&+Xcd<<^~puMDuj4OmDU& z8E!skez2^D|3h;=58MHVrdg_Lug`=RLMzSzcz)559n{cPoaU?0A-a^4NZ?s`gmlB- zOW-Oz#CO6Mrp-F1E^;m9k7rDa4W2R)SDfc}oj0krwYV`o2>9h&m!&+^m0B;c0bl5M;2{ff7B9PP~D zdEiQ~HoYmrkS}~^jL{heat(g;9BO`wOq$*sSx1qfWbXw3o}+_;9uET}H4i`L#4(-% zkjZm1QZGWs$rJO`|7>*Vw-p(CfCJ?50RXNtKoEm?80j!7j2KMtpfQXN7!sZ+dh#TJ zqgAXl$OJ%Y2!giiw^tK`SlR`djO~QX)N&az(NF6UM=9<_lmNbVyo?Ks8QmLh8A5h) zFxk>bGjSK@iK9i~pzIY^T%hPhqBe2Yn%H38xv zBYhg3n`Vo^$%xAb3}*$(NM|M&jLnWb=)6v<#K}S{7-eizaAxI&SOov@{yJ_MZ4ZQ{-Q^+BxP?_d?1@CjfTWC7RB88WC^{!< zNKZH@2nP5Bf|ci}@w^gl8guM;zCC5hgI1Nn521nRPgqkRv+)jm=$=*#t#~|ft@Bwz z18odb9K?roCXn?~?QRt=_L|qwuH}>TL-3=VS=>+IJ}N1Ud#8-aV-0X^D8^9*C5ak0uU`KmE`jj>q5p6do;zdpMGA zo3sOrmHog%gTRj_p1F-kZ88vuRdx=koQeu!U8wW!PuCHEzw)M^AJ6~ludipS)!wdT zP?j&9++aJc+PLfP&s6P*M^xd*<8tQerdEDMd+Ij^ri@3C*0PXQZ>%s{&+tu##5xd2 z-hdwTA@0!+)ZNr;KowK4thpt`#t0&xVO|?H%>a zl_KaX&9BjYlxD)>>^Sp#>@x-dOykV!De9MP2gDmFQ?T=Vd-FOg=vVVqDz)0cT#7U3 z(F$q~h;M)gI^tB=bshMrZ|%gzUVpDLb3C(R|1^w^YwFg>i02Lj9F{ECUU|bSq%-tg zJ?o=s&01n?@~ZTjnAgwK`Ga2Zb;^(X?)Sm~7*Yis5Cp*`Zh>-Jfz_{)#F>*ixDZET z(I1f^KC?PB7!Y&}o}GONPoh1yW3cv&_+ORXfh+6Tj2F-6+> zJB3FEUXBr>zuM8hg-B6acs_;-_eeOpyb4b{Q$+U1^48f$iZtx?h5dC4rXv53SM1&$|6>CM< zuu4zh9_0+_eZC88g1Cf;gO@9tqN$LhCFaUJQ;7j#ULvvqK^z- zwWF0GDV&4F+}g`(hm+2?CW?0GxOKt70;6P3o-%i|zM?i|gu(DtvU+epgW6*YKgY=w zT~nFbGpy+^-&sOAjY}Eg?Ic&!7^#zMRF2M4Jrva@n4_G;OXR;ye*7&war`#0+pvtX zvZm{76dIpu4?kw=Eu5S1)uN1}DeaIXqKzk#cCHn8MEfy@x&x=a_MEeTB#l7Gje{(; zj~wSAX1k15)qymu>(?=FFx-&+54v8gv9WrfVJ@fOAXXNb+K)C3FYv%V#dmVf@tV#Y z-y)v`pSU5#J%ff|d8}~bNJ6b(MXk{3FG0WxIq=i{ZoJX zN8=HXySY~VtKi<@N^-5b2H-$cG$1=zF5%%^t|k3QK>h##AOJ~3K~y~?oPefZ`@$ED zH@^ATs^H=7c*wDS3z4xs44zM_9o%M2)0yL**g0#w zjTHWU3V?!j<`GYp3R-D(S^Qu<0=g0l*jZdz1r%R!fsRw++=p@?wH0S8p2^FRn2!kX0Y`>-kmxXFJ%jq z^lr6``OzX0o@X`zfjxOlraz$febi&pua?l+nW?XM1aFt zYlOoAcn#V2v%-vV5J|elNe{m?FDau;K?oiBs%P6s=N#+|DYru$wk7QL-JVuhG=Fg} zsd2H;BKS<&NVm;|nXhu9h}tHi^gM84-N(6|H1#;aD}@Ul>FN108H;>1u(E#4Yd{Zz^CmqiuwcR{}vB3!rJ>Z0TzQnUU4zT_mE}-C?A}|1W6ey4} zt2BKp_XAjsM+VY5U!$-eG7U^0zAIYyqyYHq{@kbU?FD=fbk{4>xE9ayBS9729aM}K z(`vK@G852hz;mqOqXp(<6fKC&=nd|eO_K7&U*YkF|Z%EY+fAbLAYo*ia~9&_8# zP<(hFV>ew^C#dByi>eLCZK~oYy17K z+hGQpgIu8p;V`Z;0j=`IF}U9zi*(g|FZ8#(w0;fj9#6~hIu7G!wdGrO_R}Z$T=2Wf zxb=Ali`Ma57fXE12VzG59Xx=q+)n}^ooQg2hEC}(Hbm>uJZHSKZ}-DzT`PmUj%OF1 z#ACr9<-vaw&J}MpkAF@D05VbaswpS>`H}MuKC&?5cN4-uk@@fpzQbq+zLnG>cs2s{ zf{EOU#eI7fCeeQYq17!9D){JG-ptc*s9oNsAvzTw4ebOCtlXF)Tn~%BGDv#tF@y~3 z3I`1_8@ft^lp&H&R)FCM!P1CPPP@oBO}0YU7cc>{Ct73nYA9eQkzowLptF*3hjUJl z1BR6c$~3wQZ2Uv_v3HiMJvKm-nkr)ieZgo}8Y7=)8yJUZw*>W?X3<-J^ zZ1#P_kO3`8Q>DAIft(tFHde*5VPI(N9jroN1I9VpvJzxa3b5lE9Ss}4Fd}I5D+(qf zR|=|Aax><-C)_4rW&S5^97UUC)~_fy(}?@P6JY5{#QX@}Y$fkiQ5#qZM9GL1AL?UA zo;1*;rPZA(?pQ0q_&=TQNS2nY9;$vT-~>u6;PlmK6W1saC+@yyTz~RpZDlxDCl!H?)o-zZiVb7sUa7>|!XfJ)Gfy^QnX>ln_=9i$!6Bf-S`B)RJdQSSn>rtZ7TiP`<`Uu@_pueCpu{zHQG+i$Wy=?J9d$-& zFK1;CUz{6+d(AJE{Zh|jum7xzA{m_@=|uKxU72}|yz4~`{6uB|3hGL0Dj>K9B~)qO zwn=y3)cWWq=tRsl(1+nG@};dB^InLDj29I0Y?_y@zQ};8-VqHDFxBcO;X+%sG1kI< zIxRqS$g?c)=hbuSf1sN1NCsygZkKlz{H10@n_wmHalXJwRA=5Zuwfoy#sT{_&$ur* z>|Ck04aijf8ixV_aNb3n>EIDS@{O_rpj%OaAHRbW&_OaVRh4MPRcr_P>F5(Kj1urV zg}dqM;nTrHuwiY_a9GxYuUWtk-FrSFUqn^_qp#;0VQ@g8Y1$0rabSM-Ttl1DHglZb zrWat$*g2_)M;BX`EmOFc`72ou#F^%~c~-mI!F$C03Y*)o&bA=Aee;pQ>9?A9msM=) zzIreR&4H17qQn;p6CppjKT1Pw|jh+ceX9Cl^KJ%w7!83kR{J^7{(*<3K{a^1Ah1R z2g^m|IB>6eH?}3)4*%D0@`d{_+FAt##@HvsLxME*9)hRPsT)U9W?Z_@0rghweY^)7 zg*5=|%yCuShD)O4y|Qg4?Nn#tCX5;ez(p~EWYPmQ63GJ*);1U-2x622EZAqnM+wnd zG65*i-j7D6tv0bw8LK>)!t6k_(&Q6DgwpoB(i1#+!j+RE*n0)75Z5d0R%l$cTH(s- zHHjZ)u@OrgXw1n_h!MPDi~%MXnJ{vEBhHgD0A$T7mEIEzCjuEBTsf%UT+IaiFgE;6 zmF&PBVIhAFmrv)#h@Tl?=TEJ1jA&3(-Qw@fw#F{5XLkm<5%v8&-@T z?7~1mR;gq}s$C0z6ndTsZW)=B1jPtuAObkS^(YvwlBhkc;0E^+;uw=1;4n>le{UvW zqn5`xwgDiV#xYbd$24J|lP|R5?$peMZ`L4B#v>dp0f+FK$Ja|bRxfLYrFuVCf0?& zn%s;XIxH{#@1H+j|L^}p-8eK(9^V>AtC~F=ZB!wMVhA(<81QfBxs6aCV5rLA^cb2hgAPW$371Ypnkxu&u-pFsEk%O=pYF%q>10FJeHIB(MaV#~NQB1%lX_qL14zsfv z0}{{GstV~2nX^9Xb=T-xVtMj%@AQwPs@&wb`#F}w{0%8 z#e)dz8}=`Y^r1cI3tZ!1t;hL3f&tDbV5`bMP%F|f$!bv1!McW%2a4SV*~A-b8PKTo zDu4Yp#pynB6NQ_ zau2;nOX~PO{K)_U@X6pIoD5vgs-wpw3K8FPufE%ATHpkO>dUM7%4D$J+5r&r3NCly z>p4eeZj%C2-x{;}ZbylD4s0$+C`INucOTptcXVIt7V{DDC_EenuH&$YqNKZUmofYJ z!_3DW5ErfZ={Dv&bTpE(+?qWe72XxE>HYLQX(jPyI0V8w>EKM)N$Ja6kgq92LGBnO<<~=LX!`1%<*6f-5rU8a-7+?5v30S0^1lFii zr=HY1i@h42>HhI-#teH4-I$Kva;yMQvW6U3TJcL(#BHYqb27GWAe~|GYjscC5Wtg>ZLb2ynBu!> zGXXEpWhA9wOxl!!bl@ROERx;nl}e`IBq)d{xhDTrKgf`P&3x+A`SEXG_nPsQ-}tv{ z%cnHXOuJvXtVYWfa;%Nva~d-?Z`mwo^L!Hau!9Nt!K5m`SQ^T`I^3D(OMXn6c%9y$K(ledqnuRT$7B!VQ! zsF4xgg)Xg+bhw5%+XnypN1HpCBsT*Bn_So z0~efQ3=i6~9B{i;-M&cP1yVFW0v7Z_$)e2!UV)*ib$Go$^{EV2@e|u@hhG^5EGS4N zOoZ{-eAo)*O5353Dt|rA9Yn#)OsQ9jKS#(k`_2d`TF}UE{k>FU zr}6I!|CH+uNU2X$Bry6oaXg0AKS{f1Te3}h#n@w3;6$|Vx=gflmKAjgAK{vFA=*N_ z##{O{{7wI`Pd}%*O_R09&PiI9AhXkD4DA{TA)r z^m2w%8&{260=vkg@xEq`1m2#@jeiV@`gn29GcG*Kv4;T0w`HXR7PxJ{i}gX8C#ua_ zVCgy`96M+PSQlTnb*0A;z6lK}v*;V|mJRXfDguZ`vK}b|*GM40#$Yn@)_v{S%`+kP zf+!d?T!{=KCUX(qq`$0vwE}aLFtS2|n;F79b|AZweVh$5WUnX!B;wpK(umQD0cFk; zW%i0kS!QKN83i?7GPoPV-@pls7~)ull#EU&D-lL3CRUWh1q=_Zs?eA+9y#^XATj=` zF|Gcaz*O!Da=4FHxOhmo$<~3OjpL4y6?)Mb@=(k`350Aq+3vf)?D!i6!3CQFt;yVC zI2fEn0mmm{<_ZxFztB;udHTpfTMbQ)hj^Id)8sduRvkqZ$1eESdrYUKK`&>tgIc&o znq(m2;W*H35ZMTfa#(ptI9&o|fgSK*+<+NQ8;j#r`18Nigaa^cQG|9wpoKi6F~Sl+f2eEY%XJ=>`9@D#vZG6lAI{*zwQf@aH!oDW+DXe8r+g8{k&k9C;+);KZFoH;$N zy7roJ=UsQRZyv8l7BDdT_Tb~0OXYO)7{=XN*+(UO!a2qrpZMtbhd=zv@z&q`-SLS} zeXKGIPS??b8dE;kR*L=?J@YB!W#9eM@g;xlh1E{&)rT8Wj`Q}`rt_b7)_E0te4tJ^ zxVT#<7F03Acm39{k6XUvdE-RI7Y-h(Z6tMa1otOf7BkV3#f*n`T#0P!FiY*$9kX;p$M373^2%0a0D{v^&!6>B~7eR@D6O6TC=Wpx4GJ$i7Z6I`?guAhvC9`jlFpuNJHRR zwoa<*lixCz!rA9vZjU^UKH}hFOyW;Y1GM1)r~bd&_1_Babk0LPQ2_z;kTia07SPl| zo9WxOlcY4<6vmc=49B^H4V**dm>=$yR|Ph>t$^df`%2G8#dbK_Ip(m_`SBbAA_WUo zn$@F+#=jK+NDv?N77t`)y;s4a&^(8E7-|D`2f{}&k_q1uNXWkDtYDMJ0297J7dU|a zCf|WfAPVZ_Br#r;5dA|+8=%o?U_%+VCGGZXQ9!m4+x8JlfsWi&@@bfn$>w}LK|K@!$}3g2%4jB z@DQ%!x8xEhz3^B%>sM{901QzY%UD`Yje9(kVvKQglQGgo8ZGbK9uPP@eyKF|$In93 z$UeXGpyfFoa|!{ z-)D@`xnc^#**FR=L0|J4Wf7n7r+GWLu)Y$nfUiw2v`PNO zx9HMEFv%CA7G;Rck>V)|H+MY;fym4)?`pf)IINbIIo`S3Jv-uPcx4-G2N$6<3 zF<0@;cbPM27u7q&sU7`@v#ppJ*a80Pe~+#V0IeioBDd3y-+5?Mli$ z$46xo0xts93}vN>RYSsU!jK?~g5snvV=()OmCmDJLhEu*<}@flKQtPqCE=XDVTPY8 z?dVW_^LVN_mS$?Lut+fFJZN&&eo(9i)hq2t+ff&PcvZ+p1#vaQss2z3~x~3CB!T8PKF`QBWY1SXGffD9kjHK34=)(@*3?hhra_YQap3ltS z2VwIwy#)X(Jz-u80@-4j9MZ2+WDEaHb&-;1J5KeT=~rG=gVD_hts3T#fL}0igdXGb z$}4%I9_LDM_;*A3qDw1a3Q2?+1U9ec`6wnk*TRE&9=w1cP$tlQ6JdfdTsaG@i*jnY z!5GL_Nolp5k>PYtALAh4QdZ5cp6HU*kyT9vkd(-&isa()tk@~|rv|mRS3DY=bmoNH z$topaSD{-657xKn4&j@P{EAB^w%doLe*rDG2QNbKk4*af?ZAa?gXwpssnt8gISsh|V02=opZ z3;~6br|NX8?p?$&gB5JOT#TmxLt(tCtnJnPZ94Yg0rmU9Pg*UgYn6YiCcBIE&cm)g zJnp-AXq-5>JGKs2+qL4NEeO@Q3;z+n);W|}0`5sRV+>9eH(AkiJGW5PQXW5aQAJXQ_ooD%?lg)H@dcs zG(25_66B!Mh?Jt2wwktygn|c^+EGRTBl9(a0);Q)VhQqCM~7BkmuJh;iM9#Y8CKY( zYq08{6-(+hrigfpL3Pqc@f9>o*)MptnILKScFYSu2rQs5-*$bYkRQ5Y0K#HKO!66g zYu;3LmGrg(2;d{lH^dBK*9Rv6ROwOv?ktYzR$hzdS2h5jvm-F;BLQyb2VgwtrQktI ztDJdhcYON9ot9(k0SB+~j?TFUEsz~BvjWgY;+b;x>)9Hoj<|#E2BSQww0S?<0?@l` zMi%2+_;@Nj^Y$v6t$ z4M48Z6l1diG%`%Yi+G8jRiRpzmKC9i!;F2g(+N6Zl-}I5)z*G8@5s@apE!^Uyt%*O zpds_dY2>|UKXXD_^I*Gu)0T6deHP%hS!v-D%Bf|u$7z@+5-058OLiF^qQbR~H!jd_ zp0!@+h-tUGz`X_|9E#25+N>#02%1zxkknZ{i1mf>#QKfJnHr|AK~xRyJEnSOIq$ej!K3 z6sBRF%gg?81~v>8MCv&;0?B6Tjo*t5(cl1VT3OU8tLM;OX;~DX4L7dt5H7Dcg^&fi z3i>EDS$4YmX#E?$0jzYiomvfN7Q8~7i9xcjJxVP)tNDz$5EFEerEUTbfJ14CG9YO5 zMY+;=ssdO`At~|&p3RCf_^H~;{!1yEWK=8#vM3yA9{mLV403+Qks|~0d3{Tt3dgCA ztdkvp5B1ZAW#c`(gKsMX-~eNHml)sW9GOP?8`ln`^lCg|(7SWHi*TA%E$kPUVwI+A zquKpU8aTMo4!4c=o;0+wm|6sr*(}8FcAnLn!Fas=Wf>veMI*gB6)^eDOs8OxDiR?WlDlJj-WO-iZ=u?F@WWNH|r=yV#yoX0W-Irz%R5f3Oh z8M^4XI5I?l9h)fYu7d&E#z|rS69;l$g{#yt(TXMGXBb!K4<)g z-+bFRapLL=iE;QumhNLo>9(_z z;N)sh%z6uGi=DU+v}Z{R&pR;D$I^1XFnv9DXbcW~Qiob5Y4B?vOyGcpbs0FFVjv(q zHXD5k`m0^s2S00{K0cNs=uiY%mVMmet3A$XnmrJts?c`Cq+vsGirh zZ4?C*?7RoIi{oZkdJd(5DA>q>)pwg$bq`KEZ8rvI@Tj)Q=oB7rEAV(*LsJLawy-fu z{hj%`aD;6FNWbsCU>{VQak<$RX*sWL;F=>7epo;du+e~p4#RtCTW1U)V8M@#U7j{T zT%>k@XbGoZ$MXq~Xuq`GtiWII9mdg|wgZnsl~pU+0-z)OaBTU}#t zOuu(ZuAH%&nbt03Tx835c&+tM#t`1$2XpMy$N_o4eOQ0BERh}y&WQJVK8`*4 zHa2JI=6CY0d9~Z&-%F6LaSgab*T^}#-zVQ8d;Bgu8eVAq;I;xU--!-d`Uw3a_ZdH7 zx4fmmVvg?Y%n9{z;4vpq1hApvMHwS@T=<+f%JS@&riey9HLn z)ZTV8cp^z8kl^4-U<9mF$_(eqB!G#}!@xiU*ox95SmyzvHB7i98Pw|DQO!fQ~ylUr*Yu->0AKT&DAOzbl{Ixb{Y>+u?BfK0fZ+! zI2!I=S&gAcLjvtNCB;rA9Ve%xiq4uOwEZIdsKGL=K6oO})MX1W3sv#?iC`M~7QC!x zQyAb(Heb&^X^>ixY!rYb9)Ns}KdW}x2TbRM4r&br^adYMNP%+kRb;8rnXwX~fB{4_ zpSMy9ZXJD3|0_)a@Bh!)+k|YNW$RtfTlIEzol13|PUl2IOrL{bl7WsqA_S*Sf>SXd ziU^`kl0o430fFEN5=0Yp5J%$7NkE)ss3QrAPNJD;h%rPR9Alq8UDSEI>V3Oh*YCQn zwfFz28hLlW_1yRWWAF97*IIk+y)$qy%eQn5gTup?>iPtP1RpyS7h!_#=R*LTfwHrh zry4})#i&A);Jn@X*hcTQVEgb~K2RCW3}PIrQ`I2*WPXsyl00DJ%?Bp~nk+P&Y-WZN zZ6nIMU%|73L4z~tum|B&)*L&Nch3@mEPIGP!)kC5&dMCCC&4n*nqBx!zi~M~`N7LC zW+wgje*WdlANj*Se)$Lg*Y7a9j;@nzybS$C^Zh!}n09=pJ$;uRO^Lq3(Y7In{+o|y z)_w$Cfxb?3uxPN_Yv^&W60gu44tpH)e>Ll`P0{|!Z~r?lzxD6`M{JGw2R@sP2dBLC z&HMQ~n*z!nXgBqa36+iYH7?yNzcFFqBe!GIH}Q%tik7V=s4aCrw$b_?WtWXtby@Ah z2HY-Qwrw&`jG2DdW@nj_?#0oqHMF`)Hxi)MKGeRbNfHFHIh}O|EW>_a^{h}Ut+3PJ zAwAYXkm8W+f)h!vou1E)0-JfynMzo<^4~zSz+)(2V-y1JCl7kh9oiMalsN79gR)4-4{ta z)M;hR75Zg1U4MYGjqrhe!ytH>VNNrC(5I0 z1j&!CO|YJEsHOg*tL)y}3DV|p&I!a_$!8cm69otLp8SJ3qEr`l_I~69HhHq3+htUI7D_mJK*K zE>B}K87nPQTi%Ne?xtJmQ%MH}muk<36wn>Or(gVoBZE6rAKuxv3l3g2Eaj zTU$+d{TU<1I`Zwgo0K3>79BJemXFfG=f zbSUp*e_ft07DU&U*O8oz*^lH+mP4(*c`eV?D`-8qfot@ydf01~DQr;^F^wY{tEfHM zI{5^@{;QJ!z-bWnaxglR8)ta3)^==dI6Rwjv#t! zv**Dk^EAeR7`8B@zimj`%OO7BI9szV(h)nx@wEY{34QfflX8qmrMKF34Oj*$@5oG8u!y**v`Mm?5Q1Cuq)bkR z)^g(6xg?78Zt%TJs97Sg!L*3)s&C_Rem#DueHr@-gwW0$`h3* zYY#l)y8PJsQkrwNyJQA^k+DwF0C}lsRc_$^>YJUk126Pa*?8=iy84jhfL|1UeH($vsUZ(zWn0lpZMdy@$$d? zuYY$`62;9de+EbNLD%VF-kD&0g8lFOJoXN-7JoA{{n|wE|If!qq^T<5<>f#5tAFX` z&;Q$h@#V7#Qa}AepT2zk4}bph_76_r|Mjm7jiwLvR)-|^qUFUtePQgXmiENB7#q)w zuKb8*zH!DF*{L}u(5Vf-(H+$ta9g$;*p^?mS87l%MMvg4wvkRdFz6ZETxRDbQ{uOh zh8^QFR*}8~{*EuwC%5%YYVEyL%;oUA+dXz7m0Rem;EkNF{@xsN`+}c*kZf8U&C-YC z^dgsK``M&dD5=^^eL6U=)9WOi5)F#>taF=0hlzzF^eK%Am~B5y7mXj23evs-nYm{? zl`g5x@>zC0Nr1L(`lvSypV8O;3+^SsGWHF1k&FN=R*T zR}GFIWE^1F1B4*D+TvD z{_iR=RpNks1thlNzx)V$5wZV!yqvDie6wccxvOObiaDI1-*o=^BlZOZGn*PhCofZA zS-?Eknf(T#%-}0=eTZ7Sm3~gH0aj@@t(|duiwFm@m4;mrK&X z6$G&bwBzsI#Xb7H0)36$_#dTJ-jAJf(3fWm7d%t@rJI7f;wzqZhS&62{}}e6t z$+6Njc3~?XYTvH*Z6wy^%RqBzQCNT{2{&FZKP%@&y!Se}dBNOQYCofI$GMYHiQiKB zqc2Z19A`n-unemY#~wE^D1DpvwkoObSPwmrg(v80@n}XPyisyhZUK8rgh$cWGw`UX ziw?+r?8@)H6m2PvKvG=P```5i)`jB^^ zMQ9!W3LB@5msj4d1PEZNz3@!(H@BUD6rCbx8bh@Npe5DtDnxZ={{lLO!-1ob@_O(2 z*EJAJ$JuM*B$C0bo#cd>-(jo@L6v0C+Gho7U6Ws)o9=>O9OO&hA4llL((cSwk7@$5Gxc$90Fv<>(AO`dzn7|R%AZLTu4es2nu1V27qi-4}Sjj-U%VHSZlem#y zb)cO#*i37Uo@WeKN2BvrpHn&EfFsF)IbzKlr@?N^i=0k5w+cKkkV%Y051pL3XZ>J_ zWkQ@0-udqKGN6Eia8^H&XM#G*>o?#3<;%~0_SMU8{*!<5 z<$wI2|2EHk7=-GeLoMWd0`Zxdc+*X1fNJ!O+(>{dD|Qg;cxZh-w{5(>8H3o32Rm-| z8A^(io&OL1;%~kDh2Q>z9P$*R(Si4F4%EtqJzXkbj}r5YCQIVXVXq-=4vk;NBVw7ra65>yybZb zt^yjL0>FL+W6R{fkYtH7%#1r9SC1gs*gM-~vqkq}19QzioPhoH8hR+x@hEm5kYzXV zBSKH9z3gQe;+^#~Ie{IuFQe^tJx3oOKr{ThhVN!*TDjn~gW-M4=7?`6*mgkU*>HV( zJNpA9;k@vPX6{3?M(;C$L;pKlDm_RtVfx)8{X|o}8eWkLpdXiZpDjq!zwjMcwALOh z=UFxdEI(eEy0e~r9uK@#nl246&J~R6@1eyy-mxzkSYj^>1J~fa`kAEy`R)V&)CX=q zlWR$~Sb;*r$d83SK^#eXJ7GFV-pi8<*S_<>HF)pfoAGjO z&n0_(Z{_&DS6T(eZq!#h8Pp$tHij#GBe!b5^sM~e&Os)v%=^#*nXZ2(oRcJJ5L^Aj zhDgrTNA%?ZRB2q@3@umpD*Nd}dN^N60u;t;EX!c$J{R8`?yJ4RkukcrV=eUA+?Q>7#m@7*FrK`3;={ zz|5}KE7duv<8<$|zFEFHQ)_sl$Ty)2#1gfNdU3r%CR{R6WrxlVRyS|Mk=~&$$Ury` z-WxP6Vlf8l3J1jl>a1k8*u$kff?U7jsg!)hB z&rYos7l)H%M%Js-wG|r73wH+YwV%bW7j{sQJQ(j*Dzvm8(G|}tuodpmOF~*_73WV5 zp75CG92A`MvG4WiYzj3~n)_^I172d!ngp_eI-52=b!aOt6ktX!DV;<7S^g91*h zFw@+W9C^uKg3!o>Wy5l`W%QM43{dXJ5pw$;3?9z>D;Q2D*fI}&naMu`{?RqHl^Img z6I!YZB^qY-urv8_c3^Aeb@6b!=okF9zSzDb>8D%bm4cbj%~d)6^k_HMm`hHuQCe&5 zN&@3<_11|1NMVu`wq2gFiB@7Gc&D~T?;`){KZCsb^AU5Vb(j6HIb-aV6NSOiz&eo1 zJH|5!kR4QGZ~6>8m>z!r-OJA=-}I}WfBN!w{`TK``L#dxkE2Z598lEwSarg}SGCC6 zjbE?L=6(vi-n_kL_rG;|z!|weOa#<+3}bf(kO`g8aw0Nq_^N*|pNx*^`B^*k&;7H1 z>gB)rn}2Jb|9W=)pG@`45=oy{*Rg?-Jp%tEe=4(akVyI}c+U8;egq_rGXu6LVP?0R zq>-G&?xC-hB`0QEPR{y%!2@>UpA%!=)UwHm^0i5-*pYduHmpl}Tv}e&FLp4_$TvzL zW=0LZXJ~5`+*V~Jh!tHrQ|v0DvmqU}cO6L!b`v3Yf^5et(J401NpDN|y{CumX99Be ztk65D`ce`*Gxev+E4GF9Vn;JWi}ayqv5lc=^`2xtl|Jc@nfT~^Xt?G7VzpkZ+{}Gd zn2P$^pbxMwULccW=$&6R@Ii}*hmMy5UCgKV&fmvoBV<%Z^F#nunFdc-Q*5hloxd{=H3YW9bMuU<6 z&c-S5X4At4G8kwltMuX6HGbQ7puzx}rBwNtEvPKUeKOB|6?rsGv(`Vd@3MW-EVEom zXB)8HwSyrJoZ@Y`|nxmc3VY)<_Wl)*s%15 zZ$WH*5&iaW{OEb~-=u8|b%Tf8o#+{bQ z^;e2BzJ*}R*t69}wtYqUF~iL=z|aRhD_yqH(4sh(cIID4o<|@D-gzEcXBlk%T{_ydZjq-Mvw^Yy6 z-t?ha{<5O{!!}n(a>4_TOC@Y?cD^>0{S!} z$cY>V;a~So4cHYIQ z3uojord+(v9qULV-26c>tstOEu${K$nsoLzbnlXc&Yam{wd3xxRy%5PFzjd=pW@i{ z>70k&AV7FPyV$}6eHKd_Ba#Xm+$TX)I6)-xC+A7+2rhL$_m&*+xHC_>-+;u%rsI(- zB`)I@y557C%UMltXGkrZ-nYR@x;kHZU1#G~;yC);%V3Hwlo)~RG9WIszXmXpKYHG@ z+6^JeSelp6;4mI>1> zKWocsz(sO+d)ZimvAI5h{ZD`PbK3Z`|K`8;@>l=be?GhS8=tQ^`cGxs)5{Q61^4RN zyX#AlP#^=Z&$ki*#p}7>KO!@MK8bpr->uUK=8IbT`+xU;d-=`Z{HI?2pWprB<#Rpv zx&AAKSHICk@RLnU67L#Zwk8T0zhpb~EpH*0O1yU+g%fDjbumkcGV_FfbO}1;H+hW^&*3hdb>mFiNha$?p31r>N__oO@xgj}r>QsPOZ&tRk0hLwb>q-Czus{f6 z0TS8uII{b5WQ?i)?Xs<~cV%l?ZM?lyBSC)T(Q+?3ik?0uF+<(j0wwcA-zKSTfAvz5 znxVBSSX5@-&#APteu&pj!q^vRg7NlutR$%@%(mgB}@UrfhNcTi0*{b-*7?ndVb(C;8tcXdr;y^;hO zTiuoub`I+G-LwBB4qEYG?tvGuM1L3`NN}hkM&+jF*}M5Wbxdwk&w{(`gZqN_(JlSb zCV34ubppYiAjuYdEJ1iT?|4(a>=7^xvEDz>u}eN18)-Sg^MnA%Ja~N-x!RdbwK?$m zctO+Q@MMiXIB!7AU?4#gEy}~ZyKP+KYIy7!NhdX^aM0hb+mF2QXqvZt#9u>4>d@;u z2El)0yU?Qs^6L+oU)Ej0e2w*;F&EC?HR~Eb&9t*Wu)x`fU2UiR(l0u_yQqh%{Hcw? zcn6-fxj~-3Uj;CIcB=>SOmxj~mVb#m?tWjxyY1<{D^7uqdGXQS-F{*B`2X~wLMN`5 zSGDc>8{Mx{QC@DfLU54GA>)1i6@K6we=#O@XS1PmX?Q2Ca-DaxapDSGVJy+~o|YyS z4_(hQwdr@22s)7fllEIye&N0YacE3J#m^evTyOQztz)rMmg9LY%ZDCSD=UAUp|3Kj zZRxmel-p?HLD$r8Wv9FkZ}%jCz;@%%wLy~+vnjC|v4nL2iA zuX5zw>;PF0Y;9dkrw(BgZ)FFpCDvH}#JLo9kpPs{4<7-hCO2Bl@L4i4;q%DFFZx*IsbEQt)u5$%(Jkbp#B z;$YS30L}#acI0*8=$DPPVDIPRf27L{mXymUwHZJfBnB^mH4>XFTeUj z&Ak4?S^8|s=}iUCI(Y)Iogr2dK|!4DXYEtU2IjgQ-uoClHtI|grnbz%SmaYOCfx!0 z%uq*vfdgJSc|jR`W&l@zemOYECdSTq+1A+@bC;*AJr^l5ix8c&jfu0qCoB|4>rTgL z`%_Jb)vP&r#)@sfHiY4TgxDFgNho1I)PH21aZAZ!TiFJZ?&+bn9qO1=LnYxFB7dKE5|^W^cW<(8qBs%~Ht! z+L^z^&^UJ{e!{@mcHMx13kc48EGdmI3jG zf4L9O3!xs2j<#9?!naG~@1y&iEPu>+4^eiO{8nD!l>q*1bf-3z2ua_ZH*eY)p33xf zt-;14$PPX3QuYSM8-z4y3%!uV96<~_fk$$bT!Wp!k$!t#7&DgLc>`L#?2=60xO#fC10Z2u3ryyS!TDmNER zR&IoIWQ=N91@WI3b(* zMbq%})*bNFyTNypiGsU)NWa_njH^GHB>?U}nVmWgcPStD?I3UrmJHx#7<98lHo+{r zaS%5Ey@4HQw{=1+&2# zV1;j#ka0|SX&{bVpCIi#>tMt)BA&sClImU2Rb-0LdPYm<6xT(FuwF{GYfBS!c9;Eo zS9@@~84NLwz!XOUtH;`U!6)G}jF0l`X~X68rrjni1Y(HEA3Z0$ppAvHdk385BBICK z!$~^MZ%c$lxqNWKiJ3y4)BCQvuxvQ6XkQzJ#W>P_1OC{s#W{m#1CLV% za1SCL(BLz25_}>j4a61}&0@~RmfpwV(8rtC-LM;PZ6Npl-8}z&&(3}G;a6UM_T_92 zGj`#}Kl=RT-}+bn%*(&`m;b|;&;P(5#9LQ??`K(n*6@3Fa%O=!4Zs$fO#(gT$C~)B zWbD44_GJ>r-pF|;z>1jZ$)ErHr!Rl*U;j5={;R+7H(q}Jh5DZL{y+TT%U8eu)yuDF zkDAy=DgfqQm(bvpiNy@4+~7YX#lqJvhuV`nVi)~erx#?#mp)`%?M!T7S=opVKlFfv zn`On-7#Rc^c%>r(u7hnW7aUM_5Veif46iCAluWQJB9rouL{42o&YLi-z9z9H`-$zZ z(25hO%9^*!dk37>6Ucy$oJ}bSlIMAyQbFYe_Db}%o^xNMMg}XR*$hawa^3^h*aJ|( zCMQse%`p_Zu6+f55gSo`b>G-Q=#XGsFaf(9#wLm*!@(tH$9!CU7yNOaGM>U}(Pfa) z3YR9oow$obY7j^adHG0e9*H93{vins@12l@3rj)FA2;CNk`GU=XaQC>3CwlRtlQT4 z5zFsghOZ!7v->iPE^%*QZNabj^Ec|JrU|Ea7yX^^cJzSf$pCN;!4?QP1!7*R%HYen|7nty-VftE+r1mQ?~#)d zCY2KhQ&2lTp=R)fM-u{U`Zr+hhFyc_n3H+KIKI;o01GUiZX5{h^`0+hop0=?E?o3= zQ13CtfqQA%zh_)_Yqi5_M+6le_3W|vl%K;B1#)UPeUPY_DunWYvgXK1eW}!9=Ux4 z+1R1LwC{<2(YGwoG5)c=fL<9*+rS~1dmNy;OrJG!)kE-98_~<+f-S18xdXKD?y^G< zobVy8z?UkQz#rT9NHo;;G^j0a3m4;zXwbjG;~r!$Jv?L!EjNC;XtTjxXd7KU6#$YA z)6X*9{;dmpt(K|np>O3ybmQ)8Em`#;az;|%z}MqGUBOd6R9*wit!qp$6qk!u;E;CF zp{rlyKekSP@1;GZ^#EnPuWX11uVgKL-mx3u&nEQlM99U%#7s-i_~hUbKjEPZkn?UU zdivTXWE@<1fi7w@{D|6YKYY1tLGg?J*belWONZ{537+3@yOTFR;S>P#X6-6Lg%zSf z`pzhniI1|8tMhs9*k>cOn{8!abE)41zELc@uCIh*-rJd1gLeeG#%~2ogH=o8jR;P| z3e<%>gw!X2gXAVjf|h)5DYKfgw?bPRq*XA*2xwI2lk^nMBExx%q8&XsPo6dCKrNg- zqa2v!08J43Ml&x8mUZk>oI(a#oWVGSRa6u@^b^f$xZlr=*hku>+4v%J)4uw0$!tm_ znQbb8Ll@u?ZZeEbkBx5I>q@3dbtIRk~nU`Leo~Bu5iEu)v|L7;OpttG6 zV@I>@XL&*g$z#yIVdw0YVhizkQEbfs(&ZS2=Qd*DPn<3@Gi1|q1WhuYWn{ib)^6_l zMSW7evbyg8d}k;{H~qH2h!VWROn2ntY;YJE5}oHsUTMI)fJP>2=+F)0cvp0o@J^yN z0YxxbnF@cAhqSd-A^@8}Ktaldf6KgC-%lXhKJ0pv03}d~9gI>qD0x!wY(95*~H>C0dH zFaFDyfABm1a6HbD&9A7)LN)}rSLUIq83)AqZ0em59QlEde_$3F@WzuHNV$lu(jV!#IB zoCZL@IZlraIUAgJyvuL(JMZ@Rz=g9F1JkAh?94i^qkqv~I1C)BW~e`~8w(C>TP4us zR`~VsiPT&-q`P>!V>Rt$t@G0Lj48$cS&d|xoORBTqwx2P?`<&8GuGA`1*cs`azES2 z1<^Mt7;LS&m5hWhk$v0w+>gzypVmZBlk(49$csahgO)cdkN8qN^|!im!AbworUsYD zR-d_zQLZC{Io^%$lYG#!k@=3Cq63K=F8SLeOyu$GTN50LH~m+`GcHy~O0W8-YOD9| z%B;%bwxu>N{OgzNWx*JGbdo|I-}gw%m8;kOXxiQ2xU%7KZ$G`i@*Nq#Ce|9*-X5N1 zj8G$6`4PFHVevfvQT1zQxUc?q>@IAj!z

X5aI@)vL;Ue0mzk{OwY`U4Td-GbElL-cYOo~qC_mAI{Wp?*gY~g&3twi zP5oR#56r^!%%W@%SfZ#q!5m^Ysc|;$bG8P5A%tGN4<3}EMi4t=`B;CAkjv4y0uP{a zpuX?6eQ;>@@p2k3=gR;cL&7f47z^{s^6Ov%xRV(@_Q1x}<;i&#I8DEup`(jB(6#Mx zuGrW~@SmV&15^~QY(0VgVe@hD9FX~wQj<#@gr{b;JWJE{q`M~rI0i19<@5_)aUQ|H zcJMeBofTg@8z)7w>S_ner8k&MKqyCP;MF#PtVtD2bH5H1>%i6bHQ4H_`!FxJdPMqy zY=(waL{Kn|w*(&=a2Z5kH3X~jFM>y&(+>JZ0A!ik@^|E^@0W(*1Nd7W&gl?w&`EZL zVR{7mNAGrkk1Rp>d$!HATAl^Z6&8XUIlP|vb2rA#ax5IIOLgG+t?r^r{eF&}3oRk^ z322Vf5c!n6pgU^2NubC9l=Jt}-Ah!&kgsgdfTQ|qyTu+E3QAM5welY)U^fBXz$~&7 z-ngP?g0$JM5KJTSh0Kjpnr;Z(8wzaPGMnZvvvpMT`XKYID&|JWaW`RD)ipMLpM z|MWle@<)E{$1lJ3NB_~6U-`jjFCTyM>C3x!U%dR{-7jAL&;R}Jzx?#~e){rv{*S-+ z@<07||HI3F`#1ml`Tl>qt<=PRHdSw*fBK_&{&!zKeEj(&A;%Tcv4wB7to%vml zzD`rd55WpdmJ>774ovxb^yiZMbu5l9x~jzTN;e(1kOz}?lay*7J9E3{Q~7W^DFKlTwniD{N--$EXfzG~r*$Cqq z@=ycnvl2MUZ{F2xzn<~iwgC$2ne@dz+HRV4f?-bR(38NdQv^mo8BRT8j)hZT9DDAu zNF9%EvNxepF9068)WR6IuYbfYd? z&}*$|pv5>ejA1Gz*IV-pdmpIZIHpZt7>ZbCiRBm~!{cYg-$@HH6W+jXPaPn52?iZ2 zryrH^Yv=qA(%)h~J zCNx}{KF`)U0A`5dB?ApmHsBTgHD*L$cl-|?ErDJiPHo$^+ctPS+lmtOb5kj~7vZlg zb!JyxMD{uLKyB*e3d+KZhxLGfc5vkQ!j4~^2t%6Yvqw}4roMMymp**ufVkBL1jy%T z$CKm;?K|)lUtq32T25`uu2Oc!Ydz;98}~>$fHco7O!?k5)W}Zy1yAdVD-04N==VA? znT1`OA6{^>Li?~S2Ob^GCU{!iQQH+ivwipk3i~VI3Qq%T#(x`A1&&IV1x{d3l0onG zy~>C#+`%Lr2u|s~-V4r4UxTpphVS#QfhzaZk91R=S+}h+w~PwbJgfV~cgH_ni+rUC zPdtU50mE$s*T!qb8CXKITP{})Ll@GgJTG1gp1t19 zC`*sf0lACr3Z3=eD|>q0@#ESN7Dg#mn!dpyw4~3{H*J(=@guSE8b_+T>;Jd^>QvgT zFT-=%Y*6n8?&?l|^XiotivN-d06XUBlbo|Cn6vEO4YUq|OTFhA2IdUtbr330ICY*8 ztGsPMdmEh+C&KA7;w|9a!PiH&)j0azH)AxIrSITRHdq2Kn1aK=uoVOl!GwWUf-hOa zu4}GS#gSdYCp1TArr|n7TQ02jab!K1!gJvqh1hkKf@z&E3!c{&mxgX1lFMnq(K;0b z8_*#;-Q&Ok^Ug{{!89)*hlkz$vmsMwKG`TxGtd|VZT=)$S$UaJ5pAX&9QwKLGSeh; zI>63d?;qZvU$_YH&O-S2CS5Av`@RLZ_#a2S4+HdiSYzBB+;`c6JDx|UA2!m5 z-`3$KxkM9oZx*bV!;RhI`9n9)9@;xcW3U^Rp$!5Sn84b>8(7Q-%W(~2@QtBt;J|ER zny|y`_neUNyH3EI(&Rdr1bk{XeG@3e_;opm*&JIYJRoCWW41okGQqE>XHenOGTfph zUIR^7LE`BIGSzeXi!6RK0rwlNb<}6xfB$Y$P~TVRG1dEDynA{3!_P=ceeeC0+0Lx| zmoF2sXO;f>n-0I@kDh*&KcIyl{`e1#vp7Wj@a2H`j+3HHiBATMfoT!|vTcjc0g5l{5${kbi>RtD;k4!(>l9`J0ZP*`jzV)1w{_B#U_%_ZPq@0WX%C+vIf zhwqSD;}P-@`v{MlJd-|Z*4Fr-|0EP5^FlcRqnGn|9JHZQ6_MVC^gsmQ_{vnmSWT2Hbdto$F!OQ8bNaDe*kli5 zah5ZX6h4)0wJEi~)P`kzqe5cdVpF4za%?|@-@A^tfPG2h4EVHIEOq?eF%B&0QLpy2TFg|&A2t!f0NA>87Z1D$jo zi=^kLE&2f-`%S0);3Oz|^c;z)$cf%JI>=9#LUi9zHu0;|JMAiH*V<)OMX+bUyy$hz zD*ZRy%)ZuI4ope{*uW?l|76Si32xQq1|8Ka>0yG3@Y)1PusLm!L>PLLc$n|rXmFN1 zOkeNr_Mj>N6(SpJALXef3-?fzPlVT@=lT=ifFp^W{(09>E}8)*lo(8l)Q3Q+q}Y~OQjeE0;f z^@(o4;{^TS9ok@o%>NKM3Y(ui+YZBD{Vbhtdw^bw{^41Dh}b#X;oL851k(B>*k4(- zt>3DS(z@f>F1ZxFE?L4aQ3i~i0vkwX&?H@qtc$G$`H-XtI-GW2SD64$+pd6? zPdar(fqet(%83BD<)$*C`%S_m1}x6i*V@^IKMA4uWt*&6+P&)Mfotds&*Jy2-b<#c zH-$TTP%g))09&HJi}MS zuZ&d%`X>GkfD4J4)Az3d0O7B&b(De;dACl$1Gyu3UB_?35@Dvz%V2WZN^*7u*5e+m zye?GWIm^Gt8Un9Ar^J(=72G<2IEW71c1?cZHAoJ6#85V95(a0?6xkD+l_}upfMI9BNiNgd!IPcNmgKjD^kgEfo4Z#8d~-XyDHy+1Ozl1H zIkIe=lkT|BtRIw_B`u*}H#TFf^xR_hF1G0zI1UQoyOVDNOG^x^mwI2{;fZB)%b~GR zS8%d+&djB6(LqaUbV=_@%tXfoiCyB<07nwL`lOOv^`U7wWOwNOi+TC`pU(Rqrcz?) z@P1D0p3?xn`TBb=Z$Fz80Y3h6RPgiZ2gIk((Zt`MFXJ$N^KSU`nby{SJ*x>s!?8pX z*D1O9NI=aD(8u4OS+vL&3PJYIM!ZzE*x9cAm8n;vEid<+qcj z-YX{du>J;c*_Nr7ZbazD>)V)L1gw%_;T}8W_dH&7HXM>BXilUB<{ihh{qq=TF)`epyAW)}!c`8&*M3%)ALu#tJJx8NebcGf=wtwuQ|mp?>6+%6Y1bx# z@6hyny?%mJpzxsWS!P!kkUSueoewf4S_844o!@)>Uu3s(#>hMHcmulV!UjINm$rFN z%4*x|jS8n-gjxSWmu*8dyaU@7QK=7AOX+X+$AaJ1@0OWA_5!HQTN?=>f@@&vZ=TUV z?e`JAgE!NDXO?aJVo35gmrS$Bs{Yo;ZJ>@o1W!8CTish7MX3Yy%GQP_>p778QLzr(x=+H1L@L! zgQpO)!RgYrc{Gyt;-A)aK83Y+tI92bU0Nd#k({wQ5NUO z)@3`_W>ubV92md#PJCC8u0HC);;m~1D%a`zy1t1FH>U|7RV_K0m{_@E)#YcN@iDjq zL;INT-E{WBBf*l>1aA3U{kmZ-kz`{uiK2VCA6rjSYAa`=Upub){iy)>e0&2nB7{z$ zyF|c2nEN#h74Qm3I@`6+5uTl)uE4^e5FQ5U=LtHjI9?-tGVBJrn;LGoU)E~T+v$O45 z>&hN})ggoy$*dKJ%A1UhW|8H9$oU8@Dh`xh)@ck39#9-KZ(;^|#F4FBs4eKIfNH*D z-~^Wg@5-1!*)`$8!LsWxad)lHZwG3+Z^ib~h{}Wc`KWdPrv%t_KBg^gqNZ})TQ=@x zG3@Yvb_jHUyd}87Ap?G4wLadn0g;{PRmpywk?N{QB780xK~MeuR%zt^R+2ym-B0iV zoiAMytwdANWCi5RQMEho(I8>&T3GjK2c>$_%7w^dY)q?sph0YH_l3Cm>UF&}oN9L9 zBx9ZNsq#l)+Mvk1B={piA!MhG9c1P^C07nsb|X@?i5x`#)*%rQjL()btBJ_3U~)*6 zq-5GDVviFjus0%Z>{^_aXLUvUKNUG7dPFA$jT^LyrmoOwqD098@D^@yMmDh~USWQx zA(fejhJA-qP9(eF5-=qf;4MCf{^&;Rww4Jfpo8|)=FA$JU79IAdxzLATE-9oeV_h6 zG~jMGS~2lHF$ zB;3~KE4ZA^-qf!_upeF>5iIagcuQ_C`vQKk%^BCgRsYFY$!s|`*<-G0VI5?wM2`@x zxua?(C+X_YBeM$U#!0zPK%k4#pQo?H1aMkqDdC^ru7|OWL6$Oezx&!SMttIp0jGb= z#E!A<$mwd)Lp=92QuQng)8Fe_XLA#LVF3k~fSN``Z;t$1dy%nU)r#31bB`CKA17N( zTvr5id0tJEs|!3%7)$RjfZILzwu(TT0Rk@pvd1qCnA+ciBNBs)Y=!zzNH4%K*Q($! z2wY=be*^~=7hlzLX11JYa8&_376Dq38RwZKV{BWKTEg|+1Ut;)tFOq+mhJ;{H@-7n zC~3c*tqes>=-;LNJz`IHOt0t1$p(GAbU=ZW`V;&@vNkpkC3)dlY;(g21_@DQyYJhG zW&kn{(wI>E001BWNkl{Y5tNg50EE z!9L#?mkkQ_Zt=c!zWAt3_0KYq32^RNW9XoY3LR@GxRiKM*?!^IUp*6>7933*l*Q=R zd1zny9p9Sw)#oVbE^XN7(og9l{!fFu$Ae&!&dnbmy{H%CCm~PzT^dP0t|QyFP2D%1 zN2XRY4Lf2MSdjPnZSLFs^qu^z@3Hn@&$XXda+on{)PZipoH276JODyMnPx zIc`~bt#f(>x@7MLeP^$Y$YE@DlRelRbSbt1IS=xcjirTT>AKJL*Yekg1xNL?*YbN{ z@je8XJ-A-;*NeWDog{J*HfV623bM}f4WIhcKluo?7vj5UBDhsqDtQl`Z#yFr{$wfu zc9s!G&(1Lnr~2TOJnp83 zVVE7N*asY`YtV`ypXCE)RGnPlm$NDI&wmIO1lwhBygPOIW2c18shIi6x$k$78Rhb< zj~)N6+qSUxNHaUtqNC`o-InPl%EY>T$r?`LRh=-;IjHRE4*tCr03Z`_3SGKRwt?#g z`;{GFRkFrAtfvXU1qIPY!HR;4xoAnV5_xkp)6m3q|Fy&ZDI;#>r4$$k`%>O0I<`Xr zz$h3pSYre}35<}fc`&;RHyLBT+8BEVtUS}-`Msr47o08Q<@rm&6SUaLEu66#k&`C3 z*0E^0Qf3Vtw8YRLmvS;Y=%hbpH?8ZZ|G*b|znOF8*!ezfRo+c%8&A{CC?dKT``Ay> zqw-K5l>~A0&1eUaJ-Tpl7u|XOB!OC%?toJCO(HQgw>^H%$Vl)=J4r0ewN2~`XP9Z*#rLj#Q-3-hFtEIQlo_zvH9gt@a-A08 zhjQ4S)n3$bxdtmA7Z_TWRI;CA$K7Z2Fnl$Qje})Q{On*F8fW0`7{Xo#VN>O(cF0L; z9fhd94VsAb5{FtDSEv}cm8)Gg;_#$#!_-L~3x4 z%^_e!hb$+t6sv!*BQ)8H6!DX1Jr*MR2@;yjbLEa+KFJWo2StvJ3}3ARPChBog#Ba_ zS$(8GX)9w4&laZ2FTX9z4v?G77DhQ1IJj?;4ZwREi(%FB2kkR*@D`Thg{v|+fgrL| z4W*PH8)%+2Vc?)PGv2ZHlB>7#K0!9`S+;CHZ7ZojTlKE})TQ??-$R$|k}7EbXx491 z2{iv)El~M#VsVcmm83CN80T{$jA`b9Q9JuFZj*N04lwuKST*+8SJ@%IT{fBQ}=|li$Zi6;7Za1nJIpi&1%~nt7Us}ueSzR#e_PL0hc-yJE;smI-*Fk8`%lN(bgdt> z?W?Kq;=%t5uWk3x)73PBHTW*AQX$gUu@&LPEsKzR+QT5~83ovaFLnW6!TP(nJ}QCI z!JT|in@dOCuMUM)@W1+>DjpAt*T*q*6Q#Bbg2ndG$C>J4mL{z(l#hYGeXX7}5oSGF zoyY#o*!t@~{FGI^rl|*)I?Mzr6>0#=zkV;HGx$L;@zlN@fGQQnolS zXJ$V^WZ?5GcAb6G4hKTl!-Nf-!AAr%7@n=pj7Rah6CM!~&pHbamlGiiawx7r-kxRp zkF$Vtqjsg^^H=9P(_e*8&*^t?0bZPSZ8$Ox0Hyey#Z&^qWtf03CqwT$gIz8%rL#8DfsNNJZjdVev|X-C9^3|U5jn8K=A+3xvz$^PIXO+j z80rMckpY|>mmHpr->P`R!wMj0guM;4;hO$lgWyf~Elq{ahW8x#C^~lce}uy`QaJ^| zM`%@!^!J<-ju>@tj(&Jg2-D}z?&GLu*31F>lb3cj2G)$^k&^8rzp=Ujp#gGfi@3 zkj}t!&xm&Ry~{~z6FWoa^~Q3`E!UpKEX_~waY|HexI23olW+wd(~kJT9uATZI}+*- zXCG%iiL8zR2<_3^4Nl^elNb<97(~2=9Nc3QU3H>HY6}g2X9T+wJ%MbWjT5#@8PJ^C zNzqq0sFct~okWCpDvQ(Q*<|zaBt<$#9lDsNe5zAQvdyxeqh}sisZ>G_EU)GN9#sd8 zvR6W#btM3=C(yQb(1pWjl^kimtBk;P$5#4U78v8W)W)3s@K>pD$)$Qk{{jp5BaNn zB)}EV2s-05^nMeQ=qh$KG)LA_m9S;7*1-=+7OcsPO~-s|yfU>SzZMb zt!RR@a${PP=)l|w*Cf^$7YF~ZryXM1j34QrA+7Y4O%C4OH=@;SwxwxnE5ej~);o~_ z!3tuPYagkInmqWHgokV&f&FNg^f|P^gf>Z!-%ts({jr)^7A2=|r)?h-Xq^)@hN$+) zIP02b@)g*6S&OSOd_=DKy_E*)vyL}7rsXVK^D+kaUuOjP6{MqAeuq;GG{!Q6p9+EU z9NVA3-cqnK=cI=c55h^XI5F~0!4ATt(K35x4Af_)>+Q@rSw3t}y>#ZCoX^-A^~0V3 z^ZTnLQ0?HV-D?*4cEa;MO9SYydf&et_)^}lcQ+7;T*PU&&`aElVw*9cT38BvSUe z@Yz75@Fy73&x~1aOS0QG=P$GhjqCqL4p{a8Tz#gtOO1+_S1J4a@(jP8wVcLi1c$&C zw9M=IaaTlyZd)-@{0lEOpzVfNmmjwDE{#f)^~o+;tKZi%?mS<4%d_jegvM)=!lUT> zgT~fS;}5)nneo5hi`=VzwmrdeJ@epU`iAd)|I(X%&xth$fgyaW!dC_oV53(T-0k{? zN7ul|_K%OcT^`){75?~4ym--e^*kLhv)u;s+|UnMKu#LmU$S1_@VNdXjjpWf>!qVN z{Ysxpb(hl8;o5_H{8785S)a-H>UVqpl9QFCOeWPfA)k?hrAgjfUoUth9xy5mD>JltquQJYEj**Wroq=yDALjK74A8D$OLYOjuvo)0qL zGCW~OgsAI>cLoX=!^3>(F2qgvHeq1CO;D8L$sH4s;#x*ooK~e>t~v z{Ww+$e2XVU)qv~LJ%Uk{$_^+FNx^fB{a#Rps*2-bmQW?pT{0cA#B z4Om%E3GO))yF4(P8^rkB@b0j^Gy%_R;3)qEcW89h(tAMY4(wjPZP|1ndfAy6$ztjw68ThQuZ2W)2)H_CbE!4%Zvxj4)WPC zu?{eNiNjpO93EPhK*S#gpJ|5x(hemc#fWX?4K%IM>+KWFN-lbS_0H(Vu=vIKzSra{-$8@ZF1zm@ zW{epr|997hS8ccCI_27H7lAALPUv~{TN#agDG!?nRl`mAY+|yd-3d6lkH%R-kOUXD zJ+e?8W2{L+j{6;BO$X=>ESZJSn5SFltasxVy?fHbjz^Ir5`Jb|K9W&8H>N|{XUvaX zMwi7?6Y)sy*I2V_B;SynDa(gVZNNHwznt zlM-goU+-B~{d{pT9#ldM9cNb(icP7wp+wv>b!-Ya?`my7K7fPlKxI$6|36JdCsJ*^(WatDM?W;C0a0PF#_f;GDD;l@G1~su6#a%&) zH$BulQE22V@LXff`V^*U`U$+NYbODGo+(ThJ3iB+zJ)*G^#(p93SxKJgs=&S3*XWK*$d6#xxVM!Zw2(P@Ii(} zi_jB#$6vxes4b1(*?GNvwVBFHHyDR+sU}$YJ34h_tT0CA3h(_+eK(fuNhc!8h3QK6 z>;BpAqVm_>=G%Yd=7B?WK22NyWrxM9Tzu%vQ>R2ACtqGA|F4` zv%py!P-p7$PqvNn*#`LVtnH9G6m11pZIdpDw>eE>^*y}U1W%gW%9d&4!C$o_`piF_ z5YhM6eg?JTcm}2n*pjPxclVMIf0Y~)wJLMP>;C&4F*G>pwaRZ`E3E;=`mvjSVmrc* z$KD{}{jI~`G&~&%8$NH!z9EjLU;IL!j63^gR$51d&KMl4!b0P-s zG6p$`@X#=w642Uu&n|oIVXhUgl`TUg+92+N1zBjYVtL~!fhd>~oM}eGCGDnZcaw+q z$Wy8>%SsYIDNx^yNoe;9Atcin1vCE#|AIy8yQmFFh!CWY)2O#q@9 z+J*1v)mHAT(WcwTK;)~=)f%z#;K;`w3$}@b>XaF=rPm~HbkFo$-hbnz8g*>Cl%mxd ze)i0W_6X6f2#8!(Pwj|!XK(Y(@&n5vll~!EKrr<7uC{^Z4N&Occ(_d8Mw47f9JwAv zM>3-&Y7I<6R?o!iJ-5;Ef+mkq%hLz|wyBQ1gI!U{Jn+&U8}YScI4dWa*96=q6~Y74 zI`%46Esp>kTj7lIIik*vKWoGr%w>jlPdiDQ(DZf~GT?SsdIwsT-#&H{eK6Gjn2wDM z3Fjs@;a}|7{5?mDnI4RV;a?r#(zsPnTXhni+P1gqCxJG)X`VG`TpNpBgiUKBJ4X3g zj~l=vxd_a*&*9)8HhdfI&g3DxOycC z8lb(MoZt`Mp_ez26C9#t9N|VH10t z;HMiq!f!~CWOVe+8~X_l?Pnl8)Fi|}o$-gFLUg|g2|abjY1=+kcjyEQwRMtsD>tI2 zWQzn`mIXHFhkTAU0G=H(wYj@BL?-m-Eq!TyzQ;0s2-X#}8$DMQs4p`F*@2t77Q6`Z zxu=jm6A04C*fyUqB$&MX0A2uNmLG6>qcnb&@J{kOd zQb2-@J8?emoYL6Hc6>7-`N{B@+572V&j~M`R6x7e>@Q{h?K8BujS-`4({_h=?C~`l zTKQcs=^lf6tYPV|zo99QMJA$m5Qp|<$B+HsdVQbL>i%83(&vCh?_1YT0C{APHv9Yr z8KFCU2Y=`gxEIGteH*#ym%fWz$0g`H_cr(njt#77N__=yVAJ#Z8=J*siXIb9t{r=%20v&>zN_K!3d$q&cy%$hY9mso8ACUj!(Cpv2z2SBMf%7-M3*1O&d7P zH7`3b{pEOn&|lFF=e+cATi8Rj0k1ME%6nm)oJnP`l4-q5kUMLKBQ-OQZ)Oo>ckAX_ zopE)bcBFTOeg2vig~1GI@Yc+1ccr$_hyQG5Rer?yZ1%IWIHt{>K+s@C^g(dvre;c` zAYK!zpVKx}bZ(;wYIazaNz^T9&;(VC35K-BD+U4wMtp1% z3nC6|6LctuAfPtPEr+juR>qE=clOW;8hzFwSCXtV`UC;d6>ZJ{xVqxKDJ(xu@a%Gy z&=IE_=PK=Y5Q+W~AQk;QV|#ZmL9k=HRVjjD_9yr#OM2>Dcbq+e`oXU=?@lOrg9%73 zxNDQlmL#%bAL2+hv9Nn}AiUziYky8~UU~6Gbk?hu`PXI^hShh1&de-{o|13LjvvI)SpTOsUGl36C5E0j z1F@^Eo{;RYKTzP@@c_AY@asg0^se?YG|No>Nv;X5(1B$x9&gsa+kv=rAG}d*iBwSVq6!FmIUj5C|8Koq^V3pQb1Myuh0?Nv7|w7k}SJ3$(O z!2aw$56D55FU4FfPiR9IoxHbTY3Y|LQ~<_uH1pAftv=p47V|fGK zT$dOsnQgdRZO0Gc8XR1zFQG7vxz4y?coaap+&y+JsMlfd^1b!FB7^SFRRz^Y(t+^P z|Fk(@>&v#viSZ#Y&G#=e3#(ZmDh?Fr1~!ksmPu2#IQX}hS4CbWvcoG*AeeUF(zg>2 z`t3JrKitk+=m!;iFQv=g!9RG_hU;g_cfHfUZH8z~CBXDkSG${MZTWY2+MwO-`-nW& zxF?{Y&AH~FU+_c;=lM_P`#beB-?fpQ;WHh##2=PA!M6zqo=Xydz7oJ7s~3(Mvyqit zrtK@};^1D7@@G^b-g6XlF8zMu232Yls zmd}>O%OC}gBU5{SgPYz9UCQHv5F2AUl{Xi?%CmjW3G1D;uC3~Lkul{v+d>`-zy7wJ z*ytwQwgPJIW23dSPDeae*3rZ#yuexc@_p}D5nRgS{=E}%7rN)`ty|^G1#|UTf8)E} zv5jfe=R;RyM}tJ@z(bcTRA=utU&*F<-)%dsv)+><*LI@T*5%01)z_sH)jh*o`6{1` zgLkeE-zwjgmGT5V&ItnOiFD!U`k}|AqqHXrvWJeMol|!Cy zpTTeSOkq^FIPpIXXkpm05f=`j`{?W*kBUCxUj(n4rP=ZKjQY|I&vhIN zZKzEkWEgfZ!kKpP4ej(yc%k+j%xA_6Lm}jq-B+1;jwP()I&_y)Q@-6xAU61dR_Ej0 z&_%dcCI98k-15?$i6^A6RKFM*gr!olw~OAU>TqyN;_Xdsx2)a53DhOYV&9GuY5E)b!5+*#aUm>Z~u|3fI1< z3SfF}P7UDLKi)gRd}q%s&X#d_)AlnsduFo1tLa&u!m{`P4c=L-`V>*! zXMAmwZSYfkb&x^w2d6FlhEWR0RTZH0`<^Af5U`h1LEcphXdM5!w zXE!7B4_ZUlYEzQ|rFVn7(6gd&`#GZN;6b&=9b9AayGO(;9>$kk9(Al(zJ-=tH{bkG zRl_VXfyMzQc6H;F287sy=<>=|=q2TE5V*70v5_55)z15ozK=f-eIrW(X#>;JuJr3b zoM##TIo-NOY*p*pABg z?MJImRYJtCSh~RH+IrFNOhBFFS$VCPsj=r(8_6-MmK+L`dYgex6yKEO`P$(vuFJpd{+JA>Ilb{gsIv}LJ=_cDg< z2xWFwWH(4d7%e=zP7_B*{5R2$qb$cDvy~V;8#)}m$eCxTB~UJJ_iVHK^=5nXo3r2j zQQJ*0)H`fosX@+i=iIhFd$bpx#E$=FUCH+7oi9z-ym*4{XpO1?ern0ba#6&E^E5qxVG zkjscJ`kng;6t;>9o0^ZtGwEqBM7Opg!l0gHKCi`|s{d>JsyQRkG1q~w_98R~-Z~<& zJ?`4Ju8AA#;LuL}N49F>!K-6I__NE(+!8=b<-6p|6Ah-F2MGVgL{7uqv&ZAI5+#<@ zmtRgLQREkyiErak$lN6;^lD$j=oxv@sAIWs(e3cB z<-=+Lhdy?$lU8afOA++WC-ay$63iz7pO+@&UTtOV$OgQI$@&*KDo68k177;81wuB6`5_&R=ZVyx$u?N zUBmw!Jgb~7PfPP8;cCY%SLOLdHvo)WEKh}Jq`rw9LTXlQ!&}=$%W?cJR-=?!6a3?a(RmQ@d3;iG@BoqyR@ixW6}&JV3r;6Lx7& z`15`&>c@j$VVZWR00?K!+62v@YOt=b*0|LGGMINmttxaJC*fKlg;~x@9+Gv2)6U*E zBaCm@a6v!9h$0g~GJsLM5OaeuUMq3E?%$tex<+_DFlfu^Q|Z4H#+x#DmgfqH)x8`K zfsNptJbQ_~e#0>Bb=KapoItgDA=HE)f|`JAb*5iT9qZAd6u*J-81Sxlt&-U}&8)J} zo|g{&jYAVM%jd`gzcskaNvpGmH$RDZFZRq;yU+WYh==!e_5_rE4g?i(N)FQ^(f(1I@|-~IujWLI7?uIJAH)+!JZVd!*dAiBhvH&0Br-ghAEwzuL0 zgCrVwH|lQkXWCn)8Z6hqJ1})y-mjvARsWVJhP|SB_G~ErmMi)&vx2AIyY!|3N)-9x+c1A?dpzi^3@OMgPumu_MuxCYCy3nHuQ-S-_gRP2^gY6QXbxNgNBWZi za$$(PZAHO4BZe6~8nhw1y4pZ3^jk7UC&gEE--$jSV`%!ie4HkHG^YaJ+_Q+)R@Ii& z(8>lyzo3b$m7D}`IZmtUgV4SGEPC-@ObHoeq8NW4x*b! zCX?7&d9l216+)`cTuM04=5(Hew`tNOxi`A>5)#X*Dja%no+`zJwPgf#QJaeHU)$vI8#5gF*@Q=6Z#BUN$>8euix|zG@Rlw3D!P>*ZJnyt@f2#o)nC&0z(RS*0 z1Ia)R-$M)hgCxBf4-$0L5x|FV1%Ph9!wy}%5*)zPj@k9zI2J53fYe8geWA^(ievgAVEoiywVddN6^ZKEmr8ZX_@pu+{i(Z&z@) z_9!>w3j=6jT)mlRnqW%8?CDdr1HD_nKkvxtT%Es0GxR|8OMkon*g&sRaNUc}orGm% z06vE=j}h|Nt|nP6i__Tpf$B4~YvqQS9XN%{1?O6VT7=gY^O9w~`rupIjPBUalWYm+ z;!+-ZTt9Tx_42us9O)}Iit3uezOr9>h9?;}yfL5bMtPO~OJiNG-tt{EOaHsnKsO3! z{yua)_*M7g`<&pivSxC-S|CZlEXTCnDSc|ol3XoZrK8fNY}VO#qC=$#H^TeKv@{?U z0G(|*#;hghkOo7Qfmse(2^m50=4RKRs{1hvEv4+BZU|!pGU(&j$l#_Q%0&}MQpASw zj>9CU42s!N_3XM!(>trt>^{yqn{)|$IW=}*AT0EZrB9*vz73SLCh(SFot(tQ+dfjM`v21H*CT#Sc9*|6j*R zFQ+W9@GM+4zM0{avqUMYjntO!3kCwAenj66_%Y-ynF||PYZ~{&fxKsKIZ6ZG1>-2qnP*Zl(7n3(a6Rc+`8) z+QxzRL|4HZhjI60Sc4XW&VZQU0sK;Wo`G^JXCPwWs!XbnT}NeDE5jfYoFdRyQbe%Y zaC^OWX1FuZGUKi)o;8}uYC_(4bI*hGCSjgqwrxQY9UYL$p9JQ|DRRI^urPgo z%R=`Z z^~aBWK_ZV1N|S`BO-x(M?}~8bMz)5e0djK!a?wDPY*H58K+j>SX@b3~iJi$9-epH;O}=qhoVrAYc5Ryq=Sc*3EUcs1O+AI{ zR?bB>Sr%32GxV;Hu_|RWp_O;EcbMvgwFedKR7zA~6V9!ZE^79}(Dkj7QOZb-qNx%A zZZj?`NH4tp+nw|8?>*gwpjoyKc{V&5#FoalztXvXc*3wA_=S%Ldq%c8x?YB0*)*QA zy|o3^XzMC1WxS^BKY=7kjyl!z{<~?8r3AHgv3;&E(5m|E0}x$tg2d?tEVL>X28MUj zt@jx)jkS-GdbE$UXO0ky%G>A zNw@vsvjJP4hhNK#V5Tr{o@2(cK2UK@Vud!fPPqZL#?Hbf9Mfm`|M*>+jf`;KJ2IQeK|Q#E ztLXj7+}FK}-ZxsJksw(=s(1wlo)yjt(yeEFB46gg#S`>3|B6CvnQ1E=3u6GG4P8sZ zNwnSoGIY^3#6mD=AkptzhHMW!i#;C_FVPhxp?F`lGM~lPhsXO)=+^{DarIzh8dNTc zZz99JR~+lZehbg?H$nkb%#MwXHZPE#R;CaO=sXvx4nDw%!a04d;(4b3|XnL43L3u8gcLG2EVAEZzH8 zuj}2)XMgAU(rV=^@>iW*od}N5z4Qu98FO6$undX=3~X{3D@+1Jh~5E>eqS?awBebU zb(rHM-5dRMr|{dDvi4EI>j0(W#9exu47B(GiBH=u1J`p!Jn+>(fb8sIoS?BVwUpB{ zSbq1E3yLr?63L|R+I~44VYS{lPCrd>6UQ-xzMV|SQb!XfO=XsH9yDlY!z1V#hd7RM z4f8rff`NAI*qA=q1zFCjf-{uI!IhUMFk41lBf(|C zJwo0x)UH|Y?03+O{0LUdjYZ7MF66v8Fmrpmv|^2ujUJUcf-M0Y^d+Iwv(~Tj+ZYnl zD9$+!qJs(Rcn3T4(6h@LtYTaR3rg;po}O%f_E#|9yuq9kOAeOg;99Xx>9}$4o(0`F z&C^9SD&mRU5e45JK&@BhwG}Ga$~6{E+p^PX890V=la+4Z8kz- zeg0jxoqnk}dF(3dPRi>hoLoVW@veVGchj%|0W@{W&3w2 zgy73F%OH?*KxO+Hd^TYr8N1=Lt$;-OkMM^#w!g;Nf!*w3jN>kwg|6NE*d%wJc!u|B@l z2P@b~enRUgA4bd$;F|~uV5_ZG!-!ImgIx}W4G3*J&Iuk<)wUk^{dtVB{k?Q@@|)nF zfKu<LCZjeNwS7FL`xzg>MNb(f6E8tL6BOa^Jfli6C6OhM zEIbtduW{}Upq&Kp|2VS%{=AKxg+fVGvM>CrX`p_t2;5-kf z@~%&GaG=*y2P^~~R}Ozz+BeIZKAHrR<>t_qQwr2ibm};=u9j3l|C!)S+X}WmooA7r z%2CR0*;#*Nyc^mPSQm$RgQLPKxMM%qoxj(@pM`(r3+AS;9v!HJL-z{E{l^Sq@KOI; zP8_;)07z2K`wmz~9cb3rzJiHA@LyMQfb?Budnyy*C(?ymE#WEww@6m0U>D{WZQzyV5YQiGW+WU3k0P;7X>oT)2I&-h^HRnN2!W9$w2&XEY zzjvLxnSG9L?D*b*I<$_A+leSW_1C@-@>Ka;Ji<@p(mG<==F|sx>3&Wbc6pmwR^AEi zke}j|HbuKTA@CUgN~_94XaxkF5x&|fj19mx*`)W%+w_0SP21YBMKmp~!Cy2!irevQ2OPm)BNqPFPej)OFM2LMMMl+MCpihGgUi~l z$jH(ra6X$>H_vi99AdEk=_h(6#`hh-mR{=1&baM{j|1fBI|Ux%NixGL zU)xqUMYPN**ux>G`EG>ifW_51>fHvg!HnC~9s)kRiz<{1@a%XUIW|Ui#ycZ=FF|lX z-F9M|53q}hW&u;~;Hvem|4a^B?VCNwlID4~%fEQ_m?enZ&=p#;R( ztk@%P4;|n|5}4InaPXK@C&WAUXKaQL(O+H10ZQVOB((XGVG~FaEom%s)-=^5Qi`>|^d0)5;ciPrfarv~shL{OXRQGwF% zjK9Dy|0~bj>!16cZZ^PakOj}{yvLtj+)DNN8ymByw_N`AbC#~bWD-op3&Cvv(;o6% z-lhH8`N;9Mdk?yjT?~Nv)TGjGR=4_i_5Y1#n&tD`kF-wYa|bwTQ^^2*?)DqtykxC) z103M6?fOz5gkh#hswKihcNhg?Vu;IX1 zZP~auF>-iSCF>e~Zq4)jRa?SOug-h-=2W|n0nHjd&%Sq@YWbp^BFmp=zmC%PH?zUL z9zHHlJ1}O3p=Hn>C~i2-|4q28V^Zb4maRPQ30^%j8}t!~ntxUp2QGjh_!wwIhZqG1 zvX+h8P_+CMy|0XYG$$v_##W#jd|k~D!B*dS)>Sz+YRi9=Wi%tsrUQKI9^LD2oMpYY z>xo5o-MiLGcC)t%DhpASv9kh+j#**l{`0ZrCZuHku zHrW&Gx@{()2R`?u2yI*zoH9e+s41P z+O`9-8K#bVu@OFo&b;r;;=Sz6@_8m8@C#(ypt}KRm6d-bS=DiH`crj?OXlb90OI9@ z_t@$8Ji~s*0_(6w?wQx0zL0o2&iFN7yB`4e#EW^p6+QGqo33EcyKhr*#EAizZU^$Z zx9jaU5E5@wYH!P%<#_H({H6Wj=ll77PDfHzlf01$eW(O<65`#!p&9&BHDEk+pM5mu zzgq9Ez=?!`8MDe7&0M|%eQ7bzag<--5YF@48~$nizh?a#j45c*wFKX-z6<|M=}&T! zKufqYqdV=jq}%OX{CGI!mQGhB$VMb!T^=4jo2LyJEDKxuP5XMbdJ%hrFpD-xL@-<2 zK0NL^(GVRb@u`nJ#SNozqGp5R3+MI^{d1bb8q&}Z z`*6Y8wkyaDr0OTd_AhyBZwn*(5dN*ruUv@tSgB>JZ%VaoieF~h*-`8?+ zC%HriC-C`fz$-k3x0(w~m2G6u6DIyd1{RIp&)+6#RZ+A4L3yiFZ<=&0{nK}43j5vGly?*ulSiXpDu-s>)f5pOOSy+dJdA zP60rkqX@>q!f8I&D4l04(47g5@ULO(Ox~F}k`uLM);L$i+l=4MsLD8yJ%WP{MWGwi zSz%1P6IfgdBgX^hX|7?QErhn`4wye^whjj-iY(Yb-H!Cm)`b>Fn5z_WMEowaqAf8g zv-fqjQ({e4eI8uLNRL*CV^mmAAA{}^RXeG6YENeQvFo{TBJ*e%Rsqz0=)g|v>?rM{ zeUKLd8fVAvbB51JBx%gpuy53mri#w6i>fI*#yy z$0W6cY1O5)waz}*od|=(lATK@EF0OlFLJWUIABszA$iU*I6bjoI_tPcfu$YxRmT4|4pZ-OxB4BsXBW}ZiptdB1*UsO{RC8Jl|7tR;687o zvGBv=eWV~5_?|Wa+$2G4xsT|xeHN|ZFiu`1L-c5hAVi=x?Hw5bg z$EW%o2$;p!)8QjaCj@!ursWFCVl*jSx$!oEF)5}JzdcLo_5NH9EIx8Mf&M_rO#WP8 zP5s=X+@4^`@9VEO13VP-{sHdl>>}@XykTGV4#2i}jCWhHv#L@M3~K|CjJ%)9f!JMd zKsap-OoCNaupB)o__!W>{76WMH=Q-Fz8kIueBe5>xxTt3?8A*NPyhfR07*naRKfdR zMj&KaN+47;BYl6?=0qltpy4sM~qT?7{ev4qA z#`n~Q_TN|{HU^mX7`uxW55LCa(kJt-+tYL5;rb_~ukJ-w;QM{tWM`eNzomQkhTs}> z5Kr^S1K!Ywn}MTrV;mHJD_dtnOyGTG=T|M(;R;=~Z$gs{(VMj+<>}4aZAjyS>100U zudPgx3GMO|T}aSdUTzH{(!&yElo_y9VAQF$Fmo_s*d?c zdkn;OR8DToP9M>?*Gm@Y%oBXaE(C_kLh0Iy2uOPMxAe(-m(4UDI(>Sge&bH^aB0Xc%oVC6x^YeYRO z@~3*dV=H# z+43TIRDQehAsPEQ=81$1_}kz$X`msVb@Ae}U>7z50Ro>T3D6@%DbC*X&%u{z8izJB zLK{qAJLIID0pnikL9;O|IOJJZwlh8GPvB7>2`u10!HnVeKqVY?-G9*m_*v&S1|J$^ zc9csQ(1W)Lp^lwp^d1VKi=6q3-taGd&>c=jY3-#Om9sUTforqHIgSqgA!pU4=is$4 z6Qo4`GSIh-TYYQ}PxPv>kIa}f-fT{r-XWJ<%(0G@X$HLn`??(&X}PM&eFsW+!pcdN z%9-twb(rtbcP=vkoA0}`cWg!nr7lzG+II!fu70@^Mc4xCkLA_2sLKU*unKIQ_w?=Q+qquox$pag zs#B*5L=0mK?b?803KQb4$+ykJ=3q-Hzo1asEwFT31*YGj>)AVF+%OdEt zB1*fqS!?BmhvJ>+N24472e=nDZZ)SFb-y=59b9hDJsWv z2I{gLWt=Qkn-tfsIbf0DH{|<{LvgPys>+&_3iNkj&{nSW9Z2 zurdpkc&e?hnrNg1(zcP*E%ntEsHh0-Ecgp`Oh&u z%Uz&dBg*rD=2y+X;-x%vnB1@|RdMN$<&xnNr~~aJZ!`|1m~bLQc9_6F`C>U=K+G!Y zVMl3xMQ8@Y1#HoVW6H7Ow;Z(12ZA2{@U70diZ<+a`1}$bGyARuza2~ZrY9?tnWVhi}a-do#nB46J!#^yDlU2 zS*`@ep_~!#qOfU4*riSGQz=9=Hr9buX+Nu;j*jpyJn|T7ps`!i!@;(H4glu*C%JAi zka9daXa2jCtUsg&w5AW!KOo4!Foq92XSte{9i1SxGR@OT%n_5IY_pqJ)+-GH0 zWIkg$`+}@Lkss3Mw#6WB`J6)l@G#ej4T9M3jw~nZ+%mX;&cGl`pf)PfzH4)1V2M6& zeP!UnMyoTJwcVB}E|3IF+92h~rPBFV6E3! zChj>v&%M+@58Kf;aV9OBXH?a!Hgotw161Z8_!YXuaL^@tg~qf_Ntit*W~Bh=TLSOA z$(ZL2Pg34A3q)%pl>7;?5DCm<5)u#sEGXRw7l?)PCVHlbi27a4Y`El=(nZuo6Q zavSBwj6szIRp(b7wC2my>+|&VnB1hbQt^*TsNlhLNy{W#41u)jWeqC1AMxmIor*|6*I1hQ^ z%!1=ZgNjDB*Zeij^ezEVNglQFR zA~#+sYqYS)b3<

vJ=7ZS))_c|o_k6FJ{@+U#!ADL!W<%G{TE9ODfIY0i-HPl{OO z=a5`!La_2Pn;UM3(N6%BWl=ZJqbzF*QntrRHgE_agV#`|s?ea(d`YWoM+*+sJ3WBS%kTcbF+EW0gK3J7FLo@KA-_U zv)Nw5YNmLln z!Sx9|^?1idNs4d~g*0+qqG%WRuDTLd z7un-m^^8Ei#-HS`Z0C&Wt-rO21n{9{p6gRt_lrMG!Cqz4woe*BBV-YEV$ErWC+1Hx4`N?~&vV4I8Al7q~D;7mg z1n|taCL=Dt@l`m(9W&FKIf8%Fzitm{a@j3Jq#OHbFVBlM{mml)Wm$gMM$e1c<6;hL z>wakOpW}$^8tU(9XXs*^%)fpf59=~s@}!tJ_;jf=L70`{}(Qe9$J@!6G< z?SU1-G&Jihz$6)EKQs>eV;eVQz2-L~}?q__CPs;9Z2V^Ob{wHcLrYjaCa$A@0l zF;6zx_zE;&^F)U|F9#CV#1m33&^}H|*zm15dvPW+@iv>7jPg=4U!yNdaV+(C&Tl*Bjcp&pN9tDHCLcBB$yL z-L3=J+eRp0+6n`dK^gIyQ(s!lt$9u*iY=jhjv!D%*pi?DEP^f`Ut|kBtZ|IPmVBU+ zxc>58^Q^goa|j6}p+BS$6R(t`0TW=x8JLfcfA^DMHVwJo7A|{IAi>(YjlAlh%d00* z#b0Yth+JplC1A6BYm~2_)TErUvW{&Quj0+nPMC1}d7HF`uL34Yq6cpSDeK~WqYVZ6 zA#;g<`mDV+nDE$0n2C5VT9X*FcLC=Z_IxEkqD{N{SjSrdkR()q-DHa-=NHPL+7fHs ztfWx?F`*eY%5HBfApPnMN(1Z+0We*bbn#a5Z1%K1k&Ckd zZ5DKQqd-#DAFUV3O~WqZfAEYH6zW8cg?#52i3gknjdMaCmv@=R3;1SUw#^Kx_k2p_ zH2Mfi0nEpooMT-UEuzo$b9_ee={`jrc+Cq(_DsYMoD;!sdD8HE+K6|&`NFGG5K3;e zHq^UG1d0B{bt}3O)0xDgm>-rnCxK?ss%@%hp~f zDoJmYN}4;6>3&`@B?m1u4exUvz&bdeDV~JFco*Rns>S;f@*ecnd+fVT5r<)E_UCBO z%wfyr6><#LfV#ho_uGWw@=$)=%kJkG_)zsH2Y@^Vv~H@6b&qSV`awL?JVcB_S;&$%z(ub;ZEodyk2V5iSh3+XFUbhAKWJ`yrqhd%)vb{H%aj2l6tn_LkvRc2@?zQU(Ir z)h6?{&m1DZoA8d!@x8_2Bh4hQY0mo(VX3tBm9eCb+YiHbd zGSl||ksb4jG94v`>rMx3Xye@HU0vZV>y8|PKkE04-?l(IRA@eRq?>QRdwPFI$%Wrl z1~yP^uYrDRtLtd%h540vgtFVqME88?%Xq1G=H!s5FG7epEnXhA&Ru((N&<)t1n8;% zB;Gk=QDa0K3nlt-r}9fTaC03S7Hr!5+v~rdmTWK#9#oagJ>X(8>HeTcfo_5m@KkgDO&=dB-PU+4tm?q*`s^NvCt;76HHp z&H~*}Bo4@Fah9;^L{7m5Zx*z1FnBf3q*U=Ww4FTaK3OP0t2fDlQku17Ve#{--drS#5dBO7ZDhuhXh^3X+W39;_ zCur0!S(}IQ`mwEcS`p)Zg^V=0_6B86&WSlnV_{zO)NiUzN+*VPv9H8i#hY9BO&iAv zlq{4b_c=FHx-P(`v6-<>IiYeE;uIz9oOqDq&wX^N^F9B@lR`z`^{I# zng|~Hfo*|&NG6gCMr*G6i8PScu7j?f0Roo0Dw82eogB%VBjs9YNBJ=gTmv%yq2EHa zt{>-7SDHhx<|Fn$#(<;sE?n&eK!hEZRx3mT2^<0LBO7RJeDWbju0mlUW;zsz`5w-J zHY#;$M4)_-M^7ou8EaK8dxPVc!6WK@=mIoN>N-0?&o!k_5pfKj2eGuGuQ+F0uIgFb zSB?WH5MU8jpR>)N2O);!o#$@?YynwN%d$O>H~0A}D;DS-T)X4)kH0P_)@zR;jU^q= zh7V%yb!4Dj{@Vr@7mU~Y(!U1~0vd~N=gGnI0uwW*v&orpSfLAFs z2u1>gS)S=7KU6o`jG`0jz(j|2ouE5wj0OvN*DUz;zTC2<*af{Uks(`{`Cjv)-pyPI zcBuT8;~@8%CAwVwndnQr)BeO~pW~9(TbAnyg7na$t9G`{3oX8oATLOk6BeDm#65fX zY7I~yG%#Mz)dAx?PI3n5ZkJ_oE-U4_?Gk@|`t>n$VR%QH(N^!RNVA&X+MD@}{D_hP z54kSNsOO)SWnOI&f9g>hS2Q=Yv)(l*l`WIS`aasm@91MElnXc`{h8~!HioB}gL?Y& z4o_UOyz+UC3+)$CCw^xx4Equ`F#Nu2^HGDN=N0RdGh#OmL%`psMy?&Hick@ZZ*7-uymbhM{=9DJ7YIA8ca z!)w6D^hd@)*FStuvcr>0fKfP(Q@-WU>xU+Imznv7W7_R$a_sTYRW(23=W{RZ^Vn?) z8_H$>EGp0Mj5o->=Y+J|yjZxlJOC1NtBoQiK@gvguyA2vGkBfj!KG~>sH;r_H_=&m z`5i@p2ni<=8{ru)U~Q~R2sXxL#~qRzD++=86Lpm^xBa|95NL`;k{eQ5<-GX=gIK3F zp|mJ*kxsd2v*^%V=RwlsLi7tHVPUOTvB3drD3b;pos=~Gz+IT0pS7O z7ca8`7l2_U9=!F38%AjV`Crk~ZGM{jWhQAnRWZNVQE+bZV#a={vU>o*IXnVnAV!6U z1yC`M0)gD{foE+|^(5%`$qu%EwrI(EgK8}YsLvok{Sttsfj$FiuqMZNRopFob6pPP z$NX%YP}30Qg11!cbLCG!*=Y;fml#cLDkXE`59OjwFal3=a!e0?08vj`q?y1p^GXIH z8Z=Mba^?5OUlh}uNzMYu@*r#(Q}ZOKzDaT`E16oXQ)CBy;JV7n)NL`@4=pbMH?lKW z&-^*9Re_6eqfy+rl7Oj=98+zwlR~SlF==1g?EXxM0GsT-XK_VKzsU!HnlrV}-X*L~ z1JyF1F~OKd|#7SdhLBJ#JC4lf8w^mve#B--Z z#UF3>{hjL{Z%D2%-?AFcl~%a)%$8=I;o=}rorR%!F?3_5 zjURigIDFkov@DoVj$r;%c5$^m9#0n1$2Iwe%|&b-6I3 z?Fl2%xOAUe&e#WDjAbpCe8Xj3^NKb_@*o1(!d!v=j68uR!7lWc<^;kX*46SaU|fKH zKBZ^C&%k5lACNqAsG|LxC%eTLwBj9aiqjs+bL3UB7y!_edEFSJh`U{x_uE+ISPNKo zTRB}s;ivU9W0Vcjq|c8OZJ7t8*ufmGDaA6%30wpnZ?0gjE5OGnb)oL-n4x;M)*mYD zECm~ zs}wDwUgsl}qEfn*7D%Q#P%iqheyvu);3a+}oiODVNwDa-p!YSi<={e$6R$CBtc9cQ z10*N&IwNd3sTrX2du8yicVNZW8RXT7adAji=iio}r*VFAK*VA(X=A=DYr((49 zn$+kH{gAiFcIZp{(vRuew)m#6^Eb*7EA}a$@qn>hd0lP_pR8>?eVSG|HaZOmB z^HY<9$eYH56ad+vuba5^V6&7_aJoswn;W_l(`~lfz;Yq2$GKtZHC}ke$;I$|)fejz zf%!boYVr4mi+c_J1UM57DSxfv2wS|h`IR%ZWwrK(j25iWi2aKzq~8dM%>UC4Nqh70SLo0t8}5p zCXaE5)L!{%Sli6kHX*Q2%X!|DDYCQUs4i|2JgTtKK2};nSO*qshl4wEldp0M)F=+n zW0xB&Te%vrGXOUrL}DzA@Bj@}BYr7kwPnkTe5}LVq|;IYCV;4PzkTrc<45JPO@bo;(O6rdQlGlr*dh=k!Dd~kcI02D_P&RPv|&iPv_Y3 zaafs{)8D9HmDc~!PH@|D=gC=T*%!T-cd2wUSg{qLDG6}oTE!Ko&Ebzc6zcyl^|O4m z*OM2j_9Do!S9MaXAcwRTf=?LJoprWNG@gek3*uqsEHk&;$o6xGfxVSzvSurDH{}5q zSFuF2QlVjQ4A+rGKKpl$pSIA?z*pe~*ifq>+b&HAC~%2s3cA>P+m z0i9XH)}0E2^#QVEIiL~%mf319qs=G}m>;#E>Vx?;O*fFG`C0X-E_jwD4YHIL^ZS-P z%xzQ*U>;Ck%90$Voods3EEyo!B+oUwOG%|8B%A!YPg;Gnu49f7c;s9SnaV1JOI0|^ zQz#xMV^v8bJ z@^|$B_W_Wz)~9-op$%0Zb0wmFj05r-K2kN#OD?&+v7zV~#s?QjE?Q3JCvN~G2h8|n zvvHsAZL7`ls;)zJqK3ujHxy^+DUUDRFDdX^fpCoe!;#!60`#8h$jJxo zWPo+R)wO57A^07*naRF7ysluQi&UC&dFy&hy1 zQSD@n>W5Oy{ruZ@Tjg0$H=$q=N{BN zqft-eLtY(j6J&>3|3!A&U*~r()95qErKTJ`%jZl)8{6htn`iKd6&c_iv33+384H~k zMVpauuimY4sjOwPeAk`v<~erZ&J_Z{#kn7dEJ%%|+|UI^Wl|Yj3~BE96y`9@4XA7F zEOi&nzV${%Eh;P$P*yz<+^O<^AQP#<{oX@$;mkiP7K-zAN%E zmI;ClSR$~{M+=F~8f47M79}$h@09#c(uhp}trYd0uCO(-btIPn|GWXjcL9q3zsJoS_Qem2EmdK5R@Sqz?uYiR1lg5$pw;*)y9;(wxmQ$ znaQLpx38mZ_R)Z%$;%3*MU%Kj;9|5kjmMHGb5d;&q2^0Fy3O>)3jxp0odBL0oRGtb zdpF2of4HB>dkC4@+`K#F~S;3|)JG=rg_uv_|Q@jETlq^m@F`A1=U(u!bZP_8&HS7b)a@Gy8vFiiV zL9k{d%rQovW>#45rw)&+$anR?bFSRWS%~H)&L;xdn$z)+`aXk< z-a(xI<~e}im6N0Rk0LeBQ+(zDgL8mhC_Orvl%fQ3iubh+E!qW>V}$>=dpRES^J*U( z!|^tgfPSzdkKPIx0-DR&&;F3I)+w5UlV>B>#WTo(0BwMI0C)ORbGRSiAGezmujYjy z)kuH%+LX)KkaCQuEfQq##AR{LlMDR((KynY(oI?(k1WZuqCzuJ@zwp-<~+%syb=YZ z36xnc)&abW-`adiRy2KeSX5#2_SvNyX#|#(MpBk8r8}fc0Ric5SU^NTK&2Z+Sdb3s zSh^%vLFsN-x?w-w_x*m?{B!;}dtE!vTyyTZ=YD3UPei~t8MtGY&MK>(8LyBPG86*(kS4_JtlXqqpD(%oXf=c&6omWx%=cZsy_j=PniIYC zzM0L24Gp^v@I9Z*Hg(xL!eT>FOr7bvROK`%_Vx|;~QbmMZQ z(eR3ab420Af(>_H*e%QOq{R5pfj?YTr?s%`#gx2jR{ENJ>A9_dow0*+!?aM8_gIv) zBY*2us(N2KPXRWIf=xcKQbJJ(=*=t?f{T?)Y$M3x<-7K5QT7(aMr=RhZH6LSHSKb! ziQ>sj)ORJP!2#mci*Xf-k4LK5#Z;XwRKwH;CXIC13Z9x9mybiR)vjb(-@&A-in!?# z;UZH77TC6f@eZv&$hMe2UWAw7KMB}*C4D}yqK1{*$j7;9Ov_~KdtOfyHh(!}`Y}Pm zm+-Ad^h<{?Z-w%iKd7qQ__}zHS1fV5-9lfNilUYnB415XyAcllH8*N~{4hOn=fz{Lqs3o+M|@%Z%*C|G4S+F?k8uxG`_cHQ0Gvi!M*-l z@_57J-x{Vfq@l;Tj@aOCjdkniAF6mJrhenWF6+=hox!s|;AoDKp#3MT=}TX8Kl{*9 zCA1nD1$>OV4tbR6I2uxA=>P4gxM%~i{27$YvJ$lI6srlT3?S;HyysmL7kYK z2`?lM^t_*pB>(w2P9%0&Niko6Vx<8Zl=1PEh3!(ycOxmV#mUsmr|=Kbif#rs8sl%v z6pG2ROpL?iSlEZ&_^!o$i^1pQ4>X@c5FAqMQ;)qicQ|eC=ss~io{D|wR0%CRp(7gV zI3qWTR6h5lM`wO2ARK2O^+cT8pXB3N%&Mt|BU0by=fnwZ+=Ir(OVZ&JRK2-XjNiV0 z3HA|6yXU~0DSP8;7j10$h9DUbMsbxEt$lq468T^np?f=a$GzKpZG~09ZemyG;Aqo7 z`egD^dKeJk7-q6oE4x5d^R2ziTV?btGPPpWs(PD|K z2W~K1$6uo-NqZFI(hX@TnH?13Zcp*%nCRwsM2uIT$T4NQHKTvm)25FNW3e+eOq{50 z{l4^WiEF4Ht+{jMIZA&Y(flZE#8Op(!u4&-22r@Z>oAx7mnQ+LUoE(CY)CG~Lk=dY zo*URb->CPj{jfQE{oWpNbBM%PsB=Pcy#DI_EhXK8wGpZwBetw%U?z=|B-G+2tTpGE z4JV2dPZMzwrM1oV09^pPBe7rO>*T(!J)*b#gvy2XnEY~hOtu#AR=~>??tkx4%fF+X z^h{{$4pCDm<$#!ul(_uydDEl!4DUFy{R#h9UcJTlI1+`5L*{~y@!S0g8^Hs0kC|zU z!(f)WD-kM>yO@Rz-2W1Acw1Y63hAEXR{uLoC%L0vG!*g}MPA2_lmbllZw9ma12-7Y z#U&SS$Ygep=ix3NBF~F(y%-(1lfkg8!U38Y4#n8_q!s+za2`Q-6&B!_-cNEV?~Y-u+0}z{mUPi>Q4Lgxn0tXqUkt6 zZ_qL3K1=x*0*r0Msds4 z62^huX!xz3&ecOTb<1H$#||L$;i_z<8y@J@va^VHrQFd2ofJ_K3Z^g=tvkTdbW9h z%;wUD>a$0wfuFQhcD@iyy{Y3c59E4L`dh+8b-&o8_l0f_s~qe4a~XB@E${G__3IXw zAn{FS9%xgFnhNeXOv2Fx?0@vF6Ys};x2i@Q%R-_VqrB@M4*Iy|==k(EDgJV}t&R|8 z>p%P{!{X|h<^dSrmoxk~dWn*<;l8KzRqa&HR8d$!ol+A9ZF!KfgDSlQJ$a#Rc2W|D zRV+vP2+@1?LEgKJ-z-qm;t`xWtd%`jcVl&p?h*%-XqkF5%#CG-;owuvQhv6p=LGCg zSXUUnKxRJy1+feJ!#tRuw{*iohPXQf0a&cs9|%8-+=;eC9ks1$6s%VlT`+GhY)%$ z-6u#e@iFlaHb8hCYx(4VcdwdY^cto@V_fV zG`KS0sPEKvwu0k2zt7Xph5~=LJhzYMpqsZ!-u{$0{8B19adtW|L#j_|sqiHWcm8Y9 zBZcc4jKko_`8OG9-oAPzGA?l;gNkmia_4iNxV)BUQ(sB6dTg>&!DK1e5bTztgrwGg;a zC)Bu{z3X`VNG3m+xcaaJV}Pa039|F?8^W3OQ(m-I@}IBzFYFT@sUx_>3Uz4tUE=(g zE3A=s&sP;ar+TC`afXo=uUcl=M9r=M0&4k&f3X1rg-WB17>9v9O)UFs5)t7$X{-Q| zcMSJP?YAtiMrnbyKk&4Gv8T?5!Q);##;#_quL{=mN89)x&GurPClxDc_tfzB1)dds zlw+s2WYMJE^x<;v!7JC^z>D#t8{wp3Ek3okFd-9fwx3{=4GzcP)R>~t6-$8zf2bC^!55tZ#5C7tWfixiM}%h_Y~I%;NZ$bdlVTkxS^-+F;Zmr?eqh?K%!e zn_27zBAnP<@u4bL%iKTlraQbBMyAr5`vZ(>UNk4Ib~!aR?vt#u-Ht<4`&j-kf8JY* zo|_2!a`_TlzEYW2ZM}+^Zqxwsw6tSjb-%(T9 zF0XHNJaDz=onQ73g$n%I-|v4nW#15aF6#9t_=j2Pvo!ir(v*Ty<)Y`&#M;Vezr*VXVy!gf!WwW56^B3wq|n)y3q9n9q3Ex!6XQ~si&%6uvK z4VzQUQ{A{q8ts6h!u|sW`hhPwJ-?Km!|gX^^x!{U)vAl{_}WJ&h+^9^e>L|^I99M- z$9VchDIwCt{~`Z3wUE7_!sUFbgQrQpc^T2U{otkz)xqP24B5M?`Clj0NZ~s%3G(KKAK7N# zUfrEG-48zSi5n|KSm&!3-izYo_vXB)z$S4QPi?=Cb2EWj(N*MUsO{D;r7_pJt8Z0V zD6+BQShL`(7iVt4uY^xe>9UfDeh51%k`z~q!Ze@qFWz+6+88bN1xa(kGcmMY_@YO* zMf_HSI3wL~*~63&1{>RPHJql<>Fn6WtVfebj zi2RkQ#66^izNxbF_kBZ3@4!8&btGIkBfF-`EOe=EYAUowx;t>}W|!m3c6{962>S+6 z(u9)WoET&7*8Lm0(Aa80o&;^nB{fvWiR^YV3~CXTC=F@Crnm?A+B zg7xZ&rrIU39Kr4S<&8N?z{FbyQ$2)kdV*eup->JXA>gp{;mc$rg*R#KA3VCamRRDJ z^^06=&|k;%7*XImo*io<%)|FY$-O0T)mngi8BS5Vb$dIZqiwPdZYCwEQAhc0(z%My+1#t|{`H7XB-F7iKp7xp=bz<}lKlNx3BaGKyu3PNKa<_lXS_v~e<(8>; zleOr0`tBLivGhGLv3W7QSouizd!_7A8p))Gknw|q3E}!vj?zIwKs)Vth$&^x+VTh| zAhwzNjYHII)NovCh=%@u*7%2B%xHI~oZY?EzmNXI#S?d83NR`ReFNXUu&~Mn`nfM6 zIz2Y=+96>xTl8|Xu$uC@cnR9?Sfu4TAE3bEv-bo_Y#)^Lbm@<%pI?4Fajp0RO?4TY zl2lc2kYzVH58?-=XE(W+I7M-N+}Ik_e21HWFpC6{QxPi9cKn#WA47Z}XMvsYu2>-W+!C~E&iWxw#dFRDM} zkGb$~kc5|5&NIeNj)whFKH_zj6N!~t!mgY^TSJL8HZaF~GmI_eA`gO3h`?l`9ZY{| z9sUTEf$>rrS^lX6t)5%MkE;(-IokZnZzf_}F~w(MUtt*nyavZ4A`BvXf7_j!uZbJ- zhz+rzsl8#r*f`iYqGRF0^K#CHcyA395C%&IlX3fJ$; zICN^26chNbxzEsxr8#Xol0z-UO6iTc-8LqpJ7JN=5J#ftOaGit+HW6 ztTK}lh+W{<_F5`0&@ORDh0Bb@0sn4>GZ_;v;%7g0y(vpnO#_+)rri_O;D{HzMzp!7~$$8o#nVJeumvhN&y#d|o0M1J9`h+7f{$tb>IHUch zf%1Y&LhRTJfTZ7kHZi2#@p?d6MuGu!z?I!w@F+*hQ$|Mc>1_^Oh&}}kQ)O-TMY^c< z!q^eX%DIn53GYZ(V%s$0Ivdp9QPFX`&|JV_w?*094Jk5W`%Wx{aXS<4`}kkZ9KVk< zV%h5ed*9lGj{r{wjiN6JWAFu%Y!w5`C2nnwt%JBfc^J3IqI0 zurFOue5|FSVO0u9FUR^C0b>TcUm3k_HC~NR_$My$REI$gioVV&&@z=N^#1x&plT@z z{U#}y=IE(h^%Q20f*TCw?T2};%c=9|m0P%CprDFQ@(I{`HT!JcZ=z2zpiyHXr+AifsV8PR`_ zvjKj?L*LvAo}?$ThF-foK(^WDV1yP4;9DmDY#7HFMGk!@c!cRL8sN_<&4C3nh4I4UX+2y_!rPl^aR|@)o`vFSKi~E|NYmhOX_P@Eh@lwoPYpNzL zkuQy?cb1!ZseXU9h$QTi6?u=3ftV;1*nyNGK^q_MflY*FeL6HQq-l5B&h%)ycdnlm zfRQ02nfF1n*khfqRewxtxeLE3y&$zoOcc7cNqltsrngh6Dp%~jeXn&GEa%maPD~=+@^P_my)e_R@(&3>|WWQV9c2ql^!~&MR&)A+~rUhQ_N^>$lpfEUqz(A-) zJJ9?8ikRc0K)S^f{$!gJt-Czu4yx8}q&{+yG;Ea(A{lsQ*^vbXf}ap+Jsud3{I|aV z-x?3BDA3VSk`qk^xmw5J996>%OvQSbPMM$}1*~EOX_cEUj*sZtkwliR8WCQ$){csQ zcq^^&wA*aG%M&)*sCz#Mx7d~*9Y27M-$QTn_joWaQQWsJZM=2$jAqm1ii zoJ~MQ`?W7pT4q(asAb{I75USz*>|SetG_O6v3;8XeVMRbiQaH4>bNiM;Eh6TP~dTt zyfKH+Hx`Szi$cjaDT1w3%w-ps0gM4Fl}Q1I{~gR!{ z#Ym@Yv@~+#>6Xi~1br=)^X&o-A>WoT25k0R=tYdRJ-do@ig9+5+furwPl+8wt|Yw( z^W7g6NnzdpOL+030?b2wUEde^bphV>P8_gx=f{!@01lBYGX<0228Pe#E4l}mu0dPB zj(i)}-`}upNsZc^oaWXXo(#wpL$bq<{6TJ9EK4q*P(yu*ClOf9itwS&g}F+M<`F*g z%b?v+q^lgmSBxd*M#G1t)14R~ILX=vg=rf*TnZe{Y;o*wwqI+2P|VSlvA_bA!_P2Y zZ7Bn-hLXJ-lqphGJ6L%dB&D{(r zF+S!})>zCuwaD{}F!cF0Wyjqt(hXgimZpp#YA{}C6c=-6_OxE@TS`@qG8GUdw=dxs zgOgcv0;78Hgx5F^A82fxQGT4h%#hHlFy`OwI^yHR3_PgyU3HMo<@(>FmwC9>mAf#L z2sH<&evYM+W9IuVMS!{jOjO^6s{BqjbZMYHb-U1(pIUTz)JxJ?k7>?)S}d3&i?Zu0)$#=aEj;?Y2hu@LY7bPU;g>H7BS{yJa=uX&~+CSV~Eh-UiuPpdpCV`OEwqoX8M zjDCbc&jy4$EgyZjg6nnd$Bw6e)s%;^H+ijqV9hEmvYCvPD0zl<= z@Dxic;|CBwQ#HJ zb*uEy13P{@&-f!+`bJ|h_ZrR4l4QU}*dsOYatd}>j{m6fnNQvm(U1TCIIwZ*6EM?+&0A0qZFowrk3=*Av@`=*vWSL)*TKS^t)q?&Qmd$5R;2ZPxa)%DVzQ z5trNGTZRJx>8(Zd&9=Se^`x2Z_3e-XtpEw5G%uE1IJ%%eL1>JQ3^ZvW18d@4(+H*h zq#=cGKvOCqV9fiIYtcGgX?kgzSO=@BKa1(_`5V5P6=wWs>sJxeob2W@5JmB$KsXp- zc#%B2lOo>|MO7tD{8ELX|1i`cK@Y=3p$X8_M)jG7o)kWE4gHC|e6JY9G0N>5+ z>Q@jFi0J`_=cCfh9yc|X>XG@RfS|d_)lmrce4}U(apTHs!{NVfPBObs!VI4BomBrQ zP-*7PzZ9AJ$iAc$Ap`T0cbUYp0|BkHk9efCG%4U-YT+p)6}3KKNz9q=0%{C%t&b<~ z4M;UVMzLbwrv`_sQU2sni-@YZ?!GG=56c0n#P;W!oJ?na?ovquz6ReA(K36Vk<(Jw z)yN$b`k?O4FU-kQ!rwu{bSQECF|RsRdUw!;22^^R3%O$^?iV=Pq z{KqKtiKD+Gk=Vnum;ciOSc_nhPuf7vIET7&WR}T`QYa6d?xj#yV|fQYl|hc zqsz3zDnLMjU!P}I);ax+apV@?sm2z7mfX=8I+bsaUG}X$Z$G0sWeSmAG=&h zJPxfQ%tm@B*`}tkD8`UB2iGDW7lEk$bbw7yvA?_Zf6Pg2yz&)X&(}>eezPNa*ke9) zNIzGI`TULn<*(e-S}D8lRC0*m2s`G`#v!Ipw>Q{wP)N%K z>7Gk$B+mu#GLu$mo$rL!ZrP-U}L+3_i;NW%YIKhPY*^9sDNn-6_jka zooPu5o%8LoO``+Dt)(+?p4+Z5?cm$~@)Hd;J|G&>)x_vlq!HTEcYOUIID_Eh(htLF zLXSabtNbyKn6#DdsI&kcnPfoM0H)D%n{}`Fo}}10fWz1kvH3f}cL!vCX{0W$P_DO= zd;vQqhgGh~598^`-TMED4*Xka@Rai-lL(JD=!`$PrqEOeg57ey=Zy=)VlLaexAYp> zC+KPSzwU|6FbO&$fb*bFeUL{Cg(93$h-#8h_nEs)BkfuIt=F=5Uw0vrE@3-K@afj; zmq@SBB@>QQu)hM)fwJ`RXJi_s%6pcj6It{LoFll`NP|CkBCg0n(ogH6eDR_U6#`!j z=;bMDKzGY(w5Z903Om(9Z~IH=8>j8V&QCeQuHnc$^i^ISY{tuP+pZ9C*(13a(2T}_ zR8>s&OK%7wAASP0{U_`)8krWdou-98{z{@bb{)=G%u2PcfJwB`5PAaDzBxx#@_uJb zmx1SoY!6$Ch8%N*OrGZRUwzpwSv+DuD$AZ%drg1RMM@BxCuBvc8)9lL%%5JM_XD;03`f2lrUAg6rOD=ii+T+RvaG_@X zy1mN|7pjjrW#8EV@&8sfD&K`M$S8P9uINa&=w0eQy*wnVYLU((;napm0xR?=%Z99< z3u1|eA<0OFCyk>yGUdYV?{C7EJ6Q$O;aWWOhC33g2UwoFR$GT|YlKTaJWm7ZM;|T_ z%9#=Tsx)Z&!Smj|jmIc({Ntilws9Tjw)I8uCH`&D{(>6#Zwm)vzOA;eRN&F)f@|>m ztW8)7u|~G?>%u10y%x{2!Q;Gw6U_F`wLqLqd}L)$kS=c{#vC)jOZL$Z<|+>1H{l1j zF&Rup?u(Uv`+pFtSf%Dq7KKSKJVM#Ry+L(1wB`lhnDDXJl@Xi%lr>fUbqieUK$Hj` zE_o=E=~R?F1p{G;dpkx>9dMlAQ%nk5PdNtu3i6@;dFhb=Z1*>1K_R23x74>=b(gsp z8m0WfopmQZ=*2q2sr&7JW7$-)7gpLhp(`Bl`Ho{J!UoMW_pK5D|9pZ!u+}-lucAb8N%Z3DMr`#pUo;?Ud)FGFM?ct8S z;maHT`xSoNd(=rl9yFvI8bYqP6gxZj#*|MWM5cUA$9S$|u0*D=uBZ*X^wh6u_>{;B zeTLjckD(v7?)rt=H~R%Vy-l;1vT3fMfT$+;H?%DH1Rghp?w;m#oJhh8o`Ix)iqtZ4 zKLOR%9CFj(!?I$2iFddw(Y=F>mU}A8ZkEe-<3l43PI{yD!_guq2B$9d*}}H7{vrQO znM>xL{{c`>8phl#bb!|5l*;c}vWLI=#;8Lks5LJ-(06cqnUjpoG@bmcF3#yxvZdx- zh^1=ZMH=)dPjgy&rFmN#6*_i$JS2QxE%d3A?ovZW2beR!8+Q8}7P3682QcBl=2!4? z1(Po0JRN(#SVa0kQkD`ESjE+q zqs8tldrIY#_PKe49qgGa1`~SoB*Nc8QGV;yglO@JZZh7-T^-!s?cJoFNQba4Z2y+~ zNO%0Y;aF^LvP1kYK>has4{`x!F;S8uRE#Q9v5O$p1MOh>t2Ryw=Ha80ut07%h{eQ` zwJBA;^zu!moXQ*~gm2^I1L9gMPDV~x8rwF+C|ic?nu|hS8O8U6PQMADQ`0TyZ+U4ags7NhXqj8^=cpmP8n&3$8G+c0%<19=IP8k zs|pSs0I||u(?S6>21JbMt>gQTr-fdfCcB}>kUO&NUd`Llp|+-h`@8Tco(nCWvHRR@ zPV<<1vnIl}lMrOr#Lw-+0!9goqhIzKs324eoVso43YoQV`kp-X=5N1LVBl#1L|XbD zPdh#IYuRF=|7pRjU<4f{;2wvL@w`H>Tivg3EAoeW@StjCcWaB_Vbgw^c{+G_M*%a) z4yVBRT?*gBAgp#buU^VixywbYKJ+~b9eVw*<}bSCA&$3a3EZu8FWldD*5=*qZA-6f z)g7H|=bbwup&_eKt&WSEjm)_?ugt>ExxNERn60LVK@cdp5YQG3F*(dKfcY@C@-k&2o zJ#RWT?L#-}+7zDVgQB_sHIm;@naxxTvu^+}2nVNa)|+e=)syr6+KeQD*UHo60-H*r zN__uihX`@B>PK^E>zb`I{qz(@9YQ(|v-}kB`Ps2x^;!hToC9z8HlFq+ejw&U4S2h8 zO4o6fWd^=Ck&y<7wWp0_YHij%i1=Zw9%iV{XNNg9XIPU*o@F<>-)RoX4e&3@ll7J# z^6}m9k>9?*oD8)cD5g59eMyk$XOs(Gv%KRD3Xti-(WyUrBAG2t@Gf!FFR=OWV|b9) zHfl)BvcK_UOD3A^FECouMLlPx+~TP2FW=Tp4sy2T;L~NQq92#T0un%VLJ`0HjtD$> z1cWKoNe&4VVUH)wmtWykexV{Nvzw1^W&NDj^tL|vwo;D_63$^Nm9oHQ95H;GE^F-=_~5x!yoG@ZJb zpYccug3C()!D{6Ky>0{_^Hl}=h)ENqrVU|OU(|)57PgDbbb#Q&$PVx8RJWT1$Nf80 zo@?-gdeKj-K+0R3qNo;galU<7vGN01DTY#r^3||*&}7}FS*{8eBJpmEpa|Nr9Unh> zPmmiD;&^s{#EA9?++DnzKfPOL$$QxK0hsCKL~MQ)xQea3{;`ePVW{t?yHJ)|c~qB+ zJ|wUb3)w{G_O%i(p61=_Gno0GoenMDv~Ammp4-Er?c18jRmO`(HNDGW>D`$K_U?o$Hm$(6q6FP_i z&$}Hs=yVmCebnkr{n-MOXC323jHC>CU zrTox`g~OQ*tfb+rH>`l<^nKPQZ}G*CaKV1#mCa(1rUMVbE+TZl@WON-Q7bn4( zx+^U&4M2IXJY;dnp>Gu~%~C`xQz=71hW;>1a@oj>#(^xLE^nz(rtW;0Y?1fWFk8oL z8UIoW)VO2&OExz0X9q%DYtp7nHU)DsSx&wRF^<`a=rjFrn{%cvLm_0nj=fb|BZru` z#OtMlU_bCM-s?s(peWjW2L^uQA-;gb9s)3GRWnG4cZv%?E(OPWxh>#%oshIG|J^8fME1OZKNoV=*nb?X4P0%?Y>Fez7O$ta-F6pGhKTU<8s*x4 zd_hU0qeDNKBI5IIQWTcIzC0hs|0G*>-@fy*@^w3yO+BE`FAT~-;15U@uiU!*h+&9% zaoD6Be(n}@oRl$6!c3ZHxPbY9DoP0sZC>BxqHbhlNJwCbrHh=awFd!XRA9g@+=}Z- zcLQbKf^O`WBXK|aze7Y_O%LF$Y&$smd3FLd0&AdMe)4~T`EL!eUNz-n05&IfS>P0= zP67k(+ng$z-URO1FzWknh@DVL9ULWQE!=K2XrLcBhI*D;>W6X((p=){v0wTwQlKir z1{Xu_i!_D_t`^3ypdN-T5BG3PauS4%AHu#EW8W zWu41h$jw`o=)hR(?x%y|qEMA>no+k$)n23>r;s#)1J_Qc6m;#=ONOO0Ol4ZXC#JSIUiiORj~1v6l|r*=4zrKh{Y`tP zJ6ewM5r5Fi+yoDI%x*Wf-R{rb;ON689Bp(t@3sGh0V5D%d|z21alhWpSi}O*s-P_Y z-3@lV7Wx9*t2%~-ZAFLq&sb62h7_s*c_R16>+tZa z9$;?u^;cBu5P`K!DTMC!+6az(1`T$--er{cUoLK3o?SHc=kp&OdxnQEcR=Q*j`y&hHqNFx9_mg1RC5Sg@ z;cI9_knG}6gXcR4;Mh>j>j|6|l!C4s`2|)x8~{=he{HymF0;`Mmbc#3GMq5NdK}}> zEazQ&1Uoj>iElDf+4{%j>1Yvs514(yafT%0SyjC47Cr04LM;!L#U5yHTVX<2H#U5u z>$CmRksKlcJ71)AO)EbFWNa}*H}S)14TqAj7lZRDcM+o{@ZoIp

;V(fJr?rCZyE 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

8Fe>~yEI(R>44$M*Wc@#X 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'jX1YfL#eaW>~?Q?3X!OcjHk*eSN-LE_!qyM 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

EN|| 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 z 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 Ef+L%3A^-pY diff --git a/assets/branding/screenshots/subtitle_options.png b/assets/branding/screenshots/subtitle_options.png deleted file mode 100644 index 29442c110ae2a4bb29694efca4047cd80d21687e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 834556 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≺}Vz#$J3_C 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�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

X`Y& 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⁢0!WwQ2G|O4GA_j%wg5XC||JV}@L@j64 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 z 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%0AO+ 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

- - - - From 217c03379eed9d63c5d75ef6e91652fae9c4cd40 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:30:15 +0200 Subject: [PATCH 380/568] Add ytsage_stylesheet.py to project structure in README Updated the README to include the new ytsage_stylesheet.py file under the YTSage GUI directory, reflecting the addition of stylesheet definitions to the project. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 841153e..bf4a712 100644 --- a/README.md +++ b/README.md @@ -397,6 +397,7 @@ YTSage/ │ ├── 📄 ytsage_gui_format_table.py # Format table functionality │ ├── 📄 ytsage_gui_main.py # Main application window │ ├── 📄 ytsage_gui_video_info.py # Video information display + | ├── 📄 ytsage_stylesheet.py # Stylesheet definitions │ └── 📁 ytsage_gui_dialogs/ # Dialog classes │ ├── 📄 __init__.py # Dialogs package init │ ├── 📄 ytsage_dialogs_base.py # Basic dialogs From 02ede913d2bb3fb086394dc40c17afef6317c6e8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:50:24 +0200 Subject: [PATCH 381/568] Refactor analysis to use QThread for thread safety Replaces the use of Python's threading with a dedicated QThread-based AnalysisThread for URL analysis, ensuring all UI updates are performed via Qt signals for thread safety. Adds cancellation support for analysis, improves error handling, and updates the main window's close event to properly terminate the analysis thread if running. This refactor enhances stability and responsiveness of the GUI during analysis operations. --- src/gui/ytsage_gui_analysis.py | 523 ++++++++++++++++++++------------- src/gui/ytsage_gui_main.py | 9 + 2 files changed, 325 insertions(+), 207 deletions(-) diff --git a/src/gui/ytsage_gui_analysis.py b/src/gui/ytsage_gui_analysis.py index 06463a7..b1bcaa2 100644 --- a/src/gui/ytsage_gui_analysis.py +++ b/src/gui/ytsage_gui_analysis.py @@ -1,9 +1,8 @@ -from typing import TYPE_CHECKING, cast +from typing import TYPE_CHECKING, Any, Dict, List, Optional, cast import json -import threading import subprocess -from PySide6.QtCore import QMetaObject, Qt, Q_ARG +from PySide6.QtCore import QMetaObject, Qt, Q_ARG, QThread, Signal from PySide6.QtWidgets import QMessageBox from src.core.ytsage_utils import validate_video_url, parse_yt_dlp_error @@ -15,9 +14,256 @@ from src.utils.ytsage_logger import logger if TYPE_CHECKING: from src.gui.ytsage_gui_main import YTSageApp + +class AnalysisThread(QThread): + """ + Thread-safe QThread for URL analysis. + All results are passed back via signals to ensure thread safety. + """ + # Signals for status updates + status_update = Signal(str) + + # Signals for playlist UI + playlist_info_visible = Signal(bool) + playlist_info_text = Signal(str) + playlist_select_btn_visible = Signal(bool) + playlist_select_btn_text = Signal(str) + + # Signal for analysis results - passes all data at once + analysis_complete = Signal(dict) + + # Signal for errors + analysis_error = Signal(str) + + # Signal when thread finishes (success or failure) + analysis_finished = Signal() + + def __init__( + self, + url: str, + cookie_file_path: Optional[str] = None, + browser_cookies_option: Optional[str] = None, + proxy_url: Optional[str] = None, + geo_proxy_url: Optional[str] = None, + parent=None + ) -> None: + super().__init__(parent) + self.url = url + self.cookie_file_path = cookie_file_path + self.browser_cookies_option = browser_cookies_option + self.proxy_url = proxy_url + self.geo_proxy_url = geo_proxy_url + self._cancelled = False + + def cancel(self) -> None: + """Request cancellation of the analysis.""" + self._cancelled = True + + def run(self) -> None: + """Main thread execution - performs URL analysis.""" + try: + self.status_update.emit(_("main_ui.analyzing_extracting_basic")) + + url = self.url + # Clean up the URL to handle both playlist and video URLs + if "list=" in url and "watch?v=" in url: + playlist_id = url.split("list=")[1].split("&")[0] + url = f"https://www.youtube.com/playlist?list={playlist_id}" + + self._analyze_url_with_subprocess(url) + + except Exception as e: + logger.exception(f"Error in analysis: {e}") + self.analysis_error.emit(_("errors.generic_error", error=str(e))) + self.playlist_info_visible.emit(False) + self.playlist_select_btn_visible.emit(False) + finally: + self.analysis_finished.emit() + + def _add_auth_options(self, cmd: List[str]) -> None: + """Add authentication and proxy options to command.""" + if self.cookie_file_path: + cmd.extend(["--cookies", str(self.cookie_file_path)]) + elif self.browser_cookies_option: + cmd.extend(["--cookies-from-browser", self.browser_cookies_option]) + + if self.proxy_url: + cmd.extend(["--proxy", self.proxy_url]) + + if self.geo_proxy_url: + cmd.extend(["--geo-verification-proxy", self.geo_proxy_url]) + + def _analyze_url_with_subprocess(self, url: str) -> None: + """Analyze URL using yt-dlp executable.""" + if self._cancelled: + return + + yt_dlp_path = get_yt_dlp_path() + if not yt_dlp_path: + logger.error("yt-dlp executable not found. Please install yt-dlp first.") + self.analysis_error.emit(_("errors.ytdlp_not_found")) + self.playlist_info_visible.emit(False) + self.playlist_select_btn_visible.emit(False) + return + + self.status_update.emit(_("main_ui.analyzing_extracting_ytdlp")) + + # Build command for basic info extraction + cmd = [yt_dlp_path, "--dump-single-json", "--flat-playlist", "--no-warnings", url] + self._add_auth_options(cmd) + + logger.debug(f"Executing yt-dlp command: {cmd}") + + try: + result = subprocess.run( + cmd, capture_output=True, text=True, timeout=300, + creationflags=SUBPROCESS_CREATIONFLAGS + ) + except subprocess.TimeoutExpired: + logger.error("Analysis timed out") + self.analysis_error.emit(_("errors.timeout")) + return + + if self._cancelled: + return + + if result.returncode != 0: + logger.error(f"yt-dlp failed: {result.stderr}") + self.analysis_error.emit(_("errors.ytdlp_failed", error=result.stderr)) + self.playlist_info_visible.emit(False) + self.playlist_select_btn_visible.emit(False) + return + + json_lines = [line.strip() for line in result.stdout.strip().split("\n") if line.strip()] + + if not json_lines: + logger.error("No data returned from yt-dlp") + self.analysis_error.emit(_("errors.no_data_returned")) + self.playlist_info_visible.emit(False) + self.playlist_select_btn_visible.emit(False) + return + + try: + first_info = json.loads(json_lines[0]) + except json.JSONDecodeError as e: + logger.error(f"Failed to parse yt-dlp output: {e}") + self.analysis_error.emit(_("errors.parse_failed", error=str(e))) + self.playlist_info_visible.emit(False) + self.playlist_select_btn_visible.emit(False) + return + + if self._cancelled: + return + + self.status_update.emit(_("main_ui.analyzing_processing_data")) + + # Prepare result data + result_data: Dict[str, Any] = { + "is_playlist": False, + "playlist_info": None, + "playlist_entries": [], + "video_info": None, + "all_formats": [], + "available_subtitles": {}, + "available_automatic_subtitles": {}, + "thumbnail_url": None, + } + + if first_info.get("_type") == "playlist": + result_data["is_playlist"] = True + result_data["playlist_info"] = first_info + playlist_entries = first_info.get("entries", []) + result_data["playlist_entries"] = playlist_entries + + if not playlist_entries: + logger.error("Playlist contains no valid videos.") + self.analysis_error.emit(_("errors.playlist_no_videos")) + self.playlist_info_visible.emit(False) + self.playlist_select_btn_visible.emit(False) + return + + # Fetch full info for the first video to get formats + self.status_update.emit(_("main_ui.analyzing_fetching_first_video")) + first_video_entry = playlist_entries[0] + first_video_url = first_video_entry.get("url") + + cmd_single = [yt_dlp_path, "--dump-single-json", "--no-warnings", first_video_url] + self._add_auth_options(cmd_single) + + try: + result_single = subprocess.run( + cmd_single, capture_output=True, text=True, timeout=60, + creationflags=SUBPROCESS_CREATIONFLAGS + ) + if result_single.returncode == 0: + result_data["video_info"] = json.loads(result_single.stdout) + else: + result_data["video_info"] = first_video_entry + except subprocess.TimeoutExpired: + result_data["video_info"] = first_video_entry + + if self._cancelled: + return + + # Update playlist UI via signals + playlist_text = _("playlist.display_format", + title=first_info.get('title', _('playlist.unknown')), + count=len(playlist_entries)) + self.playlist_info_text.emit(playlist_text) + self.playlist_info_visible.emit(True) + self.playlist_select_btn_text.emit(_("main_ui.select_videos_all")) + self.playlist_select_btn_visible.emit(True) + + else: + # Handle single video + result_data["is_playlist"] = False + result_data["video_info"] = first_info + result_data["playlist_entries"] = [] + result_data["playlist_info"] = None + + # Hide playlist UI + self.playlist_info_visible.emit(False) + self.playlist_select_btn_visible.emit(False) + + # Verify we have format information + video_info = result_data["video_info"] + if not video_info or "formats" not in video_info: + logger.error("No format information available") + self.analysis_error.emit(_("errors.no_format_info")) + self.playlist_info_visible.emit(False) + self.playlist_select_btn_visible.emit(False) + return + + self.status_update.emit(_("main_ui.analyzing_processing_formats_ytdlp")) + result_data["all_formats"] = video_info.get("formats", []) + + # Get thumbnail URL + self.status_update.emit(_("main_ui.analyzing_loading_thumbnail_ytdlp")) + playlist_info = result_data.get("playlist_info") or {} + thumbnail_url = playlist_info.get("thumbnail") or video_info.get("thumbnail") + result_data["thumbnail_url"] = thumbnail_url + + # Handle subtitles + self.status_update.emit(_("main_ui.analyzing_processing_subtitles_ytdlp")) + result_data["available_subtitles"] = video_info.get("subtitles", {}) + result_data["available_automatic_subtitles"] = video_info.get("automatic_captions", {}) + + self.status_update.emit(_("main_ui.analyzing_updating_table")) + + # Emit all results at once + self.analysis_complete.emit(result_data) + + class AnalysisMixin: + """Mixin class providing URL analysis functionality for YTSageApp.""" + + # Track the current analysis thread + _analysis_thread: Optional[AnalysisThread] = None + def analyze_url(self) -> None: + """Start URL analysis in a background thread.""" self = cast("YTSageApp", self) + if self.is_updating_ytdlp: QMessageBox.warning(self, _("update.update_in_progress_title"), _("update.update_in_progress_message")) return @@ -33,225 +279,88 @@ class AnalysisMixin: QMessageBox.warning(self, _("main_ui.error_title"), error_message) return + # Cancel any existing analysis thread + if self._analysis_thread is not None and self._analysis_thread.isRunning(): + self._analysis_thread.cancel() + self._analysis_thread.wait(1000) # Wait up to 1 second + # Reset analysis state and disable controls self.analysis_completed = False self.toggle_analysis_dependent_controls(enabled=False) self.signals.update_status.emit(_("main_ui.analyzing_preparing")) self.is_analyzing = True - threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() - def _analyze_url_thread(self, url) -> None: + # Create and configure the analysis thread + self._analysis_thread = AnalysisThread( + url=url, + cookie_file_path=self.cookie_file_path, + browser_cookies_option=self.browser_cookies_option, + proxy_url=self.proxy_url, + geo_proxy_url=self.geo_proxy_url, + parent=self + ) + + # Connect signals to handlers + self._analysis_thread.status_update.connect(self.signals.update_status.emit) + self._analysis_thread.playlist_info_visible.connect(self.signals.playlist_info_label_visible.emit) + self._analysis_thread.playlist_info_text.connect(self.signals.playlist_info_label_text.emit) + self._analysis_thread.playlist_select_btn_visible.connect(self.signals.playlist_select_btn_visible.emit) + self._analysis_thread.playlist_select_btn_text.connect(self.signals.playlist_select_btn_text.emit) + self._analysis_thread.analysis_complete.connect(self._on_analysis_complete) + self._analysis_thread.analysis_error.connect(self._on_analysis_error) + self._analysis_thread.analysis_finished.connect(self._on_analysis_finished) + + # Start the thread + self._analysis_thread.start() + + def _on_analysis_complete(self, result_data: Dict[str, Any]) -> None: + """Handle successful analysis completion - runs in main thread.""" self = cast("YTSageApp", self) - try: - self.signals.update_status.emit(_("main_ui.analyzing_extracting_basic")) + + # Update instance variables with results (safe - we're in main thread) + self.is_playlist = result_data["is_playlist"] + self.playlist_info = result_data["playlist_info"] + self.playlist_entries = result_data["playlist_entries"] + self.video_info = result_data["video_info"] + self.all_formats = result_data["all_formats"] + self.available_subtitles = result_data["available_subtitles"] + self.available_automatic_subtitles = result_data["available_automatic_subtitles"] + self.selected_playlist_items = None + self.selected_subtitles = [] - # Clean up the URL to handle both playlist and video URLs - if "list=" in url and "watch?v=" in url: - playlist_id = url.split("list=")[1].split("&")[0] - url = f"https://www.youtube.com/playlist?list={playlist_id}" - - # Always use subprocess to call yt-dlp binary (Python package removed) - self._analyze_url_with_subprocess(url) - - except Exception as e: - logger.exception(f"Error in analysis: {e}") - self.signals.update_status.emit(_("errors.generic_error", error=str(e))) - # Ensure playlist UI is hidden on error too - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - finally: - self.is_analyzing = False - - - def _analyze_url_with_subprocess(self, url) -> None: - """Analyze URL using yt-dlp executable when Python module is not available""" - self = cast("YTSageApp", self) - - try: - yt_dlp_path = get_yt_dlp_path() - if not yt_dlp_path: - logger.error("yt-dlp executable not found. Please install yt-dlp first.") - self.signals.update_status.emit(_("errors.ytdlp_not_found")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - self.signals.update_status.emit(_("main_ui.analyzing_extracting_ytdlp")) - - # Clean up the URL to handle both playlist and video URLs - if "list=" in url and "watch?v=" in url: - playlist_id = url.split("list=")[1].split("&")[0] - url = f"https://www.youtube.com/playlist?list={playlist_id}" - - # Build command for basic info extraction - # Use --flat-playlist for fast initial extraction of playlist info + --dump-single-json - # This fetches minimal info for all videos quickly without downloading full details for each - cmd = [yt_dlp_path, "--dump-single-json", "--flat-playlist", "--no-warnings", url] - - # Add cookies if available - if self.cookie_file_path: - cmd.extend(["--cookies", str(self.cookie_file_path)]) - elif self.browser_cookies_option: - cmd.extend(["--cookies-from-browser", self.browser_cookies_option]) - - # Add proxy settings if available - if self.proxy_url: - cmd.extend(["--proxy", self.proxy_url]) - - if self.geo_proxy_url: - cmd.extend(["--geo-verification-proxy", self.geo_proxy_url]) - - logger.debug(f"Executing yt-dlp command: {cmd}") - - # Execute command with hidden console window on Windows - result = subprocess.run(cmd, capture_output=True, text=True, timeout=300, creationflags=SUBPROCESS_CREATIONFLAGS) - - if result.returncode != 0: - logger.error(f"yt-dlp failed: {result.stderr}") - self.signals.update_status.emit(_("errors.ytdlp_failed", error=result.stderr)) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - json_lines = [line.strip() for line in result.stdout.strip().split("\n") if line.strip()] - - if not json_lines: - logger.error("No data returned from yt-dlp") - self.signals.update_status.emit(_("errors.no_data_returned")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - try: - first_info = json.loads(json_lines[0]) - except json.JSONDecodeError as e: - logger.error(f"Failed to parse yt-dlp output: {e}") - self.signals.update_status.emit(_("errors.parse_failed", error=str(e))) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - self.signals.update_status.emit(_("main_ui.analyzing_processing_data")) - - if first_info.get("_type") == "playlist": - # Handle playlist - self.is_playlist = True - self.playlist_info = first_info - self.selected_playlist_items = None - self.playlist_entries = first_info.get("entries", []) - - if not self.playlist_entries: - logger.error("Playlist contains no valid videos.") - self.signals.update_status.emit(_("errors.playlist_no_videos")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - # Even with flat-playlist, we need one video's formats to populate the table. - # Just use the first video URL to get full details quickly. - self.signals.update_status.emit(_("main_ui.analyzing_fetching_first_video")) - first_video_entry = self.playlist_entries[0] - first_video_url = first_video_entry.get("url") - - # Fetch full info for just the first video to get formats - cmd_single = [yt_dlp_path, "--dump-single-json", "--no-warnings", first_video_url] - # Add cookies & proxy to this single request too - if self.cookie_file_path: - cmd_single.extend(["--cookies", str(self.cookie_file_path)]) - elif self.browser_cookies_option: - cmd_single.extend(["--cookies-from-browser", self.browser_cookies_option]) - if self.proxy_url: - cmd_single.extend(["--proxy", self.proxy_url]) - if self.geo_proxy_url: - cmd_single.extend(["--geo-verification-proxy", self.geo_proxy_url]) - - result_single = subprocess.run(cmd_single, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) - - if result_single.returncode == 0: - self.video_info = json.loads(result_single.stdout) - else: - # Fallback to whatever minimal info we have, might fail table population - self.video_info = first_video_entry - - # Update playlist info label - playlist_text = _("playlist.display_format", - title=first_info.get('title', _('playlist.unknown')), - count=len(self.playlist_entries)) - - self.signals.playlist_info_label_text.emit(playlist_text) - self.signals.playlist_info_label_visible.emit(True) - - # Show playlist selection button - self.signals.playlist_select_btn_text.emit(_("main_ui.select_videos_all")) - self.signals.playlist_select_btn_visible.emit(True) - - else: - # Handle single video - self.is_playlist = False - self.video_info = first_info - self.playlist_entries = [] - self.selected_playlist_items = None - - # Hide playlist UI - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - - # Verify we have format information - if not self.video_info or "formats" not in self.video_info: - logger.error("No format information available") - self.signals.update_status.emit(_("errors.no_format_info")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - self.signals.update_status.emit(_("main_ui.analyzing_processing_formats_ytdlp")) - self.all_formats = self.video_info["formats"] - - # Update UI - self.update_video_info(self.video_info) - - # Update thumbnail - self.signals.update_status.emit(_("main_ui.analyzing_loading_thumbnail_ytdlp")) - # Try to get thumbnail from playlist info first - # Fallback to video thumbnail if playlist thumbnail not found or not a playlist - thumbnail_url = (self.playlist_info or {}).get("thumbnail") or (self.video_info or {}).get("thumbnail") + # Update UI components (safe - we're in main thread) + self.update_video_info(self.video_info) + # Download thumbnail + thumbnail_url = result_data.get("thumbnail_url") + if thumbnail_url: self.download_thumbnail(thumbnail_url) - # Save thumbnail if enabled - if self.save_thumbnail: - self.download_thumbnail_file(self.video_url, self.last_path) + # Save thumbnail if enabled + if self.save_thumbnail: + self.download_thumbnail_file(self.video_url, self.last_path) - # Handle subtitles - self.signals.update_status.emit(_("main_ui.analyzing_processing_subtitles_ytdlp")) - self.selected_subtitles = [] - self.available_subtitles = self.video_info.get("subtitles", {}) - self.available_automatic_subtitles = self.video_info.get("automatic_captions", {}) + # Update subtitle UI + self.signals.selected_subs_label_text.emit(_("main_ui.zero_selected")) - # Update subtitle UI - self.signals.selected_subs_label_text.emit(_("main_ui.zero_selected")) + # Update format table + self.video_button.setChecked(True) + self.audio_button.setChecked(False) + self.filter_formats() - # Update format table - self.signals.update_status.emit(_("main_ui.analyzing_updating_table")) - self.video_button.setChecked(True) - self.audio_button.setChecked(False) - self.filter_formats() + self.signals.update_status.emit(_("main_ui.analysis_complete")) - self.signals.update_status.emit(_("main_ui.analysis_complete")) + # Mark analysis as complete and enable controls + self.analysis_completed = True + self.toggle_analysis_dependent_controls(enabled=True) - # Mark analysis as complete and enable analysis-dependent controls - self.analysis_completed = True - QMetaObject.invokeMethod( - self, - "toggle_analysis_dependent_controls", - Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True), - ) + def _on_analysis_error(self, error_message: str) -> None: + """Handle analysis error - runs in main thread.""" + self = cast("YTSageApp", self) + self.signals.update_status.emit(error_message) - except subprocess.TimeoutExpired: - logger.error("Analysis timed out") - self.signals.update_status.emit(_("errors.timeout")) - except Exception as e: - logger.exception(f"Unexpected error in analysis: {e}") - self.signals.update_status.emit(_("errors.generic_error", error=str(e))) + def _on_analysis_finished(self) -> None: + """Handle analysis thread completion - runs in main thread.""" + self = cast("YTSageApp", self) + self.is_analyzing = False diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index be71532..3727b32 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -950,6 +950,15 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def closeEvent(self, event) -> None: """Handle application close event to ensure proper cleanup of background threads.""" try: + # Stop the analysis thread if it's running + if hasattr(self, "_analysis_thread") and self._analysis_thread is not None and self._analysis_thread.isRunning(): + logger.info("Stopping analysis thread...") + self._analysis_thread.cancel() + if not self._analysis_thread.wait(2000): # Wait up to 2 seconds + logger.warning("Force terminating analysis thread...") + self._analysis_thread.terminate() + self._analysis_thread.wait(1000) + # Stop the auto-update thread if it's running if hasattr(self, "auto_update_thread") and self.auto_update_thread.isRunning(): logger.info("Stopping auto-update thread...") From b9b0285e954a901fc008b3f641822322a1e52b32 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:54:08 +0200 Subject: [PATCH 382/568] Refactor config handling to use ConfigManager Replaced direct usage of load_config and save_config with ConfigManager in ytsage_utils.py and ytsage_dialogs_update.py. Removed legacy config functions from ytsage_utils.py to centralize configuration management and improve maintainability. --- src/core/ytsage_utils.py | 83 ++++--------------- .../ytsage_dialogs_update.py | 11 +-- 2 files changed, 20 insertions(+), 74 deletions(-) diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index 2e6c345..6303d69 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -107,9 +107,10 @@ def update_version_cache(tool_name: str, version_info: str, path: Optional[str], def load_version_cache_from_config() -> None: """Load cached version info from config file.""" + from src.utils.ytsage_config_manager import ConfigManager + try: - config = load_config() - cached_versions = config.get("cached_versions", {}) + cached_versions = ConfigManager.get("cached_versions") or {} for tool_name, cache_data in cached_versions.items(): if tool_name in _version_cache: @@ -120,10 +121,10 @@ def load_version_cache_from_config() -> None: def save_version_cache_to_config() -> None: """Save version cache to config file.""" + from src.utils.ytsage_config_manager import ConfigManager + try: - config = load_config() - config["cached_versions"] = _version_cache.copy() - save_config(config) + ConfigManager.set("cached_versions", _version_cache.copy()) except Exception as e: logger.exception(f"Error saving version cache: {e}") @@ -323,57 +324,7 @@ def get_ffmpeg_version_direct() -> str: # get_app_data_dir() moved to src\utils\ytsage_constants.py # get_config_file_path() moved to src\utils\ytsage_constants.py # ensure_app_data_dir() moved to src\utils\ytsage_constants.py - - -def load_config() -> Dict[str, Any]: - """Load the application configuration from file.""" - default_config: Dict[str, Any] = { - "download_path": str(USER_HOME_DIR / "Downloads"), - "speed_limit_value": None, - "speed_limit_unit_index": 0, - "cookie_file_path": None, - "last_used_cookie_file": None, - "auto_update_ytdlp": True, # Enable auto-update by default - "auto_update_frequency": "daily", # daily, weekly, or startup - "last_update_check": 0, # timestamp of last check - "cached_versions": { - "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, - "ffmpeg": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, - }, - } - - try: - if APP_CONFIG_FILE.exists(): - with open(APP_CONFIG_FILE, "r", encoding="utf-8") as f: - config = json.load(f) - # Merge with defaults to ensure all keys exist - for key, value in default_config.items(): - if key not in config: - config[key] = value - return config - except (json.JSONDecodeError, UnicodeError, Exception) as e: - logger.exception(f"Error reading config file: {e}") - # If config file is corrupted, create a new one with defaults - save_config(default_config) - - return default_config - - -def save_config(config: Dict[str, Any]) -> bool: - """Save the application configuration to file.""" - try: - # Convert any Path objects to strings for JSON serialization - def _convert_path(obj): - if isinstance(obj, Path): - return str(obj) - raise TypeError(f"Object of type {obj.__class__.__name__} is not JSON serializable") - - with open(APP_CONFIG_FILE, "w", encoding="utf-8") as f: - json.dump(config, f, ensure_ascii=False, indent=2, default=_convert_path) - return True - except Exception as e: - logger.exception(f"Error saving config: {e}") - return False +# load_config() and save_config() removed - use ConfigManager instead def check_ffmpeg() -> bool: @@ -599,15 +550,15 @@ def update_yt_dlp() -> bool: def should_check_for_auto_update() -> bool: """Check if auto-update should be performed based on user settings.""" + from src.utils.ytsage_config_manager import ConfigManager + try: - config = load_config() - # Check if auto-update is enabled - if not config.get("auto_update_ytdlp", False): + if not ConfigManager.get("auto_update_ytdlp"): return False - frequency: str = config.get("auto_update_frequency", "daily") - last_check: float = config.get("last_update_check", 0) + frequency: str = ConfigManager.get("auto_update_frequency") or "daily" + last_check: float = ConfigManager.get("last_update_check") or 0 current_time: float = time.time() # Calculate time since last check @@ -629,6 +580,8 @@ def should_check_for_auto_update() -> bool: def check_and_update_ytdlp_auto() -> bool: """Perform automatic yt-dlp update check and update if needed.""" + from src.utils.ytsage_config_manager import ConfigManager + try: logger.info("Performing automatic yt-dlp update check...") @@ -659,9 +612,7 @@ def check_and_update_ytdlp_auto() -> bool: if update_yt_dlp(): logger.info("Auto-update completed successfully!") # Update the last check timestamp - config = load_config() - config["last_update_check"] = time.time() - save_config(config) + ConfigManager.set("last_update_check", time.time()) return True else: logger.info("Auto-update failed") @@ -669,9 +620,7 @@ def check_and_update_ytdlp_auto() -> bool: else: logger.info("yt-dlp is already up to date") # Still update the timestamp even if no update was needed - config = load_config() - config["last_update_check"] = time.time() - save_config(config) + ConfigManager.set("last_update_check", time.time()) return True except requests.RequestException as e: diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py index 8937bca..5b5d605 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py @@ -14,9 +14,10 @@ from packaging import version from PySide6.QtCore import Qt, QThread, QTimer, Signal from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QProgressBar, QPushButton, QVBoxLayout -from src.core.ytsage_utils import get_ytdlp_version, load_config, save_config +from src.core.ytsage_utils import get_ytdlp_version from src.core.ytsage_yt_dlp import get_yt_dlp_path from src.utils.ytsage_constants import OS_NAME, SUBPROCESS_CREATIONFLAGS, YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL +from src.utils.ytsage_config_manager import ConfigManager from src.utils.ytsage_localization import LocalizationManager # Shorthand for localization @@ -407,9 +408,7 @@ class AutoUpdateThread(QThread): if success: logger.info("AutoUpdateThread: Auto-update completed successfully!") # Update the last check timestamp - config = load_config() - config["last_update_check"] = time.time() - save_config(config) + ConfigManager.set("last_update_check", time.time()) self.update_finished.emit( True, f"Successfully updated yt-dlp from {current_version} to {latest_version}", @@ -420,9 +419,7 @@ class AutoUpdateThread(QThread): else: logger.info("AutoUpdateThread: yt-dlp is already up to date") # Still update the timestamp even if no update was needed - config = load_config() - config["last_update_check"] = time.time() - save_config(config) + ConfigManager.set("last_update_check", time.time()) self.update_finished.emit( True, f"yt-dlp is already up to date (version {current_version})", From 6c9a62f6b806ccdb3ccd7f26e6b884755a6ce1f4 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:58:17 +0200 Subject: [PATCH 383/568] Improve update check with parallel network requests Refactored UpdateCheckThread to use ThreadPoolExecutor for parallel requests to PyPI and GitHub, reducing total wait time. Added error handling and timeouts for faster failure detection, and improved changelog fetching with a fallback message. --- src/gui/ytsage_gui_main.py | 86 ++++++++++++++++++++++++++++---------- 1 file changed, 63 insertions(+), 23 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 3727b32..342c035 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -54,46 +54,86 @@ from src.utils.ytsage_localization import LocalizationManager, _ from src.utils.ytsage_history_manager import HistoryManager from src.gui.ytsage_stylesheet import StyleSheet +from concurrent.futures import ThreadPoolExecutor, as_completed + class UpdateCheckThread(QThread): + """Background thread for checking application updates with parallel network requests.""" + update_available = Signal(str, str, str) # version, url, changelog + # Reduced timeouts for faster failure detection + PYPI_TIMEOUT = 8 + GITHUB_TIMEOUT = 5 + def __init__(self, current_version): super().__init__() self.current_version = current_version - def run(self): + def _fetch_pypi_version(self) -> tuple[str | None, str | None]: + """Fetch latest version from PyPI. Returns (version, error).""" try: - # Get the latest version info from PyPI (no rate limiting unlike GitHub API) response = requests.get( "https://pypi.org/pypi/ytsage/json", - timeout=10, + timeout=self.PYPI_TIMEOUT, ) response.raise_for_status() - pypi_data = response.json() - latest_version = pypi_data["info"]["version"] + return pypi_data["info"]["version"], None + except requests.Timeout: + return None, "PyPI request timed out" + except requests.RequestException as e: + return None, f"PyPI request failed: {e}" + except Exception as e: + return None, f"Error parsing PyPI response: {e}" - # Compare versions - if version.parse(latest_version) > version.parse(self.current_version): - release_url = "https://github.com/oop7/YTSage/releases/latest" + def _fetch_github_changelog(self) -> str: + """Fetch changelog from GitHub. Returns changelog text or fallback message.""" + fallback = "View the full changelog on the [GitHub Releases](https://github.com/oop7/YTSage/releases) page." + try: + response = requests.get( + "https://api.github.com/repos/oop7/YTSage/releases/latest", + headers={"Accept": "application/vnd.github.v3+json"}, + timeout=self.GITHUB_TIMEOUT, + ) + if response.status_code == 200: + gh_data = response.json() + return gh_data.get("body", fallback) or fallback + return fallback + except Exception: + # Silently fallback if GitHub API fails (rate limiting, network issues, etc.) + return fallback + + def run(self): + """Check for updates using parallel network requests for better performance.""" + try: + # Use ThreadPoolExecutor to make both requests in parallel + # This reduces total wait time from potentially 15s to ~8s max + with ThreadPoolExecutor(max_workers=2) as executor: + # Submit both tasks + pypi_future = executor.submit(self._fetch_pypi_version) + github_future = executor.submit(self._fetch_github_changelog) + + # Get PyPI result (this is required) + latest_version, error = pypi_future.result() - # Try to fetch changelog from GitHub (with fallback if rate-limited) - changelog = "View the full changelog on the [GitHub Releases](https://github.com/oop7/YTSage/releases) page." - try: - gh_response = requests.get( - "https://api.github.com/repos/oop7/YTSage/releases/latest", - headers={"Accept": "application/vnd.github.v3+json"}, - timeout=5, - ) - if gh_response.status_code == 200: - gh_data = gh_response.json() - changelog = gh_data.get("body", changelog) - except Exception: - # Silently fallback to static message if GitHub API fails - pass + if error: + logger.debug(f"Update check failed: {error}") + return - self.update_available.emit(latest_version, release_url, changelog) + if not latest_version: + logger.debug("No version returned from PyPI") + return + + # Compare versions + if version.parse(latest_version) > version.parse(self.current_version): + release_url = "https://github.com/oop7/YTSage/releases/latest" + + # Get GitHub changelog (may already be complete due to parallel execution) + changelog = github_future.result() + + self.update_available.emit(latest_version, release_url, changelog) + except Exception as e: logger.debug(f"Failed to check for updates: {e}") From 66870d062b24a189a733506c6905469ad5148cfc Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 17:01:45 +0200 Subject: [PATCH 384/568] Centralize file extension constants in ytsage_constants Moved video, audio, and subtitle file extension lists to ytsage_constants.py as centralized frozenset constants. Updated all usages in downloader and GUI modules to reference these constants, reducing duplication and improving maintainability. --- src/core/ytsage_downloader.py | 32 +++++++++++++++++--------------- src/gui/ytsage_gui_main.py | 21 ++++++++++++++------- src/utils/ytsage_constants.py | 24 ++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 22 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index 48b99b6..01dbd28 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -12,7 +12,13 @@ from typing import Optional, List, Set from PySide6.QtCore import QObject, QThread, Signal from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.utils.ytsage_constants import SUBPROCESS_CREATIONFLAGS +from src.utils.ytsage_constants import ( + SUBPROCESS_CREATIONFLAGS, + VIDEO_EXTENSIONS, + AUDIO_EXTENSIONS, + SUBTITLE_EXTENSIONS, + MEDIA_EXTENSIONS, +) from src.utils.ytsage_localization import LocalizationManager from src.utils.ytsage_logger import logger @@ -444,10 +450,6 @@ class DownloadThread(QThread): final_file_found = False try: - # Define video/audio extensions - video_audio_extensions = {'.mp4', '.webm', '.mkv', '.avi', '.mov', '.flv', - '.m4a', '.mp3', '.opus', '.flac', '.aac', '.wav', '.ogg'} - # First, check if last_file_path exists and is valid if self.last_file_path: last_path = Path(self.last_file_path) @@ -463,7 +465,7 @@ class DownloadThread(QThread): potential_files = [] # Search in download directory and subdirectories (for playlists) - for ext in video_audio_extensions: + for ext in MEDIA_EXTENSIONS: potential_files.extend(self.path.glob(f'*{ext}')) # Also check subdirectories (for playlist downloads) potential_files.extend(self.path.glob(f'*/*{ext}')) @@ -563,13 +565,13 @@ class DownloadThread(QThread): if is_audio_download or "Downloading audio" in line: self.status_signal.emit(_("download.downloading_audio")) # Video file extensions with likely video content - elif ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: + elif ext in VIDEO_EXTENSIONS: self.status_signal.emit(_("download.downloading_video")) # Audio file extensions - elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: + elif ext in AUDIO_EXTENSIONS: self.status_signal.emit(_("download.downloading_audio")) # Subtitle file extensions - elif ext in [".vtt", ".srt", ".ass", ".ssa"]: + elif ext in SUBTITLE_EXTENSIONS: self.status_signal.emit(_("download.downloading_subtitle")) # Default case else: @@ -704,11 +706,11 @@ class DownloadThread(QThread): # Determine file type based on extension for existing file message ext = Path(filename).suffix.lower() - if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: + if ext in VIDEO_EXTENSIONS: self.status_signal.emit(f"⚠️ Video file already exists") - elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: + elif ext in AUDIO_EXTENSIONS: self.status_signal.emit(f"⚠️ Audio file already exists") - elif ext in [".vtt", ".srt", ".ass", ".ssa"]: + elif ext in SUBTITLE_EXTENSIONS: self.status_signal.emit(f"⚠️ Subtitle file already exists") else: self.status_signal.emit(f"⚠️ File already exists") @@ -725,13 +727,13 @@ class DownloadThread(QThread): ext = Path(self.current_filename).suffix.lower() # Video file extensions - if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: + if ext in VIDEO_EXTENSIONS: self.status_signal.emit(_("download.video_completed")) # Audio file extensions - elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: + elif ext in AUDIO_EXTENSIONS: self.status_signal.emit(_("download.audio_completed")) # Subtitle file extensions - elif ext in [".vtt", ".srt", ".ass", ".ssa"]: + elif ext in SUBTITLE_EXTENSIONS: self.status_signal.emit(_("download.subtitle_completed")) # Default case else: diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 342c035..47bd6ed 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -47,7 +47,14 @@ from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__ from src.gui.ytsage_gui_format_table import FormatTableMixin from src.gui.ytsage_gui_video_info import VideoInfoMixin from src.gui.ytsage_gui_analysis import AnalysisMixin -from src.utils.ytsage_constants import ICON_PATH, SOUND_PATH, SUBPROCESS_CREATIONFLAGS +from src.utils.ytsage_constants import ( + ICON_PATH, + SOUND_PATH, + SUBPROCESS_CREATIONFLAGS, + VIDEO_EXTENSIONS, + AUDIO_EXTENSIONS, + SUBTITLE_EXTENSIONS, +) from src.utils.ytsage_logger import logger from src.utils.ytsage_config_manager import ConfigManager from src.utils.ytsage_localization import LocalizationManager, _ @@ -704,13 +711,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): ext = filename.suffix.lower() # Video file extensions - if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: + if ext in VIDEO_EXTENSIONS: self.status_label.setText(_('download.video_completed')) # Audio file extensions - elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: + elif ext in AUDIO_EXTENSIONS: self.status_label.setText(_('download.audio_completed')) # Subtitle file extensions - elif ext in [".vtt", ".srt", ".ass", ".ssa"]: + elif ext in SUBTITLE_EXTENSIONS: self.status_label.setText(_('download.subtitle_completed')) # Default case else: @@ -1109,13 +1116,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): ext = Path(filename).suffix.lower() # Video file extensions - if ext in [".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv"]: + if ext in VIDEO_EXTENSIONS: self.status_label.setText(_("status.video_file_exists")) # Audio file extensions - elif ext in [".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac"]: + elif ext in AUDIO_EXTENSIONS: self.status_label.setText(_("status.audio_file_exists")) # Subtitle file extensions - elif ext in [".vtt", ".srt", ".ass", ".ssa"]: + elif ext in SUBTITLE_EXTENSIONS: self.status_label.setText(_("status.subtitle_file_exists")) # Default case else: diff --git a/src/utils/ytsage_constants.py b/src/utils/ytsage_constants.py index d1a6a8c..def0a31 100644 --- a/src/utils/ytsage_constants.py +++ b/src/utils/ytsage_constants.py @@ -182,6 +182,30 @@ FFMPEG_ZIP_SHA256_URL = "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essen FFMPEG_7Z_VERSION_URL = "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.7z.ver" FFMPEG_ZIP_VERSION_URL = "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip.ver" +# ============================================================================= +# File Extension Constants +# ============================================================================= +# Centralized file extension definitions to avoid duplication across modules +# Use these constants for file type detection throughout the application + +# Video file extensions (container formats that typically contain video) +VIDEO_EXTENSIONS: frozenset[str] = frozenset({ + ".mp4", ".webm", ".mkv", ".avi", ".mov", ".flv" +}) + +# Audio file extensions (audio-only formats) +AUDIO_EXTENSIONS: frozenset[str] = frozenset({ + ".mp3", ".m4a", ".aac", ".wav", ".ogg", ".opus", ".flac" +}) + +# Subtitle file extensions +SUBTITLE_EXTENSIONS: frozenset[str] = frozenset({ + ".vtt", ".srt", ".ass", ".ssa" +}) + +# Combined video and audio extensions (for file search operations) +MEDIA_EXTENSIONS: frozenset[str] = VIDEO_EXTENSIONS | AUDIO_EXTENSIONS + if __name__ == "__main__": # If this file is run directly, print directory information; if imported, create the necessary directories for the application. # for debug, to check os specific variable which can be different based on os. From e43b1bbb2eeb1b31bd0e198b6937f2cfb5c38b88 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 17:21:24 +0200 Subject: [PATCH 385/568] Optimize format table filtering and rebuilding Refactors the format table logic to build the table once and use row visibility for fast filtering between video and audio formats. Adds internal flags to track table state and format types per row, improving performance and responsiveness when toggling format filters. Also streamlines table population and color-coding logic. --- src/gui/ytsage_gui_format_table.py | 204 +++++++++++++++-------------- 1 file changed, 106 insertions(+), 98 deletions(-) diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 48c2c6a..bf03cd3 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -158,6 +158,8 @@ class FormatTableMixin: # Store format checkboxes and formats self.format_checkboxes = [] self.all_formats = [] + self._row_format_type = [] # Track format type per row: 'video' or 'audio' + self._table_built = False # Track if table has been built with current formats # Set table size policies self.format_table.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) @@ -173,29 +175,42 @@ class FormatTableMixin: def filter_formats(self) -> None: self = cast("YTSageApp", self) # for autocompletion and type inference. - if not hasattr(self, "all_formats"): + if not hasattr(self, "all_formats") or not self.all_formats: return + # Check if we need to rebuild the table (first time or formats changed) + if not self._table_built: + self._build_full_format_table() + return + + # Use row visibility for fast filtering instead of rebuilding table + show_video = hasattr(self, "video_button") and self.video_button.isChecked() # type: ignore[reportAttributeAccessIssue] + show_audio = hasattr(self, "audio_button") and self.audio_button.isChecked() # type: ignore[reportAttributeAccessIssue] + + for row, format_type in enumerate(self._row_format_type): + if format_type == "video": + self.format_table.setRowHidden(row, not show_video) + else: # audio + self.format_table.setRowHidden(row, not show_audio) + + def _build_full_format_table(self) -> None: + """Build the complete format table once with all formats.""" + self = cast("YTSageApp", self) # for autocompletion and type inference. + # Clear current table self.format_table.setRowCount(0) self.format_checkboxes.clear() + self._row_format_type.clear() - # Determine which formats to show - filtered_formats = [] - - if hasattr(self, "video_button") and self.video_button.isChecked(): # type: ignore[reportAttributeAccessIssue] - filtered_formats.extend([f for f in self.all_formats if f.get("vcodec") != "none" and f.get("filesize") is not None]) - - if hasattr(self, "audio_button") and self.audio_button.isChecked(): # type: ignore[reportAttributeAccessIssue] - filtered_formats.extend( - [ - f - for f in self.all_formats - if (f.get("vcodec") == "none" or "audio only" in f.get("format_note", "").lower()) - and f.get("acodec") != "none" - and f.get("filesize") is not None - ] - ) + # Separate and filter formats + video_formats = [f for f in self.all_formats if f.get("vcodec") != "none" and f.get("filesize") is not None] + audio_formats = [ + f + for f in self.all_formats + if (f.get("vcodec") == "none" or "audio only" in f.get("format_note", "").lower()) + and f.get("acodec") != "none" + and f.get("filesize") is not None + ] # Sort formats by quality def get_quality(f): @@ -211,17 +226,23 @@ class FormatTableMixin: else: return f.get("abr", 0) - filtered_formats.sort(key=get_quality, reverse=True) + video_formats.sort(key=get_quality, reverse=True) + audio_formats.sort(key=get_quality, reverse=True) - # Update table with filtered formats - self.format_signals.format_update.emit(filtered_formats) + # Combine: video first, then audio (maintains logical grouping) + all_filtered = [(f, "video") for f in video_formats] + [(f, "audio") for f in audio_formats] - def _update_format_table(self, formats) -> None: + # Build table with format type tracking + self._populate_format_table(all_filtered) + self._table_built = True + + # Apply initial visibility based on current button states + self.filter_formats() + + def _populate_format_table(self, formats_with_types: list) -> None: + """Populate the format table with formats and their types.""" self = cast("YTSageApp", self) # for autocompletion and type inference. - self.format_table.setRowCount(0) - self.format_checkboxes.clear() - is_playlist_mode = hasattr(self, "is_playlist") and self.is_playlist # type: ignore[reportAttributeAccessIssue] # Configure columns based on mode @@ -252,119 +273,103 @@ class FormatTableMixin: _("formats.hdr"), ] self.format_table.setHorizontalHeaderLabels(header_labels) - - # Ensure all columns are visible - for i in range(2, 9): - self.format_table.setColumnHidden(i, False) - - # Apply responsive column widths for normal mode self._apply_column_widths(header_labels, is_playlist_mode=False) - - for f in formats: + for f, format_type in formats_with_types: row = self.format_table.rowCount() self.format_table.insertRow(row) + self._row_format_type.append(format_type) - # Column 0: Select Checkbox (Always shown) + # Create checkbox widget checkbox = QCheckBox() - checkbox.format_id = str(f.get("format_id", "")) # type: ignore[reportAttributeAccessIssue] - checkbox.is_audio_only = bool((f.get("vcodec") or "none").lower() == "none") # type: ignore[attr-defined] - checkbox.has_audio = bool(f.get("acodec") and f.get("acodec") != "none") # type: ignore[attr-defined] + checkbox.setStyleSheet("QCheckBox { margin-left: 8px; }") + checkbox.format_id = f["format_id"] + checkbox.is_audio_only = f.get("vcodec") == "none" + checkbox.has_audio = f.get("acodec") != "none" checkbox.clicked.connect(lambda checked, cb=checkbox: self.handle_checkbox_click(cb)) self.format_checkboxes.append(checkbox) - checkbox_widget = QWidget() - checkbox_widget.setStyleSheet("background-color: transparent;") - checkbox_layout = QHBoxLayout(checkbox_widget) + + # Create a container widget for the checkbox + checkbox_container = QWidget() + checkbox_layout = QHBoxLayout(checkbox_container) checkbox_layout.addWidget(checkbox) checkbox_layout.setAlignment(Qt.AlignmentFlag.AlignCenter) checkbox_layout.setContentsMargins(0, 0, 0, 0) - checkbox_layout.setSpacing(0) - self.format_table.setCellWidget(row, 0, checkbox_widget) + self.format_table.setCellWidget(row, 0, checkbox_container) - # Column 1: Quality (Always shown) - quality_text = self.get_quality_label(f) - quality_item = QTableWidgetItem(quality_text) - # Set color based on quality (check English, Spanish, Portuguese, Russian, Chinese, German, French, Hindi, Indonesian, Turkish, Polish, Italian, Arabic, and Japanese terms) - quality_lower = quality_text.lower() # Make comparison case-insensitive + # Quality label with color coding + quality_label = self.get_quality_label(f) + quality_item = QTableWidgetItem(quality_label) + # Set color based on quality (check multiple language terms) + quality_lower = quality_label.lower() if any(term.lower() in quality_lower for term in ["Best", "Óptima", "Mejor", "Melhor", "Лучшее", "最佳", "Beste", "Meilleure", "सर्वोत्तम", "Terbaik", "En iyi", "Najlepsza", "Najlepszy", "Najlepsze", "Migliore", "Miglior", "الأفضل", "أفضل", "最高"]): quality_item.setForeground(QColor("#00ff00")) # Green for best quality - elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie", "Alta", "Audio alto", "عالية", "عالي", "صوت عالي", "高", "高音質"]): + elif any(term.lower() in quality_lower for term in ["High", "Alta", "Alto", "Áudio Alto", "Audio Alto", "Высокое", "高清", "高质量", "Hoch", "Haute", "Élevé", "Audio élevé", "उच्च", "उच्च ऑडियो", "Tinggi", "Audio tinggi", "Yüksek", "Yüksek ses", "Wysoka", "Wysoki", "Wysokie", "Audio alto", "عالية", "عالي", "صوت عالي", "高", "高音質"]): quality_item.setForeground(QColor("#00cc00")) # Light green for high quality - elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie", "Media", "Audio medio", "متوسطة", "متوسط", "صوت متوسط", "中", "中音質"]): + elif any(term.lower() in quality_lower for term in ["Medium", "Media", "Medio", "Média", "Áudio Médio", "Audio Medio", "Среднее", "中等", "Mittel", "Moyenne", "Audio moyen", "मध्यम", "मध्यम ऑडियो", "Sedang", "Audio sedang", "Orta", "Orta ses", "Średnia", "Średni", "Średnie", "Audio medio", "متوسطة", "متوسط", "صوت متوسط", "中", "中音質"]): quality_item.setForeground(QColor("#ffaa00")) # Orange for medium quality elif any(term.lower() in quality_lower for term in ["Low", "Baja", "Bajo", "Baixa", "Áudio Baixo", "Audio Bajo", "Низкое", "低质量", "Niedrig", "Niedriges Audio", "Faible", "Audio faible", "Qualité faible", "निम्न", "निम्न ऑडियो", "निम्न गुणवत्ता", "Rendah", "Audio rendah", "Kualitas rendah", "Düşük", "Düşük ses", "Düşük kalite", "Niska", "Niski", "Niskie", "Bassa", "Audio basso", "Bassa qualità", "منخفضة", "منخفض", "صوت منخفض", "جودة منخفضة", "低", "低音質", "低品質"]): quality_item.setForeground(QColor("#ff5555")) # Red for low quality self.format_table.setItem(row, 1, quality_item) - # --- Populate columns common to both modes (Moved outside the 'if not is_playlist_mode' block) --- - - # Column 2: Resolution (Always shown) + # Resolution resolution = f.get("resolution", "N/A") - if f.get("vcodec") == "none": - resolution = _("formats.audio_only_resolution") - self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) - # Column 3: FPS for playlist mode, Extension for normal mode if is_playlist_mode: - # Get FPS for playlist mode + # Column 2 for playlist mode: Resolution + self.format_table.setItem(row, 2, QTableWidgetItem(resolution)) + + # Column 3: FPS (Frame Rate) fps_value = f.get("fps") - if fps_value is not None: - # Format FPS value appropriately - if fps_value >= 1: - fps_text = f"{fps_value:.0f}fps" - else: - fps_text = "N/A" # Very low fps like storyboards + if fps_value is not None and fps_value >= 1: + fps_text = f"{fps_value:.0f}fps" else: fps_text = "N/A" - fps_item = QTableWidgetItem(fps_text) - # Color code based on FPS value if fps_value and fps_value >= 60: - fps_item.setForeground(QColor("#00ff00")) # Green for 60+ fps + fps_item.setForeground(QColor("#00ff00")) elif fps_value and fps_value >= 30: - fps_item.setForeground(QColor("#ffaa00")) # Orange for 30+ fps + fps_item.setForeground(QColor("#ffaa00")) elif fps_value and fps_value >= 1: - fps_item.setForeground(QColor("#ff5555")) # Red for low fps + fps_item.setForeground(QColor("#ff5555")) else: - fps_item.setForeground(QColor("#888888")) # Gray for N/A + fps_item.setForeground(QColor("#888888")) self.format_table.setItem(row, 3, fps_item) - - # Column 4: HDR for playlist mode + + # Column 4: HDR if f.get("vcodec") == "none": - # Audio-only formats don't have HDR hdr_text = "N/A" hdr_item = QTableWidgetItem(hdr_text) - hdr_item.setForeground(QColor("#888888")) # Gray for N/A + hdr_item.setForeground(QColor("#888888")) else: hdr_value = f.get("dynamic_range") if hdr_value and hdr_value != "SDR": hdr_text = hdr_value hdr_item = QTableWidgetItem(hdr_text) - hdr_item.setForeground(QColor("#00ffff")) # Cyan for HDR + hdr_item.setForeground(QColor("#00ffff")) else: hdr_text = "SDR" hdr_item = QTableWidgetItem(hdr_text) - hdr_item.setForeground(QColor("#888888")) # Gray for SDR + hdr_item.setForeground(QColor("#888888")) self.format_table.setItem(row, 4, hdr_item) else: # Extension for normal mode (column 2) self.format_table.setItem(row, 2, QTableWidgetItem(f.get("ext", "").upper())) - # Column 4 in playlist mode, Column 6 in normal mode: Audio Status - needs_audio = f.get("acodec") == "none" and f.get("vcodec") != "none" # Only mark video-only as needing merge + # Audio Status column + needs_audio = f.get("acodec") == "none" and f.get("vcodec") != "none" audio_status = _("formats.will_merge_audio") if needs_audio else (_("formats.has_audio") if f.get("vcodec") != "none" else _("formats.audio_only")) audio_item = QTableWidgetItem(audio_status) if needs_audio: audio_item.setForeground(QColor("#ffa500")) elif audio_status == _("formats.audio_only"): - audio_item.setForeground(QColor("#cccccc")) # Neutral color for audio only - else: # Has Audio (Video+Audio) - audio_item.setForeground(QColor("#00cc00")) # Green for included audio - # Set item for correct column based on mode + audio_item.setForeground(QColor("#cccccc")) + else: + audio_item.setForeground(QColor("#00cc00")) audio_column_index = 5 if is_playlist_mode else 6 self.format_table.setItem(row, audio_column_index, audio_item) - # --- Populate columns only shown in non-playlist mode --- + # Populate columns only shown in non-playlist mode if not is_playlist_mode: # Column 3: Resolution self.format_table.setItem(row, 3, QTableWidgetItem(resolution)) @@ -384,45 +389,47 @@ class FormatTableMixin: # Column 7: FPS (Frame Rate) fps_value = f.get("fps") - if fps_value is not None: - # Format FPS value appropriately - if fps_value >= 1: - fps_text = f"{fps_value:.0f}fps" - else: - fps_text = "N/A" # Very low fps like storyboards + if fps_value is not None and fps_value >= 1: + fps_text = f"{fps_value:.0f}fps" else: fps_text = "N/A" - + fps_item = QTableWidgetItem(fps_text) - # Color code based on FPS value if fps_value and fps_value >= 60: - fps_item.setForeground(QColor("#00ff00")) # Green for 60+ fps + fps_item.setForeground(QColor("#00ff00")) elif fps_value and fps_value >= 30: - fps_item.setForeground(QColor("#ffaa00")) # Orange for 30+ fps + fps_item.setForeground(QColor("#ffaa00")) elif fps_value and fps_value >= 1: - fps_item.setForeground(QColor("#ff5555")) # Red for low fps + fps_item.setForeground(QColor("#ff5555")) else: - fps_item.setForeground(QColor("#888888")) # Gray for N/A + fps_item.setForeground(QColor("#888888")) self.format_table.setItem(row, 7, fps_item) - + # Column 8: HDR (Dynamic Range) if f.get("vcodec") == "none": - # Audio-only formats don't have HDR hdr_text = "N/A" hdr_item = QTableWidgetItem(hdr_text) - hdr_item.setForeground(QColor("#888888")) # Gray for N/A + hdr_item.setForeground(QColor("#888888")) else: hdr_value = f.get("dynamic_range") if hdr_value and hdr_value != "SDR": hdr_text = hdr_value hdr_item = QTableWidgetItem(hdr_text) - hdr_item.setForeground(QColor("#00ffff")) # Cyan for HDR + hdr_item.setForeground(QColor("#00ffff")) else: hdr_text = "SDR" hdr_item = QTableWidgetItem(hdr_text) - hdr_item.setForeground(QColor("#888888")) # Gray for SDR + hdr_item.setForeground(QColor("#888888")) self.format_table.setItem(row, 8, hdr_item) + def _update_format_table(self, formats) -> None: + """Signal handler that triggers a full table rebuild when formats change.""" + self = cast("YTSageApp", self) # for autocompletion and type inference. + + # Mark table as needing rebuild and trigger it + self._table_built = False + self._build_full_format_table() + def handle_checkbox_click(self, clicked_checkbox) -> None: self = cast("YTSageApp", self) # for autocompletion and type inference. @@ -446,6 +453,7 @@ class FormatTableMixin: self = cast("YTSageApp", self) # for autocompletion and type inference. self.all_formats = formats + self._table_built = False # Reset flag to trigger rebuild with new formats self.format_signals.format_update.emit(formats) def get_quality_label(self, format_info) -> str: From 1dba5b629ad45a0471223db17993953e6f87f2ea Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 17:32:02 +0200 Subject: [PATCH 386/568] Increase progress bar precision to 0.01% Changed the progress bar range from 0-100 to 0-10000 for finer granularity (0.01% steps). Updated all progress bar value assignments and scaling logic to match the new range, and set the display format to show percentage. --- src/gui/ytsage_gui_main.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 47bd6ed..c47d159 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -460,6 +460,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Progress section with improved styling progress_layout = QVBoxLayout() self.progress_bar = QProgressBar() + self.progress_bar.setRange(0, 10000) # Use 0-10000 range for 0.01% precision + self.progress_bar.setFormat("%p%") # Display as percentage self.progress_bar.setStyleSheet(StyleSheet.PROGRESS_BAR) progress_layout.addWidget(self.progress_bar) @@ -603,7 +605,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Show preparation message self.status_label.setText(_('download.preparing')) - self.progress_bar.setValue(0) + self.progress_bar.setValue(0) # Reset progress (range is 0-10000) self.open_folder_btn.setVisible(False) # Hide the open folder button on new download # Get resolution for filename @@ -703,7 +705,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) - self.progress_bar.setValue(100) + self.progress_bar.setValue(10000) # 100% in 0-10000 range # Set completion message based on the file type of last downloaded file if self.download_thread and self.download_thread.current_filename: @@ -824,9 +826,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def update_progress_bar(self, value) -> None: try: - # Ensure the value is an integer - int_value = int(value) - self.progress_bar.setValue(int_value) + # Scale float percentage (0-100) to progress bar range (0-10000) for precision + scaled_value = int(float(value) * 100) + self.progress_bar.setValue(scaled_value) except Exception as e: logger.exception(f"Progress bar update error: {e}") @@ -1110,7 +1112,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.toggle_download_controls(True) self.pause_btn.setVisible(False) self.cancel_btn.setVisible(False) - self.progress_bar.setValue(100) + self.progress_bar.setValue(10000) # 100% in 0-10000 range # Determine file type based on extension ext = Path(filename).suffix.lower() @@ -1212,7 +1214,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Clear progress/status when controls are re-enabled if enabled: - self.progress_bar.setValue(0) + self.progress_bar.setValue(0) # Reset progress (range is 0-10000) self.status_label.setText(_("status.ready")) self.download_details_label.setText("") # Clear details label From 0c03e3b4ba65f75bc7093d20e4f67ed15bc66695 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 17:34:12 +0200 Subject: [PATCH 387/568] Add smooth animation to progress bar updates Introduces a QPropertyAnimation for the progress bar to provide a smooth transition effect when updating its value. The animation is triggered for significant changes in progress, improving the user experience with more visually appealing feedback. --- src/gui/ytsage_gui_main.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index c47d159..99b2677 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -7,7 +7,7 @@ from pathlib import Path import markdown import requests from packaging import version -from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer, Slot, QThread, Signal, QUrl +from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer, Slot, QThread, Signal, QUrl, QPropertyAnimation, QEasingCurve from PySide6.QtGui import QIcon from PySide6.QtMultimedia import QAudioOutput, QMediaPlayer from PySide6.QtWidgets import ( @@ -464,6 +464,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.progress_bar.setFormat("%p%") # Display as percentage self.progress_bar.setStyleSheet(StyleSheet.PROGRESS_BAR) progress_layout.addWidget(self.progress_bar) + + # Setup smooth animation for progress bar + self._progress_animation = QPropertyAnimation(self.progress_bar, b"value") + self._progress_animation.setDuration(150) # 150ms smooth transition + self._progress_animation.setEasingCurve(QEasingCurve.Type.OutCubic) # Add download details label with improved styling self.download_details_label = QLabel() @@ -828,7 +833,19 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): try: # Scale float percentage (0-100) to progress bar range (0-10000) for precision scaled_value = int(float(value) * 100) - self.progress_bar.setValue(scaled_value) + + # Use smooth animation for progress updates + if self._progress_animation.state() == QPropertyAnimation.State.Running: + self._progress_animation.stop() + + current_value = self.progress_bar.value() + # Only animate if there's a meaningful change (avoid micro-animations) + if abs(scaled_value - current_value) > 10: # More than 0.1% change + self._progress_animation.setStartValue(current_value) + self._progress_animation.setEndValue(scaled_value) + self._progress_animation.start() + else: + self.progress_bar.setValue(scaled_value) except Exception as e: logger.exception(f"Progress bar update error: {e}") From f0b05d74f49e7c1e5229ed2df751822debf13b10 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 18:48:36 +0200 Subject: [PATCH 388/568] Add localized error messages for yt-dlp download failures Introduces new error message keys for download failures with specific return codes and direct command errors in all supported languages. Updates ytsage_downloader.py to use these localized messages and adds the corresponding entries to the localization manager. --- languages/ar.json | 5 ++++- languages/de.json | 5 ++++- languages/en.json | 5 ++++- languages/es.json | 5 ++++- languages/fr.json | 5 ++++- languages/hi.json | 5 ++++- languages/id.json | 5 ++++- languages/it.json | 5 ++++- languages/ja.json | 5 ++++- languages/pl.json | 5 ++++- languages/pt.json | 5 ++++- languages/ru.json | 5 ++++- languages/tr.json | 5 ++++- languages/zh.json | 5 ++++- src/core/ytsage_downloader.py | 8 +++++--- src/utils/ytsage_localization.py | 5 +++++ 16 files changed, 66 insertions(+), 17 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index 3cd4a0e..526b6bb 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -409,7 +409,10 @@ "ytdlp_failed": "خطأ: فشل yt-dlp: {error}", "parse_failed": "خطأ: فشل تحليل مخرجات yt-dlp: {error}", "analysis_failed": "خطأ: فشل التحليل: {error}", - "generic_error": "خطأ: {error}" + "generic_error": "خطأ: {error}", + "download_failed_return_code_conflict": "فشل التنزيل برمز الإرجاع {return_code}. قد يكون ذلك بسبب تعارض بين عدة عمليات تثبيت لـ yt-dlp. جرّب إزالة أي تثبيت لنظام التشغيل (مثل snap أو apt) ثم أعد تشغيل التطبيق.", + "download_failed_return_code": "فشل التنزيل برمز الإرجاع {return_code}", + "direct_command_error": "خطأ في الأمر المباشر: {error}" }, "update_dialog": { "title": "تحديث متاح", diff --git a/languages/de.json b/languages/de.json index 3e9d727..3e0b073 100644 --- a/languages/de.json +++ b/languages/de.json @@ -409,7 +409,10 @@ "ytdlp_failed": "Fehler: yt-dlp fehlgeschlagen: {error}", "parse_failed": "Fehler: Fehler beim Parsen der yt-dlp-Ausgabe: {error}", "analysis_failed": "Fehler: Analyse fehlgeschlagen: {error}", - "generic_error": "Fehler: {error}" + "generic_error": "Fehler: {error}", + "download_failed_return_code_conflict": "Download fehlgeschlagen mit Rückgabecode {return_code}. Dies kann an einem Konflikt mit mehreren yt-dlp-Installationen liegen. Deinstalliere ggf. eine systemweit installierte yt-dlp-Version (z. B. über snap oder apt) und starte die Anwendung neu.", + "download_failed_return_code": "Download fehlgeschlagen mit Rückgabecode {return_code}", + "direct_command_error": "Fehler im direkten Befehl: {error}" }, "update_dialog": { "title": "Update verfügbar", diff --git a/languages/en.json b/languages/en.json index 8f7684b..b961214 100644 --- a/languages/en.json +++ b/languages/en.json @@ -410,7 +410,10 @@ "ytdlp_failed": "Error: yt-dlp failed: {error}", "parse_failed": "Error: Failed to parse yt-dlp output: {error}", "analysis_failed": "Error: Analysis failed: {error}", - "generic_error": "Error: {error}" + "generic_error": "Error: {error}", + "download_failed_return_code_conflict": "Download failed with return code {return_code}. This may be due to a conflict with multiple yt-dlp installations. Try uninstalling any system-installed yt-dlp (e.g. through snap or apt) and restart the application.", + "download_failed_return_code": "Download failed with return code {return_code}", + "direct_command_error": "Error in direct command: {error}" }, "update_dialog": { "title": "Update Available", diff --git a/languages/es.json b/languages/es.json index 465fcdd..f27c4dd 100644 --- a/languages/es.json +++ b/languages/es.json @@ -392,7 +392,10 @@ "ytdlp_failed": "Error: yt-dlp falló: {error}", "parse_failed": "Error: Falló al analizar salida de yt-dlp: {error}", "analysis_failed": "Error: Análisis falló: {error}", - "generic_error": "Error: {error}" + "generic_error": "Error: {error}", + "download_failed_return_code_conflict": "La descarga falló con el código de salida {return_code}. Esto puede deberse a un conflicto con varias instalaciones de yt-dlp. Intenta desinstalar cualquier yt-dlp instalado en el sistema (p. ej., mediante snap o apt) y reinicia la aplicación.", + "download_failed_return_code": "La descarga falló con el código de salida {return_code}", + "direct_command_error": "Error en el comando directo: {error}" }, "update_dialog": { "title": "Actualización disponible", diff --git a/languages/fr.json b/languages/fr.json index 51a2f6b..ff77e2e 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -409,7 +409,10 @@ "ytdlp_failed": "Erreur : yt-dlp a échoué : {error}", "parse_failed": "Erreur : Échec de l'analyse de la sortie yt-dlp : {error}", "analysis_failed": "Erreur : Échec de l'analyse : {error}", - "generic_error": "Erreur : {error}" + "generic_error": "Erreur : {error}", + "download_failed_return_code_conflict": "Téléchargement échoué avec le code de retour {return_code}. Cela peut être dû à un conflit entre plusieurs installations de yt-dlp. Essayez de désinstaller toute version installée au niveau du système (par ex. via snap ou apt) puis redémarrez l’application.", + "download_failed_return_code": "Téléchargement échoué avec le code de retour {return_code}", + "direct_command_error": "Erreur dans la commande directe : {error}" }, "update_dialog": { "title": "Mise à jour disponible", diff --git a/languages/hi.json b/languages/hi.json index bf4360c..1bacff3 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -409,7 +409,10 @@ "ytdlp_failed": "त्रुटि: yt-dlp असफल: {error}", "parse_failed": "त्रुटि: yt-dlp आउटपुट पार्स करने में विफल: {error}", "analysis_failed": "त्रुटि: विश्लेषण विफल: {error}", - "generic_error": "त्रुटि: {error}" + "generic_error": "त्रुटि: {error}", + "download_failed_return_code_conflict": "डाउनलोड {return_code} रिटर्न कोड के साथ विफल हुआ। यह कई yt-dlp इंस्टॉलेशन के टकराव के कारण हो सकता है। किसी भी सिस्टम-इंस्टॉल्ड yt-dlp (जैसे snap या apt) को हटाकर ऐप को रीस्टार्ट करें।", + "download_failed_return_code": "डाउनलोड {return_code} रिटर्न कोड के साथ विफल हुआ", + "direct_command_error": "सीधे कमांड में त्रुटि: {error}" }, "update_dialog": { "title": "अपडेट उपलब्ध", diff --git a/languages/id.json b/languages/id.json index f1e60f2..46eea59 100644 --- a/languages/id.json +++ b/languages/id.json @@ -409,7 +409,10 @@ "ytdlp_failed": "Kesalahan: yt-dlp gagal: {error}", "parse_failed": "Kesalahan: Gagal mengurai output yt-dlp: {error}", "analysis_failed": "Kesalahan: Analisis gagal: {error}", - "generic_error": "Kesalahan: {error}" + "generic_error": "Kesalahan: {error}", + "download_failed_return_code_conflict": "Unduhan gagal dengan kode pengembalian {return_code}. Ini mungkin karena konflik dengan beberapa instalasi yt-dlp. Coba uninstall yt-dlp yang terpasang di sistem (mis. melalui snap atau apt) lalu mulai ulang aplikasi.", + "download_failed_return_code": "Unduhan gagal dengan kode pengembalian {return_code}", + "direct_command_error": "Error pada perintah langsung: {error}" }, "update_dialog": { "title": "Pembaruan Tersedia", diff --git a/languages/it.json b/languages/it.json index 7cfaf98..dc5f24e 100644 --- a/languages/it.json +++ b/languages/it.json @@ -409,7 +409,10 @@ "ytdlp_failed": "Errore: yt-dlp fallito: {error}", "parse_failed": "Errore: Impossibile analizzare l'output di yt-dlp: {error}", "analysis_failed": "Errore: Analisi fallita: {error}", - "generic_error": "Errore: {error}" + "generic_error": "Errore: {error}", + "download_failed_return_code_conflict": "Download non riuscito con codice di uscita {return_code}. Potrebbe essere dovuto a un conflitto tra più installazioni di yt-dlp. Prova a disinstallare eventuali yt-dlp installati a livello di sistema (es. snap o apt) e riavvia l’app.", + "download_failed_return_code": "Download non riuscito con codice di uscita {return_code}", + "direct_command_error": "Errore nel comando diretto: {error}" }, "update_dialog": { "title": "Aggiornamento disponibile", diff --git a/languages/ja.json b/languages/ja.json index 4b8d4e2..784089b 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -409,7 +409,10 @@ "ytdlp_failed": "エラー: yt-dlpが失敗しました: {error}", "parse_failed": "エラー: yt-dlp出力の解析に失敗しました: {error}", "analysis_failed": "エラー: 解析が失敗しました: {error}", - "generic_error": "エラー: {error}" + "generic_error": "エラー: {error}", + "download_failed_return_code_conflict": "ダウンロードは戻りコード {return_code} で失敗しました。複数の yt-dlp インストールの競合が原因の可能性があります。システムにインストールされた yt-dlp(例: snap や apt)をアンインストールしてアプリを再起動してください。", + "download_failed_return_code": "ダウンロードは戻りコード {return_code} で失敗しました", + "direct_command_error": "直接コマンドのエラー: {error}" }, "update_dialog": { "title": "アップデートが利用可能です", diff --git a/languages/pl.json b/languages/pl.json index 8db7dc4..75744bf 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -409,7 +409,10 @@ "ytdlp_failed": "Błąd: yt-dlp nie powiodło się: {error}", "parse_failed": "Błąd: Nie udało się przeanalizować wyjścia yt-dlp: {error}", "analysis_failed": "Błąd: Analiza nie powiodła się: {error}", - "generic_error": "Błąd: {error}" + "generic_error": "Błąd: {error}", + "download_failed_return_code_conflict": "Pobieranie nie powiodło się z kodem {return_code}. Może to wynikać z konfliktu wielu instalacji yt-dlp. Spróbuj odinstalować systemowo zainstalowane yt-dlp (np. przez snap lub apt) i uruchom aplikację ponownie.", + "download_failed_return_code": "Pobieranie nie powiodło się z kodem {return_code}", + "direct_command_error": "Błąd w bezpośrednim poleceniu: {error}" }, "update_dialog": { "title": "Dostępna aktualizacja", diff --git a/languages/pt.json b/languages/pt.json index 27f3152..16aa7c4 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -409,7 +409,10 @@ "ytdlp_failed": "Erro: yt-dlp falhou: {error}", "parse_failed": "Erro: Falha ao analisar a saída do yt-dlp: {error}", "analysis_failed": "Erro: Análise falhou: {error}", - "generic_error": "Erro: {error}" + "generic_error": "Erro: {error}", + "download_failed_return_code_conflict": "O download falhou com o código de retorno {return_code}. Isso pode ser devido a um conflito com várias instalações do yt-dlp. Tente desinstalar qualquer yt-dlp instalado no sistema (ex.: snap ou apt) e reinicie o aplicativo.", + "download_failed_return_code": "O download falhou com o código de retorno {return_code}", + "direct_command_error": "Erro no comando direto: {error}" }, "update_dialog": { "title": "Atualização Disponível", diff --git a/languages/ru.json b/languages/ru.json index 1c7448b..83830ec 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -409,7 +409,10 @@ "ytdlp_failed": "Ошибка: yt-dlp завершился с ошибкой: {error}", "parse_failed": "Ошибка: Не удалось разобрать вывод yt-dlp: {error}", "analysis_failed": "Ошибка: Анализ не удался: {error}", - "generic_error": "Ошибка: {error}" + "generic_error": "Ошибка: {error}", + "download_failed_return_code_conflict": "Загрузка завершилась ошибкой с кодом {return_code}. Это может быть из-за конфликта нескольких установок yt-dlp. Попробуйте удалить системно установленный yt-dlp (например, через snap или apt) и перезапустите приложение.", + "download_failed_return_code": "Загрузка не удалась, код {return_code}", + "direct_command_error": "Ошибка в прямой команде: {error}" }, "update_dialog": { "title": "Доступно обновление", diff --git a/languages/tr.json b/languages/tr.json index 906be44..a0aa779 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -409,7 +409,10 @@ "ytdlp_failed": "Hata: yt-dlp başarısız oldu: {error}", "parse_failed": "Hata: yt-dlp çıktısı ayrıştırılamadı: {error}", "analysis_failed": "Hata: Analiz başarısız oldu: {error}", - "generic_error": "Hata: {error}" + "generic_error": "Hata: {error}", + "download_failed_return_code_conflict": "İndirme {return_code} dönüş koduyla başarısız oldu. Bunun nedeni birden fazla yt-dlp kurulumunun çakışması olabilir. Sistem kurulumlu yt-dlp'yi (örn. snap veya apt) kaldırıp uygulamayı yeniden başlatmayı deneyin.", + "download_failed_return_code": "İndirme {return_code} dönüş koduyla başarısız oldu", + "direct_command_error": "Doğrudan komutta hata: {error}" }, "update_dialog": { "title": "Güncelleme Mevcut", diff --git a/languages/zh.json b/languages/zh.json index da2e429..812ae47 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -409,7 +409,10 @@ "ytdlp_failed": "错误:yt-dlp失败:{error}", "parse_failed": "错误:解析yt-dlp输出失败:{error}", "analysis_failed": "错误:分析失败:{error}", - "generic_error": "错误:{error}" + "generic_error": "错误:{error}", + "download_failed_return_code_conflict": "下载失败,返回码 {return_code}。这可能是由于存在多个 yt-dlp 安装导致冲突。请卸载系统中安装的 yt-dlp(例如通过 snap 或 apt),然后重启应用。", + "download_failed_return_code": "下载失败,返回码 {return_code}", + "direct_command_error": "直接命令出错:{error}" }, "update_dialog": { "title": "有可用更新", diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index 01dbd28..8719b9b 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -511,10 +511,12 @@ class DownloadThread(QThread): # Provide more descriptive error message for possible yt-dlp conflicts if return_code == 1: self.error_signal.emit( - f"Download failed with return code {return_code}. This may be due to a conflict with multiple yt-dlp installations. Try uninstalling any system-installed yt-dlp (e.g. through snap or apt) and restart the application." + _("errors.download_failed_return_code_conflict", return_code=return_code) ) else: - self.error_signal.emit(f"Download failed with return code {return_code}") + self.error_signal.emit( + _("errors.download_failed_return_code", return_code=return_code) + ) # Add delay before cleanup to allow file handles to be released time.sleep(1) @@ -522,7 +524,7 @@ class DownloadThread(QThread): except Exception as e: logger.exception(f"Error in direct command: {e}") - self.error_signal.emit(f"Error in direct command: {e}") + self.error_signal.emit(_("errors.direct_command_error", error=str(e))) # Add delay before cleanup to allow file handles to be released time.sleep(1) self.cleanup_partial_files() diff --git a/src/utils/ytsage_localization.py b/src/utils/ytsage_localization.py index 1116fb5..cfedccc 100644 --- a/src/utils/ytsage_localization.py +++ b/src/utils/ytsage_localization.py @@ -108,6 +108,11 @@ class LocalizationManager: }, "formats": { "show_formats": "Show formats:" + }, + "errors": { + "download_failed_return_code_conflict": "Download failed with return code {return_code}. This may be due to a conflict with multiple yt-dlp installations. Try uninstalling any system-installed yt-dlp (e.g. through snap or apt) and restart the application.", + "download_failed_return_code": "Download failed with return code {return_code}", + "direct_command_error": "Error in direct command: {error}" } } From 7fbef735317c22057087123a184eea713cbd8c6e Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:49:52 +0200 Subject: [PATCH 389/568] Update Arabic translations for new features Added and updated Arabic localization strings for new features and UI improvements, including FFmpeg and yt-dlp setup dialogs, proxy and cookie status messages, download settings, and error handling. This enhances support for recent application updates and improves user experience for Arabic-speaking users. --- languages/ar.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 7 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index 526b6bb..e12daae 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -93,7 +93,8 @@ "select_subtitles": "اختر الترجمات", "filter_languages_placeholder": "تصفية اللغات (مثال: ar، en)...", "no_subtitles_available": "لا توجد ترجمات متاحة", - "matching": "مطابقة" + "matching": "مطابقة", + "ytdlp_log_title": "سجل yt-dlp" }, "tabs": { "cookies": "تسجيل الدخول بالكوكيز", @@ -124,7 +125,10 @@ "browser_selected_title": "تم تطبيق كوكيز المتصفح", "browser_applied_message": "سيتم استخراج كوكيز المتصفح من: {browser}", "cleared_title": "تم مسح الكوكيز", - "cleared_message": "تم مسح إعدادات الكوكيز" + "cleared_message": "تم مسح إعدادات الكوكيز", + "active_browser": "✓ نشط: كوكيز المتصفح ({browser})", + "active_file": "✓ نشط: ملف كوكيز ({file})", + "none_active": "○ لا توجد كوكيز نشطة" }, "custom_command": { "help_text": "أدخل أمر yt-dlp مخصص أدناه. سيتم إضافة الرابط الحالي تلقائياً.

للحصول على قائمة كاملة بالخيارات وأمثلة الاستخدام
انقر هنا لمشاهدة الوثائق الرسمية لـ yt-dlp.

ملاحظة: يتم التعامل مع مسار التنزيل ونموذج اسم الملف تلقائياً.", @@ -137,7 +141,14 @@ "full_command": "🔧 الأمر الكامل: {command}", "command_success": "✅ تم تنفيذ الأمر المخصص بنجاح!", "command_failed": "❌ فشل الأمر برمز الخروج {code}", - "command_error": "❌ خطأ في تنفيذ الأمر المخصص: {error}" + "command_error": "❌ خطأ في تنفيذ الأمر المخصص: {error}", + "error_no_url": "❌ خطأ: لم يتم تقديم عنوان URL. يرجى إدخال رابط في النافذة الرئيسية.", + "error_no_command": "❌ خطأ: لم يتم تقديم أي أمر. يرجى إدخال معاملات yt-dlp.", + "executing": "🚀 جارٍ تنفيذ أمر yt-dlp مخصص", + "url_label": "📍 الرابط: {url}", + "args_label": "⚙️ المعاملات: {command}", + "download_path_label": "📁 مسار التنزيل: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "قم بتكوين إعدادات البروكسي للتنزيلات. اتركه فارغاً للاتصال المباشر.", @@ -159,7 +170,15 @@ "invalid_main_url": "تنسيق رابط البروكسي الرئيسي غير صالح", "invalid_geo_url": "تنسيق رابط بروكسي الموقع غير صالح", "main_configured": "تم تكوين البروكسي الرئيسي", - "geo_configured": "تم تكوين بروكسي الموقع" + "geo_configured": "تم تكوين بروكسي الموقع", + "set_title": "تم تعيين الوكيل", + "set_message": "تم تعيين الوكيل الرئيسي وحفظه: {proxy}", + "geo_set_title": "تم تعيين وكيل جغرافي", + "geo_set_message": "تم تعيين وكيل التحقق الجغرافي وحفظه: {proxy}", + "cleared_title": "تم مسح إعدادات الوكيل", + "cleared_message": "تم مسح جميع إعدادات الوكيل وحفظها.", + "saved_main": "تم حفظ الوكيل الرئيسي: {proxy}", + "saved_geo": "تم حفظ وكيل الموقع: {proxy}" }, "download": { "preparing": "جاري التحضير للتنزيل...", @@ -347,7 +366,11 @@ "zero_selected": "تم اختيار 0", "analyze_first_tooltip": "يرجى تحليل الفيديو أولاً", "audio_mode_disabled": "غير متاح في وضع الصوت فقط", - "select_subtitles_first": "يرجى تحديد الترجمة أولاً" + "select_subtitles_first": "يرجى تحديد الترجمة أولاً", + "settings_tooltip": "المسار الحالي: {path}\nحد السرعة: {speed_limit}", + "speed_limit_none": "بدون", + "open_folder_error": "تعذر فتح المجلد: {error}", + "time_range_set": "تم تعيين المقطع: {section}" }, "sponsorblock": { "sponsor": "الراعي", @@ -446,7 +469,8 @@ "next_check": "الفحص التالي: {time}", "next_check_error": "الفحص التالي: خطأ في الحساب", "checking": "🔄 جاري الفحص...", - "check_now": "🔍 التحقق من التحديثات الآن" + "check_now": "🔍 التحقق من التحديثات الآن", + "current_version": "إصدار yt-dlp الحالي: {version}" }, "url_validation": { "empty_url": "لا يمكن أن يكون الرابط فارغًا", @@ -477,6 +501,7 @@ "clear_confirm_message": "هل أنت متأكد؟ لا يمكن التراجع عن هذا.", "no_history": "لا يوجد سجل بعد", "no_history_description": "ستظهر تنزيلاتك هنا", + "loading": "جارٍ تحميل السجل...", "search_placeholder": "بحث...", "open_location": "فتح الموقع", "redownload": "إعادة التنزيل", @@ -495,7 +520,47 @@ "one_entry": "تنزيل واحد", "redownload_confirm_title": "إعادة التنزيل؟", "redownload_confirm_message": "إعادة التنزيل؟\n\n{title}", - "redownload_started": "بدأ التنزيل" + "redownload_started": "بدأ التنزيل", + "no_url_error": "لم يتم العثور على عنوان URL في سجل التاريخ", + "redownload_failed": "فشل بدء إعادة التنزيل: {error}" + }, + "ffmpeg": { + "installation_title": "تثبيت FFmpeg", + "installation_message": "يحتاج YTSage إلى FFmpeg لمعالجة الفيديوهات.\n\nاختر خيار التثبيت أدناه:", + "install_button": "تثبيت FFmpeg", + "manual_guide": "الدليل اليدوي", + "installation_failed": "واجه تثبيت FFmpeg مشكلة.", + "already_installed": "تم تثبيت FFmpeg بالفعل!", + "installation_complete": "اكتملت عملية التثبيت. يمكنك إغلاق هذا الحوار ومتابعة استخدام YTSage.", + "installing": "جارٍ تثبيت FFmpeg... يرجى الانتظار", + "install_success": "تم تثبيت FFmpeg بنجاح!", + "installation_complete_close": "اكتملت عملية التثبيت. يمكنك الآن إغلاق هذا الحوار ومتابعة استخدام YTSage.", + "try_manual": "يرجى محاولة استخدام دليل التثبيت اليدوي بدلاً من ذلك." + }, + "ytdlp_setup": { + "required_title": "إعداد yt-dlp مطلوب", + "description": "يتطلب YTSage وجود yt-dlp لتنزيل الفيديوهات.

لم يتم العثور على yt-dlp في الدليل المحلي للتطبيق. يحتاج YTSage إلى إعداد yt-dlp لنظام {os_name}.

يرجى اختيار خيار أدناه:", + "option_auto": "تنزيل تلقائيًا (موصى به)", + "option_manual": "اختيار المسار يدويًا", + "setup_button": "إعداد yt-dlp", + "downloading": "جارٍ تنزيل yt-dlp...", + "success": "تم تثبيت yt-dlp بنجاح!", + "error": "خطأ: {error}", + "download_failed_title": "فشل التنزيل", + "download_failed_message": "فشل تنزيل yt-dlp: {error}", + "select_executable_title": "اختر ملف yt-dlp التنفيذي", + "copied_to": "تم نسخ yt-dlp بنجاح إلى {path}", + "setup_error_title": "خطأ في الإعداد", + "copy_error": "خطأ أثناء نسخ yt-dlp إلى مجلد التطبيق: {error}", + "invalid_executable_title": "ملف تنفيذي غير صالح", + "invalid_executable_message": "الملف المحدد لا يبدو كتنفيذ صحيح لـ yt-dlp.", + "verify_error": "خطأ أثناء التحقق من ملف yt-dlp التنفيذي: {error}", + "setup_failed_title": "فشل الإعداد", + "setup_failed_message": "فشل إعداد yt-dlp. قد لا تعمل بعض الميزات بشكل صحيح.", + "success_dialog_title": "إعداد yt-dlp", + "success_dialog_message": "تم تكوين yt-dlp بنجاح في:\n{path}", + "file_filter_windows": "ملفات تنفيذية (*.exe)", + "file_filter_all": "كل الملفات (*)" }, "ffmpeg_updater": { "title": "مدقق إصدار FFmpeg", From 180f9e77a445dada54057683db34269cff39d6be Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:49:57 +0200 Subject: [PATCH 390/568] Update and expand German translations Added and updated multiple German translation strings for features including yt-dlp log, cookie and proxy management, custom command errors, download settings, FFmpeg installation, and yt-dlp setup dialogs. This improves localization coverage and user guidance for new and existing features. --- languages/de.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 7 deletions(-) diff --git a/languages/de.json b/languages/de.json index 3e0b073..2c17bac 100644 --- a/languages/de.json +++ b/languages/de.json @@ -93,7 +93,8 @@ "select_subtitles": "Untertitel auswählen", "filter_languages_placeholder": "Sprachen filtern (z.B. en, de)...", "no_subtitles_available": "Keine Untertitel verfügbar", - "matching": "passend" + "matching": "passend", + "ytdlp_log_title": "yt-dlp-Protokoll" }, "tabs": { "cookies": "Mit Cookies anmelden", @@ -124,7 +125,10 @@ "browser_selected_title": "Browser-Cookies angewendet", "browser_applied_message": "Browser-Cookies werden extrahiert von: {browser}", "cleared_title": "Cookies gelöscht", - "cleared_message": "Cookie-Einstellungen wurden gelöscht" + "cleared_message": "Cookie-Einstellungen wurden gelöscht", + "active_browser": "✓ Aktiv: Browser-Cookies ({browser})", + "active_file": "✓ Aktiv: Cookie-Datei ({file})", + "none_active": "○ Keine Cookies aktiv" }, "custom_command": { "help_text": "Geben Sie Ihren benutzerdefinierten yt-dlp-Befehl unten ein. Die aktuelle URL wird automatisch angehängt.

Für die vollständige Liste der Optionen und Verwendungsbeispiele klicken Sie hier, um die offizielle yt-dlp-Dokumentation anzuzeigen.

Hinweis: Download-Pfad und Dateinamen-Vorlage werden automatisch behandelt.", @@ -137,7 +141,14 @@ "full_command": "🔧 Vollständiger Befehl: {command}", "command_success": "✅ Benutzerdefinierter Befehl erfolgreich ausgeführt!", "command_failed": "❌ Befehl fehlgeschlagen mit Exit-Code {code}", - "command_error": "❌ Fehler beim Ausführen des benutzerdefinierten Befehls: {error}" + "command_error": "❌ Fehler beim Ausführen des benutzerdefinierten Befehls: {error}", + "error_no_url": "❌ Fehler: Keine URL angegeben. Bitte geben Sie im Hauptfenster eine URL ein.", + "error_no_command": "❌ Fehler: Kein Befehl angegeben. Bitte yt-dlp-Argumente eingeben.", + "executing": "🚀 Benutzerdefinierter yt-dlp-Befehl wird ausgeführt", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Argumente: {command}", + "download_path_label": "📁 Download-Pfad: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Proxy-Einstellungen für Downloads konfigurieren. Leer lassen für direkte Verbindung.", @@ -159,7 +170,15 @@ "invalid_main_url": "Ungültiges Haupt-Proxy-URL-Format", "invalid_geo_url": "Ungültiges Geo-Proxy-URL-Format", "main_configured": "Haupt-Proxy konfiguriert", - "geo_configured": "Geo-Proxy konfiguriert" + "geo_configured": "Geo-Proxy konfiguriert", + "set_title": "Proxy gesetzt", + "set_message": "Haupt-Proxy gesetzt und gespeichert: {proxy}", + "geo_set_title": "Geo-Proxy gesetzt", + "geo_set_message": "Geo-Prüf-Proxy gesetzt und gespeichert: {proxy}", + "cleared_title": "Proxy-Einstellungen gelöscht", + "cleared_message": "Alle Proxy-Einstellungen wurden gelöscht und gespeichert.", + "saved_main": "Gespeicherter Haupt-Proxy: {proxy}", + "saved_geo": "Gespeicherter Geo-Proxy: {proxy}" }, "download": { "preparing": "Download wird vorbereitet...", @@ -347,7 +366,11 @@ "zero_selected": "0 ausgewählt", "analyze_first_tooltip": "Bitte analysieren Sie zuerst das Video", "audio_mode_disabled": "Nicht verfügbar im Nur-Audio-Modus", - "select_subtitles_first": "Bitte wählen Sie zuerst Untertitel aus" + "select_subtitles_first": "Bitte wählen Sie zuerst Untertitel aus", + "settings_tooltip": "Aktueller Pfad: {path}\nGeschwindigkeitslimit: {speed_limit}", + "speed_limit_none": "Keines", + "open_folder_error": "Ordner konnte nicht geöffnet werden: {error}", + "time_range_set": "Abschnitt gesetzt: {section}" }, "sponsorblock": { "sponsor": "Sponsor", @@ -446,7 +469,8 @@ "next_check": "Nächste Prüfung: {time}", "next_check_error": "Nächste Prüfung: Fehler bei Berechnung", "checking": "🔄 Prüfen...", - "check_now": "🔍 Jetzt nach Updates suchen" + "check_now": "🔍 Jetzt nach Updates suchen", + "current_version": "Aktuelle yt-dlp-Version: {version}" }, "url_validation": { "empty_url": "URL kann nicht leer sein", @@ -477,6 +501,7 @@ "clear_confirm_message": "Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.", "no_history": "Noch kein Verlauf", "no_history_description": "Ihre Downloads werden hier angezeigt", + "loading": "Verlauf wird geladen...", "search_placeholder": "Suchen...", "open_location": "Speicherort Öffnen", "redownload": "Erneut Laden", @@ -495,7 +520,47 @@ "one_entry": "1 Download", "redownload_confirm_title": "Erneut Laden?", "redownload_confirm_message": "Erneut herunterladen?\n\n{title}", - "redownload_started": "Download gestartet" + "redownload_started": "Download gestartet", + "no_url_error": "Keine URL im Verlaufseintrag gefunden", + "redownload_failed": "Neuer Download konnte nicht gestartet werden: {error}" + }, + "ffmpeg": { + "installation_title": "FFmpeg-Installation", + "installation_message": "YTSage benötigt FFmpeg zur Verarbeitung von Videos.\n\nWähle unten eine Installationsoption:", + "install_button": "FFmpeg installieren", + "manual_guide": "Manuelle Anleitung", + "installation_failed": "Bei der FFmpeg-Installation ist ein Problem aufgetreten.", + "already_installed": "FFmpeg ist bereits installiert!", + "installation_complete": "Installation abgeschlossen. Sie können diesen Dialog schließen und YTSage weiter nutzen.", + "installing": "FFmpeg wird installiert... Bitte warten", + "install_success": "FFmpeg wurde erfolgreich installiert!", + "installation_complete_close": "Installation abgeschlossen. Sie können diesen Dialog jetzt schließen und YTSage weiter nutzen.", + "try_manual": "Bitte versuchen Sie stattdessen die manuelle Installationsanleitung." + }, + "ytdlp_setup": { + "required_title": "yt-dlp-Einrichtung erforderlich", + "description": "YTSage benötigt yt-dlp zum Herunterladen von Videos.

yt-dlp wurde im lokalen App-Verzeichnis nicht gefunden. YTSage muss yt-dlp für dein {os_name}-System einrichten.

Bitte wähle unten eine Option:", + "option_auto": "Automatisch herunterladen (empfohlen)", + "option_manual": "Pfad manuell auswählen", + "setup_button": "yt-dlp einrichten", + "downloading": "yt-dlp wird heruntergeladen...", + "success": "yt-dlp wurde erfolgreich installiert!", + "error": "Fehler: {error}", + "download_failed_title": "Download fehlgeschlagen", + "download_failed_message": "yt-dlp konnte nicht heruntergeladen werden: {error}", + "select_executable_title": "yt-dlp-Programm auswählen", + "copied_to": "yt-dlp erfolgreich nach {path} kopiert", + "setup_error_title": "Einrichtungsfehler", + "copy_error": "Fehler beim Kopieren von yt-dlp ins App-Verzeichnis: {error}", + "invalid_executable_title": "Ungültige Datei", + "invalid_executable_message": "Die ausgewählte Datei scheint kein gültiges yt-dlp-Programm zu sein.", + "verify_error": "Fehler beim Prüfen der yt-dlp-Datei: {error}", + "setup_failed_title": "Einrichtung fehlgeschlagen", + "setup_failed_message": "yt-dlp konnte nicht eingerichtet werden. Einige Funktionen funktionieren möglicherweise nicht korrekt.", + "success_dialog_title": "yt-dlp-Einrichtung", + "success_dialog_message": "yt-dlp wurde erfolgreich eingerichtet unter:\n{path}", + "file_filter_windows": "Ausführbare Dateien (*.exe)", + "file_filter_all": "Alle Dateien (*)" }, "ffmpeg_updater": { "title": "FFmpeg-Versionsprüfer", From d2dd73d34d4b555fb2ada9566ed853f9ea127d7f Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:03 +0200 Subject: [PATCH 391/568] Add new localization strings for setup and status dialogs Introduces additional English localization keys for yt-dlp log, cookie and proxy status, custom command errors, download settings, FFmpeg installation, yt-dlp setup, and improved download history messages. These changes support new UI dialogs and error handling features. --- languages/en.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 7 deletions(-) diff --git a/languages/en.json b/languages/en.json index b961214..807fd1e 100644 --- a/languages/en.json +++ b/languages/en.json @@ -94,7 +94,8 @@ "filter_languages_placeholder": "Filter languages (e.g., en, es)...", "filter_playlist_placeholder": "Filter videos...", "no_subtitles_available": "No subtitles available", - "matching": "matching" + "matching": "matching", + "ytdlp_log_title": "yt-dlp Log" }, "tabs": { "cookies": "Login with Cookies", @@ -125,7 +126,10 @@ "browser_selected_title": "Browser Cookies Applied", "browser_applied_message": "Browser cookies will be extracted from: {browser}", "cleared_title": "Cookies Cleared", - "cleared_message": "Cookie settings have been cleared" + "cleared_message": "Cookie settings have been cleared", + "active_browser": "✓ Active: Browser cookies ({browser})", + "active_file": "✓ Active: Cookie file ({file})", + "none_active": "○ No cookies active" }, "custom_command": { "help_text": "Enter your custom yt-dlp command below. The current URL will be appended automatically.

For the full list of options and usage examples, click here to view the official yt-dlp documentation.

Note: Download path and filename template will be handled automatically.", @@ -138,7 +142,14 @@ "full_command": "🔧 Full command: {command}", "command_success": "✅ Custom command completed successfully!", "command_failed": "❌ Command failed with exit code {code}", - "command_error": "❌ Error running custom command: {error}" + "command_error": "❌ Error running custom command: {error}", + "error_no_url": "❌ Error: No URL provided. Please enter a URL in the main window.", + "error_no_command": "❌ Error: No command provided. Please enter yt-dlp arguments.", + "executing": "🚀 Executing custom yt-dlp command", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Arguments: {command}", + "download_path_label": "📁 Download path: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Configure proxy settings for downloading. Leave empty to use direct connection.", @@ -160,7 +171,15 @@ "invalid_main_url": "Invalid main proxy URL format", "invalid_geo_url": "Invalid geo proxy URL format", "main_configured": "Main proxy configured", - "geo_configured": "Geo proxy configured" + "geo_configured": "Geo proxy configured", + "set_title": "Proxy Set", + "set_message": "Main proxy set and saved: {proxy}", + "geo_set_title": "Geo Proxy Set", + "geo_set_message": "Geo-verification proxy set and saved: {proxy}", + "cleared_title": "Proxy Settings Cleared", + "cleared_message": "All proxy settings have been cleared and saved.", + "saved_main": "Saved main proxy: {proxy}", + "saved_geo": "Saved geo proxy: {proxy}" }, "download": { "preparing": "Preparing download...", @@ -348,7 +367,11 @@ "zero_selected": "0 selected", "analyze_first_tooltip": "Please analyze the video first", "audio_mode_disabled": "Not available in audio-only mode", - "select_subtitles_first": "Please select subtitles first" + "select_subtitles_first": "Please select subtitles first", + "settings_tooltip": "Current Path: {path}\nSpeed Limit: {speed_limit}", + "speed_limit_none": "None", + "open_folder_error": "Could not open folder: {error}", + "time_range_set": "Section set: {section}" }, "sponsorblock": { "sponsor": "Sponsor", @@ -447,7 +470,8 @@ "next_check": "Next check: {time}", "next_check_error": "Next check: Error calculating", "checking": "🔄 Checking...", - "check_now": "🔍 Check for Updates Now" + "check_now": "🔍 Check for Updates Now", + "current_version": "Current yt-dlp version: {version}" }, "url_validation": { "empty_url": "URL cannot be empty", @@ -478,6 +502,7 @@ "clear_confirm_message": "Are you sure you want to clear all download history? This cannot be undone.", "no_history": "No download history yet", "no_history_description": "Your downloaded videos and audio will appear here", + "loading": "Loading history...", "search_placeholder": "Search history...", "open_location": "Open File Location", "redownload": "Redownload", @@ -496,7 +521,47 @@ "one_entry": "1 download", "redownload_confirm_title": "Redownload Video?", "redownload_confirm_message": "Download this video again using the same settings?\n\n{title}", - "redownload_started": "Redownload started" + "redownload_started": "Redownload started", + "no_url_error": "No URL found in history entry", + "redownload_failed": "Failed to start redownload: {error}" + }, + "ffmpeg": { + "installation_title": "FFmpeg Installation", + "installation_message": "YTSage needs FFmpeg to process videos.\n\nChoose an installation option below:", + "install_button": "Install FFmpeg", + "manual_guide": "Manual Guide", + "installation_failed": "FFmpeg installation encountered an issue.", + "already_installed": "FFmpeg is already installed!", + "installation_complete": "Installation complete. You can close this dialog and continue using YTSage.", + "installing": "Installing FFmpeg... Please wait", + "install_success": "FFmpeg has been installed successfully!", + "installation_complete_close": "Installation complete. You can now close this dialog and continue using YTSage.", + "try_manual": "Please try using the manual installation guide instead." + }, + "ytdlp_setup": { + "required_title": "yt-dlp Setup Required", + "description": "YTSage requires yt-dlp to download videos.

yt-dlp was not found in the app's local directory. YTSage needs to set up yt-dlp for your {os_name} system.

Please choose an option below:", + "option_auto": "Download automatically (Recommended)", + "option_manual": "Select path manually", + "setup_button": "Setup yt-dlp", + "downloading": "Downloading yt-dlp...", + "success": "yt-dlp was successfully installed!", + "error": "Error: {error}", + "download_failed_title": "Download Failed", + "download_failed_message": "Failed to download yt-dlp: {error}", + "select_executable_title": "Select yt-dlp executable", + "copied_to": "yt-dlp successfully copied to {path}", + "setup_error_title": "Setup Error", + "copy_error": "Error copying yt-dlp to app directory: {error}", + "invalid_executable_title": "Invalid Executable", + "invalid_executable_message": "The selected file does not appear to be a valid yt-dlp executable.", + "verify_error": "Error verifying yt-dlp executable: {error}", + "setup_failed_title": "Setup Failed", + "setup_failed_message": "Failed to set up yt-dlp. Some features may not work correctly.", + "success_dialog_title": "yt-dlp Setup", + "success_dialog_message": "yt-dlp has been successfully configured at:\n{path}", + "file_filter_windows": "Executable Files (*.exe)", + "file_filter_all": "All Files (*)" }, "ffmpeg_updater": { "title": "FFmpeg Version Checker", From 53049fc046ac06936ce7e1e16516b12bbc5e62b4 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:08 +0200 Subject: [PATCH 392/568] Add and update Spanish translations for new features Expanded the es.json file with new and updated translations for features related to yt-dlp setup, FFmpeg installation, proxy configuration, download settings, and history management. These changes support new UI elements and error messages, improving localization coverage for recent and upcoming features. --- languages/es.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 72 insertions(+), 7 deletions(-) diff --git a/languages/es.json b/languages/es.json index f27c4dd..3482bca 100644 --- a/languages/es.json +++ b/languages/es.json @@ -60,7 +60,8 @@ "select_subtitles": "Seleccionar Subtítulos", "filter_languages_placeholder": "Filtrar idiomas (ej., en, es)...", "no_subtitles_available": "No hay subtítulos disponibles", - "matching": "que coincidan con" + "matching": "que coincidan con", + "ytdlp_log_title": "Registro de yt-dlp" }, "tabs": { "cookies": "Iniciar sesión con Cookies", @@ -91,7 +92,10 @@ "browser_selected_title": "Cookies del Navegador Aplicadas", "browser_applied_message": "Las cookies del navegador se extraerán de: {browser}", "cleared_title": "Cookies Borradas", - "cleared_message": "La configuración de cookies se ha borrado" + "cleared_message": "La configuración de cookies se ha borrado", + "active_browser": "✓ Activas: cookies del navegador ({browser})", + "active_file": "✓ Activo: archivo de cookies ({file})", + "none_active": "○ No hay cookies activas" }, "custom_command": { "help_text": "Ingresa tu comando yt-dlp personalizado a continuación. La URL actual se añadirá automáticamente.

Para ver la lista completa de opciones y ejemplos de uso, haz clic aquí para ver la documentación oficial de yt-dlp.

Nota: La ruta de descarga y la plantilla de nombre de archivo se manejarán automáticamente.", @@ -102,7 +106,14 @@ "full_command": "🔧 Comando completo: {command}", "command_failed": "❌ El comando falló con código de salida {code}", "command_success": "✅ ¡Comando completado exitosamente!", - "command_error": "❌ Error ejecutando comando: {error}" + "command_error": "❌ Error ejecutando comando: {error}", + "error_no_url": "❌ Error: No se proporcionó URL. Ingresa una URL en la ventana principal.", + "error_no_command": "❌ Error: No se proporcionó comando. Ingresa argumentos de yt-dlp.", + "executing": "🚀 Ejecutando comando personalizado de yt-dlp", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Argumentos: {command}", + "download_path_label": "📁 Ruta de descarga: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Configurar ajustes de proxy para conexiones de red y geo-verificación.\nEl proxy puede ayudar a evitar restricciones regionales y mejorar el rendimiento de descarga.", @@ -120,7 +131,15 @@ "invalid_main_url": "Formato de URL de proxy principal inválido", "invalid_geo_url": "Formato de URL de geo proxy inválido", "main_configured": "Proxy principal configurado", - "geo_configured": "Geo proxy configurado" + "geo_configured": "Geo proxy configurado", + "set_title": "Proxy establecido", + "set_message": "Proxy principal establecido y guardado: {proxy}", + "geo_set_title": "Proxy geo establecido", + "geo_set_message": "Proxy de verificación geográfica establecido y guardado: {proxy}", + "cleared_title": "Configuración de proxy borrada", + "cleared_message": "Se borró y guardó toda la configuración de proxy.", + "saved_main": "Proxy principal guardado: {proxy}", + "saved_geo": "Proxy geo guardado: {proxy}" }, "download": { "preparing": "Preparando descarga...", @@ -330,7 +349,11 @@ "zero_selected": "0 seleccionados", "analyze_first_tooltip": "Por favor analiza el video primero", "audio_mode_disabled": "No disponible en modo solo audio", - "select_subtitles_first": "Por favor selecciona subtítulos primero" + "select_subtitles_first": "Por favor selecciona subtítulos primero", + "settings_tooltip": "Ruta actual: {path}\nLímite de velocidad: {speed_limit}", + "speed_limit_none": "Ninguno", + "open_folder_error": "No se pudo abrir la carpeta: {error}", + "time_range_set": "Sección establecida: {section}" }, "sponsorblock": { "sponsor": "Patrocinador", @@ -429,7 +452,8 @@ "next_check": "Próxima verificación: {time}", "next_check_error": "Próxima verificación: Error al calcular", "checking": "🔄 Verificando...", - "check_now": "🔍 Verificar actualizaciones ahora" + "check_now": "🔍 Verificar actualizaciones ahora", + "current_version": "Versión actual de yt-dlp: {version}" }, "url_validation": { "empty_url": "La URL no puede estar vacía", @@ -460,6 +484,7 @@ "clear_confirm_message": "¿Estás seguro de que quieres borrar todo el historial? Esto no se puede deshacer.", "no_history": "Aún no hay historial", "no_history_description": "Tus descargas aparecerán aquí", + "loading": "Cargando historial...", "search_placeholder": "Buscar...", "open_location": "Abrir Ubicación", "redownload": "Descargar de Nuevo", @@ -478,7 +503,47 @@ "one_entry": "1 descarga", "redownload_confirm_title": "¿Descargar de Nuevo?", "redownload_confirm_message": "¿Descargar nuevamente?\n\n{title}", - "redownload_started": "Descarga iniciada" + "redownload_started": "Descarga iniciada", + "no_url_error": "No se encontró URL en la entrada del historial", + "redownload_failed": "No se pudo iniciar la re-descarga: {error}" + }, + "ffmpeg": { + "installation_title": "Instalación de FFmpeg", + "installation_message": "YTSage necesita FFmpeg para procesar videos.\n\nElige una opción de instalación:", + "install_button": "Instalar FFmpeg", + "manual_guide": "Guía manual", + "installation_failed": "La instalación de FFmpeg encontró un problema.", + "already_installed": "¡FFmpeg ya está instalado!", + "installation_complete": "Instalación completa. Puedes cerrar este diálogo y seguir usando YTSage.", + "installing": "Instalando FFmpeg... Por favor espera", + "install_success": "¡FFmpeg se instaló correctamente!", + "installation_complete_close": "Instalación completa. Ahora puedes cerrar este diálogo y seguir usando YTSage.", + "try_manual": "Intenta usar la guía de instalación manual en su lugar." + }, + "ytdlp_setup": { + "required_title": "Se requiere configurar yt-dlp", + "description": "YTSage requiere yt-dlp para descargar videos.

No se encontró yt-dlp en el directorio local de la app. YTSage necesita configurar yt-dlp para tu sistema {os_name}.

Elige una opción:", + "option_auto": "Descargar automáticamente (recomendado)", + "option_manual": "Seleccionar ruta manualmente", + "setup_button": "Configurar yt-dlp", + "downloading": "Descargando yt-dlp...", + "success": "¡yt-dlp se instaló correctamente!", + "error": "Error: {error}", + "download_failed_title": "Descarga fallida", + "download_failed_message": "No se pudo descargar yt-dlp: {error}", + "select_executable_title": "Seleccionar ejecutable de yt-dlp", + "copied_to": "yt-dlp se copió correctamente a {path}", + "setup_error_title": "Error de configuración", + "copy_error": "Error al copiar yt-dlp al directorio de la app: {error}", + "invalid_executable_title": "Ejecutable inválido", + "invalid_executable_message": "El archivo seleccionado no parece ser un ejecutable válido de yt-dlp.", + "verify_error": "Error al verificar el ejecutable de yt-dlp: {error}", + "setup_failed_title": "Configuración fallida", + "setup_failed_message": "No se pudo configurar yt-dlp. Algunas funciones pueden no funcionar correctamente.", + "success_dialog_title": "Configuración de yt-dlp", + "success_dialog_message": "yt-dlp se configuró correctamente en:\n{path}", + "file_filter_windows": "Archivos ejecutables (*.exe)", + "file_filter_all": "Todos los archivos (*)" }, "ffmpeg_updater": { "title": "Comprobador de Versión FFmpeg", From 1102f7fd4e1d47d8518e42bb07232d1ea0b1f8af Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:13 +0200 Subject: [PATCH 393/568] Localize log window title in LogWindow dialog Replaced the hardcoded log window title with a localized string using the translation function. This improves internationalization support for the dialog. --- src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index c25481f..ee159a2 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -31,7 +31,7 @@ from src.core.ytsage_deno import check_deno_installed, get_deno_path class LogWindow(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle("yt-dlp Log") + self.setWindowTitle(_("dialogs.ytdlp_log_title")) self.setMinimumSize(700, 500) layout = QVBoxLayout(self) From dd6918eefc38113f490d3d2e6f16e6b34b287c84 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:17 +0200 Subject: [PATCH 394/568] Refactor dialog strings for i18n support Replaces hardcoded status and log messages in CustomOptionsDialog with calls to the translation function (_), enabling internationalization of cookie, proxy, and custom command messages. --- .../ytsage_dialogs_custom.py | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index e87a3eb..b254f8a 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -675,13 +675,17 @@ class CustomOptionsDialog(QDialog): def _update_cookies_active_status(self) -> None: """Update the status indicator showing if cookies are currently active""" if hasattr(self._parent, "browser_cookies_option") and self._parent.browser_cookies_option: - self.cookies_active_status.setText(f"✓ Active: Browser cookies ({self._parent.browser_cookies_option})") + self.cookies_active_status.setText( + _("cookies.active_browser", browser=self._parent.browser_cookies_option) + ) self.cookies_active_status.setStyleSheet("color: #00cc00; font-weight: bold;") elif hasattr(self._parent, "cookie_file_path") and self._parent.cookie_file_path: - self.cookies_active_status.setText(f"✓ Active: Cookie file ({self._parent.cookie_file_path.name})") + self.cookies_active_status.setText( + _("cookies.active_file", file=self._parent.cookie_file_path.name) + ) self.cookies_active_status.setStyleSheet("color: #00cc00; font-weight: bold;") else: - self.cookies_active_status.setText("○ No cookies active") + self.cookies_active_status.setText(_("cookies.none_active")) self.cookies_active_status.setStyleSheet("color: #888888; font-style: italic;") def _initialize_proxy_settings(self) -> None: @@ -854,9 +858,9 @@ class CustomOptionsDialog(QDialog): if saved_main or saved_geo: status_parts = [] if saved_main: - status_parts.append(f"Saved main proxy: {saved_main}") + status_parts.append(_("proxy.saved_main", proxy=saved_main)) if saved_geo: - status_parts.append(f"Saved geo proxy: {saved_geo}") + status_parts.append(_("proxy.saved_geo", proxy=saved_geo)) self.proxy_status.setText(" | ".join(status_parts)) self.proxy_status.setStyleSheet("color: #888888; font-style: italic;") else: @@ -866,10 +870,10 @@ class CustomOptionsDialog(QDialog): issues = [] if main_proxy and not self.validate_proxy_url(main_proxy): - issues.append("Invalid main proxy URL format") + issues.append(_("proxy.invalid_main_url")) if geo_proxy and not self.validate_proxy_url(geo_proxy): - issues.append("Invalid geo proxy URL format") + issues.append(_("proxy.invalid_geo_url")) if issues: self.proxy_status.setText(" | ".join(issues)) @@ -877,9 +881,9 @@ class CustomOptionsDialog(QDialog): else: status_parts = [] if main_proxy: - status_parts.append("Main proxy configured") + status_parts.append(_("proxy.main_configured")) if geo_proxy: - status_parts.append("Geo proxy configured") + status_parts.append(_("proxy.geo_configured")) self.proxy_status.setText(" | ".join(status_parts)) self.proxy_status.setStyleSheet("color: #00cc00; font-style: italic;") @@ -887,24 +891,24 @@ class CustomOptionsDialog(QDialog): def run_custom_command(self) -> None: url = self._parent.url_input.text().strip() if not url: - self.log_output.append("❌ Error: No URL provided. Please enter a URL in the main window.") + self.log_output.append(_("custom_command.error_no_url")) return command = self.command_input.toPlainText().strip() if not command: - self.log_output.append("❌ Error: No command provided. Please enter yt-dlp arguments.") + self.log_output.append(_("custom_command.error_no_command")) return # Get download path from parent path = self._parent.last_path self.log_output.clear() - self.log_output.append("🚀 Executing custom yt-dlp command") - self.log_output.append(f"📍 URL: {url}") - self.log_output.append(f"⚙️ Arguments: {command}") + self.log_output.append(_("custom_command.executing")) + self.log_output.append(_("custom_command.url_label", url=url)) + self.log_output.append(_("custom_command.args_label", command=command)) if path: - self.log_output.append(f"📁 Download path: {path}") - self.log_output.append("=" * 50) + self.log_output.append(_("custom_command.download_path_label", path=path)) + self.log_output.append(_("custom_command.separator")) self.run_btn.setEnabled(False) self.run_btn.setText(_("command.running")) From 5eda759152438fc5a38ea56c0ea95a38f59ef5c8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:22 +0200 Subject: [PATCH 395/568] Add localization to FFmpeg installation dialog Replaced hardcoded strings in the FFmpeg installation dialog with localized strings using the `_` function. This improves internationalization support and prepares the dialog for translation. --- .../ytsage_dialogs_ffmpeg.py | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py index af521b1..44eb563 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py @@ -11,6 +11,7 @@ from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QPushButton, QVBoxLa from src.core.ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed from src.utils.ytsage_constants import ICON_PATH +from src.utils.ytsage_localization import _ class FFmpegInstallThread(QThread): @@ -30,7 +31,7 @@ class FFmpegInstallThread(QThread): class FFmpegCheckDialog(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) - self.setWindowTitle("FFmpeg Installation") + self.setWindowTitle(_("ffmpeg.installation_title")) self.setMinimumWidth(500) self.setMinimumHeight(280) self.resize(500, 300) @@ -50,13 +51,13 @@ class FFmpegCheckDialog(QDialog): layout.setContentsMargins(20, 20, 20, 20) # Header with title and improved spacing - header_text = QLabel("FFmpeg Installation") + header_text = QLabel(_("ffmpeg.installation_title")) header_text.setStyleSheet("font-size: 16px; font-weight: bold; color: #ffffff; padding: 5px 0;") header_text.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(header_text) # Message - self.message_label = QLabel("YTSage needs FFmpeg to process videos.\n\n" "Choose an installation option below:") + self.message_label = QLabel(_("ffmpeg.installation_message")) self.message_label.setWordWrap(True) self.message_label.setStyleSheet("font-size: 13px; color: #cccccc; padding: 10px 0; line-height: 1.4;") self.message_label.setAlignment(Qt.AlignmentFlag.AlignCenter) @@ -93,17 +94,17 @@ class FFmpegCheckDialog(QDialog): button_layout.setSpacing(12) # Install button - self.install_btn = QPushButton("Install FFmpeg") + self.install_btn = QPushButton(_("ffmpeg.install_button")) self.install_btn.clicked.connect(self.start_installation) button_layout.addWidget(self.install_btn) # Manual install button - self.manual_btn = QPushButton("Manual Guide") + self.manual_btn = QPushButton(_("ffmpeg.manual_guide")) self.manual_btn.clicked.connect(lambda: webbrowser.open("https://github.com/oop7/ffmpeg-install-guide")) button_layout.addWidget(self.manual_btn) # Close button - self.close_btn = QPushButton("Close") + self.close_btn = QPushButton(_("buttons.close")) self.close_btn.clicked.connect(self.close) button_layout.addWidget(self.close_btn) @@ -153,15 +154,15 @@ class FFmpegCheckDialog(QDialog): # Check if FFmpeg is already installed if check_ffmpeg_installed(): - self.message_label.setText("FFmpeg is already installed!") - self.progress_label.setText("Installation complete. You can close this dialog and continue using YTSage.") + self.message_label.setText(_("ffmpeg.already_installed")) + self.progress_label.setText(_("ffmpeg.installation_complete")) self.progress_label.show() self.install_btn.hide() self.manual_btn.hide() self.close_btn.setEnabled(True) return - self.message_label.setText("Installing FFmpeg... Please wait") + self.message_label.setText(_("ffmpeg.installing")) self.progress_messages = [] # Clear previous messages self.progress_label.show() @@ -181,13 +182,13 @@ class FFmpegCheckDialog(QDialog): def installation_finished(self, success) -> None: if success: - self.message_label.setText("FFmpeg has been installed successfully!") - self.progress_label.setText("Installation complete. You can now close this dialog and continue using YTSage.") + self.message_label.setText(_("ffmpeg.install_success")) + self.progress_label.setText(_("ffmpeg.installation_complete_close")) self.install_btn.hide() self.manual_btn.hide() else: - self.message_label.setText("FFmpeg installation encountered an issue.") - self.progress_label.setText("Please try using the manual installation guide instead.") + self.message_label.setText(_("ffmpeg.installation_failed")) + self.progress_label.setText(_("ffmpeg.try_manual")) self.install_btn.setEnabled(True) self.manual_btn.setEnabled(True) From 3fbddff279f814b548b1b554775233cf6736a4e6 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:26 +0200 Subject: [PATCH 396/568] Localize yt-dlp setup dialog strings Replaced hardcoded English strings in the YtdlpSetupDialog with calls to the localization function _. This improves internationalization support by allowing all user-facing text in the setup dialog to be translated. --- src/core/ytsage_yt_dlp.py | 54 +++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/src/core/ytsage_yt_dlp.py b/src/core/ytsage_yt_dlp.py index 500515a..be11bdf 100644 --- a/src/core/ytsage_yt_dlp.py +++ b/src/core/ytsage_yt_dlp.py @@ -32,6 +32,7 @@ from src.utils.ytsage_constants import ( YTDLP_SHA256_URL, ) from src.core.ytsage_ffmpeg import get_file_sha256 +from src.utils.ytsage_localization import _ # YTDLP_URLS moved to src\utils\ytsage_constants.py # get_ytdlp_install_dir() moved to src\utils\ytsage_constants.py @@ -162,7 +163,7 @@ class YtdlpSetupDialog(QDialog): def __init__(self, parent=None): super().__init__(parent) - self.setWindowTitle("yt-dlp Setup Required") + self.setWindowTitle(_("ytdlp_setup.required_title")) self.setMinimumWidth(520) self.setMinimumHeight(350) self.resize(520, 380) @@ -253,7 +254,7 @@ class YtdlpSetupDialog(QDialog): layout.setContentsMargins(25, 25, 25, 25) # Header title - title_label = QLabel("yt-dlp Setup Required") + title_label = QLabel(_("ytdlp_setup.required_title")) title_label.setStyleSheet("font-size: 16px; font-weight: bold; color: #ffffff; padding: 5px 0;") title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) layout.addWidget(title_label) @@ -262,10 +263,7 @@ class YtdlpSetupDialog(QDialog): # os_name logic moved to src\utils\ytsage_constants.py info_label = QLabel( - f"YTSage requires yt-dlp to download videos.

" - f"yt-dlp was not found in the app's local directory. " - f"YTSage needs to set up yt-dlp for your {OS_FULL_NAME} system.

" - f"Please choose an option below:" + _("ytdlp_setup.description", os_name=OS_FULL_NAME) ) info_label.setAlignment(Qt.AlignmentFlag.AlignCenter) info_label.setWordWrap(True) @@ -278,9 +276,9 @@ class YtdlpSetupDialog(QDialog): option_layout.setSpacing(8) option_layout.setContentsMargins(0, 0, 0, 0) - self.auto_radio = QRadioButton("Download automatically (Recommended)") + self.auto_radio = QRadioButton(_("ytdlp_setup.option_auto")) self.auto_radio.setChecked(True) - self.manual_radio = QRadioButton("Select path manually") + self.manual_radio = QRadioButton(_("ytdlp_setup.option_manual")) option_layout.addWidget(self.auto_radio) option_layout.addWidget(self.manual_radio) @@ -326,10 +324,10 @@ class YtdlpSetupDialog(QDialog): button_layout.setSpacing(15) button_layout.setContentsMargins(0, 10, 0, 0) # Add top margin for buttons - self.setup_button = QPushButton("Setup yt-dlp") + self.setup_button = QPushButton(_("ytdlp_setup.setup_button")) self.setup_button.clicked.connect(self.setup_ytdlp) - self.cancel_button = QPushButton("Cancel") + self.cancel_button = QPushButton(_("buttons.cancel")) self.cancel_button.clicked.connect(self.reject) button_layout.addWidget(self.setup_button) @@ -347,7 +345,7 @@ class YtdlpSetupDialog(QDialog): def download_ytdlp(self) -> None: self.progress_bar.setVisible(True) self.progress_bar.setValue(0) - self.status_label.setText("Downloading yt-dlp...") + self.status_label.setText(_("ytdlp_setup.downloading")) self.setup_button.setEnabled(False) self.cancel_button.setEnabled(False) @@ -364,15 +362,15 @@ class YtdlpSetupDialog(QDialog): self.cancel_button.setEnabled(True) if success: - self.status_label.setText("yt-dlp was successfully installed!") + self.status_label.setText(_("ytdlp_setup.success")) self.setup_complete.emit(result) self.accept() else: - self.status_label.setText(f"Error: {result}") + self.status_label.setText(_("ytdlp_setup.error", error=result)) error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Icon.Critical) - error_dialog.setWindowTitle("Download Failed") - error_dialog.setText(f"Failed to download yt-dlp: {result}") + error_dialog.setWindowTitle(_("ytdlp_setup.download_failed_title")) + error_dialog.setText(_("ytdlp_setup.download_failed_message", error=result)) # Set the window icon to match the main dialog error_dialog.setWindowIcon(self.windowIcon()) error_dialog.setStyleSheet( @@ -401,9 +399,9 @@ class YtdlpSetupDialog(QDialog): def select_ytdlp_path(self) -> None: if OS_NAME == "Windows": - file_filter = "Executable Files (*.exe)" + file_filter = _("ytdlp_setup.file_filter_windows") else: - file_filter = "All Files (*)" + file_filter = _("ytdlp_setup.file_filter_all") # Apply style to QFileDialog file_dialog = QFileDialog(self) @@ -431,7 +429,9 @@ class YtdlpSetupDialog(QDialog): """ ) - file_path, _ = file_dialog.getOpenFileName(self, "Select yt-dlp executable", "", file_filter) + file_path, _ = file_dialog.getOpenFileName( + self, _("ytdlp_setup.select_executable_title"), "", file_filter + ) if file_path: logger.debug(f"User selected file: {file_path}") @@ -465,7 +465,7 @@ class YtdlpSetupDialog(QDialog): logger.debug(f"Permissions set on Unix system") # Return the path of the copied file - self.status_label.setText(f"yt-dlp successfully copied to {target_path}") + self.status_label.setText(_("ytdlp_setup.copied_to", path=target_path)) logger.debug(f"Emitting setup_complete signal with path: {target_path}") self.setup_complete.emit(target_path) self.accept() @@ -473,8 +473,8 @@ class YtdlpSetupDialog(QDialog): logger.debug(f"Error copying file: {copy_error}", exc_info=True) error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Icon.Critical) - error_dialog.setWindowTitle("Setup Error") - error_dialog.setText(f"Error copying yt-dlp to app directory: {copy_error}") + error_dialog.setWindowTitle(_("ytdlp_setup.setup_error_title")) + error_dialog.setText(_("ytdlp_setup.copy_error", error=copy_error)) error_dialog.setStyleSheet( """ QMessageBox { @@ -502,8 +502,8 @@ class YtdlpSetupDialog(QDialog): logger.debug(f"File verification failed with return code: {result.returncode}") error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Icon.Warning) - error_dialog.setWindowTitle("Invalid Executable") - error_dialog.setText("The selected file does not appear to be a valid yt-dlp executable.") + error_dialog.setWindowTitle(_("ytdlp_setup.invalid_executable_title")) + error_dialog.setText(_("ytdlp_setup.invalid_executable_message")) error_dialog.setStyleSheet( """ QMessageBox { @@ -531,8 +531,8 @@ class YtdlpSetupDialog(QDialog): logger.debug(f"Exception during verification: {e}", exc_info=True) error_dialog = QMessageBox(self) error_dialog.setIcon(QMessageBox.Icon.Critical) - error_dialog.setWindowTitle("Error") - error_dialog.setText(f"Error verifying yt-dlp executable: {e}") + error_dialog.setWindowTitle(_("main_ui.error_title")) + error_dialog.setText(_("ytdlp_setup.verify_error", error=e)) error_dialog.setStyleSheet( """ QMessageBox { @@ -678,8 +678,8 @@ def setup_ytdlp(parent_widget=None): if parent_widget: error_dialog = QMessageBox(parent_widget) error_dialog.setIcon(QMessageBox.Icon.Warning) - error_dialog.setWindowTitle("Setup Failed") - error_dialog.setText("Failed to set up yt-dlp. Some features may not work correctly.") + error_dialog.setWindowTitle(_("ytdlp_setup.setup_failed_title")) + error_dialog.setText(_("ytdlp_setup.setup_failed_message")) # Set the window icon to match the parent error_dialog.setWindowIcon(parent_widget.windowIcon()) error_dialog.setStyleSheet( From 2d343dfacf43e6275388344dfc584c59af7285f1 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:31 +0200 Subject: [PATCH 397/568] Refactor UI strings to use translation function Replaced hardcoded UI strings and tooltips with calls to the translation function (_) throughout ytsage_gui_main.py. This improves localization support and ensures all user-facing messages are translatable. --- src/gui/ytsage_gui_main.py | 50 +++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 99b2677..ffc406d 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -430,7 +430,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # --- Rename Path Button to Settings Button --- self.settings_button = QPushButton(_("buttons.download_settings")) # Renamed button self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method - self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: None") # Update initial tooltip + self.settings_button.setToolTip( + _( + "main_ui.settings_tooltip", + path=self.last_path, + speed_limit=_("main_ui.speed_limit_none"), + ) + ) # Update initial tooltip # --- End Settings Button --- self.download_btn = QPushButton(_("buttons.download")) @@ -568,10 +574,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Update Tooltip if anything changed if path_changed or limit_changed or format_changed or audio_format_changed: - limit_text = "None" + limit_text = _("main_ui.speed_limit_none") if self.speed_limit_value: limit_text = f"{self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index]}" - self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: {limit_text}") + self.settings_button.setToolTip( + _( + "main_ui.settings_tooltip", + path=self.last_path, + speed_limit=limit_text, + ) + ) def start_download(self) -> None: if self.is_updating_ytdlp: @@ -820,7 +832,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): except Exception as e: logger.exception(f"Error opening download folder: {e}") - QMessageBox.warning(self, "Error", f"Could not open folder: {str(e)}") + QMessageBox.warning(self, _("main_ui.error_title"), _("main_ui.open_folder_error", error=str(e))) def download_error(self, error_message) -> None: self.toggle_download_controls(True) @@ -1069,24 +1081,24 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): logger.info(f"Main proxy set: {self.proxy_url}") QMessageBox.information( self, - "Proxy Set", - f"Main proxy set and saved: {proxy_url}", + _("proxy.set_title"), + _("proxy.set_message", proxy=proxy_url), ) if geo_proxy_url: logger.info(f"Geo-verification proxy set: {self.geo_proxy_url}") QMessageBox.information( self, - "Geo Proxy Set", - f"Geo-verification proxy set and saved: {geo_proxy_url}", + _("proxy.geo_set_title"), + _("proxy.geo_set_message", proxy=geo_proxy_url), ) # Show a combined message if both are cleared if not proxy_url and not geo_proxy_url and (ConfigManager.get("proxy_url") or ConfigManager.get("geo_proxy_url")): QMessageBox.information( self, - "Proxy Settings Cleared", - "All proxy settings have been cleared and saved.", + _("proxy.cleared_title"), + _("proxy.cleared_message"), ) def show_about_dialog(self) -> None: # ADDED METHOD HERE @@ -1119,10 +1131,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Trigger analysis self.analyze_url() else: - QMessageBox.warning(self, "Error", "No URL found in history entry") + QMessageBox.warning(self, _("main_ui.error_title"), _("history.no_url_error")) except Exception as e: logger.error(f"Error handling redownload from history: {e}", exc_info=True) - QMessageBox.warning(self, "Error", f"Failed to start redownload: {str(e)}") + QMessageBox.warning(self, _("main_ui.error_title"), _("history.redownload_failed", error=str(e))) def file_already_exists(self, filename) -> None: """Handle case when file already exists - simplified version""" @@ -1378,8 +1390,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): logger.info(f"Selected cookie file: {self.cookie_file_path}") QMessageBox.information( self, - "Cookie File Selected", - f"Cookie file selected: {self.cookie_file_path}", + _("main_ui.cookie_file_selected_title"), + _("main_ui.cookie_file_selected_message", path=self.cookie_file_path), ) elif browser_cookies: self.browser_cookies_option = browser_cookies @@ -1387,8 +1399,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): logger.info(f"Selected browser cookies: {self.browser_cookies_option}") QMessageBox.information( self, - "Browser Cookies Selected", - f"Browser cookies will be extracted from: {browser_cookies}", + _("main_ui.browser_cookies_selected_title"), + _("main_ui.browser_cookies_selected_message", browser=browser_cookies), ) else: self.cookie_file_path = None # Clear path if dialog accepted but no file selected @@ -1414,7 +1426,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): if self.download_section: self.time_range_btn.setStyleSheet(StyleSheet.TIME_RANGE_BTN_ACTIVE) - self.time_range_btn.setToolTip(f"Section set: {self.download_section}") + self.time_range_btn.setToolTip(_("main_ui.time_range_set", section=self.download_section)) else: # Reset to default style if no section is selected self.download_section = None @@ -1428,8 +1440,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): if yt_dlp_path != "yt-dlp": success_dialog = QMessageBox(self) success_dialog.setIcon(QMessageBox.Icon.Information) - success_dialog.setWindowTitle("yt-dlp Setup") - success_dialog.setText(f"yt-dlp has been successfully configured at:\n{yt_dlp_path}") + success_dialog.setWindowTitle(_("ytdlp_setup.success_dialog_title")) + success_dialog.setText(_("ytdlp_setup.success_dialog_message", path=yt_dlp_path)) success_dialog.setWindowIcon(self.windowIcon()) success_dialog.setStyleSheet(StyleSheet.SETUP_SUCCESS_DIALOG) success_dialog.exec() From 07765a7a196d20a3220062fe918c63bad7e40ab1 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:36 +0200 Subject: [PATCH 398/568] Replace hardcoded strings with translatable keys Updated status and error messages in HistoryDialog to use translation keys instead of hardcoded English strings, improving internationalization support. --- src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py index 5227656..6c41906 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py @@ -435,7 +435,7 @@ class HistoryDialog(QDialog): layout.addWidget(self.status_label) def show_loading_state(self): - self.status_label.setText("Loading history...") + self.status_label.setText(_("history.loading")) self.clear_btn.setEnabled(False) def start_loading_history(self): @@ -517,7 +517,7 @@ class HistoryDialog(QDialog): path = Path(path_str) if not path.exists(): - QMessageBox.warning(self, "Error", f"File not found: {path}") + QMessageBox.warning(self, _("main_ui.error_title"), _("history.file_not_found_message", path=path)) return try: From d985980e88781581e956ace13e1b9bd802d65c51 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:41 +0200 Subject: [PATCH 399/568] Localize current version label in auto-update dialog Replaced hardcoded current version label with a localized string using the translation function in the AutoUpdateSettingsDialog. --- src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index d8ea96d..0d04f29 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -573,7 +573,7 @@ class AutoUpdateSettingsDialog(QDialog): # Update status labels current_version = get_ytdlp_version() - self.current_version_label.setText(f"Current yt-dlp version: {current_version}") + self.current_version_label.setText(_("auto_update.current_version", version=current_version)) last_check = settings["last_check"] if last_check > 0: From 0dffa8fbbdc0877febcbd5b4b9bdac14cbdad978 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:50:49 +0200 Subject: [PATCH 400/568] Add FFmpeg and yt-dlp setup translations Added new translation keys for FFmpeg installation and yt-dlp setup dialogs in French, Hindi, Indonesian, and Chinese. Also updated and expanded several UI strings related to cookies, proxy, download, and history management for improved localization coverage. --- languages/fr.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- languages/hi.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- languages/id.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- languages/zh.json | 56 ++++++++++++++++++++++++++++++--- 4 files changed, 267 insertions(+), 26 deletions(-) diff --git a/languages/fr.json b/languages/fr.json index ff77e2e..f0d45f9 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -93,7 +93,8 @@ "select_subtitles": "Sélectionner les sous-titres", "filter_languages_placeholder": "Filtrer les langues (ex: en, fr)...", "no_subtitles_available": "Aucun sous-titre disponible", - "matching": "correspondant" + "matching": "correspondant", + "ytdlp_log_title": "Journal yt-dlp" }, "tabs": { "cookies": "Se connecter avec des cookies", @@ -124,7 +125,10 @@ "browser_selected_title": "Cookies du navigateur appliqués", "browser_applied_message": "Les cookies du navigateur seront extraits de : {browser}", "cleared_title": "Cookies effacés", - "cleared_message": "Les paramètres de cookies ont été effacés" + "cleared_message": "Les paramètres des cookies ont été effacés", + "active_browser": "✓ Actifs : cookies du navigateur ({browser})", + "active_file": "✓ Actif : fichier cookies ({file})", + "none_active": "○ Aucun cookie actif" }, "custom_command": { "help_text": "Entrez votre commande yt-dlp personnalisée ci-dessous. L'URL actuelle sera automatiquement ajoutée.

Pour la liste complète des options et exemples d'utilisation cliquez ici pour voir la documentation officielle yt-dlp.

Note : Le chemin de téléchargement et le modèle de nom de fichier sont gérés automatiquement.", @@ -137,7 +141,14 @@ "full_command": "🔧 Commande complète : {command}", "command_success": "✅ Commande personnalisée exécutée avec succès !", "command_failed": "❌ Commande échouée avec le code de sortie {code}", - "command_error": "❌ Erreur lors de l'exécution de la commande personnalisée : {error}" + "command_error": "❌ Erreur lors de l'exécution de la commande personnalisée : {error}", + "error_no_url": "❌ Erreur : aucune URL fournie. Veuillez saisir une URL dans la fenêtre principale.", + "error_no_command": "❌ Erreur : aucune commande fournie. Veuillez saisir des arguments yt-dlp.", + "executing": "🚀 Exécution de la commande yt-dlp personnalisée", + "url_label": "📍 URL : {url}", + "args_label": "⚙️ Arguments : {command}", + "download_path_label": "📁 Chemin de téléchargement : {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Configurer les paramètres proxy pour les téléchargements. Laisser vide pour une connexion directe.", @@ -159,7 +170,15 @@ "invalid_main_url": "Format d'URL de proxy principal invalide", "invalid_geo_url": "Format d'URL de proxy géographique invalide", "main_configured": "Proxy principal configuré", - "geo_configured": "Proxy géographique configuré" + "geo_configured": "Proxy géographique configuré", + "set_title": "Proxy défini", + "set_message": "Proxy principal défini et enregistré : {proxy}", + "geo_set_title": "Proxy géo défini", + "geo_set_message": "Proxy de vérification géographique défini et enregistré : {proxy}", + "cleared_title": "Paramètres proxy effacés", + "cleared_message": "Tous les paramètres proxy ont été effacés et enregistrés.", + "saved_main": "Proxy principal enregistré : {proxy}", + "saved_geo": "Proxy géo enregistré : {proxy}" }, "download": { "preparing": "Préparation du téléchargement...", @@ -347,7 +366,11 @@ "zero_selected": "0 sélectionné", "analyze_first_tooltip": "Veuillez d'abord analyser la vidéo", "audio_mode_disabled": "Non disponible en mode audio uniquement", - "select_subtitles_first": "Veuillez d'abord sélectionner les sous-titres" + "select_subtitles_first": "Veuillez d'abord sélectionner les sous-titres", + "settings_tooltip": "Chemin actuel : {path}\nLimite de vitesse : {speed_limit}", + "speed_limit_none": "Aucune", + "open_folder_error": "Impossible d’ouvrir le dossier : {error}", + "time_range_set": "Section définie : {section}" }, "sponsorblock": { "sponsor": "Sponsor", @@ -446,7 +469,8 @@ "next_check": "Prochaine vérification : {time}", "next_check_error": "Prochaine vérification : Erreur de calcul", "checking": "🔄 Vérification...", - "check_now": "🔍 Vérifier les mises à jour maintenant" + "check_now": "🔍 Vérifier les mises à jour maintenant", + "current_version": "Version actuelle de yt-dlp : {version}" }, "url_validation": { "empty_url": "L'URL ne peut pas être vide", @@ -477,6 +501,7 @@ "clear_confirm_message": "Êtes-vous sûr? Cela ne peut pas être annulé.", "no_history": "Pas encore d'historique", "no_history_description": "Vos téléchargements apparaîtront ici", + "loading": "Chargement de l’historique...", "search_placeholder": "Rechercher...", "open_location": "Ouvrir l'Emplacement", "redownload": "Télécharger à Nouveau", @@ -495,7 +520,47 @@ "one_entry": "1 téléchargement", "redownload_confirm_title": "Télécharger à Nouveau?", "redownload_confirm_message": "Télécharger à nouveau?\n\n{title}", - "redownload_started": "Téléchargement démarré" + "redownload_started": "Téléchargement démarré", + "no_url_error": "Aucune URL trouvée dans l’entrée d’historique", + "redownload_failed": "Impossible de relancer le téléchargement : {error}" + }, + "ffmpeg": { + "installation_title": "Installation de FFmpeg", + "installation_message": "YTSage a besoin de FFmpeg pour traiter les vidéos.\n\nChoisissez une option d’installation ci‑dessous :", + "install_button": "Installer FFmpeg", + "manual_guide": "Guide manuel", + "installation_failed": "L’installation de FFmpeg a rencontré un problème.", + "already_installed": "FFmpeg est déjà installé !", + "installation_complete": "Installation terminée. Vous pouvez fermer cette boîte de dialogue et continuer à utiliser YTSage.", + "installing": "Installation de FFmpeg... Veuillez patienter", + "install_success": "FFmpeg a été installé avec succès !", + "installation_complete_close": "Installation terminée. Vous pouvez maintenant fermer cette boîte de dialogue et continuer à utiliser YTSage.", + "try_manual": "Veuillez essayer d’utiliser le guide d’installation manuel à la place." + }, + "ytdlp_setup": { + "required_title": "Configuration de yt-dlp requise", + "description": "YTSage nécessite yt-dlp pour télécharger des vidéos.

yt-dlp est introuvable dans le répertoire local de l’application. YTSage doit configurer yt-dlp pour votre système {os_name}.

Veuillez choisir une option ci‑dessous :", + "option_auto": "Télécharger automatiquement (recommandé)", + "option_manual": "Sélectionner le chemin manuellement", + "setup_button": "Configurer yt-dlp", + "downloading": "Téléchargement de yt-dlp...", + "success": "yt-dlp a été installé avec succès !", + "error": "Erreur : {error}", + "download_failed_title": "Téléchargement échoué", + "download_failed_message": "Échec du téléchargement de yt-dlp : {error}", + "select_executable_title": "Sélectionner l’exécutable yt-dlp", + "copied_to": "yt-dlp copié avec succès vers {path}", + "setup_error_title": "Erreur de configuration", + "copy_error": "Erreur lors de la copie de yt-dlp dans le répertoire de l’application : {error}", + "invalid_executable_title": "Exécutable invalide", + "invalid_executable_message": "Le fichier sélectionné ne semble pas être un exécutable yt-dlp valide.", + "verify_error": "Erreur lors de la vérification de l’exécutable yt-dlp : {error}", + "setup_failed_title": "Configuration échouée", + "setup_failed_message": "La configuration de yt-dlp a échoué. Certaines fonctionnalités peuvent ne pas fonctionner correctement.", + "success_dialog_title": "Configuration de yt-dlp", + "success_dialog_message": "yt-dlp a été configuré avec succès à l’emplacement :\n{path}", + "file_filter_windows": "Fichiers exécutables (*.exe)", + "file_filter_all": "Tous les fichiers (*)" }, "ffmpeg_updater": { "title": "Vérificateur de Version FFmpeg", diff --git a/languages/hi.json b/languages/hi.json index 1bacff3..97ea90d 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -93,7 +93,8 @@ "select_subtitles": "उपशीर्षक चुनें", "filter_languages_placeholder": "भाषाएं फ़िल्टर करें (जैसे: hi, en)...", "no_subtitles_available": "कोई उपशीर्षक उपलब्ध नहीं", - "matching": "मेल खाता" + "matching": "मेल खाता", + "ytdlp_log_title": "yt-dlp लॉग" }, "tabs": { "cookies": "कुकीज़ के साथ लॉगिन", @@ -124,7 +125,10 @@ "browser_selected_title": "ब्राउज़र कुकीज़ लागू की गईं", "browser_applied_message": "ब्राउज़र कुकीज़ निकाली जाएंगी: {browser}", "cleared_title": "कुकीज़ साफ़ की गईं", - "cleared_message": "कुकी सेटिंग्स साफ़ कर दी गई हैं" + "cleared_message": "कुकी सेटिंग्स साफ़ कर दी गई हैं", + "active_browser": "✓ सक्रिय: ब्राउज़र कुकीज़ ({browser})", + "active_file": "✓ सक्रिय: कुकी फ़ाइल ({file})", + "none_active": "○ कोई कुकी सक्रिय नहीं" }, "custom_command": { "help_text": "नीचे अपना कस्टम yt-dlp कमांड दर्ज करें। वर्तमान URL स्वचालित रूप से जोड़ा जाएगा।

विकल्पों की पूरी सूची और उपयोग के उदाहरणों के लिए आधिकारिक yt-dlp दस्तावेज़ देखने के लिए यहाँ क्लिक करें

नोट: डाउनलोड पथ और फ़ाइलनाम टेम्प्लेट स्वचालित रूप से संभाले जाते हैं।", @@ -137,7 +141,14 @@ "full_command": "🔧 पूरा कमांड: {command}", "command_success": "✅ कस्टम कमांड सफलतापूर्वक निष्पादित!", "command_failed": "❌ कमांड असफल, एग्जिट कोड {code}", - "command_error": "❌ कस्टम कमांड निष्पादित करने में त्रुटि: {error}" + "command_error": "❌ कस्टम कमांड निष्पादित करने में त्रुटि: {error}", + "error_no_url": "❌ त्रुटि: कोई URL नहीं दिया गया। कृपया मुख्य विंडो में URL दर्ज करें।", + "error_no_command": "❌ त्रुटि: कोई कमांड नहीं दिया गया। कृपया yt-dlp आर्गुमेंट्स दर्ज करें।", + "executing": "🚀 कस्टम yt-dlp कमांड चल रहा है", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ आर्गुमेंट्स: {command}", + "download_path_label": "📁 डाउनलोड पथ: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "डाउनलोड के लिए प्रॉक्सी सेटिंग्स कॉन्फ़िगर करें। प्रत्यक्ष कनेक्शन के लिए खाली छोड़ें।", @@ -159,7 +170,15 @@ "invalid_main_url": "अमान्य मुख्य प्रॉक्सी URL प्रारूप", "invalid_geo_url": "अमान्य भू-प्रॉक्सी URL प्रारूप", "main_configured": "मुख्य प्रॉक्सी कॉन्फ़िगर की गई", - "geo_configured": "भू-प्रॉक्सी कॉन्फ़िगर की गई" + "geo_configured": "भू-प्रॉक्सी कॉन्फ़िगर की गई", + "set_title": "प्रॉक्सी सेट", + "set_message": "मुख्य प्रॉक्सी सेट और सेव किया गया: {proxy}", + "geo_set_title": "जियो प्रॉक्सी सेट", + "geo_set_message": "जियो‑वेरिफिकेशन प्रॉक्सी सेट और सेव किया गया: {proxy}", + "cleared_title": "प्रॉक्सी सेटिंग्स साफ़ की गईं", + "cleared_message": "सभी प्रॉक्सी सेटिंग्स साफ़ कर सेव कर दी गईं।", + "saved_main": "सहेजा गया मुख्य प्रॉक्सी: {proxy}", + "saved_geo": "सहेजा गया जियो प्रॉक्सी: {proxy}" }, "download": { "preparing": "डाउनलोड तैयार हो रहा है...", @@ -347,7 +366,11 @@ "zero_selected": "0 चयनित", "analyze_first_tooltip": "कृपया पहले वीडियो का विश्लेषण करें", "audio_mode_disabled": "केवल ऑडियो मोड में उपलब्ध नहीं", - "select_subtitles_first": "कृपया पहले उपशीर्षक चुनें" + "select_subtitles_first": "कृपया पहले उपशीर्षक चुनें", + "settings_tooltip": "वर्तमान पथ: {path}\nस्पीड लिमिट: {speed_limit}", + "speed_limit_none": "कोई नहीं", + "open_folder_error": "फ़ोल्डर नहीं खुल सका: {error}", + "time_range_set": "सेक्शन सेट: {section}" }, "sponsorblock": { "sponsor": "प्रायोजक", @@ -446,7 +469,8 @@ "next_check": "अगली जांच: {time}", "next_check_error": "अगली जांच: गणना त्रुटि", "checking": "🔄 जांच रहे हैं...", - "check_now": "🔍 अभी अपडेट की जांच करें" + "check_now": "🔍 अभी अपडेट की जांच करें", + "current_version": "वर्तमान yt-dlp संस्करण: {version}" }, "url_validation": { "empty_url": "URL खाली नहीं हो सकता", @@ -477,6 +501,7 @@ "clear_confirm_message": "क्या आप निश्चित हैं? इसे पूर्ववत नहीं किया जा सकता।", "no_history": "अभी तक कोई इतिहास नहीं", "no_history_description": "आपके डाउनलोड यहां दिखाई देंगे", + "loading": "इतिहास लोड हो रहा है...", "search_placeholder": "खोजें...", "open_location": "स्थान खोलें", "redownload": "फिर से डाउनलोड करें", @@ -495,7 +520,47 @@ "one_entry": "1 डाउनलोड", "redownload_confirm_title": "फिर से डाउनलोड करें?", "redownload_confirm_message": "फिर से डाउनलोड करें?\n\n{title}", - "redownload_started": "डाउनलोड शुरू हुआ" + "redownload_started": "डाउनलोड शुरू हुआ", + "no_url_error": "हिस्ट्री एंट्री में कोई URL नहीं मिला", + "redownload_failed": "रीडाउनलोड शुरू करने में विफल: {error}" + }, + "ffmpeg": { + "installation_title": "FFmpeg इंस्टॉलेशन", + "installation_message": "वीडियो प्रोसेस करने के लिए YTSage को FFmpeg चाहिए।\n\nनीचे एक इंस्टॉलेशन विकल्प चुनें:", + "install_button": "FFmpeg इंस्टॉल करें", + "manual_guide": "मैन्युअल गाइड", + "installation_failed": "FFmpeg इंस्टॉलेशन में समस्या आई।", + "already_installed": "FFmpeg पहले से इंस्टॉल है!", + "installation_complete": "इंस्टॉलेशन पूरा हुआ। आप इस डायलॉग को बंद कर YTSage उपयोग कर सकते हैं।", + "installing": "FFmpeg इंस्टॉल हो रहा है... कृपया प्रतीक्षा करें", + "install_success": "FFmpeg सफलतापूर्वक इंस्टॉल हो गया!", + "installation_complete_close": "इंस्टॉलेशन पूरा हुआ। अब आप इस डायलॉग को बंद कर YTSage उपयोग कर सकते हैं।", + "try_manual": "कृपया इसके बजाय मैन्युअल इंस्टॉलेशन गाइड का उपयोग करें।" + }, + "ytdlp_setup": { + "required_title": "yt-dlp सेटअप आवश्यक", + "description": "वीडियो डाउनलोड करने के लिए YTSage को yt-dlp चाहिए।

ऐप की लोकल डायरेक्टरी में yt-dlp नहीं मिला। YTSage को आपके {os_name} सिस्टम के लिए yt-dlp सेटअप करना होगा।

कृपया नीचे एक विकल्प चुनें:", + "option_auto": "अपने आप डाउनलोड करें (सिफ़ारिश की गई)", + "option_manual": "पाथ मैन्युअली चुनें", + "setup_button": "yt-dlp सेटअप", + "downloading": "yt-dlp डाउनलोड हो रहा है...", + "success": "yt-dlp सफलतापूर्वक इंस्टॉल हो गया!", + "error": "त्रुटि: {error}", + "download_failed_title": "डाउनलोड विफल", + "download_failed_message": "yt-dlp डाउनलोड नहीं हो सका: {error}", + "select_executable_title": "yt-dlp executable चुनें", + "copied_to": "yt-dlp को {path} पर सफलतापूर्वक कॉपी किया गया", + "setup_error_title": "सेटअप त्रुटि", + "copy_error": "yt-dlp को ऐप डायरेक्टरी में कॉपी करने में त्रुटि: {error}", + "invalid_executable_title": "अमान्य executable", + "invalid_executable_message": "चुनी गई फ़ाइल वैध yt-dlp executable नहीं लगती।", + "verify_error": "yt-dlp executable सत्यापित करने में त्रुटि: {error}", + "setup_failed_title": "सेटअप विफल", + "setup_failed_message": "yt-dlp सेटअप विफल रहा। कुछ फीचर सही से काम नहीं कर सकते।", + "success_dialog_title": "yt-dlp सेटअप", + "success_dialog_message": "yt-dlp सफलतापूर्वक इस स्थान पर कॉन्फ़िगर हुआ है:\n{path}", + "file_filter_windows": "Executable फ़ाइलें (*.exe)", + "file_filter_all": "सभी फ़ाइलें (*)" }, "ffmpeg_updater": { "title": "FFmpeg संस्करण जांचकर्ता", diff --git a/languages/id.json b/languages/id.json index 46eea59..6a76658 100644 --- a/languages/id.json +++ b/languages/id.json @@ -93,7 +93,8 @@ "select_subtitles": "Pilih subtitle", "filter_languages_placeholder": "Filter bahasa (misalnya: id, en)...", "no_subtitles_available": "Tidak ada subtitle yang tersedia", - "matching": "yang cocok" + "matching": "yang cocok", + "ytdlp_log_title": "Log yt-dlp" }, "tabs": { "cookies": "Masuk dengan cookies", @@ -124,7 +125,10 @@ "browser_selected_title": "Cookies Browser Diterapkan", "browser_applied_message": "Cookies browser akan diekstrak dari: {browser}", "cleared_title": "Cookies Dihapus", - "cleared_message": "Pengaturan cookie telah dihapus" + "cleared_message": "Pengaturan cookie telah dihapus", + "active_browser": "✓ Aktif: cookie browser ({browser})", + "active_file": "✓ Aktif: file cookie ({file})", + "none_active": "○ Tidak ada cookie aktif" }, "custom_command": { "help_text": "Masukkan perintah yt-dlp khusus Anda di bawah. URL saat ini akan ditambahkan secara otomatis.

Untuk daftar lengkap opsi dan contoh penggunaan klik di sini untuk melihat dokumentasi resmi yt-dlp.

Catatan: Jalur unduhan dan template nama file ditangani secara otomatis.", @@ -137,7 +141,14 @@ "full_command": "🔧 Perintah lengkap: {command}", "command_success": "✅ Perintah khusus berhasil dijalankan!", "command_failed": "❌ Perintah gagal dengan kode keluar {code}", - "command_error": "❌ Kesalahan menjalankan perintah khusus: {error}" + "command_error": "❌ Kesalahan menjalankan perintah khusus: {error}", + "error_no_url": "❌ Error: Tidak ada URL yang diberikan. Masukkan URL di jendela utama.", + "error_no_command": "❌ Error: Tidak ada perintah yang diberikan. Masukkan argumen yt-dlp.", + "executing": "🚀 Menjalankan perintah yt-dlp kustom", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Argumen: {command}", + "download_path_label": "📁 Lokasi unduhan: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Konfigurasi pengaturan proxy untuk unduhan. Biarkan kosong untuk koneksi langsung.", @@ -159,7 +170,15 @@ "invalid_main_url": "Format URL proxy utama tidak valid", "invalid_geo_url": "Format URL proxy geografis tidak valid", "main_configured": "Proxy utama dikonfigurasi", - "geo_configured": "Proxy geografis dikonfigurasi" + "geo_configured": "Proxy geografis dikonfigurasi", + "set_title": "Proxy diatur", + "set_message": "Proxy utama diatur dan disimpan: {proxy}", + "geo_set_title": "Proxy geo diatur", + "geo_set_message": "Proxy verifikasi geo diatur dan disimpan: {proxy}", + "cleared_title": "Pengaturan proxy dibersihkan", + "cleared_message": "Semua pengaturan proxy telah dibersihkan dan disimpan.", + "saved_main": "Proxy utama tersimpan: {proxy}", + "saved_geo": "Proxy geo tersimpan: {proxy}" }, "download": { "preparing": "Mempersiapkan unduhan...", @@ -347,7 +366,11 @@ "zero_selected": "0 dipilih", "analyze_first_tooltip": "Silakan analisis video terlebih dahulu", "audio_mode_disabled": "Tidak tersedia dalam mode audio saja", - "select_subtitles_first": "Silakan pilih subtitle terlebih dahulu" + "select_subtitles_first": "Silakan pilih subtitle terlebih dahulu", + "settings_tooltip": "Path saat ini: {path}\nBatas kecepatan: {speed_limit}", + "speed_limit_none": "Tidak ada", + "open_folder_error": "Tidak dapat membuka folder: {error}", + "time_range_set": "Bagian disetel: {section}" }, "sponsorblock": { "sponsor": "Sponsor", @@ -446,7 +469,8 @@ "next_check": "Pemeriksaan berikutnya: {time}", "next_check_error": "Pemeriksaan berikutnya: Kesalahan perhitungan", "checking": "🔄 Memeriksa...", - "check_now": "🔍 Periksa pembaruan sekarang" + "check_now": "🔍 Periksa pembaruan sekarang", + "current_version": "Versi yt-dlp saat ini: {version}" }, "url_validation": { "empty_url": "URL tidak boleh kosong", @@ -477,6 +501,7 @@ "clear_confirm_message": "Apakah Anda yakin? Ini tidak dapat dibatalkan.", "no_history": "Belum ada riwayat", "no_history_description": "Unduhan Anda akan muncul di sini", + "loading": "Memuat riwayat...", "search_placeholder": "Cari...", "open_location": "Buka Lokasi", "redownload": "Unduh Lagi", @@ -495,7 +520,47 @@ "one_entry": "1 unduhan", "redownload_confirm_title": "Unduh Lagi?", "redownload_confirm_message": "Unduh lagi?\n\n{title}", - "redownload_started": "Unduhan dimulai" + "redownload_started": "Unduhan dimulai", + "no_url_error": "Tidak ada URL pada entri riwayat", + "redownload_failed": "Gagal memulai unduh ulang: {error}" + }, + "ffmpeg": { + "installation_title": "Instalasi FFmpeg", + "installation_message": "YTSage membutuhkan FFmpeg untuk memproses video.\n\nPilih opsi instalasi di bawah:", + "install_button": "Instal FFmpeg", + "manual_guide": "Panduan manual", + "installation_failed": "Instalasi FFmpeg mengalami masalah.", + "already_installed": "FFmpeg sudah terinstal!", + "installation_complete": "Instalasi selesai. Anda dapat menutup dialog ini dan melanjutkan menggunakan YTSage.", + "installing": "Menginstal FFmpeg... Harap tunggu", + "install_success": "FFmpeg berhasil diinstal!", + "installation_complete_close": "Instalasi selesai. Anda sekarang dapat menutup dialog ini dan melanjutkan menggunakan YTSage.", + "try_manual": "Silakan coba gunakan panduan instalasi manual sebagai gantinya." + }, + "ytdlp_setup": { + "required_title": "Pengaturan yt-dlp diperlukan", + "description": "YTSage memerlukan yt-dlp untuk mengunduh video.

yt-dlp tidak ditemukan di direktori lokal aplikasi. YTSage perlu menyiapkan yt-dlp untuk sistem {os_name} Anda.

Silakan pilih opsi di bawah:", + "option_auto": "Unduh otomatis (disarankan)", + "option_manual": "Pilih path secara manual", + "setup_button": "Siapkan yt-dlp", + "downloading": "Mengunduh yt-dlp...", + "success": "yt-dlp berhasil diinstal!", + "error": "Error: {error}", + "download_failed_title": "Unduhan gagal", + "download_failed_message": "Gagal mengunduh yt-dlp: {error}", + "select_executable_title": "Pilih executable yt-dlp", + "copied_to": "yt-dlp berhasil disalin ke {path}", + "setup_error_title": "Kesalahan pengaturan", + "copy_error": "Kesalahan menyalin yt-dlp ke direktori aplikasi: {error}", + "invalid_executable_title": "Executable tidak valid", + "invalid_executable_message": "File yang dipilih tidak tampak sebagai executable yt-dlp yang valid.", + "verify_error": "Kesalahan memverifikasi executable yt-dlp: {error}", + "setup_failed_title": "Pengaturan gagal", + "setup_failed_message": "Gagal menyiapkan yt-dlp. Beberapa fitur mungkin tidak berfungsi dengan benar.", + "success_dialog_title": "Pengaturan yt-dlp", + "success_dialog_message": "yt-dlp berhasil dikonfigurasi di:\n{path}", + "file_filter_windows": "File executable (*.exe)", + "file_filter_all": "Semua file (*)" }, "ffmpeg_updater": { "title": "Pemeriksa Versi FFmpeg", diff --git a/languages/zh.json b/languages/zh.json index 812ae47..27498d8 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -93,7 +93,8 @@ "select_subtitles": "选择字幕", "filter_languages_placeholder": "过滤语言(例如:en, zh)...", "no_subtitles_available": "无可用字幕", - "matching": "匹配" + "matching": "匹配", + "ytdlp_log_title": "yt-dlp 日志" }, "tabs": { "cookies": "使用 Cookie 登录", @@ -159,7 +160,13 @@ "invalid_main_url": "主代理网址格式无效", "invalid_geo_url": "地理代理网址格式无效", "main_configured": "主代理已配置", - "geo_configured": "地理代理已配置" + "geo_configured": "地理代理已配置", + "set_title": "已设置代理", + "set_message": "主代理已设置并保存: {proxy}", + "geo_set_title": "已设置地理代理", + "geo_set_message": "地理验证代理已设置并保存: {proxy}", + "cleared_title": "代理设置已清除", + "cleared_message": "所有代理设置已清除并保存。" }, "download": { "preparing": "正在准备下载...", @@ -347,7 +354,11 @@ "zero_selected": "已选择 0 个", "analyze_first_tooltip": "请先分析视频", "audio_mode_disabled": "在纯音频模式下不可用", - "select_subtitles_first": "请先选择字幕" + "select_subtitles_first": "请先选择字幕", + "settings_tooltip": "当前路径: {path}\n速度限制: {speed_limit}", + "speed_limit_none": "无", + "open_folder_error": "无法打开文件夹: {error}", + "time_range_set": "已设置区间: {section}" }, "sponsorblock": { "sponsor": "赞助商", @@ -446,7 +457,8 @@ "next_check": "下次检查: {time}", "next_check_error": "下次检查: 计算错误", "checking": "🔄 检查中...", - "check_now": "🔍 立即检查更新" + "check_now": "🔍 立即检查更新", + "current_version": "当前 yt-dlp 版本:{version}" }, "url_validation": { "empty_url": "URL不能为空", @@ -495,7 +507,41 @@ "one_entry": "1 个下载", "redownload_confirm_title": "重新下载?", "redownload_confirm_message": "重新下载?\n\n{title}", - "redownload_started": "已开始下载" + "redownload_started": "已开始下载", + "no_url_error": "历史记录中未找到 URL", + "redownload_failed": "无法开始重新下载: {error}" + }, + "ffmpeg": { + "installation_title": "FFmpeg 安装", + "installation_message": "YTSage 需要 FFmpeg 来处理视频。\n\n请选择下面的安装选项:", + "install_button": "安装 FFmpeg", + "manual_guide": "手动指南", + "installation_failed": "FFmpeg 安装遇到问题。" + }, + "ytdlp_setup": { + "required_title": "需要设置 yt-dlp", + "description": "YTSage 需要 yt-dlp 来下载视频。

在应用本地目录中未找到 yt-dlp。YTSage 需要为你的 {os_name} 系统设置 yt-dlp。

请选择下面的选项:", + "option_auto": "自动下载(推荐)", + "option_manual": "手动选择路径", + "setup_button": "设置 yt-dlp", + "downloading": "正在下载 yt-dlp...", + "success": "yt-dlp 已成功安装!", + "error": "错误:{error}", + "download_failed_title": "下载失败", + "download_failed_message": "无法下载 yt-dlp:{error}", + "select_executable_title": "选择 yt-dlp 可执行文件", + "copied_to": "yt-dlp 已成功复制到 {path}", + "setup_error_title": "设置错误", + "copy_error": "将 yt-dlp 复制到应用目录时出错:{error}", + "invalid_executable_title": "无效的可执行文件", + "invalid_executable_message": "所选文件似乎不是有效的 yt-dlp 可执行文件。", + "verify_error": "验证 yt-dlp 可执行文件时出错:{error}", + "setup_failed_title": "设置失败", + "setup_failed_message": "无法设置 yt-dlp。某些功能可能无法正常工作。", + "success_dialog_title": "yt-dlp 设置", + "success_dialog_message": "yt-dlp 已成功配置到:\n{path}", + "file_filter_windows": "可执行文件 (*.exe)", + "file_filter_all": "所有文件 (*)" }, "ffmpeg_updater": { "title": "FFmpeg 版本检查器", From 065c5c9c36c619212cba6ff1275fc87199fceae2 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 19:51:00 +0200 Subject: [PATCH 401/568] Add FFmpeg and yt-dlp setup translations Extended it.json, ja.json, pl.json, pt.json, ru.json, and tr.json with new translation keys for FFmpeg installation and yt-dlp setup dialogs, error messages, and status updates. Also added new UI strings for cookies, proxy, download, and history features to improve localization coverage. --- languages/it.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- languages/ja.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- languages/pl.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- languages/pt.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- languages/ru.json | 79 ++++++++++++++++++++++++++++++++++++++++++----- languages/tr.json | 70 ++++++++++++++++++++++++++++++++++++----- 6 files changed, 423 insertions(+), 42 deletions(-) diff --git a/languages/it.json b/languages/it.json index dc5f24e..36055ec 100644 --- a/languages/it.json +++ b/languages/it.json @@ -93,7 +93,8 @@ "select_subtitles": "Seleziona sottotitoli", "filter_languages_placeholder": "Filtra lingue (es: it, en)...", "no_subtitles_available": "Nessun sottotitolo disponibile", - "matching": "corrispondenti" + "matching": "corrispondenti", + "ytdlp_log_title": "Registro yt-dlp" }, "tabs": { "cookies": "Accedi con i cookie", @@ -124,7 +125,10 @@ "browser_selected_title": "Cookie del Browser Applicati", "browser_applied_message": "I cookie del browser verranno estratti da: {browser}", "cleared_title": "Cookie Cancellati", - "cleared_message": "Le impostazioni dei cookie sono state cancellate" + "cleared_message": "Le impostazioni dei cookie sono state cancellate", + "active_browser": "✓ Attivi: cookie del browser ({browser})", + "active_file": "✓ Attivo: file cookie ({file})", + "none_active": "○ Nessun cookie attivo" }, "custom_command": { "help_text": "Inserisci un comando yt-dlp personalizzato qui sotto. L'URL corrente verrà aggiunto automaticamente.

Per l'elenco completo delle opzioni ed esempi di utilizzo clicca qui per vedere la documentazione ufficiale yt-dlp.

Nota: Il percorso di download e il modello del nome file sono gestiti automaticamente.", @@ -137,7 +141,14 @@ "full_command": "🔧 Comando completo: {command}", "command_success": "✅ Comando personalizzato eseguito con successo!", "command_failed": "❌ Comando fallito con codice di uscita {code}", - "command_error": "❌ Errore nell'esecuzione del comando personalizzato: {error}" + "command_error": "❌ Errore nell'esecuzione del comando personalizzato: {error}", + "error_no_url": "❌ Errore: nessun URL fornito. Inserisci un URL nella finestra principale.", + "error_no_command": "❌ Errore: nessun comando fornito. Inserisci gli argomenti di yt-dlp.", + "executing": "🚀 Esecuzione del comando yt-dlp personalizzato", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Argomenti: {command}", + "download_path_label": "📁 Percorso di download: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Configura le impostazioni proxy per i download. Lascia vuoto per connessione diretta.", @@ -159,7 +170,15 @@ "invalid_main_url": "Formato URL proxy principale non valido", "invalid_geo_url": "Formato URL proxy geo non valido", "main_configured": "Proxy principale configurato", - "geo_configured": "Proxy geo configurato" + "geo_configured": "Proxy geo configurato", + "set_title": "Proxy impostato", + "set_message": "Proxy principale impostato e salvato: {proxy}", + "geo_set_title": "Proxy geo impostato", + "geo_set_message": "Proxy di verifica geo impostato e salvato: {proxy}", + "cleared_title": "Impostazioni proxy cancellate", + "cleared_message": "Tutte le impostazioni proxy sono state cancellate e salvate.", + "saved_main": "Proxy principale salvato: {proxy}", + "saved_geo": "Proxy geo salvato: {proxy}" }, "download": { "preparing": "Preparazione download...", @@ -347,7 +366,11 @@ "zero_selected": "0 selezionati", "analyze_first_tooltip": "Si prega di analizzare prima il video", "audio_mode_disabled": "Non disponibile in modalità solo audio", - "select_subtitles_first": "Si prega di selezionare prima i sottotitoli" + "select_subtitles_first": "Si prega di selezionare prima i sottotitoli", + "settings_tooltip": "Percorso corrente: {path}\nLimite velocità: {speed_limit}", + "speed_limit_none": "Nessuno", + "open_folder_error": "Impossibile aprire la cartella: {error}", + "time_range_set": "Sezione impostata: {section}" }, "sponsorblock": { "sponsor": "Sponsor", @@ -446,7 +469,8 @@ "next_check": "Prossimo controllo: {time}", "next_check_error": "Prossimo controllo: Errore di calcolo", "checking": "🔄 Controllo...", - "check_now": "🔍 Controlla aggiornamenti ora" + "check_now": "🔍 Controlla aggiornamenti ora", + "current_version": "Versione corrente di yt-dlp: {version}" }, "url_validation": { "empty_url": "L'URL non può essere vuoto", @@ -477,6 +501,7 @@ "clear_confirm_message": "Sei sicuro? Questa azione non può essere annullata.", "no_history": "Nessuna cronologia ancora", "no_history_description": "I tuoi download appariranno qui", + "loading": "Caricamento cronologia...", "search_placeholder": "Cerca...", "open_location": "Apri Posizione", "redownload": "Scarica di Nuovo", @@ -495,7 +520,47 @@ "one_entry": "1 download", "redownload_confirm_title": "Scaricare di Nuovo?", "redownload_confirm_message": "Scaricare di nuovo?\n\n{title}", - "redownload_started": "Download avviato" + "redownload_started": "Download avviato", + "no_url_error": "Nessun URL trovato nella voce della cronologia", + "redownload_failed": "Impossibile avviare il download di nuovo: {error}" + }, + "ffmpeg": { + "installation_title": "Installazione di FFmpeg", + "installation_message": "YTSage richiede FFmpeg per elaborare i video.\n\nScegli un'opzione di installazione qui sotto:", + "install_button": "Installa FFmpeg", + "manual_guide": "Guida manuale", + "installation_failed": "L'installazione di FFmpeg ha riscontrato un problema.", + "already_installed": "FFmpeg è già installato!", + "installation_complete": "Installazione completata. Puoi chiudere questo dialogo e continuare a usare YTSage.", + "installing": "Installazione di FFmpeg... Attendere", + "install_success": "FFmpeg è stato installato con successo!", + "installation_complete_close": "Installazione completata. Ora puoi chiudere questo dialogo e continuare a usare YTSage.", + "try_manual": "Prova invece a usare la guida di installazione manuale." + }, + "ytdlp_setup": { + "required_title": "Configurazione di yt-dlp richiesta", + "description": "YTSage richiede yt-dlp per scaricare video.

yt-dlp non è stato trovato nella directory locale dell'app. YTSage deve configurare yt-dlp per il tuo sistema {os_name}.

Scegli un'opzione qui sotto:", + "option_auto": "Scarica automaticamente (consigliato)", + "option_manual": "Seleziona il percorso manualmente", + "setup_button": "Configura yt-dlp", + "downloading": "Download di yt-dlp...", + "success": "yt-dlp è stato installato correttamente!", + "error": "Errore: {error}", + "download_failed_title": "Download non riuscito", + "download_failed_message": "Impossibile scaricare yt-dlp: {error}", + "select_executable_title": "Seleziona l'eseguibile yt-dlp", + "copied_to": "yt-dlp copiato correttamente in {path}", + "setup_error_title": "Errore di configurazione", + "copy_error": "Errore durante la copia di yt-dlp nella directory dell'app: {error}", + "invalid_executable_title": "Eseguibile non valido", + "invalid_executable_message": "Il file selezionato non sembra essere un eseguibile yt-dlp valido.", + "verify_error": "Errore durante la verifica dell'eseguibile yt-dlp: {error}", + "setup_failed_title": "Configurazione non riuscita", + "setup_failed_message": "Impossibile configurare yt-dlp. Alcune funzionalità potrebbero non funzionare correttamente.", + "success_dialog_title": "Configurazione di yt-dlp", + "success_dialog_message": "yt-dlp è stato configurato correttamente in:\n{path}", + "file_filter_windows": "File eseguibili (*.exe)", + "file_filter_all": "Tutti i file (*)" }, "ffmpeg_updater": { "title": "Controllo Versione FFmpeg", diff --git a/languages/ja.json b/languages/ja.json index 784089b..dc2338b 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -93,7 +93,8 @@ "select_subtitles": "字幕を選択", "filter_languages_placeholder": "言語でフィルタ (例: ja, en)...", "no_subtitles_available": "利用可能な字幕がありません", - "matching": "一致" + "matching": "一致", + "ytdlp_log_title": "yt-dlpログ" }, "tabs": { "cookies": "Cookieでログイン", @@ -124,7 +125,10 @@ "browser_selected_title": "ブラウザCookieが適用されました", "browser_applied_message": "ブラウザCookieが抽出されます: {browser}", "cleared_title": "Cookieがクリアされました", - "cleared_message": "Cookie設定がクリアされました" + "cleared_message": "Cookie設定がクリアされました", + "active_browser": "✓ 有効: ブラウザーのCookie ({browser})", + "active_file": "✓ 有効: Cookieファイル ({file})", + "none_active": "○ 有効なCookieはありません" }, "custom_command": { "help_text": "以下にカスタムyt-dlpコマンドを入力してください。現在のURLは自動的に追加されます。

オプションの完全なリストと使用例については、こちらをクリックしてyt-dlp公式ドキュメントを参照してください

注: ダウンロードパスとファイル名テンプレートは自動的に処理されます。", @@ -137,7 +141,14 @@ "full_command": "🔧 完全なコマンド: {command}", "command_success": "✅ カスタムコマンドが正常に実行されました!", "command_failed": "❌ コマンドが終了コード{code}で失敗しました", - "command_error": "❌ カスタムコマンドの実行エラー: {error}" + "command_error": "❌ カスタムコマンドの実行エラー: {error}", + "error_no_url": "❌ エラー: URL が指定されていません。メインウィンドウで URL を入力してください。", + "error_no_command": "❌ エラー: コマンドが指定されていません。yt-dlp の引数を入力してください。", + "executing": "🚀 カスタム yt-dlp コマンドを実行中", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ 引数: {command}", + "download_path_label": "📁 ダウンロード先: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "ダウンロード用のプロキシ設定を構成します。直接接続の場合は空白のままにしてください。", @@ -159,7 +170,15 @@ "invalid_main_url": "メインプロキシのURL形式が無効です", "invalid_geo_url": "地域プロキシのURL形式が無効です", "main_configured": "メインプロキシが設定されました", - "geo_configured": "地域プロキシが設定されました" + "geo_configured": "地域プロキシが設定されました", + "set_title": "プロキシを設定しました", + "set_message": "メインプロキシを設定して保存しました: {proxy}", + "geo_set_title": "ジオプロキシを設定しました", + "geo_set_message": "ジオ検証プロキシを設定して保存しました: {proxy}", + "cleared_title": "プロキシ設定をクリアしました", + "cleared_message": "すべてのプロキシ設定をクリアして保存しました。", + "saved_main": "保存されたメインプロキシ: {proxy}", + "saved_geo": "保存されたジオプロキシ: {proxy}" }, "download": { "preparing": "ダウンロードを準備中...", @@ -347,7 +366,11 @@ "zero_selected": "0個選択", "analyze_first_tooltip": "最初に動画を分析してください", "audio_mode_disabled": "音声のみモードでは利用できません", - "select_subtitles_first": "最初に字幕を選択してください" + "select_subtitles_first": "最初に字幕を選択してください", + "settings_tooltip": "現在のパス: {path}\n速度制限: {speed_limit}", + "speed_limit_none": "なし", + "open_folder_error": "フォルダーを開けませんでした: {error}", + "time_range_set": "セクション設定: {section}" }, "sponsorblock": { "sponsor": "スポンサー", @@ -446,7 +469,8 @@ "next_check": "次回確認: {time}", "next_check_error": "次回確認: 計算エラー", "checking": "🔄 確認中...", - "check_now": "🔍 今すぐ更新を確認" + "check_now": "🔍 今すぐ更新を確認", + "current_version": "現在のyt-dlpバージョン: {version}" }, "url_validation": { "empty_url": "URLを空にすることはできません", @@ -477,6 +501,7 @@ "clear_confirm_message": "本当によろしいですか?この操作は取り消せません。", "no_history": "まだ履歴がありません", "no_history_description": "ダウンロードがここに表示されます", + "loading": "履歴を読み込み中...", "search_placeholder": "検索...", "open_location": "場所を開く", "redownload": "再ダウンロード", @@ -495,7 +520,47 @@ "one_entry": "1 件", "redownload_confirm_title": "再ダウンロード?", "redownload_confirm_message": "再ダウンロードしますか?\n\n{title}", - "redownload_started": "ダウンロード開始" + "redownload_started": "ダウンロード開始", + "no_url_error": "履歴エントリにURLがありません", + "redownload_failed": "再ダウンロードの開始に失敗しました: {error}" + }, + "ffmpeg": { + "installation_title": "FFmpegのインストール", + "installation_message": "YTSageは動画処理にFFmpegが必要です。\n\n以下のインストールオプションを選択してください:", + "install_button": "FFmpegをインストール", + "manual_guide": "手動ガイド", + "installation_failed": "FFmpegのインストール中に問題が発生しました。", + "already_installed": "FFmpegはすでにインストールされています!", + "installation_complete": "インストール完了。このダイアログを閉じてYTSageを続けて使用できます。", + "installing": "FFmpegをインストール中... お待ちください", + "install_success": "FFmpegが正常にインストールされました!", + "installation_complete_close": "インストール完了。今すぐこのダイアログを閉じてYTSageを続けて使用できます。", + "try_manual": "代わりに手動インストールガイドをお試しください。" + }, + "ytdlp_setup": { + "required_title": "yt-dlpのセットアップが必要です", + "description": "YTSageは動画のダウンロードにyt-dlpが必要です。

アプリのローカルディレクトリにyt-dlpが見つかりませんでした。{os_name}システム用にyt-dlpをセットアップする必要があります。

以下のオプションを選択してください:", + "option_auto": "自動でダウンロード(推奨)", + "option_manual": "パスを手動で選択", + "setup_button": "yt-dlpをセットアップ", + "downloading": "yt-dlpをダウンロード中...", + "success": "yt-dlpが正常にインストールされました!", + "error": "エラー: {error}", + "download_failed_title": "ダウンロード失敗", + "download_failed_message": "yt-dlpのダウンロードに失敗しました: {error}", + "select_executable_title": "yt-dlp実行ファイルを選択", + "copied_to": "yt-dlpを{path}にコピーしました", + "setup_error_title": "セットアップエラー", + "copy_error": "yt-dlpをアプリディレクトリにコピーできません: {error}", + "invalid_executable_title": "無効な実行ファイル", + "invalid_executable_message": "選択されたファイルは有効なyt-dlp実行ファイルではありません。", + "verify_error": "yt-dlp実行ファイルの検証に失敗しました: {error}", + "setup_failed_title": "セットアップ失敗", + "setup_failed_message": "yt-dlpのセットアップに失敗しました。いくつかの機能が正しく動作しない可能性があります。", + "success_dialog_title": "yt-dlpセットアップ", + "success_dialog_message": "yt-dlpの設定に成功しました:\n{path}", + "file_filter_windows": "実行ファイル (*.exe)", + "file_filter_all": "すべてのファイル (*)" }, "ffmpeg_updater": { "title": "FFmpegバージョンチェッカー", diff --git a/languages/pl.json b/languages/pl.json index 75744bf..ca0189b 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -93,7 +93,8 @@ "select_subtitles": "Wybierz napisy", "filter_languages_placeholder": "Filtruj języki (np: pl, en)...", "no_subtitles_available": "Brak dostępnych napisów", - "matching": "dopasowujące" + "matching": "dopasowujące", + "ytdlp_log_title": "Log yt-dlp" }, "tabs": { "cookies": "Zaloguj za pomocą ciasteczek", @@ -124,7 +125,10 @@ "browser_selected_title": "Zastosowano ciasteczka przeglądarki", "browser_applied_message": "Ciasteczka przeglądarki zostaną wyodrębnione z: {browser}", "cleared_title": "Wyczyszczono ciasteczka", - "cleared_message": "Ustawienia ciasteczek zostały wyczyszczone" + "cleared_message": "Ustawienia ciasteczek zostały wyczyszczone", + "active_browser": "✓ Aktywne: ciasteczka przeglądarki ({browser})", + "active_file": "✓ Aktywny: plik ciasteczek ({file})", + "none_active": "○ Brak aktywnych ciasteczek" }, "custom_command": { "help_text": "Wprowadź niestandardowe polecenie yt-dlp poniżej. Aktualny URL zostanie automatycznie dodany.

Aby uzyskać pełną listę opcji i przykładów użycia kliknij tutaj, aby zobaczyć oficjalną dokumentację yt-dlp.

Uwaga: Ścieżka pobierania i szablon nazwy pliku są obsługiwane automatycznie.", @@ -137,7 +141,14 @@ "full_command": "🔧 Pełne polecenie: {command}", "command_success": "✅ Polecenie niestandardowe wykonane pomyślnie!", "command_failed": "❌ Polecenie nie powiodło się z kodem wyjścia {code}", - "command_error": "❌ Błąd wykonywania polecenia niestandardowego: {error}" + "command_error": "❌ Błąd wykonywania polecenia niestandardowego: {error}", + "error_no_url": "❌ Błąd: nie podano URL. Wprowadź URL w głównym oknie.", + "error_no_command": "❌ Błąd: nie podano polecenia. Wprowadź argumenty yt-dlp.", + "executing": "🚀 Uruchamianie niestandardowego polecenia yt-dlp", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Argumenty: {command}", + "download_path_label": "📁 Ścieżka pobierania: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Skonfiguruj ustawienia proxy dla pobierania. Pozostaw puste dla bezpośredniego połączenia.", @@ -159,7 +170,15 @@ "invalid_main_url": "Nieprawidłowy format URL głównego proxy", "invalid_geo_url": "Nieprawidłowy format URL proxy geograficznego", "main_configured": "Główny proxy skonfigurowany", - "geo_configured": "Proxy geograficzny skonfigurowany" + "geo_configured": "Proxy geograficzny skonfigurowany", + "set_title": "Ustawiono proxy", + "set_message": "Główne proxy ustawione i zapisane: {proxy}", + "geo_set_title": "Ustawiono proxy geo", + "geo_set_message": "Proxy weryfikacji geo ustawione i zapisane: {proxy}", + "cleared_title": "Wyczyszczono ustawienia proxy", + "cleared_message": "Wszystkie ustawienia proxy zostały wyczyszczone i zapisane.", + "saved_main": "Zapisany główny proxy: {proxy}", + "saved_geo": "Zapisany proxy geo: {proxy}" }, "download": { "preparing": "Przygotowywanie pobierania...", @@ -347,7 +366,11 @@ "zero_selected": "0 wybranych", "analyze_first_tooltip": "Najpierw przeanalizuj wideo", "audio_mode_disabled": "Niedostępne w trybie tylko audio", - "select_subtitles_first": "Najpierw wybierz napisy" + "select_subtitles_first": "Najpierw wybierz napisy", + "settings_tooltip": "Bieżąca ścieżka: {path}\nLimit prędkości: {speed_limit}", + "speed_limit_none": "Brak", + "open_folder_error": "Nie można otworzyć folderu: {error}", + "time_range_set": "Ustawiono sekcję: {section}" }, "sponsorblock": { "sponsor": "Sponsor", @@ -446,7 +469,8 @@ "next_check": "Następne sprawdzenie: {time}", "next_check_error": "Następne sprawdzenie: Błąd obliczania", "checking": "🔄 Sprawdzanie...", - "check_now": "🔍 Sprawdź aktualizacje teraz" + "check_now": "🔍 Sprawdź aktualizacje teraz", + "current_version": "Bieżąca wersja yt-dlp: {version}" }, "url_validation": { "empty_url": "URL nie może być pusty", @@ -477,6 +501,7 @@ "clear_confirm_message": "Czy jesteś pewien? Nie można tego cofnąć.", "no_history": "Brak historii", "no_history_description": "Twoje pobrane pliki pojawią się tutaj", + "loading": "Ładowanie historii...", "search_placeholder": "Szukaj...", "open_location": "Otwórz Lokalizację", "redownload": "Pobierz Ponownie", @@ -495,7 +520,47 @@ "one_entry": "1 pobranie", "redownload_confirm_title": "Pobrać Ponownie?", "redownload_confirm_message": "Pobrać ponownie?\n\n{title}", - "redownload_started": "Rozpoczęto pobieranie" + "redownload_started": "Rozpoczęto pobieranie", + "no_url_error": "Nie znaleziono URL w wpisie historii", + "redownload_failed": "Nie udało się rozpocząć ponownego pobierania: {error}" + }, + "ffmpeg": { + "installation_title": "Instalacja FFmpeg", + "installation_message": "YTSage wymaga FFmpeg do przetwarzania wideo.\n\nWybierz opcję instalacji poniżej:", + "install_button": "Zainstaluj FFmpeg", + "manual_guide": "Instrukcja ręczna", + "installation_failed": "Instalacja FFmpeg napotkała problem.", + "already_installed": "FFmpeg jest już zainstalowany!", + "installation_complete": "Instalacja zakończona. Możesz zamknąć to okno i kontynuować używanie YTSage.", + "installing": "Instalowanie FFmpeg... Proszę czekać", + "install_success": "FFmpeg został pomyślnie zainstalowany!", + "installation_complete_close": "Instalacja zakończona. Możesz teraz zamknąć to okno i kontynuować używanie YTSage.", + "try_manual": "Spróbuj użyć instrukcji instalacji ręcznej." + }, + "ytdlp_setup": { + "required_title": "Wymagana konfiguracja yt-dlp", + "description": "YTSage wymaga yt-dlp do pobierania wideo.

Nie znaleziono yt-dlp w lokalnym katalogu aplikacji. YTSage musi skonfigurować yt-dlp dla systemu {os_name}.

Wybierz opcję poniżej:", + "option_auto": "Pobierz automatycznie (zalecane)", + "option_manual": "Wybierz ścieżkę ręcznie", + "setup_button": "Skonfiguruj yt-dlp", + "downloading": "Pobieranie yt-dlp...", + "success": "yt-dlp został pomyślnie zainstalowany!", + "error": "Błąd: {error}", + "download_failed_title": "Pobieranie nieudane", + "download_failed_message": "Nie udało się pobrać yt-dlp: {error}", + "select_executable_title": "Wybierz plik wykonywalny yt-dlp", + "copied_to": "yt-dlp skopiowano pomyślnie do {path}", + "setup_error_title": "Błąd konfiguracji", + "copy_error": "Błąd podczas kopiowania yt-dlp do katalogu aplikacji: {error}", + "invalid_executable_title": "Nieprawidłowy plik wykonywalny", + "invalid_executable_message": "Wybrany plik nie wygląda na prawidłowy plik wykonywalny yt-dlp.", + "verify_error": "Błąd podczas weryfikacji pliku yt-dlp: {error}", + "setup_failed_title": "Konfiguracja nieudana", + "setup_failed_message": "Nie udało się skonfigurować yt-dlp. Niektóre funkcje mogą działać nieprawidłowo.", + "success_dialog_title": "Konfiguracja yt-dlp", + "success_dialog_message": "yt-dlp został pomyślnie skonfigurowany w:\n{path}", + "file_filter_windows": "Pliki wykonywalne (*.exe)", + "file_filter_all": "Wszystkie pliki (*)" }, "ffmpeg_updater": { "title": "Sprawdzanie Wersji FFmpeg", diff --git a/languages/pt.json b/languages/pt.json index 16aa7c4..df2f491 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -93,7 +93,8 @@ "select_subtitles": "Selecionar Legendas", "filter_languages_placeholder": "Filtrar idiomas (ex., en, pt)...", "no_subtitles_available": "Nenhuma legenda disponível", - "matching": "correspondendo" + "matching": "correspondendo", + "ytdlp_log_title": "Log do yt-dlp" }, "tabs": { "cookies": "Entrar com Cookies", @@ -124,7 +125,10 @@ "browser_selected_title": "Cookies do Navegador Aplicados", "browser_applied_message": "Os cookies do navegador serão extraídos de: {browser}", "cleared_title": "Cookies Limpos", - "cleared_message": "As configurações de cookies foram limpas" + "cleared_message": "As configurações de cookies foram limpas", + "active_browser": "✓ Ativos: cookies do navegador ({browser})", + "active_file": "✓ Ativo: arquivo de cookies ({file})", + "none_active": "○ Nenhum cookie ativo" }, "custom_command": { "help_text": "Digite seu comando yt-dlp personalizado abaixo. A URL atual será anexada automaticamente.

Para a lista completa de opções e exemplos de uso, clique aqui para ver a documentação oficial do yt-dlp.

Nota: O caminho de download e modelo de nome de arquivo serão tratados automaticamente.", @@ -137,7 +141,14 @@ "full_command": "🔧 Comando completo: {command}", "command_success": "✅ Comando personalizado executado com sucesso!", "command_failed": "❌ Comando falhou com código de saída {code}", - "command_error": "❌ Erro ao executar comando personalizado: {error}" + "command_error": "❌ Erro ao executar comando personalizado: {error}", + "error_no_url": "❌ Erro: nenhuma URL fornecida. Insira uma URL na janela principal.", + "error_no_command": "❌ Erro: nenhum comando fornecido. Insira os argumentos do yt-dlp.", + "executing": "🚀 Executando comando personalizado do yt-dlp", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Argumentos: {command}", + "download_path_label": "📁 Caminho de download: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Configure as definições de proxy para download. Deixe vazio para usar conexão direta.", @@ -159,7 +170,15 @@ "invalid_main_url": "Formato de URL do proxy principal inválido", "invalid_geo_url": "Formato de URL do proxy geográfico inválido", "main_configured": "Proxy principal configurado", - "geo_configured": "Proxy geográfico configurado" + "geo_configured": "Proxy geográfico configurado", + "set_title": "Proxy definido", + "set_message": "Proxy principal definido e salvo: {proxy}", + "geo_set_title": "Proxy geo definido", + "geo_set_message": "Proxy de verificação geo definido e salvo: {proxy}", + "cleared_title": "Configurações de proxy limpas", + "cleared_message": "Todas as configurações de proxy foram limpas e salvas.", + "saved_main": "Proxy principal salvo: {proxy}", + "saved_geo": "Proxy geo salvo: {proxy}" }, "download": { "preparing": "Preparando download...", @@ -347,7 +366,11 @@ "zero_selected": "0 selecionados", "analyze_first_tooltip": "Por favor analise o vídeo primeiro", "audio_mode_disabled": "Não disponível no modo apenas áudio", - "select_subtitles_first": "Por favor selecione legendas primeiro" + "select_subtitles_first": "Por favor selecione legendas primeiro", + "settings_tooltip": "Caminho atual: {path}\nLimite de velocidade: {speed_limit}", + "speed_limit_none": "Nenhum", + "open_folder_error": "Não foi possível abrir a pasta: {error}", + "time_range_set": "Seção definida: {section}" }, "sponsorblock": { "sponsor": "Patrocinador", @@ -446,7 +469,8 @@ "next_check": "Próxima verificação: {time}", "next_check_error": "Próxima verificação: Erro ao calcular", "checking": "🔄 Verificando...", - "check_now": "🔍 Verificar atualizações agora" + "check_now": "🔍 Verificar atualizações agora", + "current_version": "Versão atual do yt-dlp: {version}" }, "url_validation": { "empty_url": "O URL não pode estar vazio", @@ -477,6 +501,7 @@ "clear_confirm_message": "Tem certeza? Isto não pode ser desfeito.", "no_history": "Nenhum histórico ainda", "no_history_description": "Seus downloads aparecerão aqui", + "loading": "Carregando histórico...", "search_placeholder": "Pesquisar...", "open_location": "Abrir Local", "redownload": "Baixar Novamente", @@ -495,7 +520,47 @@ "one_entry": "1 download", "redownload_confirm_title": "Baixar Novamente?", "redownload_confirm_message": "Baixar novamente?\n\n{title}", - "redownload_started": "Download iniciado" + "redownload_started": "Download iniciado", + "no_url_error": "Nenhuma URL encontrada no item do histórico", + "redownload_failed": "Falha ao iniciar o novo download: {error}" + }, + "ffmpeg": { + "installation_title": "Instalação do FFmpeg", + "installation_message": "O YTSage precisa do FFmpeg para processar vídeos.\n\nEscolha uma opção de instalação abaixo:", + "install_button": "Instalar FFmpeg", + "manual_guide": "Guia manual", + "installation_failed": "A instalação do FFmpeg encontrou um problema.", + "already_installed": "O FFmpeg já está instalado!", + "installation_complete": "Instalação concluída. Você pode fechar este diálogo e continuar usando o YTSage.", + "installing": "Instalando FFmpeg... Aguarde", + "install_success": "FFmpeg instalado com sucesso!", + "installation_complete_close": "Instalação concluída. Agora você pode fechar este diálogo e continuar usando o YTSage.", + "try_manual": "Tente usar o guia de instalação manual." + }, + "ytdlp_setup": { + "required_title": "Configuração do yt-dlp necessária", + "description": "O YTSage precisa do yt-dlp para baixar vídeos.

O yt-dlp não foi encontrado no diretório local do aplicativo. O YTSage precisa configurar o yt-dlp para o seu sistema {os_name}.

Escolha uma opção abaixo:", + "option_auto": "Baixar automaticamente (recomendado)", + "option_manual": "Selecionar caminho manualmente", + "setup_button": "Configurar yt-dlp", + "downloading": "Baixando yt-dlp...", + "success": "yt-dlp foi instalado com sucesso!", + "error": "Erro: {error}", + "download_failed_title": "Falha no download", + "download_failed_message": "Falha ao baixar yt-dlp: {error}", + "select_executable_title": "Selecionar executável do yt-dlp", + "copied_to": "yt-dlp copiado com sucesso para {path}", + "setup_error_title": "Erro de configuração", + "copy_error": "Erro ao copiar yt-dlp para o diretório do aplicativo: {error}", + "invalid_executable_title": "Executável inválido", + "invalid_executable_message": "O arquivo selecionado não parece ser um executável válido do yt-dlp.", + "verify_error": "Erro ao verificar o executável do yt-dlp: {error}", + "setup_failed_title": "Configuração falhou", + "setup_failed_message": "Falha ao configurar o yt-dlp. Alguns recursos podem não funcionar corretamente.", + "success_dialog_title": "Configuração do yt-dlp", + "success_dialog_message": "yt-dlp foi configurado com sucesso em:\n{path}", + "file_filter_windows": "Arquivos executáveis (*.exe)", + "file_filter_all": "Todos os arquivos (*)" }, "ffmpeg_updater": { "title": "Verificador de Versão FFmpeg", diff --git a/languages/ru.json b/languages/ru.json index 83830ec..2888c4e 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -93,7 +93,8 @@ "select_subtitles": "Выбрать субтитры", "filter_languages_placeholder": "Фильтр языков (например, en, ru)...", "no_subtitles_available": "Субтитры недоступны", - "matching": "соответствующие" + "matching": "соответствующие", + "ytdlp_log_title": "Журнал yt-dlp" }, "tabs": { "cookies": "Войти через Cookie", @@ -124,7 +125,10 @@ "browser_selected_title": "Cookie браузера применены", "browser_applied_message": "Cookie браузера будут извлечены из: {browser}", "cleared_title": "Cookie очищены", - "cleared_message": "Настройки cookie были очищены" + "cleared_message": "Настройки cookie были очищены", + "active_browser": "✓ Активны: cookie браузера ({browser})", + "active_file": "✓ Активен: файл cookie ({file})", + "none_active": "○ Нет активных cookie" }, "custom_command": { "help_text": "Введите пользовательскую команду yt-dlp ниже. Текущий URL будет добавлен автоматически.

Для полного списка опций и примеров использования, нажмите здесь для просмотра официальной документации yt-dlp.

Примечание: Путь загрузки и шаблон имени файла будут обработаны автоматически.", @@ -137,7 +141,14 @@ "full_command": "🔧 Полная команда: {command}", "command_success": "✅ Пользовательская команда выполнена успешно!", "command_failed": "❌ Команда завершилась с кодом ошибки {code}", - "command_error": "❌ Ошибка выполнения пользовательской команды: {error}" + "command_error": "❌ Ошибка выполнения пользовательской команды: {error}", + "error_no_url": "❌ Ошибка: URL не указан. Введите URL в главном окне.", + "error_no_command": "❌ Ошибка: команда не указана. Введите аргументы yt-dlp.", + "executing": "🚀 Выполняется пользовательская команда yt-dlp", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Аргументы: {command}", + "download_path_label": "📁 Путь загрузки: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "Настройте параметры прокси для загрузки. Оставьте пустым для прямого подключения.", @@ -159,7 +170,15 @@ "invalid_main_url": "Неверный формат URL основного прокси", "invalid_geo_url": "Неверный формат URL гео-прокси", "main_configured": "Основной прокси настроен", - "geo_configured": "Гео-прокси настроен" + "geo_configured": "Гео-прокси настроен", + "set_title": "Прокси задан", + "set_message": "Основной прокси задан и сохранён: {proxy}", + "geo_set_title": "Гео‑прокси задан", + "geo_set_message": "Прокси для гео‑проверки задан и сохранён: {proxy}", + "cleared_title": "Настройки прокси очищены", + "cleared_message": "Все настройки прокси очищены и сохранены.", + "saved_main": "Сохранён основной прокси: {proxy}", + "saved_geo": "Сохранён гео‑прокси: {proxy}" }, "download": { "preparing": "Подготовка загрузки...", @@ -347,7 +366,11 @@ "zero_selected": "0 выбрано", "analyze_first_tooltip": "Пожалуйста, сначала проанализируйте видео", "audio_mode_disabled": "Недоступно в режиме только аудио", - "select_subtitles_first": "Пожалуйста, сначала выберите субтитры" + "select_subtitles_first": "Пожалуйста, сначала выберите субтитры", + "settings_tooltip": "Текущий путь: {path}\nЛимит скорости: {speed_limit}", + "speed_limit_none": "Нет", + "open_folder_error": "Не удалось открыть папку: {error}", + "time_range_set": "Установлен участок: {section}" }, "sponsorblock": { "sponsor": "Спонсор", @@ -446,7 +469,8 @@ "next_check": "Следующая проверка: {time}", "next_check_error": "Следующая проверка: Ошибка расчета", "checking": "🔄 Проверка...", - "check_now": "🔍 Проверить обновления сейчас" + "check_now": "🔍 Проверить обновления сейчас", + "current_version": "Текущая версия yt-dlp: {version}" }, "url_validation": { "empty_url": "URL не может быть пустым", @@ -477,6 +501,7 @@ "clear_confirm_message": "Вы уверены? Это нельзя отменить.", "no_history": "История пока пуста", "no_history_description": "Загрузки появятся здесь", + "loading": "Загрузка истории...", "search_placeholder": "Поиск...", "open_location": "Открыть Папку", "redownload": "Загрузить Снова", @@ -495,7 +520,47 @@ "one_entry": "1 загрузка", "redownload_confirm_title": "Загрузить Снова?", "redownload_confirm_message": "Загрузить снова?\n\n{title}", - "redownload_started": "Загрузка начата" + "redownload_started": "Загрузка начата", + "no_url_error": "В записи истории не найден URL", + "redownload_failed": "Не удалось запустить повторную загрузку: {error}" + }, + "ffmpeg": { + "installation_title": "Установка FFmpeg", + "installation_message": "YTSage требуется FFmpeg для обработки видео.\n\nВыберите вариант установки ниже:", + "install_button": "Установить FFmpeg", + "manual_guide": "Руководство вручную", + "installation_failed": "При установке FFmpeg возникла проблема.", + "already_installed": "FFmpeg уже установлен!", + "installation_complete": "Установка завершена. Вы можете закрыть это окно и продолжить использовать YTSage.", + "installing": "Установка FFmpeg... Пожалуйста, подождите", + "install_success": "FFmpeg успешно установлен!", + "installation_complete_close": "Установка завершена. Теперь вы можете закрыть это окно и продолжить использовать YTSage.", + "try_manual": "Пожалуйста, попробуйте воспользоваться руководством по ручной установке." + }, + "ytdlp_setup": { + "required_title": "Требуется настройка yt-dlp", + "description": "YTSage требует yt-dlp для загрузки видео.

yt-dlp не найден в локальном каталоге приложения. YTSage нужно настроить yt-dlp для вашей системы {os_name}.

Выберите вариант ниже:", + "option_auto": "Скачать автоматически (рекомендуется)", + "option_manual": "Выбрать путь вручную", + "setup_button": "Настроить yt-dlp", + "downloading": "Загрузка yt-dlp...", + "success": "yt-dlp успешно установлен!", + "error": "Ошибка: {error}", + "download_failed_title": "Сбой загрузки", + "download_failed_message": "Не удалось скачать yt-dlp: {error}", + "select_executable_title": "Выберите исполняемый файл yt-dlp", + "copied_to": "yt-dlp успешно скопирован в {path}", + "setup_error_title": "Ошибка настройки", + "copy_error": "Ошибка при копировании yt-dlp в каталог приложения: {error}", + "invalid_executable_title": "Недопустимый исполняемый файл", + "invalid_executable_message": "Выбранный файл не является корректным исполняемым файлом yt-dlp.", + "verify_error": "Ошибка при проверке исполняемого файла yt-dlp: {error}", + "setup_failed_title": "Настройка не удалась", + "setup_failed_message": "Не удалось настроить yt-dlp. Некоторые функции могут работать некорректно.", + "success_dialog_title": "Настройка yt-dlp", + "success_dialog_message": "yt-dlp успешно настроен по пути:\n{path}", + "file_filter_windows": "Исполняемые файлы (*.exe)", + "file_filter_all": "Все файлы (*)" }, "ffmpeg_updater": { "title": "Проверка версии FFmpeg", diff --git a/languages/tr.json b/languages/tr.json index a0aa779..6d1edc6 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -93,7 +93,8 @@ "select_subtitles": "Altyazı seç", "filter_languages_placeholder": "Dilleri filtrele (örn: tr, en)...", "no_subtitles_available": "Altyazı mevcut değil", - "matching": "eşleşen" + "matching": "eşleşen", + "ytdlp_log_title": "yt-dlp Günlüğü" }, "tabs": { "cookies": "Çerezlerle giriş yap", @@ -124,7 +125,10 @@ "browser_selected_title": "Tarayıcı Çerezleri Uygulandı", "browser_applied_message": "Tarayıcı çerezleri şuradan çıkarılacak: {browser}", "cleared_title": "Çerezler Temizlendi", - "cleared_message": "Çerez ayarları temizlendi" + "cleared_message": "Çerez ayarları temizlendi", + "active_browser": "✓ Etkin: Tarayıcı çerezleri ({browser})", + "active_file": "✓ Etkin: Çerez dosyası ({file})", + "none_active": "○ Etkin çerez yok" }, "custom_command": { "help_text": "Özel yt-dlp komutunuzu aşağıya girin. Mevcut URL otomatik olarak eklenecektir.

Seçeneklerin tam listesi ve kullanım örnekleri için resmi yt-dlp belgelerini görmek için buraya tıklayın.

Not: İndirme yolu ve dosya adı şablonu otomatik olarak işlenir.", @@ -137,7 +141,14 @@ "full_command": "🔧 Tam komut: {command}", "command_success": "✅ Özel komut başarıyla çalıştırıldı!", "command_failed": "❌ Komut {code} çıkış koduyla başarısız oldu", - "command_error": "❌ Özel komut çalıştırma hatası: {error}" + "command_error": "❌ Özel komut çalıştırılırken hata: {error}", + "error_no_url": "❌ Hata: URL sağlanmadı. Lütfen ana pencerede bir URL girin.", + "error_no_command": "❌ Hata: Komut sağlanmadı. Lütfen yt-dlp argümanlarını girin.", + "executing": "🚀 Özel yt-dlp komutu çalıştırılıyor", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Argümanlar: {command}", + "download_path_label": "📁 İndirme yolu: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "İndirmeler için proxy ayarlarını yapılandırın. Doğrudan bağlantı için boş bırakın.", @@ -159,7 +170,13 @@ "invalid_main_url": "Geçersiz ana proxy URL formatı", "invalid_geo_url": "Geçersiz coğrafi proxy URL formatı", "main_configured": "Ana proxy yapılandırıldı", - "geo_configured": "Coğrafi proxy yapılandırıldı" + "geo_configured": "Coğrafi proxy yapılandırıldı", + "set_title": "Proxy ayarlandı", + "set_message": "Ana proxy ayarlandı ve kaydedildi: {proxy}", + "geo_set_title": "Coğrafi proxy ayarlandı", + "geo_set_message": "Coğrafi doğrulama proxy'si ayarlandı ve kaydedildi: {proxy}", + "cleared_title": "Proxy ayarları temizlendi", + "cleared_message": "Tüm proxy ayarları temizlendi ve kaydedildi." }, "download": { "preparing": "İndirme hazırlanıyor...", @@ -347,7 +364,11 @@ "zero_selected": "0 seçildi", "analyze_first_tooltip": "Lütfen önce videoyu analiz edin", "audio_mode_disabled": "Yalnızca ses modunda kullanılamaz", - "select_subtitles_first": "Lütfen önce altyazıları seçin" + "select_subtitles_first": "Lütfen önce altyazıları seçin", + "settings_tooltip": "Mevcut Yol: {path}\nHız Sınırı: {speed_limit}", + "speed_limit_none": "Yok", + "open_folder_error": "Klasör açılamadı: {error}", + "time_range_set": "Bölüm ayarlandı: {section}" }, "sponsorblock": { "sponsor": "Sponsor", @@ -446,7 +467,8 @@ "next_check": "Sonraki kontrol: {time}", "next_check_error": "Sonraki kontrol: Hesaplama hatası", "checking": "🔄 Kontrol ediliyor...", - "check_now": "🔍 Şimdi güncellemeleri kontrol et" + "check_now": "🔍 Şimdi güncellemeleri kontrol et", + "current_version": "Mevcut yt-dlp sürümü: {version}" }, "url_validation": { "empty_url": "URL boş olamaz", @@ -495,7 +517,41 @@ "one_entry": "1 indirme", "redownload_confirm_title": "Tekrar İndir?", "redownload_confirm_message": "Tekrar indir?\n\n{title}", - "redownload_started": "İndirme başladı" + "redownload_started": "İndirme başladı", + "no_url_error": "Geçmiş kaydında URL bulunamadı", + "redownload_failed": "Yeniden indirme başlatılamadı: {error}" + }, + "ffmpeg": { + "installation_title": "FFmpeg Kurulumu", + "installation_message": "YTSage, videoları işlemek için FFmpeg'e ihtiyaç duyar.\n\nAşağıdan bir kurulum seçeneği seçin:", + "install_button": "FFmpeg Kur", + "manual_guide": "Manuel Kılavuz", + "installation_failed": "FFmpeg kurulumu bir sorunla karşılaştı." + }, + "ytdlp_setup": { + "required_title": "yt-dlp Kurulumu Gerekli", + "description": "YTSage, video indirmek için yt-dlp'ye ihtiyaç duyar.

yt-dlp uygulamanın yerel dizininde bulunamadı. YTSage'in {os_name} sisteminiz için yt-dlp'yi kurması gerekiyor.

Lütfen aşağıdan bir seçenek seçin:", + "option_auto": "Otomatik indir (Önerilen)", + "option_manual": "Yolu manuel seç", + "setup_button": "yt-dlp Kur", + "downloading": "yt-dlp indiriliyor...", + "success": "yt-dlp başarıyla yüklendi!", + "error": "Hata: {error}", + "download_failed_title": "İndirme Başarısız", + "download_failed_message": "yt-dlp indirilemedi: {error}", + "select_executable_title": "yt-dlp çalıştırılabilir dosyasını seç", + "copied_to": "yt-dlp başarıyla {path} konumuna kopyalandı", + "setup_error_title": "Kurulum Hatası", + "copy_error": "yt-dlp uygulama dizinine kopyalanırken hata: {error}", + "invalid_executable_title": "Geçersiz Çalıştırılabilir", + "invalid_executable_message": "Seçilen dosya geçerli bir yt-dlp çalıştırılabilir dosyası değil.", + "verify_error": "yt-dlp çalıştırılabilir dosyası doğrulanırken hata: {error}", + "setup_failed_title": "Kurulum Başarısız", + "setup_failed_message": "yt-dlp kurulumu başarısız oldu. Bazı özellikler düzgün çalışmayabilir.", + "success_dialog_title": "yt-dlp Kurulumu", + "success_dialog_message": "yt-dlp başarıyla şu konuma yapılandırıldı:\n{path}", + "file_filter_windows": "Çalıştırılabilir Dosyalar (*.exe)", + "file_filter_all": "Tüm Dosyalar (*)" }, "ffmpeg_updater": { "title": "FFmpeg Sürüm Denetçisi", From 99d3b6ae17014cedb0839fd89ca0c46bcbeaf02f Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:02:08 +0200 Subject: [PATCH 402/568] Update CI/CD README with Flatpak and macOS details Added Flatpak bundle to the list of Linux artifacts and clarified that the macOS zipped application bundle is for arm64 architecture. --- .github/CI_CD_README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 3bd04d7..e7e31ab 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -48,9 +48,10 @@ The workflow creates the following files based on the platform: - `YTSage-v{version}-{arch}.AppImage` - AppImage portable (x86_64, aarch64) - `YTSage-v{version}-{arch}.rpm` - RPM package - `YTSage-v{version}-{arch}.deb` - Debian package +- `YTSage-v{version}-{arch}.flatpak` - Flatpak bundle #### macOS -- `YTSage-v{version}-{arch}.app.zip` - Zipped application bundle (x64, arm64) +- `YTSage-v{version}-{arch}.app.zip` - Zipped application bundle arm64 - `YTSage-v{version}-{arch}.dmg` - Disk image installer ## Workflow Features @@ -63,7 +64,7 @@ The workflow creates the following files based on the platform: ### Manual Versioning - Version is strictly controlled by the input you provide at runtime. - No longer dependent on git tags, reducing accidental releases. - + ### Caching - Python dependencies and virtual environments are cached to speed up builds. From acda70150f8df3c5b65693143c7474aeaa23b8b5 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:03:01 +0200 Subject: [PATCH 403/568] Move language files to ytsage/languages directory Renamed and relocated all language JSON files from the root 'languages' directory to 'ytsage/languages' for improved project organization. --- {languages => ytsage/languages}/ar.json | 0 {languages => ytsage/languages}/de.json | 0 {languages => ytsage/languages}/en.json | 0 {languages => ytsage/languages}/es.json | 0 {languages => ytsage/languages}/fr.json | 0 {languages => ytsage/languages}/hi.json | 0 {languages => ytsage/languages}/id.json | 0 {languages => ytsage/languages}/it.json | 0 {languages => ytsage/languages}/ja.json | 0 {languages => ytsage/languages}/pl.json | 0 {languages => ytsage/languages}/pt.json | 0 {languages => ytsage/languages}/ru.json | 0 {languages => ytsage/languages}/tr.json | 0 {languages => ytsage/languages}/zh.json | 0 14 files changed, 0 insertions(+), 0 deletions(-) rename {languages => ytsage/languages}/ar.json (100%) rename {languages => ytsage/languages}/de.json (100%) rename {languages => ytsage/languages}/en.json (100%) rename {languages => ytsage/languages}/es.json (100%) rename {languages => ytsage/languages}/fr.json (100%) rename {languages => ytsage/languages}/hi.json (100%) rename {languages => ytsage/languages}/id.json (100%) rename {languages => ytsage/languages}/it.json (100%) rename {languages => ytsage/languages}/ja.json (100%) rename {languages => ytsage/languages}/pl.json (100%) rename {languages => ytsage/languages}/pt.json (100%) rename {languages => ytsage/languages}/ru.json (100%) rename {languages => ytsage/languages}/tr.json (100%) rename {languages => ytsage/languages}/zh.json (100%) diff --git a/languages/ar.json b/ytsage/languages/ar.json similarity index 100% rename from languages/ar.json rename to ytsage/languages/ar.json diff --git a/languages/de.json b/ytsage/languages/de.json similarity index 100% rename from languages/de.json rename to ytsage/languages/de.json diff --git a/languages/en.json b/ytsage/languages/en.json similarity index 100% rename from languages/en.json rename to ytsage/languages/en.json diff --git a/languages/es.json b/ytsage/languages/es.json similarity index 100% rename from languages/es.json rename to ytsage/languages/es.json diff --git a/languages/fr.json b/ytsage/languages/fr.json similarity index 100% rename from languages/fr.json rename to ytsage/languages/fr.json diff --git a/languages/hi.json b/ytsage/languages/hi.json similarity index 100% rename from languages/hi.json rename to ytsage/languages/hi.json diff --git a/languages/id.json b/ytsage/languages/id.json similarity index 100% rename from languages/id.json rename to ytsage/languages/id.json diff --git a/languages/it.json b/ytsage/languages/it.json similarity index 100% rename from languages/it.json rename to ytsage/languages/it.json diff --git a/languages/ja.json b/ytsage/languages/ja.json similarity index 100% rename from languages/ja.json rename to ytsage/languages/ja.json diff --git a/languages/pl.json b/ytsage/languages/pl.json similarity index 100% rename from languages/pl.json rename to ytsage/languages/pl.json diff --git a/languages/pt.json b/ytsage/languages/pt.json similarity index 100% rename from languages/pt.json rename to ytsage/languages/pt.json diff --git a/languages/ru.json b/ytsage/languages/ru.json similarity index 100% rename from languages/ru.json rename to ytsage/languages/ru.json diff --git a/languages/tr.json b/ytsage/languages/tr.json similarity index 100% rename from languages/tr.json rename to ytsage/languages/tr.json diff --git a/languages/zh.json b/ytsage/languages/zh.json similarity index 100% rename from languages/zh.json rename to ytsage/languages/zh.json From f9eace71e0e0d0066ca002883f88a55f66622d1f Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:04:08 +0200 Subject: [PATCH 404/568] Reorganize asset and branding file structure Moved icons, screenshots, SVGs, and sound files to new locations under 'branding' and 'ytsage/assets' directories for improved project organization. --- {assets/branding => branding}/icons/YTSage.ico | Bin {assets/branding => branding}/icons/icon.icns | Bin {assets/branding => branding}/icons/icon.png | Bin .../screenshots/Custom-Option.png | Bin .../screenshots/Download-Settings.png | Bin .../screenshots/audio_format.png | Bin {assets/branding => branding}/screenshots/main.png | Bin .../branding => branding}/screenshots/playlist.png | Bin .../branding => branding}/svg/ytsage-wordmark.svg | 0 {assets => ytsage/assets}/Icon/icon.png | Bin {assets => ytsage/assets}/sound/notification.mp3 | Bin 11 files changed, 0 insertions(+), 0 deletions(-) rename {assets/branding => branding}/icons/YTSage.ico (100%) rename {assets/branding => branding}/icons/icon.icns (100%) rename {assets/branding => branding}/icons/icon.png (100%) rename {assets/branding => branding}/screenshots/Custom-Option.png (100%) rename {assets/branding => branding}/screenshots/Download-Settings.png (100%) rename {assets/branding => branding}/screenshots/audio_format.png (100%) rename {assets/branding => branding}/screenshots/main.png (100%) rename {assets/branding => branding}/screenshots/playlist.png (100%) rename {assets/branding => branding}/svg/ytsage-wordmark.svg (100%) rename {assets => ytsage/assets}/Icon/icon.png (100%) rename {assets => ytsage/assets}/sound/notification.mp3 (100%) diff --git a/assets/branding/icons/YTSage.ico b/branding/icons/YTSage.ico similarity index 100% rename from assets/branding/icons/YTSage.ico rename to branding/icons/YTSage.ico diff --git a/assets/branding/icons/icon.icns b/branding/icons/icon.icns similarity index 100% rename from assets/branding/icons/icon.icns rename to branding/icons/icon.icns diff --git a/assets/branding/icons/icon.png b/branding/icons/icon.png similarity index 100% rename from assets/branding/icons/icon.png rename to branding/icons/icon.png diff --git a/assets/branding/screenshots/Custom-Option.png b/branding/screenshots/Custom-Option.png similarity index 100% rename from assets/branding/screenshots/Custom-Option.png rename to branding/screenshots/Custom-Option.png diff --git a/assets/branding/screenshots/Download-Settings.png b/branding/screenshots/Download-Settings.png similarity index 100% rename from assets/branding/screenshots/Download-Settings.png rename to branding/screenshots/Download-Settings.png diff --git a/assets/branding/screenshots/audio_format.png b/branding/screenshots/audio_format.png similarity index 100% rename from assets/branding/screenshots/audio_format.png rename to branding/screenshots/audio_format.png diff --git a/assets/branding/screenshots/main.png b/branding/screenshots/main.png similarity index 100% rename from assets/branding/screenshots/main.png rename to branding/screenshots/main.png diff --git a/assets/branding/screenshots/playlist.png b/branding/screenshots/playlist.png similarity index 100% rename from assets/branding/screenshots/playlist.png rename to branding/screenshots/playlist.png diff --git a/assets/branding/svg/ytsage-wordmark.svg b/branding/svg/ytsage-wordmark.svg similarity index 100% rename from assets/branding/svg/ytsage-wordmark.svg rename to branding/svg/ytsage-wordmark.svg diff --git a/assets/Icon/icon.png b/ytsage/assets/Icon/icon.png similarity index 100% rename from assets/Icon/icon.png rename to ytsage/assets/Icon/icon.png diff --git a/assets/sound/notification.mp3 b/ytsage/assets/sound/notification.mp3 similarity index 100% rename from assets/sound/notification.mp3 rename to ytsage/assets/sound/notification.mp3 From 2aac706ef785480a11da5ba92285929542a30a83 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:04:31 +0200 Subject: [PATCH 405/568] Migrate dependencies to pyproject.toml Replaced requirements.txt with pyproject.toml to modernize project configuration and dependency management using PEP 621 standards. This change improves compatibility with modern Python packaging tools. --- pyproject.toml | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 7 ----- 2 files changed, 68 insertions(+), 7 deletions(-) create mode 100644 pyproject.toml delete mode 100644 requirements.txt diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..323bcdf --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,68 @@ +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[project] +name = "ytsage" +version = "4.9.7" +description = "Modern YouTube downloader with a clean PySide6 interface." +authors = [ + { name = "oop7", email = "oop7_support@proton.me" }, +] +dependencies = [ + "PySide6>=6.10.1", + "requests>=2.32.5", + "pillow>=12.0.0", + "packaging>=25.0", + "markdown>=3.10", + "loguru>=0.7.3", + "setuptools>=80.9.0", +] +requires-python = ">=3.10,<3.15" +readme = "README.md" +license = "MIT" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + 'Programming Language :: Python :: 3.14', + "Intended Audience :: End Users/Desktop", + "Operating System :: OS Independent", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX :: Linux", + "Operating System :: MacOS", + "Topic :: Internet :: WWW/HTTP", + "Topic :: Multimedia :: Video", + "Topic :: Multimedia :: Sound/Audio", + "Topic :: Desktop Environment", + "Environment :: X11 Applications :: Qt", + "Environment :: Win32 (MS Windows)", + "Environment :: MacOS X" +] + +keywords = ["youtube", "downloader", "video", "audio", "PySide6", "yt-dlp", "GUI"] + + +[project.scripts] +ytsage = "ytsage.main:main" + +[project.urls] +Homepage = "https://github.com/oop7/YTSage" +Bug-Tracker = "https://github.com/oop7/YTSage/issues" +Reddit = "https://www.reddit.com/r/NO-N_A_M_E/" + +[tool.setuptools] +include-package-data = true + +[tool.setuptools.packages.find] +include = ["ytsage*"] + +[tool.setuptools.package-data] +ytsage = [ + "assets/Icon/icon.png", + "assets/sound/notification.mp3", + "languages/*.json", +] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 550f74e..0000000 --- a/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -PySide6>=6.10.1 -requests>=2.32.5 -pillow>=12.0.0 -packaging>=25.0 -markdown>=3.10 -loguru>=0.7.3 -setuptools>=80.9.0 \ No newline at end of file From 32b2b544f478c0a0cb8a95dc3e09c77021730547 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:04:39 +0200 Subject: [PATCH 406/568] Add build_release.py for automated release process Introduces a script to automate the production build process, including backing up and modifying the README for PyPI, cleaning previous build artifacts, building the wheel, and restoring the original README. This streamlines and standardizes the release workflow. --- build_release.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 build_release.py diff --git a/build_release.py b/build_release.py new file mode 100644 index 0000000..25277aa --- /dev/null +++ b/build_release.py @@ -0,0 +1,64 @@ +import os +import shutil +import re +import subprocess +import sys + +def build_release(): + print("Starting Production Build...") + + # 1. Backup local README + if os.path.exists("README.md"): + shutil.copy2("README.md", "README.md.bak") + print("Backed up README.md") + + try: + # 2. Prepare PyPI README + with open("README.md", "r", encoding="utf-8") as f: + content = f.read() + + # Base URL for assets + base_url = "https://github.com/oop7/YTSage/raw/main/branding/" + + # Function to fix paths matches by regex + def path_fixer(match): + full_match = match.group(0) + # Convert backslashes to forward slashes for URL compatibility + fixed = full_match.replace("\\", "/") + # Prepend the absolute URL + return fixed.replace("branding/", base_url) + + # Regex: matches "branding" followed by backslash or slash, then characters until quote, closing paren, or space + # This captures paths like: branding\screenshots\main.png + pattern = r"branding[\\/][^\"')\s]+" + new_content = re.sub(pattern, path_fixer, content) + + with open("README.md", "w", encoding="utf-8") as f: + f.write(new_content) + + print("Modified README.md for PyPI (Absolute URLs)") + + # 3. Clean previous builds + for folder in ["dist", "build", "ytsage.egg-info"]: + if os.path.exists(folder): + shutil.rmtree(folder) + + # 4. Run Build + print("Building Wheel...") + subprocess.check_call([sys.executable, "-m", "build"]) + + except Exception as e: + print(f"Error during build: {e}") + sys.exit(1) + + finally: + # 5. Restore README + if os.path.exists("README.md.bak"): + # Force move back, overwriting the modified one + shutil.move("README.md.bak", "README.md") + print("Restored original README.md") + + print("Build Complete. Artifacts are in the /dist folder.") + +if __name__ == "__main__": + build_release() From 2e5e40cbf500d0f0ea6cdc945979c2582e43e644 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:05:05 +0200 Subject: [PATCH 407/568] Update README for new directory structure and usage Updated image paths and installation instructions to reflect the new project structure. The documentation now references the 'branding' directory instead of 'assets/branding', and installation uses 'pip install .' with module execution via 'python -m ytsage.main'. The project tree was revised to match the reorganized source and asset directories. --- README.md | 97 +++++++++++++++++-------------------------------------- 1 file changed, 30 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index bf4a712..bc9e4af 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@
-ytsage-wordmark -YTSage Interface +ytsage-wordmark +YTSage Interface [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) @@ -114,19 +114,19 @@ cd YTSage #### ⚡ With uv ```bash -uv pip install -r requirements.txt +uv pip install . ``` #### 📦 Or with standard pip ```bash -pip install -r requirements.txt +pip install . ``` ### 3. Run the Application ```bash -python main.py +python -m ytsage.main ``` @@ -137,16 +137,16 @@ python main.py
Main InterfacePlaylist DownloadMain InterfacePlaylist Download
Main Interface Playlist Download
Audio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor SegmentsAudio Format Selection with Save ThumbnailSubtitle Options merged with Remove Sponsor Segments
Audio FormatMarkdown Rendering
pygamepyglet Audio Playback
V2mR9^X}8Vz`z`LoTRp0_q z^qD8-)~nfbcosNty*{y=QF-KoUC#(XLT)shao&2*%xUU9mh=OxtOwc=61ju-;JRhA z|8CPT8#Zuj{r8$C+f9zcko1hijr8IwdDaJmqUMXQA8b*N`HgkB{B;GwM6-sXTOv>G z!3Cd?$B{OhVXM;bVM2WcFf2AKVSl0^WJo)Z;yyX0*`Rx?O7msBFjrKLFk+L@8cH52 zGN&$gbJ`ot0MZuqjmC+Fd-#oye?u?OAPfqC`XI04pHP^(Vw@1tBiW$?m49zm>osdB z!z#}=XB9u$&w&WrK=z-?Z|H6~O{rBl67yU?MHxu}?55p1amsm-hj+Q*Em;kQd*4k^ z{LHku5@jK-2@{~PycIA?%{Z+(FIN&>Sqg2?yOyL!Gr7eQjaP2RhDgvkD>MNAOcf0& z{K3^94?T|-5ZIE?6ho0G$CvKIYGu+HOU_KRPgyzCA7rLFejxUGodvv;Mm zb;i|<@M(3cB;%k5diz2eP2QUeIdo=x$q!jLhN)moT9sYt2N#<07Y)IxBuuJqil~u) z%`e|FSV60l~J}-+k`%x5DPF(;dx(4u_RXXoo``Mt!hg?ybJc>gOT;QgYA) zSVxqcEQ?Xl|HW`RkzMC*QZBuB+I4ch$MV5oK}%8PvP*>T&Xe`NFzsQrkfqvuTxVdp zUbhP&vryrc`hvG>B6n9}roMOvv3Y@?%R8QSHtDgQ&%FM^u@8Uk&y$lRj(-a=KNwBZHt~izVM7C_bB4X1w$8hN`;EJZC@A$kpi=nd@MfJD#TZjgMjUZRX{e+mwWc{ z;5}yJt>_3Y`L)QS^YVl{bG`5}Crp%HW$r7uLyyWFj@5uSkLeO@r zUU$Llyn@r|xA@>*60eg2uc}T}!8T>RR=2%al9~6mmeg6%tZ~#3lS_qwWH6ULJ?XK} z*2^Iqc%3{Al)}zl#qM$9pB@e@-$GT`R)2HmwzpIBA5M@s<}6YA|Dc%9{9Sn`mXL0v zxfejfqaq1-v?H65*L7h>7zOKbuHZ|HcZ5%Kwo_FF%xWsuv5Ud1{i^qdy^0-6_Mb+` zUnowVTfxF7tK>@_Bk}K^kNW(b_gB*R{_um&uo>C^h1ME9GX<>Py0ymmRpdzlbtk^K zV+SqxnP2iZ)t6h=I2v~&{>sh$9q$aJ1-3n-2=(v&5;&)u04v{O>kT}+ZLE%BCdXI9 zWLJ~@kY>oyK@%wKL`25Z4(uxL0+9_n9w|gF4M6ktUyClIG$k{xWN#L@VpK;bNj6 zku+mDm9~qwo?5za&H~zN8g;Jqbq`TNl=YvG^%#$=vXs2%8g!5b_Q>>}#!XkKjZy!! ze(fjO_{;m@R(+5$&sUxUHa$jL2GFP+ct{D)+5{jvlrR!O3$lxt&bA`}Ug-?e{!%1n zGs#az0Uv!L)BXc2MxCu<5_TaHy!K581^JcvX-dK^2AY{F-N=G;?Jk&a!$wsi&XC>bwaF9X z_I|X*2{~&_(QmS@m7+4zud`$Yx*7X4fGp)$Ow;jYd@>q>$8Si zO|fyx!hh=gZ~RLoi1C`qkI+|r@Q~6D*6e4A~(AP8sMFyUZCOc@cBOhrshC{Pl>Qs zStSO;=yDMVLJ3TW>Vpm%g^GJu#rQp0B5No!sVxa>Xoxsh6Y^nXF&Oj{s!*6?I_iGIf%)EwD`z_#&W)3)0EpIBRdFcu;$Ejo}9q6tz# zFkVpnTavgr{11*yA-EvplbE}nlfB#><#L_1i)?s8iYEG2YGtkS8nVa9o4kV+UH#&d zGbs^A$#fj}f(UN}I?Q`n=M0pykv0GBk~Y85+uVO#e9R#b%zmNj-$Boq(u(-y0sePf zmRIn9r!hB`J8=GbZUzoHe-Qwkm87##@%=9kA&?v6?`wb_&A41;yr>e9$Bj-_EDmVVb-B`&;2?gDoW zDqiensdt&b5J^J4bt^>s*;C~ss=>%epT6&C209IEfCqPBcge!=FuYr>VA5L4f;x3Pi6Lsgc~qz0 z^c4lFh2h`HtjEgn;1OBqEnUFhyP^LkdM?M69r`7&dRC8`mxTWZ_mXN)`kz?fItwF^ zrcgS-y;S(G``h_OXwu9tK+fXFf5JKcJH@4WNC8=hP&B{?_7*pPT?U>$$aU^lXDMPl zyTQEXz~CBhg4l;A+B5>R`0v~IuvOwcLVK?ik^VNXT>{n0sS7RL8I4J_NG$zKr1|SP zf=NuFQrsd^jTj6TS2&ya3kwP6 z+`q&i@Z`PkFTr{ZIh$?SvrQC+_cU1FPyg1Qnqbh&>thvcc^MTe(Y$}%BU}Fp&?Qs$ zAfqY9&Db7C*4V2h5eL>#*I6YzYi+ZUBJi++f*;m5aEMjqTqMRt7h>%Og`kVT?m)DbGqa#+$=SKpcJDCRG$P>z3=Y(V=HechLV>Pnc7P@R_MGxo6Ot9oNUD|ffH zqpbBD-gTcOZE6N)Yr2-NattIBdyn)7zl;D6>AQ;OU~Zlu|2qo7s#lMA@)}a^w4cB3 zjuxRqFMj(oa2CX!{s%v{fp&+Ej!|U$UTu4OyTVCE{~bPTH2dubJd_vi^}OULIC{*> zR#QIYKZ6+af52mMy)NbHz}Z?G&9l)8El^g$=Rp3yD42PK>sshNpV%MC7D&1*XUL!*{q`#;0-r&%xSb27tR5k4|-!~-rQ}N`}gUVY}UrsN# z7J~&>G}cvrAZk^7X$+Q}uQn8x_$HarVKyaY9sKc|2`YN(f{X_VI{!gOm$C*bmwu;R z!64xbc7OxvP=Wys7;+9(G4@>Dy)c=R2^gpraGHurX{tg}A{|Dm2kwO9d z1gGIaD!?>Nz|U`Rb|00;rF9m;is{|Gq2l73H^y>tdS9(@#0-&E<)c78do#6^6tz@{ zjwtxa!i{kf_4w$kV)T23{YLn3lceE`GZmGOF&f7G!mc?3P+^`|hPcn)aLSB4hw1|x zb3qSn1p;CON8JsS@CHr^WyAH6`5m*ODT%Xp{zy)WvKgR78ds_0z_na2f|_au+L+(4 z2=^=miOt3w3puY*w10zA^O+<>`7fT=)x)^Bl$-L8`}R17e!+gWcu>Ajo0K0Pgv`krOId*+gX@ju~oQO=wc95^sBo|N0XxFh6$N_wRFG1NyQdNBAQB6z^MU`w~p%M+OLFTA3_80lL4J?gIrGIu% zryYa`0^jx6r2J(axV_g&l3>C_hxJ+^x<#EVfiEEd6(jY`iLhmd z!%0$V5Id{F=P9RFg@n3`dfR{C&QZ~%7hoZVk1$tByBL1x`=uR*?pbcBs1% z1WPTRziFjHm+1MFBz%8g&zHBUYP1A9d?_?aR5`03*;bYqp9RA(-wt3w-gzCr)$CRP zbSpaKk1KT{Aiuc8K`97F#QJTC-7mnB()#z@4S1Q zzqM5(k^N?&?%~x4ZF2YVq)*-=Fr?oShJ^Fcgf?yrd|jSncVKA=DVm9VkI8Lx{~i`V z`eRh++h{bPZC$gI2+q1fpqnj-P6tXu64Pw({>$8elT`kL4)}l12>g7ZQBDFlCb`yZ zD-obQ#}(jLLkl{RBB`a*OH_F4LfJfgpYlhO{A4goQ&wtH1{WzYzr?f(dlHV58uO-t z1Wez0nqC(AUQBEMRHoG&fXO&nYk#DiL4QI!Gx$@vo@O56Ubc4V#UGxwGp&Mj${UHQ zvI(6*17GdVHPjPrI+#nn%5wc`tARUEY#!=+ZeTwq7%&#*sxlKAH#&NOVeL9?XjW(LdRi;~QprGh5%gbK)e=5vrPAAF+;US*tYpof^`<&X*Y zS%)q@vzS0b1MzC1y`|U^4-+JT-WEs*qvX&YOa<+EeLmU(BLamtQcQXMq-V3mK^3S> zvvC)&DH?h~5^UU0#W7{~STSF}@-NDZ-2TLy0Ee|!+fkX=(Y?BBi!Coe(Er0_JaF-n zDw06TB}1pLA8>I|M4=r{p*8{+_1da0^eTX_gaB(G;Y=kQ5M7#;lce`w@YsLmWas}k zCl^V8W;Hs*3zh+{{wYbYCJ8uA-}$vS&xv?#Tni&TfOkJ(gU1^Xtrf5Kh(2+Qo)|tz zSqC9HQ0-}tY(IeiC4G@-y9?)RI1}INmOti#3D)q(#z1Q#g@T6^Y&?#=y4Bd2EZw0DR{{QWMd>M&R@xuyGP{;9PPv z4-3N&^+S7?y#t^|H<&|?Iye8hW>i!u6x}00hRvyeoFk`?hE&2g^9H|srau6XfSvOr z%X;$xYO&NoLwKbO5p%j{7Y$m9o(+=jsA2k~cyc*@pN#0!i+B#s`}U)8dS?j;XP!MK zCun~}P717I`(E-jGld%kf(N``@G@43Yv)6-`xMf<@?;w1`Pyu-%Y(D^g19uGn2OIYE3+d_h(DT}Am%ps-zI~tko`T_i zOWD><>AOV5$rh~J^MOn*g3Rq`9ygg$IaXQyf0=xy7!{pFcWpcnB|y7V1R&hOd(Q#U zqA2}`<++^7_;&YTUgM0S=;mom|DhNgb=9}mvnQ4|UIO}&c6X)59IE~=;;r46_2ug9 zwzun5=3ouf(16Yj#U1|cKXgY{`Pq=gGwR24G5?>tWexZHe|PT46rL8wQW1M*ZQLw` zPiC@F3=23C$cRkWBXJ4WeH{P|A(G;czfg^#tNk9=!ATgK(733{CP~S10_#%n+_cJf zSSl&EieplsPeU88|ET)7FzBrSyi3?>S=0XfhEMMErl>tB{Y}anFYBP-0K}mqIs-gf zaHhnMM@hlz?-E5+3I5<~T*R$t95m#W2I?>}sYNs+S#<%LivCCp21>~r|F;x#c6Mqh zYmjxL7@PIAMX3tqvxmc(gKfyK1rFvF>uINgeR)jcp9}1hW7dQ#ZrN_M8lkNNBht>v zritV93I`07sTX=0K#$&kzu_LD(rBd544^uHgyoic7a@8m4;YC5yi5%Tdl*Z>xio)w zq44rPD%C!s# zSFr0ekUo8fo|CWP`_*F76liVZD*uj;w=m8UoOPKii)q(g<&~$-@{Qxa9$+#Pz11sm z#mxNA^y#yY#3!#qJzC;Q&WZ`W= z+pVIhWJ~QmiaQccq3-)`HbHEGtn_#tW-tU%kM)^&`&k3Qud)b)VwMVINh4J7U_ySQ z42N>&Ym}G`0hiyGxXnH8ehMME$(SJAw4r_|+HLFQp~n+Qj}Y(inaH;^!{JRxEEO9_ zzSkJ6QJ|a9R!1lWJ%_r8Sk76Q2PvHNTEC-4+@dwlR}%Xo7h2dvJI6B)A86O>np6TdA$x|6SEp zee2vl@}B2?{h@8z2r(**BB@X|@2Gr_d2U#MQA0KCD$RF1h>Ez~;psWugg4{ud%h{rQ0Jd}sMoIb`Kmv@;y z-v!<}9kAzv;{Kj7uHIP0I+0kr228F~hPHP}92mZ06y8Uc6Wc}ZkfVwU)hNL}z0dhV z_j8@;-kb&?2|99&HC&R6yQB^bq_8?DbQ7_^2N9QE`u6zB*Od_Llk7`af%|kUr78%L z5vWOA1o!Ua5}$bwa}BSudGws&9ma{JPH<^(cQSniaNo7acFm_}%5Pd^x@)=h+mwL~ zvi%i;Qy`kC7|z`zue(HGk7e{;>tS@TM0ih&9xxXuDaxwfpEPcBM4YY*SrXoKrRs!xa&Z zJNaKac^ERUu7ae;WJ`4M2r^vANCDJkk-DQ^X3r@6$b}}s{^sn?AA6-Cu?pmqI?jN2 zsD2qY8whwyof%va=k7P&en<6X`Jw-}pefDReR+ofl^-oh%E}62^dujPpKe3!>q6s- zrxo)mKWP21FIFK-_J28y-y21uwkRop;=_MBt?NygZ?MKutb~_(h(Rk|M+mSX*r0U* z(0xZHwP|N6uUO9-+Z%Mtt;DBain1#N#noQ;hf;}^2_18buzW#;)b)%)lDgo}?8$W_ z_7S3qdNDS+X%M9egFC?A8`r}T_wZ}tZzih;UuG^dd)(n*u@$d28oyj*3M(X^9N&f7 z@qQnhX0j%BsA}o|Y<5~CeCaG^kuKVepZonJtd`ca_&lDw8 zzohLc0Q2;nb&}tiH4B&{tgS8teFI(fv3z@j;Tw-@`X!y4TUmUnVi}jcrRk~N!$&}- zP0KIPz8U!N16WJ9xUg0$Rs@|u9jX`P?N@dN3HKy$zk+!eNpI{yj9 zQI!~!$$InS+ax3JoK@;bS#&sEok5b{g8th){W%zS%lY_6DmttQbO0 z97=Ld39JQuJ-q-}2B=Qd~ttZjJZ=2&xy(MeT z+C0Xa&V&5=@9T5n*9%|J9*VN);hw&!Ql@?h6e+y(`fOSUVx+ae&*}*9Q^lsMDM9SC zXF4qz1Ql_YFwb6+DMGuqg_0h;8$oel8(kmLU}TW62yBM^O64~+Wl8T45r-P?gB@TR z3lQ;J#y3X4STE@iAQ_57Q=$=?5F1H2=L5-w=v_pV!h<}D45ROAj*uhjA|r@F@_KYX zkk57AnnY>{(D30Y-dXpzLg+1~P8*Ys9N&WK$KYN6e+@kCN-4Ze~pddUgRba3!@kKJrG3ok?C{)A1weLi|p=Mi|zkL17qQ7 zeg`b(G;x5>u+WRw4=O6^vXmmIBn7u=ta6SCfZlKjV$bQGQ(4y!5W)+hOT@y;G1)he z8o1YZcenHBHcTlksk2fS%^7=cl{mQQ$pwLkj}yIhOZfKM>b_$`t?Bt{dZxTP8O#44 z<(>P4Kb?w&v#YshO#C>C@kZ^RkWI_WdLrJuZ}9mH1CDuIH64(KBwu@;={=c}+Ax~C z2T|-wwA>cXh{ufwQTzbowT6>E9Yhc-D`6kNftia!s0KO$(ZT8kkIVE>kV4K?Mn>6c$HysYXO}@+{&tdo~D=+lhYke2H zsh=9GgM465?E91RUf9|l#t}w{I6mwEyWN-2aw;1=MU?p3&wfzb zzUWThtxR5e@|%2H&g#H0bx5czdgJy5byec@U_NCTxCW07@aW|pu_jkXPA6|?9)%l> zrRhT%&lXfN`4k|J*re@S{RTWgs<(BT`0vil`p-HbW9~NmPDq*iSLI)bNPCm*l%%4Pc}H#he`kwRZ|8vC(XM~nLZK2TA-yGn2_uv;XjO!47| zl?Eu@+;zp{k4Rj*cLM^Av)RMP4B~2ueWEQvIO{si zu^DBO7#}H_f(iroDU=OS1)Un9tO+!E$ z=+Xv`fA#l!#iK&6t*xlhGg%2N4X}DP#^yEsZ*|};1Br=2#$f;3X!Zz_%8Dc4+G@FM zlqLgv>(taK{Z0waq+Q^8glM}!^85o}#x}99#8^rGr*rSaZcVWN(OimSGSgP^si#e1 zm~Q=hryK@kHO0O)9u`%!(qd=?Opv*7Fl8xL?jJ#Uj7 ze~(-dl|d;tFHUcUoM3u^?y?yuac6nL6NCCd)pXbU8dvktzT*F9j>~8OI+RfU z1Q9!p&$hW(zcJ$uFIE*Jl=V`vNtxF=;wF8`_5*irPe5Ftr!=1 zX#R&fvO+pX?~11|rFF<&%R`1eXdT=I>w_%Lh*1fOf7778w+41TBLV6_JRLNjRoy=+ z@bZJ^FwfXZSLA(uRw+{WT>tnmtH^0SY+silF+^0baLKN5(t1EIvKj?I#~ba*si@&GW-ED`fw;e;5< ziY358Dblg~M@H=BuQt5fMPKMGwVAo^Q{!EaC&`ma1`G9TWqQ@*@R&s_m>w;Qmr8tm&&*V%% zpufc)TYti8;U$=FiTJ1;bm^G#H5up5{;H-`;1&uc$WCKImPkkjtAsVwn)=$5^H9TW zCw$ikf`muw(i`9Y>|Ro*2M`g@E#?a`KS~28sGwIGIlunzC&Wfink4lnD@#?M+Sp9u zwJd(&jU}X}Lf1=&F6&Ice$!XR^}0iUQD@b{ZM%br?8fY21K*mzs(atv21I`ScdGcd z?>&XWl+Hce7lK^tdAS$K`e5gg5>^>Vyio*AO$ z{sJ9PfGeDb{xxLKLUxpHhTQaG1cqtNuU(c`AY1T79tFP=t3TTlc{yHVI)}E@1d0I% z{+GsMpdnTOyAl|@n>#w>nGSl7AWiCB)+z0)4p9cR_gTWsxe(K0ygjW8;3aN~vhU!- ztqC%LhKaw9glMR8LU>8`YBCy}2R=1y^--9Vzlik=0%vp2!i1(&& z_MbxgNw*xX@FKM^OLjA=96PLbuS>Eg_r?%cpB$jHBg+?@d%;z1h5jm}%=YUZ0{t^e z3w&_vysPvUdN(4nLl|1mI{nwE{hZx561ip zWQProF;Gxm);6B;JcUAq_>;3^T$%xDv@s}wVk#WB2I+i{8c8!)zbV;I7 zpE9!k-;pjd;Vp8#tpo5`0y{f0xWMQuEkzG&5il~udx>&@sw_9#xI2YBxl4GvW1t>C zcJ{O52#uV*i}E7{hFFU-2jsUZ%cG@7pf(nmWoq+%zPXomJ_9*^ykWujiKMmAP0cSN zli7c7p{+cwp73ND5ApSU8cs)PsWk_n{f%8Sc@B&w9O;qa9al~N{riP&XQC)G13_?k zqH^C3YzeHiuogy~X~4CfY(P9^Bqq%t5r=wAxWu*UmZby~D`ISP`BJ}^6#zqrO5P(n<_YS-kSE|IF8^(B z4ri+2 zYr}WRnv$I?Wa+!9>O-h<@R#46*!7>w_W_eb(_Ou`4{yhZj^2^> zRkHZTQO4~@_WPxv4<1+_8*0X}pMScu5jgkLZ&*o;*;*9+?deOGeb*gVW8ti6PZ8ij z?7cvzlXk)Nu*Lz$(2+6rYIUv7Zzq8OJ-XJ~p7zceJoFxeDqB4mo@nlh9_oIdbLB7Ayz2vu^Rt_R8wK8YTZa zZeD*WxT#1v-;w6a3Cj*MT*wN*bDgQ(EO_BLuBA_YQRiGfInmo)gO@$tNY1by+@)<0 z)AGSG6LJ=?!%vDyAB!7;_Hq|EYauXnc_S*JkwnnT@g^(TVoR3>JTv=Xuw>Sw*VUVC z?e6Cc9LO*vOx}w=-42mjq$h-4ldVG8$uc6r=26q3Joo9xj;m9xEw?x3te%^MxS#Tw zgeob#)&y|`#q_rl-n<)EqaL<@WIs~z=7j%E75`1@hE?TnO5*!^lJ4F2j|w>WA!{Ez zKAahBtW{+ED{<7r`H5SzjthN^Uft$=Yf!xn@)AK09Kx^0F8s5HdJ5YQro^ESESmaL z$yN4h%M7yJ|&^Q|&2fxKn&5MjBY0@`{cfb zqh8XO$_QeV4#qP;q<6G0g%+CU#EbUP$*Ydmu6&=hx-5n*vxq8jEy5CqBJ z!4t8Fl3Tz6aOX%JY2?a|-O@5bSydmIY_!9csOG>|Em&Vg400q8J1H^Tj07`ThPmdX zF|iouli`K7sn_07N=Q#hI;{D(M&FC43PIh~r4mSD$v2WF4q-kA^bW;$J@7{XL&LBt z>{KMMp8We|o^OCE>V%6|(BIp^$ZzH1_w%piM+%= z7?F*^q|eONQG^@d(W`cg3==C1XC?=2prpN2^=&I-M&7>qeywtNn{`IpRvD|JZea2@#_&z1;SA&Di2jG zQqBmvGPQ|@b-XChVsm1rsD#C481#o~ksr649FIHstqN|W3T{V9Shp)*H!fk*Ux|}k zz}c?{7|}diq>NTBln-ljm@{N;WX35rs-%?-LgW4qjxOsp_)*&SJTjZHFPu(ciWF+ymzgx%Tm&yvCkB^uTnFMi?fV*L=SvqHg!~>lIUiOW_@+x@hD*<9 zYI{jJKcaP_230KvOHFvgvaNdM4d;d2IouJubkuSOZs!c2u}nKIxZiHyBDZfZ!49=y zfE=bd-)*kUp!Zzt{~PWnQyhK}@Y4#HSk-uEd{Dlh?{f5r??a0Xyek;{bB_P=;I5f5 zPh{`sMXh(@KqIswaT~NM2|yC3Y`PT}n_s+q1aG)GgldtGsxx8{*}3w!BZjwrp|4d; zcUrh(0*-m&CbQP^CYY<+$jt_WKU^0RiNe~(tn*BKnSabxM)3UfU2XBhl}$RPqDspa zbXqXJKSCX0su;NC=VfhMeTDO?@_~>Aj}LTpzrx3LKeG#_O`abwh}(>7RV?d39V|Z( zVkCTSKw9h`E;?AMgyf*Sun4_(vXpbAB;+U!G4T@FH?LD*@az3?@;B&MgpNcZV?KYs z?K6(eQlO}p!E&7uZWARzVYkFnS{SuLctV_7b7s`9ZlVKx-p&^?|ryCQSJ~Y>T5> ztB{{xv(IDrKM_c{wRjN7-K;htVr?{o7i)GthV}O=Y|I;DP(U|T4kEeSb0 zUM9P?c~D&zEx82R{O-1>h{@_>6-`+l3T&|A@~1)&#!$$)mjA)Y->pdOqIXA#U6i<0 znW93v;0Ccl%7Fs};(!CBhlB`IfE7+cA2$B(8#70ZKJ&#yd29iBn^a09 z7I53)g=h3$emIl&)Np4pWJFBhDCZA4I=6!8I1LGFyVQRmk^S=Yyake!{6YKEjqW!J z-k-$>p38>}W&g42#qw(_fitD|K)#ZWB_G=93^GX##%aeh$)B|=oLH?Jp&{l!kuh@S zhHFRE#4bCBJpX!p|=1aru_VuF1dAC{3ep*$G zKA;{O9p&m4V0>rRiB!NzRG}(>w)eyM%?g5ef_cO9NmY@jeF z;LDn2P+0p)94{U$rnE&!_7~!?J5T+MRYYe*jKlTqfQ8OTIj*&ca!F>%nE9~nmF?T% zM1sqytyHuTuWj|{jEt~LeNPzrII^hT`kz>U?we!w&`^ZO)8XyGlj+Q@Ga*{nmfy-W z4?J>t<|dGgAIsZPv07+_GmMHtN6wu{49Lr zei0Rn6~AO-Kf7flcAp`A;)*K!*_x`z0Jd&^D#)+}r}qlZ;xjG59MMTs+cE9tv*oXZ z=_BdPSrc}lY!3K2_M`1)(_cRtl2;`FwelI95*;VxHm=H0FBxlAuL1wF@!<59$0&Yf z-zVzeTdM%8Irez|ZQQ3!C!QPId5pBdde*Ci{j*U4a6fKG)-W|`=B&oWEH0n=g zkRA!Q!N7L)cJotH%Y*O&<#y61kBk10kuiSQ*EDxTzg9ztmHs-q?nk+V>p^V~n*npp zV5m)xa>x-wy@N9UQ2(il=eI%w<7y-7~G@%#uFa3LcH?L8+?8 znmR5oY!+FV;*MSbGTd5(xt{=JV(d69AHA5o>Jz)kK;=Not5A#z_Cmpn*KpxkUCfR&d%@7!eEU<-sdmVlTIbFqF|Tc$Hb$_=UoP!Nqf?90vGI9Ys@%Y z{f?l#0--)7nJhP*T$DV zv1!SUhlkEXfupC^(rskCoo8{dW@&eiWCV`##@JsRXlso(=?Jver|QR3>^F?Mfb(LI ziK}E_nGx8vqQ5+SA`(bUUOjB2TRMAiM`vz<;ZL0m z8@e@|Qt#vA$&;}2%MC7560$1Ql9cXno8lxe=_nF^LZGV0%~;U+C6HHKpyLF-Q{eAk z3h)|(-s%(k4>w4&S?OJWv@ego!K#o~QU-zdP+O42L{ABH+Mm1|3oB?6>+SEc*zC~0 zTeIvnoa2<1FX&x7gdngce9BG)JYvWU7AGuG5wCU!bi%M%qceFp%_xX;#GiCHA+&B5 z&NvrP{{>|AAxFa(w7YgLFZJU-6KC6{_k=MC_(Vz&5!BCh>SQc6ODNXc>OkUz#>8dU5;Wsjsi%=1I z;c(u@40xdPYv6{gcU#misf`%Ik#U5m* z?X1}?;yvJKL*L7qD@OsHDYQ^Acb>aI-ggHk ztRKpslrwA@gcx2jE4j~J)o04oWF#cP!Swj#%xE`>*m+dZhs+Y)pTE-gcF}m4Gzp`1 zq9be+c+NTW<2JHZoYtpmtC56Vx1x|Zb@!eux-AOxz>u-nhFspP2Vxov4Y1&Z5&3Un z-!)v8960Tlv_F1c`FH+76e#5QgPw(${KbBfxRP732gZI}!p7)B2#xzt7t>L`+X^@yU};?xwDfIQ@ta`04h|e^PP%)zwVmQS6^%fEJ`-ld8d4`lyJ#a4(GZ#6uWocXHTw;tPeLJ4^K<$6$d4 zZ&v!Aopg}%{1PleU+Ye3EPF+d78vcaacV`D(k0}n#^-dkQNg?T_`r>M=t-fnk zjQ%uX%`*InNNAY7+NO7q1x;kelg#KTE+gKf=PS?Nt)Yj*&`ZmCD4)k^cG%g=6H|EE z9N{Wolcd+hOUuEO*xA3@lCAmyAw8s?l#D+Gr`XSq4x5bfsa+`dwiCU$_d$+p?Y52! zwytb@-`mf{OUJaNx&1Kzc|WtFLL#PiuRcAR=a3NSFZ5^-py`8lvn1ghS|P zwiYkLqdXge+n_GaFv!wo2G+3}K>=p+u)iW}$38K&-k_W;J&uWJa;Lbn7$XDUm9A4M zUrGQ04TpTbl%i^n*_cA^Eoccz&7@BR)`rZ zCL0E;5!+Vk+_5>&%dztlK|XQMS65~mcHIy(dukZ|#kq1O=S|mR7gYqSOTMB;m;$Xj zr3+D8m8~gvo8T}h-UfYCbqnkWj|VFFg)WqIb=WC_v=~y_BVVsXo$Qd3JCY2U%5CmEyLCPTE^mnSbfC~+X9;v6@ zz-CMyPFd`0w+-AAO~d+U>`V=4ITpEEG^xs;lwK#<$Y3L0Sg1HKW0hC)ks=T?>1mTY z2O!tyM~ojx7>=~&xA))1fr{gNmNq%0{P}AlT;lw58*g-pa8i{-IByt2+GuOI0#$ax zfYcVP&8JaUoFYeiQmo?haQ_4_hLi-Ya8*o)U9uuMe2KP{_nST{L|GsQobrCUvI0s8 z?3q%!8*$0f{pEZ!=!~&(WiM*&Ol3@m$aFucz6EgV!@x2Ei3k2garY4Fb z;ntRiU*$DW1Soo6r^CeAzr~01cbe)!edgTHk?xY+Q8bYFha7!)d*K)2?_9@^EEIr| zN~awIvG*Ug(u__FGQSI4KV7*z+JFDBXRu%-g@g0Iko7#7nQsT5i3{*;sSXg&qu;t~ z#e8v!mFP~SP=WNA^5mUacXYhR7UUz1mK?2T-MhbKqp@b!9SwNPW8+-^Y$eaMk)K`e zL(a6fr}#4vK{bA_a*o$i8Rr+s`gvFFd)I?bTdH4m7}$mtrT z{q3nTQ`fdI9D_r5?DMgeqD3PD97J2Co*rvO$rWQUJjVZ{1*lkBRBk8G`mzjlU%Q8B zkGk0&W3Y`tJd9AxVthgRFIM^nu>gWnUvR|@PyMQ>!2Li;>5?-(b155EwW3`NJBvF+ zL_c$u5?y%wYh-1aYkaFE+nT>GikZz_6wxc%$sZLkkVkFObQn#g%`Mr_r4T{)j8Lug zq4%(pa3g7-j?cuI&r4^Sq+I9)2$+|mI6RdG1_lb;+P9}lZYfGzU6>Nl*WSVEzmkFU z-ve+4GpPF;32BD2_G|FXLS65Mbe)NWbl1T9EAF^A4}VdS)L%)I zq{=}I3p&U9q44QOD}vQjmziBW6voJA6ZbLs`Ue>{OVlW@HL#&R{%~DKu0nd+pW#=T zJBX#YQ{z(BM*G#{^uv?wON{1=iM?`J`u=#TvUV3DGq;k5bD!b|pE_ma9~bR!1h)v7 z?9yzX$)WX|cPcW-0m;OX+N73GUq^|K+ zhGt8C$pOQEJzU92nYN#TiOgAyroAt6{4XoQjtXdHdLdm=19 zW9TA!opHjgEq9Ktny#H@1GEDdHU1JJs6e2A@A&pR;CHk7ews!pvlPb-RBVRkRQC_Q z=59hNYq*g-hlI#iym|Qe8t>7s7!1GAVV-%;dzWRGfR9Yi3uB^1WQ;pGegy_t_u^Wz z2apLd25`%n-yGEj4oC>?7|tTR+X7|;^KJyEnfxTqcc_{eKqH-?rTVHH zF34fy<&naAQ1*9uARMs#m|755_^Ujb1Au%wovt*3h={`gho0e{wQvD;7vs%&2+*J; zl`Bk;XIJpTAY}s-c+GPm)K<2m$~nC~nCK+Y{jxj*(1`()f1{R3h{MjnN9WxB+)6#~xla`YX=wy4x{@U3!Y2#sy)ewJs(o0HJP23@0=p)W7Tppj6Rc zUwp2)*3xy*(Z^aoAwX~Y1sxY^sx*c61b?q*#;lu-_4m;r^4yZFq9t}H>gf*Hkn|r_Wyr+Z?EX-4%`R~)r@45KK=+Mb3D z=N+Q_{G#+P){SUr^W1%(s_A*jW3zz=MXyablQ#BGla!Z`VYnxK8JD2i|-egvx`%hgaq*QpY4~D zoS{A1wyksey&pvf5ylTXG0dCxXIn%$h7n6qfA#IxsT`G)AkPgTUz+vR30oCz5nNH!N+&qjrCYb7-g6Y*5CziR4d8X%qlHw!*62> zgLAR`5B*fv!Tfdse=&g&jkoc*D?o=!F0VzmWTYOAUKJ$8!Uj2zy@rxN|iUEN@BbOheFOv6Z^%-x3uR&JHo)npQ%F-m42UgWg5z! z1A-M7ZD zU-I|!xs=L%#qaOQ@!|dG$I%@fKJq!7%^!8kXPchjUv0$!qJ7FU;$1tvoFHX}&q#l> zBhLyX!q+8}+gw;KcJ%QnCzOD5#H&X)L?{?Cq$agC2P;j-EOLJ6LR0lV@Pw+3x_w?6n&`0K4c%z_A*n~eQ%o}fA+8gy%Tg#+T z@_`NL{3@3b6r^Vv6S^C$$RdwfN~3DyI-?2L=%sfb4Mmww{0|H*RQRx2Vkg8-qn3^K zCSUs(VL2UFX>Y0a{t0=we6X}S0cm^Q28bjLStx!}(3n)xli^=sKV++Ta}Lt`X&uSu zlB2C7Yh;|F8>+~*ZoE_8y*>FtOW}W2?{WKupS~>Zz{$&=n6w_KW~m4*R~j35oQN4( z=&qEarPQ}u6j#U0PAm8xP6@o&&$=UIx*&(flN*f2#ci#4o9Fw5)i=ul6*7W|EHRyU zGc3Fyr3ubyPugX-Fa+R-(ahaqSBu+v&iU*N`()j)p}UzbevRoz(U?qwY^GVPl=}bDfNn{r}n@!i~+nC4cakwjJa-T@8kLs;qfkP<3Z|F zYT5L3GcAG4=u;nN%Vir?g7{o$q;vtb`A-KF4+i*>wT~DnsvlOj^qmvx+?n2TINEji zr%fMZwE^%l7H};CVOa#WK7ZSs7{aP zz!coc_UXX2RxHs$@*j(15}VcoVt`CCm^`T_Z5b&uy*nI8A6|xOyV%7B?GsY;JfqGM zGHkv7@i6R6+OG%U)U zb0HKH=A=@IQm*!>+krh%bOYy3p=HvB-0;=M25pyIRJ07Q5q%;97QV49pcvwCDB^h% z#b@Yc*p58#{&+1amokS_!)T|L2}wj~L5LWHL54zEV5WexcbXa2uKPBkM1t)VmHYG= zN3Z3~ykc3oRde=z3}N229+M2GC#SC`%k}tC)k9GSygx6k8eC0saF}d!;wn8y*#=u; z@nbfUZ&A|lOC-4wnvA3+X@dM^fB0*<=rz3nw@BXmA{^weE}RjtO$9oy$DdWC?b3TN zyezbAlr((&>j%k;!?5ewsy7&jfc8xyh>N_!HSXhn`WuoYEyx~)=xpFN0J&Q=UW$Zb_;jty|!l3N0^cFORhIw}!;x|dwGJ)vVo z()K#oo9bURr4%m=YT!N|4H+}2{~l$Il#1cAL{J%oqGrgTOpyw`9`RLaw6jgi%^Mu@ z{UA5iw(&u-nwOT`oL5-XNskWYFcXa@h15I8C*en}RIEoZ=5o1yOduQ?`oVcz+sFgD zJ~CIv1>8JwjsDgZ`FlM>=%$Nk=&ysW!jGDc1CV3aBlnq!qAd$Q$E&pCO@AIy9gbt= zJ+85kz)w?9Jxo=@%w12k0> zBLO?tGL@?D8cV%IY#f=LWP?U@M-O2UIc`HsNi(8ckLL}={19B(*+=XL(I2j6Q#uKw zH1;X!1+h`5u}UvQx&*56Y?d?)+cj?1Hk)smHna^M@#s`xdwv3YQ3wW@viMK$65_d5 z$>iuzrR8oMQ#-s4cZIexe}nJtVNiA5HeKm$;*vELE2d0EX@w!`*xpd_@2Q=L7?fqFft59p18_XT1VzhHdq;eZjq6s@h!ruEDV5CBP} zad)SD0QPjHJ-GC< zeE;ZyG(sTG4#L1ZaVCxg`BA~Q#2{Ut|G;_Tzm{tJxF2LO(lsuSn-6UWU_1NE zeXcjjuaYnU=dBGY6kwxFQ$s8DoGI39^y2h;@Wi~hphBl}D{gvB)Cdx#yW}?W?O(}F7#dNh&9BU9QodAOf3pr^4(fNp{HF)Q*8GnAeL$50U+gj%*5#1`J6Vmk zu9qZ4})DJDNoJTN#+73w?~ zOo2v8|Bdv(Ng5^Lpb6rY%4EitCcN2aw1pKfVnpoOO00)hd#I?t$V^PxetF!P2-1i|4@0pz?+NkUnrc@FPS~*&*VWLK?+WV^0^d|Kp)V3%F%H z-zF!Bjas%`mEBI6t}0)V-NAi-6|}GQj^uszd=n{4X>G(|0`yvN@#R4L3tq|FgdeJ= ziLETx{n261p51Q^L%<{u>J&F64WfT$-n`zUZe;a?8>E3u^PXmtwG1MUKQ2-+x6JGw z5_xbXc;Q{Diu}&F%v@&2?R5BADfCL@SFp|SN6k?f^I+S>bN~AGtjcOO0xuwDY<(sn zJQ(31t}x0P2PST?ezuA5AIs^k)XWBrt7t3>f<`vz&HS$~zyv)O1;ZAW)~A#)Se)q$ zgOAP{p#CO%AdLF6^&!N>=iKfWs0CAH;Y!(}W>F7y^4GcgrZOgH%qRHkpD?oi%bQym zCxXKLNWho7Q_rJS_TmC`ofs)gQ_m+^EPRIkZV!D)E8;Fq1Pu#IlI7Eo$IB;=m~pX* zD|mLX&-@9)TgdY5Y`N&8gVJvVjSRD^ChpXG`oCY{k~o?Tp;6z^P1$Q zBremXW~II!Et=wcj<8cev&+#HFm3QYW`i>Z`8_9 zq)-0+cyzYW43e<}F>keK|oDX=5+l*&nAE9$^nQmMr zybcJ8piAQ)F<(4lrQY%-j2_0j%u{I`VJzm$MEl+ay9igu$Ri3Qsy~%$=t7=aTKlDk zveuLsWEH%lS(KxawSWJG#^+6SWxRZwASaPh+$cD0kM#{2(5fe6by%`v6R+oaY^XKqV&ScJyR=9Nw04dd7t(+Sni8 zGFX>1j@=(ydj$%#n`9bsKJt2!GUAAKPV(hhkonBo;1qr)yZAdIPN013=Pn}X`9u&_ zha8Uw7pCdUhe@a|@_cWySR0H;X)H}Dlz>Ex*|Y6<=WjxqDP@>*Sz;!C$Uqw}(o8JJ zf}jUus**t(5DEO;6EdfyI4TUMqlg(D2pGUT;~9F8E)&s<%QR(Dr^7|x*}?x+xPwG8 zlf}y4%KV}4AyAw~#L!FUg(P#^$Qg_1=M*|Q||+?i34nqQyYKw_S4U;fPEncODpz@%7W;M z5yamEJhTOW6=0S@N>dKJXe{mtMU0jd9l*^3-{grm<0^W%IV z%AU4p@@*2TZ7Uy$?AaXQ<#`GhKKQ7_C>Gvvq{S7#PE<#vb-?61?<1q~M` zQ8k3>8VJaNUR;cfEl3z42Z+QM`xQAo$Mxk5`LI1I;D4eeY3h)^0sFrM)LDZTtRr7W{JC6?XFz8L#p_7_{iQt6V0#hf9Frj zW#wn=kN(%X(Q6s(ODRYhwF0F4JKG-mTx~*tZ2byhar3z2P9QXR%bKUlV_EkI)QF6{ z#u3-GDO^%lT^LZz?jbFW02(S}7KGlMd+0DLH-M6_90~)X8Et~g)k+c^N!ciml~3q* zaRkkJGWSF!#TyQA<}>Q`!oe>&KLN>(XE>8qOxw>tC-7lAf8@U_N5-`0@-35<06=%e zCnIB)-LZL4jX&C8VJYAYfyQF&rq`SKjq>=8SyQF(01(gsHknT_#q`ON}I^MaS=f2#l(G-Rn-3dDNIk&+lOjil2(teOg@OI%wTGYF2bvSM;n}xbV6mE8~bt5R4Y*d zD{Y^kB|SVqT&iJ3IQ(V3Gtl|uzgSqqf8mt3dM6ueDC}=rRx|*I`OdfK$A0KQ?W;5| zUPoN01^6ZOWf)PmtNwyqhki<7)@zwobiU5jUWe<08wjWi4|-_CxIWo z=1I<_$=14ZR6waVx!3vYVn}N9%ZH)6mEcY?!4 zo(|JbDr-Rgq@VwE3g5O^A8W!#Ykl?4i5`hN9x8WcK^#6a+7}uHdd+e(o^P+Ecx3aO z8&Z4~@KBvaltGFmguvw=3URu*G&RFoHiW?eq5VJu_3lDIsE#ZHKEf$@|1vdh8x0Ra z5n-oJH(@~XZ9MQd0T0XM>Lr?WO_&CzjVEYZ6|tERSgGE;jeK~IHP%FX#t+}a%-r*K08Gq zYFJLj1@1E|EF6jE;Q9%W7CcA5cn1hn{Y16w*FR{wfFF(jC(1|F*hRwtXe%K=`<#a_ zEv&&%rVKFd+X=ZG&0jB7H;WiLO^ROaFP?^yPnzV71UEXAyU@mf4Wj1!rWN|WmO{WA z;igUKD<|x820CK&f$qn(G=N;NORYbSQ|A0FnSlrNA%C!t0pZq$4!oW77+s3wPp{7RK%p+KAhZ@y^yAyKbw^o2&$)N3UKp5ryO-w6P3plCk% zIXyX07W)OUYb?$GngLMs3CmF2vJT&=V08{0emLc@2mPOGt-104-B_aV|8fc+_5X{_ z!ewuhiDe)g5akay)AEv60(GRc3ZPWX&h05rvq0p}>PMp>w*iaj8&YzmPi>Y8M2Iuv z`!rgBE#)WHL{K{-lAMh$_4L$4p@BvFT3!II)``J#g&mUMngxDOZlwEd&fu#}$X=PD z4g;!yBW*Mi_5wf8yl(qnWiQreJ)92zEf?$_e#6jY>9efrUR3BQ7eV!5XTu02^E;Uvg%V;Q8^fxqdNJt!&bp}bpx7d^ zmQeG@2XCFD`XRiT=u9DIA0t&L$fO5vyiluG4*_s{mzWN$s^;RO-POCO!QzMepz8(~m-9a_H zKmr}TRfk9^FtVa;WKu8|Fn6uiRVScox^;4Fk;J*Diq_#2&e0vdOhT9Y?rixANFaFl z)+8oPzh9dz(--WYeMh*vsuD;~@(wirU~d z)-YC>8!{>$p5{=OKBOjkA%PbL^)MHW2(|Y^YSqS1{ZeA};^Pc_5xc7nV z_7|(G$EM&O4n0fSn&)k2zn$MKNWe#KkHr2-5(H`ai5aPrA0(!PHc;f?4di{~<1}W2 z&TSu8L`I?$k~8!i0%x0Ipa!VrD}fI1V&ohRJEDA&;vf^=#T~e!_Le9 zxk%ubeW*3){M%#yu4b##H!iF7Rkw#jd7_Wfi_0F{RSMp~cIbV(kq#U!`%pRbzl(Bh ziQ#O3$SY0Lk8~y5^6~*4Qd_?HWA|l&Y~&_%K$&>MrE3}Fonon9<_47(3tbzzOsg#V z2PVx(;D&B!{(ClQ?hrLD6gHczLb$%?Ruy?gTfUzOOJxOhJ8Kz^cGL=>L+SE=b*3mY z#9lWjv-`>ISoB@Kc{N`5!;|t?_D6i0ym%PY9G*vZ`Y9wM?`{%PRa%01%imqO+w7|a zOy(G&5-|gbE|YqBu|=&zoGfOL_DgN?Z%`7&h)7gK60zD&l#m6>!}{!``}f0A+*K^W z`@ZM#OHy=T=MR+ZwZCx#M@7HC4wH;{mwm(|xf4D?&}R!Z0Ckn%F*X-Zqx`lk&?z|p zjZN2FdPaultfnDb$BArD;Yr%Pd|Jjd$H~S^Ow$hi!Uah~5zv>SlGR4q=Ql5od=Urt zslTU7N49Qtc-803G)GIotc3@>3B5zz9n)>8g_mZs9@t}@-U;Q}n(q7sspdNr9zZVeZpudQN@F+0iutvDPV(!ADHQC# zRMOc~0(68VwN|nT%M-FeT=IpTqQ4Mva0pvWC!3)8_yRExSEJO z-&cTsh8pTrQ+?m!#N_ zLa1J(gzIpE+8W>)XkjO}xO^Dk^&Pvyt3q>aeUcI`-OJI{E6=DFtqpt(M` zEp-z-S3?@(epRw!_~qhGXgus%zo;}228Sf{4cN`^R<;Pd6l z6ZTC8h!}K6szb9lzAK{9Aq#X`$le`@ToftL(upbyq)HI4y2(Xm*I14us&Z~8Xd{e& z)f@(Vr|$Tr*i7HMQv{6@0oJ%>s8G_fbW}^Nj|`jzqo1!22>`EL_`NmDU8H;s7k|p+ ziEinbpI8qE|I>i2BmYMOHq93w02y>ZNp}ZDKr13ts@orCQKaxg7MS;?r-7R)*h6X_ zv;IeYSQuHF;6dns_pt!&`N<}j8R#hkrMi*rVSW%TE2Ie_oRANEKyngy9;uzu466yM zajT+9X!9h5hS^f7N1&5xQpgjWOCZnqaOzc0m$}p74|)8)#G@Sjq!Eikk?77Cvx+iw zz%hCCn8|eMfwxY~L@RDK3;v1@gB5sC8%V;=ljPj15R5A(2%q5dQUiO+YWj+kyVdFX zSKpf&p~SRY+RNz<@o~NH!ranE7Fc;by_U&Z_Z`K^0=?VG2D>24D9pTVX1D&&n{RJc z?8-5tb#ZuY*p|93ZF$wvUnrk>PR!WAdnbGDe%J|ne6k;C#wieNKx=Kx!ZgUMeaVq> zJ832d9)g^*vRt+Vu-a%H%W;{F+jot`))Ss#OAsWaFUVcxKo$S~p@@ zWw{pBW?>E(GI+@VzB5c0IG6DJ3_3zjuBYZK9$$~^biuXEc4R zv8kC`Nh{;=+9@Q1(Zk9?LnYP0HY$wuFCg zw;Rp^L8KeXvfn-$os`)5%Re?7JB5tfMXe{L3A{p>v)=YJkC-41cA<$LL3w7`_m} zg-54GU;OJ;(!z#CE~yeKlO|c07d=49XSw@nGl2%Qt^nwsPgQxrZN{Iz4?m(pNAkan zNdC7775@psr4hG-{}F_r|0`%U+sV=4v|v2Axf|3)4s6?Tv26(0BGnnYYDn&bbr)K> zMUUg-5XI1PWNg0iPpBFUi)L~C*kAf^uO@3Hr0hnMarif)z9#J zRyR@7z-8f2snuIDRR*1=kGrgnwel2;LcQ?0`LgTzjv5_G)C6^f!cuE;s=k%jiS5rxPD$Y(LuuO zQprIMoK8}8Uv=@X`QNI_K^u!_P)=fS}tB z#0lbJR7FFtvSyG<2}G8Qd!KX7abYz_Q>-96BRK`gy(4waaf27aELokX%5A3-;d??r zLC)O?L+zZMgjZ{Wn=?1fRR%2bA@YP?E{-a{5h2z;K1B^Ons>kmZr&pRFmLhk@l*4R zlbQ)gPHbwY>RrY=xZ_7@Us3gw`XgA@(*6=noOm@H_T}DVs9so?(%y$ zM8m`6jw={mM4fS+xixkbR|2@8|C$a)Yq3Q)y~n0@lpH`o?-5sI5!N8JZ@3KQ?AJVJ z>=-ePChOr?#iD@Lg(V*Lrw`M$IZ9ovpmS)XkLMK+&Y0oYSvjOW)^jNiMLDNE95Rcv z9*bnhmf^5Igoq=gAnMtIC0Y`dVR<{!Ja*rV3Pgog7_Gb0j+^ZsU11Y)1V%=Q_LGgG zJ5+|GIig&VEpX8$JFQkFU&RitN$JG*3Kf;&0&i_sSqiCOzE~%S^PBCsNHz|M+>;@$ zAa!1iMY*KCkjin{z5v20C7suh(at%(<@4XYJoFLdY`8k)DkMmSSWSwKzpQS^uidsG zWIM7Z6yvJe;H&o7e+$klxl?@2RO8w2ums;qA-qpe)^vpMh$tbf>!Q)wCgRo=5Q!$2 zYxUu>^~@raCDMKsm2<&}gP=~{wsALx&iL1-=i^h<+5tE2SO9V$<|Bo$W27+|S;n4D zq*}gE1gJyKbeu;%b3rk$$v+i)&CxC za43z(FL(zKs>vEV<5;DrtSl4jsAKSUtJdzhXk>J_JL}l_-1hGOhe*D+y$SHWi*xaGy}Y-u0Kd!sA7(+n zhZAGCrK#S|4Q-VbyZ?Dz=^Jc!6QlU(k;{sWJ9$;OOrv_Yv#z=*z=IHzSy?^!?7l9~# z|9%JHA<9sa8j{p$z>1YX!Zo8QMs(MGBqn|xmltq>e>Z2xR9=uf&W9LuKEcO^6@~^z zzCxQG=X&MA&nnqmy#q=4 z+udw=z`EeTKp#CHAIRHrPJU|u3lBYtH?&*E_M}2={5c|Y=HCyD(Eqk0#oYhXcxqa% zVFKvmUmk5MdX&@R!Q$-Tp*5Z)3L(gfn0IPUMyv=ujHBWFyk+Dy_D(%_r845L>{`O` zrT@2KFMvdwAcaYrHuUFS6_{vmh^>R_gK5D~Kntn}4A|wB)}k$;M-kE}`*p@Hvcc@m zC2LKK%fPH%nS{YTR@!2#^goGIa@VPF?B})GcjX0m54yD0w5*=r2hq_uQ)AAUA%>}H zhBeBQvFc~?Ezqd_^u6#W%z(gm?1$Pvv{`!0%+(e5B6d}vQ_Sx>iv&5ugs2UsRX z6lmIrGKND3o5tZ4F{HkLG5W{@TyqzRc9z0S+RTH7iGE<^(k7PFCeVSJXaY9@A^y~% zlO}I6lz1WU;4ub-j6nMziZuqkuCo%LJghbJT@L~ReH?tOgVt`+{E|PY569Wi)f*sc zt}i2P4#hKpWw@l=r+cy3_of98-$L?HEJ$@j!qITAO>N846@qbyLAK&EaD3at-)ZE9 z1<_l(^V<1ltJ28Z$5~1yhdUI9-cLO$RERn;KK#>-G=(>Wtf9NRVvBHVsLVP{7(yE1{O$J&|8#3B)H4N^@~s?E7CspHNigRJL*~Ob4mm)!oA%mq7F}?9`s|V?q5l2sp|s!Ai?g+dF4;%D zU%MG%6Sx?m_hg+~+g&xQa67J1=mlr#~>U~a( z>GC;Rkq*SU`S}UR$QpUwo>L540=(^F&XykjuaKp23zNnL4ysrgry5h00b+hM$fQoW z7miO_H@a&fiEi&E0{0g)-b}DQ(d=|;kZbKvP$CkVh>C#7>%mVBj$bb--T|P24Dbgc zLlsA;U$+_#q^=Tti)xrG;)S#%YUx%KN{1qMyh?a&Rs$Yab1#oR4xFEVgEJ(>AYyCw zUC9=(u_l7(()U5yA6Dou8Awta@%9?uA(Q^~wn4?y9C+>K`ELlQ1kpzC#*q#Q%PPBe zP!6gMV2`6<<&!hSXbpu(X^kD#Ca@E%nh%t^!RAVpZzJpG@>2#U!Gs+&nrM(DMBY@j zVnx)>0nVY@O@Cpqj8y4k05dHkQx~LVdmUr{Pr9j07r*@O*SRA0yVeh360uKX>lT3M z&fjSjd;%Of^UR6<5@wHZ=<MM&N zUSh%NYqz^mR+^D zJmEB8e=k=|k2o-wch5-Ofoy{*~8^-zq>qS($ziFS85t?hhgKqfwA*|Favde zdMUHzyX3{pg;7~IKQx0m$^;6xPy&w94%BL~mzOu4aPmV~qQ1!8g^I`g;W(e|ZRL=4 zc%!Fu(5-TN!;IMTYWzyhA!k& z)Fv9EeY9Q%8iyH-Fk*(db2=6WQq>%KvN{?i@cb18BMcb)Eize1Kl5b zRTd9sPWma2HA31X!UD7y8cfiVb2&M2xR@zAyWWm7{D;rYyqGd z40(+g-;;5x>iD-DK1(gnXfgZETYgs?O&7ZRcnLC94w1J(EZD{#k5iYZfhSD9`GaxD zV?u3!8^WLHUxbzH%kQymaWKEl7wfqYoJytq5=oivLngA+NT5RbZGa1u#H+KT0hF_4%f zs|WJ!cn%G28ZCn+h^#wAehNZ4fur0<8^)=jWwwqq`jf1Qg~Lp3T*I+LpOP@EB& zB?~0CZI75}N;u#k9!2<+UuQ6_s3=m5kC>vw%jGW5r@EW9g%m;1Pwx}@qTD!(;FDZ$ zgC}kHMqjaX)sTOVq(`j$c|jou9KR_p*28+!i)!e0>j^nE^S1B9Rgf1B!|90~en`Kr z@?ww>j67?@?;B(6*|_%GCYem~ESB3gt1}WAo8rFGiK%H5j`eG1!;4zeX?4R$J(K5h zZV%xP?*{i3C)dBjw0Wmq|MqM# zEN9^p%ioSe-bY?%-mu^O8L#AsR8<1kci!C4pKJ|!EC`k&;=WKdy+;Fn3ePz%W8Gl3 zP@HV;S{}1(o!zI_4>`^t^vZkn_cb7Io+O#^*(&n{c@6`rYKt`g-b)V{c$#c%R@S`k zt$OL7KDAx{*kW&WY(8iCw!zcmh#+vQG^A;Bi^#5a5~8HCe0?W!W%P_BRo#JEd*g>H z4P#S33MD?|x<_|wLot201Gd*f@Q~qVqzI|g>*_B(9mCub0-xbTV_T8G>&I*dPqi=uJ16RMW^kcmDQA#()FV_Jamcr!vbCwd> zWfM~2a=HM_W-!%-bnhjPTHk4lV`rIA@TB-cTvalkr?Y3TpH3xqjfI8%T$Q?vnePfx|cL{02BuSkf9QVB9u zK=0?`$kzxf%Ev3osrXosVnJ&uNt|Fwk6u^|j zFzJC=C|p6?+xRz-tP=V@*CONkLr4T6!GiH!h=h#V(81ChN;S&?uLEE;jur~Xs+BwU zgq4XvYy!}5@ylV8Xfh%bVsCVy59igkUwwM2vdhGW9#BEJC5lnTgrGW>1mJzh_C}1? zz^TzMzU&@`&)=x#zJBI>YCt3SJk_opJQ8?D(jN036*?cpT!XrK5k;sHDkXS4FZ~rwSBz86EwYguwD$cgn!?H`oV)VtwYn+c>_~%iG%ibK2vze4@ugjv|iRe=Ifj}zW<6VHd*_Je3tVk6R!thw< zE;x3qNj0A0N8p+5(kC^S)QeEwR63ZtAii<9cuqIci6fVc$GSk_8}h`cZ#qxa8`{7V zIhD5`aKI!|w~o?wf1N$Fn6=HJ*4?o(2D!oRQefC!A9DI>Ib2D=Ycp)D9QwO|QP8C9 z6{cGAhlR3U z{e|==9LZ9ot@P9a$_R;g*HLwRG=<;=s(BQX-3oCW5D?Bm=O7myRB>b-3}T}3n*8gV+vxzv1>zKd zKMK>4{BbJ^F3LdogWST9A)8U}r|NTUh$W}-WMS3px^3j!6O~4egFV7O#8Ss?pL?-O zrDe$&<~J+Z4_DYQ0Z2PR+9LNxCCD>h(hTks*Y*gMy2E4T z(MXfJ>fkl#Cj>surd?n9^U9N?cD4!|#d+!Rh-*b9h*Z%i+gwdIZUT6*W!)h{lN0`| z9Xna{1#~vf2z=12gVucTPXrDH+Su`GqwP~MndiIux=qfb4BZVi` zT=Yom|An)X%ef?D!oHIgzfmS~fQ09DP9DJ=U}`vh3ivnK>cSo8S9?cM8wz-UcP7AE zL;*={y9#SRKn~D-W&Of~Q~!jo$(x(37HZ2E$W(IW6p$(&Ths0qs|vH}r__uLFV)5q z_9BoOx1)VYpzJ$Qd#ExxpO@(ytvH`zD_no8EZi)rpg2<4qL%?Q``%6({`+IVI)=IR zR4H!-@-N~EZR6RLe}O((v;dy!qAi#pUJn&<(}2Aw#e6>W@lJ7^^OzMVommC!lm%t| zqo@802O6{_-F46=hO7Gor!A_yg{~lIjg_)}ojClBuHN zFofuzKeh6nd?}vTxHoEEuct_TJa;n8T>$+9PoIx|XrFA|B9@T8kbG=oCsAU->CIM1 z9DFUDw3M4|lsQ<92}(78vBvcOj27+n6GP|ZxxmoH;;QYZxV3%a;8O8e_wN3wW}Y7J zN2#Ah9zu)E<9#`9(;kCw1{oUl(8G~HGfKwE58R}&Xij>mV|V~nLbeXNCIM%#HLm<` zqh!cG2KPNr602z^9j#6UZ#v-6%m)h_YpmyiX0$K*>0$l+aLeP$#zJ=io9LjK0TCjT zBqs7)5++jZL8;xt!FyepQdhk(DMBwnExT5j;*8(yGVvsTRmF$ayLM0X4_k_mYDxG_ zke1Z9iuM$Zx3(W$5#arSA^&QJd^j7@evO~es&cGKAP zLl1}qXtAL5__w>PYwmbYkyT=(*-bVR>@agZcqVP#pXcbS|GOP-E(l-2W}~7V&}him zXCB6l;Dc}gP8GDZc&ZUI@2mf%E{S27E&9$j?03Qv|B!H7RT{|d@*xv6~hoGnb7 z^Ga!KE;ZB1_-(*MZ7R8ROp0g2^mfGg&X${^<)#5qPO&1@jRu;LSxADD=9+|Lng+NgKAoc{(p<1h zy?9fxQk2Uec0D85Z{<)+x^o_YGhEG+4=g$o?v%_t%=0@%L7I7y11C!xGv*|)MPHn) z?s}Dj5P0TLkm6A~&;VrlW}&h8#C*Oa`|n>|L_9fVh_mw>E$9BOzc{U$&i(o_5KTFm za>O!m--G0+lgDwW4xsCqI zkzD_vt(TWE2fOvg(9i6(WT_lK(p4Xc!R(sXcwZdOvixorE^7&)Lpw+rfoBr&P|)gb_Eh4i9&&-)`BZ24JA%hrrMug&{q|y57z0GMDw~qxq0Hc!7LF&hzcZwTatAOg%8$O7byFoJnl;uj6&d%j`#L=$)IU4Hz`r>8`_gRt{uKD}%N{L4Bv%v&N~ z0s5T52>pqRJbbLPQx+mYw$)C8*FhR7i$K~%kgCcVOkKN}ys8;Y0tHi0F$OKNvlf;%y9@jrMB=v{0&aGlewj`dNvjIK$C@k}C#LY6(O$g7b3b7m8i5Xg_+ zJ1$5{l(#y2iByc4vrfI%Wd|#MOr1-+|DwKDQdOoXq8R>=&5(L8JwoJOXA6?kf)hY| z+Y=L$NlLZO=+N)JMo4_9PASsIl6w9_IQGV(O$hBlkcgIFnrz;c>F1VR9MUm z)%BEw<50-b1jl7xvI5Va`Ad1DHh<`(Tn-W61l+NtaPXo)3x9ji0de2|H2*>HP@4-t zMN^g0j50qf6hh?Tihn(~x}wSDDHxI?gpz+#{&9-Q%~G{NY5#T~^Y)Ft%+2Rh`G@x6 z^@W{tzl(E)3ELI^=F1bZd7nO0oKg1O{~x`<`DX^aU+7t=)9W44jH{Hoj>KOi_e z`pIzS7KFCiCP01~bW5eLB_ik0sg<+v?$x3+Z~rnvJDg`WP`Od@@^7#N&t`ISBe4E& zRktCfKar~*xJw+Rt0T4O*5N*Vp0|vl$l}UiK}us~xt|%>_vQX#Y;x6JMsY}4E*Ce; z!4TY^a(n;a{V8zEF7_oDlbP};{^+M$w*pP=>;8sug@^rmbATG_&DaW4x_=M zPb4bY!)bEA&Fe5tZscJr(6>XzjX1Moj*+m8-g&qqN%N68{|KAKSsZ%1r`ovae#_<=RK>i24%fyK4 z+%6cuNXT!^Iwp;sRBPET@;T= z^>y;Q4`-4;kiha7-Kg-Z^hj@Xy-675wf|E6+a0aGrqkGJyM0PZ!x$QS8o3DSx%J^W z?yf&`7CrN8yOxI|wz_V%$K-uJPj=k;CsN@BpDOl4U-L)WZPSU=y&^9@+F}RLL-ks? z%rIh+)Uyz1IRuFo3J_C!fE?7JQ3ibYZbXKe99M~G&=!Q7f%X#fRd++&*xH8cnE@H$ z2h*=l^W#K`zciC|mbNiq&XE;vNKYTGQo2Q~AUbr=zrQ*@9)1_P+!l>JH30pHd+{we zE9win5FPKYCc=#CDvR=d6?nDVHvVOSQM!!zj}8xGq|&YZFq%~Ox=uMKQ1CAYWDP%D8;O_6Gdhs2Q$e#pq{8Y>X5 z|4Ta05;zMyT?Vq)O2(P~t~puZe;z*s0tEYjVq3MJENHi1h6Vl>E!s_qwa_#eG2|Mc zr2dlHsvocL&Mg2a3%?9bib%Xs$7HpQxRQIre(NdeQDmcb(5YD@YGFyfT^7BB zwRn7q@1&DyUIXG|5|c{|Pp5MLR17THhaWEPXA^WIpt>wusXGEw|H7U04lHbRnd}B} z<>1|g%UzP0$BY}2+jR>|Y=8%BiCwr5bI|=(R}4&GSfgPvGqzC;&^AKT5zlN90X*cD z{eU=Hq^=aNeO!IvfY_*iL-h|5j^J}W_9B1x>hOdlM;+zcY%{9>ejkA6HWN2W!nxIsP!@qiCUMPmJ-;N+ z$)*MKpxa~doU1`*bx-#Jmr5C6z8_iWC$8JFCpL4(8Rdt(RLL!&jjc&(t6F7W1e4_? z3k%eKti5(Bv7ktZye9E3fKAaxZJEp29*1kgKO ziv<1q#bJ2GoMwe9FsP|ku_y*YpywFV?$<9J-AV8PB(NLd zkq|fV`cn!C?cq-rzBVI4xw51In7BR6^vFqF892uJ8-`OU9WmNe6tzcO6paXVqpdCq zCHea<9XeNBoK#I>5x#4fe2%!9{O2dQ_h-4yM;_4Dd99VIHFmY|X}o9tz0GQ0aosMg z#d4ewOk1W(XS+*z@%rCNo}N_=dF$WTZ~eB8KsoL^nyTWsNk4*JyO_*y zwm$Dk_e>#t<$Zi;U4Pg$xox<%BfW-*GqwriuZwO+1<St zo@UcnZ9cv+tmj0V74vzW^euCuN`){aD3B9-?l2*#~6De~Trq%k%c`JE?IW=;J2$xHq;(h^+Fb=MJe_WdTnlxpv-A<`Zt z{0wIX2iRWf5_Ar8U z-!i63%;frGmbcFnRy7VCBQ&7iuMY5Tr(Yg1a$w7Y!xn3x#}!~UeIkr*=nBT-yIMAAfs7|{dq(N%WsEKAC=AY4kq#EK+} z?(uOPr@60#8}x6DYqYEI;dB&eVaE2m*}P3AyvJWi#kLBsah{P_Kv!cR2;&$amY^oX z_FSxvU#Nac3503@6We){|7M~1UXRMFw~|?Sm-GN@H|@KoG+!Y$O-AGBju|<`+e$n> zce~WGiPYL(A@}GSm9N4Z4}AU<^nmxtFNR@1)+QgP;tF86(8MS?;?&mYhOAxn(jQLy zd0&g8jzMW>RB5|(+6mUbJKvcwB6Xz(^4=+`nFbAFIsAAKPP}(z_Mtfn_kB(VhJ=Os z^?aL8r76I5g0;-|E1sfa0}6C7M?{~F`&Uw{#}QIDiCx~_>2(t4FvFvXDG$Gg>|O_{ zZJ%X*W&-i|vh|@W4yqPf)O%*jl=&f#AQbX{z2zQpekYl=^+HSx#b8S-OG3wDU%Hyp zWkRhGt+QVRkxdr)vHvz)+{K5Rk9H_wh;E{arlKgtYDQr>o;=;DZ!_Z*KS3w1G|qYw zrt9PIZHur?Uf+b}BuAVN6iUXqFGVrfq9B)`HAoLuRA_9TUk~5f6tbOUf8VtadL@M- zJFptPjZ)KH)*w|G8Aq1$W5zaKL)|p;Jbjn0F~kD%z=R@XAlC-Nm4bsbAxB0YbKv+t3?dG?r-(&8nM{G!_EPZu}+MfC+olIp` zYURPz*#=&>6KdUf=_gO%cA~|>XLYB!LWg0-fjot3%c2LP`0eI(F}1=nNv{VE8)b?3 zazr*wRXE>`bS&S};bvB)E2QPFc;mz$)EuNpGlPmD=Qve-Yu%?Rht-Cou{=qNlJ&L! z`Ap0q^Mau!#F>OT?}_#s4P~TwCAI8yk*tTwscq0L{B8Nu-kR_agy_}P7{D2KDw%6w zPa`D4+k6}1yhL$E8dcq{vF8+-Dwvv`FL7WeDGM8y$A?W;yzX@}^;~V~pc?X)_phPrEkk095dqjN}t2`)-x#ye|w#8N95m}T)vmEv&|*_?u*r;I_oEr<+Ten z`cCC8?fTc7kfs%}>%jf9&z?K7(Ryt)Kzb@I>835=NiEsDTW_630HE&+L6*Vp-g5y3 z?J~F%(rI@b1%%@ro8q9&fxvNckMyTC5$!u2?jshf4a{qAiSs(Ad8jU;<@;_50jDBy z7IA4Ck;51?bUF^wGf$HEE!z-@YFv;6_pg6s_OGbRr0v3usWsV&Sm|i@^e^!ZYdf0~ zEtJsF!qzE~lN}4<61H?fGK4t^{fm0e-JWj?V1ByF#OT-CbMD-2zNSIpggAR>haCLa z5?R6~8<~O@T~EW-4^$~FQR5Q)JU_yvvy=kUk*IlEMUUDn>@Wq8SrEQM#C3>&RTk_i zn`=AfkFprsGB6)?K;0I(4(|5-2(VM7?V&ARSDiteDjI!>yE@DSewfUN+d53DL2Rw` zuJEW(e1FYHvC$~9lqJHe z_3^c=w(6@j1}|}u!vjH{NOfh(LKbcimCLJyd&&|WMf3Xt_Fe29lPL4WXu7>9fm`|a zlmv}*$2+nl5OXRqSMjG4#)s1J;lSeQ{H~{07sIsz**_C4vR7RuIuZ8&7#2w-z|6Lv zZkSN2mswaJLe()Fw@!CoD=Q9>rj+=<|25tG@#;?M(#V__58Z8m{=}@BG*w=B)HZxK z@PH=RKd9zL78%svwWiV`VA72ULH9}4h^NOoorRIq*sYvBC{XF$Yeb!&%-2V&TGvvZRoEw-*Ce_GXP7+UESlhSW z!Do2)k3QpMjerd#YwMKb?$O}K-}8K37QG6 zPAPg%oZR@B7?kU1dct<1u(^I#OZDCs*?(bJVpuNK%>im)fZcl^)_!*XQ&Ygfm&>(7 z6myF@1kF>xs8B;wbjD3Hst2WtUiBK}Y@P?)v!#!+@K8TROUFOl&vtcFJydNwbC1k8 zM9;SuZ$&@TFnl>xA_U+=79OfU-i!*vbarX{e76am%R2%k?h)?Y+Ngb1vE|c|IlumY zRJ~^;E@w#ENJT^+^Ye3+0XlFIYg^-~=hzyZg@4hY)*g13+-j5M; zbzihn`xg}@c*J5Y#FT#+?Q9m?Q)~Lv^QKuD(2Trm5R2sh4MxiO6pE41YgL1_MA*UE z?>}P!9DrMco6_sCp~j(TCRII$^5y|o9AlQ3s_SK#DE1j!{2i9I-}`=&jPk{8GWz$c zIyY=no>V!0{V6T|auxb|&$)fA&Fr+|q6D^dQRez^rG@&`FIKa4Z8feY?Xt@J$8;F7 zQ0v7^o0VivrF_Gcm?@<6a74& zx2X$PP%}i$*gWBCed)wVq?6tDxNhN93%kCJ1 zX;B2x5ESfiMRy&^gnvTsQD-)|&k-Acb(44b3rV{=

SUCrH_L*vuJVt2v%F@yuOx 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%0D-7vY}-Iq=SIF=cHK`?j}FhBe|0m_3Jft*NP0N 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

  • (B{FUhwXCi#$BKZiC83E(jV{*-v3<$s@p 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 |Q{%R@x7O2>owtdv15fVcDGVJOoV??J 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 V}D8(YrC5v{_v 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

    KF!G42;lFDa~Edp`0xf+Y@sWF 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

    4J&j`Jd-!O{a%98rai9FwKZAwwRSY|Nop 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

    bBw>K~5tcy0JGr zO7u}2!;*yxZ?)|kGcfOQ);skH@;M5@TV>;kj!2!DTl5jwM8HlVXxONnj2VG$0u48y2AB6s;J}KQokxs^-%cMB~ehE0z}zvU(Q4nzx+u zc%GpR{)a5V(4LMEf{>*YE(;yBQ$th(Y&-A(gfzL1n`WF>DbRvmi@pPmR%OB{Ri>~hq(S#>)S(0;sIYGWsvPe!2;2zh@BJmV9fv$<=^&Q&KruCK?jdEFb@6Nf>H1##<2Csd7of{n&Nr zx|+R4l8j~TBAR(ii7r5?zz6+j_6xC_$6{JPl?wgr=tHXkFVs`|A(J5}z})atG$Q~> z5=OYB1>z`Sk|ZA=#;93w4u3AEeDh%v^KCK6!*{Rw|O$Jj8)TOGF-p zg%K>SGxl75wDe2kLaG|0Q0&C<%Cb{1kk&*m7HW}Sgr{vR`QFJK5X&(cQpy^w#xt#q zOVl!IxqA7!2O3~;ZaT%l6T%?OCtQsHPBXQ5fpn&Z(y+vTe%07(TmFrLj#OAA!#y^b z3QW;WP498Af2Y=;POwNBnjxn#Xq|_L5)$(U2a+c5v6z4OnW*soo&&w9kjT_Npst!t zm1sd|OP=v1`4~$Q_xmER9{F-pPO?iOyc%D2cJ$;bD(lY_}GCYaYZ!ATGL$|L^asD;15SL)rfGRC> z6G7on0t#89@TMZu)ZG0dsluS&?=|t^m6!~g{0v9i_~v+5jZHbKFxA(~((6055A1Cg z$VUChrq_izzA<0>Fmy`jEa?rfZG9hVX!haLI}&-Robt8Ob(B!uF`4%eS++wiA^3nd z;vC}m&X)Tb6$h|+^S2Ev49LS+=jiSn3Ln!fZ9jX$3<~7uI*K@q=8{v<`3YZo?Mw$} zZe#7C#0HmeEOLuLnzkLE;*_f^_19gL8#`S? zbTmp$+@OnkbigOSYgO*~E#EU>OzHc;uL~mRa&j23_zzLE2BAF0Ze9fCqGko42Ga>@NQy=Zy-jw;v{>dMR9hiP~Ig4CLf0&N_-)nd>P|H$LG?YnfwH^ z)Cr@wf`B{Qr1UhNuf|z-HFkAcnNkhneA_8~k(W7qmhhq+;cxH`!mge@Yh|Ar@hC%u zZ;+Jx$!9Dy%}?7~9d{Y&2pi;)q%n9kjzUq8W7OlmQZqE_^Lc%3 zwZONqyHgL55(SR2wkl~|(lO9a>M?ljzBxd0?IFM5N*`OEYQ@W8`^Is5FR>F@9tbHV z{NHJ$hqsK(AWA|s0Dc@R>fo8!PgXlym{@pgk05lhBW6waK+DU~FRa4fRD4fn{@Nrw zlk8u?irS+y^W3~JWOn(m5ljrZX{3(E3ZzNxKIjXQAw4*{e}GT^R7Qshu)7R?Besh z1Eb*J?#s&eyG8L}yA#c+B#OpZlp1Gjz=Am{)7b$U*x$egj-;>Uk4 z2lGiuYgO!N$43z(_T2cK$IX{TdA{BaU;A$8)V2G~dmegTCY51{mQMJ9iNW!y-k1Yz zF9lqXC#bi!Xj-myh%W_XNf)9}G((39_1RH<#}nA8wLh)Vu3?4QzR+eN%ymepM=CO& z|8XNU*q%0A=}Wq+EgdcXjZi`&=I`HaH@1u`xiI=2|nOL#zk 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%0DM}?50jo!&q(eW)P0CzHw0Q+FyBp#TQ=QT5Z{2>q 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

    GTwEo+2UhjI-Cz(A<|JRL-_h% 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∨^sM5l4{9wVs>VjV0gKC3n47fxbY^${| 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 z zqwb`K?zty52==$>pkH$Te(s(x-wHv3l{&WTbEOLfZ<41I?9?oN>}r4PEA)}xW`@lH zaOEN7?|7-U16$X%+anh>Qx%l*>6eHbYDhP_L15`$BCf1-oD$-eOWqUt#M;Eqvc) z=c=r7vZ?j}R?(L5jy%`K$L>3^{5By3Z=QEMj18JW&yelPhXl`%MRc~lE$yYR1lQJM z=!T5zx|4P#2l6dDp!TIBw1Z$eZ&UrJaVIG(2py}Mz=`e2J4;^(8d|L?8!z-0I8zBB z_%x1CG4T9PR0W;SxHf$&IsZ?R^R9C7zAd7Yl2h|Nd+>ZzboD;+;-pn8fu0{!SrdvH z|0;fgOZ2f@;jnJn=*E`b$j_v~?t`|Iqu;a-4Dze?^kN$k4@1q;2h!Na`T3y_kNX|# zjo_EAxI_9zPOSe8#Gf( zQ}{N}OTP<8Hqe{PZ2$SBc;~hMqV`$a&6e`V+Aru_Ki$${H zNoWB7b83O1tW!@^k5z zUEEhkc`kH^ZVh~^(~-fomWQs7$l-JDbr7kXc94%DH|>l6eP_NanII6FXxjlP?_9ms ztH&{2yMoLG{>8og7CtxGGPtka+aOwI^ZfR4=-KzziA`{Hm$&FrD`2YMH}OKd!94@8 z1`a3fR(MP7WBU&6s(*zan`wS|DMOQ?>1*vn?b_+5qetZSAM?I<`ga)ci`t|gulx7X zs7Z>9jr%ol>z)F}U*?^=`@ihF?CAX?0U)P+K4}kF9k>_+!=}Co-t~QK%D?A%9YLtl zTwT|!|8D~aM*+^~Z*xzwCb_@0?yO6|F0+?`BD4dU-8K!B6M0zCq+W-I{07*naRD>K2h#eg`cEZ&L zNnQ|m+F{(%efkm=4NC(`uW3#&AeiU(Zb+oZ(>DyD(Kw0v1mojA9NiWCnze2~%j|C} zd(*=n3D4P^Ad+nV zMYg45l96>XL-6N%9Ka3m;$S=1%d6-Grbj%AOqS@6#BcMO|KMu?uspM&e_tAmf?5Z;RJd5$*Wh1p1gDPxcIM&c0J4xG?VK@9ddrQhih za&Gi=0`bKyiIebl%bCLiSCWkWX+z}5tbrRyGMh_}qB**fr9R+ft&Hhdu>_siN$}20 zTSw8A`>%Sj@@LECajiO1;`4TX#MW1q!eb|Jo}RC78QJS5YXt3)W5kwZngh+X3!%l% z@WOx7obDRT%1$Qm`7?^sa-w4Xzu| zs$Xo@Dft!+Bb0zH4HW00)TEG_^G&Ljdd;|v`#c2owu+(49e;>}4dC(B#v@5GBo zJtz0-MR<%b4Lp9_HUHO#^jHv+E*Z%<@Dk7^^0N=#d{Sd!GFp*$T>NQI%L4v^9!gdx zp^9BpCrwmYj&^gyjsdap9$);7|GxM;kwXtUwy8$rj197-$nyN34L$2a=#m3@_+ZVGjDdC=`17#lu~*-n&@#Gy8_rspqA?B*Niy@C>fx8V%NY6`27pmYW5VZQw?htItgybk<<1CE8b zx3AFYamWl@4s6Nq31kX4H0ZkZ@*@np^eK3Hk6Hqo$3kUr_)y)m`Ah7;nFP6U(ccXq4#%Fzwo>~`wGh@-HLy47QK|Pn1sw7 z_-gFvt1w-Hi?)%^)%3{b>T~!_yK$If_>omTZtG?~-NZ+qt0|~)hCh=)>TK2a^_9PB zH?&)$o^`m$NBRa1tmo5p38|A9r)bmHv^DLr3;*MF-+hjV;LZkpz?@D0 z)*c`GF}Ga>khYOOJCUv)FwcJuk66Ysj`ct0H%0QdG7EmWWKytrNkDChXlfbNPPmc_ zmF{Du=Q(dt<@JklZoC1UZFrq^2Nr2p?VP1Et{kWk?pr5WU>#I|ubBwJ-J(51q*H;KRug-05G=1`bu6n6z!FOyW`Sst@Gr9gilb6@DQKu_p-t>~LC^nrM4V z0z!kd=>UKZk%J9ba|vn(AFG-05A6eI1Ims$-VI;fr-Grjg6ar6V;yhYwSy%p3DWj% zEEPR~WEl^)q;;K3%kYP-D~!R-W!Putdu{Q_`3P{U^f3sR|f&UEqb^TWO`dz9=}>nkBrPz*tdCbopCwo zRFwF5I17vD*#471QD3@FpKlENpo1z-@ZCC7-RISYkB$T--A8xTrk!#Rt)EGl9Ybjx5HcEZx7DDZuN`X;X5a7m z@mpq&&V+xPFbECnd)2qtq0C=ui zM`Bw;Ub}aNC|$XPO9g)47*ETp{ItwLHbu0Zv|YuMqYuLI2ur zVZ8EgnKntD?RlpXRE|7*j@tvW=?i{{=TEL|>LSWI+VTT!H- z724^Ai~&g&zlxg(BeJ8%GWKJ1L?E?2|tSe-12 z?XldwQ+UEUhoxaFGvdOzV@37IqP25vR2=2m#Q~hnKQ?3(KB+cGkF+_Xc$;za4I6U- zIs|`a<>x|RviS`EK(mQgJ(u{kNeD#3jk(I;CDdS{Ihl^kBip<#Ns!%g|K4BVy)U23 z6)Oc+_a*`Gc1yP#0(Fq<82KSLu;uzOvITyP!cxu8V_=?=daZ{5 z4$urF<+fhP_2aOaO4pDk%d>q4KJ^u6_8GLy7IPtrli4BKUB^M+k3<1`t@K)J!+{ou z9!00mH(PA%^Otsuhu&pIzBv82=chKGTnDJb=vUv^ofRE`3nr- z`X#6>T`DL$w!vTI`GfzFGriV86XP2A;KPw`XwyEr(c zCtmySO=DWV?hWb0do`WebUBEW_N%vs_qsQ4>lqRu=8@a63<1r&qjK@*beKmz#_Dp> z4w1)*;5^I8{?P35+7;&RNi1kaN-+KwheR;5w}4dC3C4kEu!$QWQ2Gvd$Fo-MpK)JDzzPqtMb#~xr z*ew&Pcxd}}V8xF*t#*{&@m}Ub$6o?>!3S)a?GxVf`>pQ|6V~Ccycwt4=VGg zJU?sE%Vfc#9kxZ>mU04z*U+kCt74sQCw;aw{|O5Z`Y1#7ukY4*pWkjB=zBY+!9)Ez za3MQtL}Qb6&!xkemKQ;iVV4==MEp z`{dgjzu8VWib=b`CEb$jB}oE2<=PA8*H`T_0_jg|AWMA0e`GSx?&&kus zH~dNeOghFs)-S0%mIhSZxP4U`Y63!)cD@#W4W=81x6H--+r$}U%}jnu-Hm8F%(zNI z#kQDc?{YTjH?#J}-}bQvL(i)*W%SKEFJrHaIT=}X-X&-m1D-RIz+U7GXe8UQT{7FU zyED}?@Nt#c09in$zc!nJ(!Bcfauso!jRjGA%SSCTxB+o^ADK4$lfW=p{Z})TpYNh{ z_y4p9K!hiP8*5;i)aXEzC)n5g* zK~}Eq&i_x@)+izr&p^K5OwVR!WcMEs9_c%0KN_cUPxuS=!d&BI6UD?FAordHzE0&B$@<;MOeceXg`v zW0yhkE6l~IwA^mXn<%)h$H`j*+J4WyUD9w3M+P3l9Nuid;;qqH8DQ{Kqh&xfB<~h? z-Tz2(9Zf=x)kFec`bbBm6S#_J$%L zI~6ZY$kY}g1M}~~Q@H>Rvy)x%7uVXAYmY*t${Ih9ozTw&#FWRc+=}ku_2n--iR}JG zUT-o&u!IJyr|JwLdY?F6^IP_)K~3qspMtS66nsi2Y@Y6ootSGb%g>1jl0=dp9@Nk! z>hw~P5IFRFgAm>y91Ep;vuzNlS|*?Y-MoKB_+O+jv|M^Z^+PKewxgm*;Fx;tx z-=fk4FIqX*_Lx82S3Ahr<=q!rs;7C5(L?X>w9A!Qf*1#ZeE|?5&uk&Kfz$G4oNsBL zODQ`mrJ%NJtsm{&Z33J&vk3~h1G7|N+W1j+1HH2oTF3uPXBdnl*Iu{U!QaV_RuS+l z?SvlM2uw!=1|D{{j=kzSR+0dEr_Ux)VCP)Unr+3M(PWb-Q7z-Q*V4~p8F#&W;W;Q< zK_J+V-mKFnvqV5^S*Z+?x4FRrPHh7CjJ0J`kNSFiYd{nm(YAR{9g43xzEL!o>)pVw z4&9a)3ue)X0C$|GQ2?LV&;Z>*@t;#c_idKabptKG^W2HMR)5Rt3y-`w*(o0BIBhEvs($~;&VDk_6BjBB7zjTx~NB~+2QwQiPcg1 zhsJLm{pwp}2Aa}$eOt@F_vsMdqHl~{@fCnMNh|!{`PcDkeM$#+FQ7|1*n|_vM8_df z{K*C{J#uaRAK|mM##DHv*M<#|>v)l5A?QWMRs`3F6@6^`9bg%b%D~4Azwp=nJa0Q_ z8F8R&xv;)|CRJ36koT`0504X35is6U^Pgzlkm{tDwL5uf@037#lQF zVe@9#7p9d{<42i2V^d(}zVNag=Q=uc>q-A=Bgp~2n*oa@hCYlS!&O5qYQ?C9Nh{RF zFM~v#k+*yxZB|f#N$ouYdFo8wz4n9F2Nn!$@lS)alUYk#*f4by2~qI&AEUhd(ED9$ zSsLqIZM>-F;{4iL1&+;%K8M_8&h6yD*z%kj`oZ5jx5x17m5(4Ryj>|3-4lS;iQwG? zrVM_St?<5mA$Qr|q1vlQGGHzbDo(Xt<>|_4t2{D;yU!iVR@~_`*V|{EflW|VZ)$vn zK$2INzdJAo=H*>vcV(^wC_K@XbsQ=yp;etocq<;J{~NgOs2-Xo*tHx)ABtz`-9+Cy zE_Hwkf8knXNZ(hM+uuk@OWszW(|7p-{*`&*QhklCt}Q5?rQ5n!IX?724kcHfP2lhH zqDitnL7=iG+_H;)b!25dZP0!6{UomlxUYU``BG1~_$ZrHAI*R(v8OWr{9(zBw`bp- z41F7dRwiN-hbFgz%XrSUu`>ku#UZl-FF-O41+%{Gt|{}pmnd`tQu9GD(sS(-Gwk~P z<7D;!L!iFi0&fUELGRfI2aDpzfq!O*?W{Y{pa@_0nbn^*=DjW>Q082F1E?+aWhrr6 zaJMpCo0n&I$F1Wid4@1m1M^iC0Zv!A9ULpZXYT6Q4?U~Qyvp-^+JW)&IAN!KolC*5 z#T7I2$vWj(F5n{u9hB^h+FVmo;>Rqd>8{y!R?X*bSl45q8Yu4h=z3PpCA8EU!I_<` zp2fbgn{{+(XISN2QYxIIf!NgOReN~7xE##{p5f=tWXGDHD%KJ85EBWY~@a zOG2VL8T#z{_j%`A?ZTqn>D9c}KIAJcNi4A1V{x!zgHv|mS&Gsin^JFVIf)EnOw`{E{_26B&R3`Rd5mgIerXfs-hY6bKp_^CIAVplsqF-34n6_&3c-y z#J>>N0XNGFL=WtpVOn2n0}#(_^H$-5dv<86OCtxveolJPaQekRU!;TTa82d+Cqo2ySA>+l*GRM!z3HxMZgXdi;BowD_ z&-%Z>Z|wkb+KB}<7rN@`Q^`T}xw_>wqstiuCwPbN>Q_8nf2z7#9m@u3 z*bMWqdvRDi`mVpX(qKjsSAvBvt{Sq>vE~2k2M4bvR=^=;&>agH8BAa3(|95LY_(Kj z;xY!Rvag>Go*U*^-aMZDp5q2hm)J+`*Rp#8#C}VU7)yp5x>UKzQ2l_9#}FrNO3&Ep*s2?Rf*Ldkj@UzuVb-J9e%eD1yu8Hxc>!tdMa@Rd-V-9e zS+73`*M!$30j6DT{Hw8Mi@Zy&9k;A=8&80^_@hthi|!>>iVT~zmHC(!(T8U%>-s$x zNCGt0(t8f3*^F2IfxgH7)xLe3%^k#fhfHcieYg$p#b8-Aph;E(RP;RZoBP64Z;9pF+Xw?B)?aJMDaMrl}MHl1hxkBOO3$F`!&kN!v?`g0{shI8^Eex z3;*js?Equj*1LIj85>R%jzb#)=gmZ&cH&g5QNc@Ge{>Q2AG!ibrLwJkD=WD&Mpb z;)Djf9y)Ml_O4FJ2alT2xG+|BRvv}FWGz9hnw1{!k(g+92IRm?+_)f48ZbiN8$8U9V{Ich-tQ*_9CmB$Ql54!@a;#Ib`!lRUbsQE59|8A9|E_Gw}Uo z)5|MgSi8v2^B~IPrPr%e3EmsnM}|KJ;-mB6{RV9}9Np~R$(&}d%Y1O$AY(*M{JYpxVSL6Da_{G4E%4fu-Y zyyw{%ufJD&|Ijcqdis5E_YmpX88-T(!p7@;JCh=O6(IN7**$>1`K`^A=v_$x4bIjX zdKApsoUe|#;ELUQRRtPwG!+q)N^`D;oYPP+}1J7jq zXL?qjo+VQt;p?91bAO&a%B&`Oo%YLK*zF%b&U1DEdu@9*A^UTV z5A#k|mWTAmqu_73TlXxme6D9s+p*tUV%;(4OW+SZ#6z{KGFVB-URcIpD)=u!cS^Qf z@(%Awbi{9n{VGn#Kz_V^9x{%i)Na=&Wq5Yk`)D{6VK0W@4~r`+`Hnq6A17%kdNx@$ zO?yXp?9{8KDqmG5?jTzrd;gb|XshCp;9q}&JN8Jls+{wZe>*WJnX3gb4cXXG z_|ixAR$)w5d)DEnd$A#iKy;R+4XXID-IV@n-xqAF$+_@d8B`Z6g$n$iYqFbU(ik3m zgI{$5yfF@@^=D!#zn49-Jul%>R}e9Xo^~vUe#=&6FFrJ zI>*kk3=amtw7=L|ShMh&+;5YAUV>>7!=tTg$%~H35frhB>-zVuA#e3 zgera$=IB4-N|<#3^*Q2x)R1dX&}XS=Mc%AVg|E+UG9rUDJG|=oM?h;}fI&iZABqIP z^mR+FO1Rr!NKpru^~@|XvU9qL2LuYLh0Q@W)^+UP~szs~S4wJDn{4k;%-KJ-HEW3y|>ZdtY>9lQ`AE@;Pz=yume2S9fCl z*uw+MDV{~^p|R)_zU_ua;X@sY7|{QkOj=tJSzP+2jpA3U4V`4nRWPoHFWs}*A=e`# zf6TQXDK0lgz*qQ(-MJQAPG}n>mCQ};6H6~8o|II zJy*cYEI)~h?|=JsX4zFG0F3(o!0^l5>qdkBP*7N>5dDgnA6@$)dxp47zcO!LdS2de z`kOcXa|J=A*TJRQ#%k7Pao(-%enYy3*{w8i^??%#k|~0X=wz!7cpE%CFskq5?_I9cIGE=Ox|%-c33{wL_Y_80}Ei5W7C-s zA!j+=Swi)rfG#t~o>^DF=DNqh%xo(-AlREv9Pr3Q668KMOZU2Wf%@q?2|BO6Iti-{ z(2$YPoj_54afBD1!WDfKj*-{vs?_1^Mzzcucbs3l?e_0P2kXyi&$>j?B>q6lRU5F_ z^_4tG-b9%B*Q0KQJGiKk+DY4#U82x&r=BrRzwLWxua$t)F5G*h*nHo>gn%l6C2xg4 zwC5RRRik*13y&WTA`6%LaZ;-@t_*vUnb8jtTlj@Os`OTVSjLTa13|r7JJHQQ>wj$- zZDjeC&VFcySyj2MeppXIdK=0^>ZBl1@sXWM74H&?d%_9TP?nyx#SgE{| zKuyhxXLDbhwRMxgk8|QJjP9HFop?x>=DFy|K2OEnAX6C&9r__dr3SgT;bNB3jE_j&9WNX(>JZi!|6E+s>C@3C?Px$<_}; z;n~%mrm*|CpueJzgiP`$9ro_`=3niQz|A!hm|nW#1Vz8QE#qK#)<@Fw($(mFH=kvH z7km!em%sgJx`3;Ey~HUzqWj2L?yE2KEF!nQX>F392aMXb@Mq)4PJCt@efu#~j!0qq z^?{Yd)BKQs!pT5@GUGG`T|5`PM9bj5?Z-A^N1_XARJ1zf{aq%s<^Cdy(MA8=Y%2di z%d!oxcuq?Lit|Z!gno6?J(3UHB=7?6x}Wj|>|gl41Npa+MgUvSP$%38X0 z0uIb`q}6T~_W{ROI)^7L`%o}dx_R(+a=?ZxUe!FHU?YL_mAV?I4vv-1g;#A9hbVKC z2z-u1O+TS;-%~qlt@NYvciRh1dDh}(&5rTgWJs-^9@O_RuCia==y^^4>_&6d=+ant z^t6QZDZHsrIP$T(t?GRxgZ}l_WG{Z9tzeOXK1SD$Li(;Ad<;UtZ)cVZOWp%LxA`Go z$YqjKAM&I3DtCG}n+dMdBK+EC^;xnIzUp1cH3M7ubMCKxj;yl|9HFYgzvn?}KiRo{_8EQtJyvufGvI(|LYo7t{KPLy0B$zh74^7k-Wvf?L z>DO;O3b_rA6f~5y=i?65Rd_F!B&hRIR&u(29S2xT5uV6ACr-QO&SP>eOG`s;nn>+E zvU*r!e8?UL^ZQ4Fc-gl3f68f}Q?K_V?heEoK-O6-|6M{Zyi{3WIMk0S0~APh25x6k z<4~(&0$s}9HmxJ5g<{6v(NGcvKTT^>zmT$gA5Unf@H+P*2-O$h8|Enxz-h70w(Q;e zHQ2E=pDphW*sA-!Q+dJcMbCZ5Yr8jTnUjB7=Df2VwOx_bJ)^z+-|H%YA|y{Sz%SwgD#cB-`ZVxXf7ft~0t0 zS~`qHi{{xLhuHPp-n5Vo2t>9|$&$cA!0qz^UVNNxmZp}SJc-Yx%YF42(X*~u7cEI>D!85GtAZKp{7aDSQG`{qw7W^B(9bq? zI!e;Qi7Y1|b`JpfMQ5sGOqUKvp6L(H z0zLP3X%Hs~WK6Od*dfld|Fzk69lTke|Ky{Xzd!ra;>$a9gnaR&VZg>HriyJr?(G-9 zgoEizg_UpT~Z$=8=~s7i#nVPYD2Lb88e$$rxIw z7sghZ15AePJR6AnUO-+08D{S6)j-eea%sEH1X!5b&nm~*n+V%)?|%gGHO|37A6vSe zcfmUMh7!GSylM-L}o&nx`#X3J6wU2;yO5bXa!kX^e2S01v#0Moy#G>d1 z_mA#?o02In^J-a^!z8Y~(f7Lc>7*A)!{cP}F{)nbh<|<09RbfN>1ytTWbSSNP zwJ={kTh=`qr+)%h_1X6IBhDQ#>HQ>)80?+gu#O!$pt|4<(njzLoxdiRHenPT3KO_h zZqy&lZcTty}*v-m8&6|w5tkF(YH^kdDw0YJW zKbclM$LqEfj@FUQZELk=_HrPXcEgPV&Pvl=&v@RSpq!l zjp^KFK7W4u#YwZwf}0l&dP8#TS@|{X2VTqT3;cz{Em^i~NyesdN8$<37&ovN~fkA&8`dHeLx7v)$bvE3@~KiDl<5bRWXc?rdx zQAg%tV*nqT20!@Z1dMr>1V?EzrT3bpZN-rHH%XOU`l-Y~Pqoz;3KUH5#VLMP6MKlg z-V;m`$;g1;vAk>opfa~UaCuZ(mG0*GtIA2DuQCDgBLCQSQ$za+{d3wT+0D$k^g*_v zK4|2tcFQUgm#uc8xLO|@+PJJ<#J7xhLVeY@{#M$4@43$!OYhs_K$?>KGkfpnToFJ8 zN8j4n_t+odo~2!`8b}2IxP+S|1d>Dvo(*fTU8t{cvdysl7r%5(dv2);OYlATZA+u~ z;``r}0MLV!tCyOg&T2_Uh!`kQbZ5ERdIs}V*aj^%zNAt@4Z%?5hC<19xBU)IJQv{0 z4Y15iAJ3;PO3CX`$53qGd1oS%C5_?O#79S&wz0I3z(m3d5B!Og>^-O-Ll=rSm|CIF ztPGC-4GQfr{O$L-rt)X#9wB%m;ukm~#YpnqbkPF%vee@8nukL#D?+S--&uNAU=H5k zZlPVpr6QoR5t`rxRUqn)8U&<(8m!VjhNo8R%2Q}m+QU!5 zqk?VWCB0Pt;nxm+;Sscy9*7pDgFdCBNwPtT%5mQ7wJr+6D@YsXk(G~Wo4~Mv7O(}@ zI2j<@%7@}z`CU3672=jqm_HEkFAFfxr4&Jze_L)>KCi4jv(+ zFR>*zL8$v{*TTy##fkoWEWv1d^V%)t-=vRhz=u(cUHD;mzPc&gn@G8gx%MV7uihj< z!0c}~^z-w~h--k7186}b5$jq1>TSR4k}DOQ9Pq|HF0nK(ewhL09}Jv&*Fl@sz|+FV z48C>MZjNPVPXh?Ax)Z-Pr(uWw>C?%D%7PrH;vmaCeI>Zp6Q0A?JDzD`795$@-T_Ur ziJsA2X2m>Ev)n-_$nlIFXz<;o5EUhTI>1n`tzxi@0(b3g17JC)3eGEDkzw{ifMzcD zuMOVP*3c0Z%9yaTrPV|6Lq&s3n;IURcVJP#E9dGtx2?XYjkUA)oNoA*cX!qlC*(Ph zuTC#MaF#+4b_Z1b9c*_<;~#S7ii@==k1prG*jcLdE2?hP1( zQ>xYMID0I3%RKz*2E()^#@cD(mD^tFA0~Dt9=MqeGu{23bry%eraog#OO0_2z}dmc z$KFSkzrp*Do=nvsVCdq&)1S~E+`Uf#82Ae&dnE zMP(#9Z2v~oQ6e-rJn&L65Z|#nEPgM|t1lJ8_HSOAm>v(;b>(ym_oe8;_mQwKL&il}muEM?ouWmBQRTI`zwdq-XpB%D#5cD1i6DM*xJq0@r3y4OZQ9JDk44n;mfNp(JK{L6%g=>c3%?W8Uimj3J;4EWiD+3&6A*`9 zooVk7+ob`v_p#X~Eq2w(-;yl}+%+k&O(BErgLxWJpv^8{^0j%H;oW1rPmy^zg}rV` zAccGpkIYer7aQQyjcw=JY4gSXnXW5SVcAxDDRB$#|EoO!tdxc_e?YG5nc@6!{O7s5 z!C3_&gSJ~}ThADW3ckGou=*+15yA|z53V|~r_BnH`tF8;rC6&O3dauQB8-`CCruiX z!C)z6Cat%IkcS35-*<(B{vG35xZ#40_u|m9w$A)P9|fTujG~-T-iX0d-j5(Cbhv$! z9d(l|!O*gYx%4YOn&7B4h%h#Z(qw~RKLh8^NG@+ndwn(u5E+4g)k4qsy~IlB8L`^r z#-^o;x8PHIdhlE;FK9nTWi=-6K<~aAo-VyEkJ2`{c0iUQhDOV;B#hvv`16^4T-n$% zf3;gYkG#j}+!Q3iA{Ol|F$iHw=i>jhDxml*&)eS(4iBv_%yq`Ml(upoxR>r_lJG7{ zM<0aaDLvxpt2ZnEu^T6FTZe;WhVB>E@-=33!DgAfG z{v}Xz^y9SUgoAN+#gKG#z61s@sd80=0Mx9$9`MF}cIZv@L+{!@8j_*OI>g8%rO`NV z!Ap+J(9=Pu+%IL!quX-AVsCnslk|$9c>ZUqc!u7yg9<*H4A{9n%Z2{Zmp;WNFE6m1 zd6qj>1>obs5qRN2X3#?~-V@xKy&XNOlS&z?NBmhQJ@?m4=vXHw8S1Rs?$?faQ07(O zw3CZdtH%;J+RohS1Kku&GaSjOi-V-=4zkr~od7?pzunv_^5kV0#@FJW8ArY+n9-P! z<4uj{g;}q6Q@iM|fY+XM4Vd+O?Rv+X%!VRubUj`th4X&4DwU@9@~yCl-_~Iq>n?UFPSwJ&w{6f zvr8o418_KrOPBB~385W7Vs;thB2zUTz&O`sqj2atb1PZ&ELBf`g@Pg3oQ?t~u$4(AdZoL7gP;7F{wz1VKo4`vS%&JBAFezdCmMC*k8%b6t zpZzPXJl@%txXVwLme8qVRRl@!3eex2uw2eLW7`jzU8aLRyIyMIs0uKo$_iG;L zT`z~@@=_ymkc$M}*s5*>>j2iUcqA^qo45@RUm~eKl{foa|L!IQ1VBZ+;{?~D8-Gl) z;0J9oXnhp?KaGF)&!~YOC5Fy;VE0mky>2u~dFY$_ZsCw4_1Xr}j9Gmj_UNRfui4mS<45)^$euZYcaNAA7$EGu+bk~HDA4cv zpKX2;o5||-1nj}kpcN0Qa3bF}cnP(&_m^N543{Wh}a)b=b!<{kU&(qLh?1zi1aKWZY5QiL(kDu#zKWx` zUA)z2=!3D;I~ShZZ$_&$W2CV_Z}5Z!rL9ZD2GP0=9_=sE$Fos>C>wYo!}LKgl)p+W zbSq9@`s|MO(6@9{zv;hy9Ouynu5_<9r_U{$Q=bK-Fo_3UJD>O3X9laKNpa_Mp6v#T zhh}?p8d@O*nWRH;Zr?RHYx%-==;45ezusT^Dl-`zbdAT3{MET%BVJsS(L|lH4+gh_ z1Dmi!?uuJw*j8-*g};{{+^ft5-ixEXnWwinl&uO0U#q|BW2*@Q&%PTyNU7@Dg7&rY z*uJW(!tv@xXC+FP%kO^AJ6{tWDJx&u=COnO%0P8BbStl^GzuTqHqEo!hMre~Y~)4y zf-Hw8!cT)MG-}DeY@qP1jvSd^xit(fr;oF?_A30Z16cm5TaRFt2{o}vvAol2q>ug| zuXn9}Wi0L4-X7T=ep3xXU*1newtZ*Ur+<$An|>7JiaP&LhM0kB+6pZ?TSQs;wBH$f zmFw+nzlYBh$9b0CIL<$@hH+syFqgIF52-o!#q&HZT7L@#Tydb5r5~2BovGFv(|*?i zcQ%qhqV~1pnwm*M$NLMsSqN_|Xn4GKT8>fqXPHpBvn3!l0=^l=TOs6G*px2j*){v$ zHMKiVHP4jyU_?+t5+y;gbx?_iV>k4u96=HevBi4UPhx=Y>*&GJ+t>t(9S-ZP7t^#Kv}w+paEEt%t(T@v-d8Abwa{qwT-a@ zY+1r23tt7i-%FR$PV{m)GhIWw=q|hxeZwlzA07yAKle7GOL9W6qPvzqXv7RpRQA~M z9{oqZYELDc3Y3FKH^GA!T-2d^t78>}6CH%V z>FagrMuaMk*moSm(8Q+;cud+2D|IhUxYgRpHP7;P*4VUl(5CUo%S3oybk-YcNBkBX z8DktUMy0~@9zoVk)tV$@*i&Fj!qEE4ah1rT`HCD~A1*q*@>ZB>tJMaN{%)+}T)0u+ z&WyG^RiDh9AkgR2Zl8zsZ|ro^ro3rF#z9vTQ4QRmewwbkuR!HGeB3G=N|D9Bp|{Kq z;|>C8k&c}snSkvJK0BU1`|Tw(sYnoP*j&M#HYJ;h12%EYwMQq!aOs=`)wN^DQRGXw zDB&O-B0(0r5csQC!DhiwqO$VULV}(egS}(o&33jk=b$TlEm=x(ff8=yC_3DJWuFJm zAN4%8!FJXBh~0s|Pggx-Z+R#=M9JS7%Vt3z=0(B%BwVy~qGPR%JEVUqa=J z>3PNq4{^|HD+EZ8`1BTUCg^8;44_CJfwjX?!Aw&+fw5oIT4dVFzps@;Wj(O?yma0 zp1wK*rfX5IrQRCTNQ~em)!F1iB`GwrM-$kBSLv#@+vnn(_X*g}Ox!xd!lP}L4=dHj zFdshsMY@I87pYfMF%-1Ea3A=o04Y5?6*kvCO5(zwkEBKEsJ0sHwvW(mot87Wtc)S; zrXg^qy?(!Zf9}(~qrS52B0F-s0wYO@;;3e~eZeEz2k+%o>3(IpIwSa=F*W@>!{Zv` z!Y>qJcuH&Jr?hXUeJ3<3zI_M1h%Bvv%ex(z%g;TUM6gzGLdzR`u1twOx{r1G{Hq+5 zZkH#^m%xTixiD7V(mwFtzOD_znm)QMt^5u<;Y;7X?t6jli2T*@U0p8DrS(bpfTiFI z&uq<)K7@8ngds2bm-Y0KX^!uU{qnJhwI^vC*{d9vU!_arYm*snA90?(_9(xr13Pkc zxk2^A&Ua^|nfX^6;U~M-4qbd=z|Rx-k3+q7%^T@y1wRK%GE&Hy=pF%{Noz` z$9I`egLQ@?i}&}~I`z||>ImTFpw1^p@iBNwN-L-CTlyoHzgt*I29(v$zB+)wn*Vv~ z`{1Jh|NATsQ0=*P;gud12X@5=Z}$tu;@s6~l9Q(!-iXT2u|ZTEAUj%i5UC0feFo$o zw9fR5U5L>9?hgG`7kCR|Qxr zE0*=QL$e*qKXil;!}t8B$0_0XswCJYku9M$n=Q|OjAZ;U6<^*k%RJt4c!CPA1LytF z&HkC_n&X_Z48zWGW>Ii(Luc4x9QHi%wQX^l;`C|#y^|;kL@h`4Ra>^(ZDu zb`Fi-TLxeXbOs%E5L}s_m?b@r9(rj{X~gW1@Ci?LEp=qV^pA-phbML;bVA_># z$(aX+ldO=OC>g9{7Dq#Sdd4PnVy7tY#%`7n_46*zjxCS9!B)WESinV0u%!A1eyg2~ z2`m2%_yRX{JkNnggN)Epv^$eY?(QTvlnhAV#F}$;y*{9RJf2XUBVE#Ep{?I1Aof@h zdy+(s_sp1wrB{+%52(D(g`Ep2`++oTOc1H!>$J+nY^m&tXKg5?t-a-KOa52;x7RlSS4XZw@L%8a5++w4 zR0airY2!qco;?#JAG#4a21c#<(u?9%2KkPSk>$to$Vng}0Wg1B+V|7YUsw0OdtD({z)TUxMw*XnjGjpBhoWL~ios{vU?(N@+Q2i}?5L;hk ztZ{R(UAc#@7=G~#`;;<%lPE7GQDMBzt5=wsL=o?%>LzV=S)KdvdlD}v0GdTXIpr+U zx)}y;Pw1Q+2=qW3!Kp*M(w%!iA4gp6;LnNB_l$GUn15e`c`y$=fyovh>bcDI23r+6 z37Wy&(sWZSFH1lw@NEw+#rSnkg!VnxJG*^@iI+lpbf~4=z7CC!QeFi$pb>nSni*93 z`f^lS%f|IsocmoC^U-GLD4uTVf9W2YHpr}eTwZO$rq6znc&Y$UG7fLGo>!49Dc4?_T*iP;((`h$1$+)srSx>*v{>j}YDY+&% zY7-(C@HX$$;=S6_GB&c$uvfcqXmahQ+Jxfni^M~nrn%Nc1Uu~_zq$-ng?IK<{I!XVb#@{;!$2Wl$g3ywm!G zmjmO+7J@rUCLkwZH$58A*O~O7_y5dI9V@9L0Nrw8O8Uw zDmiNkq_zXInUz<#-9Ln1V3BEZNTFhpz?;2SAq}O_&O*Ka1*XOD3)Uj9OiP%#ouha<${1aHn+37 zt~U5}+L`i21?H4pX68q@G`S)CgDYo{i$}H38!(twRyWUz{q2u`&vUbAMeuVkGwImt z_!2m%wSAwqtNTBA^Dfiz&GyGeiw1$S8`2>Xk~cY7mp}21I$W$jf!sMraG)^)p;Ff- zD;j)>l)__usmeu(<01e6AOJ~3K~$=c4(-<;a*)>qfN3L|bj-|{hrBzOUU3U7-Q;Uc zY#)mJIhkRYIBf!22)@!rf%g2i_iUP%)*nHQ19T@s3=6cB{6&vE86difKJy&aS$Z(Z z3`qXu&n4#O7Y_f?n-2Xgo2K6etsP?-+e{Po$qBDoOd|hEJ?gwi%x$SCYziRas4aH0ykHG(=di}=zccq z^Q^RCYn4-RX@UhEfF0Tso@(W!(GQ#FiX;XS$lE z-v+p!=D~kXg{xP7YyS$%nYCni>A`%yXE{gsQmu3#ud@5dbSjLU95RkR)XTDK>PqK) zzkD{?+Lk9yj8>k(ls$Xr69JTrO64A;ZJ)S1z~1TsSe^E4Lu`V8p~tKyq2Ruw8;~&k z^J@!}zx&TiKK^f(0B|)%YJ(A;$kWfj@~nX1*s8z2vrZ@6%En=9%sMCsDyTKWytD6m zCjz%tHwLyga0M%X>~n=Tu+o1M8a2Sr0eS-Z`ysM|cvf_k0BNvg%3$ExMb|S4#&#NEY;c3&&~w3K>7RFbuX3=+;mqz|X#@Y$AG`?e z@JKX@F#ygy*S7C7m8&MZ(5Ut;y0?V7$*khnXM&@;9eAKCGGN;6CU76Y-o+nl5&4hY zHh8DaLzBnwx%dW;Pul36LoaR~7(c!T4&<=!{I_Q-SO4vq(4qK&OXyZRQdzpZ6~DgQ z`LMltx~OyNIVl9^q_efrg#<3Ql+vSr=%i$fmRzhu9GS1KTdu$QII45sz0?^$hu|Gdj!0|mNj(43&QR=D9jJbaf;*c%fLX$J@0p; zKd7nSOTW_i*tj$M=jY^rNe%OzUbA*zZB2g!VBuGn68QK*1?L=YIB$5C-QqPZEB?}8 zIoE!Nk8vJG=W%K?2BC6tO6X_YLB2cSfYiZfX|cMPqv1L;SG%Nkk%h=P9XRlLyT!}N zNg#`v^q}r{%*)QS&BA7BGKCpVXmnK(Sud8TJVT!CkZn zzO|*4^+UtZPwT7J$A6i#gKVs=@$>~ysyS5%0=lR`DAE;i1KsVAuevAk|wsPkaI=R-{vJ40=f!;h5kaRy=$1 z%D)4T$RoMAJ^=JkE6F@a$=1tx3=5AtliCWxLLidpaQ?c=mLNjepnf1y^KK`sMe{#CNQv zk7bk~LQdOoRM)H6NC z($#oMNdA53`_p`CTxRspxEva|EpI$3vU(mz!MF94p_tBH@uqQ!Js`3s|3~o(b&{Qq z{F?O9^J5FtmQ^w?Xf3Jr9@g@gF@-kM7>Q>kp!j$B75X7g#-vzX=Wx z1#TOX^K9t5e9r``J_$Z*7usIC~P%ib{74t-aP>m+8Qai zyo^AaQ-UJ_q~32C{aoGPxx;YV`oJyls~M)Vo^f6J6z3`#G8YMK{~5q9n4kDWVxq8h zDpoOd9ln&mX$krU&y|JpEi;(CzBIH_bf8~vsm4J~-_75@Ptw;B` zNx^hZsaWHGWU_-SncKh*-6G>F3rBCkFLXfnB1c>cT$M#EX6}C-s9^fRIRpA8R@M{H zUM5M_U1zJ=@9m>I`x`dT{?}&6zQ}H=9ku7<^Ly6AWF!71kg2( zQ}m7*os{hPc)Z+?UeywLC;vb#Cu+WHrs2nda?hlmcPR^9$IW&Qk(Kir90P+PH*7?p#QOYbe%J|DM zbcmDt+u5vv$+#O=)cB4m(ADs|!3HP^K6zI=SgS-hZJc*JQ)R+2!Cbs==?Y?Q@{S+*pUE}}CW9{TVn~>ec#oy`g1z44t6SzS; z>s!aW-L0HTg9crL`Z+u8%7ZBCyvP2?%FOOc*IHXVbrg0=yc-7gd9Ql)yy}S#LY->91 z@fjZi+of?s69=Fko2=z@pzHTY&@K9=#S0@NyARE{s_`Y(W*ZKY)uGR~;j46kWnCtV z+g^DyY=3sQV${-r023-h0ziLZ?o!E0y!ZH0BVw804{6Ljl(0&WnMr~x=B)i}g>VD+ z5E}{Czf$Tb^sXU)f@*jR$APP_)856Y-z$vmujRuBAGmWiQDd;FkvWR`(MRcZ=(Yih z-mjy5+KwScdPFXa|9tsD=d4E}D#v=ZiUjS0PYk%(lK`_cHitt~(dyFgD&)Z_fzmE7 z*h&CrK$yRRyo>Owt-uFg)lU)|;3UO3{ieLkN)Y<=_%yYLmmC;qJ2SpJz_-2h6~+5Y z7V*m<01$gjTlrg>1P9 z!3VEiUsU3h9%V&zCnH~p`}o;GY4s(zW>8zcgO^?pjRj|UrcdFQq@EM1c@|jpz|rkD zGCX(&_DxKLKg^ZSvr6>*Tp8e+kJ|fpaXR#vy;qJiCT=6_OB=b)?<=ImRmSU27M!cYY%XuE%#lM-5K9j zICMvKmluam;!kW_gGXqg{^_eUw7u?{Sv|0uDyEcQ*L*66?8tdma@9V9mRbHLgY34Gu3&|nT(7ap~nl5f5L)#rm}8CT$u`BeV)WUH<%_U(*W z9WP^l*1k{T&%?doN&+C&6FVy&JFIt{cuQ~)`?Ef{#7X$U8{42ec6*si zvHf*2%y!EB6W3uaLSZ{?+8VN(IB)ewHw<3-*A@krtu9Kth;C+*rE@;vK!$z#VBDNN zQ@W=~`9<;;QAwh;b|!KddanExR*YiClhr>bPbxDztFA|*+fE*s_*{y-_*hcOb;eWK z7HDla{JlIjydN8(pV+mFysEZArUO!QW|5oCYdG4OJqTAqMyQ z4Byj6GBdt+$#wdR)8X0NwA=QYsNh}URNNEvmmV8Xwx#-12!Z zn4in@^0@qp99>#0FV()4?ls}T$`&oOhyRf$48*}P2G^%ZL2)hrETz#A?B6P_y(r>KF2$~ ziV@MTv{ZZZdo#92Kd;V|2@B`E))LDN+`sbozsN!K$M_{7hAf4TYj^rP@a=mMDdZsE zs}t9r2)~u9z;*SspxKjrJLIp&5*f3l_Cp=us^7f(1~%(sp09mV+e0VH^aW3|;%nz> zmyYfG0vqUEoAMXkzjO}WB9EHsS62KN`fEGJ%@s%O-vhZfZ8g4nS1?nlF#mqtgoCR@ zTsQXYD(_8u-r3*dN9F}LVNhG3Ah?_R2rjK>{oYCn4P|M|Qj*$%2`2Y!=!hv{e1iF7 zX&4Nh7MOPiPR8)^e@X(`pfIw`p@XU}n0MBNt&==(Y35(JXifh*{Ix+}lcRDzaK2=> zDl?MR=ZFHjo{OyPdR8^xKv_W}4sm96qJJASCqNMnT?Vmb^_A1XMx~3tud}B11)pVs zpf{VLHozAMINLa9ex3kS@Q{Rvs-_)pG}Zu1j;2s>09KXV8EV?J?YDF0d<>vcJrZ5 zwZ1|suIETMW)1z!vN>ZCK|*Jc5}A4jWN?K&X zpd)q@3=MJ}l$fRtX8UA6qr&joGy6@bb;H3oV=vPrexx1bSJxcmo4yIYkulGZ(X`}K zzZ+O1GiP{V%xI8bW(n^2&_zSU=tk7nFY1_sUDsx5v)x(7?-!hz_Lc_sWjm6j!B%*h z#%zYzfI9dT4C4|S#x^vm2CE`JuENO7X5eA=6QT6DM{orUqOEavDB|Qp^|6afED=%M zBoPTDn}{f1XghW)&($*MvTTfxv9w%aHcwFLnQ&K3J$cIUbm14v6*4AtxdrMVdDzMZ z<6td`edz|$D+EXGKrQlsEtCz{o02m%5L_cB8;~JyN!lU@)|&?LfT?kg#6oRsfQp^j z6ITkWcqbkvP`5g{4@NqeZCmk|@_h&q`Mo}MjXH_z@fPauqyl5dhp?C~0XY1@##s+x zuW*#i^W`QJ`cA|J-|qN}7^5U1lr#{}B)8*heIMBWHQzmvkm|roZxZyeXC5Dw)!%Ym>2 znd7855gAUo(LaCoA$NoXeQ+(3?K3ij2C-o|09iz~)yrSQ> z*I5_!Rho*vp>qt(&cw$^*7^K6Y7xGAMxhRKd)fdlhTpVPKSx&d^#)P4-tW0>H+)(a zmu_imjcqij?RJ*84tc#2?w6<4_9I*Q`Vt052FgR)5TA}=0v!F8A^-o_dUu}tmt?4IS>v!p{dskIgcPr?Y3|)NS<SXr*l zY&*s6G2-yPa^Znd&mFw5Bdp;%gVASGN8Wtnz`F9?goc-}lokZw8w86k<-xPAX%9UP zF+x);;KGfJAG@&dlm^baA6{QsGptwt4m=lz552!I3wG=kN14J`=nQ`STz$OyUh1Nw z=Dq&Oj_`N%MqSRcULJ7ULvJ?t?7KHnb{xCxDNs1-=s1w4OZDM_;K8SW*-HQhwruwI z2bcNhw1w<}k$slqfC)~&Zr(}eG9!{F}`!&Ysr$+L2$p%ufH6HEc@zHN2*uk^yp?{O0&3In&uE z8`#zz8E{ZcfHJr2Olgo#1(!h;ne_f7T&;3`zYZ*VU{nd5(YMIG2X;Fbaac7YwdkAibBSePM_NKigAtGs8Xt54gZ2NR{jIJFj;>PrIoz+}qSrf?)A$0wSuJ5E&E z&X~Tc*5rem_x&(-6C-s(V=KkBR38Kmg3gW;l9vXNPx%5m0n;Xt>=Wn)0YYshV|eY; z?yz6}cqT2JNw5bDr3d>)aQt3q8Ce5I%hTc|UM1klnqiVbkGHqPI#d_^r9b9?p$U$e zaom7k*Grm|%8s7-9QD}8m*A;w4o5?Ox1EhFeVPGuN8VP)V_kNGJJ|tb4f|P}!z-^s zM=yqk?-;iRkEWY&sgJOcMQqobcqoD%k4%L3w>Dl$ux^%FJ@qVMmm_UOn*&t6-sB)M zKc99*Y%oGc(dQi}ntm-8ZiA$x31gZXtjfYmrc9%i%8 z6U*vTXTEFh5&tTIca~sy%G~WL+g|Z1QcO zQ=*L%C8VhS zAxp+1JhiP5Ei4Rc63d6FBAfjVNT_8NKfHH#${S}yzdtHsc7irA?gW+lBT=AsR+01F zI;rbVUs96ZF|IzuCU2@w5yZ&vCf*v$WIT=>u%kXpAeg29Wn}-iBUe8S+}dv*cNov) zGt7*9T1IzvKEF*~4R2DX(%ty`+NPvTla%MD%EbvV>0c`g;+8#ISt^D`Z7H*{}Uu{ z_NwpxxquiUyoT8lQ+&P}YaEt+zBrl6;8)yhs8Oml{C>AwFd>ieaDTl{&8U04UY(NMeoX36>BRD zYS>qHfx$8eoaHO@@#lpJI)9Z19_0D(X^)p%daJGS*4JW0o`(fb6~@Id1YWYM$W51^ z_n-HiDAW!RD&}NfhYq8Z&<;<4($Q)LDb$&|O z=R0NkyJ6mv^7h?}3&$DMHmDZd=xq79NzFqe0&ydU)Yn# z$!?tZ5hRvA^CHf;Y5Ae=p-B=o0$KbzGq06FX5L5^kXW$e&UnqU)vdQ*NZ~N38K1Vi zzr2WSK0a^huS8Ayv^F#SWn-#1k;X}ZfaxQ>e?h+jnUvkDq451}1Sa{=+tDXKGCFNq z7_ZKB_L-%>ZNm!&Uzv5(@4A--NoNRe6$sdwe2vcLzMA?@cmT ze$b!lnn}}Yg35n1KS2+{RFXKc16h+_Ib-bp@I6Z1!VIp2;k#7B9YjuS2P@yKPfx&q z5}E!jI?BI{O-I5KoHxl~+>^{|>U(Vs<@Q-l*J=f5P+8uML`5qTEcSX$ErMPf>!oV* z*cO^VWYa7%dzW}cKe{9R3L?+Kw|=&*R4Qn{h8%&o_F8mc(A5%BFWOSl8^*h0Kq&Z_u z%IOpSMYNdN2RXGHz29X}Lu+#he35L+ke>Uv*ncJ7%Fa2o3%M%W)&~lyImCP>+2CYwdmFSXVw`j%I28=eNP4%L-S(-gYX?xB}) z7MvKx=|@fg03ZNKL_t&zIdwNXdxBq{H9r0KL5C$=dC49IURKS>a@jU6zNqw;v|(vkVKJy(A8e4km`UOj|%$c|{&2d|!5Y)`UB z)h{h~{Lo?3m!QA;>Sx=&s+Pou9T87oA9l9S8<^6h1Ky8A%Rd;#L({8M8Nr?|%Pakx{K20&ekwt?ml$*a|H(EnrJ>pnL$mKW z7Ad?pHr1P)5m9}?E?5s6B6dx@Xz%{ii}8|-tGwTH|KUaLy`P!yUej;cEiB$=WU$Z- zqcY}lhP4Cy(AiDe7Q|+GW5SNynI&%Zz&czB+_P!nyedb#_Sr$nFXKe}WDEEno%HM7 z_;sCycm~t0_>Wv&+u3Zt$B`qO4yv>_L5?hvbDx>e7aYiWVb+s%&jhO4Cn4qU!h>Nd z0m3E=1n=OprKfg=SmL3Z4LbF{Na%nu@{`#$9Q4{T zab)A5`LD?jSeXD^d@KD5Q-bRRM`34VByIS@{6D7-=;LU%ZqfYe!l5V5{ZCrp-N)P`ZIFAX(^HO4hTU;KX1ykSYGu+gOh( zlFTAQZ!b9@s5T!$bJJ7fqH4J(Xb&HD8AkbnLw)H^5V`cX?I>@R1X6$n z@y!d#q~xYSZ5?X@wa7-{HQl1qRGvf*)nMAlU-Ze(R*$__T5Ix8|0D-u2f94Mfd;d- z6%xk8ZNL2?SGJ3SL-ZV)QJw0UUV#;PAVAA&*&Hu)LWg8;nz(D*=pCCXvXlDT3m~!- zJ%9E+JHKm|ksv~3IXYM!icUmMcb2g}1)`ayEgJG9$Fa{TVV@aF2O`l4OsIKjzABhZ zqSB^+z9;CN6v<(wJ zqMKUmX(pBfF|?IgYHP;^y;xe+u3Fq`uPo;o$^7qbJh(gHS58?k|B|aBaDzbYZtr$O z_p8rFZ}nGWRBf4Hz=qX^M*rDhHohXqgZjM&+lVo^L};g?V2(45tqM&yVT(<)4@A;R za5Txff)mPJQeu2J=;viYn2S3eSma7K;p3pXxN+2N$A`B}pyQYIV_9PP{SH|d%yZ(} zkhFpNlat76$Fi`+zxA$%Ftc1=qB}c|dZR-U9(~U3L`Eh7F!MkHN_6`O)YI5sDeH%^ zmIy=f98q1XBH|E6*8ALLItGmZL-f;q4Tv?)`P927I9;tRaaQmMHlkRdx`G8Kt*Dt9 z>ljtM5l%@+=|NCKK)=C9pS}G!AgZ!K1DrcDSlAcgw6u;Otz{%==zy0lY*{0E z297-u!2=;}R4z;-s!x!$%FQi{bZ?iYM^}AZ--9W1hYsrR@}=LAfe*O_=C(CBL!;kfxl{DhE(6DhZkJA`-_e<` zGh`afroAL)g=>!oH4N2n-O>pG>VIHTS35V zO=ZDNRgNt3=+=&Vb+F7k&5}i)?=IYVEqhET2xDEnMbP*N=gN_T+s@+q@+4e(9MnA{ z-m~Ae5t$JSk6ik!HalC(l7%hvhu6l7V6yhycBb-W-Y3AluGak?**IgM-j)11z^nW; zIm7ah4Q@7=Ov1!}OM@h_D1B$$wRaV7IjQ>2F6M>V@~Vr_vT}QW*FW;R(rw|Wgr2nv z{i?jJebD%$q(|f~@1<%aii6GT_+GhA8M1=O$h73^1;QDlJqxPmMMCIhdJCyL6COTT zmF>elT73jf%Zmm(Ol%Zy0y51MXTJ^MP~Xh9bgf&1ea5WHrrVExMlTZ7ZV=k>GfOaH zzg=l$I#+kBH=T(!uHhG(j@pOR5*~r$+1|*Qd0Rb=4rUe{Tkw{AM3mM)^ov{qZry!l z@z@*NC)*r?^tTk^SBG-5bim^mFeM?VzpbqB*b%$A8`fEt)n^hpIpQs2P&TG4f1#0a zRRb9(GV?7toZps#$EVo#$ne4@`cnpO;G#=mUG;i(KS6ZHo0nj65_k0_@Vyz`*hIHm z(#94!Ajwg?pZcztGK7b%1+@yhYeb3;(lVo0w0|{ z*}i*TPz4vVWlWDLh^$6k>vtgUl3$HI9tgFeZ5J3y7Shm2&!4{ei@E+=zn@cmXeQ&S z#!{h^L_q5v_dB!lW>Za^ljP=W<>!$*^b868=QgF1#Ua<Y zmR`c*svzOsF|XHctNNble#A96ijGPE*m&zd6&!2*2~H4rKX;zhbsXAdMw__`zeXIT z1(NIFHu(F1_)-#q3zLF3A%X8e}%oPll5g%7`whf8OnJ-;>E>%SP1hks%DK&WjYue1#>;GYA7%F4oX zWMeg1^b<@f(eC>0jCg@#X+bdA{=vta(lvnb=>@!V3=)B=KMyhsU-iazq0g*MPU{G=bh_sFB;{v<1Urt35ZHg6Ef$U?w4?U$+j3{IT~ zkLSU$-i$vvvpw_*jpNKdN^dYHCugpE+YQq;GpOOOz)R3 z<@v%YCwtmc`MUQD*s(3|zvCP0gFArJJzy6-6zII*R{%MvZ^w_jPBoIOp7fM{zAFOaD0gN)VZC=2sjy^R9A) zo8rL1<52LYl$_Zr{DiFUC4p7=2)5v*&YI!Ka{{2xb=eZe z%7@8<&XnHM&iB$a<39IwY}@FsXlnhc%-H#7W=pg@v()O@K~iNol?>s1{xTydINv(y z_)+jSumfv&8=hrdbjtkI&(ROY3(10X&+kxiVrfYCj3>3_%*yY*JCQ;};RG>0>NFv7 z#E-E|)*gt@w$Fk&ehAe{=5MQco{xvFCJ_*ok-VtE+9At9g4iTAinH~$YJpC=-vo=H zQSA%jZkj~r4Wr1Rer@N9m%vAWE!)U-@Nt!kD`Kcj(#6pH+8pacgCfbll2tw?Zrax_ z@tXi8v5vg^o(NZ+4;B4<5>xsaUZT4Ws2z|hS*qk$5(BJRH#y7it#%ohf3aOcHfkS4 zqmCscpJI2?-|9AcX?g-rgYwdI`Bqu<_UBD{M;P^Y?3~*q*^uwCs{D2I6unR7#OFyE z-NbLlkNU$$MzE!f$=m!IyQVZe22_`=R~akZG~<%_#F!j9tX(l3AI-iU=KrbL>!qjV zbfH1!qNtkGe{j|yR(V~08$k*r{5rQLj?mL6@gsfCBk_EiR=tB_QerGyA45nIV zP&wZ{Ko*u&xG-dcB3}1wQx*?ROT{LKeJDmj+1JVPpA(!8&-`j`UUfhJM3C2jSrNVTTT#-Ddf6pM}RB zXf6)~Yi)zd`sddlX0}>=CD@2l`-gaE6LNK&U}bN;p9b= zut{=6rhGoPL|Q1wVf6JLan#>-v~2HR(57TZ+yez<$b0070NZ7_=s=~%DjHrl!k?&webWp8{b`j&$v_*SNlpB?(c zo7&*&)JGD=a1IrQXri8iUg0Z0M@yiyKR|szW0)70@?Z1x6zC5&wv(&r1Y`uoU~ zp3zSwam1Yvk;NIqts+D6hMqQGul-W zCWT0x{1q84?v{_WLY25HBb7IF1N@f%haT{NWfhi{%HI+a`h4jZD+efb8Y9bCA!Mj@ z0j8yso)z7PF4|Vkk6*h`T3eTod{S1~S(2TG|C$Ix1~$2P_C2|SlxKy7-}J+7JEiRE z7tc44Ab<$IwGkh)4agV`9T~<>*#w*c_CqHIo=v8;jp^&{2XJUo$23U;L9E$fB`f-j z6A4NP#9sY@!Dim`hJe{ysQ4SqkRCh(PDH}RRw9&6#|7%0rKyi94IXulnz(t znV-s&?9?Bd=h-atCIcq$`d-cA&q5!0nYMqJ=dFF#{YfMYEi1P3SR{?V{=&mlOJMt%)oIXXr;=HtzUC?k z1*}@~Gk6PrjEFQ@iyNBT;T#-DAnZ)A zXyT;Pn|;qrOa8LCUL060m2i3GypzDCvMEPW@Q4hS|2m|`HEPT3{LW(gUTM?-I30GL zqBJHz%S>yj>^9?Er`Ee zf}pdtR!tmB>vjUq4U}k8FwZ!?yH86F*WY3WG5pTh+A#|HBIlMF?OLrQ)#IbvQeZIm zs+hKOq7dBOh)+kh89E_=-25Z?o?~XZnKI_gE3M3$3xiEp?JBg$+ z7#fuC=pVCj&nGzcz4G-$rLYQ68oVqZNJx(s0*uFl! zZ+O6%Hdu2Ke6z<)+7As$42!r)>fEI(Ntjkv{PAFA3Co%PHt*#dXbg2CU|{>+2@19Q z60{ymEIids{YIW_BP(~NV@MzJ*S^%2n}@ZxX;Ta;uC{^t-V4W+<&yX$`+O5VSvtsm z2htr98}#oA0Kj(AL5mc7L7aow!g()&lg{J zarjHHyv`)B0?VJF1+)aG21-d{%=?~NE3Q=_nT#Jt{yfub{K{w3? zjlq3`{4e?ddeGf8IrOKi>)4=21PeG7?(;ZUYs@A8!ZkV@-sCH~fzRR=osR7o1b~f}^n`kn304|)nIaS_pTQ?AM z0B(^G&9doLoR+sAfG%p-69)t*Wu;+N*W$|Iw6h!MNPxMd*3Q67+}TNyqh{Ed5sve$ z*Bt2C?uUP7_XZcwjuCXH3>nVp^97yQq;=9;89)HMrN4)sZ+r{2BJPn5N~IYBGiyAv zB6hYz*Ij#GoA}OkM?R}#)kU8Ipi>RR7msJiB>Z|h8s1cYd7dDpsvV%8y^gx@PH{4C z)K7vVH_2G6-}ozjJhB$?m!Oxoz~SffegeSs_3g~AIsnlt4*Cj*1xSGj2?yX4@8#gW z4X@VTAP;4T6Gcu)1h%*IL2{)aLZ6beZpw*Fnr01N%ET?pH~$93+Jl`zS09WCl`|>^ zT-slGL$53^>fd@6Igcnmx%6z^+BtMtCF@EWsnRCNqsScmj2xz<`R6j@R^y zm9u`VWvg%av1wnQxBQwv9WMkLHr={h*)ZK1coLv=zLSz(lBJ~sZKF1u;CS~x(fb;k3|Zc%IwDF)JCpDe z?S#Ldul*?NV_$<)7>AtI))o$y5=E|}H*aRXawfW!|KTt4r?I25T3L*|3i7sdc!>;J zwmVswAiA@|#x23)(?8jhETOT!ADPOJB-ElWHd0}f8JRJ}*U8R*=)K@*MO5|NvLV>a zXWB!KTKUrP>$3_CKE)13y-9wACOaNUevmtTu1pEk*r#8I;NQ-u`|Yf!`)Mxxg`Zb+ z5`5NWuau-%Fyrr=GYY*#jBKje@2<4acgCwE-$)<`oQQXm?IZF?w=W z*>T(g5rT!<^vmxyTIOw*l)k_pL%;o0(BjtV zl(Lt_QO_3UE7bSeT?GkHD8Qw5Ojz%C8sxV{b)uB2PksCro$lFXk?^7j4G8riauE`M6cK)W&B%C{aogU!{yHkRG(t26Ewz3;p3i+0eB3rO2vXCAz%q6w^<%(R_4 z_L8RXdcMlHVJgkn&UKSY=m1`B>%hYRe%7_GJ)Qonrz8{&V*~b;qc&&UvJ0+e@Aa42 zc_rbrJS#Z4+G}LtM^`$KB$?l=yVbRMUwZ<0C|UUr{S_1kgBIKC+SghH zif?_JMBgA>(~jcb*3_G zi%A@)B{0f{b4p-j=4zcv{b>KJJ9W9Donbi<*{NC$8P@F!N2%|ZO9WiMj$Qor*Waa@ zK#rsy>$tZY|3^W<$KiwFX;KpT|wO6}#ULf06#V&eDh3L`tL%-PJ%^91nZL096)L3?0atN-` z%`6k>^O76ek5B*4!8^WRoolbhcF+_Vddm-F*Bj8H+{?LSK-2+<^$#bbTS$cvYt$h^DqQvc5wwR-~mI=hBzy-sdZ@p03ZNK zL_t&y>@-gMj`bz(R(*b+zMU<+@qFjK{*)!E6GS9KqKy(zJ>VabR3} zC1|TmtS&UTtUs1LA4GS}?sfbqUEc&nO7}U^&iw1d97~Q;i4hzEOKfUv8cV)%kHkh~ z?*=%XJs-S018EyuIp((oG0!Equ6k|22F*o=EMMB0&Ut5N*K31;&o;*uE`ia>gnr*6 zL)RCGd{Ei&88}8yc*lWaVfA_HbFzmM$EHi@9^L8*GXsZO_r|fdHK9RFj;_5ETL^BS zndyd@_03-bN%U`phgqWFGWOSGz`oYU*yMucEPdOSd!oI#GpW;YmSr@tv4NGUt;lY~ z+sRZi3`0duQ@Ro`w>yme_B_WdI`f^`#lZvyz--M88YCTIIM)?`R z8n?<&?ErF=B+;NzUD#pG&!vj+r|IuEsxI+^y8d{V&GkzAc1wuF^Sca1!L=a)SduGxIcxy$^=e& z)!z%ZVTwZ=cn=PyiSSkeV?Gt+sYKM9YjvmdHG+l7?Z+@=T0nSOYtsg}(2waFMO*#? z-v_)Ar5}TFfbGDlU|M+VogRZ?p6PqxK~^`I zt6VO;Bt|-us^|Cc)FuaPY1*V^TK(7HF}rG+C{3{-b(jM$ZE3f5Rj26rX8Xa-{ZytA zMAQ8^V=JJ#URr^R#j`qRK3)Fn`906nxUY6#9#g0tdLN2ynVAAuvujfm{ zwGlNs@Ovu}dR-rOpbF2G1wg*^;=b9YwI%LshdgXNuYp0-@cAQ)XSRd|qvx$g3P+hYEX zTww2UZVz5g5J-0C!)5z*rge=S`n|cI164g6zGp|}XIg(hPk7-~?Vo$^IzMDqvy9rA z|L1Ajp9*{ni=Qu!y5?Lc)VsB~ub>w7zNFL6P@;+dY> z2hX}9&T`DWd_Z(fVntBlEX28wtyV%nN$~7#@PeaP(j8ffBlwcI4#KAmANtgQB+Ch& z?Y4U2^X1A|`8ld5SX9{ibky2n;hHoN?9aJ*x?`mWuIBO03JsJ%GFf_)uR z2RjDZ_g%JYIS<~EOE$)o3Un5*jy;Yufps>#ilASUzvcac#V|j6$;OPKGxoV`Ut;T) z0>vh(c04M%bkEgQFefMr7O*#M5ueF=-NbPxpvIdy?ZTMr)1Kt~Fvg9PT?G5K0I~?G4Lr@c@`dj(Ac9De9 z?iEmff@*@5Jy)ejNAD@iV8=|k?Dx9u~DH1t%+M$a@;`>s|FEJyg+^)=KK@Jrrp zNBg|UQQ9zjywypf!90eoy|c~%5V$Kl47=cOpO9o?b;v=fo)2F_BiZ^?E=6`;P>5}O zauxiNAnCYdYJM4u4EUGo7q>53rpjbv80oIYq>k^%Z{V!FsQpe7WHZR{$zzFVzDbv! zts20e+I+Z4LzZ0o5L38bOyDn zB`Dc;RZ9bYHxJ0iN?6+jv+nNEeK9@HwG0k9O1Addv-^?dwP6)KHWhTj+vE(7ycHZle%lfm1;@1GW{*t8IuAU5?Jxe%;m*InKpiVB1Z#LUD8(=! z#mDHXsauk33@RM@Xm;$)q+^uZRs}w4k714QuzobuSxV&I8qsFbL%9+LLsg}LOMhy> zX!rZIri?VN-vJZ|>ryY&$mfUyS9Fcv3p#J(^nnOEuyUObk3 z9A#)3sca$dEzfoTdjIx;W9eY0ATnz3zIk7MnCAKi{aLnjc)5v^@IMJ6?yvH+v;MZc zm0sY!c0kQkR*?fgi%ei!j-4Y>rvB&qAI8pW)_<1>46lFc478f@n*ZtV57X>Vatw`e zXYKv@WQ`ej!K*<32Z!cysuG;C9y2t%?TGf;m%wvA!q1f{(Jnownf~Z`-qO`TGri2c zpXXg=-2GI8TvZ9^csupwy#R)OvaY`&p!KtrIc$l@DQBU2EXXXN6R%E?2{z%5oiBaN z_w*U{YXE@^RzyfVCE?m2q58;jnOE{(njxQ+SC*y-7FU<-3^TT|35||(1pQRLJblsb zsoIsf?-`{g&Jgk-pFh(ryvgOyAm{08pU2J^_a^A(TGXX_g^l-E+VM#^L6cT+I4PxI znb~}`Q9TQ&q7?xzJV9nb;K;=Hvy`X)uY)%G=;?R$wEAQHD=qIvsJm>_{z~M}8>8y^ zjte9qT@_HXjQ+gEJ_twgFimvr*|SYBOOHCfKI4-Sdl^)FWD*kJ)JI|2*gM)Wa(kC2 zfTK~i%x65`7)sB3Law%ic&>uNeh#X@qatXNKA4h@57`$Y-UZ7s{)zb||HnyslP0>f zNl{&MGN%a*EmJu`Jx5NuQU0*y9^1n!B}CbLFvE3Z@>Nk*UMvSbX0Gvs1~!%lv9xPo zA;Ba$=*EI3q5J;s|563O-yh2TYwMT`K(%`m#ZH(67Yk%>o6~ecbDtH3ndDhOXk#mvS53k^61OC zq=YJjx&iJ7AD3XCZ7NXgg-*v!t^BGqY=vgwb5#kT)Y&`XxGFhdC@vm{H5eqoaxO|lAFRU0((OvCg z{fqbw5=qIq|H>Ct3j1zxY`>mO1#cUdn^`WMO{a?wn>-dKWE^@fuc3{egHd1cfiBHZ zZ)L)H{#FOz^Z>I*L!1W^8O5PVy^j)cDqgNEENw`{lz-dTpOc~T(zFIY(W`cY>n-#8 zC^v;pmS6D$o*?U2rYawXvB?2s(zss*D8E(?&==(FK709b@WYeF&cI9SecMB}s(hPl zz!_Y)1P=+vRx1EwK%Bp<4yb>%hr^0Izo7gh`B44&ad_(4f7{z;-K_&jR+-nUBTwZd zBkW(14FOZB^`mVf;dnL&RH=XJZZZQ)AZ3jrXx94!hu8bd0d!D581=jQbMW6myNB_4 zw%$;8Aor}e!A!|#`lw9#iq>MrhGe#1v;T8lro{{MQd;@5o@@UZGm=b@!|!3e&OwXo zpCi%T%h}UF>zY3{fdgMBMwmrEax3^9yhja8&i1#ZmAz&bRz@<@J5Os!neUo;FzV=> zoDrMa&ax;W;&+nl@HxN^h8yH{Y}y^h+x~N~(w9YNzW&mgPzPb?P)qBdlN>r4v_41h zyh{ayx8QIYF-}@=a$mjg^W4pO{ncTwgJ}^WsF5tri!Q%~9>?h;Az`?1+Ut8<`cgfR zHRq-6``Wf+Ti%R%Y+CRa>e0!R^1g9_9rJfbdfK&(=)bZ$#DlMHejRhlt{wQ)Z!s#B zIcCu)hd%pMs(+~PxRnJY}{&|3B!Ah!}`aP_X(dbjvvTW@eq zg#v*H!2!;3j)i0#dNwwvKTyv6sv_8@B76|6XZ$cdQ*Gozr;hcMg8PL@jAxU~20X{# zd>gch8678MVIprm0V({K9_dcU8#~)yZNVAy+{#xUAls7i^%EmgZ1cC#Xku%cqZOFyG6#wtv>e$}};SpUW6w z(i&OLPVV!T9Sw5zotEE`Nmrv(?^x3EY^ZkQnVEUUO!J+9_w~2cO>6t!I23)J>Hs?? z;jC?ynyM{KQb$0{@t?X^8=^A<=4_I0ei{M(anRxfB-aXz?Z~7?+bb;~&9=d;ebHAh zXGluO<;tUx%i4x#HD6*hs`V1XK8~=79;%koCmznL9IzZZ=5}K8f1f=7{^IY=S*QPY z445F$4#eFl-vqnR_Pe3(^9LAzU92#eNYyczeqRQlP5@4{l}683IlY4^!g6Kra7*D&!)4VfQgjd#)~g|m%VAE3`T`13WhdME~XT{!f7 zY2nLFJh05buYOe)aM1NX6KpS1g0De=l~suiEmbIQw_*Sq7F1}2vaWGJ;SbIHjNUJ= zS$ln0ZM1}A6)yPlz@G`?bk8yb1CUGcMb{6!TYeg0&za~o%$vkfA9X?)fZ-o~U4ypI zRQ6XMWZXy$1qL=#+u3Qgw`JJn^U6>8c7i5$U`;wscn_SLNo_J}XR=C1bZ6;w=u2Ol zoYFlR6Y+g^6{iH9HkKEqHwhAhUSn>0HyL)a(k}s1x_nr&w%25ZmwIr-Bvl*L@dV73 zpN0E4TgcZvDZ{i9%}CM-UJ@M@FSjq)B=`EnCI}zV<^0BGfh$RcBdg}MpF`)akn_Fv zX8N=Ki$|8N$mF&$*L4(M?xWuv!FP2UJ5pS(EL6Ps_=HbK{hj4C9mF2b=$GmQRUstk z{{3{tvI6aSAf;ooL?;wVtKHmBPiWSC?q$VV3+?A!=VZrb=4|Q)%;xn#JNLCFUIh9< z34-~W9sfgP1@;Q?e>>03p3uHb^?-)8Z0aXRYwii1%JdISMtDe8!0+c$;`;0k$p~Fb zIjm@-;KCXHni|G3qpTodZMkIcl>;(sV)JBK)2HB)^TCXiX*wwzUcIVz~VHLatb36dlia*C?2cGC4s^+YAjoWngm zB|s^zhv$Z|3C5lEw_e0hyb9BP0N z{Y?@%M^jBppr@7N z`$cURgcnS;y25&*BxUsY1yI2=YF?W9e(>Dn9Q;7P)G5AYbtyh_+a}qEUX}iJcGg}j zYv8G$tKHvT4wDRPlG1QT-;q-%4a|pm){|NIr=fEaK&>z+48#cuj70k; zSrs5v&m+SfBZ^Z>u$c@|(EaR7HUZT0fgzhD7AO2Y)A}XkRmt+blLF~0$*Jl$IBpUo zV+B<%n@p-YdFI_q=W2sXV=uYTCG`RM3P%#A5&YQBr;pzA!ka2brjm?YCE02sHaHCY zBrs}Uko8TTiOEVNCJ?4?C)0=an8xhAQMomA$7V>Lm@M-{@9$MYHJM?X+V9x#wdbNq z?E&_uW1n}vpOXFE1aRYnJTG{t7I?`}F?;rw(On1pRXyvS5(MLM;BQ9Qtq;F+43ekx z7sJ%wd^fh`^$f)1i*ha4#3}tp}#HCnjon1+~CEA8vrn7 zVPX`kLb?OSX%9gmNLyp5zAEU<+*Q$br+nTutWwa-2)VyHgYJ?+7so-5__+``l#LRn zPyIF11+jRZwlT*6+LEm{(-H5mcpbeR@b)v`J?lQdNe*~R%ylX==byke^2p4#*Rr4IvNN%qTq*&= zt2`5&ozpBVmeltBakjKJZko1!(|||E0I6m7K5*!r?>+l%jOKsGQTmYm+H-pm)hCZR z)$uwg4r2749f~YJyXF0o&zwR0;LmyWvqQQ0On`@tkxYdriO?$_R4c4aP6<1XuSEjq zy7FPNe~}emtJ9e>X#pmN&t{u zx0$619C<05*Y&*uvoPDn4SaLK&*L;!CvaCX8=Uh0-QdbNg+|}bNfM5=zuHkJ9SAD= zLZ9)vS9OWb^RC*9WH%aDC*>KQ;@tDH2J1k->)ZU+CYAfX=_dqbtV08rJg>tXm^t4& zCM3xX$(=Tc#F^hRa|dtGEVJt=(N7?;$sGaCA2wh7tcd;{M)`D(MGXCYoWwx?X! z1tX>M>a&R^O5ER`5#=fRAFn)oE)Cs&Cn<7A{e)icukTejlQ2Bvh?8I%U*hLdDPl3O zTqhXI(S6aK4E1x>%=F#Yo#nBCce?BF1k+1&M zf5Pm&%7x%+d%(oCWg)Vjq-gDnWh{xZRE9L6g$U?rzY|_MnQGhErA5*kf#Y!l-3wh) zX;ER^8SdzCY-@R}guN?_!xMBp_T$lj687E9(8>DB#QGE1%CE`k=F3FVH-qKi-P5ieG+9(~fUe(OHRr3#1IZ^?s`?~=og zoABSC(6aJ1jp_J2+Yswm+l7wRHMJzsVDnJbB>ZmhbiurX|HwSNu)fqJWK-KHOg0TI zEi5y!S7vWD$?<*@Ede9%=Y#>tO>CxYLn;+2`+YBCL)yC=5aKgfAHMze?@j{XH-Bfo z{YUP=8ms>_Ag(dYI`$IMCHY)jn(H-!1mJMp%0y5S0~n8h?|QEZhNYb? zb-G)NM4#fb9?zGpr9!R zM0m`1<6ii7a67;4An;siPe5n6I(!8d`id6j5B?wR<`bQmqyk3Wm^nS`Xup25>D4De;>Lp8n+$f!}rmLbAN-G>fi2z zQ9at_MCjF#Bl8cUz~3)CM7EG)9@pm%G?81ci(h%=!7p;K@FA0h2fL+q1}1jh-|p6C zpsyE@&+nPZuY6k0uD+G79Sm0n=C`!}_w(*nskqr573kpc>PeFw3izjeDl)R>|Iu2r z{&qL(K)9SP-dxe-Jn3J-0e9 zdIn;7T|czEH4JvRE^Pwi4};6Zb{kBxlu2uhv)X2k$Lhc-8OTiL!_jTegWoGS)W9l- z<}7U@$jSQgA&ni^1R|kL^-O)qA=GuzZ@S1S21%A=(AEpnzK=BQ@L(KiDSR<2a7+!V zuEoitblx*7w#VvIe3wLJCLm>?*`r`fxA(goRyjm3F=t0bK0<9#W|iid>JKy0Yx6p` zLyI^#M$XQ0*4sDGba0SRf>|yHE5<2~6PwVbQ)CkY<&)T7FY$heNQDYcQFwG`R{gHp zFs*Sw16RiBUK9M{vA`Jk9DFHRZ+x+d@dw^=2mN|$f+;~JVDdV7jtkux9|>$^0Owx8 zL{6L#pT&yux3Zh#{kp$_X^Cb=mcz3yrL_DcDARRO=ogpT_dVm7pd%&Bfx~iR*(mQN zV{*KEolUYxKv~u;f8iUaM5x{GXSUkGUg`N9bkX(j*l=cjYu4yCA)w!af9P*Hys~2a zf@3Yk$84~j`MqB<+djsodqc4?C|iNjvD@Mi=D)utE_NKMPjh!s$7e~<9Xr-hBQbRY z^aKbNp3}$UV{}HhBXf3JEEDm4cIk=(#3syaTdu7|9&}yD1oo5w2dmf&@wXKfX5G-- z@<_Wmi6awNkzZANMNg~CR^B8zIhNG=r7?hj#*HG!k-1dSU?&JhE5DV+kS9JAOBZ$- zkM7m>y(0k+N%03Po3YceDUmCJrzEXTkVXXylYRKM>*Gq6GdcBjX;A1Ym@9W8jecv) zDm?G_(I>NEHZa7tJ3%IUJ`-qcmYJkV+Rh##dN2CTJ{((FBs*g1#lY~HF*>vAOj?yT zwb@ZJWK(kV{MaRH$NsHIII&>%yJ!VV6gGbN>N`Gs$4rcR<>n3l!nN_L+iaq6o{N1H z9~$7-rt2g7`KaHyr$N1ct5+S@;up>{Bd}DhQ3+_ho#%9#&`*PdsulB>r3p?jV|$&* z8(T8}v;FctsjBeKSe&7p2?5z4;T0Jm@XuH?d}F9#SaO>+W&WP`u6qdcqLSVCot8GKe6TpPO@aQClHeiUA;B{L_BcLfYziZNnFqZ`waQJ@7|z?T zziO`8#lR@L!t3|9$2p7gkS^ zGqrUpL#%7jigWmm=tjlgK001BWNklUMB{$+l?LY^~wO2!n1m5tZvO+Zu zDjrLozlCGyCHk>RBhI9&m8h;D;GXwBWEK9>f#6dgO}1cjZL2CPcDzd0@>od+$&%Og z&vU^eH2mCfu(ku%HqoWQ%%OP)>_1H6sA>h3&pDLu{vkNP!X}$q={-G>AlB6dZlBrsC#N{mK~GBz2vl3hTzaHxK(2cXpJ&QJa?0N+EBj+J)#@?oH?Mm+eZeag)jx5U2ZqPQ4oz?_?Kk&L#+2WDl zDT!VU-jx+SJ9sMjVDWKaS$i^g>xijW{>(TSo~O;sQUu00d%H=MVGwoVEO`BB%bi*O zmqb8=IQK7gh@HI0PURTE$dl}akGaaPz>U-D-tt^vlanew&n4d1^_Dy8Ss#&Qazx(a z0H@+%caCnL#Ln>!OgGu^AYtEtXLki}jeondqQa4z|ZCl{TM% zzLf*vLFf@@J96-nD50h4BRZQnp-Id}=#)JZ+Mk&l;C7a+WAO{f;79RVPdK!=^n5;8 z=u5zvGSk2tre!8fu+h&g(Y^0Ev9$if8xu0q`1~gO=^n4TM@8i&eTgPXV7PSL{bEWr zdnfopOUt8Xx$5_XR)N!6Ze4+)=_E;?+RU-pwkh~13Zl9!EDpN(tbX8K5)sS0CR?_| z_{`+3Z_D`X&MR=*bVcflUBJ`zIHr}4NI_VP&&@1DyKX)%qL(xHjwn7<#>bl$X_;Q zjk<_7d%PgB(xi#i$#kn-H*9eqEw{2O4pL+D-J(7!LoOkAU*TJ9OKtMy-wnjwmPpq2 z{BDyl(A;t?7?gakjiEikdymp?J0$paoJC0uuSEmHmvN@L94ZwS^B{IK726Wtyw2FM zZhrlZ-E0>5Xkv6L+B8OV)|}-{u@jNkBr3BU%eHQ5Q<8f299rqwRBXhC3%uCwU&eMU ztqgGOxW^>@&Y1fr3&byz2>AY+znBG!zj0McCKEC{pF~)oJ4r6j=&KpQo_k3i=xg^u zl8HVu|49H;#7buCYbQq1#*9mTPWlqLppTdy@kDy{>wo_3H~-A<{@s}t`EQGR7*tT> z(adj`1~-_1@jLJ!1QAw4ch=5C@j8H-ux;J~U!y^3k%^4KKuQGJ8)%;3sXsYDrVyM9 z5lz)|9S0es?0y7m`y(JQP6USZS<0A_ZCk;clxPhEzexTi-RHX$})Qu*5+-=qun@Bt|~r#ev}_j-mnOHL%ZbX48?$^*~BL_l?Xy zW3dS;U_h3zY7BNuv*PFg;Lr#8sFU=`Gs!_^*oOYf;?V`@wx0~b;Be$%_eZF#-VGVA zE+k~@zr*V~!+TUEe-4j-D;t*p%nU z3dQWykJBg`J$X%X13jzU&3!iaOA@D50kzfHJD{>w85IrGuB)f?{_2QB^lyIlvZoA8 znf(tOtU*^Fe^QBJZKf*`roROLa@xYX9O)N!vRRS>e%WrjPxFp<^7lLQ{qn&3q?8{G z!W6)28Md$5ITX)AXA%lNZZIv*Z2ml%`n~BtC>Rs)`bS@ud{OIW1Nqu^>c7NyQ0TS zyKJ-;I4D_+V=TNnQ|33?hR5{C0%fcj>Z6-RT>-mrFfU5u$^@I`>0V0C6BuMh@#q_N z&Gv|d2o8976LOzKj%l60*Y_QkLhCs1v46W4MB(l0br-M^36A$E?Tt;RfZI@dUp(s7bsCoy;sHal=E{tMEavWR?vY z{AS*ny(X&jk%7vkpQ-$cR4V@6a2v2fu`j+`1@7;E`Mz=loWC>%D5MV*r1K&Iu0gkbKo6S z4^)<@GQc*bH2!mXOuYbo_ zu6Oiy+qPawb`<=(Rc}R@HuOvgXx?}mhWYpX@K2uYU+5kA4Er4V+wrq}HjYK}+CiF* zEWIN)lf0<^gCA`39zUY4$mbYU-UQyjKfcnx_w6_T{5SvPH-Gpi{`1L_3B`={o5ctfBCv1tF}#mLM*#CYhQ1V}N&u>w$X}16 zi&A~emT$Wu&?hcDe_=ZYhe7m%le$0sc7`VXK{L^cP2PIl^liV*fG3&KJ~uH@JWcCb z1@$k_n%SsT)+(PZ$8DY%>5 zwCqAAdZ7-CVZ3YK%*)ESzaP5oSByLS1-GL=JE&AHOveV_luzHJ3HaW=7nUzU-_Fot zAfl(9^|oO=GN2pq*tFq3^b{SNq4o%088$tk@e=XReEC9GY=|$bJ!mAD<~JvL0GCIQ z`Qehy>W67X-_Q0SgZ{*3Ak#+r$4O*pM!o~ZM`EHpWnF1!rxl?4ul;2aRS1|<06Ie} z(0w@-2Hp%X)HIIS>0i$zN#R}k_1oEWJ(R>i?xNqX{4yy9W`p&7+nate)0ad7JN2t) zzcV;$&`vpf)-tM>94DwYE`L&8pa5m|N`Hw7#;ej&EohMcqxx1>-(zEgyE+WQKr{Yv z{<2A#+Le9(W%#c0z!$_uKA+cjgQ(7iJ3tdHCvhaK{-@v zeU314qDW4B%Ar}~ylYn-fP`!zUHBNX#G$jA6xRfU9U{2L%al&u#IAiE@rb}vc+8qQ z*Q3iGREI1Joq_DQx$AOGnU|=g{CUeSt8!T~5F06nG8^v&UV@T1ybaRzOeaS+XfIpi zVi6p@z%a`?nlx+x74!wfv&-&Z?~5mfL*KhDyW`MZcO2g0_@6K5j?y1vus|++4vNBe&-^=ZQe)wJ5<0WLflJlvm>a*y`wJGaGbUZu zj*B!qBV7EU>$RztC5;)ghlfE?U|HLYY|1t$z=6)|GwX$pEtXIC01xX@b&P$xz?W~8 ziRT}f`9Y#p0A3!WpKW8Sjw)W(!P>{2po2N0Sxmjz>^S@Dp`D3-O z4t5hH`EMHYtZ;cC0G$x64%jZrSh_xc_=UYQPsCdkC*zCu6Uch<;OXUH1m?BByDY~( z*U;RwQviOK#gwkKwU!SDPJ!RSqy9VZ{32O(qDOMnq=@akY;R~}T_R?Qkk{aa*X%(+ z;?&|Jd_6Yhm{``k#~uh4l7TQL*P%-iPjipTCV{ecBz9^8)Y`)�B5bL;G&|yJ8fz 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�m!xGIdL=L63K7itSwuCn|)Fk+0ia;x0RskbtD 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 IM6N<$g5Kwv0RR91 literal 692588 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≥-oDavfLdU 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
    H# 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

  • FFmpeg Media Processing
    DenoRuntime for integration with yt-dlp
    Libraries & Frameworks
    PySide6V2mR9^X}8Vz`z`LoTRp0_q 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

    SUCrH_L*vuJVt2v%F@yuOx zi!)HdZSbZ@_8yi=1W)Q?#(>BB<3u_gdijAQ`PQ%xztWI(__sCPYPki9yp}Tjn{kr` z_QOai_uZt}x)tNS<#*pcX{qS2M`qR5aO~j%XYx==+y8UyFi1YND#m6jm zht$~I&k$DTRD(dxI>o0ElyJbs4e&nL{~e!FuazR}FKq!tss=8BF<~jRXK}}MlMpz0 z=hV{^YT7~o;wk7olVs>R5pYF6_BeiC<#Ui~!n^m)W##unl9yki7jqbJ15qs55=cah z$GD%K>{I^Q2sZv@x9H^^@R1%9R`WDiP_zQ8Cb;=uE&vPGH$R-d+8l<{ncv*zQ&{gl z-6k{KnY6V(c6A~}P>(k6W)6Z`j*BWeq%?ZDtGoyU+Lr={N18>CHdA zSe19odfHB8$R7Hw=k71e#RW>@kpc;ZcyGBnQ9>7-dm^8&46L^udEb^GDa|JVH{M>4 z{$!Gpjjp$$*TpEzh;*-@;Gjeyp0%L(Q&76+!^)0t+l?ps{l8umZ|8*Dwezv}u>*l^ z*YaTVL2MG%U^! zja%&s3X}+D$Z*u}KL{zV+t=^Q+Z(LXczd1xp7T4N_qK7x`L`^EHEZw&M$og&4lo7s zyNcZ#7#I3;5&(BZYs*B}FWzV&q&1^C6eaAGMM>ZSh{OHggqt zjk*(4K~_GpqmO34$idE^?>AnliDfLspO6H?*=`AjC6+EnUlK`Jod1CZ&kMsIPRfdV z`c%Y2+hUGmIZpX7U`$cO^6S8WyQL9LAYHeoH-r%X$5&HPl=s6g{~nWm<-O`}EzmeD zRVpZ%H6VoT4ARD8zB~>4+CxY!Ye-;k2}p>!hP%{yYJo$qd40^Q_4g*gZ(F&`iNNnfSdKC=CrWWb~lrJo#0&>{IkNE86?NzGNB(7A4T1@@(5d zq;)y?+AZzHVH;bx&RJstk2VxL_#XVT!{`$?vPlz;uMv9;Zl4r2^wOKLkAfT|h zL6|?m9TOl7N?!kLGxo`_?gK7Uo4^|N_$&PE)A+l!3j6{EmQ_c+L zk0RB=|3s@P3xd0P^5M1TRl0xYJq&e)o~a(SfhL|j0iih4&^275)8FWc8%K42o3}gA zT?XKvF__4gO3|Yjv+4%!@SxFZAHF}RY7A>@EXvkUw@Tj?h zAT`=faeSQUrcxjwT(c;5Gm4K4AeZ0EH@xjkPQE7~oFc|jdWXc@n&K^W^pii8U9y0G z8`HBfUlYYLEoZs&uegS)e6>v6cs(P(g-V`U_fH&h9t?$jg{$vfgwU4GcxXE6aMR25 zT37CP@jUz~I81k64TqN~849Cgu0`_n}?RBxA;YFBttaN=wtyp8lO5WX|8s+l*A&{jkh$`m%PC@;Lip-N;t@YvDZ1 z67BqZszk4NX`l@eF*^%A|Hol$6*K*8^Mq4`sT`g#nU1J{hU4FncTTYcOprWEBc^6h zxQ$6)Q3$_dwd6|Cih~%ss{Ww(GhM%Lk$D>?|1>LUSzifY0RoTF2FY*3P#Zay>F6}2 z=TgU3_gT3sLW?LlQ!VDmQ0it_^_dEZTzy?}iUt-Y!829x>Pe{+7L9FeGgYw5QX?+xHg-HK$)L(kObSJ&`Vuuhwg#zJ1TR}gql^%?F zZzH$8EB-*$8Z{E1zAG&CwUXR;86mvEg;?Q$RjC#^@^V}W75U+lhQX6~J{0ZsiI)hZ z(`E7LuNhBKm)aj=ZZf&Ltl&74ZVk!wpjV%3a-e8?gUoHr1+lYvr%l@w&?%S<-@puq zw?W&mBP1e57PjF2jBaQAom<3 zlg~B0z2HC8#2`@RGo(7)B-3hwykk1aG}PxPvvi`NCX`W6Q3)_ z6j**XX>ltzZ5P$A2b+_!gt#_=Ur0~=;8A%;B}YdGqly2yB!LzBykj7JwmlYdw`5?> z;)F5_u0|byhMk**LPwbW28}1@9I#4_)pY}S{s|o!pfr&gP#iqZ{}?;_QV1r^^k}Gr zg0>zvbR)MxMXUgzcxBAHyUAR+sd@*i_YcJDf#|}5=i|ilTlor%c5U4;4F9&hX3Z+e z%Hr`kkCTNBTr(4lihpY`KEvYi*PG;awC0VtIH_(MC|qW|=f7jx2|gST3CwFPF@YKg z)coEU-44%c-2GIcX||U`J)vJ=UP&9~eo~LR$j)ufGX~^{U8L0IxF(i3&7g3#QcX@| zY)U4c|8u8QMca)|-}t)Key88_2?NKTaUb&<@UaXS!!10(vYl+|r(21J3w60fUkWjS z)vJN=CFlF26k};tT3vED%-cQw-*4L=g@ymU-ReUwng~(cewMdi3>5<+OB+;mNH^?`2kMVldrtnl1&9BPL*_f?KJ(s-g>W*=xA7^>v}WezF`Ynxcl03H`^I9Pla;eRE=taeZSA?QcnfQB3-`E9l%f7^59KZObHFJ zU0vBaWAbkz5w5Zc+nVETywVrp0FKOC8Qxee-W9HlINHYHa3P*!RO#(GJ{4fsx5TYLZaNXSP53>Q=@b#YkxF z*s+A8@1o|Q#qy^WE#7VaGJM`Epfcls{bJTl|6Pq9{{-ar)2C^SXz7xcDsevIU&AH+S2(2e7xyuD zh**Q{-7wG&_@pZ6%*CHRhqrhKFh#dmtG8{LJ(*|Zv*A|^%eKv8`3f^$821@mp@ahoIkuFmI{we*Uj#`|W zB7hPI!5JYYXd0AIv*UZA;~dqnI>K0*Mf1SVgr}A#mmmK&iK0(zB{-3&9v-(2bBOJ@ z<^Mvv5ly-k{2KM-z{)>kn?I>(9`9E8Pu%_{Vf~_Bb6stvr4U$!1k0`4j)7q3E2hfxd30_ zVvU69wR=H54K5|3<=i4JmfS3MYUQqyhiob$Z{*E4BGYvAl*mNaI>tXcmbh$PmM8ZL zZ194!W(R}6Q&4KGOx$P~#?`NLQ`A3LA4QBzKNHPr-aYIV06wTsD=TiNPJYjQHL=7S zI1?P3h_;R1U}o_~m7vwW#kgrI4FT=Zpu()Rr(;adF-lvoW#EyMLpYn>zRCMJx5CoP z{ri+bt#S8W8w_p*5-Rrwp2(+FeQ}v zK$H$#%CbzFap_ZQlTknJXqGWNK&fAMivV*D1Gf9Gv7bmyg^h#qTcAtdUcR7PwfL84 zzu#><-)OYv=u!ECiEE@C|Gu3(KH$6CYP9+mDC9clEWqYmvft8-?edGGBfln_v}Z$> zWf|>}CZ+4DfcJPd%rb`+B z70+gpn`>hP1YF3;1XA090y==!4RLCP8W;nI*v?kvzzE>B0L28M8i)zmzi1jLERfhw z5R!n=F@l6Vu6!kJYeya^{olKxo#1C+NAeUcKB&6*(sC^L(}|qyQML39$S8+j`*i5)vBPXhd5W_vXcBLLXp)ntgYF9 zJ>VHQ1)I(9G(k2n^g6=mu%@Qv;0~K&W_!uma@%8ZmX!@!yBxz{^w$v)JJo7oMuh|U zXF^_I1dgd?rAbP0urDpeZxCfi{krouTKIr($(2-AgstyVu1@)j^EuHDKAzPZp~_q(#efK_oRuJ_>l~?; zXE@$UkQws9T+WkB2${d>bYKL;Tr8Vt=$S0w!|_f@CpFn9gdX?V9O9L2cGoXAkUeq-~TNqCFhEe1X-?jFMDBOo1 zSg1x{hKvxKv;3(q*Rbma`zB21W-tJpTe>v}!*SCs_Ki0)SSh8|YZ{7Jr^srLoyX1m31? zJ?PwP{)3itCp>?#sCYNUG*oEqBCdd{-~*>y#h%U~Pm+bdnPzsc74&j&l!b!tQ3xpI zlmY&fjg3(_8S=E3pc#RV- zIKq^3+ak!3+oe(TTJYiMMmvBOuhpd~)fnLo4f5yU%IsZr-SKUtGo^eZ)p5BiRs=cw zTI83Aa(BR-?D?}`b+%le+PKNtOEdLn=yA^EB>8xxb~zE0#1fs^qCm*FIbD_zru zoHq@4w_TOs3~zxO?~T6YzHqUXLG8qfG35_BCd@JS>eNu_x?&=VLc>``k(b`T%6A|s zxwh;cI0~mW@vDvoYQXLmtCljM(3=UVBf(pue}Dc@)=>x66lFi>OJQ zjr)nQUY9H1q$$)+;VO32&@IF{l|9^}YiVww(vY_~qxVP|Cf7xqvq zgp?Rg-tJH?T24x<;|>1aWC!7_{k~j(w-s!n@BfQUtm{E_9LS-BZCsa;FvgGFV%&&s zNwFq}E7RFMk{oxMw3!4ZHPbIJ-J&+dJ{fe-)=_CbYlYlwCmW3O|LwE_%Lgz1LWoEjPuDUNiw0 zy4a37ZXuf(n0@dQ(uTVbh++>_L#lk+Xq`zh0B)=hx|~YbCLsaciUYPGTmEtqC@#_A zRx)%*zN4mY-wkJj&xu)ededhq;aASbcT+X)&xvFaOhK6_jd66>Y``1Kr^AVKltJ=I zHo^43XS5@^$O2sX_Om1P?*!VV5gEtR26Ho%t31BI47JHdF=8-hGwGCc;%@=fxv+)a z-Yd$`IW3T`N}(SBCzN0Zc9fonfOH)<`1V86pKm> z-Z~jfMN)Y;zQ>rmr7x?yxn$cO@RSRS&^@^{sKVOeV|{DoIKr;bI<^rI2 zqEXk|Vk~ne7`=euQ4I*?&30nLm9AK&B%M}ng7S`~0)hGPt+I&}h^hnOfCu`KE|m&l zUo*di>5(O2>&&1L^1*d*I}FDZ`c5BHIJK$`ZCHeP>DcgDO?f}nlOc84BnrO#H|Z7p z#Kry{ifmT;Rc;rX|3AYxr-2<9&f#R{OLG5Tf7(#LIQ%~q(zXLtgArhe0+hbUZ>u3C zEekk6wR^_INWC5k0T`f)RQ?9A%q)kLr1 znqXY(98@A42N!MpmSSw4MNi^3q&(WP3_+`Bmp&~`y{`c(`uE2Ef8S%^;>V`{nQ6<*f(bLO2}MTbcA`bKZ;u$ zJ-;{v_WVU{s1Zdd+9kbNvzituB5kw5Dp=)q%OrU~^WEBCM!!5Nk(GWyo)i7sFgd}w zzQt5{>PI^o?6cQD%_VlHSqyNYJlyWT4<0VEy^lrM%sZ%1wu{#$7{h`eaY*Q#lrXC$ z;U9pW+br*Z+ZykSvAWOl1#+j}8q7^w2M=E{YDr-!sQSc+B64quS1JrLpxj%tY4o22 zMzR_oPV@V9$l-B>I3O2dpc)J}wJE#Z`)_Ki{{IXBwj#)$GBg6bkj zmsRgaw0lz)Sa1jEF(Urm)j&ZCnhn2U(~pMUVCqFt5kulatFS$^+#3R$s!e{D)!@3K zkIHvbe6XF#^C64FTb^$QG~(grzV`ZRdT$hH+_PW*oG=il*b z1*5~qNL*x#jqMlpf54SH5{UhOfh$fVa24K=`o9_SSkeER(OtpP z8W1IV;MsmT+0su55y?Eu1NC`H6qESKr9Vwgbc@Q9EFU~B|6pIeq;cNBWO*G7`}n(` zc{z3BSp&J&1dS)^C|G5;fOXK(&9`D^8+5zE7ZjO0$rvV%HxYSPH||8UN{Pc3=y^7$ zOeI2Vh5tiqwsK?aR0C6LG4m}8wQbuIvug+SsvDI)D?BWim34Z}@obG(qrn=Wz7@HA z9!=K9Y|iop2ctk7t5h&9yeG_?@yJHzhYoN(z;tWKUK8uljpGm(2KI99@9D_g3|z0u zBwABu-L>EsCkB6I=mPx66N6v+J-p9M!u~GE42>&$8QTeXfmf}19gHjBb%nzk^7!Wd zH-8MAZN^@0xdl?3YYs#UnUPVJFd*vGqNS^tc|hpm9gZyRA4C+65;^c(zU`4=f>>MF zfwD3H0~7Dn?U`%27MDhc!w_5AZR#+~mT&q(is;S-H!CZKgGTPw?bc@?(6D?Wk6I0|UU_6L226kw`1>3HM!XJiE>@A30&cYxy= zq$O60UnaSHlzTZx7?8qSFtFnSN*?2nPo5QdCRd#tNhZ69&p)CR8s)4Kvj$ z%|OwD;;PGgW87 zx4F;bCtXl1)VvLuN!nzgX?e*+FJSY?J$X;IILbo1fcV%VE9Trgf7VoDlNRZX%R|&n zXtF9Y_odv}ar?tt+)EZex3D&XixuLP37 zh%04WAo_YIwJKnbB8*`YJH{Tr7OT+z*6=LFI74mLXp|JW$)$k6r1BanPt&!Lk{qSb zlhqD)mMfxi&9a4|dYWZ#2dNK~1SAnE(?4|jV)QcSN$vkQcXx$G#K(^yQ8+Suyq_9}axBr@cmlr2yO>kv*Wd6ZBo96${4;IVAS}r6LYjcr@ zIj!n*adkwIBMpoNWsl5gtHSBHf!>;pTz z&&2t6uTF*NR<@tus2@9fLm4R{?NzBU$Ow24=SJ%`?nr=Lkch zZgVAkCQ|VZr>@U@34~AzMT>cW-}zPcCVVI9V^_z|=(nhMzAPGXNHKG9Fn)jh3wye% zVs)8z)Q1lMXb4#oLDQ3bMj4|GX8EAjHwlvXn}z|4iGX87-;#!AhI&6;#Ba$%hRyW$ z8}>_smUg5ov)>yYzw0qQ9E4CmZ#^LkeNhs|r!TPn)JHpYsws2TYa`jNxjdqaI&d)e zE3_M&{V^LZ7Ttvj9-XfYg`^tLK~w+FfWv5H?OQ8?$J}f84j`X-G4)Y79AJjrFlD^`2P2bC(5Q5!{ewPpmq0m4eGjXcPBlsu*5K zpo|z)XHXQCwYT6umN{Dd?))!iNCAh_$(OjW;beK)JaN=g*9 zm=`g|<0V)cx`l10)k(vy&zg9dBWQWNg5qgV(f$(|JDUZ6>i-rs|35^z;lC6d*Kp$a z541wU!m}@2WHF>aG7gyL6DesYqpL&c_i(K`OTKgeZ7saN+5LPe0cEZ%#ppInUw2mfGV=Om}+NybFs zvQ`=fZ#?Ymf#UFez6ddIckC8yQu7cclj8CsF6Y%A5^CR0qrR$lraBhYvz^!dUoHTx zHW5#`R~AlPVrXi-e0S{2Q^xN?sE17GKqO!{px@8U8SOjq?Z8xj2yNC7jrVircQXDEbpb6{fx?49F|_dkIF;CiFoG-q1ot2K%Bwo`nsd}v1|(R&q? zPyUcMFQhe6qPLp*t;JMd1I#>g#uId=e+nP60e}fTilL4r+^-R~8t1SrzfnIcmCBW* zRYd`f=}V%q5xg*q)}&_&E}#Wtn79+df45*sySP9pgvujdrrgySwbBe#u#Hz@pEEPF zV|_Dj>`g9Z{Q9P$gC{aqCntpVz9Gqj*VUB+1=^N;LFh)lP5(tj)J;?iqtE%mfHKBX z6bgfv1)f;C4q_VP)lV?=r()#7!h>dBagTg@uT*uM2t&O%ri-7YBd?I?Mm$B}3um$p z+b}d>#~VliBK!UXe4(W}L(|m+jr){gZI&084+2nn`*O#Yk5(VQEb6pLxn6H4;)Zr4T{eV=YLC{M0?x!)HlRbJnvw3vI49#BS)$#5>DCAbN zlqW~(j!AiKwC)4#;S)PYPa`7zAKS^Ve~7^}72|qdQ4Fwj;8wS`Ns0c6?s}X*-WYPu zpnpD#Puz;z$4@FGy*HkoCA_UVYM2UH6G`4G1nXq1|Q3opyIKTM*LZ#KB>l(z5 z()o&Xy^o&wgD0QD@XB6qC2_$_vNC4N?(Hg%;*1V~!57b)y}+UYalC<=}ZOo!({ z4T`V`n;f~Xu;fDJ1=ie|?o zvGq%KlunYi){mh?1A}SGXCb3YaldYGQH)j%oUt<=!Q+H|)rGfa|D4x(S0`m-o^_YAptT@=b; zA~pOsu~8ltW<}31GW%%sSioh4(U=-WWRw5+GE;BZ9;#*)<$aLX@(Y#ys!)&ujZXV< ziG{jm=k>6u%P96la(P@NXY*jU(A zR>zcqExp7fKK)ovQh+K+$gXGB?~If$({$@=UMaM1RfyTPp_sLC@5)WFW%gK%N|lP( zv8d$`{GU3;^H}@YLoq^Trmy~JSp^(~PWGlI=8>Jw>R#sND@uHvjr5 z+aEy3pXpm(T?#*`G3`WdPq(xbAhy!x$i80POw+WyKvA{ok9w?ei{jVf&+gbo zzkIqrYCFkeL1Ef_t$bhq#j3-A$+|TJ6EKs1?GQ@eb1Yvq_h9()j>TW%1G{I&e#jd4 zRqvyL2$t2FtvTlVfD9hZnUz!PmiU zb{|`}xJ-;WNOqG$opY9h*&d6^CkrXZE1M})h4iE|N5yernAxIB-dYeO5E}VrrRgY>H0|`293O_d_9$G|nfK~? zd;OtU-iggpc{uGnjx1VVuOmCXf#@|qGJhX83Om)!ST}D0d2dx{was0Mj5dXbs_wm; z4tzvPwDMr#j(cC1oGgVBQydrAt@;1A_>Uak@;g1M+}X{e8hvj>+wa9+Jjp*Y8cm z#bu~z_Lm!7i9d^U&|0ODzxgV83G~T9Gi~-2fw>!mY}2M2Q@G&M(2x!F=-FmbFYI|4 zsR9Vaa%0qb=Uaem-3&(Vy{AczgyzUyMe4$6x*ql?e7HU*57AoR3B_OhSal!ugRz~K zIk!N44?1>8gAps&&^@EL^xZjwAY^)Ez%-gbz#zm!i4xp%Aha3P)xfM>jFhRDTS!G5 zD$E93GweMynR>P=<$VvsGTiPl>UNcCUhfj3ah0peLiKICzKYo%XA70Oe2)B8nL>(} z1*0J%roKHEk@l&Wl~ zpBj4a+%aI~U`8TXX-O?rjM9^Wg!vzafl5&s6_mtlJgHUtXO?DFi zK8?D`zf#uYNg#A~RrpMt*4tdvKF(>p5NUD-4AC8=aUEUv_LPT*C*Ra?B!d+j)9V%{ z!VdgxcnuZkHvi+&Kj7^Cx5tkuT6+7xKYp>GvUL$ekzEVHsucJV8Zi}n(eK;Y?bH<( z&FDbVvz~odO>4g%TTe&jER*KH3vnI%!IcF&_+P&_`SeamV&aGJ_i|=(dm^)ldJZvq-$w&)n+wLT zEAPp&>H|!BzpFCvu((JC{=AOnPXZ8&WXTG_>66vY+~1=XV_fBdn~OjoQP3nIawR*s z=Wn3!PQI7xGqz<{yU%qntEpQbHh^<)(QV`9h3rK#8gFJIZ`}#Tvp?p z^L|$M?H{5oO2F{D1SRDU2aZ4KT1Eao(=`T)-D84|3t^j^R=!a7wr|aD>P9+vdNrnR zQx>Y}(-*pWzGQzaH_ULw|DVZGdgu*89t@KO@)`hGW@V20Eh z-Uczq;Qg$7tDXjoiiyI_F-#$cOcBkL+R7QSfo!Z8<$ z8a@F&BG=9FcvB1yE2D%v%TmR)hv7ia4HsQ8U|;7#Tu}5Sbb$QwNm80ZCnF5SH}oVW z-T^w8tS(nn$JXW|xC@!6kNped%&=8iyAPKCUiO9!p(8Q7@HzdTMFFDiCvP0yNgl1H zVCIg%zZ1Wc?gn{_pKUiFJ!Py3jV+^b63%z{2nAol<32oADLmv3gP6}ds}ri&w50gh zFGt>^w97yGwy8fGJjf6khho_rnN-um#0P)qwyv zj5C7~sy|)D49vArY>zEsB|wWi+0~KfrY_j$uUphdx5x{2JQ~$Tj-xZZIGV)s>JNXIQXc(kugn%EgZ+oLTZ z`&AGmQBkws<9Soz2=Q#8@oR?N%75k$wwAn}znDu4xoD{FUe>REii!~uf=}48g6R4u zVioQ{NQ1R0PdVTs03&h6ECxLa5KcJ?2^R^Cvcmiv_9;APCLB<* z`$IIFXN;@*IWW|0mRi9)^N#n+6Z1!k4y1lo8*!@{O)xdCZ;|@F=Y3s0;lC#Fn8eQP zkoeMVjJ*fG&mLJ3T#4!&)0esn@mO-e36;OwM7Mhbckj}8PZ&^}Q{#+#(ON?LZuTj` zRW}n+d!0zut<^LJm`qD)V!+hn(GWAS<1%{J%;iKB5lIrOmXqP!7Pz)y>F4h;VEXfl z&;>TEk$itrOTpt{O&9(p{ynD~wcOb9^XI3bP(Y~oH2LpMoE|#*;&Np6+sxui6kU}* zlOXg*>xBdIFXkFjr*T;W7;lrrqak6_Jsz6N!D%(e{iLe=Yox1qvzPX9c}Rlq`qp7G zuNU^-wHS8t`ys=}o}8Nx9y|*_Y{2Gd+s+K&LItx6&Q=oaA2!4}K)EtJk7$~inOUbS zJ5&Mul<$71I^#WD;vp^lAa113zU?LE@jrkRxpgqn2;hbX_g0KK}-(m(J2oH=84#&ny2T7_eYn=5flVc#6T6wXrFvttPR?3DHvR-$EL)OKoA zLV1u!B~BuLL=(#R)inlts;2WCOM~pv!_|AFs)Sdm}LoNwD2F(6!>z)mA20iSRl1$JO=Qypb}^;BZ`3l zM&XZNb-$D}y)c2}CCsWf*m3|Q^F<=4Nh&;Q)%2CD1A4D@4g4yq+Rn$0xgUZ9?;Vf*b@lkZT+b3} zN)<#@sgp8jIp2D6o^!l0Qqe&szO8HmRjr$QFQTMu8lrg=h~9a0EtjJj1(g4YW}Lg6 zWOU(LxwD~3*B)=`#?npQaCvy5k=ea&A_UbE z%UD=XR!+?9zIMfb6?Bf`KM{nz-CWTut*y~8L|Gw)og7dY;(g& znS~Ijk(efJmGq-=zW)T%(46SQU3BgyF45yHgGi6$&Ko9}3UlmZi(k*HKpM#tcF>)A zNX^iSXUD9O0*dHDmsR+yC259ibOftQ_k_&a^RHQQ5qeGu1Jr(%5NR5Mxz`g#lMy#k zr%MAt3>|XL->Z_sTKGLnHrj;>-~RCzf4cByoMn9Xcb)ylauk2i$zO2qGxK_)lvlBT z=J_O#2VUT6mZ<}{kSq9Uq49&o@=p(?VsZYy<#pDu!vA~u5Dq@zbP_sp{lCl7**6F) zBqyc(r8i#Rqpd3{j1vo$ju_U9;2->vZ?Et~Ld$QHn&mN|>Xcipk4Xp1YoB*e#txZD z&f{*$Co*+%DU?==MQ!JOF5(csxf;>q{wE0Kr#h3!#-Su=kx;E%N4Z}(UP9WGT{; zH7{8*)^pw@W8M33Q}>+SGTXs(g`zcoF{GH4omZL{eO4bpeIdi zGJJUm4ove1=E~S@wo|FSCe2==@*_P`e~)BQG}*DACih{25cOdaKfThiJ&$N@Wieoi zAn5lP@e6~*NFKMWTS6XTsk=IOdHh|XtT5RLw$ z$lGV?DalKsI7J+T?yDSx!4p%Y!WkIYG1}wG#oXRxlE7zbmitlz-LxyHOxEDl+t0>Lue=i}x(P1rrs%85tPpvi{Zfq-FA37?Z>6AD#8B z_x;`?I)0N_RCaQJ>#vL**F#%l?Ye#@)CizgkT#A0U#L3`{S`vXPY&?EJajVg_9Nwd z@+Mr5l#ERJmAR4APHHh16@=6w6AOrB*RJna%ls~FI0-rs(?OZ7G;U=a#!U*AeEzvenn*R9JHI&$GEwkqI|4neMh?;Y;v?Zan}?8|9?a-izU=NmlZXWh_%_I+sB!Uyk?wG z=Xxwa69eAC_i!?gFIRW+Z^hgF^-xmpO00-A7#28I%>EG$r`$Kcyz8XTYP*xX%XqgE zLWkpTL+92JKxtN^A}ejk`P0-*px(AKLPU9H^2b}h>6oGZuHq4&b&j1k6`0^x~02VC%gVWJEcCImS;Im_2meSUUp&T=x{K&0sPn#MbE zlr)J$3~TK@URRd}17lIk+R>yDm47Y#xWu&sq8sE?wsPpbzq#ih$!9Bmzd6Ujh|tw? z+`3tD7lf~juM(2%*$LL8Wec^YmDw|+rX|(V_(hg$-ECH2bwlK{c-+K1LU|pz_);l@ zqp{I7Ig}ZaavqS_*#YbEOzi()O>N*GYY<}bVgBjpV~rwSdG^lj4M}) zG_DF8=?{-2##xtP-SmAra1}CNp?{v6I#}>mfu0Zhs7HnTqHUfO?c$}Bvc8>W$f063 z9pz`bL+|C`?zvg%hec6&kppS2mwSrhmsIS9yw4+W5Qc%z=Q9;~tcx6EF)cCUZP!xE z7=v?#eJ6Z@RBU(>UWOH>IT*%Qrl^<}H}A&vkTL8-OTS(Vs6-Sy5w4@2dSYZ1H=hdrLrPI@slyfg zr6=jmoGawwvzB;OzPDZx2GFTB{nv&3=w|~F-gtKW`wd0Ql{yXY`!3V+r6Menw_;?p zPzxP0aG^sy_Q@cBK;6wPOKt1l8RU7G$OqZ@H}*u#nLu`vNZ zwEK1AwKa=SOc#l`F!l#l;|Ghlhj)a8Gs@JH|L{iJgorY6d}-OXj1gyx+^@DvlW&*` zk)9Pkk{`A;2JVg@qpbaO~y(Inha83KLqO9EHJliVC#|E7=C zUBzCX444Me73XN%;VgKFpm*hbwp7$-6l5ad#zbU)1)^9DaB(a9%y+gu=6rUWRfw28 zN+jj(PKzpezx{g&|0U9C(esP&@l;gKab07v5&qPKn!p0AJCeh3^Z^$PfX&+IaYD-A z)1jFxfLwYyy?!qd>hVpO<@BnppzG`4(!AV=ma5Fpl4(KVVZg<6=~J`c^VyxZroG_n z3HUrc<+GRAQRgbM&UNf8XXo9v?`+?XWF30nR|=2I{QbUKxihAto&~6@V4yH_8-A{t z(>|lwz303VU>Q6m=0V*6AblrA2MTqGe z^hbcC0+=m8ZFM^)&%i5IVLxVKWxi@Mu`+&?{`?`%1_LR9_))! zcOe5Q-uMyTpHd0S6h=SnKwxNd94B84>KKAP>;AAH9L4aNGMzk4JBWSi>+ffHQDRrP z;2Cglk4$+PJ^c!c2hp=W(*`Gr1RAj`gPwv5q<7MAkwOEr&b#-A|E4sd`X`}5YnU+j zU%ilH_TeR3HPMt_&Ktc_B4b{tWHQl_`ybcN5}8Du$2m2wQ+}a{%VR~-+xHqDx+c|QY)UY*Rh5wousWltjjfr0G#c{{F01E`xB#NKcMDThQvB&_X_R7pbSvF5wh(B%^0~h50Hj z7xtop*yR?x29f`HpErxJ@Y`syRj>dTQf>CSyNLEP!ESNAiI@Rm7PYJSs;5;u=(6U< z(VjhoV_LDVboF#5Q&qdDNgG)V_WT?;e^YaJx}r?2_yUQe3!zv~ufTLQ;DxLGC^X)+ z6X$6h0k+#U`%cs%E2nzJhtk58Ld&5;H3|K+zjii~ z?Zpr$m6wCD2{Pt;8fsY`gz3H)uM7&F9Vk`DeRdRD`~Cm$^;c1Gbxjv2yt{FCcM0wx zc%X3&Zoz{Df?IHD2<{dL1ZaW;5AN;+4-h1{ySxAW{NH&m&$;O__Dx^xwX0UuteSHU z$Zx2r>GabtF)KB@z{iA7if2QhQ!RZ$5v-p>L{|+P51|YBlK-x)zTL?SIX-!yYEri$ zRd8&CB;TPyuUO*i(@f(qb|0Gjop41wN`uC;8!=uB?4^x;2X6g{bw2M#<4818qs3!( zy~fbgXekf`@esC^GF$XjBT{l|(UddHu1yJw_vC6;+9~1!r&!XX#BDAYby$_IlZYzc z>Ir{0T}8m9PXBsx4djL}-lmmDx~6wnbT`Hhmg-~G*``UWTaxusFT{CY=+Wg%$ubhw zV6LVs0k`V1As+s}x~aYxtlz|&4CuX1-I!a^_PzYkN;}%z02!R=yLG$xK|t^>^^&BB z@nJYxswZv~_iHV+^6ZhEEnOqW%AwoYSU*aY2ZXz|YWcvsig9P_`oEoFNFs-N&``PK zQoD45g921yJ#UDXA!|f2H|Br40Leg7UX%i$3Vi$e?lv04=9`CZ}PDw3yO^V4o`yX1u=lky2?3>9_3ms_wgH$L@dLsE&D{264iu&Jr;9`?ey) z-n?Hogv^53WK%hwSru3`B=(^qpLg2LB*(t@#HX#5NooXThDDa?;+F z`_yTip&1M=ry8hJR2Upkn3U;_!HqkwBvhxUzPTC}~&R$!Dn}Ygf7|4NQuSxuECGR^OBqV^m;1KTG(Jl+1*I@ED98s4SDR!QaQ(AsOj#t5yB^s%a_E$gePh_ejS=tes-+N zicdw?4ddiWhk9Sl_iBn-S3D$c<&yQq2*mqT4J%m==JB3yeo zPy9Kzd$)ToQg~&oD|>=vNG4F=uNIEW&(!KGH5Jp$2zRzuUhl(g2bDyl>M%ZV%P_eA+6aHu!QDemPmS=!F1K$UZ|;1U@37EqgFuJK!B9YUv{C)=Jugv* z79XU2th82$Cd)RQf%^)WDbo)oiiCT!>ESFbyn)zz(Ry%@M$eoA=MX8}$sDz_4>t&sGX;dIzx8!>T3eA7HFKhwQZ^#~-_fmjTGA=}Oj_M{?F zKvHQ{bJ#>Y9K&w;+{Hb(x&>OfFF*@vjp`c3@c*E)%ph^=tAXKs!1%dq|3$JXE^AfpyaXrf(@KiYvG z$5_@MmZf+(^&7Dhg80NsgI4U#i1n`L`VB_q7VXzIPMUbzHxV*J!eLZ)4Q8I2=esm` zU(k$zOsAa=M^8gUFqMT&MBkuX!efkG7%!wJ{Dox2B?Z>aZW`)Aq z`Zc$LSx@#ZPq`e=(cyD7(fY^L^|f*o(gbE!of!`#mDKEwG|Rl zo`gfo{&1oQb!Ow$E!BPJoX(_+#REzhekH8r&3^eM5N{_@-Ze2(l57waU3S7(puq-| zRTt!SZ{{oh}Va5c#1%Z@sl_3N^M ze`K)r)P|3A)yJ}4tEwg9lDcmzk3C~(B#4JSvO+k{aip(iNIneeIIODu#rJr~H{VGz z<#o6=pp4xQlc(N`M{gGvYV^kzr{JY}w$6&yJu1nwRd}ymOc{%CA<_5J&ml|xwp~`R zmGlPd?e~6_?h;cb3$d^C4t`H}MO4OUSEbawf<4R9r=t~XlX8|37A-sv1ABA0uEfXQ zmzvtj%VAg@eqk+g@8so-)XXX;4I*CYfm6MeeGHUS72+!+U zoz(Q;RuLR~n*?`c?Q9T0qgzEFHRP+;YW(Cjg0_}3f8IAWzWf>aE{wMF z@2OaC(7GC2I`>iL41)YPPYFupha0+QLMF8FdG--RX+|%(qgUIHaPsv?K^wH6oKP`& zF%SY{cXoov9xqNeOD@qR^cI|FUj~*x1Ns`qM@|o#9zmf6o`^&oIjC&18jNiHn(iNRoeBE}& z+IGgi3$A#!yJ6$J6MH<2(4Op!CiVUbKK|kg@awXaHiIa%2_s~`;Urt{CbX54^}M=H zWLMa{J4W+dJt6&030w116(7t!whM@Ew06rwogF@O zRW}0DV%*$Xx7ZUZCZ|nhV67Vzy(CS&ZxMmphMD+|uESIX*cqgK!H}OOi0v0^elAll zQAJp=#PD+Z%%_8ePvSnvl(1;ph^rBs0+9sEo!tc z8ZmuZ%k7(k%uD16gM`*h{X~Ae)cYv|FmQ1t)BKXaxk=y1Bw`BrOCpv)o1)7F-mqg znSdlg8x?@jsiv7)qvIy1InMk*oQny-KhV-5g2t3F*(?={8ob$$SR0^;xFj22rDJRG z>9P~FXt;R}Q_jwa@XnukZ-@b=eU*I96!VBA=bjyla-1$jM4&3a5NUCG`hBYM*Q$EV z^EQW{^BkVn>UXh2|Jw?eksK_qt3MUIyHQgU_j$~xyX-V(-D#q0B_tJ)sj9TKv%Mo8 z=U!)b<2$xv|J~0c?`gcVi}J;!9dLSN8z>{MEM9_c&{0rvA)4F9OnauiVx=luM_`$CUGD96inTMIgry{db;kfRXKYi_hTS< zmS?+Z_N*($@%Cw$M2lq!#^d70 zbrryVsUgwJeIXG^fC*6WH-IQs7N7%P+fpfk!yol3w_P>kq%mg+YkX(TZlZmk!PD=s za)^LAWykL!m^`a*P~P|-re8I6l9WWG|lRE z%z4*RT9ldm7FW=f2j9~o|I3TM+y-yV)*t?e$mmyV@eM9$4&BVF_}IvuO(QVU87=|I zy~mk;`J;J+aiG1ohtj5jh5-#6dZid6YWXq6m>fOFtr}@t>r^Nb$vnphf^i6^(0o=8P93(!SVrDFO}alz{8jnb@STsid;|{si@V#Pd64u8Utx4DWt8DYLy2 zRAE@CFlmYFMkdC+HPvfN_cS~SJhsrlfWce0dnRAck#on<8 z9h&kni|0^JZ!OHiQ+ng$*6ryv9BBwwc0OiL%iTRsb{P$iw8di;e(SPXbm2TUUSx~% zarM~LB)0G)msHi;6Mow%f^Zl=`rXuVuW@or z*nhl-Ca?-QuzfdRq4cN}GL zZ4eXwe2y9lJN!anB7(xsErH-km>HI4`iy13^@2^Yi&pt3YTS8vl$-7#qG#f2%Gdc~ z3TE-y<&^>TnRUqwA1T@Vp8n-;(na?zeRolAJaA>n(%$X3Xj;zbWP!f?t9m|+?e#t8 z0dvLDF$EYuwpyD2QeS%bTK4#O&yIXQI<)+O3qRh`x4Ki#3Qz>88&ygw0jcm@q^Suw zQv+aB^l{2~MS7nBf3z}|s$0xiQpVSV);W~tgX!AhDFoBvVqvhFokD#yZ({^E@UXwG zWQ|DNUVQ1oQ^n!U8B1z%CQ>k2Im~8E1bInSKqz~AEQZP+!J2oO zwO{Z0>@T7|-lVxrKBIpOt0fu6T}>-2L7x=rqGbk+IECis-b*@S6#x-Nc#!}#$xdKkrCe1$EQxgEcDd1T?so}kGe8dUD8^d2~s8Cey5!b*6yg6MoXiALH zrSPFxrl399vCzx=&3F;2r)crsjhBz$Rr9j;Rm4U9NPN@K*jneyX{MLC3ahHj>XvG} z=96=~#p_AgxmXy%pui&}ElC9JrD0{>>-76u7thZ~olL0EBr2|MxA@u~(|c1DE5;z| zFM)9utT(?GUdUt7v~?55N7Zu6%nyY&JsZy>WE+pWnJbH`QR4C}Q(HJ_qFY`TKn-Gi zglZ=jhGN6%u~y~hyti{x&U21#XM?7&&daX|&R2n4GG}!iUFAp}UCEyHy`0h&oq;-E zlyEvkEvCzNa-JSM*G{-qWF;Fe&ep#<-Y!t5eHhCQUvFd(-B>al(0K)jWQET5-}Jy* zV4-I-I2k8#rZ5-WC<*HD!j;Up+;br`v(c5+Mp^qHni=qSbPx+yKF>71>a%>*`ym8% z)yDGbVCj(2VeUY0t%`Q92Q=l#5mRRt1idC>w7988&preE2WlRs4M?{wV&fMHVaBry zBZLyLnl|D@0O5n2YyW$j#(^1>!it7BnXF6S$sskz3z?hkRv&;zZ$tvyTky&3DFT*@ z9_h&P9XcJh%GqiO5(ACpaV`f>b`KVr|_aa%7j3*;;H%P^x;u6{pD$@+sd^;aNuup99* zI06?_XGluiwH$AUc%pJ zd;=7g$9O>rt)u%sGJZ5g^RDoR%0D-7vY}-Iq=SIF=cHK`?j}FhBe|0m_3Jft*NP0N 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

  • (B{FUhwXCi#$BKZiC83E(jV{*-v3<$s@p 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 |Q{%R@x7O2>owtdv15fVcDGVJOoV??J zjt=BWO*^Tvjz;xJ>-B$+-)nb+d+2Eu+sDC@N12Ei=T^K1h4zJ-p)MdBvr7?nB8wv(!ncf zi+%KMrs$rEVvdAwD5mBjq6B3B)!_}fM=px51m-Z302)i~y%6EEV(x5)ic3^kDN>7OVF(xHDl|9!mU%4h<8+ril5F z4+UisL2&%(NqI1OVd{KHqd_$o)njDJ&CEK@Hbmds))2bE&%cH{#a@PpIvlO@n5O(4z;{M~*J)}0 zEg=<&;UkN4GJG4`gTUjC;{=roY5%a7(Dc|=hIz5DFA?8z!AlpH={8>l4JW)-ykxUl zXUAwKD^Uh9l%$_+V-5uTziZMl#Rq_@0iJdx;dA;S>E?*dYRnkSBn73fH~S=Yp9b$TYw)_%C!T zN$z@1ytj>AKN(=2Ns7*C$q0^$-1T3Me6S_u&&AHScs$YJp&;(|+;B5_pR-(TVk!zB zOS34-u?CA1}WvWqNHtTQ+Yz7YJEo^l{ff}4jZ#7W| zk5xwgA7v)?p&IrDo0-$p{>Cz6%s8XNm6ylH=QUTqZ_Bq@E`|kn5}c&H>1jch#F*ec zEN=PDo)tZsQg6?Goo?ccm{PYOW_JLSDaB6ud?a$q3A|giMzA9!w>vWTX%mofK{98n zM+d4x+m~0ywB#F@t0SR8%Qt7JUfq;hK3R&pFb?43*64!u8>j?IW)U;wRM^0{_b@ms zhj0#3{a(!MRk7Fk())Y20p}#Sxi!~3l_+iO<6p9m;8Ya~lhhdj&OMZX!%*L|7w!In zUgYNCyf14Qlyf(5LeS~VyIV4;0!cVU=w|m_{FUBA&r8Xr28WEdm_QK)7DJ{nbV8&%DJy(S zHTYl~X)^9~!{aNo!yu!91B6UbqN8$|vC7b^<)Il3?uk$NTIX$`Uwbja zR=;GgNw(50ZNS5X ze2VizKxUW+R(ZtSU1NqxBr@J?#>aOve!HYzxMSGn*=j#OVF1B*=JhY32FMr6-AemZ zsf7oYoBLBKijysLq-3|R9xJZrfLd# z#`{JXFZst*BZ()ZPQ}DDTU)q{7Y^+7MA!UX$5FRol7^6#=AxO%7cr{;9d12ILBzlV zP_3y7!!%Bq63m_<2{LQGIyJaz3`fbX`C<2*h!R%;g-+eT`{R%1amgMVRWB#>N3H z$}!p+2&ORE{Kh2LSDV*q)sSc!EiET_wD&}XFZgi9rev^!%l~lM%;Rk$R^$vczw!Gy zAc*~5B@E7j0KSnm_1z>>oR!yvr`X=Bz}4Ir>3{p@FXS z!OG0%N$B9>*={2Dz82dv~;@OM9- z20BLtibrX=c+xa4SLv0<k`PoD From f03ab5093fedf6eefa1e841d81467d768d297f7d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Mon, 17 Nov 2025 17:24:49 +0200 Subject: [PATCH 306/568] Update README screenshots and asset list Added references to new screenshots (Custom-Option.png, Download-Settings.png) and adjusted the order of listed files in the documentation assets section for clarity. --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1205ab9..1082bee 100644 --- a/README.md +++ b/README.md @@ -351,11 +351,13 @@ YTSage/ │ │ │ └── YTSage.ico # Windows icon │ │ ├── 📁 screenshots/ # Screenshots for documentation │ │ │ ├── audio_format.png -│ │ │ ├── main.png +│ │ │ ├── Custom-Option.png +│ │ │ ├── Download-Settings.png │ │ │ ├── playlist.png -│ │ │ └── subtitle_options.png +│ │ │ └── main.png │ │ └── 📁 svg/ # SVG assets │ │ └── ytsage-wordmark.svg +│ │ └── ytsage-wordmark.svg │ ├── 📁 Icon/ # Legacy icon directory │ │ └── icon.png │ └── 📁 sound/ # Audio files From dfc59a6aa03c10e2e96b45e45a593d04359df9e1 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 19 Nov 2025 21:25:16 +0200 Subject: [PATCH 307/568] Add instructions for collecting log files in bug report template Updated the bug report issue template to include step-by-step instructions for users to collect and attach log files from the appropriate directory on Windows, macOS, and Linux. This will help streamline the debugging process by ensuring relevant logs are provided. --- .github/ISSUE_TEMPLATE/🐛-bug-report.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/🐛-bug-report.md b/.github/ISSUE_TEMPLATE/🐛-bug-report.md index 73934b2..2710703 100644 --- a/.github/ISSUE_TEMPLATE/🐛-bug-report.md +++ b/.github/ISSUE_TEMPLATE/🐛-bug-report.md @@ -43,6 +43,17 @@ assignees: '' ## 📸 Screenshots/Logs From 35e2a7f4e9bfb82a7c9e37cb24cd9d39e9151981 Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Thu, 27 Nov 2025 17:30:25 +0200 Subject: [PATCH 308/568] Update package versions in requirements.txt Bumped versions for PySide6, pillow, markdown, and pyglet to ensure compatibility with the latest releases and security updates. --- requirements.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index e5e1ad5..e6aed9d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ -PySide6>=6.9.2 +PySide6>=6.10.1 requests>=2.32.5 -pillow>=11.3.0 +pillow>=12.0.0 packaging>=25.0 -markdown>=3.9 -pyglet>=2.1.8 +markdown>=3.10 +pyglet>=2.1.11 loguru>=0.7.3 setuptools>=80.9.0 \ No newline at end of file From 91a0f3e4d7fe345e8ff85cce43fb044c9d8c46ed Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 27 Nov 2025 17:41:39 +0200 Subject: [PATCH 309/568] Update CI workflows: actions versions and dependencies Bump actions/checkout to v6 and softprops/action-gh-release to v2 in all build workflows. Remove yt-dlp from pip install steps for Linux, macOS, and Windows workflows to streamline dependency installation. --- .github/workflows/build-linux.yml | 6 +++--- .github/workflows/build-macos.yml | 6 +++--- .github/workflows/build-windows.yml | 5 ++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index e1ce894..0311931 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -60,7 +60,7 @@ jobs: source venv/bin/activate python -m pip install --upgrade pip pip install --no-cache-dir -r requirements.txt - pip install --no-cache-dir cx_Freeze yt-dlp + pip install --no-cache-dir cx_Freeze - name: Prepare build variables shell: bash @@ -321,7 +321,7 @@ jobs: ls -lh artifacts || true - name: Create/Update draft release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: tag_name: ${{ github.ref_name }} name: YTSage ${{ github.ref_name }} diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index b38d789..c9ce26f 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -56,7 +56,7 @@ jobs: source venv/bin/activate python -m pip install --upgrade pip pip install --no-cache-dir -r requirements.txt - pip install --no-cache-dir cx_Freeze dmgbuild yt-dlp + pip install --no-cache-dir cx_Freeze dmgbuild - name: Prepare build variables shell: bash @@ -241,7 +241,7 @@ jobs: ls -lh artifacts || true - name: Create/Update draft release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: tag_name: ${{ github.ref_name }} name: YTSage ${{ github.ref_name }} diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 4fbef25..5eac67f 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -53,7 +53,6 @@ jobs: python -m pip install --upgrade pip pip install --no-cache-dir -r requirements.txt pip install --no-cache-dir cx_Freeze - pip install --no-cache-dir yt-dlp - name: Prepare build variables shell: powershell @@ -303,7 +302,7 @@ jobs: } - name: Create draft release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: tag_name: ${{ github.ref_name }} name: YTSage ${{ github.ref_name }} From c2a8cbd67905a206ff20f1762975d2d3f15d2372 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 27 Nov 2025 18:15:32 +0200 Subject: [PATCH 310/568] Update version to 4.9.5 in __init__.py Removed the beta suffix from the version string, indicating a stable release. --- src/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__init__.py b/src/__init__.py index 333d093..39771bf 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.9.5b" +__version__ = "4.9.5" __author__ = "oop7" From 0a66202f1d67fccc492d08bff313cc24237ae64b Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 27 Nov 2025 18:40:06 +0200 Subject: [PATCH 311/568] Update cx_Freeze base to 'gui' in Windows build Changed the cx_Freeze Executable base from 'Win32GUI' to 'gui' in the Windows build workflow to align with updated cx_Freeze conventions. --- .github/workflows/build-windows.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 5eac67f..35cf2ac 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -124,7 +124,7 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value " Executable(" Add-Content -Path "setup_cxfreeze.py" -Value ' script="main.py",' Add-Content -Path "setup_cxfreeze.py" -Value ' target_name=f"YTSage-v{version}.exe",' - Add-Content -Path "setup_cxfreeze.py" -Value ' base="Win32GUI",' + Add-Content -Path "setup_cxfreeze.py" -Value ' base="gui",' Add-Content -Path "setup_cxfreeze.py" -Value ' icon="assets/branding/icons/YTSage.ico",' Add-Content -Path "setup_cxfreeze.py" -Value " )" Add-Content -Path "setup_cxfreeze.py" -Value "]" From c99b9b76ac6e826c9a88562d7e4fa42f2398e78c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 27 Nov 2025 18:42:49 +0200 Subject: [PATCH 312/568] Update CI/CD README for v4.9.5 release Changed example version numbers in CI/CD documentation from v4.9.2 to v4.9.5 to reflect the latest release process. --- .github/CI_CD_README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 76aa7cc..343ee55 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -5,7 +5,7 @@ This repository uses GitHub Actions to automatically build and release YTSage fo ## How It Works ### Trigger -The workflow is triggered when you push a git tag that starts with `v` (e.g., `v4.9.2`, `v4.9.2`). +The workflow is triggered when you push a git tag that starts with `v` (e.g., `v4.9.5`, `v4.9.5`). ### Build Process 1. **Setup**: Uses Python 3.13.6 on all platforms @@ -21,13 +21,13 @@ The workflow is triggered when you push a git tag that starts with `v` (e.g., `v 2. **Commit your changes**: ```bash git add . - git commit -m "Release v4.9.2" + git commit -m "Release v4.9.5" ``` 3. **Create and push a tag**: ```bash - git tag v4.9.2 - git push origin v4.9.2 + git tag v4.9.5 + git push origin v4.9.5 ``` 4. **Watch the action**: Go to Actions tab in GitHub to monitor progress From 7a6aaa670493af36eb86d8a274b3e386d1b91531 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 28 Nov 2025 17:44:23 +0200 Subject: [PATCH 313/568] Bump version to 4.9.6b Updated the __version__ string in src/__init__.py to 4.9.6b for the next development release. --- src/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__init__.py b/src/__init__.py index 39771bf..ccdb1b0 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.9.5" +__version__ = "4.9.6b" __author__ = "oop7" From fc719a8cc82501abf95312cdff17ed93f166f70e Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 28 Nov 2025 18:00:56 +0200 Subject: [PATCH 314/568] Add thumbnail status messages and refactor thumbnail saving Added new localized status messages for thumbnail saving in all supported languages. Refactored the thumbnail saving logic in ytsage_gui_video_info.py to use cached images from analysis instead of extracting via yt-dlp subprocess, improving reliability and performance. --- languages/ar.json | 5 ++- languages/de.json | 5 ++- languages/en.json | 5 ++- languages/es.json | 5 ++- languages/fr.json | 5 ++- languages/hi.json | 5 ++- languages/id.json | 5 ++- languages/it.json | 5 ++- languages/ja.json | 5 ++- languages/pl.json | 5 ++- languages/pt.json | 5 ++- languages/ru.json | 5 ++- languages/tr.json | 5 ++- languages/zh.json | 5 ++- src/gui/ytsage_gui_video_info.py | 69 ++++++++++---------------------- 15 files changed, 77 insertions(+), 62 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index d581efe..7a465ec 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ ملف الفيديو موجود بالفعل", "audio_file_exists": "⚠️ ملف الصوت موجود بالفعل", "subtitle_file_exists": "⚠️ ملف الترجمات موجود بالفعل", - "cancelling": "جاري إلغاء التنزيل..." + "cancelling": "جاري إلغاء التنزيل...", + "thumbnail_saved": "✅ تم حفظ الصورة المصغرة: {filename}", + "thumbnail_error": "❌ خطأ في الصورة المصغرة: {error}", + "thumbnail_no_image": "لا توجد صورة مصغرة متاحة للحفظ" }, "errors": { "playlist_no_videos": "خطأ: قائمة التشغيل لا تحتوي على مقاطع فيديو صالحة.", diff --git a/languages/de.json b/languages/de.json index 4697419..846744f 100644 --- a/languages/de.json +++ b/languages/de.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ Video-Datei existiert bereits", "audio_file_exists": "⚠️ Audio-Datei existiert bereits", "subtitle_file_exists": "⚠️ Untertitel-Datei existiert bereits", - "cancelling": "Download wird abgebrochen..." + "cancelling": "Download wird abgebrochen...", + "thumbnail_saved": "✅ Miniaturbild gespeichert: {filename}", + "thumbnail_error": "❌ Miniaturbild-Fehler: {error}", + "thumbnail_no_image": "Kein Miniaturbild zum Speichern verfügbar" }, "errors": { "playlist_no_videos": "Fehler: Playlist enthält keine gültigen Videos.", diff --git a/languages/en.json b/languages/en.json index 293c177..54e7229 100644 --- a/languages/en.json +++ b/languages/en.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ Video file already exists", "audio_file_exists": "⚠️ Audio file already exists", "subtitle_file_exists": "⚠️ Subtitle file already exists", - "cancelling": "Cancelling download..." + "cancelling": "Cancelling download...", + "thumbnail_saved": "✅ Thumbnail saved: {filename}", + "thumbnail_error": "❌ Thumbnail error: {error}", + "thumbnail_no_image": "No thumbnail available to save" }, "errors": { "playlist_no_videos": "Error: Playlist contains no valid videos.", diff --git a/languages/es.json b/languages/es.json index 9d9620b..6cae9b4 100644 --- a/languages/es.json +++ b/languages/es.json @@ -372,7 +372,10 @@ "video_file_exists": "⚠️ El archivo de video ya existe", "audio_file_exists": "⚠️ El archivo de audio ya existe", "subtitle_file_exists": "⚠️ El archivo de subtítulos ya existe", - "cancelling": "Cancelando descarga..." + "cancelling": "Cancelando descarga...", + "thumbnail_saved": "✅ Miniatura guardada: {filename}", + "thumbnail_error": "❌ Error de miniatura: {error}", + "thumbnail_no_image": "No hay miniatura disponible para guardar" }, "errors": { "playlist_no_videos": "Error: La lista de reproducción no contiene videos válidos.", diff --git a/languages/fr.json b/languages/fr.json index 1fb8746..509dafe 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ Le fichier vidéo existe déjà", "audio_file_exists": "⚠️ Le fichier audio existe déjà", "subtitle_file_exists": "⚠️ Le fichier de sous-titres existe déjà", - "cancelling": "Annulation du téléchargement..." + "cancelling": "Annulation du téléchargement...", + "thumbnail_saved": "✅ Miniature enregistrée : {filename}", + "thumbnail_error": "❌ Erreur de miniature : {error}", + "thumbnail_no_image": "Aucune miniature disponible à enregistrer" }, "errors": { "playlist_no_videos": "Erreur : La playlist ne contient aucune vidéo valide.", diff --git a/languages/hi.json b/languages/hi.json index c6edf37..6ded3d4 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ वीडियो फ़ाइल पहले से मौजूद है", "audio_file_exists": "⚠️ ऑडियो फ़ाइल पहले से मौजूद है", "subtitle_file_exists": "⚠️ उपशीर्षक फ़ाइल पहले से मौजूद है", - "cancelling": "डाउनलोड रद्द हो रहा है..." + "cancelling": "डाउनलोड रद्द हो रहा है...", + "thumbnail_saved": "✅ थंबनेल सहेजा गया: {filename}", + "thumbnail_error": "❌ थंबनेल त्रुटि: {error}", + "thumbnail_no_image": "सहेजने के लिए कोई थंबनेल उपलब्ध नहीं" }, "errors": { "playlist_no_videos": "त्रुटि: प्लेलिस्ट में कोई वैध वीडियो नहीं है।", diff --git a/languages/id.json b/languages/id.json index 000150e..a695c6c 100644 --- a/languages/id.json +++ b/languages/id.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ File video sudah ada", "audio_file_exists": "⚠️ File audio sudah ada", "subtitle_file_exists": "⚠️ File subtitle sudah ada", - "cancelling": "Membatalkan unduhan..." + "cancelling": "Membatalkan unduhan...", + "thumbnail_saved": "✅ Thumbnail disimpan: {filename}", + "thumbnail_error": "❌ Kesalahan thumbnail: {error}", + "thumbnail_no_image": "Tidak ada thumbnail yang tersedia untuk disimpan" }, "errors": { "playlist_no_videos": "Kesalahan: Playlist tidak berisi video yang valid.", diff --git a/languages/it.json b/languages/it.json index ecea0de..a8ab159 100644 --- a/languages/it.json +++ b/languages/it.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ File video già esistente", "audio_file_exists": "⚠️ File audio già esistente", "subtitle_file_exists": "⚠️ File sottotitoli già esistente", - "cancelling": "Annullamento download..." + "cancelling": "Annullamento download...", + "thumbnail_saved": "✅ Miniatura salvata: {filename}", + "thumbnail_error": "❌ Errore miniatura: {error}", + "thumbnail_no_image": "Nessuna miniatura disponibile da salvare" }, "errors": { "playlist_no_videos": "Errore: La playlist non contiene video validi.", diff --git a/languages/ja.json b/languages/ja.json index f2ff69b..1780b67 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ 動画ファイルがすでに存在します", "audio_file_exists": "⚠️ 音声ファイルがすでに存在します", "subtitle_file_exists": "⚠️ 字幕ファイルがすでに存在します", - "cancelling": "ダウンロードをキャンセル中..." + "cancelling": "ダウンロードをキャンセル中...", + "thumbnail_saved": "✅ サムネイルを保存しました: {filename}", + "thumbnail_error": "❌ サムネイルエラー: {error}", + "thumbnail_no_image": "保存できるサムネイルがありません" }, "errors": { "playlist_no_videos": "エラー: 再生リストに有効な動画が含まれていません。", diff --git a/languages/pl.json b/languages/pl.json index 6924ef1..8f080b9 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ Plik wideo już istnieje", "audio_file_exists": "⚠️ Plik audio już istnieje", "subtitle_file_exists": "⚠️ Plik napisów już istnieje", - "cancelling": "Anulowanie pobierania..." + "cancelling": "Anulowanie pobierania...", + "thumbnail_saved": "✅ Miniatura zapisana: {filename}", + "thumbnail_error": "❌ Błąd miniatury: {error}", + "thumbnail_no_image": "Brak miniatury do zapisania" }, "errors": { "playlist_no_videos": "Błąd: Playlista nie zawiera prawidłowych wideo.", diff --git a/languages/pt.json b/languages/pt.json index efb92bc..8742058 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ Arquivo de vídeo já existe", "audio_file_exists": "⚠️ Arquivo de áudio já existe", "subtitle_file_exists": "⚠️ Arquivo de legendas já existe", - "cancelling": "Cancelando download..." + "cancelling": "Cancelando download...", + "thumbnail_saved": "✅ Miniatura salva: {filename}", + "thumbnail_error": "❌ Erro na miniatura: {error}", + "thumbnail_no_image": "Nenhuma miniatura disponível para salvar" }, "errors": { "playlist_no_videos": "Erro: A playlist não contém vídeos válidos.", diff --git a/languages/ru.json b/languages/ru.json index ae9a3fa..926cfa7 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ Видеофайл уже существует", "audio_file_exists": "⚠️ Аудиофайл уже существует", "subtitle_file_exists": "⚠️ Файл субтитров уже существует", - "cancelling": "Отмена загрузки..." + "cancelling": "Отмена загрузки...", + "thumbnail_saved": "✅ Миниатюра сохранена: {filename}", + "thumbnail_error": "❌ Ошибка миниатюры: {error}", + "thumbnail_no_image": "Нет доступной миниатюры для сохранения" }, "errors": { "playlist_no_videos": "Ошибка: Плейлист не содержит действительных видео.", diff --git a/languages/tr.json b/languages/tr.json index 8a43755..fba6dd9 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ Video dosyası zaten mevcut", "audio_file_exists": "⚠️ Ses dosyası zaten mevcut", "subtitle_file_exists": "⚠️ Altyazı dosyası zaten mevcut", - "cancelling": "İndirme iptal ediliyor..." + "cancelling": "İndirme iptal ediliyor...", + "thumbnail_saved": "✅ Küçük resim kaydedildi: {filename}", + "thumbnail_error": "❌ Küçük resim hatası: {error}", + "thumbnail_no_image": "Kaydedilecek küçük resim yok" }, "errors": { "playlist_no_videos": "Hata: Oynatma listesi geçerli video içermiyor.", diff --git a/languages/zh.json b/languages/zh.json index a05d380..746482c 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -389,7 +389,10 @@ "video_file_exists": "⚠️ 视频文件已存在", "audio_file_exists": "⚠️ 音频文件已存在", "subtitle_file_exists": "⚠️ 字幕文件已存在", - "cancelling": "正在取消下载..." + "cancelling": "正在取消下载...", + "thumbnail_saved": "✅ 缩略图已保存: {filename}", + "thumbnail_error": "❌ 缩略图错误: {error}", + "thumbnail_no_image": "没有可保存的缩略图" }, "errors": { "playlist_no_videos": "错误:播放列表不包含有效视频。", diff --git a/src/gui/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py index fceaf02..d9f4bba 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -389,74 +389,47 @@ class VideoInfoMixin: def download_thumbnail_file(self, video_url, path) -> bool: self = cast("YTSageApp", self) # for autocompletion and type inference. - - def download_thumbnail_file(self, video_url, path) -> bool: if not self.save_thumbnail: return False try: - # Note: yt_dlp Python package removed - this feature now uses subprocess - # Extract thumbnail info using yt-dlp CLI instead - from src.core.ytsage_yt_dlp import get_yt_dlp_path - from src.utils.ytsage_constants import SUBPROCESS_CREATIONFLAGS - import subprocess - import json - - logger.debug(f"Attempting to save thumbnail for URL: {video_url}") - - ytdlp_path = get_yt_dlp_path() - - # Use yt-dlp CLI to extract thumbnail info - result = subprocess.run( - [ytdlp_path, "--dump-json", "--skip-download", video_url], - capture_output=True, - text=True, - timeout=30, - creationflags=SUBPROCESS_CREATIONFLAGS, - ) - - if result.returncode != 0: - logger.error(f"Failed to extract video info: {result.stderr}") - return False - - info = json.loads(result.stdout) - thumbnails = info.get("thumbnails", []) - - if not thumbnails: - logger.info("No thumbnails available") + # Use cached thumbnail image from analysis if available + if self.thumbnail_image is None: + logger.info("No thumbnail image cached from analysis") + self.signals.update_status.emit(_("status.thumbnail_no_image")) return False - thumbnail_url = max( - thumbnails, - key=lambda t: (t.get("height", 0) or 0) * (t.get("width", 0) or 0), - ).get("url") + # Get video title from cached video_info + video_title = "thumbnail" + if self.video_info and "title" in self.video_info: + video_title = self.video_info["title"] + elif self.playlist_info and "title" in self.playlist_info: + video_title = self.playlist_info["title"] - if not thumbnail_url: - logger.info("Failed to extract thumbnail URL") - return False - - # Download using requests - response = requests.get(thumbnail_url) - response.raise_for_status() + logger.debug(f"Saving cached thumbnail for: {video_title}") # Save the thumbnail thumb_dir = Path(path).joinpath("Thumbnails") thumb_dir.mkdir(exist_ok=True) - filename = f"{self.sanitize_filename(info['title'])}.jpg" + filename = f"{self.sanitize_filename(video_title)}.jpg" thumbnail_path = thumb_dir.joinpath(filename) - with open(thumbnail_path, "wb") as f: - f.write(response.content) + # Save the cached PIL Image directly + # Convert to RGB if necessary (in case of RGBA or other modes) + if self.thumbnail_image.mode in ("RGBA", "P"): + rgb_image = self.thumbnail_image.convert("RGB") + rgb_image.save(thumbnail_path, "JPEG", quality=95) + else: + self.thumbnail_image.save(thumbnail_path, "JPEG", quality=95) logger.info(f"Thumbnail saved to: {thumbnail_path}") - self.signals.update_status.emit(f"✅ Thumbnail saved: {filename}") + self.signals.update_status.emit(_("status.thumbnail_saved", filename=filename)) return True except Exception as e: - error_msg = f"❌ Thumbnail error: {e}" logger.exception(f"Thumbnail Save Error: {e}") - self.signals.update_status.emit(error_msg) + self.signals.update_status.emit(_("status.thumbnail_error", error=str(e))) return False def sanitize_filename(self, name) -> str: From b58b1a68577c59875be9362bec47584bc8b232fa Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 28 Nov 2025 18:18:57 +0200 Subject: [PATCH 315/568] Persist cookie settings using ConfigManager Refactored cookie settings initialization and application to use ConfigManager for persistence. Cookie source, browser, profile, file path, and active status are now saved and loaded from config, ensuring consistent behavior across sessions. Cookies remain inactive on app launch until explicitly applied by the user. --- .../ytsage_dialogs_custom.py | 56 +++++++++++++------ src/gui/ytsage_gui_main.py | 14 ++++- src/utils/ytsage_config_manager.py | 4 ++ 3 files changed, 53 insertions(+), 21 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index fd33db2..e87a3eb 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -644,27 +644,33 @@ class CustomOptionsDialog(QDialog): self._initialize_proxy_settings() def _initialize_cookie_settings(self) -> None: - """Initialize the dialog with current cookie settings from parent""" - if hasattr(self._parent, "browser_cookies_option") and self._parent.browser_cookies_option: - # Browser cookies are active - self.cookie_browser_radio.setChecked(True) - browser_parts = self._parent.browser_cookies_option.split(":") - browser = browser_parts[0] - profile = browser_parts[1] if len(browser_parts) > 1 else "" - - # Set browser selection - index = self.browser_combo.findText(browser) - if index >= 0: - self.browser_combo.setCurrentIndex(index) - - # Set profile if any - self.profile_input.setText(profile) - elif hasattr(self._parent, "cookie_file_path") and self._parent.cookie_file_path: - # File cookies are active - ensure file radio is selected + """Initialize the dialog with current cookie settings from config""" + # Load saved cookie settings from ConfigManager + saved_source = ConfigManager.get("cookie_source") or "browser" + saved_browser = ConfigManager.get("cookie_browser") or "chrome" + saved_profile = ConfigManager.get("cookie_browser_profile") or "" + saved_file_path = ConfigManager.get("cookie_file_path") + + # Set the cookie source radio button + if saved_source == "file": self.cookie_file_radio.setChecked(True) else: - # No cookies configured - browser extraction is the recommended default self.cookie_browser_radio.setChecked(True) + + # Set browser selection + index = self.browser_combo.findText(saved_browser) + if index >= 0: + self.browser_combo.setCurrentIndex(index) + + # Set profile + self.profile_input.setText(saved_profile) + + # Set file path if saved + if saved_file_path: + self.cookie_path_input.setText(str(saved_file_path)) + + # Update visibility based on selection + self.on_cookie_source_changed() def _update_cookies_active_status(self) -> None: """Update the status indicator showing if cookies are currently active""" @@ -713,8 +719,18 @@ class CustomOptionsDialog(QDialog): self._parent.cookie_file_path = None self._parent.browser_cookies_option = None + # Save settings to ConfigManager for persistence + if self.cookie_file_radio.isChecked(): + ConfigManager.set("cookie_source", "file") + ConfigManager.set("cookie_file_path", str(cookie_path) if cookie_path else None) + else: + ConfigManager.set("cookie_source", "browser") + ConfigManager.set("cookie_browser", self.browser_combo.currentText()) + ConfigManager.set("cookie_browser_profile", self.profile_input.text().strip()) + if cookie_path: self._parent.cookie_file_path = cookie_path + ConfigManager.set("cookie_active", True) logger.info(f"Applied cookie file: {self._parent.cookie_file_path}") QMessageBox.information( self, @@ -723,6 +739,7 @@ class CustomOptionsDialog(QDialog): ) elif browser_cookies: self._parent.browser_cookies_option = browser_cookies + ConfigManager.set("cookie_active", True) logger.info(f"Applied browser cookies: {self._parent.browser_cookies_option}") QMessageBox.information( self, @@ -731,6 +748,9 @@ class CustomOptionsDialog(QDialog): ) else: # Clear cookies + ConfigManager.set("cookie_active", False) + ConfigManager.set("cookie_source", "browser") # Reset to default + ConfigManager.set("cookie_file_path", None) logger.info("Cookies cleared") QMessageBox.information( self, diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 13587fc..d869a74 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -112,9 +112,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.thumbnail_image = None self.video_url = "" self.selected_subtitles = [] # Initialize selected subtitles list - # Initialize cookie settings - ensure they start clean - self.cookie_file_path = None - self.browser_cookies_option = None + # Initialize cookie settings from saved config + self._initialize_cookie_settings_from_config() # Initialize proxy settings from config self.proxy_url = ConfigManager.get("proxy_url") self.geo_proxy_url = ConfigManager.get("geo_proxy_url") @@ -326,6 +325,15 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from except Exception as e: logger.exception(f"Error playing notification sound: {e}") + def _initialize_cookie_settings_from_config(self) -> None: + """Initialize cookie settings - cookies are NOT auto-activated on startup. + User must explicitly click Apply in the dialog each session.""" + # Cookies always start inactive on app launch + # User must click Apply in Custom Options dialog to activate them + self.cookie_file_path = None + self.browser_cookies_option = None + logger.debug("Cookie settings initialized - no cookies active (user must apply manually)") + def init_ui(self) -> None: self.setWindowTitle(f"{_('app.title')} {_('app.version', version=self.version)}") self.setMinimumSize(900, 750) diff --git a/src/utils/ytsage_config_manager.py b/src/utils/ytsage_config_manager.py index 163ab9e..0ff3182 100644 --- a/src/utils/ytsage_config_manager.py +++ b/src/utils/ytsage_config_manager.py @@ -73,7 +73,11 @@ class ConfigManager: "download_path": str(USER_HOME_DIR / "Downloads"), "speed_limit_value": None, "speed_limit_unit_index": 0, + "cookie_source": "browser", # "browser" or "file" + "cookie_browser": "chrome", + "cookie_browser_profile": "", "cookie_file_path": None, + "cookie_active": False, # True only if user explicitly applied cookies "last_used_cookie_file": None, "proxy_url": None, "geo_proxy_url": None, From 15451f7715f25c0aff2a475df8062c5d36dff133 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 29 Nov 2025 13:31:57 +0200 Subject: [PATCH 316/568] Switch update checks from GitHub API to PyPI Update logic in updater dialog and main app to fetch latest version info from PyPI instead of GitHub API, avoiding rate limiting issues. Changelog is now fetched from GitHub only as a fallback, improving reliability of update checks. --- .../ytsage_dialogs_updater.py | 8 ++--- src/gui/ytsage_gui_main.py | 30 ++++++++++++++----- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py index c86d1ba..82c61aa 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py @@ -629,13 +629,13 @@ class UpdaterTabWidget(QWidget): update_target = new_channel if new_channel == "stable" and current_channel == "nightly": - # Get the latest stable version tag - logger.info("Fetching latest stable version tag...") + # Get the latest stable version tag from PyPI (no rate limiting) + logger.info("Fetching latest stable version tag from PyPI...") try: import requests - response = requests.get("https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest", timeout=10) + response = requests.get("https://pypi.org/pypi/yt-dlp/json", timeout=10) response.raise_for_status() - latest_tag = response.json().get("tag_name", "") + latest_tag = response.json()["info"]["version"] if latest_tag: update_target = f"stable@{latest_tag}" logger.info(f"Latest stable version tag: {latest_tag}") diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index d869a74..c985f03 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -1087,20 +1087,36 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def check_for_updates(self) -> None: try: - # Get the latest release info from GitHub + # Get the latest version info from PyPI (no rate limiting unlike GitHub API) response = requests.get( - "https://api.github.com/repos/oop7/YTSage/releases/latest", - headers={"Accept": "application/vnd.github.v3+json"}, + "https://pypi.org/pypi/ytsage/json", + timeout=10, ) response.raise_for_status() - latest_release = response.json() - latest_version = latest_release["tag_name"].lstrip("v") + pypi_data = response.json() + latest_version = pypi_data["info"]["version"] # Compare versions if version.parse(latest_version) > version.parse(self.version): - changelog = latest_release.get("body", "No changelog available.") # Get changelog body - self.show_update_dialog(latest_version, latest_release["html_url"], changelog) # Pass changelog + release_url = "https://github.com/oop7/YTSage/releases/latest" + + # Try to fetch changelog from GitHub (with fallback if rate-limited) + changelog = "View the full changelog on the [GitHub Releases](https://github.com/oop7/YTSage/releases) page." + try: + gh_response = requests.get( + "https://api.github.com/repos/oop7/YTSage/releases/latest", + headers={"Accept": "application/vnd.github.v3+json"}, + timeout=5, + ) + if gh_response.status_code == 200: + gh_data = gh_response.json() + changelog = gh_data.get("body", changelog) + except Exception: + # Silently fallback to static message if GitHub API fails (rate limit, etc.) + pass + + self.show_update_dialog(latest_version, release_url, changelog) except Exception as e: logger.exception(f"Failed to check for updates: {e}") From b8804210dc719a6fff02225d5891dd340e015e49 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 29 Nov 2025 13:41:06 +0200 Subject: [PATCH 317/568] Remove ffplay.exe from Windows build workflow Updated the build-windows.yml workflow to exclude ffplay.exe from verification and distribution steps, as only ffmpeg.exe and ffprobe.exe are required by the application. --- .github/workflows/build-windows.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 35cf2ac..f2e1220 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -183,10 +183,9 @@ jobs: Write-Host "FFmpeg binaries found at: $ffmpegBinPath" echo "FFMPEG_PATH=$ffmpegBinPath" >> $env:GITHUB_ENV - # Verify files exist + # Verify files exist (only ffmpeg and ffprobe are needed) $ffmpegExe = Join-Path $ffmpegBinPath "ffmpeg.exe" $ffprobeExe = Join-Path $ffmpegBinPath "ffprobe.exe" - $ffplayExe = Join-Path $ffmpegBinPath "ffplay.exe" if (Test-Path $ffmpegExe) { Write-Host "[OK] ffmpeg.exe found" @@ -198,11 +197,6 @@ jobs: } else { Write-Host "[ERROR] ffprobe.exe missing" } - if (Test-Path $ffplayExe) { - Write-Host "[OK] ffplay.exe found" - } else { - Write-Host "[ERROR] ffplay.exe missing" - } } else { Write-Host "Error: Could not find FFmpeg directory after extraction" exit 1 @@ -232,13 +226,13 @@ jobs: } # Copy FFmpeg binaries into dist folder post-build (more reliable than CLI include) + # Note: ffplay.exe is excluded as it's not needed by the application if ($env:FFMPEG_PATH) { $destDir = "dist\YTSage-FFmpeg" $ffmpegExe = Join-Path $env:FFMPEG_PATH "ffmpeg.exe" $ffprobeExe = Join-Path $env:FFMPEG_PATH "ffprobe.exe" - $ffplayExe = Join-Path $env:FFMPEG_PATH "ffplay.exe" - foreach ($file in @($ffmpegExe, $ffprobeExe, $ffplayExe)) { + foreach ($file in @($ffmpegExe, $ffprobeExe)) { if (Test-Path $file) { $name = Split-Path $file -Leaf Copy-Item $file -Destination (Join-Path $destDir $name) -Force From 62298dabf3738cf777441ba5ea4203959bd8fc61 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 29 Nov 2025 13:47:10 +0200 Subject: [PATCH 318/568] Enable analyze button only when URL is entered Added logic to disable the analyze button until a non-empty URL is entered. Updated button styling for the disabled state and ensured consistent enabling/disabling of the analyze button based on input and control state. --- src/gui/ytsage_gui_main.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index c985f03..a4b9386 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -160,6 +160,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from QPushButton:pressed { background-color: #800000; } + QPushButton:disabled { + background-color: #3d3d3d; + color: #888888; + } QTableWidget { border: 2px solid #1b2021; border-radius: 4px; @@ -350,9 +354,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.url_input = QLineEdit() self.url_input.setPlaceholderText(_("main_ui.url_placeholder")) self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key + self.url_input.textChanged.connect(self._on_url_text_changed) # Enable/disable analyze button self.analyze_button = QPushButton(_("buttons.analyze")) self.analyze_button.clicked.connect(self.analyze_url) + self.analyze_button.setEnabled(False) # Disabled until URL is entered self.paste_button = QPushButton(_("buttons.paste_url")) self.paste_button.clicked.connect(self.paste_url) @@ -721,6 +727,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Disable analysis-dependent controls until video is analyzed self.toggle_analysis_dependent_controls(enabled=False) + def _on_url_text_changed(self, text: str) -> None: + """Enable or disable the Analyze button based on URL input content.""" + self.analyze_button.setEnabled(bool(text.strip())) + def analyze_url(self) -> None: url = self.url_input.text().strip() if not url: @@ -1557,7 +1567,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def toggle_download_controls(self, enabled=True) -> None: """Enable or disable download-related controls""" self.url_input.setEnabled(enabled) - self.analyze_button.setEnabled(enabled) + # Analyze button should only be enabled if there's text in the URL input + if enabled: + self.analyze_button.setEnabled(bool(self.url_input.text().strip())) + else: + self.analyze_button.setEnabled(False) self.format_table.setEnabled(enabled) # Changed from format_scroll_area to format_table self.download_btn.setEnabled(enabled) if hasattr(self, "subtitle_combo"): From 9d1f8863059d49d88438db1000f3f9fafda72b66 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 29 Nov 2025 13:58:16 +0200 Subject: [PATCH 319/568] Update subprocess to use encoding and error handling Replaces 'text' and 'universal_newlines' parameters with 'encoding="utf-8"' and 'errors="replace"' in subprocess.Popen for improved output handling. --- src/core/ytsage_downloader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index d2c4696..cadbd02 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -337,9 +337,9 @@ class DownloadThread(QThread): cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, - text=True, bufsize=1, # Line buffered - universal_newlines=True, + encoding="utf-8", + errors="replace", creationflags=SUBPROCESS_CREATIONFLAGS, ) From 478daf4771cd00da05d899d9096bc750223d4a42 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 29 Nov 2025 14:09:05 +0200 Subject: [PATCH 320/568] Improve process termination and file cleanup logic Enhanced cross-platform process tree termination for downloads, using process groups on Unix and taskkill on Windows. Improved file deletion reliability by increasing retries, adding garbage collection, and adjusting backoff logic. Refactored process startup to support process group management and ensured proper resource cleanup after cancellation. --- src/core/ytsage_downloader.py | 98 +++++++++++++++++++++++++++-------- 1 file changed, 76 insertions(+), 22 deletions(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index cadbd02..2faabed 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -1,7 +1,10 @@ +import gc import os import re import shlex # For safely parsing command arguments +import signal import subprocess # For direct CLI command execution +import sys import time from pathlib import Path from typing import Optional, List, Set @@ -110,19 +113,22 @@ class DownloadThread(QThread): # Don't emit error signal for cleanup issues to avoid crashing the thread logger.error(f"Error cleaning partial files: {e}") - def _safe_delete_with_retry(self, file_path: Path, max_retries: int = 3, delay: float = 1.0) -> None: - """Safely delete a file with retry mechanism for Windows file locking issues""" + def _safe_delete_with_retry(self, file_path: Path, max_retries: int = 5, delay: float = 2.0) -> None: + """Safely delete a file with retry mechanism for file locking issues across platforms""" for attempt in range(max_retries): try: + # Force garbage collection to release any Python-held file handles + gc.collect() + if file_path.exists(): file_path.unlink(missing_ok=True) logger.info(f"Successfully deleted {file_path.name}") return except PermissionError as e: - if "being used by another process" in str(e) and attempt < max_retries - 1: + if attempt < max_retries - 1: logger.warning(f"File {file_path.name} is locked, retrying in {delay} seconds... (attempt {attempt + 1}/{max_retries})") time.sleep(delay) - delay *= 1.5 # Exponential backoff + delay = min(delay * 1.5, 5.0) # Exponential backoff, capped at 5 seconds else: logger.error(f"Failed to delete {file_path.name} after {max_retries} attempts: {e}") return @@ -130,6 +136,51 @@ class DownloadThread(QThread): logger.error(f"Error deleting {file_path.name}: {e}") return + def _terminate_process_tree(self, process: subprocess.Popen) -> None: + """Terminate a process and all its children across platforms""" + pid = process.pid + + try: + if sys.platform == "win32": + # Windows: Use taskkill to kill the entire process tree + # /T = kill child processes, /F = force kill + subprocess.run( + ["taskkill", "/F", "/T", "/PID", str(pid)], + capture_output=True, + creationflags=SUBPROCESS_CREATIONFLAGS, + ) + logger.debug(f"Killed process tree on Windows (PID: {pid})") + else: + # Unix-like systems: Kill the process group + try: + # Try to kill the process group + os.killpg(os.getpgid(pid), signal.SIGTERM) + time.sleep(0.5) + # Force kill if still running + os.killpg(os.getpgid(pid), signal.SIGKILL) + except (ProcessLookupError, PermissionError): + # Process already terminated or no permission + pass + logger.debug(f"Killed process group on Unix (PID: {pid})") + except Exception as e: + logger.warning(f"Error killing process tree: {e}") + # Fallback to standard termination + try: + process.terminate() + process.wait(timeout=2) + except Exception: + try: + process.kill() + process.wait() + except Exception: + pass + + # Ensure process is waited on to avoid zombies + try: + process.wait(timeout=3) + except Exception: + pass + def cleanup_subtitle_files(self) -> None: """Delete subtitle files after they have been merged into the video file""" deleted_count: List[int] = [0, 0] @@ -332,31 +383,34 @@ class DownloadThread(QThread): # Start the process # Extra logic moved to src\utils\ytsage_constants.py + # Use start_new_session on Unix to enable process group termination - self.process = subprocess.Popen( - cmd, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - bufsize=1, # Line buffered - encoding="utf-8", - errors="replace", - creationflags=SUBPROCESS_CREATIONFLAGS, - ) + popen_kwargs = { + "stdout": subprocess.PIPE, + "stderr": subprocess.STDOUT, + "bufsize": 1, # Line buffered + "encoding": "utf-8", + "errors": "replace", + } + + if sys.platform == "win32": + popen_kwargs["creationflags"] = SUBPROCESS_CREATIONFLAGS + else: + # On Unix, start a new session so we can kill the entire process group + popen_kwargs["start_new_session"] = True + + self.process = subprocess.Popen(cmd, **popen_kwargs) # Process output line by line to update progress for line in iter(self.process.stdout.readline, ""): # type: ignore if self.cancelled: - self.process.terminate() - # Wait for process to actually terminate before cleaning up files - try: - self.process.wait(timeout=5) # Wait up to 5 seconds - except subprocess.TimeoutExpired: - logger.warning("Process didn't terminate gracefully, forcing kill") - self.process.kill() - self.process.wait() + # Kill the entire process tree (yt-dlp + ffmpeg children) + self._terminate_process_tree(self.process) # Add delay before cleanup to allow file handles to be released - time.sleep(1) + # Force garbage collection to help release resources + gc.collect() + time.sleep(2) self.cleanup_partial_files() self.status_signal.emit(_("download.cancelled")) return From bcbfd6f605f46402c13396d9b5cb0123de9533c5 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 29 Nov 2025 14:11:28 +0200 Subject: [PATCH 321/568] Remove yt-dlp mention from extracting info message Updated the 'analyzing_extracting_ytdlp' translation string in all language files to remove the explicit mention of 'yt-dlp', making the message more generic and consistent across supported languages. --- languages/ar.json | 2 +- languages/de.json | 2 +- languages/en.json | 2 +- languages/es.json | 2 +- languages/fr.json | 2 +- languages/hi.json | 2 +- languages/id.json | 2 +- languages/it.json | 2 +- languages/ja.json | 2 +- languages/pl.json | 2 +- languages/pt.json | 2 +- languages/ru.json | 2 +- languages/tr.json | 2 +- languages/zh.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index 7a465ec..2cfe1d6 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "التحليل (85%)... جاري معالجة الترجمات", "analyzing_updating_table": "التحليل (95%)... جاري تحديث جدول التنسيقات", "analysis_complete": "اكتمل التحليل!", - "analyzing_extracting_ytdlp": "التحليل (30%)... جاري استخراج المعلومات باستخدام yt-dlp", + "analyzing_extracting_ytdlp": "التحليل (30%)... جاري استخراج المعلومات", "analyzing_processing_data": "التحليل (60%)... جاري معالجة البيانات", "analyzing_processing_formats_ytdlp": "التحليل (75%)... جاري معالجة التنسيقات", "analyzing_loading_thumbnail_ytdlp": "التحليل (85%)... جاري تحميل الصورة المصغرة", diff --git a/languages/de.json b/languages/de.json index 846744f..c7188fa 100644 --- a/languages/de.json +++ b/languages/de.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Analysiere (85%)... Untertitel werden verarbeitet", "analyzing_updating_table": "Analysiere (95%)... Formattabelle wird aktualisiert", "analysis_complete": "Analyse abgeschlossen!", - "analyzing_extracting_ytdlp": "Analysiere (30%)... Informationen mit yt-dlp werden extrahiert", + "analyzing_extracting_ytdlp": "Analysiere (30%)... Informationen werden extrahiert", "analyzing_processing_data": "Analysiere (60%)... Daten werden verarbeitet", "analyzing_processing_formats_ytdlp": "Analysiere (75%)... Formate werden verarbeitet", "analyzing_loading_thumbnail_ytdlp": "Analysiere (85%)... Thumbnail wird geladen", diff --git a/languages/en.json b/languages/en.json index 54e7229..d8152fd 100644 --- a/languages/en.json +++ b/languages/en.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Analyzing (85%)... Processing subtitles", "analyzing_updating_table": "Analyzing (95%)... Updating format table", "analysis_complete": "Analysis complete!", - "analyzing_extracting_ytdlp": "Analyzing (30%)... Extracting info with yt-dlp", + "analyzing_extracting_ytdlp": "Analyzing (30%)... Extracting info", "analyzing_processing_data": "Analyzing (60%)... Processing data", "analyzing_processing_formats_ytdlp": "Analyzing (75%)... Processing formats", "analyzing_loading_thumbnail_ytdlp": "Analyzing (85%)... Loading thumbnail", diff --git a/languages/es.json b/languages/es.json index 6cae9b4..de58ae5 100644 --- a/languages/es.json +++ b/languages/es.json @@ -316,7 +316,7 @@ "analyzing_processing_subtitles": "Analizando (85%)... Procesando subtítulos", "analyzing_updating_table": "Analizando (95%)... Actualizando tabla de formatos", "analysis_complete": "¡Análisis completo!", - "analyzing_extracting_ytdlp": "Analizando (30%)... Extrayendo información con yt-dlp", + "analyzing_extracting_ytdlp": "Analizando (30%)... Extrayendo información", "analyzing_processing_data": "Analizando (60%)... Procesando datos", "analyzing_processing_formats_ytdlp": "Analizando (75%)... Procesando formatos", "analyzing_loading_thumbnail_ytdlp": "Analizando (85%)... Cargando miniatura", diff --git a/languages/fr.json b/languages/fr.json index 509dafe..f03a84b 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Analyse (85%)... Traitement des sous-titres", "analyzing_updating_table": "Analyse (95%)... Mise à jour du tableau des formats", "analysis_complete": "Analyse terminée !", - "analyzing_extracting_ytdlp": "Analyse (30%)... Extraction d'informations avec yt-dlp", + "analyzing_extracting_ytdlp": "Analyse (30%)... Extraction d'informations", "analyzing_processing_data": "Analyse (60%)... Traitement des données", "analyzing_processing_formats_ytdlp": "Analyse (75%)... Traitement des formats", "analyzing_loading_thumbnail_ytdlp": "Analyse (85%)... Chargement de la miniature", diff --git a/languages/hi.json b/languages/hi.json index 6ded3d4..15ba957 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "विश्लेषण (85%)... उपशीर्षक प्रोसेस हो रहे हैं", "analyzing_updating_table": "विश्लेषण (95%)... प्रारूप तालिका अपडेट हो रही है", "analysis_complete": "विश्लेषण पूर्ण!", - "analyzing_extracting_ytdlp": "विश्लेषण (30%)... yt-dlp के साथ जानकारी निकाली जा रही है", + "analyzing_extracting_ytdlp": "विश्लेषण (30%)... जानकारी निकाली जा रही है", "analyzing_processing_data": "विश्लेषण (60%)... डेटा प्रोसेस हो रहा है", "analyzing_processing_formats_ytdlp": "विश्लेषण (75%)... प्रारूप प्रोसेस हो रहे हैं", "analyzing_loading_thumbnail_ytdlp": "विश्लेषण (85%)... थंबनेल लोड हो रहा है", diff --git a/languages/id.json b/languages/id.json index a695c6c..7c754d8 100644 --- a/languages/id.json +++ b/languages/id.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Menganalisis (85%)... Memproses subtitle", "analyzing_updating_table": "Menganalisis (95%)... Memperbarui tabel format", "analysis_complete": "Analisis selesai!", - "analyzing_extracting_ytdlp": "Menganalisis (30%)... Mengekstrak informasi dengan yt-dlp", + "analyzing_extracting_ytdlp": "Menganalisis (30%)... Mengekstrak informasi", "analyzing_processing_data": "Menganalisis (60%)... Memproses data", "analyzing_processing_formats_ytdlp": "Menganalisis (75%)... Memproses format", "analyzing_loading_thumbnail_ytdlp": "Menganalisis (85%)... Memuat thumbnail", diff --git a/languages/it.json b/languages/it.json index a8ab159..0548133 100644 --- a/languages/it.json +++ b/languages/it.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Analisi (85%)... Elaborazione sottotitoli", "analyzing_updating_table": "Analisi (95%)... Aggiornamento tabella formati", "analysis_complete": "Analisi completata!", - "analyzing_extracting_ytdlp": "Analisi (30%)... Estrazione informazioni usando yt-dlp", + "analyzing_extracting_ytdlp": "Analisi (30%)... Estrazione informazioni", "analyzing_processing_data": "Analisi (60%)... Elaborazione dati", "analyzing_processing_formats_ytdlp": "Analisi (75%)... Elaborazione formati", "analyzing_loading_thumbnail_ytdlp": "Analisi (85%)... Caricamento miniatura", diff --git a/languages/ja.json b/languages/ja.json index 1780b67..1cfbaf5 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "解析中 (85%)... 字幕を処理中", "analyzing_updating_table": "解析中 (95%)... フォーマットテーブルを更新中", "analysis_complete": "解析完了!", - "analyzing_extracting_ytdlp": "解析中 (30%)... yt-dlpを使用して情報を抽出中", + "analyzing_extracting_ytdlp": "解析中 (30%)... 情報を抽出中", "analyzing_processing_data": "解析中 (60%)... データを処理中", "analyzing_processing_formats_ytdlp": "解析中 (75%)... フォーマットを処理中", "analyzing_loading_thumbnail_ytdlp": "解析中 (85%)... サムネイルを読み込み中", diff --git a/languages/pl.json b/languages/pl.json index 8f080b9..17ebbee 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Analizowanie (85%)... Przetwarzanie napisów", "analyzing_updating_table": "Analizowanie (95%)... Aktualizowanie tabeli formatów", "analysis_complete": "Analiza zakończona!", - "analyzing_extracting_ytdlp": "Analizowanie (30%)... Wyodrębnianie informacji za pomocą yt-dlp", + "analyzing_extracting_ytdlp": "Analizowanie (30%)... Wyodrębnianie informacji", "analyzing_processing_data": "Analizowanie (60%)... Przetwarzanie danych", "analyzing_processing_formats_ytdlp": "Analizowanie (75%)... Przetwarzanie formatów", "analyzing_loading_thumbnail_ytdlp": "Analizowanie (85%)... Ładowanie miniatury", diff --git a/languages/pt.json b/languages/pt.json index 8742058..72b623d 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Analisando (85%)... Processando legendas", "analyzing_updating_table": "Analisando (95%)... Atualizando tabela de formatos", "analysis_complete": "Análise completa!", - "analyzing_extracting_ytdlp": "Analisando (30%)... Extraindo informações com yt-dlp", + "analyzing_extracting_ytdlp": "Analisando (30%)... Extraindo informações", "analyzing_processing_data": "Analisando (60%)... Processando dados", "analyzing_processing_formats_ytdlp": "Analisando (75%)... Processando formatos", "analyzing_loading_thumbnail_ytdlp": "Analisando (85%)... Carregando miniatura", diff --git a/languages/ru.json b/languages/ru.json index 926cfa7..8a85ce3 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Анализ (85%)... Обработка субтитров", "analyzing_updating_table": "Анализ (95%)... Обновление таблицы форматов", "analysis_complete": "Анализ завершен!", - "analyzing_extracting_ytdlp": "Анализ (30%)... Извлечение информации с yt-dlp", + "analyzing_extracting_ytdlp": "Анализ (30%)... Извлечение информации", "analyzing_processing_data": "Анализ (60%)... Обработка данных", "analyzing_processing_formats_ytdlp": "Анализ (75%)... Обработка форматов", "analyzing_loading_thumbnail_ytdlp": "Анализ (85%)... Загрузка миниатюры", diff --git a/languages/tr.json b/languages/tr.json index fba6dd9..b4d4e55 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "Analiz ediliyor (85%)... Altyazılar işleniyor", "analyzing_updating_table": "Analiz ediliyor (95%)... Format tablosu güncelleniyor", "analysis_complete": "Analiz tamamlandı!", - "analyzing_extracting_ytdlp": "Analiz ediliyor (30%)... yt-dlp ile bilgiler çıkarılıyor", + "analyzing_extracting_ytdlp": "Analiz ediliyor (30%)... Bilgiler çıkarılıyor", "analyzing_processing_data": "Analiz ediliyor (60%)... Veriler işleniyor", "analyzing_processing_formats_ytdlp": "Analiz ediliyor (75%)... Formatlar işleniyor", "analyzing_loading_thumbnail_ytdlp": "Analiz ediliyor (85%)... Küçük resim yükleniyor", diff --git a/languages/zh.json b/languages/zh.json index 746482c..942c3ea 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -333,7 +333,7 @@ "analyzing_processing_subtitles": "分析中 (85%)... 正在处理字幕", "analyzing_updating_table": "分析中 (95%)... 正在更新格式表", "analysis_complete": "分析完成!", - "analyzing_extracting_ytdlp": "分析中 (30%)... 使用 yt-dlp 提取信息", + "analyzing_extracting_ytdlp": "分析中 (30%)... 提取信息", "analyzing_processing_data": "分析中 (60%)... 正在处理数据", "analyzing_processing_formats_ytdlp": "分析中 (75%)... 正在处理格式", "analyzing_loading_thumbnail_ytdlp": "分析中 (85%)... 正在加载缩略图", From 83d37676ae1eb7ea4e7e629481b9760b179a6818 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 29 Nov 2025 14:44:39 +0200 Subject: [PATCH 322/568] Suppress output when killing process tree on Windows Replaces capture_output with stdout and stderr redirected to DEVNULL in subprocess.run for taskkill, preventing codec issues and suppressing command output. --- src/core/ytsage_downloader.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index 2faabed..12f1ed2 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -144,9 +144,11 @@ class DownloadThread(QThread): if sys.platform == "win32": # Windows: Use taskkill to kill the entire process tree # /T = kill child processes, /F = force kill + # Use subprocess.run with no encoding to avoid codec issues subprocess.run( ["taskkill", "/F", "/T", "/PID", str(pid)], - capture_output=True, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, creationflags=SUBPROCESS_CREATIONFLAGS, ) logger.debug(f"Killed process tree on Windows (PID: {pid})") From e8482ce1805ca5f338bee33963ec840b449f65fa Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 6 Dec 2025 21:40:40 +0200 Subject: [PATCH 323/568] Add icons to video info labels in translations Updated the 'views', 'likes', 'upload_date', and 'duration' fields in the video_info section across all language files to include relevant icons for improved visual clarity and consistency in the UI. --- languages/ar.json | 8 ++++---- languages/de.json | 8 ++++---- languages/en.json | 8 ++++---- languages/es.json | 8 ++++---- languages/fr.json | 8 ++++---- languages/hi.json | 8 ++++---- languages/id.json | 8 ++++---- languages/it.json | 8 ++++---- languages/ja.json | 8 ++++---- languages/pl.json | 8 ++++---- languages/pt.json | 8 ++++---- languages/ru.json | 8 ++++---- languages/tr.json | 8 ++++---- languages/zh.json | 8 ++++---- 14 files changed, 56 insertions(+), 56 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index 2cfe1d6..5cb2339 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "القناة", - "views": "المشاهدات", - "likes": "الإعجابات", - "upload_date": "تاريخ الرفع", - "duration": "المدة", + "views": "👁 المشاهدات", + "likes": "👍 الإعجابات", + "upload_date": "📅 تاريخ الرفع", + "duration": "⏱ المدة", "unknown_channel": "قناة غير معروفة", "unknown_date": "تاريخ غير معروف", "unknown_title": "عنوان غير معروف" diff --git a/languages/de.json b/languages/de.json index c7188fa..9896c61 100644 --- a/languages/de.json +++ b/languages/de.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Kanal", - "views": "Aufrufe", - "likes": "Gefällt mir", - "upload_date": "Upload-Datum", - "duration": "Dauer", + "views": "👁 Aufrufe", + "likes": "👍 Gefällt mir", + "upload_date": "📅 Upload-Datum", + "duration": "⏱ Dauer", "unknown_channel": "Unbekannter Kanal", "unknown_date": "Unbekanntes Datum", "unknown_title": "Unbekannter Titel" diff --git a/languages/en.json b/languages/en.json index d8152fd..2a2faa3 100644 --- a/languages/en.json +++ b/languages/en.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Channel", - "views": "Views", - "likes": "Likes", - "upload_date": "Upload date", - "duration": "Duration", + "views": "👁 Views", + "likes": "👍 Likes", + "upload_date": "📅 Upload date", + "duration": "⏱ Duration", "unknown_channel": "Unknown channel", "unknown_date": "Unknown date", "unknown_title": "Unknown title" diff --git a/languages/es.json b/languages/es.json index de58ae5..71b8cb2 100644 --- a/languages/es.json +++ b/languages/es.json @@ -349,10 +349,10 @@ }, "video_info": { "channel": "Canal", - "views": "Visualizaciones", - "likes": "Me gusta", - "upload_date": "Fecha de subida", - "duration": "Duración", + "views": "👁 Visualizaciones", + "likes": "👍 Me gusta", + "upload_date": "📅 Fecha de subida", + "duration": "⏱ Duración", "unknown_channel": "Canal desconocido", "unknown_date": "Fecha desconocida", "unknown_title": "Título desconocido" diff --git a/languages/fr.json b/languages/fr.json index f03a84b..9d1b6d1 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Chaîne", - "views": "Vues", - "likes": "J'aime", - "upload_date": "Date de mise en ligne", - "duration": "Durée", + "views": "👁 Vues", + "likes": "👍 J'aime", + "upload_date": "📅 Date de mise en ligne", + "duration": "⏱ Durée", "unknown_channel": "Chaîne inconnue", "unknown_date": "Date inconnue", "unknown_title": "Titre inconnu" diff --git a/languages/hi.json b/languages/hi.json index 15ba957..4130d6b 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "चैनल", - "views": "दृश्य", - "likes": "पसंद", - "upload_date": "अपलोड दिनांक", - "duration": "अवधि", + "views": "👁 दृश्य", + "likes": "👍 पसंद", + "upload_date": "📅 अपलोड दिनांक", + "duration": "⏱ अवधि", "unknown_channel": "अज्ञात चैनल", "unknown_date": "अज्ञात दिनांक", "unknown_title": "अज्ञात शीर्षक" diff --git a/languages/id.json b/languages/id.json index 7c754d8..c14af2f 100644 --- a/languages/id.json +++ b/languages/id.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Saluran", - "views": "Tayangan", - "likes": "Suka", - "upload_date": "Tanggal upload", - "duration": "Durasi", + "views": "👁 Tayangan", + "likes": "👍 Suka", + "upload_date": "📅 Tanggal upload", + "duration": "⏱ Durasi", "unknown_channel": "Saluran tidak diketahui", "unknown_date": "Tanggal tidak diketahui", "unknown_title": "Judul tidak diketahui" diff --git a/languages/it.json b/languages/it.json index 0548133..bb3653c 100644 --- a/languages/it.json +++ b/languages/it.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Canale", - "views": "Visualizzazioni", - "likes": "Mi piace", - "upload_date": "Data caricamento", - "duration": "Durata", + "views": "👁 Visualizzazioni", + "likes": "👍 Mi piace", + "upload_date": "📅 Data di caricamento", + "duration": "⏱ Durata", "unknown_channel": "Canale sconosciuto", "unknown_date": "Data sconosciuta", "unknown_title": "Titolo sconosciuto" diff --git a/languages/ja.json b/languages/ja.json index 1cfbaf5..ba73304 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "チャンネル", - "views": "視聴回数", - "likes": "いいね", - "upload_date": "アップロード日", - "duration": "長さ", + "views": "👁 視聴回数", + "likes": "👍 いいね", + "upload_date": "📅 アップロード日", + "duration": "⏱ 長さ", "unknown_channel": "不明なチャンネル", "unknown_date": "不明な日付", "unknown_title": "不明なタイトル" diff --git a/languages/pl.json b/languages/pl.json index 17ebbee..cefc9ed 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Kanał", - "views": "Wyświetlenia", - "likes": "Polubienia", - "upload_date": "Data przesłania", - "duration": "Czas trwania", + "views": "👁 Wyświetlenia", + "likes": "👍 Polubienia", + "upload_date": "📅 Data przesłania", + "duration": "⏱ Czas trwania", "unknown_channel": "Nieznany kanał", "unknown_date": "Nieznana data", "unknown_title": "Nieznany tytuł" diff --git a/languages/pt.json b/languages/pt.json index 72b623d..b50ed6a 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Canal", - "views": "Visualizações", - "likes": "Curtidas", - "upload_date": "Data de upload", - "duration": "Duração", + "views": "👁 Visualizações", + "likes": "👍 Curtidas", + "upload_date": "📅 Data de envio", + "duration": "⏱ Duração", "unknown_channel": "Canal desconhecido", "unknown_date": "Data desconhecida", "unknown_title": "Título desconhecido" diff --git a/languages/ru.json b/languages/ru.json index 8a85ce3..d3a6c83 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Канал", - "views": "Просмотры", - "likes": "Лайки", - "upload_date": "Дата загрузки", - "duration": "Продолжительность", + "views": "👁 Просмотры", + "likes": "👍 Лайки", + "upload_date": "📅 Дата загрузки", + "duration": "⏱ Продолжительность", "unknown_channel": "Неизвестный канал", "unknown_date": "Неизвестная дата", "unknown_title": "Неизвестный заголовок" diff --git a/languages/tr.json b/languages/tr.json index b4d4e55..ce792a9 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "Kanal", - "views": "Görüntülenme", - "likes": "Beğeni", - "upload_date": "Yükleme tarihi", - "duration": "Süre", + "views": "👁 Görüntülenme", + "likes": "👍 Beğeni", + "upload_date": "📅 Yüklenme tarihi", + "duration": "⏱ Süre", "unknown_channel": "Bilinmeyen kanal", "unknown_date": "Bilinmeyen tarih", "unknown_title": "Bilinmeyen başlık" diff --git a/languages/zh.json b/languages/zh.json index 942c3ea..9fc141b 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -366,10 +366,10 @@ }, "video_info": { "channel": "频道", - "views": "观看次数", - "likes": "点赞数", - "upload_date": "上传日期", - "duration": "时长", + "views": "👁 观看次数", + "likes": "👍 点赞数", + "upload_date": "📅 上传日期", + "duration": "⏱ 时长", "unknown_channel": "未知频道", "unknown_date": "未知日期", "unknown_title": "未知标题" From 835ae45121ee42404fef031dcea2de64030592c0 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 6 Dec 2025 21:40:49 +0200 Subject: [PATCH 324/568] Disable editing in format table Set the format table's edit triggers to NoEditTriggers to prevent cell editing and avoid selection box on double-click. --- src/gui/ytsage_gui_format_table.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/ytsage_gui_format_table.py b/src/gui/ytsage_gui_format_table.py index 3e4a38e..48c2c6a 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/src/gui/ytsage_gui_format_table.py @@ -103,6 +103,9 @@ class FormatTableMixin: # Set selection mode to no selection (since we're using checkboxes) self.format_table.setSelectionMode(QTableWidget.SelectionMode.NoSelection) + + # Disable editing to prevent the selection box on double-click + self.format_table.setEditTriggers(QTableWidget.EditTrigger.NoEditTriggers) self.format_table.setStyleSheet( """ From bfd30513f690355a73d4d5ee52002b9bb944d2fd Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 6 Dec 2025 21:40:59 +0200 Subject: [PATCH 325/568] Refine input and button styles in main and video info UI Improved the appearance and spacing of the URL input, paste, and analyze buttons in the main GUI, including updated padding, border, and color styles. Adjusted font sizes and colors for video info labels for a more consistent and polished look. --- src/gui/ytsage_gui_main.py | 64 +++++++++++++++++++++++++++++--- src/gui/ytsage_gui_video_info.py | 8 ++-- 2 files changed, 62 insertions(+), 10 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index a4b9386..2eedf84 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -140,11 +140,15 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from color: #ffffff; } QLineEdit { - padding: 8px; - border: 2px solid #1b2021; - border-radius: 4px; + padding: 12px 15px; + border: 2px solid #2a2d2e; + border-radius: 6px; background-color: #1b2021; color: #ffffff; + font-size: 13px; + } + QLineEdit:focus { + border-color: #ff6b6b; } QPushButton { padding: 8px 15px; @@ -351,17 +355,65 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # URL input section url_layout = QHBoxLayout() + url_layout.setSpacing(10) + self.url_input = QLineEdit() self.url_input.setPlaceholderText(_("main_ui.url_placeholder")) self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key self.url_input.textChanged.connect(self._on_url_text_changed) # Enable/disable analyze button + self.url_input.setMinimumHeight(42) + # Paste URL button + self.paste_button = QPushButton(_("buttons.paste_url")) + self.paste_button.clicked.connect(self.paste_url) + self.paste_button.setMinimumHeight(42) + self.paste_button.setMinimumWidth(115) + self.paste_button.setStyleSheet(""" + QPushButton { + padding: 9px 20px; + background-color: #1b2021; + border: 2px solid #2a2d2e; + border-radius: 5px; + color: #ffffff; + font-weight: 600; + font-size: 13px; + } + QPushButton:hover { + background-color: #252829; + border-color: #3a3d3e; + } + QPushButton:pressed { + background-color: #1a1d1e; + } + """) + + # Analyze button with app's red theme self.analyze_button = QPushButton(_("buttons.analyze")) self.analyze_button.clicked.connect(self.analyze_url) self.analyze_button.setEnabled(False) # Disabled until URL is entered - - self.paste_button = QPushButton(_("buttons.paste_url")) - self.paste_button.clicked.connect(self.paste_url) + self.analyze_button.setMinimumHeight(42) + self.analyze_button.setMinimumWidth(115) + self.analyze_button.setStyleSheet(""" + QPushButton { + padding: 9px 20px; + background-color: #c90000; + border: none; + border-radius: 5px; + color: white; + font-weight: 600; + font-size: 13px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QPushButton:disabled { + background-color: #3d3d3d; + color: #888888; + } + """) url_layout.addWidget(self.url_input, 1) url_layout.addWidget(self.paste_button) diff --git a/src/gui/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py index d9f4bba..06b282f 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -53,7 +53,7 @@ class VideoInfoMixin: # Title and info labels self.title_label = QLabel() self.title_label.setWordWrap(True) - self.title_label.setStyleSheet("font-size: 14px; font-weight: bold;") + self.title_label.setStyleSheet("font-size: 12px; font-weight: bold;") # Add basic info labels self.channel_label = QLabel() @@ -73,9 +73,9 @@ class VideoInfoMixin: label.setStyleSheet( """ QLabel { - color: #cccccc; - font-size: 12px; - padding: 1px 0; + color: #999999; + font-size: 11px; + padding: 0px; } """ ) From 1d958175f2d978df55998d9c5c1cefb6fe75cbe4 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 9 Dec 2025 18:19:59 +0200 Subject: [PATCH 326/568] Improve RPM build process and Qt6 plugin handling Refactors the cx_Freeze setup to dynamically include Qt6 plugins if available, ensuring proper QPA support. Replaces the previous RPM build step with a manual process using a custom spec file to bundle all dependencies and avoid auto-detected system requirements. Cleans up packaging metadata and improves file inclusion logic for more reliable Linux builds. --- .github/workflows/build-linux.yml | 128 +++++++++++++++++++++++++----- 1 file changed, 110 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 0311931..679b26d 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -76,10 +76,35 @@ jobs: run: | cat > setup_cxfreeze.py <<'PY' import os + import sys + from pathlib import Path from cx_Freeze import setup, Executable version = os.environ.get("VERSION", "0.0.0") + # Find Qt6 plugins path + qt_plugins_path = None + try: + from PySide6 import QtCore + qt_plugins_path = Path(QtCore.__file__).parent / "Qt" / "plugins" + except Exception: + pass + + # Prepare include_files list + include_files_list = [ + ("src", "src"), + ("assets/branding/icons", "lib/assets/branding/icons"), + ("assets/Icon", "lib/assets/Icon"), + ("assets/sound", "lib/assets/sound"), + ("languages", "lib/languages"), + ("ytsage.desktop", "share/applications/ytsage.desktop"), + ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), + ] + + # Include Qt6 plugins if found (required for QPA) + if qt_plugins_path and qt_plugins_path.exists(): + include_files_list.append((str(qt_plugins_path), "lib/PySide6/Qt/plugins")) + build_exe_options = dict( optimize=2, packages=[ @@ -120,15 +145,12 @@ jobs: "test", "tests", ], - include_files=[ - ("src", "src"), - ("assets/branding/icons", "lib/assets/branding/icons"), - ("assets/Icon", "lib/assets/Icon"), - ("assets/sound", "lib/assets/sound"), - ("languages", "lib/languages"), - ("ytsage.desktop", "share/applications/ytsage.desktop"), - ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), - ], + include_files=include_files_list, + # Bundle all dependencies - avoid system library references + bin_includes=[], + bin_excludes=[], + # Important: include system libs to avoid external dependencies + replace_paths=[("*", "")], ) executables = [ @@ -150,13 +172,6 @@ jobs: # If ends with .AppImage, use verbatim file name "target_name": f"ytsage-v{version}.AppImage", }, - # RPM packaging metadata - "bdist_rpm": { - "release": "1", - "group": "Applications/Multimedia", - }, - # DEB packaging wraps alien to convert RPM - "bdist_deb": {}, }, executables=executables, ) @@ -196,8 +211,85 @@ jobs: # Build AppImage python setup_cxfreeze.py bdist_appimage - # Build RPM - python setup_cxfreeze.py bdist_rpm + # Build RPM manually with proper spec file + version="${{ steps.get_version.outputs.VERSION }}" + arch_uname="${ARCH}" + + # Create custom RPM spec file that doesn't auto-detect dependencies + mkdir -p build/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS} + + cat > build/rpm/SPECS/ytsage.spec < %{buildroot}/usr/bin/ytsage <<'WRAPPER' + #!/usr/bin/env bash + set -euo pipefail + APPDIR="/opt/ytsage" + cd "\$APPDIR" + exec "\$APPDIR/ytsage" "\$@" + WRAPPER + chmod 0755 %{buildroot}/usr/bin/ytsage + + # Install desktop file and icon + install -m 0644 ytsage.desktop %{buildroot}/usr/share/applications/ytsage.desktop + install -m 0644 assets/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png + + %files + /opt/ytsage + /usr/bin/ytsage + /usr/share/applications/ytsage.desktop + /usr/share/pixmaps/ytsage.png + + %post + if command -v update-desktop-database >/dev/null 2>&1; then + update-desktop-database -q /usr/share/applications || true + fi + + %postun + if command -v update-desktop-database >/dev/null 2>&1; then + update-desktop-database -q /usr/share/applications || true + fi + + %changelog + * $(date +'%a %b %d %Y') YTSage Maintainers - ${version//-/.}-1 + - Release ${version} + SPEC + + # Build the RPM + rpmbuild -bb build/rpm/SPECS/ytsage.spec \ + --define "_topdir $(pwd)/build/rpm" \ + --buildroot "$(pwd)/build/rpm/BUILDROOT" + + # Copy RPM to dist + mkdir -p dist + find build/rpm/RPMS -name "*.rpm" -exec cp {} dist/ \; echo "Post-build directory listing:" echo "-- dist --"; ls -lah dist || true From 9350982f8c574398b51012225a18bb0e3ed79ead Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 9 Dec 2025 18:28:15 +0200 Subject: [PATCH 327/568] Fix RPM build paths in Linux workflow Updates the build-linux.yml workflow to use absolute paths for build directory and asset installation during RPM packaging. This ensures files are correctly located and copied, improving reliability of the build process. --- .github/workflows/build-linux.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 679b26d..03f29af 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -214,6 +214,7 @@ jobs: # Build RPM manually with proper spec file version="${{ steps.get_version.outputs.VERSION }}" arch_uname="${ARCH}" + build_dir_abs="$(pwd)/${build_dir}" # Create custom RPM spec file that doesn't auto-detect dependencies mkdir -p build/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS} @@ -245,7 +246,7 @@ jobs: mkdir -p %{buildroot}/usr/share/pixmaps # Copy application files - cp -a ${build_dir}/* %{buildroot}/opt/ytsage/ + cp -a ${build_dir_abs}/* %{buildroot}/opt/ytsage/ # Create wrapper script cat > %{buildroot}/usr/bin/ytsage <<'WRAPPER' @@ -258,8 +259,8 @@ jobs: chmod 0755 %{buildroot}/usr/bin/ytsage # Install desktop file and icon - install -m 0644 ytsage.desktop %{buildroot}/usr/share/applications/ytsage.desktop - install -m 0644 assets/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png + install -m 0644 ${build_dir_abs}/../../../ytsage.desktop %{buildroot}/usr/share/applications/ytsage.desktop + install -m 0644 ${build_dir_abs}/../../../assets/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png %files /opt/ytsage From e034e9bbcfeb2130736b9c1d6fed72f98c1fed72 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 9 Dec 2025 18:36:30 +0200 Subject: [PATCH 328/568] Fix RPM build paths in Linux workflow Updated the build-linux.yml workflow to use absolute paths for the desktop file and icon during RPM packaging, ensuring correct file installation regardless of the build directory structure. --- .github/workflows/build-linux.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 03f29af..e089702 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -214,7 +214,8 @@ jobs: # Build RPM manually with proper spec file version="${{ steps.get_version.outputs.VERSION }}" arch_uname="${ARCH}" - build_dir_abs="$(pwd)/${build_dir}" + workspace_root="$(pwd)" + build_dir_abs="${workspace_root}/${build_dir}" # Create custom RPM spec file that doesn't auto-detect dependencies mkdir -p build/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS} @@ -259,8 +260,8 @@ jobs: chmod 0755 %{buildroot}/usr/bin/ytsage # Install desktop file and icon - install -m 0644 ${build_dir_abs}/../../../ytsage.desktop %{buildroot}/usr/share/applications/ytsage.desktop - install -m 0644 ${build_dir_abs}/../../../assets/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png + install -m 0644 ${workspace_root}/ytsage.desktop %{buildroot}/usr/share/applications/ytsage.desktop + install -m 0644 ${workspace_root}/assets/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png %files /opt/ytsage From e3097f45019af63dc909774bd8cb1f5bf1fba853 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 9 Dec 2025 19:02:20 +0200 Subject: [PATCH 329/568] Remove Qt6 plugins path handling from build script Eliminates logic for locating and including Qt6 plugins in the build-linux workflow. This simplifies the build process and removes conditional inclusion of Qt6 plugin files. --- .github/workflows/build-linux.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index e089702..c81f051 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -82,14 +82,6 @@ jobs: version = os.environ.get("VERSION", "0.0.0") - # Find Qt6 plugins path - qt_plugins_path = None - try: - from PySide6 import QtCore - qt_plugins_path = Path(QtCore.__file__).parent / "Qt" / "plugins" - except Exception: - pass - # Prepare include_files list include_files_list = [ ("src", "src"), @@ -101,10 +93,6 @@ jobs: ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), ] - # Include Qt6 plugins if found (required for QPA) - if qt_plugins_path and qt_plugins_path.exists(): - include_files_list.append((str(qt_plugins_path), "lib/PySide6/Qt/plugins")) - build_exe_options = dict( optimize=2, packages=[ From f6445819532e9751fec3633c1fa642c2ac9e27ae Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 9 Dec 2025 19:32:01 +0200 Subject: [PATCH 330/568] Improve SHA256 checksum parsing for Deno Enhances the verify_deno_sha256 function to support both standard Unix and verbose checksum file formats. Adds debug logging for cases where the hash cannot be found. --- src/core/ytsage_deno.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/core/ytsage_deno.py b/src/core/ytsage_deno.py index 7444cfd..2c4304f 100644 --- a/src/core/ytsage_deno.py +++ b/src/core/ytsage_deno.py @@ -52,14 +52,26 @@ def verify_deno_sha256(file_path: Path, sha256_url: str) -> bool: response.raise_for_status() checksum_content = response.text - # Parse the checksum file - format is: - # Algorithm : SHA256 - # Hash : - # Path : + # Parse the checksum file + # Format can be either: + # 1. Standard Unix format: "hash filename" + # 2. Verbose format: "Hash : " expected_hash = None for line in checksum_content.strip().split("\n"): + line = line.strip() + if not line: + continue + + # Try standard Unix format first (hash followed by spaces and filename) + if len(line) >= 64 and (" " in line or "\t" in line): + # Extract first 64 characters as potential hash + potential_hash = line.split()[0] + if len(potential_hash) == 64 and all(c in "0123456789abcdefABCDEF" for c in potential_hash): + expected_hash = potential_hash + break + + # Try verbose format if line.startswith("Hash"): - # Extract hash from "Hash : " format parts = line.split(":", 1) if len(parts) == 2: expected_hash = parts[1].strip() @@ -67,6 +79,7 @@ def verify_deno_sha256(file_path: Path, sha256_url: str) -> bool: if not expected_hash: logger.error("Could not find SHA256 hash in checksum file") + logger.debug(f"Checksum file content: {checksum_content}") return False # Calculate actual hash of downloaded file From b70dfb58e7abd8314950f6122cb3e3e1dd3c5431 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 9 Dec 2025 20:36:07 +0200 Subject: [PATCH 331/568] Adjust QLineEdit padding in main GUI Reduced the vertical padding of QLineEdit elements from 12px to 5px to improve the appearance and spacing in the main application window. --- src/gui/ytsage_gui_main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 2eedf84..46e7348 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -140,7 +140,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from color: #ffffff; } QLineEdit { - padding: 12px 15px; + padding: 5px 15px; border: 2px solid #2a2d2e; border-radius: 6px; background-color: #1b2021; From d45a4a35a4623854a0aca56f033b994b503a4a89 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 9 Dec 2025 20:53:20 +0200 Subject: [PATCH 332/568] Add update-in-progress handling and translations Introduces 'update in progress' messages to all supported languages and updates the GUI to prevent analysis or downloads while yt-dlp is updating. Adds flags to track update and analysis states, ensuring user actions are blocked with appropriate warnings during updates. --- languages/ar.json | 4 +++- languages/de.json | 4 +++- languages/en.json | 4 +++- languages/es.json | 4 +++- languages/fr.json | 4 +++- languages/hi.json | 4 +++- languages/id.json | 4 +++- languages/it.json | 4 +++- languages/ja.json | 4 +++- languages/pl.json | 4 +++- languages/pt.json | 4 +++- languages/ru.json | 4 +++- languages/tr.json | 4 +++- languages/zh.json | 4 +++- src/gui/ytsage_gui_main.py | 21 +++++++++++++++++++++ 15 files changed, 63 insertions(+), 14 deletions(-) diff --git a/languages/ar.json b/languages/ar.json index 5cb2339..458c65b 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -212,7 +212,9 @@ "update_success": "✅ تم تحديث yt-dlp بنجاح!", "already_latest": "yt-dlp محدث (الإصدار {version})", "network_error": "❌ خطأ في الشبكة أثناء التحديث: {error}", - "general_error": "❌ فشل التحديث: {error}" + "general_error": "❌ فشل التحديث: {error}", + "update_in_progress_title": "التحديث قيد التقدم", + "update_in_progress_message": "يتم تحديث yt-dlp حاليًا. يرجى الانتظار لحظة." }, "about": { "title": "حول YTSage", diff --git a/languages/de.json b/languages/de.json index 9896c61..9418482 100644 --- a/languages/de.json +++ b/languages/de.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp wurde erfolgreich aktualisiert!", "already_latest": "yt-dlp ist auf dem neuesten Stand (Version {version})", "network_error": "❌ Netzwerkfehler während des Updates: {error}", - "general_error": "❌ Update fehlgeschlagen: {error}" + "general_error": "❌ Update fehlgeschlagen: {error}", + "update_in_progress_title": "Update läuft", + "update_in_progress_message": "yt-dlp wird gerade aktualisiert. Bitte warten Sie einen Moment." }, "about": { "title": "Über YTSage", diff --git a/languages/en.json b/languages/en.json index 2a2faa3..0fff390 100644 --- a/languages/en.json +++ b/languages/en.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp has been successfully updated!", "already_latest": "yt-dlp is up to date (version {version})", "network_error": "❌ Network error during update: {error}", - "general_error": "❌ Update failed: {error}" + "general_error": "❌ Update failed: {error}", + "update_in_progress_title": "Update in Progress", + "update_in_progress_message": "yt-dlp is currently updating. Please wait a moment." }, "about": { "title": "About YTSage", diff --git a/languages/es.json b/languages/es.json index 71b8cb2..2202449 100644 --- a/languages/es.json +++ b/languages/es.json @@ -225,7 +225,9 @@ "update_success": "✅ ¡yt-dlp se ha actualizado exitosamente!", "already_latest": "yt-dlp está actualizado (versión {version})", "network_error": "❌ Error de red durante la actualización: {error}", - "general_error": "❌ La actualización falló: {error}" + "general_error": "❌ La actualización falló: {error}", + "update_in_progress_title": "Actualización en curso", + "update_in_progress_message": "yt-dlp se está actualizando actualmente. Por favor espere un momento." }, "settings": { "title": "Configuración de Descarga", diff --git a/languages/fr.json b/languages/fr.json index 9d1b6d1..1f57977 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp a été mis à jour avec succès !", "already_latest": "yt-dlp est à jour (version {version})", "network_error": "❌ Erreur réseau pendant la mise à jour : {error}", - "general_error": "❌ La mise à jour a échoué : {error}" + "general_error": "❌ La mise à jour a échoué : {error}", + "update_in_progress_title": "Mise à jour en cours", + "update_in_progress_message": "yt-dlp est en cours de mise à jour. Veuillez patienter un instant." }, "about": { "title": "À propos de YTSage", diff --git a/languages/hi.json b/languages/hi.json index 4130d6b..6e8ce90 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp सफलतापूर्वक अपडेट किया गया है!", "already_latest": "yt-dlp अप टू डेट है (संस्करण {version})", "network_error": "❌ अपडेट के दौरान नेटवर्क त्रुटि: {error}", - "general_error": "❌ अपडेट असफल: {error}" + "general_error": "❌ अपडेट असफल: {error}", + "update_in_progress_title": "अपडेट जारी है", + "update_in_progress_message": "yt-dlp अभी अपडेट हो रहा है। कृपया कुछ देर प्रतीक्षा करें।" }, "about": { "title": "YTSage के बारे में", diff --git a/languages/id.json b/languages/id.json index c14af2f..c9358b6 100644 --- a/languages/id.json +++ b/languages/id.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp telah berhasil diperbarui!", "already_latest": "yt-dlp sudah terbaru (versi {version})", "network_error": "❌ Kesalahan jaringan selama pembaruan: {error}", - "general_error": "❌ Pembaruan gagal: {error}" + "general_error": "❌ Pembaruan gagal: {error}", + "update_in_progress_title": "Pembaruan Sedang Berlangsung", + "update_in_progress_message": "yt-dlp sedang diperbarui. Mohon tunggu sebentar." }, "about": { "title": "Tentang YTSage", diff --git a/languages/it.json b/languages/it.json index bb3653c..e2a94b3 100644 --- a/languages/it.json +++ b/languages/it.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp è stato aggiornato con successo!", "already_latest": "yt-dlp è aggiornato (versione {version})", "network_error": "❌ Errore di rete durante l'aggiornamento: {error}", - "general_error": "❌ Aggiornamento fallito: {error}" + "general_error": "❌ Aggiornamento fallito: {error}", + "update_in_progress_title": "Aggiornamento in corso", + "update_in_progress_message": "yt-dlp si sta aggiornando. Attendere prego." }, "about": { "title": "Informazioni su YTSage", diff --git a/languages/ja.json b/languages/ja.json index ba73304..9cdfa27 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlpが正常に更新されました!", "already_latest": "yt-dlpは最新です(バージョン {version})", "network_error": "❌ 更新中にネットワークエラーが発生しました: {error}", - "general_error": "❌ 更新に失敗しました: {error}" + "general_error": "❌ 更新に失敗しました: {error}", + "update_in_progress_title": "更新中", + "update_in_progress_message": "yt-dlpを更新中です。少々お待ちください。" }, "about": { "title": "YTSageについて", diff --git a/languages/pl.json b/languages/pl.json index cefc9ed..b4b3043 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp został pomyślnie zaktualizowany!", "already_latest": "yt-dlp jest aktualny (wersja {version})", "network_error": "❌ Błąd sieci podczas aktualizacji: {error}", - "general_error": "❌ Aktualizacja nie powiodła się: {error}" + "general_error": "❌ Aktualizacja nie powiodła się: {error}", + "update_in_progress_title": "Trwa aktualizacja", + "update_in_progress_message": "Trwa aktualizacja yt-dlp. Proszę chwilę zaczekać." }, "about": { "title": "O YTSage", diff --git a/languages/pt.json b/languages/pt.json index b50ed6a..ae43495 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp foi atualizado com sucesso!", "already_latest": "yt-dlp está atualizado (versão {version})", "network_error": "❌ Erro de rede durante a atualização: {error}", - "general_error": "❌ A atualização falhou: {error}" + "general_error": "❌ A atualização falhou: {error}", + "update_in_progress_title": "Atualização em andamento", + "update_in_progress_message": "O yt-dlp está sendo atualizado. Por favor, aguarde um momento." }, "about": { "title": "Sobre YTSage", diff --git a/languages/ru.json b/languages/ru.json index d3a6c83..863c824 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp был успешно обновлен!", "already_latest": "yt-dlp актуален (версия {version})", "network_error": "❌ Ошибка сети во время обновления: {error}", - "general_error": "❌ Обновление не удалось: {error}" + "general_error": "❌ Обновление не удалось: {error}", + "update_in_progress_title": "Идет обновление", + "update_in_progress_message": "yt-dlp обновляется. Пожалуйста, подождите." }, "about": { "title": "О YTSage", diff --git a/languages/tr.json b/languages/tr.json index ce792a9..bb33054 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp başarıyla güncellendi!", "already_latest": "yt-dlp güncel (sürüm {version})", "network_error": "❌ Güncelleme sırasında ağ hatası: {error}", - "general_error": "❌ Güncelleme başarısız: {error}" + "general_error": "❌ Güncelleme başarısız: {error}", + "update_in_progress_title": "Güncelleme Devam Ediyor", + "update_in_progress_message": "yt-dlp şu anda güncelleniyor. Lütfen bir dakika bekleyin." }, "about": { "title": "YTSage Hakkında", diff --git a/languages/zh.json b/languages/zh.json index 9fc141b..f750b34 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -212,7 +212,9 @@ "update_success": "✅ yt-dlp 已成功更新!", "already_latest": "yt-dlp 是最新版本(版本 {version})", "network_error": "❌ 更新期间网络错误:{error}", - "general_error": "❌ 更新失败:{error}" + "general_error": "❌ 更新失败:{error}", + "update_in_progress_title": "正在更新", + "update_in_progress_message": "yt-dlp 正在更新中。请稍候。" }, "about": { "title": "关于 YTSage", diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 46e7348..7e4161f 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -96,6 +96,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.download_paused = False self.current_download = None self.download_cancelled = False + self.is_updating_ytdlp = False # Initialize update flag + self.is_analyzing = False # Initialize analysis flag self.save_thumbnail = False # Initialize thumbnail state self.thumbnail_url = None # Add this to store thumbnail URL self.all_formats = [] # Initialize all_formats @@ -784,6 +786,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.analyze_button.setEnabled(bool(text.strip())) def analyze_url(self) -> None: + if self.is_updating_ytdlp: + QMessageBox.warning(self, _("update.update_in_progress_title"), _("update.update_in_progress_message")) + return + url = self.url_input.text().strip() if not url: self.signals.update_status.emit(_("main_ui.invalid_url_or_enter")) @@ -800,6 +806,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.toggle_analysis_dependent_controls(enabled=False) self.signals.update_status.emit(_("main_ui.analyzing_preparing")) + self.is_analyzing = True threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() def _analyze_url_thread(self, url) -> None: @@ -821,6 +828,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # update signal method from QMetaObject.invokeMethod to signals self.signals.playlist_info_label_visible.emit(False) self.signals.playlist_select_btn_visible.emit(False) + finally: + self.is_analyzing = False def paste_url(self) -> None: clipboard = QApplication.clipboard() @@ -878,6 +887,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.settings_button.setToolTip(f"Current Path: {self.last_path}\nSpeed Limit: {limit_text}") def start_download(self) -> None: + if self.is_updating_ytdlp: + QMessageBox.warning(self, _("update.update_in_progress_title"), _("update.update_in_progress_message")) + return + url = self.url_input.text().strip() # --- Use self.last_path instead of reading from QLineEdit --- path = self.last_path @@ -1383,16 +1396,24 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from def _perform_auto_update(self) -> None: """Actually perform the auto-update check and update if needed in a background thread.""" + # Check if a download is currently running or analysis is in progress + if (self.current_download and self.current_download.isRunning()) or self.is_analyzing: + logger.info("Download or analysis in progress, skipping auto-update check.") + return + try: + self.is_updating_ytdlp = True # Set flag # Create and start the auto-update thread to avoid blocking the UI self.auto_update_thread = AutoUpdateThread() self.auto_update_thread.update_finished.connect(self._on_auto_update_finished) self.auto_update_thread.start() except Exception as e: + self.is_updating_ytdlp = False # Reset flag on error logger.exception(f"Error starting auto-update thread: {e}") def _on_auto_update_finished(self, success, message) -> None: + self.is_updating_ytdlp = False # Reset flag """Handle auto-update completion.""" if success: logger.info(f"Auto-update completed successfully: {message}") From 5a996efd1928f5d1009b2de5073c94e06e1672c4 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 11 Dec 2025 11:06:05 +0200 Subject: [PATCH 333/568] Bump version to 4.9.7b Updated the __version__ string in src/__init__.py to reflect the new release version 4.9.7b. --- src/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__init__.py b/src/__init__.py index ccdb1b0..516c11a 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.9.6b" +__version__ = "4.9.7b" __author__ = "oop7" From ce3fd4217d3678c2045b2d2d327482c0bd6e3a3e Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 11 Dec 2025 11:28:39 +0200 Subject: [PATCH 334/568] Update macOS build matrix in CI workflow Replaces specific macOS versions with 'macos-latest' and 'macos-15' in the build matrix to ensure compatibility with newer macOS runners. --- .github/workflows/build-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index c9ce26f..3405826 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -15,7 +15,7 @@ jobs: build-macos: strategy: matrix: - os: [macos-14, macos-13] + os: [macos-latest, macos-15] runs-on: ${{ matrix.os }} steps: From 35c58bfcfa2a7c173aff507f527b827f6f60c370 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:15:30 +0200 Subject: [PATCH 335/568] Update macOS build matrix to use macos-15-large Replaces 'macos-15' with 'macos-15-large' in the GitHub Actions build matrix to utilize the larger runner for macOS 15 builds. --- .github/workflows/build-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 3405826..c57218b 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -15,7 +15,7 @@ jobs: build-macos: strategy: matrix: - os: [macos-latest, macos-15] + os: [macos-latest, macos-15-large] runs-on: ${{ matrix.os }} steps: From ba8011ce44727a89953decf8aa24759b46cf6c16 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 11 Dec 2025 12:18:20 +0200 Subject: [PATCH 336/568] Update macOS build matrix to use macos-14-large Replaces macos-15-large with macos-14-large in the GitHub Actions build matrix for improved compatibility or resource availability. --- .github/workflows/build-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index c57218b..1004743 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -15,7 +15,7 @@ jobs: build-macos: strategy: matrix: - os: [macos-latest, macos-15-large] + os: [macos-latest, macos-14-large] runs-on: ${{ matrix.os }} steps: From d8c754382f42e0ffd8440e53f465074f1776c475 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 11 Dec 2025 13:24:37 +0200 Subject: [PATCH 337/568] Set macOS build to run only on macos-latest Removed the matrix strategy for multiple macOS runners and set the workflow to use only macos-latest. Simplifies the build process and reduces resource usage. --- .github/workflows/build-macos.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 1004743..b57164b 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -13,10 +13,7 @@ env: jobs: build-macos: - strategy: - matrix: - os: [macos-latest, macos-14-large] - runs-on: ${{ matrix.os }} + runs-on: macos-latest steps: - name: Checkout code From 4aa0a7b70e974f1b1be2e0cb5c9be3e5411fc4dc Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 11 Dec 2025 13:29:31 +0200 Subject: [PATCH 338/568] Update macOS ARM64 descriptions in README Changed the descriptions for macOS ARM64 APP and DMG formats from 'for ARM64' to 'for Apple Silicon' for improved clarity in the README. --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1082bee..1fadcb3 100644 --- a/README.md +++ b/README.md @@ -92,10 +92,8 @@ ytsage | Format | Description | |--------|-------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Zipped application for ARM64 | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk image installer for ARM64 | -| ![macOS x64 APP](https://img.shields.io/badge/macOS-x64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Zipped application for x64 | -| ![macOS x64 DMG](https://img.shields.io/badge/macOS-x64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk image installer for x64 | +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Zipped application for Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk image installer for Apple Silicon | > [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) From 192841a836fc2a1765a8e1138409f7ef63677e26 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 26 Dec 2025 23:39:28 +0200 Subject: [PATCH 339/568] Bump version to 4.9.7 Update the __version__ string in src/__init__.py from 4.9.7b to 4.9.7, indicating a release from beta to stable. --- src/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__init__.py b/src/__init__.py index 516c11a..44adeaf 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.9.7b" +__version__ = "4.9.7" __author__ = "oop7" From 16e61c5d6fa6e9166146185aa7042cd239e1b0dc Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 6 Jan 2026 15:52:58 +0200 Subject: [PATCH 340/568] Refactor release workflows and add release-all trigger Refactored build workflows for Linux, macOS, and Windows to use workflow_dispatch and workflow_call with explicit version input, replacing tag-based triggers. Updated release steps to use the provided version input for tagging and naming. Added a new release-all workflow to trigger all platform builds with a single version input. --- .github/workflows/build-linux.yml | 28 +++++++++++++++++----------- .github/workflows/build-macos.yml | 28 +++++++++++++++++----------- .github/workflows/build-windows.yml | 28 +++++++++++++++++----------- .github/workflows/release-all.yml | 28 ++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 33 deletions(-) create mode 100644 .github/workflows/release-all.yml diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index c81f051..6e3fcab 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -1,9 +1,18 @@ name: Build Linux Release on: - push: - tags: - - 'v*' + workflow_dispatch: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string + workflow_call: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string permissions: contents: write @@ -21,12 +30,11 @@ jobs: with: fetch-depth: 0 - - name: Extract version from tag + - name: Get version id: get_version shell: bash run: | - tag="${GITHUB_REF_NAME}" - version="${tag#v}" + version="${{ inputs.version || github.event.inputs.version }}" echo "Extracted version: $version" echo "VERSION=$version" >> "$GITHUB_OUTPUT" @@ -405,18 +413,16 @@ jobs: - name: Create/Update draft release uses: softprops/action-gh-release@v2 with: - tag_name: ${{ github.ref_name }} - name: YTSage ${{ github.ref_name }} + tag_name: v${{ steps.get_version.outputs.VERSION }} + name: YTSage v${{ steps.get_version.outputs.VERSION }} draft: true prerelease: false append_body: true fail_on_unmatched_files: false body: | - # YTSage ${{ github.ref_name }} + # YTSage v${{ steps.get_version.outputs.VERSION }} **Release Date**: ${{ github.event.head_commit.timestamp }} - - **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} files: | artifacts/* env: diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index b57164b..5531531 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -1,9 +1,18 @@ name: Build macOS Release on: - push: - tags: - - 'v*' + workflow_dispatch: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string + workflow_call: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string permissions: contents: write @@ -21,12 +30,11 @@ jobs: with: fetch-depth: 0 - - name: Extract version from tag + - name: Get version id: get_version shell: bash run: | - tag="${GITHUB_REF_NAME}" - version="${tag#v}" + version="${{ inputs.version || github.event.inputs.version }}" echo "Extracted version: $version" echo "VERSION=$version" >> "$GITHUB_OUTPUT" @@ -240,18 +248,16 @@ jobs: - name: Create/Update draft release uses: softprops/action-gh-release@v2 with: - tag_name: ${{ github.ref_name }} - name: YTSage ${{ github.ref_name }} + tag_name: v${{ steps.get_version.outputs.VERSION }} + name: YTSage v${{ steps.get_version.outputs.VERSION }} draft: true prerelease: false append_body: true fail_on_unmatched_files: false body: | - # YTSage ${{ github.ref_name }} + # YTSage v${{ steps.get_version.outputs.VERSION }} **Release Date**: ${{ github.event.head_commit.timestamp }} - - **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} files: | artifacts/* env: diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index f2e1220..b64a4b3 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -1,9 +1,18 @@ name: Build Windows Release on: - push: - tags: - - 'v*' + workflow_dispatch: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string + workflow_call: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string permissions: contents: write @@ -21,12 +30,11 @@ jobs: with: fetch-depth: 0 - - name: Extract version from tag + - name: Get version id: get_version shell: powershell run: | - $tag = "${{ github.ref_name }}" - $version = $tag -replace '^v', '' + $version = "${{ inputs.version || github.event.inputs.version }}" Write-Host "Extracted version: $version" echo "VERSION=$version" >> $env:GITHUB_OUTPUT @@ -298,16 +306,14 @@ jobs: - name: Create draft release uses: softprops/action-gh-release@v2 with: - tag_name: ${{ github.ref_name }} - name: YTSage ${{ github.ref_name }} + tag_name: v${{ steps.get_version.outputs.VERSION }} + name: YTSage v${{ steps.get_version.outputs.VERSION }} draft: true prerelease: false body: | - # YTSage ${{ github.ref_name }} + # YTSage v${{ steps.get_version.outputs.VERSION }} **Release Date**: ${{ github.event.head_commit.timestamp }} - - **Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ github.ref_name }} files: | artifacts/* env: diff --git a/.github/workflows/release-all.yml b/.github/workflows/release-all.yml new file mode 100644 index 0000000..7e0fdef --- /dev/null +++ b/.github/workflows/release-all.yml @@ -0,0 +1,28 @@ +name: Create All Releases + +on: + workflow_dispatch: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string + +jobs: + release-windows: + uses: ./.github/workflows/build-windows.yml + with: + version: ${{ inputs.version }} + secrets: inherit + + release-linux: + uses: ./.github/workflows/build-linux.yml + with: + version: ${{ inputs.version }} + secrets: inherit + + release-macos: + uses: ./.github/workflows/build-macos.yml + with: + version: ${{ inputs.version }} + secrets: inherit From 45ce4ba69ca47cbb1c1ee9368ad1265d3f229c7d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:02:11 +0200 Subject: [PATCH 341/568] Update CI/CD README for manual workflow triggers Revamps the CI/CD documentation to reflect the new manual workflow dispatch system, replacing tag-based triggers. Adds detailed instructions for running full or platform-specific builds, clarifies artifact naming, and updates configuration and process notes to match the current GitHub Actions setup. --- .github/CI_CD_README.md | 125 +++++++++++++++------------------------- 1 file changed, 45 insertions(+), 80 deletions(-) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 343ee55..3bd04d7 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -1,38 +1,40 @@ # YTSage CI/CD Workflow -This repository uses GitHub Actions to automatically build and release YTSage for multiple platforms when version tags are pushed. +This repository uses GitHub Actions to automatically build and release YTSage for multiple platforms. The workflow is designed to be manually triggered, allowing for flexibility in building specific versions or platforms on demand. ## How It Works ### Trigger -The workflow is triggered when you push a git tag that starts with `v` (e.g., `v4.9.5`, `v4.9.5`). +The workflows are triggered manually via the GitHub Actions "Workflow Dispatch" interface. This allows you to specify the version number explicitly (e.g., `1.0.0`) at runtime. + +### Workflows +- **Create All Releases** (`release-all.yml`): The master workflow. Triggering this will automatically run the Windows, Linux, and macOS builds in parallel with the version you provide. +- **Platform Specific**: You can also trigger `Build Windows Release`, `Build Linux Release`, or `Build macOS Release` individually if you only need updates for one OS. ### Build Process -1. **Setup**: Uses Python 3.13.6 on all platforms +1. **Setup**: Uses Python 3.13 on all platforms 2. **Builds**: Creates platform-specific executables using cx_Freeze 3. **Packages**: Generates native package formats for each platform -4. **Release**: Creates a draft GitHub release with all artifacts +4. **Release**: Creates or updates a draft GitHub release with the artifacts ## Usage -### Creating a Release +### Creating a Full Release (Recommended) -1. **Update version** in your source code if needed -2. **Commit your changes**: - ```bash - git add . - git commit -m "Release v4.9.5" - ``` +1. Go to the **Actions** tab in the GitHub repository. +2. Select **"Create All Releases"** from the left sidebar. +3. Click **Run workflow**. +4. Enter the **Version name** (e.g., `1.0.0`). + > *Note: Do not include the 'v' prefix in the input field unless you want your filenames to be `v1.0.0`.* +5. Click the green **Run workflow** button. +6. The system will trigger the Windows, Linux, and macOS jobs. Once complete, a draft release will be available in the Releases section. -3. **Create and push a tag**: - ```bash - git tag v4.9.5 - git push origin v4.9.5 - ``` +### Creating a Single Platform Build -4. **Watch the action**: Go to Actions tab in GitHub to monitor progress - -5. **Review draft release**: Once complete, check the Releases section for the draft +1. Go to the **Actions** tab. +2. Select the specific workflow (e.g., **"Build Windows Release"**). +3. Click **Run workflow** and enter the version. +4. Only that specific platform's artifacts will be built and added to the release. ### Release Artifacts @@ -43,12 +45,12 @@ The workflow creates the following files based on the platform: - `YTSage-v{version}-ffmpeg-portable.zip` - FFmpeg bundle portable #### Linux -- `YTSage-v{version}-{arch}.AppImage` - AppImage portable +- `YTSage-v{version}-{arch}.AppImage` - AppImage portable (x86_64, aarch64) - `YTSage-v{version}-{arch}.rpm` - RPM package - `YTSage-v{version}-{arch}.deb` - Debian package #### macOS -- `YTSage-v{version}-{arch}.app.zip` - Zipped application bundle +- `YTSage-v{version}-{arch}.app.zip` - Zipped application bundle (x64, arm64) - `YTSage-v{version}-{arch}.dmg` - Disk image installer ## Workflow Features @@ -58,82 +60,45 @@ The workflow creates the following files based on the platform: - **Linux**: Uses Bash scripts with cx_Freeze, creates AppImage, RPM, and DEB - **macOS**: Matrix build for both Intel (x64) and Apple Silicon (arm64) -### Automatic Version Detection -- Extracts version from git tag (removes 'v' prefix) -- Names all artifacts consistently across platforms +### Manual Versioning +- Version is strictly controlled by the input you provide at runtime. +- No longer dependent on git tags, reducing accidental releases. ### Caching -- Python dependencies are cached to speed up builds -- Virtual environment is cached between runs +- Python dependencies and virtual environments are cached to speed up builds. ### Error Handling -- Comprehensive error checking at each step -- Detailed logging for troubleshooting -- Artifact verification before upload +- Comprehensive error checking at each step. +- Artifact verification before upload. ### Security -- Uses official GitHub Actions -- No external dependencies -- Secure token handling +- Uses official GitHub Actions. +- Secure token handling via `secrets: inherit` for the master workflow. ## Manual Intervention ### After Workflow Completion -1. **Review the draft release** in GitHub -2. **Test the artifacts** if needed -3. **Edit release notes** if desired -4. **Publish the release** when ready - -### Troubleshooting -If the workflow fails: -1. Check the Actions logs for error details -2. Ensure all required files are present -3. Verify the tag format is correct (`v*`) -4. Check that dependencies are properly listed +1. **Review the draft release** in GitHub. +2. **Test the artifacts** if needed. +3. **Edit release notes** to add changelogs or descriptions. +4. **Publish the release** when ready (change from Draft to Published). ## Configuration ### Modifying the Workflow The workflow files are located in `.github/workflows/`: -- `build-windows.yml` - Windows builds -- `build-linux.yml` - Linux builds -- `build-macos.yml` - macOS builds +- `release-all.yml` - Master workflow that orchestrates the others +- `build-windows.yml` - Windows builds logic +- `build-linux.yml` - Linux builds logic +- `build-macos.yml` - macOS builds logic ### Key Configuration Options -- `PYTHON_VERSION`: Python version (currently 3.13.6) -- Artifact naming patterns -- Release note templates -- Build optimization settings - -### Adding New Build Types -To add new platform packages: -1. Create or modify workflow files in `.github/workflows/` -2. Target the appropriate OS runner (windows-latest, ubuntu-latest, macos-latest) -3. Use cx_Freeze or PyInstaller for packaging -4. Package the build output in platform-native formats -5. Upload the artifacts and include them in the release - +- `PYTHON_VERSION`: Python version (currently 3.13) +- `version` input: Defined as a required string in all workflows. ## Notes -- All builds use cx_Freeze for packaging -- FFmpeg binaries are bundled where needed -- Screenshots are removed from builds to reduce size -- Draft releases allow for review before publication -- macOS builds run on both Intel and Apple Silicon runners - -## Example Tag Commands - -```bash -# For a new release -git tag v4.8.1 -git push origin v4.8.1 - -# For a patch release -git tag v4.8.1 -git push origin v4.8.1 - -# To delete a tag (if needed) -git tag -d v4.8.1 -git push origin :refs/tags/v4.8.1 -``` +- All builds use cx_Freeze for packaging. +- FFmpeg binaries are bundled where needed (Windows). +- Screenshots are removed from builds to reduce size. +- Draft releases allow for review before publication. From 0edc64a5e98f8b435823ac91f842c611bcdc2ebd Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:02:59 +0200 Subject: [PATCH 342/568] Add release-all.yml to CI workflow list in README Documented the master release workflow (release-all.yml) in the CI/CD section of the README for better visibility of available workflows. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fadcb3..8c3c772 100644 --- a/README.md +++ b/README.md @@ -340,6 +340,7 @@ YTSage/ │ │ ├── build-linux.yml # Linux build workflow │ │ ├── build-macos.yml # macOS build workflow │ │ └── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow │ └── 📄 CI_CD_README.md # CI/CD documentation ├── 📁 assets/ # Static assets and resources │ ├── 📁 branding/ # Branding assets From 462252b4524604867ab67cbd9cb566ccdef37edc Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:04:59 +0200 Subject: [PATCH 343/568] Fix formatting in workflows section of README Corrected indentation and line formatting for the workflows section in the README to improve readability and consistency. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8c3c772..2ded665 100644 --- a/README.md +++ b/README.md @@ -339,8 +339,8 @@ YTSage/ │ ├─── 📁 workflows/ # GitHub Actions workflows │ │ ├── build-linux.yml # Linux build workflow │ │ ├── build-macos.yml # macOS build workflow -│ │ └── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow │ └── 📄 CI_CD_README.md # CI/CD documentation ├── 📁 assets/ # Static assets and resources │ ├── 📁 branding/ # Branding assets From 0b5b5b3189b64861fa5c7dbacf7071d409aa2341 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:13:21 +0200 Subject: [PATCH 344/568] Add Flatpak build support and env override for yt-dlp path Introduces a Flatpak packaging step to the Linux CI workflow and updates ytsage_constants.py to support overriding the yt-dlp binary path via the YTDLP_APP_BIN_PATH environment variable, which is critical for Flatpak compatibility. Also ensures the custom yt-dlp directory is created if the environment variable is set. --- .github/workflows/build-linux.yml | 81 +++++++++++++++++++++++++++++++ src/utils/ytsage_constants.py | 12 ++++- 2 files changed, 92 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 6e3fcab..ed6be84 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -380,6 +380,84 @@ jobs: mv "$deb_out" artifacts/ echo "Built native DEB: artifacts/$deb_out" + - name: Build Flatpak Bundle + shell: bash + run: | + version="${{ steps.get_version.outputs.VERSION }}" + + # Install flatpak-builder + sudo apt-get install -y flatpak-builder + flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + + # Define manifest ID + APP_ID="io.github.oop7.YTSage" + + # Create manifest manually + cat > ytsage_flatpak.json </dev/null | head -n1) + if [ -z "$build_dir" ]; then + echo "Error: build/exe.* directory not found for Flatpak build" >&2 + exit 1 + fi + + # Move build dir to a fixed location for the manifest source to catch + mkdir -p dist/ytsage-v${version}-flatpak + cp -r "$build_dir"/* "dist/ytsage-v${version}-flatpak/" + + # Install runtime/sdk + flatpak install -y --user flathub org.kde.Platform//6.6 org.kde.Sdk//6.6 + + # Build + flatpak-builder --user --install-deps-from=flathub --repo=repo --force-clean build-flatpak ytsage_flatpak.json + + # Bundle + flatpak build-bundle repo artifacts/YTSage-v${version}-x86_64.flatpak $APP_ID + echo "Built Flatpak: artifacts/YTSage-v${version}-x86_64.flatpak" + - name: Package and prepare release artifacts (.AppImage, .rpm, .deb) shell: bash run: | @@ -407,6 +485,9 @@ jobs: # DEB is already staged in artifacts by the native packaging step ls -1 artifacts/*.deb 2>/dev/null || echo "Warning: No .deb found in artifacts/" + # Check for Flatpak + ls -1 artifacts/*.flatpak 2>/dev/null || echo "Warning: No .flatpak found in artifacts/" + echo "Final artifacts:" ls -lh artifacts || true diff --git a/src/utils/ytsage_constants.py b/src/utils/ytsage_constants.py index 09faa1b..2f4d7b2 100644 --- a/src/utils/ytsage_constants.py +++ b/src/utils/ytsage_constants.py @@ -138,7 +138,13 @@ else: # Linux and other UNIX-like APP_THUMBNAILS_DIR: Path = APP_DATA_DIR / "thumbnails" YTDLP_DOWNLOAD_URL: str = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" - YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp" + + # Check for environment variable override (critical for Flatpak support) + _ytdlp_env_path = os.environ.get("YTDLP_APP_BIN_PATH") + if _ytdlp_env_path: + YTDLP_APP_BIN_PATH: Path = Path(_ytdlp_env_path) + else: + YTDLP_APP_BIN_PATH: Path = APP_BIN_DIR / "yt-dlp" SUBPROCESS_CREATIONFLAGS: int = 0 @@ -194,3 +200,7 @@ else: APP_DATA_DIR.mkdir(parents=True, exist_ok=True) APP_LOG_DIR.mkdir(parents=True, exist_ok=True) APP_THUMBNAILS_DIR.mkdir(parents=True, exist_ok=True) + + # Ensure custom yt-dlp directory exists if set + if OS_NAME not in ["Windows", "Darwin"]: + YTDLP_APP_BIN_PATH.parent.mkdir(parents=True, exist_ok=True) From c9691c6a5623bb803e53d1e68289d0845490726f Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:50:46 +0200 Subject: [PATCH 345/568] Update Flatpak runtime to version 6.10 in CI Changed the Flatpak runtime and SDK version from 6.6 to 6.10 in the build-linux GitHub Actions workflow to ensure compatibility with the latest KDE platform. --- .github/workflows/build-linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index ed6be84..194e601 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -397,7 +397,7 @@ jobs: { "app-id": "$APP_ID", "runtime": "org.kde.Platform", - "runtime-version": "6.6", + "runtime-version": "6.10", "sdk": "org.kde.Sdk", "command": "ytsage", "finish-args": [ @@ -449,7 +449,7 @@ jobs: cp -r "$build_dir"/* "dist/ytsage-v${version}-flatpak/" # Install runtime/sdk - flatpak install -y --user flathub org.kde.Platform//6.6 org.kde.Sdk//6.6 + flatpak install -y --user flathub org.kde.Platform//6.10 org.kde.Sdk//6.10 # Build flatpak-builder --user --install-deps-from=flathub --repo=repo --force-clean build-flatpak ytsage_flatpak.json From f7cf752fb244d7c82b47fc23ba9da79d09cadbdc Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 6 Jan 2026 17:22:14 +0200 Subject: [PATCH 346/568] Bump version to 4.9.8b Update the __version__ string in src/__init__.py to 4.9.8b to reflect the latest changes. --- src/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__init__.py b/src/__init__.py index 44adeaf..9bbd51f 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.9.7" +__version__ = "4.9.8b" __author__ = "oop7" From 2574ed0467a5e0100e88f53f856886a5d6982463 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 6 Jan 2026 17:23:31 +0200 Subject: [PATCH 347/568] Add Flatpak badge to Linux install options Included a Flathub badge in the Linux installation table to indicate Flatpak bundle availability. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2ded665..74e6e94 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,7 @@ ytsage | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian package | | ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portable | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM package | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak Bundle | #### 🍎 macOS From 67d0919237ab33bf7e79b4d37f116dee3f57d223 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 7 Jan 2026 17:40:07 +0200 Subject: [PATCH 348/568] Add Flatpak-specific desktop file to build workflow Introduces creation of a dedicated desktop file for Flatpak packaging in the build-linux workflow. Ensures the Exec and Icon fields conform to Flatpak requirements and updates the install step to use the new desktop file. --- .github/workflows/build-linux.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 194e601..c5dbef4 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -392,6 +392,21 @@ jobs: # Define manifest ID APP_ID="io.github.oop7.YTSage" + # Create a specific desktop file for Flatpak + # - Exec must be 'ytsage' (in path), not /usr/bin/ytsage + # - Icon must match the App ID (io.github.oop7.YTSage) + cat > flatpak.desktop < ytsage_flatpak.json < Date: Wed, 7 Jan 2026 18:11:06 +0200 Subject: [PATCH 349/568] Add DENO_APP_BIN_PATH env override and Flatpak support Introduces support for overriding DENO_APP_BIN_PATH via environment variable, enabling compatibility with Flatpak packaging. Updates the build workflow to set the DENO_APP_BIN_PATH environment variable and ensures parent directories for custom binary paths are created if needed. --- .github/workflows/build-linux.yml | 3 ++- src/utils/ytsage_constants.py | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index c5dbef4..bf7182f 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -423,7 +423,8 @@ jobs: "--device=dri", "--share=network", "--filesystem=host", - "--env=YTDLP_APP_BIN_PATH=/var/data/yt-dlp" + "--env=YTDLP_APP_BIN_PATH=/var/data/yt-dlp", + "--env=DENO_APP_BIN_PATH=/var/data/deno" ], "modules": [ { diff --git a/src/utils/ytsage_constants.py b/src/utils/ytsage_constants.py index 2f4d7b2..d1a6a8c 100644 --- a/src/utils/ytsage_constants.py +++ b/src/utils/ytsage_constants.py @@ -166,7 +166,13 @@ elif OS_NAME == "Darwin": # macOS else: # Linux DENO_DOWNLOAD_URL: str = "https://github.com/denoland/deno/releases/latest/download/deno-x86_64-unknown-linux-gnu.zip" DENO_SHA256_URL: str = "https://github.com/denoland/deno/releases/latest/download/deno-x86_64-unknown-linux-gnu.zip.sha256sum" - DENO_APP_BIN_PATH: Path = APP_BIN_DIR / "deno" + + # Check for environment variable override (critical for Flatpak support) + _deno_env_path = os.environ.get("DENO_APP_BIN_PATH") + if _deno_env_path: + DENO_APP_BIN_PATH: Path = Path(_deno_env_path) + else: + DENO_APP_BIN_PATH: Path = APP_BIN_DIR / "deno" # FFmpeg download links (Essentials build - always latest version) FFMPEG_7Z_DOWNLOAD_URL = "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.7z" @@ -203,4 +209,8 @@ else: # Ensure custom yt-dlp directory exists if set if OS_NAME not in ["Windows", "Darwin"]: - YTDLP_APP_BIN_PATH.parent.mkdir(parents=True, exist_ok=True) + # Ensure parent directories exist for custom paths + if "YTDLP_APP_BIN_PATH" in globals(): + YTDLP_APP_BIN_PATH.parent.mkdir(parents=True, exist_ok=True) + if "DENO_APP_BIN_PATH" in globals(): + DENO_APP_BIN_PATH.parent.mkdir(parents=True, exist_ok=True) From b3144798f441bf5353ca7382d3c91c61997cd02c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 7 Jan 2026 18:13:43 +0200 Subject: [PATCH 350/568] Add Flatpak-specific desktop file and env var to build Introduces creation of a Flatpak-specific desktop file with correct Exec and Icon fields. Adds DENO_APP_BIN_PATH environment variable to Flatpak manifest and updates install commands to use the new desktop file. --- .github/workflows/build-linux.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 194e601..bf7182f 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -392,6 +392,21 @@ jobs: # Define manifest ID APP_ID="io.github.oop7.YTSage" + # Create a specific desktop file for Flatpak + # - Exec must be 'ytsage' (in path), not /usr/bin/ytsage + # - Icon must match the App ID (io.github.oop7.YTSage) + cat > flatpak.desktop < ytsage_flatpak.json < Date: Wed, 7 Jan 2026 18:14:05 +0200 Subject: [PATCH 351/568] Add env var override for DENO_APP_BIN_PATH on Linux Allows DENO_APP_BIN_PATH to be set via environment variable, supporting Flatpak and custom setups. Also ensures parent directories for both yt-dlp and deno binaries are created if custom paths are set. --- src/utils/ytsage_constants.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/utils/ytsage_constants.py b/src/utils/ytsage_constants.py index 2f4d7b2..d1a6a8c 100644 --- a/src/utils/ytsage_constants.py +++ b/src/utils/ytsage_constants.py @@ -166,7 +166,13 @@ elif OS_NAME == "Darwin": # macOS else: # Linux DENO_DOWNLOAD_URL: str = "https://github.com/denoland/deno/releases/latest/download/deno-x86_64-unknown-linux-gnu.zip" DENO_SHA256_URL: str = "https://github.com/denoland/deno/releases/latest/download/deno-x86_64-unknown-linux-gnu.zip.sha256sum" - DENO_APP_BIN_PATH: Path = APP_BIN_DIR / "deno" + + # Check for environment variable override (critical for Flatpak support) + _deno_env_path = os.environ.get("DENO_APP_BIN_PATH") + if _deno_env_path: + DENO_APP_BIN_PATH: Path = Path(_deno_env_path) + else: + DENO_APP_BIN_PATH: Path = APP_BIN_DIR / "deno" # FFmpeg download links (Essentials build - always latest version) FFMPEG_7Z_DOWNLOAD_URL = "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.7z" @@ -203,4 +209,8 @@ else: # Ensure custom yt-dlp directory exists if set if OS_NAME not in ["Windows", "Darwin"]: - YTDLP_APP_BIN_PATH.parent.mkdir(parents=True, exist_ok=True) + # Ensure parent directories exist for custom paths + if "YTDLP_APP_BIN_PATH" in globals(): + YTDLP_APP_BIN_PATH.parent.mkdir(parents=True, exist_ok=True) + if "DENO_APP_BIN_PATH" in globals(): + DENO_APP_BIN_PATH.parent.mkdir(parents=True, exist_ok=True) From a4df946169295b19e047b479bfec85bb2ea20ec2 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 7 Jan 2026 18:32:20 +0200 Subject: [PATCH 352/568] Fix extraction path for Deno executable Changed the extraction target directory for the Deno executable to use the parent of DENO_APP_BIN_PATH instead of APP_BIN_DIR, ensuring the executable is placed in the correct location. --- src/core/ytsage_deno.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/ytsage_deno.py b/src/core/ytsage_deno.py index 2c4304f..94ddeb6 100644 --- a/src/core/ytsage_deno.py +++ b/src/core/ytsage_deno.py @@ -171,8 +171,9 @@ class DownloadDenoThread(QThread): self.finished_signal.emit(False, f"Executable '{executable_name}' not found in zip") return - # Extract to app bin directory - zip_ref.extract(executable_name, APP_BIN_DIR) + # Extract to app bin directory + target_dir = DENO_APP_BIN_PATH.parent + zip_ref.extract(executable_name, target_dir) # Verify the extracted file exists exe_path = DENO_APP_BIN_PATH From 26d063327c66150ba0030678ad1bfb6a8e40433c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 7 Jan 2026 18:45:51 +0200 Subject: [PATCH 353/568] Fix indentation for zip extraction block Corrected the indentation so that the extraction of the executable occurs within the context of the open zip file. This ensures the file is extracted while the zip is accessible, preventing potential errors. --- src/core/ytsage_deno.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/ytsage_deno.py b/src/core/ytsage_deno.py index 94ddeb6..4d76e0d 100644 --- a/src/core/ytsage_deno.py +++ b/src/core/ytsage_deno.py @@ -171,9 +171,9 @@ class DownloadDenoThread(QThread): self.finished_signal.emit(False, f"Executable '{executable_name}' not found in zip") return - # Extract to app bin directory - target_dir = DENO_APP_BIN_PATH.parent - zip_ref.extract(executable_name, target_dir) + # Extract to app bin directory (while zip_ref is open) + target_dir = DENO_APP_BIN_PATH.parent + zip_ref.extract(executable_name, target_dir) # Verify the extracted file exists exe_path = DENO_APP_BIN_PATH From c16e84105e3861cc7ebefeaa0aa04ef7c88c53ef Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 21:01:52 +0200 Subject: [PATCH 354/568] Increase subprocess timeout to 300 seconds Extended the timeout for the subprocess running yt-dlp from 60 to 300 seconds to accommodate longer-running download or processing tasks. --- src/gui/ytsage_gui_main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 7e4161f..7258767 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -1969,7 +1969,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Execute command with hidden console window on Windows # Extra logic moved to src\utils\ytsage_constants.py - result = subprocess.run(cmd, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) + result = subprocess.run(cmd, capture_output=True, text=True, timeout=300, creationflags=SUBPROCESS_CREATIONFLAGS) if result.returncode != 0: logger.error(f"yt-dlp failed: {result.stderr}") From f8f2910f06789a053d58594c0dcaeb1513c2d006 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 21:10:01 +0200 Subject: [PATCH 355/568] Fix f-string backslash SyntaxError in AboutDialog Refactored AboutDialog to avoid backslashes in f-string expressions by assigning HTML links to variables before formatting. This resolves a SyntaxError encountered when running YTSage with Python 3.11. --- src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index 3ac4a39..c25481f 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -178,14 +178,16 @@ class AboutDialog(QDialog): info_layout = QHBoxLayout() info_layout.setSpacing(15) + author_link = 'oop7' author_label = QLabel( - f"{_('about.author', author='oop7')}" + f"{_('about.author', author=author_link)}" ) author_label.setOpenExternalLinks(True) info_layout.addWidget(author_label) + repo_link = 'YTSage' repo_label = QLabel( - f"{_('about.github', repo='YTSage')}" + f"{_('about.github', repo=repo_link)}" ) repo_label.setOpenExternalLinks(True) info_layout.addWidget(repo_label) From fd192455f5838a8d36faa3e79d7c666ef847cf76 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 21:21:06 +0200 Subject: [PATCH 356/568] Handle Path objects in config JSON serialization Added a custom converter to serialize Path objects as strings when saving the application configuration to JSON. This prevents serialization errors if Path objects are present in the config. --- src/core/ytsage_utils.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/core/ytsage_utils.py b/src/core/ytsage_utils.py index 158acae..2e6c345 100644 --- a/src/core/ytsage_utils.py +++ b/src/core/ytsage_utils.py @@ -362,8 +362,14 @@ def load_config() -> Dict[str, Any]: def save_config(config: Dict[str, Any]) -> bool: """Save the application configuration to file.""" try: + # Convert any Path objects to strings for JSON serialization + def _convert_path(obj): + if isinstance(obj, Path): + return str(obj) + raise TypeError(f"Object of type {obj.__class__.__name__} is not JSON serializable") + with open(APP_CONFIG_FILE, "w", encoding="utf-8") as f: - json.dump(config, f, ensure_ascii=False, indent=2) + json.dump(config, f, ensure_ascii=False, indent=2, default=_convert_path) return True except Exception as e: logger.exception(f"Error saving config: {e}") From 2b7cce133347de6ccfa51d7c176db41b2b7242a1 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 21:26:26 +0200 Subject: [PATCH 357/568] Add threaded loading and spinner to history dialog Introduces a HistoryLoaderThread to load history entries and pre-fetch thumbnails in the background, preventing UI freezes. Adds a loading spinner and disables the 'Clear All' button while loading, improving user experience during history retrieval. --- .../ytsage_dialogs_history.py | 100 ++++++++++++++++-- 1 file changed, 93 insertions(+), 7 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py index f705ee6..12fc717 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py @@ -12,7 +12,7 @@ from typing import TYPE_CHECKING, Optional import requests from PIL import Image -from PySide6.QtCore import Qt, QSize, Signal +from PySide6.QtCore import Qt, QSize, Signal, QThread, QTimer from PySide6.QtGui import QPixmap, QIcon from PySide6.QtWidgets import ( QDialog, @@ -27,6 +27,7 @@ from PySide6.QtWidgets import ( QMenu, QMessageBox, QSizePolicy, + QProgressBar, ) from src.utils.ytsage_history_manager import HistoryManager @@ -38,6 +39,46 @@ if TYPE_CHECKING: from src.gui.ytsage_gui_main import YTSageApp +class HistoryLoaderThread(QThread): + """Thread to load history and pre-fetch thumbnails.""" + + finished = Signal(list) + + def run(self): + try: + # HistoryManager uses get_all_entries, not get_all + entries = HistoryManager.get_all_entries() + + # Pre-fetch thumbnails so UI doesn't freeze + for entry in entries: + thumbnail_url = entry.get("thumbnail_url") + entry_id = entry.get("id", "") + + if not thumbnail_url or not entry_id: + continue + + thumbnail_filename = f"{entry_id}.jpg" + thumbnail_path = APP_THUMBNAILS_DIR / thumbnail_filename + + # If not exists, download it + if not thumbnail_path.exists(): + try: + response = requests.get(thumbnail_url, timeout=5) + if response.status_code == 200: + APP_THUMBNAILS_DIR.mkdir(parents=True, exist_ok=True) + + image = Image.open(BytesIO(response.content)) + image.save(thumbnail_path, "JPEG", quality=95, optimize=True) + except Exception as e: + logger.debug(f"Error caching thumbnail in background: {e}") + + self.finished.emit(entries) + + except Exception as e: + logger.error(f"Error loading history: {e}") + self.finished.emit([]) + + class HistoryEntryWidget(QFrame): """Widget representing a single history entry.""" @@ -362,7 +403,23 @@ class HistoryDialog(QDialog): self.entry_widgets = [] self.setup_ui() - self.load_history() + + # Show loading state initially + self.show_loading_state() + + # Start loading history in background after a short delay + # to ensure the dialog is shown first + QTimer.singleShot(100, self.start_loading_history) + + def start_loading_history(self): + """Start the background thread to load history.""" + self.loader_thread = HistoryLoaderThread() + self.loader_thread.finished.connect(self.on_history_loaded) + self.loader_thread.start() + + def on_history_loaded(self, entries): + """Called when history is loaded from background thread.""" + self.load_history_entries(entries) def setup_ui(self): """Setup the dialog UI.""" @@ -466,15 +523,43 @@ class HistoryDialog(QDialog): } """) - def load_history(self): - """Load and display history entries.""" - # Clear existing widgets + def clear_history_list(self): + """Clear existing history widgets.""" for widget in self.entry_widgets: widget.deleteLater() self.entry_widgets.clear() + + def show_loading_state(self): + """Show loading indicator.""" + # Clear existing content + self.clear_history_list() - # Get history entries - entries = HistoryManager.get_all_entries() + loading_widget = QWidget() + loading_layout = QVBoxLayout(loading_widget) + loading_layout.setAlignment(Qt.AlignmentFlag.AlignCenter) + + spinner_label = QLabel("⏳") # Simple spinner icon + spinner_label.setStyleSheet("font-size: 48px; color: #c90000;") + spinner_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + loading_layout.addWidget(spinner_label) + + # text_label removed as per user request + + self.history_layout.addWidget(loading_widget) + self.entry_widgets.append(loading_widget) + + self.status_label.setText("Loading...") + self.clear_all_btn.setEnabled(False) + + def load_history(self): + """Load and display history entries.""" + if hasattr(self, 'history_container'): + self.show_loading_state() + self.start_loading_history() + + def load_history_entries(self, entries): + """Populate the history list with entries.""" + self.clear_history_list() if not entries: self.show_empty_state() @@ -496,6 +581,7 @@ class HistoryDialog(QDialog): else: status_text = _("history.entries_count", count=count) self.status_label.setText(status_text) + self.clear_all_btn.setEnabled(True) def show_empty_state(self): """Show empty state when there's no history.""" From ffb938b181c6a8c02e3566648d6177800ec03798 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 21:43:01 +0200 Subject: [PATCH 358/568] Add playlist filter and show video durations in selection dialog Introduces a filter input to the PlaylistSelectionDialog for searching videos by title and displays video durations next to each entry. Updates English translations to support the new filter placeholder and analysis status message. --- languages/en.json | 2 + .../ytsage_dialogs_selection.py | 51 +++++++++++++++++-- 2 files changed, 50 insertions(+), 3 deletions(-) diff --git a/languages/en.json b/languages/en.json index 0fff390..8f7684b 100644 --- a/languages/en.json +++ b/languages/en.json @@ -92,6 +92,7 @@ "sponsorblock_description": "Select which types of video segments to automatically remove during download.\nSponsorBlock uses community-submitted data to identify these segments.", "select_subtitles": "Select Subtitles", "filter_languages_placeholder": "Filter languages (e.g., en, es)...", + "filter_playlist_placeholder": "Filter videos...", "no_subtitles_available": "No subtitles available", "matching": "matching" }, @@ -336,6 +337,7 @@ "analyzing_updating_table": "Analyzing (95%)... Updating format table", "analysis_complete": "Analysis complete!", "analyzing_extracting_ytdlp": "Analyzing (30%)... Extracting info", + "analyzing_fetching_first_video": "Analyzing... Fetching formats for first video", "analyzing_processing_data": "Analyzing (60%)... Processing data", "analyzing_processing_formats_ytdlp": "Analyzing (75%)... Processing formats", "analyzing_loading_thumbnail_ytdlp": "Analyzing (85%)... Loading thumbnail", diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py index 9d36b6d..bead261 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py @@ -208,6 +208,27 @@ class PlaylistSelectionDialog(QDialog): # Main layout main_layout = QVBoxLayout(self) + # Filter Input + self.filter_input = QLineEdit() + self.filter_input.setPlaceholderText(_("dialogs.filter_playlist_placeholder")) + self.filter_input.textChanged.connect(self.filter_list) + self.filter_input.setStyleSheet( + """ + QLineEdit { + background-color: #363636; + border: 2px solid #3d3d3d; + border-radius: 4px; + padding: 5px; + min-height: 30px; + color: white; + } + QLineEdit:focus { + border-color: #ff0000; + } + """ + ) + main_layout.addWidget(self.filter_input) + # Top buttons (Select/Deselect All) button_layout = QHBoxLayout() select_all_btn = QPushButton(_("buttons.select_all")) @@ -339,6 +360,13 @@ class PlaylistSelectionDialog(QDialog): pass # Ignore invalid numbers return selected_indices + def filter_list(self, text: str) -> None: + """Filter the list of checkboxes based on title.""" + text = text.lower() + for checkbox in self.checkboxes: + title = (checkbox.property("full_title") or "").lower() + checkbox.setVisible(text in title) + def _populate_list(self, previously_selected_string) -> None: """Populates the scroll area with checkboxes for each video.""" selected_indices = self._parse_selection_string(previously_selected_string) @@ -356,12 +384,29 @@ class PlaylistSelectionDialog(QDialog): video_index = index + 1 # yt-dlp uses 1-based indexing title = entry.get("title", f"Video {video_index}") - # Shorten title if too long - display_title = (title[:70] + "...") if len(title) > 73 else title + + # Format duration + duration = entry.get("duration") + duration_str = "" + if duration: + try: + m, s = divmod(int(duration), 60) + h, m = divmod(m, 60) + if h > 0: + duration_str = f" [{h}:{m:02d}:{s:02d}]" + else: + duration_str = f" [{m:02d}:{s:02d}]" + except (ValueError, TypeError): + pass + + # Shorten title if too long but keep enough space for duration + max_len = 65 + display_title = (title[:max_len] + "...") if len(title) > max_len + 3 else title - checkbox = QCheckBox(f"{video_index}. {display_title}") + checkbox = QCheckBox(f"{video_index}. {display_title}{duration_str}") checkbox.setChecked(video_index in selected_indices) checkbox.setProperty("video_index", video_index) # Store index + checkbox.setProperty("full_title", title) # Store full title for filtering checkbox.setStyleSheet( """ QCheckBox { From 67fdb508f401ecd5e8bd475b83ea663b44fd8819 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 21:43:08 +0200 Subject: [PATCH 359/568] Optimize playlist extraction with yt-dlp flat-playlist Switches to using yt-dlp's --flat-playlist and --dump-single-json for faster initial playlist info extraction. Now fetches minimal info for all videos quickly, then retrieves full details for the first video only to populate format information, improving performance and reducing unnecessary data processing. --- src/gui/ytsage_gui_main.py | 44 ++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 7258767..2b6598c 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -1952,7 +1952,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from url = f"https://www.youtube.com/playlist?list={playlist_id}" # Build command for basic info extraction - cmd = [yt_dlp_path, "--dump-json", "--no-warnings", url] + # Use --flat-playlist for fast initial extraction of playlist info + --dump-single-json + # This fetches minimal info for all videos quickly without downloading full details for each + cmd = [yt_dlp_path, "--dump-single-json", "--flat-playlist", "--no-warnings", url] # Add cookies if available if self.cookie_file_path: @@ -1998,21 +2000,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.update_status.emit(_("main_ui.analyzing_processing_data")) - if first_info.get("_type") == "playlist" or len(json_lines) > 1: + if first_info.get("_type") == "playlist": # Handle playlist self.is_playlist = True self.playlist_info = first_info self.selected_playlist_items = None - self.playlist_entries = [] - - # Parse all entries - for line in json_lines: - try: - entry = json.loads(line) - if entry.get("_type") != "playlist": # Skip playlist metadata - self.playlist_entries.append(entry) - except json.JSONDecodeError: - continue + self.playlist_entries = first_info.get("entries", []) if not self.playlist_entries: logger.error("Playlist contains no valid videos.") @@ -2021,8 +2014,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.playlist_select_btn_visible.emit(False) return - # Use first video for format information - self.video_info = self.playlist_entries[0] + # Even with flat-playlist, we need one video's formats to populate the table. + # Just use the first video URL to get full details quickly. + self.signals.update_status.emit(_("main_ui.analyzing_fetching_first_video")) + first_video_entry = self.playlist_entries[0] + first_video_url = first_video_entry.get("url") + + # Fetch full info for just the first video to get formats + cmd_single = [yt_dlp_path, "--dump-single-json", "--no-warnings", first_video_url] + # Add cookies & proxy to this single request too + if self.cookie_file_path: + cmd_single.extend(["--cookies", str(self.cookie_file_path)]) + elif self.browser_cookies_option: + cmd_single.extend(["--cookies-from-browser", self.browser_cookies_option]) + if self.proxy_url: + cmd_single.extend(["--proxy", self.proxy_url]) + if self.geo_proxy_url: + cmd_single.extend(["--geo-verification-proxy", self.geo_proxy_url]) + + result_single = subprocess.run(cmd_single, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) + + if result_single.returncode == 0: + self.video_info = json.loads(result_single.stdout) + else: + # Fallback to whatever minimal info we have, might fail table population + self.video_info = first_video_entry # Update playlist info label playlist_text = _("playlist.display_format", From d087c306f2c92e05d22d353dac8d10e874b3fcb2 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 21:48:45 +0200 Subject: [PATCH 360/568] Add 'analyzing_fetching_first_video' translation key Introduced the 'analyzing_fetching_first_video' string to all supported language files for consistent UI messaging during the analysis process. --- languages/ar.json | 1 + languages/de.json | 1 + languages/es.json | 1 + languages/fr.json | 1 + languages/hi.json | 1 + languages/id.json | 1 + languages/it.json | 1 + languages/ja.json | 1 + languages/pl.json | 1 + languages/pt.json | 1 + languages/ru.json | 1 + languages/tr.json | 1 + languages/zh.json | 1 + 13 files changed, 13 insertions(+) diff --git a/languages/ar.json b/languages/ar.json index 458c65b..3cd4a0e 100644 --- a/languages/ar.json +++ b/languages/ar.json @@ -336,6 +336,7 @@ "analyzing_updating_table": "التحليل (95%)... جاري تحديث جدول التنسيقات", "analysis_complete": "اكتمل التحليل!", "analyzing_extracting_ytdlp": "التحليل (30%)... جاري استخراج المعلومات", + "analyzing_fetching_first_video": "تحليل... جاري جلب التنسيقات للفيديو الأول", "analyzing_processing_data": "التحليل (60%)... جاري معالجة البيانات", "analyzing_processing_formats_ytdlp": "التحليل (75%)... جاري معالجة التنسيقات", "analyzing_loading_thumbnail_ytdlp": "التحليل (85%)... جاري تحميل الصورة المصغرة", diff --git a/languages/de.json b/languages/de.json index 9418482..3e9d727 100644 --- a/languages/de.json +++ b/languages/de.json @@ -336,6 +336,7 @@ "analyzing_updating_table": "Analysiere (95%)... Formattabelle wird aktualisiert", "analysis_complete": "Analyse abgeschlossen!", "analyzing_extracting_ytdlp": "Analysiere (30%)... Informationen werden extrahiert", + "analyzing_fetching_first_video": "Analysiere... Formate für das erste Video werden abgerufen", "analyzing_processing_data": "Analysiere (60%)... Daten werden verarbeitet", "analyzing_processing_formats_ytdlp": "Analysiere (75%)... Formate werden verarbeitet", "analyzing_loading_thumbnail_ytdlp": "Analysiere (85%)... Thumbnail wird geladen", diff --git a/languages/es.json b/languages/es.json index 2202449..465fcdd 100644 --- a/languages/es.json +++ b/languages/es.json @@ -319,6 +319,7 @@ "analyzing_updating_table": "Analizando (95%)... Actualizando tabla de formatos", "analysis_complete": "¡Análisis completo!", "analyzing_extracting_ytdlp": "Analizando (30%)... Extrayendo información", + "analyzing_fetching_first_video": "Analizando... Obteniendo formatos del primer video", "analyzing_processing_data": "Analizando (60%)... Procesando datos", "analyzing_processing_formats_ytdlp": "Analizando (75%)... Procesando formatos", "analyzing_loading_thumbnail_ytdlp": "Analizando (85%)... Cargando miniatura", diff --git a/languages/fr.json b/languages/fr.json index 1f57977..51a2f6b 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -336,6 +336,7 @@ "analyzing_updating_table": "Analyse (95%)... Mise à jour du tableau des formats", "analysis_complete": "Analyse terminée !", "analyzing_extracting_ytdlp": "Analyse (30%)... Extraction d'informations", + "analyzing_fetching_first_video": "Analyse... Récupération des formats pour la première vidéo", "analyzing_processing_data": "Analyse (60%)... Traitement des données", "analyzing_processing_formats_ytdlp": "Analyse (75%)... Traitement des formats", "analyzing_loading_thumbnail_ytdlp": "Analyse (85%)... Chargement de la miniature", diff --git a/languages/hi.json b/languages/hi.json index 6e8ce90..bf4360c 100644 --- a/languages/hi.json +++ b/languages/hi.json @@ -336,6 +336,7 @@ "analyzing_updating_table": "विश्लेषण (95%)... प्रारूप तालिका अपडेट हो रही है", "analysis_complete": "विश्लेषण पूर्ण!", "analyzing_extracting_ytdlp": "विश्लेषण (30%)... जानकारी निकाली जा रही है", + "analyzing_fetching_first_video": "विश्लेषण कर रहा है... पहले वीडियो के लिए प्रारूप प्राप्त कर रहा है", "analyzing_processing_data": "विश्लेषण (60%)... डेटा प्रोसेस हो रहा है", "analyzing_processing_formats_ytdlp": "विश्लेषण (75%)... प्रारूप प्रोसेस हो रहे हैं", "analyzing_loading_thumbnail_ytdlp": "विश्लेषण (85%)... थंबनेल लोड हो रहा है", diff --git a/languages/id.json b/languages/id.json index c9358b6..f1e60f2 100644 --- a/languages/id.json +++ b/languages/id.json @@ -336,6 +336,7 @@ "analyzing_updating_table": "Menganalisis (95%)... Memperbarui tabel format", "analysis_complete": "Analisis selesai!", "analyzing_extracting_ytdlp": "Menganalisis (30%)... Mengekstrak informasi", + "analyzing_fetching_first_video": "Menganalisis... Mengambil format untuk video pertama", "analyzing_processing_data": "Menganalisis (60%)... Memproses data", "analyzing_processing_formats_ytdlp": "Menganalisis (75%)... Memproses format", "analyzing_loading_thumbnail_ytdlp": "Menganalisis (85%)... Memuat thumbnail", diff --git a/languages/it.json b/languages/it.json index e2a94b3..7cfaf98 100644 --- a/languages/it.json +++ b/languages/it.json @@ -336,6 +336,7 @@ "analyzing_updating_table": "Analisi (95%)... Aggiornamento tabella formati", "analysis_complete": "Analisi completata!", "analyzing_extracting_ytdlp": "Analisi (30%)... Estrazione informazioni", + "analyzing_fetching_first_video": "Analisi... Recupero dei formati per il primo video", "analyzing_processing_data": "Analisi (60%)... Elaborazione dati", "analyzing_processing_formats_ytdlp": "Analisi (75%)... Elaborazione formati", "analyzing_loading_thumbnail_ytdlp": "Analisi (85%)... Caricamento miniatura", diff --git a/languages/ja.json b/languages/ja.json index 9cdfa27..4b8d4e2 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -336,6 +336,7 @@ "analyzing_updating_table": "解析中 (95%)... フォーマットテーブルを更新中", "analysis_complete": "解析完了!", "analyzing_extracting_ytdlp": "解析中 (30%)... 情報を抽出中", + "analyzing_fetching_first_video": "解析中... 最初のビデオの形式を取得しています", "analyzing_processing_data": "解析中 (60%)... データを処理中", "analyzing_processing_formats_ytdlp": "解析中 (75%)... フォーマットを処理中", "analyzing_loading_thumbnail_ytdlp": "解析中 (85%)... サムネイルを読み込み中", diff --git a/languages/pl.json b/languages/pl.json index b4b3043..8db7dc4 100644 --- a/languages/pl.json +++ b/languages/pl.json @@ -335,6 +335,7 @@ "analyzing_processing_subtitles": "Analizowanie (85%)... Przetwarzanie napisów", "analyzing_updating_table": "Analizowanie (95%)... Aktualizowanie tabeli formatów", "analysis_complete": "Analiza zakończona!", + "analyzing_fetching_first_video": "Analizowanie... Pobieranie formatów dla pierwszego filmu", "analyzing_extracting_ytdlp": "Analizowanie (30%)... Wyodrębnianie informacji", "analyzing_processing_data": "Analizowanie (60%)... Przetwarzanie danych", "analyzing_processing_formats_ytdlp": "Analizowanie (75%)... Przetwarzanie formatów", diff --git a/languages/pt.json b/languages/pt.json index ae43495..27f3152 100644 --- a/languages/pt.json +++ b/languages/pt.json @@ -335,6 +335,7 @@ "analyzing_processing_subtitles": "Analisando (85%)... Processando legendas", "analyzing_updating_table": "Analisando (95%)... Atualizando tabela de formatos", "analysis_complete": "Análise completa!", + "analyzing_fetching_first_video": "Analisando... Obtendo formatos do primeiro vídeo", "analyzing_extracting_ytdlp": "Analisando (30%)... Extraindo informações", "analyzing_processing_data": "Analisando (60%)... Processando dados", "analyzing_processing_formats_ytdlp": "Analisando (75%)... Processando formatos", diff --git a/languages/ru.json b/languages/ru.json index 863c824..1c7448b 100644 --- a/languages/ru.json +++ b/languages/ru.json @@ -335,6 +335,7 @@ "analyzing_processing_subtitles": "Анализ (85%)... Обработка субтитров", "analyzing_updating_table": "Анализ (95%)... Обновление таблицы форматов", "analysis_complete": "Анализ завершен!", + "analyzing_fetching_first_video": "Анализ... Получение форматов для первого видео", "analyzing_extracting_ytdlp": "Анализ (30%)... Извлечение информации", "analyzing_processing_data": "Анализ (60%)... Обработка данных", "analyzing_processing_formats_ytdlp": "Анализ (75%)... Обработка форматов", diff --git a/languages/tr.json b/languages/tr.json index bb33054..906be44 100644 --- a/languages/tr.json +++ b/languages/tr.json @@ -335,6 +335,7 @@ "analyzing_processing_subtitles": "Analiz ediliyor (85%)... Altyazılar işleniyor", "analyzing_updating_table": "Analiz ediliyor (95%)... Format tablosu güncelleniyor", "analysis_complete": "Analiz tamamlandı!", + "analyzing_fetching_first_video": "Analiz ediliyor... İlk video için formatlar alınıyor", "analyzing_extracting_ytdlp": "Analiz ediliyor (30%)... Bilgiler çıkarılıyor", "analyzing_processing_data": "Analiz ediliyor (60%)... Veriler işleniyor", "analyzing_processing_formats_ytdlp": "Analiz ediliyor (75%)... Formatlar işleniyor", diff --git a/languages/zh.json b/languages/zh.json index f750b34..da2e429 100644 --- a/languages/zh.json +++ b/languages/zh.json @@ -335,6 +335,7 @@ "analyzing_processing_subtitles": "分析中 (85%)... 正在处理字幕", "analyzing_updating_table": "分析中 (95%)... 正在更新格式表", "analysis_complete": "分析完成!", + "analyzing_fetching_first_video": "分析中... 正在获取第一个视频的格式", "analyzing_extracting_ytdlp": "分析中 (30%)... 提取信息", "analyzing_processing_data": "分析中 (60%)... 正在处理数据", "analyzing_processing_formats_ytdlp": "分析中 (75%)... 正在处理格式", From 5ed67cb32f4490677b20ddeae569c38faabe4269 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 21:58:50 +0200 Subject: [PATCH 361/568] Bump version to 5.0.0b Update the __version__ string to 5.0.0b to reflect the next major beta release. --- src/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__init__.py b/src/__init__.py index 9bbd51f..cc62bb6 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "4.9.8b" +__version__ = "5.0.0b" __author__ = "oop7" From 6a4264eeab4ab5d1bbe7dd288b32ba91058e5c30 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 22:04:23 +0200 Subject: [PATCH 362/568] Add contents write permission to release workflow Updated the release-all GitHub Actions workflow to include 'contents: write' permission, enabling the workflow to perform actions that require write access to repository contents. --- .github/workflows/release-all.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release-all.yml b/.github/workflows/release-all.yml index 7e0fdef..c46dd44 100644 --- a/.github/workflows/release-all.yml +++ b/.github/workflows/release-all.yml @@ -8,6 +8,9 @@ on: required: true type: string +permissions: + contents: write + jobs: release-windows: uses: ./.github/workflows/build-windows.yml From 1e5157bbadd87bcd9a070cd0162bec487e29799d Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 22:06:10 +0200 Subject: [PATCH 363/568] Sync with the beta branch --- .github/workflows/release-all.yml | 59 ++++++++++++++++--------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/.github/workflows/release-all.yml b/.github/workflows/release-all.yml index 7e0fdef..5699b51 100644 --- a/.github/workflows/release-all.yml +++ b/.github/workflows/release-all.yml @@ -1,28 +1,31 @@ -name: Create All Releases - -on: - workflow_dispatch: - inputs: - version: - description: 'Version name for the release (e.g., 1.0.0)' - required: true - type: string - -jobs: - release-windows: - uses: ./.github/workflows/build-windows.yml - with: - version: ${{ inputs.version }} - secrets: inherit - - release-linux: - uses: ./.github/workflows/build-linux.yml - with: - version: ${{ inputs.version }} - secrets: inherit - - release-macos: - uses: ./.github/workflows/build-macos.yml - with: - version: ${{ inputs.version }} - secrets: inherit +name: Create All Releases + +on: + workflow_dispatch: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string + +permissions: + contents: write + +jobs: + release-windows: + uses: ./.github/workflows/build-windows.yml + with: + version: ${{ inputs.version }} + secrets: inherit + + release-linux: + uses: ./.github/workflows/build-linux.yml + with: + version: ${{ inputs.version }} + secrets: inherit + + release-macos: + uses: ./.github/workflows/build-macos.yml + with: + version: ${{ inputs.version }} + secrets: inherit From ca7ac168fe570c63222d14d2b0f57ca490c7dee5 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 22:13:08 +0200 Subject: [PATCH 364/568] Update badges in README with download stats Replaces the generic downloads badge with separate PyPI and GitHub downloads badges for improved clarity. Enhances visibility of project statistics in the README. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 74e6e94..77e6d6d 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) -[![Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=downloads&logo=download&logoColor=white)](https://pepy.tech/project/ytsage) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=pypi%20downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=4b5563&style=for-the-badge&label=github%20downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) **A modern YouTube downloader with a clean PySide6 interface.** From 9a81c4b56499f6d149de334add28a660d521df32 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 17 Jan 2026 22:16:35 +0200 Subject: [PATCH 365/568] Update badge labels in README Changed the 'pypi downloads' and 'github downloads' badge labels to 'downloads' for consistency and improved readability. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 77e6d6d..c5548cc 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://badge.fury.io/py/ytsage) [![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) -[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=pypi%20downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) -[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=4b5563&style=for-the-badge&label=github%20downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=4b5563&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) **A modern YouTube downloader with a clean PySide6 interface.** From 0d1eb35ba247805266fa2f309e063c9dab4aeb2d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 21 Jan 2026 15:15:14 +0200 Subject: [PATCH 366/568] Add debug log for yt-dlp command execution Inserted a debug log statement to output the full yt-dlp command before execution. This will help diagnose issues related to command construction and subprocess invocation. --- src/gui/ytsage_gui_main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 2b6598c..935d489 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -1969,6 +1969,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from if self.geo_proxy_url: cmd.extend(["--geo-verification-proxy", self.geo_proxy_url]) + logger.debug(f"Executing yt-dlp command: {cmd}") + # Execute command with hidden console window on Windows # Extra logic moved to src\utils\ytsage_constants.py result = subprocess.run(cmd, capture_output=True, text=True, timeout=300, creationflags=SUBPROCESS_CREATIONFLAGS) From a92ffd3b011a3143d8c3c4e3bc1c01fc4ae26126 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:16:35 +0200 Subject: [PATCH 367/568] Download video thumbnails asynchronously in GUI Refactored thumbnail downloading to use a QThread for asynchronous operation, preventing UI blocking. Added ThumbnailDownloadThread class and updated VideoInfoMixin to handle threaded download and error reporting. --- src/gui/ytsage_gui_video_info.py | 45 +++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/src/gui/ytsage_gui_video_info.py b/src/gui/ytsage_gui_video_info.py index 06b282f..8ab17f8 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/src/gui/ytsage_gui_video_info.py @@ -6,7 +6,7 @@ from typing import TYPE_CHECKING, cast import requests from PIL import Image -from PySide6.QtCore import Qt +from PySide6.QtCore import Qt, QThread, Signal from PySide6.QtGui import QPixmap from PySide6.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout, QWidget @@ -21,6 +21,26 @@ if TYPE_CHECKING: from src.gui.ytsage_gui_main import YTSageApp +class ThumbnailDownloadThread(QThread): + """Thread to download thumbnail image asynchronously.""" + finished = Signal(bytes) + error = Signal(str) + + def __init__(self, url): + super().__init__() + self.url = url + + def run(self): + try: + response = requests.get(self.url, timeout=10) + if response.status_code == 200: + self.finished.emit(response.content) + else: + self.error.emit(f"HTTP Error: {response.status_code}") + except Exception as e: + self.error.emit(str(e)) + + class VideoInfoMixin: def setup_video_info_section(self) -> QHBoxLayout: self = cast("YTSageApp", self) # for autocompletion and type inference. @@ -368,14 +388,21 @@ class VideoInfoMixin: def download_thumbnail(self, url) -> None: self = cast("YTSageApp", self) # for autocompletion and type inference. - try: - # Store both thumbnail URL and video URL - self.thumbnail_url = url - self.video_url = self.url_input.text() # Get actual video URL + # Store both thumbnail URL and video URL + self.thumbnail_url = url + self.video_url = self.url_input.text() # Get actual video URL - # Download thumbnail but don't save yet - response = requests.get(url) - self.thumbnail_image = Image.open(BytesIO(response.content)) + # Create and start loader thread + # Keep reference to avoid garbage collection + self.thumbnail_thread = ThumbnailDownloadThread(url) + self.thumbnail_thread.finished.connect(self._on_thumbnail_downloaded) + self.thumbnail_thread.error.connect(lambda e: logger.error(f"Error loading thumbnail: {e}")) + self.thumbnail_thread.start() + + def _on_thumbnail_downloaded(self, content: bytes) -> None: + self = cast("YTSageApp", self) + try: + self.thumbnail_image = Image.open(BytesIO(content)) # Display thumbnail image = self.thumbnail_image.resize((320, 180), Image.Resampling.LANCZOS) @@ -385,7 +412,7 @@ class VideoInfoMixin: pixmap.loadFromData(img_byte_arr.getvalue()) self.thumbnail_label.setPixmap(pixmap) except Exception as e: - logger.exception(f"Error loading thumbnail: {e}") + logger.exception(f"Error processing thumbnail image: {e}") def download_thumbnail_file(self, video_url, path) -> bool: self = cast("YTSageApp", self) # for autocompletion and type inference. From ea54f469ac5c94a78e1fa5996140478d5ab20697 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:16:48 +0200 Subject: [PATCH 368/568] Improve history loading and thumbnail caching UX Refactors the history loading process to emit entries as soon as they are loaded, allowing the UI to display immediately. Thumbnail downloads are now handled in the background, with widgets updated via a new signal when thumbnails are cached. This prevents UI freezes and improves responsiveness by showing placeholders until thumbnails are available. --- .../ytsage_dialogs_history.py | 69 ++++++++----------- 1 file changed, 29 insertions(+), 40 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py index 12fc717..29e474f 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py @@ -42,14 +42,18 @@ if TYPE_CHECKING: class HistoryLoaderThread(QThread): """Thread to load history and pre-fetch thumbnails.""" - finished = Signal(list) + entries_loaded = Signal(list) + thumbnail_loaded = Signal(str) def run(self): try: # HistoryManager uses get_all_entries, not get_all entries = HistoryManager.get_all_entries() - # Pre-fetch thumbnails so UI doesn't freeze + # Emit entries immediately so UI shows up + self.entries_loaded.emit(entries) + + # Pre-fetch thumbnails in background for entry in entries: thumbnail_url = entry.get("thumbnail_url") entry_id = entry.get("id", "") @@ -69,14 +73,13 @@ class HistoryLoaderThread(QThread): image = Image.open(BytesIO(response.content)) image.save(thumbnail_path, "JPEG", quality=95, optimize=True) + self.thumbnail_loaded.emit(entry_id) except Exception as e: logger.debug(f"Error caching thumbnail in background: {e}") - self.finished.emit(entries) - except Exception as e: logger.error(f"Error loading history: {e}") - self.finished.emit([]) + self.entries_loaded.emit([]) class HistoryEntryWidget(QFrame): @@ -246,40 +249,13 @@ class HistoryEntryWidget(QFrame): except Exception as e: logger.debug(f"Error loading cached thumbnail: {e}") - # Download thumbnail - try: - response = requests.get(thumbnail_url, timeout=5) - response.raise_for_status() - - image = Image.open(BytesIO(response.content)) - - # Don't resize, keep original quality and just save at higher quality - # The QPixmap scaling will handle the display size with high quality - - # Save to cache with higher quality - try: - APP_THUMBNAILS_DIR.mkdir(parents=True, exist_ok=True) - image.save(thumbnail_path, "JPEG", quality=95, optimize=True) - except Exception as e: - logger.debug(f"Error caching thumbnail: {e}") - - # Convert to QPixmap - image_bytes = BytesIO() - image.save(image_bytes, format="JPEG", quality=95) - image_bytes.seek(0) - - pixmap = QPixmap() - pixmap.loadFromData(image_bytes.read()) - - if not pixmap.isNull(): - # Don't scale here, let setScaledContents handle it - self.thumbnail_label.setPixmap(pixmap) - else: - self.set_placeholder_thumbnail() - - except Exception as e: - logger.debug(f"Error downloading thumbnail: {e}") - self.set_placeholder_thumbnail() + # If not in cache, just set placeholder. + # Background thread will download it and notify parent to reload. + self.set_placeholder_thumbnail() + + def reload_thumbnail(self): + """Reload thumbnail from cache (called when background download finishes).""" + self.load_thumbnail() def set_placeholder_thumbnail(self): """Set a placeholder when thumbnail is not available.""" @@ -401,6 +377,7 @@ class HistoryDialog(QDialog): super().__init__(parent) self.parent_app = parent self.entry_widgets = [] + self.entry_widgets_map = {} # Map entry_id -> widget self.setup_ui() @@ -414,12 +391,18 @@ class HistoryDialog(QDialog): def start_loading_history(self): """Start the background thread to load history.""" self.loader_thread = HistoryLoaderThread() - self.loader_thread.finished.connect(self.on_history_loaded) + self.loader_thread.entries_loaded.connect(self.on_history_loaded) + self.loader_thread.thumbnail_loaded.connect(self.update_entry_thumbnail) self.loader_thread.start() def on_history_loaded(self, entries): """Called when history is loaded from background thread.""" self.load_history_entries(entries) + + def update_entry_thumbnail(self, entry_id: str): + """Called when a thumbnail is downloaded in the background.""" + if entry_id in self.entry_widgets_map: + self.entry_widgets_map[entry_id].reload_thumbnail() def setup_ui(self): """Setup the dialog UI.""" @@ -528,6 +511,7 @@ class HistoryDialog(QDialog): for widget in self.entry_widgets: widget.deleteLater() self.entry_widgets.clear() + self.entry_widgets_map.clear() def show_loading_state(self): """Show loading indicator.""" @@ -572,6 +556,11 @@ class HistoryDialog(QDialog): widget.redownload_requested.connect(self.handle_redownload) self.history_layout.addWidget(widget) + + # Map widget by ID for updates + entry_id = entry.get("id") + if entry_id: + self.entry_widgets_map[entry_id] = widget self.entry_widgets.append(widget) # Update status From 29f713cf1733e123c9c052f4eb78d7676890835c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:19:49 +0200 Subject: [PATCH 369/568] Refine HistoryEntryWidget layout and sizing Adjusted padding, margin, and spacing for a more compact layout. Standardized the thumbnail size to 240x135 (16:9 ratio) and reduced the menu button size for better visual balance. --- .../ytsage_dialogs_history.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py index 29e474f..6345ff5 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py @@ -103,8 +103,8 @@ class HistoryEntryWidget(QFrame): background-color: #1d1e22; border: 1px solid #2a2d36; border-radius: 8px; - padding: 10px; - margin: 5px; + padding: 4px; + margin: 2px; } QFrame:hover { background-color: #252830; @@ -113,12 +113,12 @@ class HistoryEntryWidget(QFrame): """) main_layout = QHBoxLayout(self) - main_layout.setSpacing(15) - main_layout.setContentsMargins(10, 10, 10, 10) + main_layout.setSpacing(12) + main_layout.setContentsMargins(8, 8, 8, 8) - # Thumbnail - Larger size to utilize available space + # Thumbnail - Standard YouTube 16:9 ratio (e.g., 240x135) self.thumbnail_label = QLabel() - self.thumbnail_label.setFixedSize(280, 158) # 16:9 ratio, larger to fill space + self.thumbnail_label.setFixedSize(240, 135) self.thumbnail_label.setStyleSheet(""" QLabel { border: 2px solid #3d3d3d; @@ -206,15 +206,16 @@ class HistoryEntryWidget(QFrame): # Three-dot menu button self.menu_button = QPushButton("⋮") - self.menu_button.setFixedSize(40, 40) + self.menu_button.setFixedSize(32, 32) self.menu_button.setStyleSheet(""" QPushButton { background-color: #2a2d36; border: none; - border-radius: 20px; + border-radius: 16px; color: white; - font-size: 24px; + font-size: 18px; font-weight: bold; + padding-bottom: 5px; /* Adjust vertical alignment of dots */ } QPushButton:hover { background-color: #3a3d46; From 5f17fabc50755675e92cdbea82e88e6e6646542d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:56:56 +0200 Subject: [PATCH 370/568] Refactor history dialog to use virtualized list and SQLite Replaces the history dialog's widget-per-entry approach with a virtualized QListView using a custom model and delegate for improved performance. Switches the HistoryManager backend from JSON file storage to SQLite, including automatic migration of legacy data. Adds support for efficient search, thumbnail caching, and context menu actions in the new UI. --- .../ytsage_dialogs_history.py | 960 ++++++++---------- src/utils/ytsage_history_manager.py | 574 ++++++----- 2 files changed, 752 insertions(+), 782 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py index 6345ff5..58308db 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py @@ -1,19 +1,26 @@ """ History Dialog for YTSage application. -Displays download history with thumbnails and provides options to redownload or remove entries. +Displays download history with thumbnails using a virtualized list for performance. """ import os import subprocess +import json from datetime import datetime from io import BytesIO from pathlib import Path -from typing import TYPE_CHECKING, Optional +from typing import TYPE_CHECKING, Optional, List, Any, Dict import requests from PIL import Image -from PySide6.QtCore import Qt, QSize, Signal, QThread, QTimer -from PySide6.QtGui import QPixmap, QIcon +from PySide6.QtCore import ( + Qt, QSize, Signal, QThread, QTimer, QAbstractListModel, + QModelIndex, QRect, QPoint, QEvent +) +from PySide6.QtGui import ( + QPixmap, QIcon, QPainter, QColor, QFont, QBrush, QPen, + QMouseEvent, QDesktopServices, QAction, QCursor, QPainterPath +) from PySide6.QtWidgets import ( QDialog, QVBoxLayout, @@ -21,13 +28,13 @@ from PySide6.QtWidgets import ( QLabel, QLineEdit, QPushButton, - QScrollArea, + QListView, QWidget, - QFrame, QMenu, QMessageBox, - QSizePolicy, - QProgressBar, + QStyledItemDelegate, + QStyle, + QApplication ) from src.utils.ytsage_history_manager import HistoryManager @@ -43,18 +50,19 @@ class HistoryLoaderThread(QThread): """Thread to load history and pre-fetch thumbnails.""" entries_loaded = Signal(list) - thumbnail_loaded = Signal(str) + thumbnail_loaded = Signal(str, bytes) # entry_id, image_bytes def run(self): try: - # HistoryManager uses get_all_entries, not get_all + # Load entries from DB entries = HistoryManager.get_all_entries() - - # Emit entries immediately so UI shows up self.entries_loaded.emit(entries) - # Pre-fetch thumbnails in background + # Background thumbnail loader for entry in entries: + if self.isInterruptionRequested(): + break + thumbnail_url = entry.get("thumbnail_url") entry_id = entry.get("id", "") @@ -64,594 +72,494 @@ class HistoryLoaderThread(QThread): thumbnail_filename = f"{entry_id}.jpg" thumbnail_path = APP_THUMBNAILS_DIR / thumbnail_filename - # If not exists, download it if not thumbnail_path.exists(): try: response = requests.get(thumbnail_url, timeout=5) if response.status_code == 200: APP_THUMBNAILS_DIR.mkdir(parents=True, exist_ok=True) - image = Image.open(BytesIO(response.content)) - image.save(thumbnail_path, "JPEG", quality=95, optimize=True) - self.thumbnail_loaded.emit(entry_id) + # Optimize image before saving + img_io = BytesIO(response.content) + image = Image.open(img_io) + + # Save to disk + image.save(thumbnail_path, "JPEG", quality=90, optimize=True) + + # Emit bytes for memory cache + self.thumbnail_loaded.emit(entry_id, response.content) except Exception as e: - logger.debug(f"Error caching thumbnail in background: {e}") - + logger.debug(f"Error caching thumbnail: {e}") + except Exception as e: logger.error(f"Error loading history: {e}") self.entries_loaded.emit([]) -class HistoryEntryWidget(QFrame): - """Widget representing a single history entry.""" +class HistoryModel(QAbstractListModel): + """List Model for History Entries.""" - remove_requested = Signal(str) # Emit entry ID when remove is requested - redownload_requested = Signal(dict) # Emit entry data when redownload is requested - - def __init__(self, entry: dict, parent=None): + EntryRole = Qt.ItemDataRole.UserRole + 1 + IdRole = Qt.ItemDataRole.UserRole + 2 + ThumbnailRole = Qt.ItemDataRole.UserRole + 3 + + def __init__(self, entries=None, parent=None): super().__init__(parent) - self.entry = entry - self.entry_id = entry.get("id", "") + self._entries = entries or [] + self.thumbnail_cache = {} # Map entry_id -> QPixmap + + def rowCount(self, parent=QModelIndex()): + return len(self._entries) + + def data(self, index, role=Qt.ItemDataRole.DisplayRole): + if not index.isValid() or not (0 <= index.row() < len(self._entries)): + return None - self.setup_ui() + entry = self._entries[index.row()] + entry_id = entry.get("id") + + if role == self.EntryRole: + return entry + + elif role == self.IdRole: + return entry_id + + elif role == self.ThumbnailRole: + return self.thumbnail_cache.get(entry_id) + + elif role == Qt.ItemDataRole.DisplayRole: + return entry.get("title", "") + + return None + + def update_entries(self, entries): + self.beginResetModel() + self._entries = entries + self.endResetModel() + + def remove_item(self, row): + if 0 <= row < len(self._entries): + self.beginRemoveRows(QModelIndex(), row, row) + del self._entries[row] + self.endRemoveRows() + + def update_thumbnail(self, entry_id, pixmap): + """Update cache and notify view.""" + self.thumbnail_cache[entry_id] = pixmap + # Find index for this ID + for i, entry in enumerate(self._entries): + if entry.get("id") == entry_id: + idx = self.index(i) + self.dataChanged.emit(idx, idx, [self.ThumbnailRole]) + break + + +class HistoryDelegate(QStyledItemDelegate): + """Delegate to render history cards similar to the widgets.""" - def setup_ui(self): - """Setup the UI for this history entry.""" - self.setFrameStyle(QFrame.Shape.StyledPanel | QFrame.Shadow.Raised) - self.setStyleSheet(""" - QFrame { - background-color: #1d1e22; - border: 1px solid #2a2d36; - border-radius: 8px; - padding: 4px; - margin: 2px; - } - QFrame:hover { - background-color: #252830; - border-color: #3a3d46; - } - """) + menu_clicked = Signal(QModelIndex, QPoint) # Signal for menu click + + def __init__(self, parent=None): + super().__init__(parent) + self.padding = 10 + self.thumb_width = 240 + self.thumb_height = 135 + # Increased card height to accommodate spacing + self.card_height = 175 + # Define margins for spacing between cards + self.h_margin = 10 + self.v_margin = 8 + + def sizeHint(self, option, index): + return QSize(option.rect.width(), self.card_height) + + def paint(self, painter, option, index): + entry = index.data(HistoryModel.EntryRole) + if not entry: + return + + painter.save() + painter.setRenderHint(QPainter.RenderHint.Antialiasing) - main_layout = QHBoxLayout(self) - main_layout.setSpacing(12) - main_layout.setContentsMargins(8, 8, 8, 8) + rect = option.rect + # Apply margins for spacing + card_rect = rect.adjusted(self.h_margin, self.v_margin, -self.h_margin, -self.v_margin) - # Thumbnail - Standard YouTube 16:9 ratio (e.g., 240x135) - self.thumbnail_label = QLabel() - self.thumbnail_label.setFixedSize(240, 135) - self.thumbnail_label.setStyleSheet(""" - QLabel { - border: 2px solid #3d3d3d; - border-radius: 6px; - background-color: #15181b; - } - """) - self.thumbnail_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.thumbnail_label.setScaledContents(True) + is_hover = option.state & QStyle.StateFlag.State_MouseOver + bg_color = QColor("#252830") if is_hover else QColor("#1d1e22") + border_color = QColor("#3a3d46") if is_hover else QColor("#2a2d36") - # Load thumbnail - self.load_thumbnail() + # Draw Card + path = QPainterPath() + path.addRoundedRect(card_rect, 8, 8) - main_layout.addWidget(self.thumbnail_label, alignment=Qt.AlignmentFlag.AlignTop) + painter.fillPath(path, QBrush(bg_color)) + painter.setPen(QPen(border_color, 1)) + painter.drawPath(path) - # Info section - info_layout = QVBoxLayout() - info_layout.setSpacing(5) + # Draw Thumbnail + thumb_rect = QRect( + card_rect.left() + 10, + card_rect.top() + 10, + self.thumb_width, + self.thumb_height + ) + + pixmap = index.data(HistoryModel.ThumbnailRole) + if pixmap and not pixmap.isNull(): + scaled = pixmap.scaled( + thumb_rect.size(), + Qt.AspectRatioMode.KeepAspectRatioByExpanding, + Qt.TransformationMode.SmoothTransformation + ) + # Clip to rect + painter.setClipRect(thumb_rect) + painter.drawPixmap(thumb_rect.topLeft(), scaled) + painter.setClipping(False) + else: + painter.fillRect(thumb_rect, QColor("#15181b")) + painter.setPen(QPen(QColor("#666666"))) + icon_char = "🎵" if entry.get("is_audio_only") else "📹" + painter.setFont(QFont("Segoe UI Emoji", 24)) + painter.drawText(thumb_rect, Qt.AlignmentFlag.AlignCenter, icon_char) + + # Draw Border around thumb + painter.setPen(QPen(QColor("#3d3d3d"), 2)) + painter.drawRect(thumb_rect) + + # Text Area + text_x = thumb_rect.right() + 12 + text_width = card_rect.right() - text_x - 50 # Title - title = self.entry.get("title", _("video_info.unknown_title")) - self.title_label = QLabel(title) - self.title_label.setWordWrap(True) - self.title_label.setStyleSheet(""" - QLabel { - font-size: 14px; - font-weight: bold; - color: #ffffff; - } - """) - info_layout.addWidget(self.title_label) + title_rect = QRect(text_x, thumb_rect.top(), text_width, 50) + painter.setPen(QColor("#ffffff")) + font_title = QFont() + font_title.setBold(True) + font_title.setPixelSize(14) + painter.setFont(font_title) - # Channel (if available) - channel = self.entry.get("channel") + # Use simple alignment flags + painter.drawText(title_rect, Qt.AlignmentFlag.AlignLeft | Qt.TextFlag.TextWordWrap, entry.get("title", "")) + + current_y = title_rect.bottom() + 5 + + # Channel + channel = entry.get("channel") if channel: - channel_label = QLabel(f"{_('video_info.channel')}: {channel}") - channel_label.setStyleSheet("color: #cccccc; font-size: 12px;") - info_layout.addWidget(channel_label) + painter.setPen(QColor("#cccccc")) + font_meta = QFont() + font_meta.setPixelSize(12) + painter.setFont(font_meta) + painter.drawText(text_x, current_y, f"{_('video_info.channel')}: {channel}") + current_y += 18 + + # Date + date_str = entry.get("download_date", "")[:16].replace('T', ' ') + if date_str: + painter.setPen(QColor("#aaaaaa")) + painter.setFont(QFont("Arial", 11)) + painter.drawText(text_x, current_y, f"{_('history.downloaded_on', date=date_str)}") + current_y += 25 + + # Badge + is_audio = entry.get("is_audio_only", False) + badge_text = _("history.audio_download") if is_audio else _("history.video_download") + badge_color = QColor("#0066cc") if is_audio else QColor("#c90000") - # Download date - download_date = self.entry.get("download_date", "") - if download_date: - try: - dt = datetime.fromisoformat(download_date) - date_str = dt.strftime("%Y-%m-%d %H:%M") - date_label = QLabel(_("history.downloaded_on", date=date_str)) - date_label.setStyleSheet("color: #aaaaaa; font-size: 11px;") - info_layout.addWidget(date_label) - except Exception as e: - logger.debug(f"Error parsing date: {e}") + badge_rect = QRect(text_x, current_y, 80, 20) + painter.setBrush(QBrush(badge_color)) + painter.setPen(Qt.PenStyle.NoPen) + painter.drawRoundedRect(badge_rect, 3, 3) - # File size and type - file_size = self.entry.get("file_size", 0) - is_audio = self.entry.get("is_audio_only", False) + painter.setPen(QColor("white")) + font_badge = QFont() + font_badge.setBold(True) + font_badge.setPixelSize(10) + painter.setFont(font_badge) + painter.drawText(badge_rect, Qt.AlignmentFlag.AlignCenter, badge_text) - size_type_layout = QHBoxLayout() - - # File type badge - type_badge = QLabel(_("history.audio_download") if is_audio else _("history.video_download")) - type_badge.setStyleSheet(f""" - QLabel {{ - background-color: {'#c90000' if not is_audio else '#0066cc'}; - color: white; - padding: 2px 8px; - border-radius: 3px; - font-size: 10px; - font-weight: bold; - }} - """) - size_type_layout.addWidget(type_badge) - - # File size + # File Size + file_size = entry.get("file_size", 0) if file_size > 0: size_str = self.format_file_size(file_size) - size_label = QLabel(_("history.file_size", size=size_str)) - size_label.setStyleSheet("color: #aaaaaa; font-size: 11px;") - size_type_layout.addWidget(size_label) - - size_type_layout.addStretch() - info_layout.addLayout(size_type_layout) - - info_layout.addStretch() - - main_layout.addLayout(info_layout, 1) - - # Three-dot menu button - self.menu_button = QPushButton("⋮") - self.menu_button.setFixedSize(32, 32) - self.menu_button.setStyleSheet(""" - QPushButton { - background-color: #2a2d36; - border: none; - border-radius: 16px; - color: white; - font-size: 18px; - font-weight: bold; - padding-bottom: 5px; /* Adjust vertical alignment of dots */ - } - QPushButton:hover { - background-color: #3a3d46; - } - QPushButton:pressed { - background-color: #c90000; - } - """) - self.menu_button.clicked.connect(self.show_menu) - - main_layout.addWidget(self.menu_button, alignment=Qt.AlignmentFlag.AlignTop) - - def load_thumbnail(self): - """Load and display the thumbnail.""" - thumbnail_url = self.entry.get("thumbnail_url") - - if not thumbnail_url: - self.set_placeholder_thumbnail() - return - - # Check if thumbnail is cached - thumbnail_filename = f"{self.entry_id}.jpg" - thumbnail_path = APP_THUMBNAILS_DIR / thumbnail_filename - - if thumbnail_path.exists(): - try: - pixmap = QPixmap(str(thumbnail_path)) - if not pixmap.isNull(): - # Don't scale here, let setScaledContents handle it - self.thumbnail_label.setPixmap(pixmap) - return - except Exception as e: - logger.debug(f"Error loading cached thumbnail: {e}") - - # If not in cache, just set placeholder. - # Background thread will download it and notify parent to reload. - self.set_placeholder_thumbnail() + painter.setPen(QColor("#aaaaaa")) + painter.setFont(QFont("Arial", 11)) + painter.drawText(badge_rect.right() + 10, current_y + 14, size_str) + + # Menu Button + menu_rect = self.get_menu_rect(card_rect) + + # Check hover on menu button specifically + mouse_pos = QCursor.pos() + if option.widget: + mouse_pos = option.widget.mapFromGlobal(mouse_pos) + + if menu_rect.contains(mouse_pos): + painter.setPen(QColor("#c90000")) + else: + painter.setPen(QColor("#ffffff")) + + painter.setFont(QFont("Arial", 18, QFont.Weight.Bold)) + painter.drawText(menu_rect, Qt.AlignmentFlag.AlignCenter, "⋮") + + painter.restore() + + def get_menu_rect(self, card_rect): + return QRect(card_rect.right() - 40, card_rect.top() + 10, 30, 30) + + def editorEvent(self, event, model, option, index): + """Handle mouse clicks.""" + if event.type() == QEvent.Type.MouseButtonRelease: + if event.button() == Qt.MouseButton.LeftButton: + # Use same margins as paint to ensure hit consistency + card_rect = option.rect.adjusted(self.h_margin, self.v_margin, -self.h_margin, -self.v_margin) + menu_rect = self.get_menu_rect(card_rect) + + if menu_rect.contains(event.pos()): + self.menu_clicked.emit(index, event.globalPos()) + return True + + return super().editorEvent(event, model, option, index) - def reload_thumbnail(self): - """Reload thumbnail from cache (called when background download finishes).""" - self.load_thumbnail() - - def set_placeholder_thumbnail(self): - """Set a placeholder when thumbnail is not available.""" - self.thumbnail_label.setText("📹" if not self.entry.get("is_audio_only") else "🎵") - self.thumbnail_label.setStyleSheet(""" - QLabel { - border: 1px solid #3d3d3d; - border-radius: 4px; - background-color: #15181b; - color: #666666; - font-size: 48px; - } - """) - def format_file_size(self, size_bytes: int) -> str: - """Format file size in human-readable format.""" for unit in ['B', 'KB', 'MB', 'GB']: if size_bytes < 1024.0: return f"{size_bytes:.1f} {unit}" size_bytes /= 1024.0 return f"{size_bytes:.1f} TB" + + +class HistoryDialog(QDialog): + """Dialog to display and manage download history.""" - def show_menu(self): - """Show the context menu with options.""" + redownload_requested = Signal(dict) + + def __init__(self, parent: Optional["YTSageApp"] = None): + super().__init__(parent) + self.parent_app = parent + + self.setup_ui() + self.show_loading_state() + + QTimer.singleShot(100, self.start_loading_history) + + def setup_ui(self): + self.setWindowTitle(_("history.title")) + self.resize(850, 600) + self.setWindowFlags(Qt.WindowType.Dialog | Qt.WindowType.WindowCloseButtonHint) + self.setStyleSheet(""" + QDialog { background-color: #15181b; } + QLabel { color: #ffffff; } + """) + + layout = QVBoxLayout(self) + + # --- Header --- + header = QHBoxLayout() + title = QLabel(_("history.title")) + title.setStyleSheet("font-size: 18px; font-weight: bold;") + header.addWidget(title) + header.addStretch() + + self.clear_btn = QPushButton(_("history.clear_all")) + self.clear_btn.setStyleSheet(""" + QPushButton { + background-color: #c90000; color: white; padding: 6px 12px; + border: none; border-radius: 4px; font-weight: bold; + } + QPushButton:hover { background-color: #a50000; } + QPushButton:disabled { background-color: #555555; color: #aaaaaa; } + """) + self.clear_btn.clicked.connect(self.clear_all_history) + header.addWidget(self.clear_btn) + layout.addLayout(header) + + # --- Search --- + self.search_input = QLineEdit() + self.search_input.setPlaceholderText(_("history.search_placeholder")) + self.search_input.setStyleSheet(""" + QLineEdit { + padding: 8px; border: 2px solid #2a2d36; border-radius: 4px; + background-color: #1b2021; color: white; + } + """) + self.search_input.textChanged.connect(self.filter_history) + layout.addWidget(self.search_input) + + # --- List View --- + self.list_view = QListView() + self.list_view.setStyleSheet(""" + QListView { + background-color: transparent; + border: none; + outline: none; + } + QListView::item { + border: none; + background: transparent; + } + """) + self.list_view.setVerticalScrollMode(QListView.ScrollMode.ScrollPerPixel) + self.list_view.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) + self.list_view.setUniformItemSizes(True) + self.list_view.setSelectionMode(QListView.SelectionMode.NoSelection) + self.list_view.setMouseTracking(True) + self.list_view.setResizeMode(QListView.ResizeMode.Adjust) + + self.model = HistoryModel([], self) + self.list_view.setModel(self.model) + + self.delegate = HistoryDelegate(self.list_view) + self.delegate.menu_clicked.connect(self.show_context_menu) + self.list_view.setItemDelegate(self.delegate) + + self.list_view.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu) + self.list_view.customContextMenuRequested.connect(self.on_context_menu_requested) + + layout.addWidget(self.list_view) + + # --- Status --- + self.status_label = QLabel() + self.status_label.setStyleSheet("color: #aaaaaa; font-size: 12px;") + layout.addWidget(self.status_label) + + def show_loading_state(self): + self.status_label.setText("Loading history...") + self.clear_btn.setEnabled(False) + + def start_loading_history(self): + self.loader_thread = HistoryLoaderThread() + self.loader_thread.entries_loaded.connect(self.on_entries_loaded) + self.loader_thread.thumbnail_loaded.connect(self.on_thumbnail_loaded) + self.loader_thread.start() + + def on_entries_loaded(self, entries): + self.model.update_entries(entries) + + count = len(entries) + if count == 0: + self.status_label.setText(_("history.no_history")) + self.clear_btn.setEnabled(False) + else: + self.status_label.setText(_("history.entries_count", count=count)) + self.clear_btn.setEnabled(True) + + self.load_cached_thumbnails(entries) + + def load_cached_thumbnails(self, entries): + for entry in entries: + eid = entry.get("id") + if not eid: continue + + p = APP_THUMBNAILS_DIR / f"{eid}.jpg" + if p.exists(): + pix = QPixmap(str(p)) + if not pix.isNull(): + self.model.thumbnail_cache[eid] = pix + + def on_thumbnail_loaded(self, entry_id, data_bytes): + pixmap = QPixmap() + pixmap.loadFromData(data_bytes) + if not pixmap.isNull(): + self.model.update_thumbnail(entry_id, pixmap) + + def on_context_menu_requested(self, pos): + index = self.list_view.indexAt(pos) + if index.isValid(): + global_pos = self.list_view.mapToGlobal(pos) + self.show_context_menu(index, global_pos) + + def show_context_menu(self, index, global_pos): + entry = index.data(HistoryModel.EntryRole) + if not entry: return + menu = QMenu(self) menu.setStyleSheet(""" QMenu { - background-color: #2a2d36; - border: 1px solid #3a3d46; - color: white; - padding: 5px; + background-color: #2a2d36; border: 1px solid #3a3d46; color: white; } QMenu::item { padding: 8px 20px; - border-radius: 4px; } QMenu::item:selected { background-color: #c90000; } """) - # Open file location - open_action = menu.addAction("📁 " + _("history.open_location")) - open_action.triggered.connect(self.open_file_location) - - # Redownload - redownload_action = menu.addAction("⬇️ " + _("history.redownload")) - redownload_action.triggered.connect(self.redownload) - + act_open = menu.addAction("📁 " + _("history.open_location")) + act_redownload = menu.addAction("⬇️ " + _("history.redownload")) menu.addSeparator() + act_remove = menu.addAction("🗑️ " + _("history.remove")) - # Remove from history - remove_action = menu.addAction("🗑️ " + _("history.remove")) - remove_action.triggered.connect(self.remove_from_history) + action = menu.exec(global_pos) - # Show menu at button position - menu.exec(self.menu_button.mapToGlobal(self.menu_button.rect().bottomLeft())) - - def open_file_location(self): - """Open the file location in the system file explorer.""" - file_path = Path(self.entry.get("file_path", "")) + if action == act_open: + self.open_file_location(entry) + elif action == act_redownload: + self.redownload_entry(entry) + elif action == act_remove: + self.remove_entry(index) + + def open_file_location(self, entry): + path_str = entry.get("file_path", "") + if not path_str: return - if not file_path.exists(): - QMessageBox.warning( - self, - _("history.file_not_found"), - _("history.file_not_found_message", path=str(file_path)) - ) + path = Path(path_str) + if not path.exists(): + QMessageBox.warning(self, "Error", f"File not found: {path}") return - - try: - # On Windows, use explorer with /select to highlight the file - if os.name == "nt": - subprocess.run(['explorer', '/select,', str(file_path)], creationflags=SUBPROCESS_CREATIONFLAGS) - # On macOS, use open with -R to reveal in Finder - elif subprocess.sys.platform == "darwin": - subprocess.run(['open', '-R', str(file_path)]) - # On Linux, try to open the folder - else: - folder_path = file_path.parent - subprocess.run(['xdg-open', str(folder_path)]) - logger.info(f"Opened file location: {file_path}") + try: + if os.name == "nt": + subprocess.run(['explorer', '/select,', str(path)], creationflags=SUBPROCESS_CREATIONFLAGS) + elif subprocess.sys.platform == "darwin": + subprocess.run(['open', '-R', str(path)]) + else: + folder_path = path.parent + subprocess.run(['xdg-open', str(folder_path)]) except Exception as e: - logger.exception(f"Error opening file location: {e}") - QMessageBox.warning(self, "Error", f"Could not open file location: {str(e)}") - - def redownload(self): - """Request redownload of this entry.""" + logger.error(f"Failed to open file: {e}") + + def redownload_entry(self, entry): reply = QMessageBox.question( self, _("history.redownload_confirm_title"), - _("history.redownload_confirm_message", title=self.entry.get("title", "")), + _("history.redownload_confirm_message", title=entry.get("title")), QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No ) - if reply == QMessageBox.StandardButton.Yes: - self.redownload_requested.emit(self.entry) - - def remove_from_history(self): - """Request removal of this entry from history.""" + self.redownload_requested.emit(entry) + self.accept() + + def remove_entry(self, index): + entry = index.data(HistoryModel.EntryRole) reply = QMessageBox.question( self, _("history.remove_confirm_title"), - _("history.remove_confirm_message", title=self.entry.get("title", "")), + _("history.remove_confirm_message", title=entry.get("title")), QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No ) - if reply == QMessageBox.StandardButton.Yes: - self.remove_requested.emit(self.entry_id) + if HistoryManager.remove_entry(entry.get("id")): + self.model.remove_item(index.row()) + self.status_label.setText( + _("history.entries_count", count=self.model.rowCount()) + ) - -class HistoryDialog(QDialog): - """Dialog to display and manage download history.""" - - redownload_requested = Signal(dict) # Signal to request redownload in main window - - def __init__(self, parent: Optional["YTSageApp"] = None): - super().__init__(parent) - self.parent_app = parent - self.entry_widgets = [] - self.entry_widgets_map = {} # Map entry_id -> widget - - self.setup_ui() - - # Show loading state initially - self.show_loading_state() - - # Start loading history in background after a short delay - # to ensure the dialog is shown first - QTimer.singleShot(100, self.start_loading_history) - - def start_loading_history(self): - """Start the background thread to load history.""" - self.loader_thread = HistoryLoaderThread() - self.loader_thread.entries_loaded.connect(self.on_history_loaded) - self.loader_thread.thumbnail_loaded.connect(self.update_entry_thumbnail) - self.loader_thread.start() - - def on_history_loaded(self, entries): - """Called when history is loaded from background thread.""" - self.load_history_entries(entries) - - def update_entry_thumbnail(self, entry_id: str): - """Called when a thumbnail is downloaded in the background.""" - if entry_id in self.entry_widgets_map: - self.entry_widgets_map[entry_id].reload_thumbnail() - - def setup_ui(self): - """Setup the dialog UI.""" - self.setWindowTitle(_("history.title")) - self.setMinimumSize(700, 500) - self.resize(850, 600) - - # Set window flags - self.setWindowFlags(Qt.WindowType.Dialog | Qt.WindowType.WindowCloseButtonHint) - - layout = QVBoxLayout(self) - layout.setSpacing(10) - layout.setContentsMargins(20, 20, 20, 20) - - # Header with title and buttons - header_layout = QHBoxLayout() - - title_label = QLabel(_("history.title")) - title_label.setStyleSheet(""" - QLabel { - font-size: 18px; - font-weight: bold; - color: white; - } - """) - header_layout.addWidget(title_label) - - header_layout.addStretch() - - # Clear all button - self.clear_all_btn = QPushButton(_("history.clear_all")) - self.clear_all_btn.setStyleSheet(""" - QPushButton { - background-color: #c90000; - color: white; - padding: 8px 16px; - border: none; - border-radius: 4px; - font-weight: bold; - } - QPushButton:hover { - background-color: #a50000; - } - QPushButton:pressed { - background-color: #800000; - } - """) - self.clear_all_btn.clicked.connect(self.clear_all_history) - header_layout.addWidget(self.clear_all_btn) - - layout.addLayout(header_layout) - - # Search bar - self.search_input = QLineEdit() - self.search_input.setPlaceholderText(_("history.search_placeholder")) - self.search_input.setStyleSheet(""" - QLineEdit { - padding: 10px; - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #1b2021; - color: #ffffff; - font-size: 13px; - } - """) - self.search_input.textChanged.connect(self.filter_history) - layout.addWidget(self.search_input) - - # Scroll area for history entries - scroll_area = QScrollArea() - scroll_area.setWidgetResizable(True) - scroll_area.setStyleSheet(""" - QScrollArea { - border: none; - background-color: transparent; - } - """) - - # Container for history entries - self.history_container = QWidget() - self.history_layout = QVBoxLayout(self.history_container) - self.history_layout.setSpacing(10) - self.history_layout.setContentsMargins(0, 0, 0, 0) - self.history_layout.setAlignment(Qt.AlignmentFlag.AlignTop) - - scroll_area.setWidget(self.history_container) - layout.addWidget(scroll_area) - - # Status label - self.status_label = QLabel() - self.status_label.setStyleSheet("color: #aaaaaa; font-size: 12px;") - layout.addWidget(self.status_label) - - # Apply dark theme - self.setStyleSheet(""" - QDialog { - background-color: #15181b; - } - QLabel { - color: #ffffff; - } - """) - - def clear_history_list(self): - """Clear existing history widgets.""" - for widget in self.entry_widgets: - widget.deleteLater() - self.entry_widgets.clear() - self.entry_widgets_map.clear() - - def show_loading_state(self): - """Show loading indicator.""" - # Clear existing content - self.clear_history_list() - - loading_widget = QWidget() - loading_layout = QVBoxLayout(loading_widget) - loading_layout.setAlignment(Qt.AlignmentFlag.AlignCenter) - - spinner_label = QLabel("⏳") # Simple spinner icon - spinner_label.setStyleSheet("font-size: 48px; color: #c90000;") - spinner_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - loading_layout.addWidget(spinner_label) - - # text_label removed as per user request - - self.history_layout.addWidget(loading_widget) - self.entry_widgets.append(loading_widget) - - self.status_label.setText("Loading...") - self.clear_all_btn.setEnabled(False) - - def load_history(self): - """Load and display history entries.""" - if hasattr(self, 'history_container'): - self.show_loading_state() - self.start_loading_history() - - def load_history_entries(self, entries): - """Populate the history list with entries.""" - self.clear_history_list() - - if not entries: - self.show_empty_state() - return - - # Create widgets for each entry - for entry in entries: - widget = HistoryEntryWidget(entry, self.history_container) - widget.remove_requested.connect(self.remove_entry) - widget.redownload_requested.connect(self.handle_redownload) - - self.history_layout.addWidget(widget) - - # Map widget by ID for updates - entry_id = entry.get("id") - if entry_id: - self.entry_widgets_map[entry_id] = widget - self.entry_widgets.append(widget) - - # Update status - count = len(entries) - if count == 1: - status_text = _("history.one_entry") - else: - status_text = _("history.entries_count", count=count) - self.status_label.setText(status_text) - self.clear_all_btn.setEnabled(True) - - def show_empty_state(self): - """Show empty state when there's no history.""" - empty_widget = QWidget() - empty_layout = QVBoxLayout(empty_widget) - empty_layout.setAlignment(Qt.AlignmentFlag.AlignCenter) - - icon_label = QLabel("📂") - icon_label.setStyleSheet("font-size: 64px; color: #555555;") - icon_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - empty_layout.addWidget(icon_label) - - title_label = QLabel(_("history.no_history")) - title_label.setStyleSheet("font-size: 16px; color: #888888; font-weight: bold;") - title_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - empty_layout.addWidget(title_label) - - desc_label = QLabel(_("history.no_history_description")) - desc_label.setStyleSheet("font-size: 13px; color: #666666;") - desc_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - empty_layout.addWidget(desc_label) - - self.history_layout.addWidget(empty_widget) - self.entry_widgets.append(empty_widget) - - self.status_label.setText("") - self.clear_all_btn.setEnabled(False) - - def filter_history(self, query: str): - """Filter history entries based on search query.""" - if not query: - # Show all entries - for widget in self.entry_widgets: - widget.show() - return - - # Hide/show based on query - query_lower = query.lower() - visible_count = 0 - - for widget in self.entry_widgets: - if isinstance(widget, HistoryEntryWidget): - title = (widget.entry.get("title") or "").lower() - channel = (widget.entry.get("channel") or "").lower() - - if query_lower in title or query_lower in channel: - widget.show() - visible_count += 1 - else: - widget.hide() - - def remove_entry(self, entry_id: str): - """Remove an entry from history.""" - success = HistoryManager.remove_entry(entry_id) - - if success: - # Reload history - self.load_history() - logger.info(f"Removed entry from history: {entry_id}") - else: - QMessageBox.warning(self, "Error", "Failed to remove entry from history") - def clear_all_history(self): - """Clear all history entries.""" reply = QMessageBox.question( self, _("history.clear_confirm_title"), _("history.clear_confirm_message"), QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No ) - if reply == QMessageBox.StandardButton.Yes: - count = HistoryManager.clear_history() - self.load_history() - logger.info(f"Cleared all history: {count} entries") - - def handle_redownload(self, entry: dict): - """Handle redownload request.""" - # Emit signal to parent window - self.redownload_requested.emit(entry) - - # Close dialog - self.accept() + HistoryManager.clear_history() + self.model.update_entries([]) + self.clear_btn.setEnabled(False) + self.status_label.setText(_("history.no_history")) + + def filter_history(self, query): + results = HistoryManager.search_entries(query) + self.model.update_entries(results) + self.load_cached_thumbnails(results) diff --git a/src/utils/ytsage_history_manager.py b/src/utils/ytsage_history_manager.py index b915f00..90fdbbe 100644 --- a/src/utils/ytsage_history_manager.py +++ b/src/utils/ytsage_history_manager.py @@ -3,144 +3,259 @@ History Manager Module ====================== This module provides **thread-safe** centralized management for download -history in YTSage. It handles reading, writing, and managing download history -stored in a JSON file. - -Thread safety is ensured using a reentrant lock (`RLock`), so multiple threads -can safely access or modify history concurrently. +history in YTSage using SQLite for high performance and scalability. Features -------- -- Thread-safe operations for getting, adding, and removing history entries. -- Loads history from a JSON file (`APP_HISTORY_FILE`). -- Creates the history file if missing or corrupt. -- Manages download history with metadata including thumbnails, file paths, and download options. -- Provides safe error handling with logging instead of raising exceptions. -- Persists updates back to disk automatically. +- Scalable: Uses SQLite instead of parsing potentially large JSON files. +- Thread-safe: Handles database connections safely. +- Migration: Automatically migrates legacy JSON history to SQLite. +- CRUD: Create, Read, Delete, Clear operations for history entries. Usage ----- from src.utils.ytsage_history_manager import HistoryManager # Add a download to history -HistoryManager.add_entry( - title="Video Title", - url="https://youtube.com/watch?v=...", - thumbnail_url="https://...", - file_path="/path/to/file.mp4", - format_id="137+140", - is_audio_only=False, - resolution="1080p", - download_options={...} -) +HistoryManager.add_entry(...) # Get all history entries history = HistoryManager.get_all_entries() +# Get recent entries (limit + offset support planned) # Remove an entry HistoryManager.remove_entry(entry_id) # Clear all history HistoryManager.clear_history() - -Design Notes ------------- -- History entries are stored in `HistoryManager._history` (a list of dicts). -- Each entry has a unique ID based on timestamp. -- All modifications trigger a save (`_save`) to keep JSON in sync. -- Logs actions and errors using the app's central logger. -- Uses `RLock` to allow safe concurrent access from multiple threads. - -Exceptions ----------- -- Any issues during file I/O (permissions, disk errors, JSON corruption) - are caught and logged. The application continues running with an empty - history when possible. """ import json +import sqlite3 import threading import time from datetime import datetime from pathlib import Path from typing import Any, Dict, List, Optional -from src.utils.ytsage_constants import APP_HISTORY_FILE +from src.utils.ytsage_constants import APP_HISTORY_FILE, APP_DATA_DIR from src.utils.ytsage_logger import logger class HistoryManager: """ - Thread-safe history manager for YTSage. - - Provides methods to load, save, get, add, and remove download history entries. - Automatically persists changes to disk. + Thread-safe history manager for YTSage using SQLite. """ _lock = threading.RLock() - _history_file = APP_HISTORY_FILE - _history: List[Dict[str, Any]] = [] - _loaded = False + # Define DB file next to the old JSON file + _db_file = APP_DATA_DIR / "ytsage_history.db" + _initialized = False @classmethod - def _load(cls) -> None: - """ - Loads download history from a JSON file if it exists and is valid. - If the file is missing or corrupt, initializes with an empty history. - Logs actions and errors during the process. - """ - with cls._lock: - if cls._history_file.exists(): - try: - with open(cls._history_file, "r", encoding="utf-8") as f: - data = json.load(f) - # Ensure it's a list - if isinstance(data, list): - cls._history = data - else: - cls._history = [] - logger.warning("History file format invalid, initialized empty history.") - logger.info(f"History loaded from file: {len(cls._history)} entries.") - except json.JSONDecodeError: - cls._history = [] - logger.warning("History file corrupt, initialized empty history.") - except Exception as e: - cls._history = [] - logger.error(f"Error loading history file: {e}") - else: - cls._history = [] - cls._save() - logger.info("History file not found, created empty history.") - cls._loaded = True + def _init_db(cls): + """Initialize the database: create table and migrate if needed.""" + if cls._initialized: + return - @classmethod - def _save(cls) -> None: - """ - Save current history to JSON file. - - Note: - May raise exceptions if the file cannot be written due to permission issues, - disk errors, or other I/O problems. - """ with cls._lock: + # Check if file exists to know if we need to migrate or just create schema + db_exists = cls._db_file.exists() + legacy_json_exists = APP_HISTORY_FILE.exists() + try: - # Ensure parent directory exists - cls._history_file.parent.mkdir(parents=True, exist_ok=True) + # Ensure directory exists + cls._db_file.parent.mkdir(parents=True, exist_ok=True) - with open(cls._history_file, "w", encoding="utf-8") as f: - json.dump(cls._history, f, indent=2, ensure_ascii=False) - logger.debug(f"History saved to file: {len(cls._history)} entries.") - except (OSError, PermissionError) as e: - logger.exception(f"Failed to save history: {e}") - except Exception as e: - logger.exception(f"Unexpected error while saving history: {e}") + with sqlite3.connect(cls._db_file, check_same_thread=False) as conn: + cursor = conn.cursor() + + # Create table + cursor.execute(""" + CREATE TABLE IF NOT EXISTS history ( + id TEXT PRIMARY KEY, + title TEXT, + url TEXT, + channel TEXT, + file_path TEXT, + download_date TEXT, + file_size INTEGER, + thumbnail_url TEXT, + format_id TEXT, + resolution TEXT, + is_audio_only INTEGER, + duration TEXT, + options TEXT, + timestamp REAL + ) + """) + + # Index for faster sorting by date + cursor.execute(""" + CREATE INDEX IF NOT EXISTS idx_timestamp + ON history (timestamp DESC) + """) + + conn.commit() + + # If we just created the DB and have a JSON file, migrate + if not db_exists and legacy_json_exists: + cls._migrate_legacy_json() + + cls._initialized = True + + except sqlite3.Error as e: + logger.error(f"Failed to initialize history database: {e}") @classmethod - def _ensure_loaded(cls) -> None: - """Ensure history is loaded before any operation.""" - with cls._lock: - if not cls._loaded: - cls._load() + def _migrate_legacy_json(cls): + """Migrate legacy JSON history to SQLite.""" + logger.info("Migrating legacy history JSON to SQLite...") + try: + with open(APP_HISTORY_FILE, "r", encoding="utf-8") as f: + data = json.load(f) + + if isinstance(data, list): + count = 0 + with sqlite3.connect(cls._db_file, check_same_thread=False) as conn: + cursor = conn.cursor() + for entry in data: + try: + # Safely extract download_options logic if complex + options_json = json.dumps(entry.get("download_options", {})) + + # Construct timestamp from isoformat if missing + ts = entry.get("timestamp") + if not ts and "download_date" in entry: + try: + dt = datetime.fromisoformat(entry["download_date"]) + ts = dt.timestamp() + except Exception: + ts = time.time() + + cursor.execute(""" + INSERT OR IGNORE INTO history ( + id, title, url, channel, file_path, download_date, + file_size, thumbnail_url, format_id, resolution, + is_audio_only, duration, options, timestamp + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + """, ( + entry.get("id", str(int(time.time()*1000))), + entry.get("title", ""), + entry.get("url", ""), + entry.get("channel", "Unknown"), + entry.get("file_path", ""), + entry.get("download_date", ""), + entry.get("file_size", 0), + entry.get("thumbnail_url", ""), + entry.get("format_id", ""), + entry.get("resolution", ""), + 1 if entry.get("is_audio_only") else 0, + entry.get("duration", ""), + options_json, + ts or time.time() + )) + count += 1 + except Exception as e: + logger.error(f"Skipped invalid entry during migration: {e}") + + conn.commit() + + logger.info(f"Successfully migrated {count} history entries.") + + # Rename old JSON to .bak to avoid re-migration, or keep as backup + try: + APP_HISTORY_FILE.rename(APP_HISTORY_FILE.with_suffix(".json.bak")) + except Exception as e: + logger.warning(f"Could not rename legacy history file: {e}") + + except Exception as e: + logger.error(f"Migration failed: {e}") + + @classmethod + def _get_connection(cls): + """Get a database connection.""" + cls._init_db() + return sqlite3.connect(cls._db_file, check_same_thread=False) + + @classmethod + def get_all_entries(cls, limit: Optional[int] = None) -> List[Dict[str, Any]]: + """ + Get all history entries, sorted by most recent first. + + Args: + limit: Optional limit on number of entries to return (most recent first) + + Returns: + List of dictionary entries. + """ + entries = [] + try: + with cls._lock: # Lock for simple concurrency safety + with cls._get_connection() as conn: + # Return dict-like rows + conn.row_factory = sqlite3.Row + cursor = conn.cursor() + + query = "SELECT * FROM history ORDER BY timestamp DESC" + params = () + + if limit is not None: + query += " LIMIT ?" + params = (limit,) + + cursor.execute(query, params) + rows = cursor.fetchall() + + for row in rows: + entry = dict(row) + # Convert boolean back + entry["is_audio_only"] = bool(entry["is_audio_only"]) + # Parse options JSON + try: + entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} + except json.JSONDecodeError: + entry["download_options"] = {} + del entry["options"] # Remove internal column + entries.append(entry) + + except Exception as e: + logger.error(f"Error fetching history: {e}") + + return entries + + @classmethod + def get_entry(cls, entry_id: str) -> Optional[Dict[str, Any]]: + """ + Get a specific history entry by ID. + + Args: + entry_id: The unique entry ID + + Returns: + Entry dictionary or None if not found + """ + try: + with cls._lock: + with cls._get_connection() as conn: + conn.row_factory = sqlite3.Row + cursor = conn.cursor() + cursor.execute("SELECT * FROM history WHERE id = ?", (entry_id,)) + row = cursor.fetchone() + + if row: + entry = dict(row) + entry["is_audio_only"] = bool(entry["is_audio_only"]) + try: + entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} + except json.JSONDecodeError: + entry["download_options"] = {} + del entry["options"] + return entry + return None + except Exception as e: + logger.error(f"Error fetching entry {entry_id}: {e}") + return None @classmethod def add_entry( @@ -158,141 +273,99 @@ class HistoryManager: download_options: Optional[Dict[str, Any]] = None, ) -> str: """ - Add a new download entry to history. - - Args: - title: Video/audio title - url: Original URL - thumbnail_url: Thumbnail URL (can be None) - file_path: Path to downloaded file - format_id: Format ID used for download - is_audio_only: Whether it's audio-only download - resolution: Resolution string (e.g., "1080p", "best audio") - file_size: File size in bytes (optional) - channel: Channel name (optional) - duration: Duration string (optional) - download_options: Dictionary of all download options used (optional) - - Returns: - str: The unique ID of the created entry + Add a new entry to the download history. """ - cls._ensure_loaded() + if download_options is None: + download_options = {} + + timestamp = time.time() + # Ensure unique ID + unique_id = f"{int(timestamp * 1000)}" + download_date = datetime.fromtimestamp(timestamp).isoformat() - with cls._lock: - # Generate unique ID based on timestamp - entry_id = f"{int(time.time() * 1000)}" - - # Get file size if not provided - if file_size is None: - try: - file_path_obj = Path(file_path) - if file_path_obj.exists(): - file_size = file_path_obj.stat().st_size - except Exception as e: - logger.debug(f"Could not get file size: {e}") - file_size = 0 - - entry = { - "id": entry_id, - "title": title, - "url": url, - "thumbnail_url": thumbnail_url, - "file_path": file_path, - "download_date": datetime.now().isoformat(), - "format_id": format_id, - "is_audio_only": is_audio_only, - "resolution": resolution, - "file_size": file_size or 0, - "channel": channel, - "duration": duration, - "download_options": download_options or {}, - } - - # Add to beginning of list (most recent first) - cls._history.insert(0, entry) - cls._save() - - logger.info(f"Added entry to history: {title}") - return entry_id + # Determine file size if not provided + if file_size is None: + try: + p = Path(file_path) + if p.exists(): + file_size = p.stat().st_size + except Exception: + file_size = 0 - @classmethod - def get_all_entries(cls, limit: Optional[int] = None) -> List[Dict[str, Any]]: - """ - Retrieve all history entries. - - Args: - limit: Optional limit on number of entries to return (most recent first) - - Returns: - List of history entry dictionaries - """ - cls._ensure_loaded() + # Allow None for optional strings + channel = channel or "Unknown" + duration = duration or "" + thumbnail_url = thumbnail_url or "" - with cls._lock: - if limit is not None: - return cls._history[:limit] - return cls._history.copy() - - @classmethod - def get_entry(cls, entry_id: str) -> Optional[Dict[str, Any]]: - """ - Get a specific history entry by ID. - - Args: - entry_id: The unique entry ID - - Returns: - Entry dictionary or None if not found - """ - cls._ensure_loaded() - - with cls._lock: - for entry in cls._history: - if entry.get("id") == entry_id: - return entry.copy() - return None + try: + with cls._lock: + with cls._get_connection() as conn: + cursor = conn.cursor() + + cursor.execute(""" + INSERT INTO history ( + id, title, url, channel, file_path, download_date, + file_size, thumbnail_url, format_id, resolution, + is_audio_only, duration, options, timestamp + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + """, ( + unique_id, + title, + url, + channel, + str(file_path), + download_date, + file_size, + thumbnail_url, + format_id, + resolution, + 1 if is_audio_only else 0, + duration, + json.dumps(download_options), + timestamp + )) + conn.commit() + + logger.info(f"Added history entry: {title}") + return unique_id + + except Exception as e: + logger.error(f"Error adding history entry: {e}") + return "" @classmethod def remove_entry(cls, entry_id: str) -> bool: - """ - Remove a specific entry from history. - - Args: - entry_id: The unique entry ID to remove - - Returns: - bool: True if entry was found and removed, False otherwise - """ - cls._ensure_loaded() - - with cls._lock: - for i, entry in enumerate(cls._history): - if entry.get("id") == entry_id: - removed = cls._history.pop(i) - cls._save() - logger.info(f"Removed entry from history: {removed.get('title', 'Unknown')}") - return True - - logger.debug(f"Entry ID '{entry_id}' not found in history.") + """Remove an entry from history by ID.""" + try: + with cls._lock: + with cls._get_connection() as conn: + cursor = conn.cursor() + cursor.execute("DELETE FROM history WHERE id = ?", (entry_id,)) + if cursor.rowcount > 0: + conn.commit() + logger.info(f"Removed history entry: {entry_id}") + return True + return False + except Exception as e: + logger.error(f"Error removing history entry: {e}") return False @classmethod def clear_history(cls) -> int: - """ - Clear all history entries. - - Returns: - int: Number of entries that were cleared - """ - cls._ensure_loaded() - - with cls._lock: - count = len(cls._history) - cls._history = [] - cls._save() - logger.info(f"Cleared all history: {count} entries removed.") + """Clear all history entries.""" + try: + with cls._lock: + with cls._get_connection() as conn: + cursor = conn.cursor() + cursor.execute("DELETE FROM history") + count = cursor.rowcount + conn.commit() + logger.info("History cleared") return count - + except Exception as e: + logger.error(f"Error clearing history: {e}") + return 0 + @classmethod def search_entries(cls, query: str) -> List[Dict[str, Any]]: """ @@ -304,45 +377,34 @@ class HistoryManager: Returns: List of matching history entries """ - cls._ensure_loaded() - if not query: return cls.get_all_entries() - - query_lower = query.lower() - - with cls._lock: - results = [] - for entry in cls._history: - # Search in title, channel, and URL - title = (entry.get("title") or "").lower() - channel = (entry.get("channel") or "").lower() - url = (entry.get("url") or "").lower() - - if query_lower in title or query_lower in channel or query_lower in url: - results.append(entry.copy()) - return results - - @classmethod - def get_statistics(cls) -> Dict[str, Any]: - """ - Get statistics about download history. - - Returns: - Dictionary with statistics (total_downloads, total_size, etc.) - """ - cls._ensure_loaded() - - with cls._lock: - total_downloads = len(cls._history) - total_size = sum(entry.get("file_size", 0) for entry in cls._history) - video_count = sum(1 for entry in cls._history if not entry.get("is_audio_only", False)) - audio_count = sum(1 for entry in cls._history if entry.get("is_audio_only", False)) + entries = [] + try: + search_pattern = f"%{query}%" + with cls._lock: + with cls._get_connection() as conn: + conn.row_factory = sqlite3.Row + cursor = conn.cursor() + cursor.execute(""" + SELECT * FROM history + WHERE title LIKE ? OR channel LIKE ? OR url LIKE ? + ORDER BY timestamp DESC + """, (search_pattern, search_pattern, search_pattern)) + rows = cursor.fetchall() + + for row in rows: + entry = dict(row) + entry["is_audio_only"] = bool(entry["is_audio_only"]) + try: + entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} + except json.JSONDecodeError: + entry["download_options"] = {} + del entry["options"] + entries.append(entry) + + except Exception as e: + logger.error(f"Error searching history: {e}") - return { - "total_downloads": total_downloads, - "total_size": total_size, - "video_count": video_count, - "audio_count": audio_count, - } + return entries From 7c2e46114108b47c4201283658ce68aab4c956b6 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 21 Jan 2026 18:05:17 +0200 Subject: [PATCH 371/568] Refactor HistoryManager to use persistent DB connection Replaces per-operation SQLite connections with a persistent connection for improved efficiency and thread safety. Adds additional indexes for faster search on title, channel, and URL. Refactors all database access methods to use the persistent connection and simplifies transaction handling. --- src/utils/ytsage_history_manager.py | 374 +++++++++++++++------------- 1 file changed, 196 insertions(+), 178 deletions(-) diff --git a/src/utils/ytsage_history_manager.py b/src/utils/ytsage_history_manager.py index 90fdbbe..63e84e2 100644 --- a/src/utils/ytsage_history_manager.py +++ b/src/utils/ytsage_history_manager.py @@ -50,6 +50,7 @@ class HistoryManager: _lock = threading.RLock() # Define DB file next to the old JSON file _db_file = APP_DATA_DIR / "ytsage_history.db" + _connection = None _initialized = False @classmethod @@ -67,36 +68,46 @@ class HistoryManager: # Ensure directory exists cls._db_file.parent.mkdir(parents=True, exist_ok=True) - with sqlite3.connect(cls._db_file, check_same_thread=False) as conn: - cursor = conn.cursor() - - # Create table - cursor.execute(""" - CREATE TABLE IF NOT EXISTS history ( - id TEXT PRIMARY KEY, - title TEXT, - url TEXT, - channel TEXT, - file_path TEXT, - download_date TEXT, - file_size INTEGER, - thumbnail_url TEXT, - format_id TEXT, - resolution TEXT, - is_audio_only INTEGER, - duration TEXT, - options TEXT, - timestamp REAL - ) - """) - - # Index for faster sorting by date - cursor.execute(""" - CREATE INDEX IF NOT EXISTS idx_timestamp - ON history (timestamp DESC) - """) - - conn.commit() + # We use a persistent connection to avoid churn + if cls._connection is None: + cls._connection = sqlite3.connect(cls._db_file, check_same_thread=False) + cls._connection.row_factory = sqlite3.Row + + cursor = cls._connection.cursor() + + # Create table + cursor.execute(""" + CREATE TABLE IF NOT EXISTS history ( + id TEXT PRIMARY KEY, + title TEXT, + url TEXT, + channel TEXT, + file_path TEXT, + download_date TEXT, + file_size INTEGER, + thumbnail_url TEXT, + format_id TEXT, + resolution TEXT, + is_audio_only INTEGER, + duration TEXT, + options TEXT, + timestamp REAL + ) + """) + + # Index for faster sorting by date + cursor.execute(""" + CREATE INDEX IF NOT EXISTS idx_timestamp + ON history (timestamp DESC) + """) + + # Indexes for faster search (title, channel, url) + # This prevents full table scans during search + cursor.execute("CREATE INDEX IF NOT EXISTS idx_title ON history (title)") + cursor.execute("CREATE INDEX IF NOT EXISTS idx_channel ON history (channel)") + cursor.execute("CREATE INDEX IF NOT EXISTS idx_url ON history (url)") + + cls._connection.commit() # If we just created the DB and have a JSON file, migrate if not db_exists and legacy_json_exists: @@ -117,66 +128,74 @@ class HistoryManager: if isinstance(data, list): count = 0 - with sqlite3.connect(cls._db_file, check_same_thread=False) as conn: - cursor = conn.cursor() - for entry in data: - try: - # Safely extract download_options logic if complex - options_json = json.dumps(entry.get("download_options", {})) - - # Construct timestamp from isoformat if missing - ts = entry.get("timestamp") - if not ts and "download_date" in entry: - try: - dt = datetime.fromisoformat(entry["download_date"]) - ts = dt.timestamp() - except Exception: - ts = time.time() - - cursor.execute(""" - INSERT OR IGNORE INTO history ( - id, title, url, channel, file_path, download_date, - file_size, thumbnail_url, format_id, resolution, - is_audio_only, duration, options, timestamp - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - """, ( - entry.get("id", str(int(time.time()*1000))), - entry.get("title", ""), - entry.get("url", ""), - entry.get("channel", "Unknown"), - entry.get("file_path", ""), - entry.get("download_date", ""), - entry.get("file_size", 0), - entry.get("thumbnail_url", ""), - entry.get("format_id", ""), - entry.get("resolution", ""), - 1 if entry.get("is_audio_only") else 0, - entry.get("duration", ""), - options_json, - ts or time.time() - )) - count += 1 - except Exception as e: - logger.error(f"Skipped invalid entry during migration: {e}") - - conn.commit() - - logger.info(f"Successfully migrated {count} history entries.") - - # Rename old JSON to .bak to avoid re-migration, or keep as backup + # Use the persistent connection + conn = cls._get_connection() try: - APP_HISTORY_FILE.rename(APP_HISTORY_FILE.with_suffix(".json.bak")) + with conn: # Transaction + cursor = conn.cursor() + for entry in data: + try: + # Safely extract download_options logic if complex + options_json = json.dumps(entry.get("download_options", {})) + + # Construct timestamp from isoformat if missing + ts = entry.get("timestamp") + if not ts and "download_date" in entry: + try: + dt = datetime.fromisoformat(entry["download_date"]) + ts = dt.timestamp() + except Exception: + ts = time.time() + + cursor.execute(""" + INSERT OR IGNORE INTO history ( + id, title, url, channel, file_path, download_date, + file_size, thumbnail_url, format_id, resolution, + is_audio_only, duration, options, timestamp + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + """, ( + entry.get("id", str(int(time.time()*1000))), + entry.get("title", ""), + entry.get("url", ""), + entry.get("channel", "Unknown"), + entry.get("file_path", ""), + entry.get("download_date", ""), + entry.get("file_size", 0), + entry.get("thumbnail_url", ""), + entry.get("format_id", ""), + entry.get("resolution", ""), + 1 if entry.get("is_audio_only") else 0, + entry.get("duration", ""), + options_json, + ts or time.time() + )) + count += 1 + except Exception as e: + logger.error(f"Skipped invalid entry during migration: {e}") + + logger.info(f"Successfully migrated {count} history entries.") + + # Rename old JSON to .bak to avoid re-migration, or keep as backup + try: + APP_HISTORY_FILE.rename(APP_HISTORY_FILE.with_suffix(".json.bak")) + except Exception as e: + logger.warning(f"Could not rename legacy history file: {e}") + except Exception as e: - logger.warning(f"Could not rename legacy history file: {e}") + logger.error(f"Migration transaction failed: {e}") except Exception as e: logger.error(f"Migration failed: {e}") @classmethod def _get_connection(cls): - """Get a database connection.""" + """Get the persistent database connection.""" cls._init_db() - return sqlite3.connect(cls._db_file, check_same_thread=False) + if cls._connection is None: + # Should be created in _init_db, but just in case + cls._connection = sqlite3.connect(cls._db_file, check_same_thread=False) + cls._connection.row_factory = sqlite3.Row + return cls._connection @classmethod def get_all_entries(cls, limit: Optional[int] = None) -> List[Dict[str, Any]]: @@ -192,32 +211,33 @@ class HistoryManager: entries = [] try: with cls._lock: # Lock for simple concurrency safety - with cls._get_connection() as conn: - # Return dict-like rows - conn.row_factory = sqlite3.Row - cursor = conn.cursor() + # Use persistent connection + conn = cls._get_connection() + # conn.row_factory is already set in _init_db/_get_connection + + cursor = conn.cursor() + + query = "SELECT * FROM history ORDER BY timestamp DESC" + params = () + + if limit is not None: + query += " LIMIT ?" + params = (limit,) - query = "SELECT * FROM history ORDER BY timestamp DESC" - params = () - - if limit is not None: - query += " LIMIT ?" - params = (limit,) - - cursor.execute(query, params) - rows = cursor.fetchall() - - for row in rows: - entry = dict(row) - # Convert boolean back - entry["is_audio_only"] = bool(entry["is_audio_only"]) - # Parse options JSON - try: - entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} - except json.JSONDecodeError: - entry["download_options"] = {} - del entry["options"] # Remove internal column - entries.append(entry) + cursor.execute(query, params) + rows = cursor.fetchall() + + for row in rows: + entry = dict(row) + # Convert boolean back + entry["is_audio_only"] = bool(entry["is_audio_only"]) + # Parse options JSON + try: + entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} + except json.JSONDecodeError: + entry["download_options"] = {} + del entry["options"] # Remove internal column + entries.append(entry) except Exception as e: logger.error(f"Error fetching history: {e}") @@ -237,21 +257,20 @@ class HistoryManager: """ try: with cls._lock: - with cls._get_connection() as conn: - conn.row_factory = sqlite3.Row - cursor = conn.cursor() - cursor.execute("SELECT * FROM history WHERE id = ?", (entry_id,)) - row = cursor.fetchone() - - if row: - entry = dict(row) - entry["is_audio_only"] = bool(entry["is_audio_only"]) - try: - entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} - except json.JSONDecodeError: - entry["download_options"] = {} - del entry["options"] - return entry + conn = cls._get_connection() + cursor = conn.cursor() + cursor.execute("SELECT * FROM history WHERE id = ?", (entry_id,)) + row = cursor.fetchone() + + if row: + entry = dict(row) + entry["is_audio_only"] = bool(entry["is_audio_only"]) + try: + entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} + except json.JSONDecodeError: + entry["download_options"] = {} + del entry["options"] + return entry return None except Exception as e: logger.error(f"Error fetching entry {entry_id}: {e}") @@ -299,32 +318,32 @@ class HistoryManager: try: with cls._lock: - with cls._get_connection() as conn: - cursor = conn.cursor() - - cursor.execute(""" - INSERT INTO history ( - id, title, url, channel, file_path, download_date, - file_size, thumbnail_url, format_id, resolution, - is_audio_only, duration, options, timestamp - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - """, ( - unique_id, - title, - url, - channel, - str(file_path), - download_date, - file_size, - thumbnail_url, - format_id, - resolution, - 1 if is_audio_only else 0, - duration, - json.dumps(download_options), - timestamp - )) - conn.commit() + conn = cls._get_connection() + cursor = conn.cursor() + + cursor.execute(""" + INSERT INTO history ( + id, title, url, channel, file_path, download_date, + file_size, thumbnail_url, format_id, resolution, + is_audio_only, duration, options, timestamp + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + """, ( + unique_id, + title, + url, + channel, + str(file_path), + download_date, + file_size, + thumbnail_url, + format_id, + resolution, + 1 if is_audio_only else 0, + duration, + json.dumps(download_options), + timestamp + )) + conn.commit() logger.info(f"Added history entry: {title}") return unique_id @@ -338,13 +357,13 @@ class HistoryManager: """Remove an entry from history by ID.""" try: with cls._lock: - with cls._get_connection() as conn: - cursor = conn.cursor() - cursor.execute("DELETE FROM history WHERE id = ?", (entry_id,)) - if cursor.rowcount > 0: - conn.commit() - logger.info(f"Removed history entry: {entry_id}") - return True + conn = cls._get_connection() + cursor = conn.cursor() + cursor.execute("DELETE FROM history WHERE id = ?", (entry_id,)) + if cursor.rowcount > 0: + conn.commit() + logger.info(f"Removed history entry: {entry_id}") + return True return False except Exception as e: logger.error(f"Error removing history entry: {e}") @@ -355,11 +374,11 @@ class HistoryManager: """Clear all history entries.""" try: with cls._lock: - with cls._get_connection() as conn: - cursor = conn.cursor() - cursor.execute("DELETE FROM history") - count = cursor.rowcount - conn.commit() + conn = cls._get_connection() + cursor = conn.cursor() + cursor.execute("DELETE FROM history") + count = cursor.rowcount + conn.commit() logger.info("History cleared") return count except Exception as e: @@ -384,25 +403,24 @@ class HistoryManager: try: search_pattern = f"%{query}%" with cls._lock: - with cls._get_connection() as conn: - conn.row_factory = sqlite3.Row - cursor = conn.cursor() - cursor.execute(""" - SELECT * FROM history - WHERE title LIKE ? OR channel LIKE ? OR url LIKE ? - ORDER BY timestamp DESC - """, (search_pattern, search_pattern, search_pattern)) - rows = cursor.fetchall() - - for row in rows: - entry = dict(row) - entry["is_audio_only"] = bool(entry["is_audio_only"]) - try: - entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} - except json.JSONDecodeError: - entry["download_options"] = {} - del entry["options"] - entries.append(entry) + conn = cls._get_connection() + cursor = conn.cursor() + cursor.execute(""" + SELECT * FROM history + WHERE title LIKE ? OR channel LIKE ? OR url LIKE ? + ORDER BY timestamp DESC + """, (search_pattern, search_pattern, search_pattern)) + rows = cursor.fetchall() + + for row in rows: + entry = dict(row) + entry["is_audio_only"] = bool(entry["is_audio_only"]) + try: + entry["download_options"] = json.loads(entry["options"]) if entry["options"] else {} + except json.JSONDecodeError: + entry["download_options"] = {} + del entry["options"] + entries.append(entry) except Exception as e: logger.error(f"Error searching history: {e}") From e2c4dfea4edca9a1d34007fcd4737edf3bc7e649 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 21 Jan 2026 18:10:34 +0200 Subject: [PATCH 372/568] Increase menu button area in history delegate Expanded the clickable area for the menu button in HistoryDelegate to 60x50px and adjusted text width accordingly. This improves usability and addresses issues with the left side of the button not responding to clicks. --- .../ytsage_gui_dialogs/ytsage_dialogs_history.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py index 58308db..5227656 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py @@ -228,7 +228,7 @@ class HistoryDelegate(QStyledItemDelegate): # Text Area text_x = thumb_rect.right() + 12 - text_width = card_rect.right() - text_x - 50 + text_width = card_rect.right() - text_x - 85 # Leave even more space for the larger 60px button # Title title_rect = QRect(text_x, thumb_rect.top(), text_width, 50) @@ -305,7 +305,18 @@ class HistoryDelegate(QStyledItemDelegate): painter.restore() def get_menu_rect(self, card_rect): - return QRect(card_rect.right() - 40, card_rect.top() + 10, 30, 30) + # Widen the clickable area significantly (60x50) and shift slightly left + # to fix "left side not working" issues. + w = 60 + h = 50 + margin_right = 5 + margin_top = 5 + return QRect( + card_rect.right() - w - margin_right, + card_rect.top() + margin_top, + w, + h + ) def editorEvent(self, event, model, option, index): """Handle mouse clicks.""" From a871ded15f84c1c7268bf87b7833e05039afa4b9 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 12:52:48 +0200 Subject: [PATCH 373/568] Move update check to background thread Refactored the update checking logic into a QThread subclass to prevent blocking the UI during network requests. The update check now runs asynchronously, and the dialog is shown via a signal when an update is available. --- src/gui/ytsage_gui_main.py | 83 ++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 34 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 935d489..e08ff05 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -8,7 +8,7 @@ import markdown import pyglet import requests from packaging import version -from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer, Slot +from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer, Slot, QThread, Signal from PySide6.QtGui import QIcon from PySide6.QtWidgets import ( QApplication, @@ -53,7 +53,51 @@ from src.utils.ytsage_localization import LocalizationManager, _ from src.utils.ytsage_history_manager import HistoryManager +class UpdateCheckThread(QThread): + update_available = Signal(str, str, str) # version, url, changelog + + def __init__(self, current_version): + super().__init__() + self.current_version = current_version + + def run(self): + try: + # Get the latest version info from PyPI (no rate limiting unlike GitHub API) + response = requests.get( + "https://pypi.org/pypi/ytsage/json", + timeout=10, + ) + response.raise_for_status() + + pypi_data = response.json() + latest_version = pypi_data["info"]["version"] + + # Compare versions + if version.parse(latest_version) > version.parse(self.current_version): + release_url = "https://github.com/oop7/YTSage/releases/latest" + + # Try to fetch changelog from GitHub (with fallback if rate-limited) + changelog = "View the full changelog on the [GitHub Releases](https://github.com/oop7/YTSage/releases) page." + try: + gh_response = requests.get( + "https://api.github.com/repos/oop7/YTSage/releases/latest", + headers={"Accept": "application/vnd.github.v3+json"}, + timeout=5, + ) + if gh_response.status_code == 200: + gh_data = gh_response.json() + changelog = gh_data.get("body", changelog) + except Exception: + # Silently fallback to static message if GitHub API fails + pass + + self.update_available.emit(latest_version, release_url, changelog) + except Exception as e: + logger.debug(f"Failed to check for updates: {e}") + + class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins + def __init__(self) -> None: super().__init__() @@ -1161,39 +1205,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.signals.update_status.emit(_("download.resumed")) def check_for_updates(self) -> None: - try: - # Get the latest version info from PyPI (no rate limiting unlike GitHub API) - response = requests.get( - "https://pypi.org/pypi/ytsage/json", - timeout=10, - ) - response.raise_for_status() - - pypi_data = response.json() - latest_version = pypi_data["info"]["version"] - - # Compare versions - if version.parse(latest_version) > version.parse(self.version): - release_url = "https://github.com/oop7/YTSage/releases/latest" - - # Try to fetch changelog from GitHub (with fallback if rate-limited) - changelog = "View the full changelog on the [GitHub Releases](https://github.com/oop7/YTSage/releases) page." - try: - gh_response = requests.get( - "https://api.github.com/repos/oop7/YTSage/releases/latest", - headers={"Accept": "application/vnd.github.v3+json"}, - timeout=5, - ) - if gh_response.status_code == 200: - gh_data = gh_response.json() - changelog = gh_data.get("body", changelog) - except Exception: - # Silently fallback to static message if GitHub API fails (rate limit, etc.) - pass - - self.show_update_dialog(latest_version, release_url, changelog) - except Exception as e: - logger.exception(f"Failed to check for updates: {e}") + """Starts the update check in a background thread.""" + self.update_thread = UpdateCheckThread(self.version) + self.update_thread.update_available.connect(self.show_update_dialog) + self.update_thread.start() def show_update_dialog(self, latest_version, release_url, changelog) -> None: # Added changelog parameter msg = QDialog(self) From 4d4d9e10b9a42325d7dee631db635a4225a56a54 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 12:57:37 +0200 Subject: [PATCH 374/568] Refactor updater checks to use QThread for async operations Replaces manual threading for FFmpeg and Deno version checks with dedicated QThread subclasses (FFmpegCheckThread and DenoCheckThread). This improves integration with the Qt event loop, enables use of signals and slots for UI updates, and enhances error handling. --- .../ytsage_dialogs_updater.py | 88 ++++++++++++------- 1 file changed, 55 insertions(+), 33 deletions(-) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py index 82c61aa..9f74457 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py @@ -9,7 +9,7 @@ import threading from typing import Optional, Tuple, TYPE_CHECKING, cast import requests -from PySide6.QtCore import Qt, Signal +from PySide6.QtCore import Qt, Signal, QThread, Slot from PySide6.QtWidgets import ( QCheckBox, QGroupBox, @@ -157,6 +157,32 @@ def check_ffmpeg_version() -> Tuple[bool, str, str]: return False, "Error", "Error" +class FFmpegCheckThread(QThread): + finished = Signal(bool, str, str) + error = Signal(str) + + def run(self): + try: + update_available, current_version, latest_version = check_ffmpeg_version() + self.finished.emit(update_available, current_version, latest_version) + except Exception as e: + logger.exception(f"Error checking FFmpeg version: {e}") + self.error.emit(str(e)) + + +class DenoCheckThread(QThread): + finished = Signal(bool, str, str) + error = Signal(str) + + def run(self): + try: + update_available, current_version, latest_version = check_deno_update() + self.finished.emit(update_available, current_version, latest_version) + except Exception as e: + logger.exception(f"Error checking Deno version: {e}") + self.error.emit(str(e)) + + class UpdaterTabWidget(QWidget): """Widget for the Updater tab in Custom Options dialog.""" @@ -754,22 +780,20 @@ class UpdaterTabWidget(QWidget): "background-color: #2a2d36; border-radius: 4px; margin: 5px 0;" ) - # Run check in background thread - def check_thread(): - try: - update_available, current_version, latest_version = check_ffmpeg_version() - - # Update UI in main thread - self.check_button.setEnabled(True) - self._update_check_results(update_available, current_version, latest_version) - - except Exception as e: - logger.exception(f"Error checking FFmpeg version: {e}") - self.check_button.setEnabled(True) - self._show_check_error(str(e)) - - thread = threading.Thread(target=check_thread, daemon=True) - thread.start() + self.ffmpeg_check_thread = FFmpegCheckThread() + self.ffmpeg_check_thread.finished.connect(self._on_ffmpeg_check_finished) + self.ffmpeg_check_thread.error.connect(self._on_ffmpeg_check_error) + self.ffmpeg_check_thread.start() + + @Slot(bool, str, str) + def _on_ffmpeg_check_finished(self, update_available, current_version, latest_version): + self.check_button.setEnabled(True) + self._update_check_results(update_available, current_version, latest_version) + + @Slot(str) + def _on_ffmpeg_check_error(self, error): + self.check_button.setEnabled(True) + self._show_check_error(error) def _update_check_results(self, update_available: bool, current_version: str, latest_version: str) -> None: """Handle completion of version check.""" @@ -819,22 +843,20 @@ class UpdaterTabWidget(QWidget): "background-color: #2a2d36; border-radius: 4px; margin: 5px 0;" ) - # Run check in background thread - def check_thread(): - try: - update_available, current_version, latest_version = check_deno_update() - - # Update UI in main thread - self.deno_check_button.setEnabled(True) - self._update_deno_check_results(update_available, current_version, latest_version) - - except Exception as e: - logger.exception(f"Error checking Deno version: {e}") - self.deno_check_button.setEnabled(True) - self._show_deno_check_error(str(e)) - - thread = threading.Thread(target=check_thread, daemon=True) - thread.start() + self.deno_check_thread = DenoCheckThread() + self.deno_check_thread.finished.connect(self._on_deno_check_finished) + self.deno_check_thread.error.connect(self._on_deno_check_error) + self.deno_check_thread.start() + + @Slot(bool, str, str) + def _on_deno_check_finished(self, update_available, current_version, latest_version): + self.deno_check_button.setEnabled(True) + self._update_deno_check_results(update_available, current_version, latest_version) + + @Slot(str) + def _on_deno_check_error(self, error): + self.deno_check_button.setEnabled(True) + self._show_deno_check_error(error) def _update_deno_check_results(self, update_available: bool, current_version: str, latest_version: str) -> None: """Handle completion of Deno version check.""" From 9759fa565f88ec2f093f0af3232c9705c289f23b Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 13:35:02 +0200 Subject: [PATCH 375/568] Refactor UI startup and stylesheet handling Moved the main application stylesheet to a new src/gui/ytsage_stylesheet.py module and applied it via StyleSheet.MAIN. Deferred blocking startup checks (FFmpeg, yt-dlp, Deno, updates) until after the UI is shown to improve responsiveness. Improved subtitle file deletion logic and added destination filename capture in downloader. Added custom style for auto-update checkbox in updater dialog. --- main.py | 17 -- src/core/ytsage_downloader.py | 19 +- .../ytsage_dialogs_updater.py | 26 ++ src/gui/ytsage_gui_main.py | 228 +++--------------- src/gui/ytsage_stylesheet.py | 126 ++++++++++ 5 files changed, 198 insertions(+), 218 deletions(-) create mode 100644 src/gui/ytsage_stylesheet.py diff --git a/main.py b/main.py index e0ceba7..ce49b44 100644 --- a/main.py +++ b/main.py @@ -3,8 +3,6 @@ import sys from PySide6.QtWidgets import QApplication, QMessageBox from src.utils.ytsage_logger import logger -from src.core.ytsage_yt_dlp import check_ytdlp_binary, setup_ytdlp # Import the new yt-dlp setup functions -from src.core.ytsage_deno import check_deno_binary, setup_deno # Import the new Deno setup functions from src.gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main @@ -22,21 +20,6 @@ def main(): logger.info("Starting YTSage application") app = QApplication(sys.argv) - # Get the expected binary path and check if it exists - if not check_ytdlp_binary(): - # No app-specific binary found, show setup dialog regardless of Python package - logger.warning("No yt-dlp binary found, starting setup process") - yt_dlp_path = setup_ytdlp() - if yt_dlp_path == "yt-dlp": # If user canceled or something went wrong - logger.warning("yt-dlp not configured properly") - - # Check for Deno binary - if not check_deno_binary(): - logger.warning("No Deno binary found, starting setup process") - deno_path = setup_deno() - if deno_path == "deno": # If user canceled or something went wrong - logger.warning("Deno not configured properly") - window = YTSageApp() # Instantiate the main application class window.show() logger.info("Application window shown, entering main loop") diff --git a/src/core/ytsage_downloader.py b/src/core/ytsage_downloader.py index 12f1ed2..48b99b6 100644 --- a/src/core/ytsage_downloader.py +++ b/src/core/ytsage_downloader.py @@ -189,9 +189,12 @@ class DownloadThread(QThread): def safe_delete(path: Path) -> bool: try: - path.unlink(missing_ok=True) - logger.debug(f"Deleted subtitle file: {path.name}") - return True + # Check if file exists before trying to delete + if path.exists(): + path.unlink(missing_ok=True) + logger.debug(f"Deleted subtitle file: {path.name}") + return True + return False except Exception as e: logger.exception(f"Error deleting subtitle file {path}: {e}") return False @@ -410,8 +413,6 @@ class DownloadThread(QThread): self._terminate_process_tree(self.process) # Add delay before cleanup to allow file handles to be released - # Force garbage collection to help release resources - gc.collect() time.sleep(2) self.cleanup_partial_files() self.status_signal.emit(_("download.cancelled")) @@ -622,6 +623,14 @@ class DownloadThread(QThread): if "Downloading webpage" in line or "Extracting URL" in line: self.status_signal.emit(_("download.fetching_info")) self.progress_signal.emit(0) + elif "[download] Destination:" in line: + # Extract the destination filename + match = re.search(r"Destination: (.+)", line) + if match: + dest_path = match.group(1).strip() + self.current_filename = Path(dest_path).name + self.last_file_path = dest_path + logger.debug(f"Captured destination filename: {self.current_filename}") elif "Downloading API JSON" in line: self.status_signal.emit(_("download.processing_playlist")) self.progress_signal.emit(0) diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py index 9f74457..06853cd 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py +++ b/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py @@ -492,6 +492,32 @@ class UpdaterTabWidget(QWidget): # Enable/Disable auto-update checkbox self.auto_update_enabled = QCheckBox(_("settings.enable_auto_updates")) + self.auto_update_enabled.setStyleSheet( + """ + QCheckBox { + color: #ffffff; + spacing: 5px; + padding: 3px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } + """ + ) auto_update_layout.addWidget(self.auto_update_enabled) # Frequency options diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index e08ff05..d5852c4 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -51,6 +51,7 @@ from src.utils.ytsage_logger import logger from src.utils.ytsage_config_manager import ConfigManager from src.utils.ytsage_localization import LocalizationManager, _ from src.utils.ytsage_history_manager import HistoryManager +from src.gui.ytsage_stylesheet import StyleSheet class UpdateCheckThread(QThread): @@ -105,30 +106,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from saved_language = ConfigManager.get("language") or "en" LocalizationManager.initialize(saved_language) - # Check for FFmpeg before proceeding - if not check_ffmpeg(): - self.show_ffmpeg_dialog() - - # Check for yt-dlp in our app's bin directory or system PATH - ytdlp_path = get_yt_dlp_path() - if ytdlp_path == "yt-dlp": # Not found in app dir or PATH - self.show_ytdlp_setup_dialog() - else: - logger.info(f"Using yt-dlp from: {ytdlp_path}") - - # Check for Deno in our app's bin directory - deno_path = get_deno_path() - if deno_path == "deno": # Not found in app dir - self.show_deno_setup_dialog() - else: - logger.info(f"Using Deno from: {deno_path}") - self.version = APP_VERSION - self.check_for_updates() - - # Check for auto-updates if enabled - self.check_auto_update_ytdlp() - load_saved_path(self) # Load custom icon if ICON_PATH.exists(): @@ -176,178 +154,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.analysis_completed = False self.init_ui() - self.setStyleSheet( - """ - QMainWindow { - background-color: #15181b; - } - QWidget { - background-color: #15181b; - color: #ffffff; - } - QLineEdit { - padding: 5px 15px; - border: 2px solid #2a2d2e; - border-radius: 6px; - background-color: #1b2021; - color: #ffffff; - font-size: 13px; - } - QLineEdit:focus { - border-color: #ff6b6b; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #a50000; - } - QPushButton:pressed { - background-color: #800000; - } - QPushButton:disabled { - background-color: #3d3d3d; - color: #888888; - } - QTableWidget { - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #1b2021; - gridline-color: #1b2021; - } - QHeaderView::section { - background-color: #15181b; - padding: 5px; - border: 1px solid #1b2021; - color: #ffffff; - } - QProgressBar { - border: 2px solid #1b2021; - border-radius: 4px; - text-align: center; - color: white; - } - QProgressBar::chunk { - background-color: #c90000; - border-radius: 2px; - } - QLabel { - color: #ffffff; - } - /* Style for filter buttons */ - QPushButton.filter-btn { - background-color: #1b2021; - padding: 5px 10px; - margin: 0 5px; - } - QPushButton.filter-btn:checked { - background-color: #c90000; - } - QPushButton.filter-btn:hover { - background-color: #444444; - } - QPushButton.filter-btn:checked:hover { - background-color: #a50000; - } - /* Modern Scrollbar Styling */ - QScrollBar:vertical { - border: none; - background: #15181b; - width: 14px; - margin: 15px 0 15px 0; - border-radius: 7px; - } - QScrollBar::handle:vertical { - background: #404040; - min-height: 30px; - border-radius: 7px; - } - QScrollBar::handle:vertical:hover { - background: #505050; - } - QScrollBar::sub-line:vertical { - border: none; - background: #15181b; - height: 15px; - border-top-left-radius: 7px; - border-top-right-radius: 7px; - subcontrol-position: top; - subcontrol-origin: margin; - } - QScrollBar::add-line:vertical { - border: none; - background: #15181b; - height: 15px; - border-bottom-left-radius: 7px; - border-bottom-right-radius: 7px; - subcontrol-position: bottom; - subcontrol-origin: margin; - } - QScrollBar::sub-line:vertical:hover, - QScrollBar::add-line:vertical:hover { - background: #404040; - } - QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; - width: 0; - height: 0; - } - QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; - } - /* Horizontal Scrollbar */ - QScrollBar:horizontal { - border: none; - background: #15181b; - height: 14px; - margin: 0 15px 0 15px; - border-radius: 7px; - } - QScrollBar::handle:horizontal { - background: #404040; - min-width: 30px; - border-radius: 7px; - } - QScrollBar::handle:horizontal:hover { - background: #505050; - } - QScrollBar::sub-line:horizontal { - border: none; - background: #15181b; - width: 15px; - border-top-left-radius: 7px; - border-bottom-left-radius: 7px; - subcontrol-position: left; - subcontrol-origin: margin; - } - QScrollBar::add-line:horizontal { - border: none; - background: #15181b; - width: 15px; - border-top-right-radius: 7px; - border-bottom-right-radius: 7px; - subcontrol-position: right; - subcontrol-origin: margin; - } - QScrollBar::sub-line:horizontal:hover, - QScrollBar::add-line:horizontal:hover { - background: #404040; - } - QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; - width: 0; - height: 0; - } - QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; - } - """ - ) + + # Defer heavy start-up tasks to ensure UI renders immediately + QTimer.singleShot(100, self._perform_startup_checks) + + self.setStyleSheet(StyleSheet.MAIN) self.signals.update_progress.connect(self.update_progress_bar) # After adding format buttons @@ -361,7 +172,32 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Initialize UI state based on current mode self.handle_mode_change() - # Init_sound method is removed, serve no purpose. + + def _perform_startup_checks(self): + """Perform potentially blocking startup checks after UI is shown.""" + + # Check for FFmpeg before proceeding + if not check_ffmpeg(): + self.show_ffmpeg_dialog() + + # Check for yt-dlp in our app's bin directory or system PATH + ytdlp_path = get_yt_dlp_path() + if ytdlp_path == "yt-dlp": # Not found in app dir or PATH + self.show_ytdlp_setup_dialog() + else: + logger.info(f"Using yt-dlp from: {ytdlp_path}") + + # Check for Deno in our app's bin directory + deno_path = get_deno_path() + if deno_path == "deno": # Not found in app dir + self.show_deno_setup_dialog() + else: + logger.info(f"Using Deno from: {deno_path}") + + self.check_for_updates() + + # Check for auto-updates if enabled + QTimer.singleShot(2000, self.check_auto_update_ytdlp) # Further delay auto-update check def play_notification_sound(self) -> None: """Play notification sound asynchronously (non-blocking).""" diff --git a/src/gui/ytsage_stylesheet.py b/src/gui/ytsage_stylesheet.py new file mode 100644 index 0000000..99dfcbc --- /dev/null +++ b/src/gui/ytsage_stylesheet.py @@ -0,0 +1,126 @@ + +class StyleSheet: + MAIN = """ + QMainWindow { + background-color: #15181b; + } + QWidget { + background-color: #15181b; + color: #ffffff; + } + QLineEdit { + padding: 5px 15px; + border: 2px solid #2a2d2e; + border-radius: 6px; + background-color: #1b2021; + color: #ffffff; + font-size: 13px; + } + QLineEdit:focus { + border-color: #ff6b6b; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QPushButton:disabled { + background-color: #3d3d3d; + color: #888888; + } + QTableWidget { + border: 2px solid #1b2021; + border-radius: 4px; + background-color: #1b2021; + gridline-color: #1b2021; + } + QHeaderView::section { + background-color: #15181b; + padding: 5px; + border: 1px solid #1b2021; + color: #ffffff; + } + QProgressBar { + border: 2px solid #1b2021; + border-radius: 4px; + text-align: center; + color: white; + } + QProgressBar::chunk { + background-color: #c90000; + border-radius: 2px; + } + QLabel { + color: #ffffff; + } + /* Style for filter buttons */ + QPushButton.filter-btn { + background-color: #1b2021; + padding: 5px 10px; + margin: 0 5px; + } + QPushButton.filter-btn:checked { + background-color: #c90000; + } + QPushButton.filter-btn:hover { + background-color: #444444; + } + QPushButton.filter-btn:checked:hover { + background-color: #a50000; + } + /* Modern Scrollbar Styling */ + QScrollBar:vertical { + border: none; + background: #15181b; + width: 14px; + margin: 15px 0 15px 0; + border-radius: 7px; + } + QScrollBar::handle:vertical { + background: #404040; + min-height: 30px; + border-radius: 7px; + } + QScrollBar::handle:vertical:hover { + background: #505050; + } + QScrollBar::sub-line:vertical { + border: none; + background: #15181b; + height: 15px; + border-top-left-radius: 7px; + border-top-right-radius: 7px; + subcontrol-position: top; + subcontrol-origin: margin; + } + QScrollBar::add-line:vertical { + border: none; + background: #15181b; + height: 15px; + border-bottom-left-radius: 7px; + border-bottom-right-radius: 7px; + subcontrol-position: bottom; + subcontrol-origin: margin; + } + QScrollBar::sub-line:vertical:hover, + QScrollBar::add-line:vertical:hover { + background: #404040; + } + QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { + background: none; + width: 0; + height: 0; + } + QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; + } + """ From 370836b814738ccdf4d21d3644c64c11280b8443 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 13:46:16 +0200 Subject: [PATCH 376/568] Refactor GUI styles to use centralized StyleSheet class Moved all inline widget style definitions in ytsage_gui_main.py to named constants in the StyleSheet class in ytsage_stylesheet.py. This centralizes and simplifies style management, improves maintainability, and ensures consistent theming across the application. --- src/gui/ytsage_gui_main.py | 419 ++--------------------------------- src/gui/ytsage_stylesheet.py | 290 ++++++++++++++++++++++++ 2 files changed, 313 insertions(+), 396 deletions(-) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index d5852c4..e4caede 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -250,24 +250,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.paste_button.clicked.connect(self.paste_url) self.paste_button.setMinimumHeight(42) self.paste_button.setMinimumWidth(115) - self.paste_button.setStyleSheet(""" - QPushButton { - padding: 9px 20px; - background-color: #1b2021; - border: 2px solid #2a2d2e; - border-radius: 5px; - color: #ffffff; - font-weight: 600; - font-size: 13px; - } - QPushButton:hover { - background-color: #252829; - border-color: #3a3d3e; - } - QPushButton:pressed { - background-color: #1a1d1e; - } - """) + self.paste_button.setStyleSheet(StyleSheet.PASTE_BUTTON) # Analyze button with app's red theme self.analyze_button = QPushButton(_("buttons.analyze")) @@ -275,27 +258,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.analyze_button.setEnabled(False) # Disabled until URL is entered self.analyze_button.setMinimumHeight(42) self.analyze_button.setMinimumWidth(115) - self.analyze_button.setStyleSheet(""" - QPushButton { - padding: 9px 20px; - background-color: #c90000; - border: none; - border-radius: 5px; - color: white; - font-weight: 600; - font-size: 13px; - } - QPushButton:hover { - background-color: #a50000; - } - QPushButton:pressed { - background-color: #800000; - } - QPushButton:disabled { - background-color: #3d3d3d; - color: #888888; - } - """) + self.analyze_button.setStyleSheet(StyleSheet.ANALYZE_BUTTON) url_layout.addWidget(self.url_input, 1) url_layout.addWidget(self.paste_button) @@ -325,24 +288,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.playlist_select_btn = QPushButton(_("buttons.select_videos")) self.playlist_select_btn.clicked.connect(self.open_playlist_selection_dialog) self.playlist_select_btn.setVisible(False) - self.playlist_select_btn.setStyleSheet( - """ - QPushButton { - padding: 6px 12px; - background-color: #1d1e22; - border: 1px solid #c90000; - border-radius: 4px; - color: white; - font-weight: normal; - text-align: left; - padding-left: 10px; - } - QPushButton:hover { - background-color: #2a2d36; - border-color: #a50000; - } - """ - ) + self.playlist_select_btn.setStyleSheet(StyleSheet.PLAYLIST_BUTTON) layout.addWidget(self.playlist_select_btn) # --- End Playlist Info Section --- @@ -365,86 +311,20 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.video_button = QPushButton(_("buttons.video")) self.video_button.setCheckable(True) self.video_button.setChecked(True) # Set video as default - self.video_button.setStyleSheet( - """ - QPushButton { - padding: 8px 15px; - background-color: #1d1e22; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:checked { - background-color: #c90000; - } - QPushButton:hover { - background-color: #2a2d36; - } - QPushButton:checked:hover { - background-color: #a50000; - } - """ - ) + self.video_button.setStyleSheet(StyleSheet.FORMAT_TOGGLE_BUTTON) self.format_buttons.addButton(self.video_button) self.format_layout.addWidget(self.video_button) # Audio button self.audio_button = QPushButton(_("buttons.audio_only")) self.audio_button.setCheckable(True) - self.audio_button.setStyleSheet( - """ - QPushButton { - padding: 8px 15px; - background-color: #1d1e22; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:checked { - background-color: #c90000; - } - QPushButton:hover { - background-color: #2a2d36; - } - QPushButton:checked:hover { - background-color: #a50000; - } - """ - ) + self.audio_button.setStyleSheet(StyleSheet.FORMAT_TOGGLE_BUTTON) self.format_buttons.addButton(self.audio_button) self.format_layout.addWidget(self.audio_button) # Add Merge Subtitles checkbox (Moved here) self.merge_subs_checkbox = QCheckBox(_("main_ui.merge_subtitles")) - self.merge_subs_checkbox.setStyleSheet( - """ - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; /* Consistent margin */ - } - QCheckBox::indicator { - width: 18px; - height: 18px; - border-radius: 9px; - } - QCheckBox::indicator:unchecked { - border: 2px solid #666666; - background: #1d1e22; - border-radius: 9px; - } - QCheckBox::indicator:checked { - border: 2px solid #c90000; - background: #c90000; - border-radius: 9px; - } - /* Add disabled state styling if needed */ - QCheckBox:disabled { color: #888888; } - QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """ - ) + self.merge_subs_checkbox.setStyleSheet(StyleSheet.CHECKBOX) # Initially disable it, will be enabled if subtitles are selected later self.merge_subs_checkbox.setEnabled(False) self.format_layout.addWidget(self.merge_subs_checkbox) @@ -453,60 +333,21 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.save_thumbnail_checkbox = QCheckBox(_("main_ui.save_thumbnail")) self.save_thumbnail_checkbox.setChecked(False) self.save_thumbnail_checkbox.stateChanged.connect(self.toggle_save_thumbnail) - self.save_thumbnail_checkbox.setStyleSheet( - """ - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } - QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } - QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } - QCheckBox:disabled { color: #888888; } - QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """ - ) + self.save_thumbnail_checkbox.setStyleSheet(StyleSheet.CHECKBOX) self.format_layout.addWidget(self.save_thumbnail_checkbox) # Add Save Description Checkbox (Moved here) self.save_description_checkbox = QCheckBox(_("main_ui.save_description")) self.save_description_checkbox.setChecked(False) self.save_description_checkbox.stateChanged.connect(self.toggle_save_description) - self.save_description_checkbox.setStyleSheet( - """ - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } - QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } - QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } - QCheckBox:disabled { color: #888888; } - QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """ - ) + self.save_description_checkbox.setStyleSheet(StyleSheet.CHECKBOX) self.format_layout.addWidget(self.save_description_checkbox) # Add Embed Chapters Checkbox self.embed_chapters_checkbox = QCheckBox(_("main_ui.embed_chapters")) self.embed_chapters_checkbox.setChecked(False) self.embed_chapters_checkbox.stateChanged.connect(self.toggle_embed_chapters) - self.embed_chapters_checkbox.setStyleSheet( - """ - QCheckBox { - color: #ffffff; - padding: 5px; - margin-left: 20px; - } - QCheckBox::indicator { width: 18px; height: 18px; border-radius: 9px; } - QCheckBox::indicator:unchecked { border: 2px solid #666666; background: #1d1e22; border-radius: 9px; } - QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; border-radius: 9px; } - QCheckBox:disabled { color: #888888; } - QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } - """ - ) + self.embed_chapters_checkbox.setStyleSheet(StyleSheet.CHECKBOX) self.format_layout.addWidget(self.embed_chapters_checkbox) self.format_layout.addStretch() @@ -567,36 +408,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from # Progress section with improved styling progress_layout = QVBoxLayout() self.progress_bar = QProgressBar() - self.progress_bar.setStyleSheet( - """ - QProgressBar { - border: 2px solid #3d3d3d; - border-radius: 4px; - text-align: center; - color: white; - background-color: #363636; - height: 25px; - } - QProgressBar::chunk { - background-color: #ff0000; - border-radius: 2px; - } - """ - ) + self.progress_bar.setStyleSheet(StyleSheet.PROGRESS_BAR) progress_layout.addWidget(self.progress_bar) # Add download details label with improved styling self.download_details_label = QLabel() self.download_details_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.download_details_label.setStyleSheet( - """ - QLabel { - color: #cccccc; - font-size: 12px; - padding: 5px; - } - """ - ) + self.download_details_label.setStyleSheet(StyleSheet.STATUS_LABEL) progress_layout.addWidget(self.download_details_label) # Create a horizontal layout for status label and open folder button @@ -604,40 +422,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.status_label = QLabel(_("app.ready")) self.status_label.setAlignment(Qt.AlignmentFlag.AlignCenter) - self.status_label.setStyleSheet( - """ - QLabel { - color: #cccccc; - font-size: 12px; - padding: 5px; - } - """ - ) + self.status_label.setStyleSheet(StyleSheet.STATUS_LABEL) status_layout.addWidget(self.status_label) # Add "Open Folder" button (initially hidden) self.open_folder_btn = QPushButton("📁") self.open_folder_btn.setToolTip(_("buttons.open_folder")) self.open_folder_btn.setFixedSize(30, 30) - self.open_folder_btn.setStyleSheet( - """ - QPushButton { - background-color: #2a2d2e; - color: #cccccc; - border: 1px solid #404040; - border-radius: 5px; - font-size: 16px; - padding: 2px; - } - QPushButton:hover { - background-color: #3a3d3e; - border: 1px solid #505050; - } - QPushButton:pressed { - background-color: #1a1d1e; - } - """ - ) + self.open_folder_btn.setStyleSheet(StyleSheet.OPEN_FOLDER_BUTTON) self.open_folder_btn.clicked.connect(self.open_download_folder) self.open_folder_btn.setVisible(False) # Hidden by default status_layout.addWidget(self.open_folder_btn) @@ -1092,17 +884,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from f"" ) message_label.setWordWrap(True) - message_label.setStyleSheet( - """ - QLabel { - background-color: #1d1e22; - border: 1px solid #3d3d3d; - border-radius: 6px; - padding: 15px; - margin: 5px 0; - } - """ - ) + message_label.setStyleSheet(StyleSheet.UPDATE_DIALOG_MESSAGE) layout.addWidget(message_label) # Changelog Section @@ -1126,34 +908,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from logger.warning(f"Error converting changelog markdown to HTML: {e}", exc_info=True) changelog_text.setPlainText(changelog) # Fallback to plain text - changelog_text.setStyleSheet( - """ - QTextEdit { - background-color: #1d1e22; - border: 2px solid #3d3d3d; - border-radius: 6px; - color: #ffffff; - padding: 10px; - font-family: 'Segoe UI', Arial, sans-serif; - font-size: 12px; - line-height: 1.4; - } - QScrollBar:vertical { - border: none; - background: #1d1e22; - width: 12px; - border-radius: 6px; - } - QScrollBar::handle:vertical { - background: #404040; - min-height: 20px; - border-radius: 6px; - } - QScrollBar::handle:vertical:hover { - background: #505050; - } - """ - ) + changelog_text.setStyleSheet(StyleSheet.UPDATE_DIALOG_CHANGELOG) changelog_text.setMaximumHeight(180) # Limit height layout.addWidget(changelog_text) @@ -1163,50 +918,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from download_btn = QPushButton(_('update_dialog.download_update')) download_btn.clicked.connect(lambda: self.open_release_page(release_url)) - download_btn.setStyleSheet( - """ - QPushButton { - padding: 10px 20px; - background-color: #c90000; - border: none; - border-radius: 6px; - color: white; - font-weight: bold; - font-size: 13px; - min-width: 140px; - } - QPushButton:hover { - background-color: #a50000; - } - QPushButton:pressed { - background-color: #800000; - } - """ - ) + download_btn.setStyleSheet(StyleSheet.UPDATE_DIALOG_DOWNLOAD_BTN) remind_btn = QPushButton(_('update_dialog.remind_later')) remind_btn.clicked.connect(msg.close) - remind_btn.setStyleSheet( - """ - QPushButton { - padding: 10px 20px; - background-color: #3d3d3d; - border: 1px solid #555555; - border-radius: 6px; - color: white; - font-weight: bold; - font-size: 13px; - min-width: 140px; - } - QPushButton:hover { - background-color: #4d4d4d; - border-color: #666666; - } - QPushButton:pressed { - background-color: #2d2d2d; - } - """ - ) + remind_btn.setStyleSheet(StyleSheet.UPDATE_DIALOG_REMIND_BTN) button_layout.addStretch() button_layout.addWidget(download_btn) @@ -1214,19 +930,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from layout.addLayout(button_layout) # Style the dialog with improved theme matching - msg.setStyleSheet( - """ - QDialog { - background-color: #15181b; - border: 1px solid #3d3d3d; - border-radius: 8px; - } - QLabel { - color: #ffffff; - font-size: 12px; - } - """ - ) + msg.setStyleSheet(StyleSheet.UPDATE_DIALOG_MAIN) msg.show() @@ -1419,31 +1123,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from msg_box.setWindowIcon(self.windowIcon()) # Style the dialog - msg_box.setStyleSheet( - """ - QMessageBox { - background-color: #2b2b2b; - } - QLabel { - color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #ff0000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - min-width: 80px; - } - QPushButton:hover { - background-color: #cc0000; - } - """ - ) + msg_box.setStyleSheet(StyleSheet.FILE_EXISTS_DIALOG) msg_box.exec() + # --- Add Toggle Methods Here --- def toggle_save_thumbnail(self, state) -> None: logger.debug(f"Raw thumbnail state received: {state}") # Debug: Print raw state @@ -1693,22 +1377,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from self.force_keyframes = dialog.get_force_keyframes() if self.download_section: - self.time_range_btn.setStyleSheet( - """ - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - border: 2px solid white; - } - QPushButton:hover { - background-color: #a50000; - } - """ - ) + self.time_range_btn.setStyleSheet(StyleSheet.TIME_RANGE_BTN_ACTIVE) self.time_range_btn.setToolTip(f"Section set: {self.download_section}") else: # Reset to default style if no section is selected @@ -1726,28 +1395,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from success_dialog.setWindowTitle("yt-dlp Setup") success_dialog.setText(f"yt-dlp has been successfully configured at:\n{yt_dlp_path}") success_dialog.setWindowIcon(self.windowIcon()) - success_dialog.setStyleSheet( - """ - QMessageBox { - background-color: #15181b; - color: #ffffff; - } - QLabel { - color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #a50000; - } - """ - ) + success_dialog.setStyleSheet(StyleSheet.SETUP_SUCCESS_DIALOG) success_dialog.exec() def show_deno_setup_dialog(self) -> None: @@ -1759,28 +1407,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from success_dialog.setWindowTitle(_("deno.setup_required")) success_dialog.setText(f"{_('deno.success')}\n{deno_path}") success_dialog.setWindowIcon(self.windowIcon()) - success_dialog.setStyleSheet( - """ - QMessageBox { - background-color: #15181b; - color: #ffffff; - } - QLabel { - color: #ffffff; - } - QPushButton { - padding: 8px 15px; - background-color: #c90000; - border: none; - border-radius: 4px; - color: white; - font-weight: bold; - } - QPushButton:hover { - background-color: #a50000; - } - """ - ) + success_dialog.setStyleSheet(StyleSheet.SETUP_SUCCESS_DIALOG) success_dialog.exec() def _analyze_url_with_subprocess(self, url) -> None: diff --git a/src/gui/ytsage_stylesheet.py b/src/gui/ytsage_stylesheet.py index 99dfcbc..465a8ad 100644 --- a/src/gui/ytsage_stylesheet.py +++ b/src/gui/ytsage_stylesheet.py @@ -124,3 +124,293 @@ class StyleSheet: background: none; } """ + + PASTE_BUTTON = """ + QPushButton { + padding: 9px 20px; + background-color: #1b2021; + border: 2px solid #2a2d2e; + border-radius: 5px; + color: #ffffff; + font-weight: 600; + font-size: 13px; + } + QPushButton:hover { + background-color: #252829; + border-color: #3a3d3e; + } + QPushButton:pressed { + background-color: #1a1d1e; + } + """ + + ANALYZE_BUTTON = """ + QPushButton { + padding: 9px 20px; + background-color: #c90000; + border: none; + border-radius: 5px; + color: white; + font-weight: 600; + font-size: 13px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + QPushButton:disabled { + background-color: #3d3d3d; + color: #888888; + } + """ + + PLAYLIST_BUTTON = """ + QPushButton { + padding: 6px 12px; + background-color: #1d1e22; + border: 1px solid #c90000; + border-radius: 4px; + color: white; + font-weight: normal; + text-align: left; + padding-left: 10px; + } + QPushButton:hover { + background-color: #2a2d36; + border-color: #a50000; + } + """ + + FORMAT_TOGGLE_BUTTON = """ + QPushButton { + padding: 8px 15px; + background-color: #1d1e22; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:checked { + background-color: #c90000; + } + QPushButton:hover { + background-color: #2a2d36; + } + QPushButton:checked:hover { + background-color: #a50000; + } + """ + + CHECKBOX = """ + QCheckBox { + color: #ffffff; + padding: 5px; + margin-left: 20px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + QCheckBox:disabled { color: #888888; } + QCheckBox::indicator:disabled { border-color: #555555; background: #444444; } + """ + + PROGRESS_BAR = """ + QProgressBar { + border: 2px solid #3d3d3d; + border-radius: 4px; + text-align: center; + color: white; + background-color: #363636; + height: 25px; + } + QProgressBar::chunk { + background-color: #ff0000; + border-radius: 2px; + } + """ + + STATUS_LABEL = """ + QLabel { + color: #cccccc; + font-size: 12px; + padding: 5px; + } + """ + + OPEN_FOLDER_BUTTON = """ + QPushButton { + background-color: #2a2d2e; + color: #cccccc; + border: 1px solid #404040; + border-radius: 5px; + font-size: 16px; + padding: 2px; + } + QPushButton:hover { + background-color: #3a3d3e; + border: 1px solid #505050; + } + QPushButton:pressed { + background-color: #1a1d1e; + } + """ + + UPDATE_DIALOG_MESSAGE = """ + QLabel { + background-color: #1d1e22; + border: 1px solid #3d3d3d; + border-radius: 6px; + padding: 15px; + margin: 5px 0; + } + """ + + UPDATE_DIALOG_CHANGELOG = """ + QTextEdit { + background-color: #1d1e22; + border: 2px solid #3d3d3d; + border-radius: 6px; + color: #ffffff; + padding: 10px; + font-family: 'Segoe UI', Arial, sans-serif; + font-size: 12px; + line-height: 1.4; + } + QScrollBar:vertical { + border: none; + background: #1d1e22; + width: 12px; + border-radius: 6px; + } + QScrollBar::handle:vertical { + background: #404040; + min-height: 20px; + border-radius: 6px; + } + QScrollBar::handle:vertical:hover { + background: #505050; + } + """ + + UPDATE_DIALOG_DOWNLOAD_BTN = """ + QPushButton { + padding: 10px 20px; + background-color: #c90000; + border: none; + border-radius: 6px; + color: white; + font-weight: bold; + font-size: 13px; + min-width: 140px; + } + QPushButton:hover { + background-color: #a50000; + } + QPushButton:pressed { + background-color: #800000; + } + """ + + UPDATE_DIALOG_REMIND_BTN = """ + QPushButton { + padding: 10px 20px; + background-color: #3d3d3d; + border: 1px solid #555555; + border-radius: 6px; + color: white; + font-weight: bold; + font-size: 13px; + min-width: 140px; + } + QPushButton:hover { + background-color: #4d4d4d; + border-color: #666666; + } + QPushButton:pressed { + background-color: #2d2d2d; + } + """ + + UPDATE_DIALOG_MAIN = """ + QDialog { + background-color: #15181b; + border: 1px solid #3d3d3d; + border-radius: 8px; + } + QLabel { + color: #ffffff; + font-size: 12px; + } + """ + + TIME_RANGE_BTN_ACTIVE = """ + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + border: 2px solid white; + } + QPushButton:hover { + background-color: #a50000; + } + """ + + FILE_EXISTS_DIALOG = """ + QMessageBox { + background-color: #2b2b2b; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #ff0000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + min-width: 80px; + } + QPushButton:hover { + background-color: #cc0000; + } + """ + + SETUP_SUCCESS_DIALOG = """ + QMessageBox { + background-color: #15181b; + color: #ffffff; + } + QLabel { + color: #ffffff; + } + QPushButton { + padding: 8px 15px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """ + From d5d7a0186dbb7123f8f9d06ac978c7b769ac5853 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 14:00:13 +0200 Subject: [PATCH 377/568] Refactor analysis logic into AnalysisMixin Moved all analysis-related methods from YTSageApp in ytsage_gui_main.py to a new AnalysisMixin in ytsage_gui_analysis.py. This improves code organization and separation of concerns by isolating analysis logic from the main application class. --- src/gui/ytsage_gui_analysis.py | 257 +++++++++++++++++++++++++++++++++ src/gui/ytsage_gui_main.py | 253 +------------------------------- 2 files changed, 259 insertions(+), 251 deletions(-) create mode 100644 src/gui/ytsage_gui_analysis.py diff --git a/src/gui/ytsage_gui_analysis.py b/src/gui/ytsage_gui_analysis.py new file mode 100644 index 0000000..06463a7 --- /dev/null +++ b/src/gui/ytsage_gui_analysis.py @@ -0,0 +1,257 @@ +from typing import TYPE_CHECKING, cast + +import json +import threading +import subprocess +from PySide6.QtCore import QMetaObject, Qt, Q_ARG +from PySide6.QtWidgets import QMessageBox + +from src.core.ytsage_utils import validate_video_url, parse_yt_dlp_error +from src.core.ytsage_yt_dlp import get_yt_dlp_path +from src.utils.ytsage_constants import SUBPROCESS_CREATIONFLAGS +from src.utils.ytsage_localization import _ +from src.utils.ytsage_logger import logger + +if TYPE_CHECKING: + from src.gui.ytsage_gui_main import YTSageApp + +class AnalysisMixin: + def analyze_url(self) -> None: + self = cast("YTSageApp", self) + if self.is_updating_ytdlp: + QMessageBox.warning(self, _("update.update_in_progress_title"), _("update.update_in_progress_message")) + return + + url = self.url_input.text().strip() + if not url: + self.signals.update_status.emit(_("main_ui.invalid_url_or_enter")) + return + + # Validate URL before processing + is_valid, error_message = validate_video_url(url) + if not is_valid: + QMessageBox.warning(self, _("main_ui.error_title"), error_message) + return + + # Reset analysis state and disable controls + self.analysis_completed = False + self.toggle_analysis_dependent_controls(enabled=False) + + self.signals.update_status.emit(_("main_ui.analyzing_preparing")) + self.is_analyzing = True + threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() + + def _analyze_url_thread(self, url) -> None: + self = cast("YTSageApp", self) + try: + self.signals.update_status.emit(_("main_ui.analyzing_extracting_basic")) + + # Clean up the URL to handle both playlist and video URLs + if "list=" in url and "watch?v=" in url: + playlist_id = url.split("list=")[1].split("&")[0] + url = f"https://www.youtube.com/playlist?list={playlist_id}" + + # Always use subprocess to call yt-dlp binary (Python package removed) + self._analyze_url_with_subprocess(url) + + except Exception as e: + logger.exception(f"Error in analysis: {e}") + self.signals.update_status.emit(_("errors.generic_error", error=str(e))) + # Ensure playlist UI is hidden on error too + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + finally: + self.is_analyzing = False + + + def _analyze_url_with_subprocess(self, url) -> None: + """Analyze URL using yt-dlp executable when Python module is not available""" + self = cast("YTSageApp", self) + + try: + yt_dlp_path = get_yt_dlp_path() + if not yt_dlp_path: + logger.error("yt-dlp executable not found. Please install yt-dlp first.") + self.signals.update_status.emit(_("errors.ytdlp_not_found")) + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return + + self.signals.update_status.emit(_("main_ui.analyzing_extracting_ytdlp")) + + # Clean up the URL to handle both playlist and video URLs + if "list=" in url and "watch?v=" in url: + playlist_id = url.split("list=")[1].split("&")[0] + url = f"https://www.youtube.com/playlist?list={playlist_id}" + + # Build command for basic info extraction + # Use --flat-playlist for fast initial extraction of playlist info + --dump-single-json + # This fetches minimal info for all videos quickly without downloading full details for each + cmd = [yt_dlp_path, "--dump-single-json", "--flat-playlist", "--no-warnings", url] + + # Add cookies if available + if self.cookie_file_path: + cmd.extend(["--cookies", str(self.cookie_file_path)]) + elif self.browser_cookies_option: + cmd.extend(["--cookies-from-browser", self.browser_cookies_option]) + + # Add proxy settings if available + if self.proxy_url: + cmd.extend(["--proxy", self.proxy_url]) + + if self.geo_proxy_url: + cmd.extend(["--geo-verification-proxy", self.geo_proxy_url]) + + logger.debug(f"Executing yt-dlp command: {cmd}") + + # Execute command with hidden console window on Windows + result = subprocess.run(cmd, capture_output=True, text=True, timeout=300, creationflags=SUBPROCESS_CREATIONFLAGS) + + if result.returncode != 0: + logger.error(f"yt-dlp failed: {result.stderr}") + self.signals.update_status.emit(_("errors.ytdlp_failed", error=result.stderr)) + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return + + json_lines = [line.strip() for line in result.stdout.strip().split("\n") if line.strip()] + + if not json_lines: + logger.error("No data returned from yt-dlp") + self.signals.update_status.emit(_("errors.no_data_returned")) + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return + + try: + first_info = json.loads(json_lines[0]) + except json.JSONDecodeError as e: + logger.error(f"Failed to parse yt-dlp output: {e}") + self.signals.update_status.emit(_("errors.parse_failed", error=str(e))) + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return + + self.signals.update_status.emit(_("main_ui.analyzing_processing_data")) + + if first_info.get("_type") == "playlist": + # Handle playlist + self.is_playlist = True + self.playlist_info = first_info + self.selected_playlist_items = None + self.playlist_entries = first_info.get("entries", []) + + if not self.playlist_entries: + logger.error("Playlist contains no valid videos.") + self.signals.update_status.emit(_("errors.playlist_no_videos")) + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return + + # Even with flat-playlist, we need one video's formats to populate the table. + # Just use the first video URL to get full details quickly. + self.signals.update_status.emit(_("main_ui.analyzing_fetching_first_video")) + first_video_entry = self.playlist_entries[0] + first_video_url = first_video_entry.get("url") + + # Fetch full info for just the first video to get formats + cmd_single = [yt_dlp_path, "--dump-single-json", "--no-warnings", first_video_url] + # Add cookies & proxy to this single request too + if self.cookie_file_path: + cmd_single.extend(["--cookies", str(self.cookie_file_path)]) + elif self.browser_cookies_option: + cmd_single.extend(["--cookies-from-browser", self.browser_cookies_option]) + if self.proxy_url: + cmd_single.extend(["--proxy", self.proxy_url]) + if self.geo_proxy_url: + cmd_single.extend(["--geo-verification-proxy", self.geo_proxy_url]) + + result_single = subprocess.run(cmd_single, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) + + if result_single.returncode == 0: + self.video_info = json.loads(result_single.stdout) + else: + # Fallback to whatever minimal info we have, might fail table population + self.video_info = first_video_entry + + # Update playlist info label + playlist_text = _("playlist.display_format", + title=first_info.get('title', _('playlist.unknown')), + count=len(self.playlist_entries)) + + self.signals.playlist_info_label_text.emit(playlist_text) + self.signals.playlist_info_label_visible.emit(True) + + # Show playlist selection button + self.signals.playlist_select_btn_text.emit(_("main_ui.select_videos_all")) + self.signals.playlist_select_btn_visible.emit(True) + + else: + # Handle single video + self.is_playlist = False + self.video_info = first_info + self.playlist_entries = [] + self.selected_playlist_items = None + + # Hide playlist UI + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + + # Verify we have format information + if not self.video_info or "formats" not in self.video_info: + logger.error("No format information available") + self.signals.update_status.emit(_("errors.no_format_info")) + self.signals.playlist_info_label_visible.emit(False) + self.signals.playlist_select_btn_visible.emit(False) + return + + self.signals.update_status.emit(_("main_ui.analyzing_processing_formats_ytdlp")) + self.all_formats = self.video_info["formats"] + + # Update UI + self.update_video_info(self.video_info) + + # Update thumbnail + self.signals.update_status.emit(_("main_ui.analyzing_loading_thumbnail_ytdlp")) + # Try to get thumbnail from playlist info first + # Fallback to video thumbnail if playlist thumbnail not found or not a playlist + thumbnail_url = (self.playlist_info or {}).get("thumbnail") or (self.video_info or {}).get("thumbnail") + + self.download_thumbnail(thumbnail_url) + + # Save thumbnail if enabled + if self.save_thumbnail: + self.download_thumbnail_file(self.video_url, self.last_path) + + # Handle subtitles + self.signals.update_status.emit(_("main_ui.analyzing_processing_subtitles_ytdlp")) + self.selected_subtitles = [] + self.available_subtitles = self.video_info.get("subtitles", {}) + self.available_automatic_subtitles = self.video_info.get("automatic_captions", {}) + + # Update subtitle UI + self.signals.selected_subs_label_text.emit(_("main_ui.zero_selected")) + + # Update format table + self.signals.update_status.emit(_("main_ui.analyzing_updating_table")) + self.video_button.setChecked(True) + self.audio_button.setChecked(False) + self.filter_formats() + + self.signals.update_status.emit(_("main_ui.analysis_complete")) + + # Mark analysis as complete and enable analysis-dependent controls + self.analysis_completed = True + QMetaObject.invokeMethod( + self, + "toggle_analysis_dependent_controls", + Qt.ConnectionType.QueuedConnection, + Q_ARG(bool, True), + ) + + except subprocess.TimeoutExpired: + logger.error("Analysis timed out") + self.signals.update_status.emit(_("errors.timeout")) + except Exception as e: + logger.exception(f"Unexpected error in analysis: {e}") + self.signals.update_status.emit(_("errors.generic_error", error=str(e))) diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index e4caede..82d8d94 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -46,6 +46,7 @@ from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__ ) from src.gui.ytsage_gui_format_table import FormatTableMixin from src.gui.ytsage_gui_video_info import VideoInfoMixin +from src.gui.ytsage_gui_analysis import AnalysisMixin from src.utils.ytsage_constants import ICON_PATH, SOUND_PATH, SUBPROCESS_CREATIONFLAGS from src.utils.ytsage_logger import logger from src.utils.ytsage_config_manager import ConfigManager @@ -97,7 +98,7 @@ class UpdateCheckThread(QThread): logger.debug(f"Failed to check for updates: {e}") -class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from mixins +class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Inherit from mixins def __init__(self) -> None: super().__init__() @@ -457,51 +458,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from """Enable or disable the Analyze button based on URL input content.""" self.analyze_button.setEnabled(bool(text.strip())) - def analyze_url(self) -> None: - if self.is_updating_ytdlp: - QMessageBox.warning(self, _("update.update_in_progress_title"), _("update.update_in_progress_message")) - return - url = self.url_input.text().strip() - if not url: - self.signals.update_status.emit(_("main_ui.invalid_url_or_enter")) - return - - # Validate URL before processing - is_valid, error_message = validate_video_url(url) - if not is_valid: - QMessageBox.warning(self, _("main_ui.error_title"), error_message) - return - - # Reset analysis state and disable controls - self.analysis_completed = False - self.toggle_analysis_dependent_controls(enabled=False) - - self.signals.update_status.emit(_("main_ui.analyzing_preparing")) - self.is_analyzing = True - threading.Thread(target=self._analyze_url_thread, args=(url,), daemon=True).start() - - def _analyze_url_thread(self, url) -> None: - try: - self.signals.update_status.emit(_("main_ui.analyzing_extracting_basic")) - - # Clean up the URL to handle both playlist and video URLs - if "list=" in url and "watch?v=" in url: - playlist_id = url.split("list=")[1].split("&")[0] - url = f"https://www.youtube.com/playlist?list={playlist_id}" - - # Always use subprocess to call yt-dlp binary (Python package removed) - self._analyze_url_with_subprocess(url) - - except Exception as e: - logger.exception(f"Error in analysis: {e}") - self.signals.update_status.emit(_("errors.generic_error", error=str(e))) - # Ensure playlist UI is hidden on error too - # update signal method from QMetaObject.invokeMethod to signals - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - finally: - self.is_analyzing = False def paste_url(self) -> None: clipboard = QApplication.clipboard() @@ -1410,210 +1367,4 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin): # Inherit from success_dialog.setStyleSheet(StyleSheet.SETUP_SUCCESS_DIALOG) success_dialog.exec() - def _analyze_url_with_subprocess(self, url) -> None: - """Analyze URL using yt-dlp executable when Python module is not available""" - try: - yt_dlp_path = get_yt_dlp_path() - if not yt_dlp_path: - logger.error("yt-dlp executable not found. Please install yt-dlp first.") - self.signals.update_status.emit(_("errors.ytdlp_not_found")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - self.signals.update_status.emit(_("main_ui.analyzing_extracting_ytdlp")) - - # Clean up the URL to handle both playlist and video URLs - if "list=" in url and "watch?v=" in url: - playlist_id = url.split("list=")[1].split("&")[0] - url = f"https://www.youtube.com/playlist?list={playlist_id}" - - # Build command for basic info extraction - # Use --flat-playlist for fast initial extraction of playlist info + --dump-single-json - # This fetches minimal info for all videos quickly without downloading full details for each - cmd = [yt_dlp_path, "--dump-single-json", "--flat-playlist", "--no-warnings", url] - - # Add cookies if available - if self.cookie_file_path: - cmd.extend(["--cookies", str(self.cookie_file_path)]) - elif self.browser_cookies_option: - cmd.extend(["--cookies-from-browser", self.browser_cookies_option]) - - # Add proxy settings if available - if self.proxy_url: - cmd.extend(["--proxy", self.proxy_url]) - - if self.geo_proxy_url: - cmd.extend(["--geo-verification-proxy", self.geo_proxy_url]) - - logger.debug(f"Executing yt-dlp command: {cmd}") - - # Execute command with hidden console window on Windows - # Extra logic moved to src\utils\ytsage_constants.py - result = subprocess.run(cmd, capture_output=True, text=True, timeout=300, creationflags=SUBPROCESS_CREATIONFLAGS) - - if result.returncode != 0: - logger.error(f"yt-dlp failed: {result.stderr}") - self.signals.update_status.emit(_("errors.ytdlp_failed", error=result.stderr)) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - json_lines = [line.strip() for line in result.stdout.strip().split("\n") if line.strip()] - - if not json_lines: - logger.error("No data returned from yt-dlp") - self.signals.update_status.emit(_("errors.no_data_returned")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - try: - first_info = json.loads(json_lines[0]) - except json.JSONDecodeError as e: - logger.error(f"Failed to parse yt-dlp output: {e}") - self.signals.update_status.emit(_("errors.parse_failed", error=str(e))) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - self.signals.update_status.emit(_("main_ui.analyzing_processing_data")) - - if first_info.get("_type") == "playlist": - # Handle playlist - self.is_playlist = True - self.playlist_info = first_info - self.selected_playlist_items = None - self.playlist_entries = first_info.get("entries", []) - - if not self.playlist_entries: - logger.error("Playlist contains no valid videos.") - self.signals.update_status.emit(_("errors.playlist_no_videos")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - # Even with flat-playlist, we need one video's formats to populate the table. - # Just use the first video URL to get full details quickly. - self.signals.update_status.emit(_("main_ui.analyzing_fetching_first_video")) - first_video_entry = self.playlist_entries[0] - first_video_url = first_video_entry.get("url") - - # Fetch full info for just the first video to get formats - cmd_single = [yt_dlp_path, "--dump-single-json", "--no-warnings", first_video_url] - # Add cookies & proxy to this single request too - if self.cookie_file_path: - cmd_single.extend(["--cookies", str(self.cookie_file_path)]) - elif self.browser_cookies_option: - cmd_single.extend(["--cookies-from-browser", self.browser_cookies_option]) - if self.proxy_url: - cmd_single.extend(["--proxy", self.proxy_url]) - if self.geo_proxy_url: - cmd_single.extend(["--geo-verification-proxy", self.geo_proxy_url]) - - result_single = subprocess.run(cmd_single, capture_output=True, text=True, timeout=60, creationflags=SUBPROCESS_CREATIONFLAGS) - - if result_single.returncode == 0: - self.video_info = json.loads(result_single.stdout) - else: - # Fallback to whatever minimal info we have, might fail table population - self.video_info = first_video_entry - - # Update playlist info label - playlist_text = _("playlist.display_format", - title=first_info.get('title', _('playlist.unknown')), - count=len(self.playlist_entries)) - # update signal method from QMetaObject.invokeMethod to signals - self.signals.playlist_info_label_text.emit(playlist_text) - self.signals.playlist_info_label_visible.emit(True) - - # Show playlist selection button - # update signal method from QMetaObject.invokeMethod to signals - self.signals.playlist_select_btn_text.emit(_("main_ui.select_videos_all")) - - # update signal method from QMetaObject.invokeMethod to signals - self.signals.playlist_select_btn_visible.emit(True) - - else: - # Handle single video - self.is_playlist = False - self.video_info = first_info - self.playlist_entries = [] - self.selected_playlist_items = None - - # Hide playlist UI - # update signal method from QMetaObject.invokeMethod to signals - self.signals.playlist_info_label_visible.emit(False) - - # update signal method from QMetaObject.invokeMethod to signals - self.signals.playlist_select_btn_visible.emit(False) - - # Verify we have format information - if not self.video_info or "formats" not in self.video_info: - logger.error("No format information available") - self.signals.update_status.emit(_("errors.no_format_info")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - return - - self.signals.update_status.emit(_("main_ui.analyzing_processing_formats_ytdlp")) - self.all_formats = self.video_info["formats"] - - # Update UI - self.update_video_info(self.video_info) - - # Update thumbnail - self.signals.update_status.emit(_("main_ui.analyzing_loading_thumbnail_ytdlp")) - # Try to get thumbnail from playlist info first - # Fallback to video thumbnail if playlist thumbnail not found or not a playlist - thumbnail_url = (self.playlist_info or {}).get("thumbnail") or (self.video_info or {}).get("thumbnail") - - self.download_thumbnail(thumbnail_url) - - # Save thumbnail if enabled - if self.save_thumbnail: - self.download_thumbnail_file(self.video_url, self.path_input.text()) # type: ignore[reportAttributeAccessIssue] - - # Handle subtitles - self.signals.update_status.emit(_("main_ui.analyzing_processing_subtitles_ytdlp")) - self.selected_subtitles = [] - self.available_subtitles = self.video_info.get("subtitles", {}) - self.available_automatic_subtitles = self.video_info.get("automatic_captions", {}) - - # Update subtitle UI - # update signal method from QMetaObject.invokeMethod to signals - self.signals.selected_subs_label_text.emit(_("main_ui.zero_selected")) - - # Update format table - self.signals.update_status.emit(_("main_ui.analyzing_updating_table")) - self.video_button.setChecked(True) - self.audio_button.setChecked(False) - self.filter_formats() - - self.signals.update_status.emit(_("main_ui.analysis_complete")) - - # Mark analysis as complete and enable analysis-dependent controls - self.analysis_completed = True - QMetaObject.invokeMethod( - self, - "toggle_analysis_dependent_controls", - Qt.ConnectionType.QueuedConnection, - Q_ARG(bool, True), - ) - - except subprocess.TimeoutExpired: - logger.error("Analysis timed out. Please try again.") - self.signals.update_status.emit(_("errors.analysis_timeout")) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - except json.JSONDecodeError as e: - logger.error(f"Failed to parse yt-dlp output: {e}") - self.signals.update_status.emit(f"Error: Failed to parse yt-dlp output: {e}") - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) - except Exception as e: - logger.error(f"Analysis failed: {e}") - self.signals.update_status.emit(_("errors.analysis_failed", error=str(e))) - self.signals.playlist_info_label_visible.emit(False) - self.signals.playlist_select_btn_visible.emit(False) From 64560fabb290b9a67bde21e6d9c8357d27a35014 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:25:52 +0200 Subject: [PATCH 378/568] Replace pyglet with QtMultimedia for audio playback Removed pyglet dependency and migrated notification sound playback to use PySide6.QtMultimedia's QMediaPlayer and QAudioOutput. Updated workflow and requirements files to remove pyglet and ensure PySide6.QtMultimedia is included in build steps. --- .github/workflows/build-linux.yml | 3 +-- .github/workflows/build-macos.yml | 3 +-- .github/workflows/build-windows.yml | 3 +-- requirements.txt | 1 - src/gui/ytsage_gui_main.py | 16 ++++++++++------ 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index bf7182f..845593a 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -107,11 +107,11 @@ jobs: "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", + "PySide6.QtMultimedia", "requests", "PIL", "packaging", "markdown", - "pyglet", "loguru", "setuptools", ], @@ -125,7 +125,6 @@ jobs: "PySide6.QtXml", "PySide6.QtSql", "PySide6.QtHelp", - "PySide6.QtMultimedia", "PySide6.QtQml", "PySide6.QtQuick", "PySide6.QtWebEngineCore", diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 5531531..9a578c5 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -92,11 +92,11 @@ jobs: "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", + "PySide6.QtMultimedia", "requests", "PIL", "packaging", "markdown", - "pyglet", "loguru", "setuptools", ], @@ -110,7 +110,6 @@ jobs: "PySide6.QtXml", "PySide6.QtSql", "PySide6.QtHelp", - "PySide6.QtMultimedia", "PySide6.QtQml", "PySide6.QtQuick", "PySide6.QtWebEngineCore", diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index b64a4b3..e7966da 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -85,11 +85,11 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtCore",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtGui",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWidgets",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' Add-Content -Path "setup_cxfreeze.py" -Value ' "requests",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL",' Add-Content -Path "setup_cxfreeze.py" -Value ' "packaging",' Add-Content -Path "setup_cxfreeze.py" -Value ' "markdown",' - Add-Content -Path "setup_cxfreeze.py" -Value ' "pyglet",' Add-Content -Path "setup_cxfreeze.py" -Value ' "loguru",' Add-Content -Path "setup_cxfreeze.py" -Value ' "setuptools",' Add-Content -Path "setup_cxfreeze.py" -Value " ]," @@ -103,7 +103,6 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtXml",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSql",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtHelp",' - Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQml",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQuick",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWebEngineCore",' diff --git a/requirements.txt b/requirements.txt index e6aed9d..550f74e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,5 @@ requests>=2.32.5 pillow>=12.0.0 packaging>=25.0 markdown>=3.10 -pyglet>=2.1.11 loguru>=0.7.3 setuptools>=80.9.0 \ No newline at end of file diff --git a/src/gui/ytsage_gui_main.py b/src/gui/ytsage_gui_main.py index 82d8d94..be71532 100644 --- a/src/gui/ytsage_gui_main.py +++ b/src/gui/ytsage_gui_main.py @@ -5,11 +5,11 @@ import webbrowser from pathlib import Path import markdown -import pyglet import requests from packaging import version -from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer, Slot, QThread, Signal +from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer, Slot, QThread, Signal, QUrl from PySide6.QtGui import QIcon +from PySide6.QtMultimedia import QAudioOutput, QMediaPlayer from PySide6.QtWidgets import ( QApplication, QButtonGroup, @@ -154,6 +154,11 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Track if video analysis is completed self.analysis_completed = False + # Initialize audio player + self.player = QMediaPlayer() + self.audio_output = QAudioOutput() + self.player.setAudioOutput(self.audio_output) + self.init_ui() # Defer heavy start-up tasks to ensure UI renders immediately @@ -208,10 +213,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): logger.warning(f"Notification sound file not found at: {SOUND_PATH}") return - # Play the sound using pyglet - # no need for the thread, as .play() is async - sound = pyglet.media.load(str(SOUND_PATH), streaming=False) - sound.play() + # Play the sound using QtMultimedia + self.player.setSource(QUrl.fromLocalFile(str(SOUND_PATH))) + self.player.play() logger.debug("Notification sound played") except Exception as e: logger.exception(f"Error playing notification sound: {e}") From 3ae18678e82d82fa4b1f7c169786b8f49f466b4f Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 24 Jan 2026 16:28:25 +0200 Subject: [PATCH 379/568] Remove pyglet from dependencies list in README The pyglet library has been removed from the dependencies table in the README, indicating it is no longer used for audio playback in the project. --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index c5548cc..841153e 100644 --- a/README.md +++ b/README.md @@ -482,10 +482,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file

    GTwEo+2UhjI-Cz(A<|JRL-_h% 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∨^sM5l4{9wVs>VjV0gKC3n47fxbY^${| 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 z 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�B5bL;G&|yJ8fz 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�m!xGIdL=L63K7itSwuCn|)Fk+0ia;x0RskbtD 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 IM6N<$g5Kwv0RR91 From 6ae92c937e3bacd18c5b5e6feb255ce161c979fe Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Mon, 17 Nov 2025 17:01:57 +0200 Subject: [PATCH 305/568] Update screenshots and labels in README Replaced images and updated corresponding labels in the screenshots table to reflect new interface sections and options. --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e843fe9..1205ab9 100644 --- a/README.md +++ b/README.md @@ -137,20 +137,20 @@ python main.py

  • markdown Markdown Rendering
    pygletAudio Playback
    loguru Logging
    - - + + - - + + @@ -344,47 +344,23 @@ YTSage/ │ │ │── build-windows.yml # Windows build workflow | | └── release-all.yml # Master release workflow │ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 assets/ # Static assets and resources -│ ├── 📁 branding/ # Branding assets -│ │ ├── 📁 icons/ # Application icons -│ │ │ ├── icon.icns # macOS icon -│ │ │ ├── icon.png # PNG icon -│ │ │ └── YTSage.ico # Windows icon -│ │ ├── 📁 screenshots/ # Screenshots for documentation -│ │ │ ├── audio_format.png -│ │ │ ├── Custom-Option.png -│ │ │ ├── Download-Settings.png -│ │ │ ├── playlist.png -│ │ │ └── main.png -│ │ └── 📁 svg/ # SVG assets -│ │ └── ytsage-wordmark.svg -│ │ └── ytsage-wordmark.svg -│ ├── 📁 Icon/ # Legacy icon directory -│ │ └── icon.png -│ └── 📁 sound/ # Audio files -│ └── notification.mp3 -├── 📁 languages/ # Localization files -│ ├── 📄 ar.json # Arabic translation -│ ├── 📄 de.json # German translation -│ ├── 📄 en.json # English translation -│ ├── 📄 es.json # Spanish translation -│ ├── 📄 fr.json # French translation -│ ├── 📄 hi.json # Hindi translation -│ ├── 📄 id.json # Indonesian translation -│ ├── 📄 it.json # Italian translation -│ ├── 📄 ja.json # Japanese translation -│ ├── 📄 pl.json # Polish translation -│ ├── 📄 pt.json # Portuguese translation -│ ├── 📄 ru.json # Russian translation -│ ├── 📄 tr.json # Turkish translation -│ └── 📄 zh.json # Chinese translation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets ├── 📄 LICENSE # License file -├── 📄 main.py # Application entry point +├── 📄 pyproject.toml # Project metadata and dependencies ├── 📄 README.md # Project documentation -├── 📄 .gitignore # Git ignore rules -├── 📄 requirements.txt # Python dependencies -└── 📁 src/ # Source code - | +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages ├── 📁 core/ # Core business logic │ ├── 📄 __init__.py # Core package init │ ├── 📄 ytsage_deno.py # Deno integration @@ -394,27 +370,14 @@ YTSage/ │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration ├── 📁 gui/ # User interface components │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_format_table.py # Format table functionality │ ├── 📄 ytsage_gui_main.py # Main application window - │ ├── 📄 ytsage_gui_video_info.py # Video information display - | ├── 📄 ytsage_stylesheet.py # Stylesheet definitions │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - │ ├── 📄 __init__.py # Dialogs package init - │ ├── 📄 ytsage_dialogs_base.py # Basic dialogs - │ ├── 📄 ytsage_dialogs_custom.py # Custom functionality dialogs - │ ├── 📄 ytsage_dialogs_ffmpeg.py # FFmpeg-related dialogs - │ ├── 📄 ytsage_dialogs_history.py # History dialogs - │ ├── 📄 ytsage_dialogs_selection.py # Selection dialogs - │ ├── 📄 ytsage_dialogs_settings.py # Settings dialogs - │ ├── 📄 ytsage_dialogs_update.py # Update dialogs - │ └── 📄 ytsage_dialogs_updater.py # Updater dialogs - └── 📁 utils/ # Utility modules - ├── 📄 __init__.py # Utils package init - ├── 📄 ytsage_config_manager.py # Configuration management - ├── 📄 ytsage_constants.py # Application constants - ├── 📄 ytsage_history_manager.py # History management - ├── 📄 ytsage_localization.py # Localization utilities - └── 📄 ytsage_logger.py # Logging utilities + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script ``` From a0df6b273fba1543882d463908d813fd31fa1b6e Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:05:34 +0200 Subject: [PATCH 408/568] Update Linux build workflow for PEP 517 and cx_Freeze Switch pip install to use PEP 517 (pyproject.toml) instead of requirements.txt and update cache key accordingly. Refactor cx_Freeze setup to use new asset paths, add entry point script, and adjust include_files for correct packaging structure. --- .github/workflows/build-linux.yml | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 845593a..bb05ae1 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -49,7 +49,7 @@ jobs: path: | venv ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} restore-keys: | ${{ runner.os }}-pip- @@ -67,7 +67,7 @@ jobs: python -m venv venv source venv/bin/activate python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir . pip install --no-cache-dir cx_Freeze - name: Prepare build variables @@ -82,6 +82,13 @@ jobs: - name: Create cx_Freeze setup script (Linux) shell: bash run: | + # Create entry point script + cat > ytsage_entry.py <<'ENTRY' + from ytsage.main import main + if __name__ == "__main__": + main() + ENTRY + cat > setup_cxfreeze.py <<'PY' import os import sys @@ -92,18 +99,18 @@ jobs: # Prepare include_files list include_files_list = [ - ("src", "src"), - ("assets/branding/icons", "lib/assets/branding/icons"), - ("assets/Icon", "lib/assets/Icon"), - ("assets/sound", "lib/assets/sound"), - ("languages", "lib/languages"), + ("ytsage/assets/Icon", "lib/assets/Icon"), + ("ytsage/assets/sound", "lib/assets/sound"), + ("ytsage/languages", "lib/languages"), + ("branding/icons", "lib/assets/branding/icons"), ("ytsage.desktop", "share/applications/ytsage.desktop"), - ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), + ("branding/icons/icon.png", "share/pixmaps/ytsage.png"), ] build_exe_options = dict( optimize=2, packages=[ + "ytsage", "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", @@ -143,9 +150,9 @@ jobs: include_files=include_files_list, # Bundle all dependencies - avoid system library references bin_includes=[], - bin_excludes=[], - # Important: include system libs to avoid external dependencies - replace_paths=[("*", "")], + bin_excludesytsage_entry.py", + target_name="ytsage", + icon="*", "")], ) executables = [ From de7d7965f286a9c718998ae5ef47e4a7563a99d2 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:05:38 +0200 Subject: [PATCH 409/568] Update macOS build workflow for pyproject and new structure Switches dependency installation from requirements.txt to pyproject.toml and updates pip cache key accordingly. Refactors cx_Freeze setup to use a new entry point, adjusts included files and paths to match the updated project structure, and updates icon file references. --- .github/workflows/build-macos.yml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 9a578c5..3621e82 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -50,7 +50,7 @@ jobs: venv ~/.cache/pip ~/Library/Caches/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} restore-keys: | ${{ runner.os }}-pip- @@ -60,7 +60,7 @@ jobs: python -m venv venv source venv/bin/activate python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir . pip install --no-cache-dir cx_Freeze dmgbuild - name: Prepare build variables @@ -80,6 +80,13 @@ jobs: - name: Create cx_Freeze setup script shell: bash run: | + # Create entry point script + cat > ytsage_entry.py <<'ENTRY' + from ytsage.main import main + if __name__ == "__main__": + main() + ENTRY + cat > setup_cxfreeze.py <<'PY' import os from cx_Freeze import setup, Executable @@ -89,6 +96,7 @@ jobs: build_exe_options = dict( optimize=2, packages=[ + "ytsage", "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", @@ -126,19 +134,18 @@ jobs: "tests", ], include_files=[ - ("src", "src"), - ("assets/branding/icons", "lib/assets/branding/icons"), - ("assets/Icon", "lib/assets/Icon"), - ("assets/sound", "lib/assets/sound"), - ("languages", "lib/languages"), + ("ytsage/assets/Icon", "lib/assets/Icon"), + ("ytsage/assets/sound", "lib/assets/sound"), + ("ytsage/languages", "lib/languages"), + ("branding/icons", "lib/assets/branding/icons"), ], ) executables = [ Executable( - script="main.py", + script="ytsage_entry.py", target_name=f"YTSage-v{version}", - icon="assets/branding/icons/icon.icns", + icon="branding/icons/icon.icns", ) ] @@ -149,7 +156,7 @@ jobs: options={ "build_exe": build_exe_options, "bdist_mac": { - "iconfile": "assets/branding/icons/icon.icns", + "iconfile": "branding/icons/icon.icns", "bundle_name": f"YTSage-v{version}", }, "bdist_dmg": { From 7efcfaa85bf7f6a6ca8ab2fcc96fdbcdfdea1c4d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:05:44 +0200 Subject: [PATCH 410/568] Update Windows build workflow for pyproject and asset paths Switch pip cache and install to use pyproject.toml instead of requirements.txt. Update cx_Freeze setup to use a new entry point, adjust included packages and asset paths to reflect new project structure, and update icon path. --- .github/workflows/build-windows.yml | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index e7966da..6d2dba4 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -49,7 +49,7 @@ jobs: path: | venv ~\AppData\Local\pip\Cache - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} restore-keys: | ${{ runner.os }}-pip- @@ -59,7 +59,7 @@ jobs: python -m venv venv .\venv\Scripts\Activate.ps1 python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir . pip install --no-cache-dir cx_Freeze - name: Prepare build variables @@ -72,6 +72,14 @@ jobs: - name: Create cx_Freeze setup script shell: powershell run: | + # Create entry point script + $entryContent = @' + from ytsage.main import main + if __name__ == "__main__": + main() + '@ + Set-Content -Path "ytsage_entry.py" -Value $entryContent + # Create setup script for cx_Freeze New-Item -Path "setup_cxfreeze.py" -ItemType File -Force Add-Content -Path "setup_cxfreeze.py" -Value "import os" @@ -82,6 +90,7 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value "build_exe_options = dict(" Add-Content -Path "setup_cxfreeze.py" -Value " optimize=2," Add-Content -Path "setup_cxfreeze.py" -Value " packages=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' "ytsage",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtCore",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtGui",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWidgets",' @@ -119,20 +128,19 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "tests",' Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value " include_files=[" - Add-Content -Path "setup_cxfreeze.py" -Value ' ("src", "src"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/branding/icons", "lib/assets/branding/icons"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/Icon", "lib/assets/Icon"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/sound", "lib/assets/sound"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("languages", "lib/languages"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/assets/Icon", "lib/assets/Icon"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/assets/sound", "lib/assets/sound"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/languages", "lib/languages"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("branding/icons", "lib/assets/branding/icons"),' Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value ")" Add-Content -Path "setup_cxfreeze.py" -Value "" Add-Content -Path "setup_cxfreeze.py" -Value "executables = [" Add-Content -Path "setup_cxfreeze.py" -Value " Executable(" - Add-Content -Path "setup_cxfreeze.py" -Value ' script="main.py",' + Add-Content -Path "setup_cxfreeze.py" -Value ' script="ytsage_entry.py",' Add-Content -Path "setup_cxfreeze.py" -Value ' target_name=f"YTSage-v{version}.exe",' Add-Content -Path "setup_cxfreeze.py" -Value ' base="gui",' - Add-Content -Path "setup_cxfreeze.py" -Value ' icon="assets/branding/icons/YTSage.ico",' + Add-Content -Path "setup_cxfreeze.py" -Value ' icon="branding/icons/YTSage.ico",' Add-Content -Path "setup_cxfreeze.py" -Value " )" Add-Content -Path "setup_cxfreeze.py" -Value "]" Add-Content -Path "setup_cxfreeze.py" -Value "" From ad5f304d4e30eef69a04b42e7950c44901b8bbda Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:05:55 +0200 Subject: [PATCH 411/568] Move main.py to ytsage/ and update imports Renamed main.py to ytsage/main.py and updated relative imports to reflect the new module structure. --- main.py => ytsage/main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename main.py => ytsage/main.py (85%) diff --git a/main.py b/ytsage/main.py similarity index 85% rename from main.py rename to ytsage/main.py index ce49b44..6427578 100644 --- a/main.py +++ b/ytsage/main.py @@ -2,8 +2,8 @@ import sys from PySide6.QtWidgets import QApplication, QMessageBox -from src.utils.ytsage_logger import logger -from src.gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main +from .utils.ytsage_logger import logger +from .gui.ytsage_gui_main import YTSageApp # Import the main application class from ytsage_gui_main def show_error_dialog(message): From ca6b53715e1296c9884e0950caee2fe4c11d645c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:06:41 +0200 Subject: [PATCH 412/568] Refactor utils module structure and update imports Moved utility modules from src/utils/ to ytsage/utils/ and updated all relative imports accordingly. Adjusted docstring usage examples and fixed a path reference in LocalizationManager to reflect the new directory structure. --- {src => ytsage}/utils/__init__.py | 0 {src => ytsage}/utils/ytsage_config_manager.py | 6 +++--- {src => ytsage}/utils/ytsage_constants.py | 2 +- {src => ytsage}/utils/ytsage_history_manager.py | 6 +++--- {src => ytsage}/utils/ytsage_localization.py | 6 +++--- {src => ytsage}/utils/ytsage_logger.py | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) rename {src => ytsage}/utils/__init__.py (100%) rename {src => ytsage}/utils/ytsage_config_manager.py (97%) rename {src => ytsage}/utils/ytsage_constants.py (99%) rename {src => ytsage}/utils/ytsage_history_manager.py (98%) rename {src => ytsage}/utils/ytsage_localization.py (98%) rename {src => ytsage}/utils/ytsage_logger.py (95%) diff --git a/src/utils/__init__.py b/ytsage/utils/__init__.py similarity index 100% rename from src/utils/__init__.py rename to ytsage/utils/__init__.py diff --git a/src/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py similarity index 97% rename from src/utils/ytsage_config_manager.py rename to ytsage/utils/ytsage_config_manager.py index 0ff3182..c4b5d3d 100644 --- a/src/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -20,7 +20,7 @@ Features Usage ----- -from src.utils.ytsage_config_manager import ConfigManager +from .ytsage_config_manager import ConfigManager # Load settings (auto-loads if not already loaded) download_path = ConfigManager.get("download_path") @@ -54,8 +54,8 @@ import threading from pathlib import Path from typing import Any, Dict, Optional -from src.utils.ytsage_constants import APP_CONFIG_FILE, USER_HOME_DIR -from src.utils.ytsage_logger import logger +from .ytsage_constants import APP_CONFIG_FILE, USER_HOME_DIR +from .ytsage_logger import logger class ConfigManager: diff --git a/src/utils/ytsage_constants.py b/ytsage/utils/ytsage_constants.py similarity index 99% rename from src/utils/ytsage_constants.py rename to ytsage/utils/ytsage_constants.py index def0a31..af80163 100644 --- a/src/utils/ytsage_constants.py +++ b/ytsage/utils/ytsage_constants.py @@ -70,7 +70,7 @@ def get_asset_path(asset_relative_path: str) -> Path: # Fallback to relative path (for development environment) current_file = Path(__file__) - # Go up from src/utils to ytsage root, then to asset + # Go up from utils to ytsage root, then to asset ytsage_root = current_file.parent.parent.parent asset_path = ytsage_root / asset_relative_path diff --git a/src/utils/ytsage_history_manager.py b/ytsage/utils/ytsage_history_manager.py similarity index 98% rename from src/utils/ytsage_history_manager.py rename to ytsage/utils/ytsage_history_manager.py index 63e84e2..d373581 100644 --- a/src/utils/ytsage_history_manager.py +++ b/ytsage/utils/ytsage_history_manager.py @@ -14,7 +14,7 @@ Features Usage ----- -from src.utils.ytsage_history_manager import HistoryManager +from .ytsage_history_manager import HistoryManager # Add a download to history HistoryManager.add_entry(...) @@ -38,8 +38,8 @@ from datetime import datetime from pathlib import Path from typing import Any, Dict, List, Optional -from src.utils.ytsage_constants import APP_HISTORY_FILE, APP_DATA_DIR -from src.utils.ytsage_logger import logger +from .ytsage_constants import APP_HISTORY_FILE, APP_DATA_DIR +from .ytsage_logger import logger class HistoryManager: diff --git a/src/utils/ytsage_localization.py b/ytsage/utils/ytsage_localization.py similarity index 98% rename from src/utils/ytsage_localization.py rename to ytsage/utils/ytsage_localization.py index cfedccc..199c3ad 100644 --- a/src/utils/ytsage_localization.py +++ b/ytsage/utils/ytsage_localization.py @@ -15,7 +15,7 @@ Features Usage ----- -from src.utils.ytsage_localization import LocalizationManager +from .ytsage_localization import LocalizationManager # Get localized text text = LocalizationManager.get_text("download.ready") @@ -33,7 +33,7 @@ import threading from pathlib import Path from typing import Any, Dict -from src.utils.ytsage_logger import logger +from .ytsage_logger import logger class LocalizationManager: @@ -46,7 +46,7 @@ class LocalizationManager: _lock = threading.RLock() _current_language = "en" _languages: Dict[str, Dict[str, Any]] = {} - _languages_dir = Path(__file__).parent.parent.parent / "languages" + _languages_dir = Path(__file__).parent.parent / "languages" # Fallback English strings embedded in code _fallback_strings = { diff --git a/src/utils/ytsage_logger.py b/ytsage/utils/ytsage_logger.py similarity index 95% rename from src/utils/ytsage_logger.py rename to ytsage/utils/ytsage_logger.py index a066454..5444ae1 100644 --- a/src/utils/ytsage_logger.py +++ b/ytsage/utils/ytsage_logger.py @@ -9,7 +9,7 @@ import sys from loguru import logger -from src.utils.ytsage_constants import APP_LOG_DIR, IS_FROZEN +from .ytsage_constants import APP_LOG_DIR, IS_FROZEN # Separate configs for each handler CONSOLE_CONFIG = { From fa3dc0236fb7d33ed0a96d8aca267edb2d2370ad Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:07:03 +0200 Subject: [PATCH 413/568] Refactor core module imports and update paths Renamed 'src/core' to 'ytsage/core' and updated all internal imports to use relative paths. This improves package structure and ensures correct module resolution after the directory move. --- {src => ytsage}/core/__init__.py | 0 {src => ytsage}/core/ytsage_deno.py | 8 +++---- {src => ytsage}/core/ytsage_downloader.py | 8 +++---- {src => ytsage}/core/ytsage_ffmpeg.py | 4 ++-- {src => ytsage}/core/ytsage_utils.py | 28 +++++++++++------------ {src => ytsage}/core/ytsage_yt_dlp.py | 8 +++---- 6 files changed, 28 insertions(+), 28 deletions(-) rename {src => ytsage}/core/__init__.py (100%) rename {src => ytsage}/core/ytsage_deno.py (99%) rename {src => ytsage}/core/ytsage_downloader.py (99%) rename {src => ytsage}/core/ytsage_ffmpeg.py (99%) rename {src => ytsage}/core/ytsage_utils.py (97%) rename {src => ytsage}/core/ytsage_yt_dlp.py (99%) diff --git a/src/core/__init__.py b/ytsage/core/__init__.py similarity index 100% rename from src/core/__init__.py rename to ytsage/core/__init__.py diff --git a/src/core/ytsage_deno.py b/ytsage/core/ytsage_deno.py similarity index 99% rename from src/core/ytsage_deno.py rename to ytsage/core/ytsage_deno.py index 4d76e0d..2e5edc4 100644 --- a/src/core/ytsage_deno.py +++ b/ytsage/core/ytsage_deno.py @@ -19,9 +19,9 @@ from PySide6.QtWidgets import ( QVBoxLayout, ) -from src.utils.ytsage_logger import logger -from src.utils.ytsage_localization import _ -from src.utils.ytsage_constants import ( +from ..utils.ytsage_logger import logger +from ..utils.ytsage_localization import _ +from ..utils.ytsage_constants import ( APP_BIN_DIR, ICON_PATH, OS_FULL_NAME, @@ -31,7 +31,7 @@ from src.utils.ytsage_constants import ( DENO_DOWNLOAD_URL, DENO_SHA256_URL, ) -from src.core.ytsage_ffmpeg import get_file_sha256 +from .ytsage_ffmpeg import get_file_sha256 def verify_deno_sha256(file_path: Path, sha256_url: str) -> bool: diff --git a/src/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py similarity index 99% rename from src/core/ytsage_downloader.py rename to ytsage/core/ytsage_downloader.py index 8719b9b..be7ed05 100644 --- a/src/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -11,16 +11,16 @@ from typing import Optional, List, Set from PySide6.QtCore import QObject, QThread, Signal -from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.utils.ytsage_constants import ( +from .ytsage_yt_dlp import get_yt_dlp_path +from ..utils.ytsage_constants import ( SUBPROCESS_CREATIONFLAGS, VIDEO_EXTENSIONS, AUDIO_EXTENSIONS, SUBTITLE_EXTENSIONS, MEDIA_EXTENSIONS, ) -from src.utils.ytsage_localization import LocalizationManager -from src.utils.ytsage_logger import logger +from ..utils.ytsage_localization import LocalizationManager +from ..utils.ytsage_logger import logger # Shorthand for localization _ = LocalizationManager.get_text diff --git a/src/core/ytsage_ffmpeg.py b/ytsage/core/ytsage_ffmpeg.py similarity index 99% rename from src/core/ytsage_ffmpeg.py rename to ytsage/core/ytsage_ffmpeg.py index deb1073..6e7cf22 100644 --- a/src/core/ytsage_ffmpeg.py +++ b/ytsage/core/ytsage_ffmpeg.py @@ -7,8 +7,8 @@ from pathlib import Path import requests -from src.utils.ytsage_logger import logger -from src.utils.ytsage_constants import ( +from ..utils.ytsage_logger import logger +from ..utils.ytsage_constants import ( FFMPEG_7Z_DOWNLOAD_URL, FFMPEG_7Z_SHA256_URL, FFMPEG_ZIP_DOWNLOAD_URL, diff --git a/src/core/ytsage_utils.py b/ytsage/core/ytsage_utils.py similarity index 97% rename from src/core/ytsage_utils.py rename to ytsage/core/ytsage_utils.py index 6303d69..73ee865 100644 --- a/src/core/ytsage_utils.py +++ b/ytsage/core/ytsage_utils.py @@ -11,9 +11,9 @@ from typing import Any, Dict, Optional, Union import requests from packaging import version -from src.core.ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path -from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.utils.ytsage_constants import ( +from .ytsage_ffmpeg import check_ffmpeg_installed, get_ffmpeg_install_path +from .ytsage_yt_dlp import get_yt_dlp_path +from ..utils.ytsage_constants import ( APP_CONFIG_FILE, OS_NAME, SUBPROCESS_CREATIONFLAGS, @@ -21,8 +21,8 @@ from src.utils.ytsage_constants import ( YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL, ) -from src.utils.ytsage_localization import _ -from src.utils.ytsage_logger import logger +from ..utils.ytsage_localization import _ +from ..utils.ytsage_logger import logger try: from importlib.metadata import PackageNotFoundError as ImportlibPackageNotFoundError @@ -107,7 +107,7 @@ def update_version_cache(tool_name: str, version_info: str, path: Optional[str], def load_version_cache_from_config() -> None: """Load cached version info from config file.""" - from src.utils.ytsage_config_manager import ConfigManager + from ..utils.ytsage_config_manager import ConfigManager try: cached_versions = ConfigManager.get("cached_versions") or {} @@ -121,7 +121,7 @@ def load_version_cache_from_config() -> None: def save_version_cache_to_config() -> None: """Save version cache to config file.""" - from src.utils.ytsage_config_manager import ConfigManager + from ..utils.ytsage_config_manager import ConfigManager try: ConfigManager.set("cached_versions", _version_cache.copy()) @@ -179,7 +179,7 @@ def get_ffmpeg_version_cached() -> str: def get_deno_version_cached() -> str: """Get Deno version with caching support.""" try: - from src.core.ytsage_deno import get_deno_path + from .ytsage_deno import get_deno_path current_path = get_deno_path() @@ -190,7 +190,7 @@ def get_deno_version_cached() -> str: return cached_version # Get fresh version info - from src.core.ytsage_deno import get_deno_version_direct + from .ytsage_deno import get_deno_version_direct version_info = get_deno_version_direct(current_path) # Update cache @@ -215,7 +215,7 @@ def refresh_version_cache(force=False) -> bool: update_version_cache("ffmpeg", version_info, "ffmpeg", force_save=True) # Refresh Deno - from src.core.ytsage_deno import get_deno_path, get_deno_version_direct + from .ytsage_deno import get_deno_path, get_deno_version_direct deno_path = get_deno_path() version_info = get_deno_version_direct(deno_path) update_version_cache("deno", version_info, deno_path, force_save=True) @@ -550,7 +550,7 @@ def update_yt_dlp() -> bool: def should_check_for_auto_update() -> bool: """Check if auto-update should be performed based on user settings.""" - from src.utils.ytsage_config_manager import ConfigManager + from ..utils.ytsage_config_manager import ConfigManager try: # Check if auto-update is enabled @@ -580,7 +580,7 @@ def should_check_for_auto_update() -> bool: def check_and_update_ytdlp_auto() -> bool: """Perform automatic yt-dlp update check and update if needed.""" - from src.utils.ytsage_config_manager import ConfigManager + from ..utils.ytsage_config_manager import ConfigManager try: logger.info("Performing automatic yt-dlp update check...") @@ -637,7 +637,7 @@ def check_and_update_ytdlp_auto() -> bool: def get_auto_update_settings() -> Dict[str, Any]: """Get current auto-update settings from config.""" - from src.utils.ytsage_config_manager import ConfigManager + from ..utils.ytsage_config_manager import ConfigManager enabled: Optional[bool] = ConfigManager.get("auto_update_ytdlp") frequency: Optional[str] = ConfigManager.get("auto_update_frequency") @@ -653,7 +653,7 @@ def get_auto_update_settings() -> Dict[str, Any]: def update_auto_update_settings(enabled: bool, frequency: str) -> bool: """Update auto-update settings in config.""" try: - from src.utils.ytsage_config_manager import ConfigManager + from ..utils.ytsage_config_manager import ConfigManager ConfigManager.set("auto_update_ytdlp", enabled) ConfigManager.set("auto_update_frequency", frequency) diff --git a/src/core/ytsage_yt_dlp.py b/ytsage/core/ytsage_yt_dlp.py similarity index 99% rename from src/core/ytsage_yt_dlp.py rename to ytsage/core/ytsage_yt_dlp.py index be11bdf..06efdb7 100644 --- a/src/core/ytsage_yt_dlp.py +++ b/ytsage/core/ytsage_yt_dlp.py @@ -20,8 +20,8 @@ from PySide6.QtWidgets import ( QWidget, ) -from src.utils.ytsage_logger import logger -from src.utils.ytsage_constants import ( +from ..utils.ytsage_logger import logger +from ..utils.ytsage_constants import ( APP_BIN_DIR, ICON_PATH, OS_FULL_NAME, @@ -31,8 +31,8 @@ from src.utils.ytsage_constants import ( YTDLP_DOWNLOAD_URL, YTDLP_SHA256_URL, ) -from src.core.ytsage_ffmpeg import get_file_sha256 -from src.utils.ytsage_localization import _ +from .ytsage_ffmpeg import get_file_sha256 +from ..utils.ytsage_localization import _ # YTDLP_URLS moved to src\utils\ytsage_constants.py # get_ytdlp_install_dir() moved to src\utils\ytsage_constants.py From 4fb9815ac6abd18b775aaec3634d7f0a7e60c7a2 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:07:29 +0200 Subject: [PATCH 414/568] Rename package directory from src to ytsage Moved __init__.py from src/ to ytsage/ to reflect the new package structure. This change helps clarify the package namespace. --- {src => ytsage}/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {src => ytsage}/__init__.py (100%) diff --git a/src/__init__.py b/ytsage/__init__.py similarity index 100% rename from src/__init__.py rename to ytsage/__init__.py From 96dadd7e5b149e22423cc8bd950dd86042a6ee5c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:07:51 +0200 Subject: [PATCH 415/568] Refactor GUI package structure and update imports Moved all files from src/gui/ to ytsage/gui/ and updated import statements to use relative imports within the new package structure. This improves modularity and prepares the codebase for distribution as a proper Python package. --- {src => ytsage}/gui/__init__.py | 0 {src => ytsage}/gui/ytsage_gui_analysis.py | 12 ++++---- .../gui/ytsage_gui_dialogs/__init__.py | 16 +++++----- .../ytsage_gui_dialogs/ytsage_dialogs_base.py | 14 ++++----- .../ytsage_dialogs_custom.py | 16 +++++----- .../ytsage_dialogs_ffmpeg.py | 6 ++-- .../ytsage_dialogs_history.py | 10 +++---- .../ytsage_dialogs_selection.py | 2 +- .../ytsage_dialogs_settings.py | 6 ++-- .../ytsage_dialogs_update.py | 14 ++++----- .../ytsage_dialogs_updater.py | 18 +++++------ .../gui/ytsage_gui_format_table.py | 4 +-- {src => ytsage}/gui/ytsage_gui_main.py | 30 +++++++++---------- {src => ytsage}/gui/ytsage_gui_video_info.py | 8 ++--- {src => ytsage}/gui/ytsage_stylesheet.py | 0 15 files changed, 78 insertions(+), 78 deletions(-) rename {src => ytsage}/gui/__init__.py (100%) rename {src => ytsage}/gui/ytsage_gui_analysis.py (97%) rename {src => ytsage}/gui/ytsage_gui_dialogs/__init__.py (63%) rename {src => ytsage}/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py (97%) rename {src => ytsage}/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py (98%) rename {src => ytsage}/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py (97%) rename {src => ytsage}/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py (98%) rename {src => ytsage}/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py (99%) rename {src => ytsage}/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py (99%) rename {src => ytsage}/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py (97%) rename {src => ytsage}/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py (98%) rename {src => ytsage}/gui/ytsage_gui_format_table.py (99%) rename {src => ytsage}/gui/ytsage_gui_main.py (98%) rename {src => ytsage}/gui/ytsage_gui_video_info.py (98%) rename {src => ytsage}/gui/ytsage_stylesheet.py (100%) diff --git a/src/gui/__init__.py b/ytsage/gui/__init__.py similarity index 100% rename from src/gui/__init__.py rename to ytsage/gui/__init__.py diff --git a/src/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py similarity index 97% rename from src/gui/ytsage_gui_analysis.py rename to ytsage/gui/ytsage_gui_analysis.py index b1bcaa2..0a37739 100644 --- a/src/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -5,14 +5,14 @@ import subprocess from PySide6.QtCore import QMetaObject, Qt, Q_ARG, QThread, Signal from PySide6.QtWidgets import QMessageBox -from src.core.ytsage_utils import validate_video_url, parse_yt_dlp_error -from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.utils.ytsage_constants import SUBPROCESS_CREATIONFLAGS -from src.utils.ytsage_localization import _ -from src.utils.ytsage_logger import logger +from ..core.ytsage_utils import validate_video_url, parse_yt_dlp_error +from ..core.ytsage_yt_dlp import get_yt_dlp_path +from ..utils.ytsage_constants import SUBPROCESS_CREATIONFLAGS +from ..utils.ytsage_localization import _ +from ..utils.ytsage_logger import logger if TYPE_CHECKING: - from src.gui.ytsage_gui_main import YTSageApp + from .ytsage_gui_main import YTSageApp class AnalysisThread(QThread): diff --git a/src/gui/ytsage_gui_dialogs/__init__.py b/ytsage/gui/ytsage_gui_dialogs/__init__.py similarity index 63% rename from src/gui/ytsage_gui_dialogs/__init__.py rename to ytsage/gui/ytsage_gui_dialogs/__init__.py index c0e8b9f..8bae87b 100644 --- a/src/gui/ytsage_gui_dialogs/__init__.py +++ b/ytsage/gui/ytsage_gui_dialogs/__init__.py @@ -12,18 +12,18 @@ This package contains all dialog classes organized by functionality: """ # Re-export all dialog classes for backward compatibility -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_base import AboutDialog, LogWindow -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom import CustomOptionsDialog, TimeRangeDialog -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_ffmpeg import FFmpegCheckDialog, FFmpegInstallThread -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_history import HistoryDialog -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_selection import ( +from .ytsage_dialogs_base import AboutDialog, LogWindow +from .ytsage_dialogs_custom import CustomOptionsDialog, TimeRangeDialog +from .ytsage_dialogs_ffmpeg import FFmpegCheckDialog, FFmpegInstallThread +from .ytsage_dialogs_history import HistoryDialog +from .ytsage_dialogs_selection import ( PlaylistSelectionDialog, SponsorBlockCategoryDialog, SubtitleSelectionDialog, ) -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_settings import AutoUpdateSettingsDialog, DownloadSettingsDialog -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_update import AutoUpdateThread, UpdateThread, VersionCheckThread, YTDLPUpdateDialog -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_updater import UpdaterTabWidget +from .ytsage_dialogs_settings import AutoUpdateSettingsDialog, DownloadSettingsDialog +from .ytsage_dialogs_update import AutoUpdateThread, UpdateThread, VersionCheckThread, YTDLPUpdateDialog +from .ytsage_dialogs_updater import UpdaterTabWidget __all__ = [ # Base dialogs diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py similarity index 97% rename from src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py rename to ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index ee159a2..1f5ad26 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -19,13 +19,13 @@ from PySide6.QtWidgets import ( QWidget, ) -from src import __version__ as APP_VERSION -from src.utils.ytsage_localization import _ +from ... import __version__ as APP_VERSION +from ...utils.ytsage_localization import _ -from src.core.ytsage_ffmpeg import get_ffmpeg_path -from src.core.ytsage_utils import _version_cache, check_ffmpeg, get_ffmpeg_version, get_ytdlp_version, get_deno_version, refresh_version_cache -from src.core.ytsage_yt_dlp import check_ytdlp_installed, get_yt_dlp_path -from src.core.ytsage_deno import check_deno_installed, get_deno_path +from ...core.ytsage_ffmpeg import get_ffmpeg_path +from ...core.ytsage_utils import _version_cache, check_ffmpeg, get_ffmpeg_version, get_ytdlp_version, get_deno_version, refresh_version_cache +from ...core.ytsage_yt_dlp import check_ytdlp_installed, get_yt_dlp_path +from ...core.ytsage_deno import check_deno_installed, get_deno_path class LogWindow(QDialog): @@ -459,7 +459,7 @@ class AboutDialog(QDialog): # Only show path if it's not the fallback "deno" and the file exists if deno_path and deno_path != "deno": from pathlib import Path - from src.utils.ytsage_constants import DENO_APP_BIN_PATH + from ...utils.ytsage_constants import DENO_APP_BIN_PATH # Check if the path is our managed binary if Path(deno_path).resolve() == DENO_APP_BIN_PATH.resolve(): deno_path_text = deno_path diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py similarity index 98% rename from src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py rename to ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index b254f8a..49de1fd 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -29,16 +29,16 @@ from PySide6.QtWidgets import ( QWidget, ) -from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.core.ytsage_utils import update_auto_update_settings -from src.utils.ytsage_constants import YTDLP_DOCS_URL -from src.utils.ytsage_config_manager import ConfigManager -from src.utils.ytsage_localization import LocalizationManager, _ -from src.utils.ytsage_logger import logger -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_updater import UpdaterTabWidget +from ...core.ytsage_yt_dlp import get_yt_dlp_path +from ...core.ytsage_utils import update_auto_update_settings +from ...utils.ytsage_constants import YTDLP_DOCS_URL +from ...utils.ytsage_config_manager import ConfigManager +from ...utils.ytsage_localization import LocalizationManager, _ +from ...utils.ytsage_logger import logger +from .ytsage_dialogs_updater import UpdaterTabWidget if TYPE_CHECKING: - from src.gui.ytsage_gui_main import YTSageApp # only for type hints (no runtime import) + from ..ytsage_gui_main import YTSageApp # only for type hints (no runtime import) class CommandWorker(QObject): diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py similarity index 97% rename from src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py rename to ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py index 44eb563..99b79f9 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_ffmpeg.py @@ -9,9 +9,9 @@ from PySide6.QtCore import Qt, QThread, Signal from PySide6.QtGui import QIcon from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QPushButton, QVBoxLayout -from src.core.ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed -from src.utils.ytsage_constants import ICON_PATH -from src.utils.ytsage_localization import _ +from ...core.ytsage_ffmpeg import auto_install_ffmpeg, check_ffmpeg_installed +from ...utils.ytsage_constants import ICON_PATH +from ...utils.ytsage_localization import _ class FFmpegInstallThread(QThread): diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py similarity index 98% rename from src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py rename to ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py index 6c41906..b3987f2 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py @@ -37,13 +37,13 @@ from PySide6.QtWidgets import ( QApplication ) -from src.utils.ytsage_history_manager import HistoryManager -from src.utils.ytsage_constants import APP_THUMBNAILS_DIR, SUBPROCESS_CREATIONFLAGS -from src.utils.ytsage_localization import _ -from src.utils.ytsage_logger import logger +from ...utils.ytsage_history_manager import HistoryManager +from ...utils.ytsage_constants import APP_THUMBNAILS_DIR, SUBPROCESS_CREATIONFLAGS +from ...utils.ytsage_localization import _ +from ...utils.ytsage_logger import logger if TYPE_CHECKING: - from src.gui.ytsage_gui_main import YTSageApp + from ..ytsage_gui_main import YTSageApp class HistoryLoaderThread(QThread): diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py similarity index 99% rename from src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py rename to ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py index bead261..1990bd2 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_selection.py @@ -17,7 +17,7 @@ from PySide6.QtWidgets import ( QWidget, ) -from src.utils.ytsage_localization import _ +from ...utils.ytsage_localization import _ class SubtitleSelectionDialog(QDialog): diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py similarity index 99% rename from src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py rename to ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 0d04f29..3b68fd7 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -27,9 +27,9 @@ from PySide6.QtWidgets import ( QVBoxLayout, ) -from src.utils.ytsage_logger import logger -from src.utils.ytsage_localization import _ -from src.utils.ytsage_config_manager import ConfigManager +from ...utils.ytsage_logger import logger +from ...utils.ytsage_localization import _ +from ...utils.ytsage_config_manager import ConfigManager class DownloadSettingsDialog(QDialog): diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py similarity index 97% rename from src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py rename to ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py index 5b5d605..1ceca4e 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_update.py @@ -14,16 +14,16 @@ from packaging import version from PySide6.QtCore import Qt, QThread, QTimer, Signal from PySide6.QtWidgets import QDialog, QHBoxLayout, QLabel, QProgressBar, QPushButton, QVBoxLayout -from src.core.ytsage_utils import get_ytdlp_version -from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.utils.ytsage_constants import OS_NAME, SUBPROCESS_CREATIONFLAGS, YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL -from src.utils.ytsage_config_manager import ConfigManager -from src.utils.ytsage_localization import LocalizationManager +from ...core.ytsage_utils import get_ytdlp_version +from ...core.ytsage_yt_dlp import get_yt_dlp_path +from ...utils.ytsage_constants import OS_NAME, SUBPROCESS_CREATIONFLAGS, YTDLP_APP_BIN_PATH, YTDLP_DOWNLOAD_URL +from ...utils.ytsage_config_manager import ConfigManager +from ...utils.ytsage_localization import LocalizationManager # Shorthand for localization _ = LocalizationManager.get_text -from src.utils.ytsage_localization import _ -from src.utils.ytsage_logger import logger +from ...utils.ytsage_localization import _ +from ...utils.ytsage_logger import logger class VersionCheckThread(QThread): diff --git a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py similarity index 98% rename from src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py rename to ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py index 06853cd..e73a2e8 100644 --- a/src/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py @@ -23,25 +23,25 @@ from PySide6.QtWidgets import ( QWidget, ) -from src.core.ytsage_utils import ( +from ...core.ytsage_utils import ( get_auto_update_settings, get_ffmpeg_version_direct, update_auto_update_settings, ) -from src.core.ytsage_yt_dlp import get_yt_dlp_path -from src.core.ytsage_deno import check_deno_update, upgrade_deno -from src.gui.ytsage_gui_dialogs.ytsage_dialogs_update import YTDLPUpdateDialog -from src.utils.ytsage_config_manager import ConfigManager -from src.utils.ytsage_localization import _ -from src.utils.ytsage_logger import logger -from src.utils.ytsage_constants import ( +from ...core.ytsage_yt_dlp import get_yt_dlp_path +from ...core.ytsage_deno import check_deno_update, upgrade_deno +from .ytsage_dialogs_update import YTDLPUpdateDialog +from ...utils.ytsage_config_manager import ConfigManager +from ...utils.ytsage_localization import _ +from ...utils.ytsage_logger import logger +from ...utils.ytsage_constants import ( FFMPEG_7Z_VERSION_URL, OS_NAME, SUBPROCESS_CREATIONFLAGS, ) if TYPE_CHECKING: - from src.gui.ytsage_gui_dialogs.ytsage_dialogs_custom import CustomOptionsDialog + from .ytsage_dialogs_custom import CustomOptionsDialog # Helper functions for FFmpeg version checking (copied from removed ytsage_ffmpeg_updater.py) diff --git a/src/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py similarity index 99% rename from src/gui/ytsage_gui_format_table.py rename to ytsage/gui/ytsage_gui_format_table.py index bf03cd3..b3794ac 100644 --- a/src/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -4,10 +4,10 @@ from PySide6.QtCore import QObject, Qt, Signal from PySide6.QtGui import QColor, QFontMetrics from PySide6.QtWidgets import QCheckBox, QHBoxLayout, QHeaderView, QSizePolicy, QTableWidget, QTableWidgetItem, QWidget -from src.utils.ytsage_localization import _ +from ..utils.ytsage_localization import _ if TYPE_CHECKING: - from src.gui.ytsage_gui_main import YTSageApp + from .ytsage_gui_main import YTSageApp class FormatSignals(QObject): diff --git a/src/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py similarity index 98% rename from src/gui/ytsage_gui_main.py rename to ytsage/gui/ytsage_gui_main.py index ffc406d..8b6c728 100644 --- a/src/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -28,12 +28,12 @@ from PySide6.QtWidgets import ( QWidget, ) -from src import __version__ as APP_VERSION -from src.core.ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes -from src.core.ytsage_utils import check_ffmpeg, load_saved_path, parse_yt_dlp_error, save_path, should_check_for_auto_update, validate_video_url -from src.core.ytsage_yt_dlp import get_yt_dlp_path, setup_ytdlp # Import the new yt-dlp functions -from src.core.ytsage_deno import get_deno_path, setup_deno # Import the new Deno functions -from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py +from .. import __version__ as APP_VERSION +from ..core.ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes +from ..core.ytsage_utils import check_ffmpeg, load_saved_path, parse_yt_dlp_error, save_path, should_check_for_auto_update, validate_video_url +from ..core.ytsage_yt_dlp import get_yt_dlp_path, setup_ytdlp # Import the new yt-dlp functions +from ..core.ytsage_deno import get_deno_path, setup_deno # Import the new Deno functions +from .ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py AboutDialog, AutoUpdateThread, CustomOptionsDialog, @@ -44,10 +44,10 @@ from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__ TimeRangeDialog, YTDLPUpdateDialog, ) -from src.gui.ytsage_gui_format_table import FormatTableMixin -from src.gui.ytsage_gui_video_info import VideoInfoMixin -from src.gui.ytsage_gui_analysis import AnalysisMixin -from src.utils.ytsage_constants import ( +from .ytsage_gui_format_table import FormatTableMixin +from .ytsage_gui_video_info import VideoInfoMixin +from .ytsage_gui_analysis import AnalysisMixin +from ..utils.ytsage_constants import ( ICON_PATH, SOUND_PATH, SUBPROCESS_CREATIONFLAGS, @@ -55,11 +55,11 @@ from src.utils.ytsage_constants import ( AUDIO_EXTENSIONS, SUBTITLE_EXTENSIONS, ) -from src.utils.ytsage_logger import logger -from src.utils.ytsage_config_manager import ConfigManager -from src.utils.ytsage_localization import LocalizationManager, _ -from src.utils.ytsage_history_manager import HistoryManager -from src.gui.ytsage_stylesheet import StyleSheet +from ..utils.ytsage_logger import logger +from ..utils.ytsage_config_manager import ConfigManager +from ..utils.ytsage_localization import LocalizationManager, _ +from ..utils.ytsage_history_manager import HistoryManager +from .ytsage_stylesheet import StyleSheet from concurrent.futures import ThreadPoolExecutor, as_completed diff --git a/src/gui/ytsage_gui_video_info.py b/ytsage/gui/ytsage_gui_video_info.py similarity index 98% rename from src/gui/ytsage_gui_video_info.py rename to ytsage/gui/ytsage_gui_video_info.py index 8ab17f8..f081136 100644 --- a/src/gui/ytsage_gui_video_info.py +++ b/ytsage/gui/ytsage_gui_video_info.py @@ -10,15 +10,15 @@ from PySide6.QtCore import Qt, QThread, Signal from PySide6.QtGui import QPixmap from PySide6.QtWidgets import QHBoxLayout, QLabel, QPushButton, QVBoxLayout, QWidget -from src.gui.ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py +from .ytsage_gui_dialogs import ( # use of src\gui\ytsage_gui_dialogs\__init__.py SponsorBlockCategoryDialog, SubtitleSelectionDialog, ) -from src.utils.ytsage_localization import _ -from src.utils.ytsage_logger import logger +from ..utils.ytsage_localization import _ +from ..utils.ytsage_logger import logger if TYPE_CHECKING: - from src.gui.ytsage_gui_main import YTSageApp + from .ytsage_gui_main import YTSageApp class ThumbnailDownloadThread(QThread): diff --git a/src/gui/ytsage_stylesheet.py b/ytsage/gui/ytsage_stylesheet.py similarity index 100% rename from src/gui/ytsage_stylesheet.py rename to ytsage/gui/ytsage_stylesheet.py From 9a1fb33996bc596584ed37780781448e3c784ef5 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:11:11 +0200 Subject: [PATCH 416/568] Update macOS artifact naming in CI/CD docs Clarified the naming convention for macOS build artifacts by specifying 'arm64' in the filenames for the zipped app bundle and disk image installer. --- .github/CI_CD_README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index e7e31ab..12ac0fd 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -51,8 +51,8 @@ The workflow creates the following files based on the platform: - `YTSage-v{version}-{arch}.flatpak` - Flatpak bundle #### macOS -- `YTSage-v{version}-{arch}.app.zip` - Zipped application bundle arm64 -- `YTSage-v{version}-{arch}.dmg` - Disk image installer +- `YTSage-v{version}-arm64.app.zip` - Zipped application bundle +- `YTSage-v{version}-arm64.dmg` - Disk image installer ## Workflow Features From c15d615b0698cbfce3cc54ed1ce00895aa84bb5f Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:20:01 +0200 Subject: [PATCH 417/568] Add MANIFEST.in to include project files in package Adds a MANIFEST.in file to ensure README.md, LICENSE, pyproject.toml, and all files in ytsage/assets and ytsage/languages are included in the package distribution. --- MANIFEST.in | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..bd19fb6 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,5 @@ +include README.md +include LICENSE +include pyproject.toml +recursive-include ytsage/assets * +recursive-include ytsage/languages * From c8ff4849fec79b48fd274426c35d19b8a1868d41 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:22:58 +0200 Subject: [PATCH 418/568] Add module docstring to utils package Introduced a descriptive docstring in ytsage/utils/__init__.py to clarify the purpose of the utilities package and its contents. --- ytsage/utils/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ytsage/utils/__init__.py b/ytsage/utils/__init__.py index e69de29..3bf8475 100644 --- a/ytsage/utils/__init__.py +++ b/ytsage/utils/__init__.py @@ -0,0 +1,5 @@ +""" +Utility modules for YTSage. + +This package contains shared utilities, constants, logging, and configuration management. +""" From 2e42d26f44d5f92ded1accce1e85a485e72d5ee9 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:29:01 +0200 Subject: [PATCH 419/568] Bump version to 5.0.0b2 Update the __version__ string in ytsage/__init__.py to 5.0.0b2 to reflect the latest changes. --- ytsage/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ytsage/__init__.py b/ytsage/__init__.py index cc62bb6..eba6ea6 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.0b" +__version__ = "5.0.0b2" __author__ = "oop7" From 92c5484ffe96a9753f19d3df9bd11da08f845ccc Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:33:15 +0200 Subject: [PATCH 420/568] Update Linux build workflow for PEP 517 and cx_Freeze Switch pip install to use PEP 517 (pyproject.toml) instead of requirements.txt and update cache key accordingly. Refactor cx_Freeze setup to use new asset paths, add entry point script, and adjust include_files for correct packaging structure. --- .github/workflows/build-linux.yml | 32 ++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index bf7182f..bb05ae1 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -49,7 +49,7 @@ jobs: path: | venv ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} restore-keys: | ${{ runner.os }}-pip- @@ -67,7 +67,7 @@ jobs: python -m venv venv source venv/bin/activate python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir . pip install --no-cache-dir cx_Freeze - name: Prepare build variables @@ -82,6 +82,13 @@ jobs: - name: Create cx_Freeze setup script (Linux) shell: bash run: | + # Create entry point script + cat > ytsage_entry.py <<'ENTRY' + from ytsage.main import main + if __name__ == "__main__": + main() + ENTRY + cat > setup_cxfreeze.py <<'PY' import os import sys @@ -92,26 +99,26 @@ jobs: # Prepare include_files list include_files_list = [ - ("src", "src"), - ("assets/branding/icons", "lib/assets/branding/icons"), - ("assets/Icon", "lib/assets/Icon"), - ("assets/sound", "lib/assets/sound"), - ("languages", "lib/languages"), + ("ytsage/assets/Icon", "lib/assets/Icon"), + ("ytsage/assets/sound", "lib/assets/sound"), + ("ytsage/languages", "lib/languages"), + ("branding/icons", "lib/assets/branding/icons"), ("ytsage.desktop", "share/applications/ytsage.desktop"), - ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), + ("branding/icons/icon.png", "share/pixmaps/ytsage.png"), ] build_exe_options = dict( optimize=2, packages=[ + "ytsage", "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", + "PySide6.QtMultimedia", "requests", "PIL", "packaging", "markdown", - "pyglet", "loguru", "setuptools", ], @@ -125,7 +132,6 @@ jobs: "PySide6.QtXml", "PySide6.QtSql", "PySide6.QtHelp", - "PySide6.QtMultimedia", "PySide6.QtQml", "PySide6.QtQuick", "PySide6.QtWebEngineCore", @@ -144,9 +150,9 @@ jobs: include_files=include_files_list, # Bundle all dependencies - avoid system library references bin_includes=[], - bin_excludes=[], - # Important: include system libs to avoid external dependencies - replace_paths=[("*", "")], + bin_excludesytsage_entry.py", + target_name="ytsage", + icon="*", "")], ) executables = [ From d41fc149b2d0a72c64bb0347f1fce8bc32f35bf3 Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:33:48 +0200 Subject: [PATCH 421/568] Update macOS build workflow for pyproject and new structure Switches dependency installation from requirements.txt to pyproject.toml and updates pip cache key accordingly. Refactors cx_Freeze setup to use a new entry point, adjusts included files and paths to match the updated project structure, and updates icon file references. --- .github/workflows/build-macos.yml | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 5531531..3621e82 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -50,7 +50,7 @@ jobs: venv ~/.cache/pip ~/Library/Caches/pip - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} restore-keys: | ${{ runner.os }}-pip- @@ -60,7 +60,7 @@ jobs: python -m venv venv source venv/bin/activate python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir . pip install --no-cache-dir cx_Freeze dmgbuild - name: Prepare build variables @@ -80,6 +80,13 @@ jobs: - name: Create cx_Freeze setup script shell: bash run: | + # Create entry point script + cat > ytsage_entry.py <<'ENTRY' + from ytsage.main import main + if __name__ == "__main__": + main() + ENTRY + cat > setup_cxfreeze.py <<'PY' import os from cx_Freeze import setup, Executable @@ -89,14 +96,15 @@ jobs: build_exe_options = dict( optimize=2, packages=[ + "ytsage", "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", + "PySide6.QtMultimedia", "requests", "PIL", "packaging", "markdown", - "pyglet", "loguru", "setuptools", ], @@ -110,7 +118,6 @@ jobs: "PySide6.QtXml", "PySide6.QtSql", "PySide6.QtHelp", - "PySide6.QtMultimedia", "PySide6.QtQml", "PySide6.QtQuick", "PySide6.QtWebEngineCore", @@ -127,19 +134,18 @@ jobs: "tests", ], include_files=[ - ("src", "src"), - ("assets/branding/icons", "lib/assets/branding/icons"), - ("assets/Icon", "lib/assets/Icon"), - ("assets/sound", "lib/assets/sound"), - ("languages", "lib/languages"), + ("ytsage/assets/Icon", "lib/assets/Icon"), + ("ytsage/assets/sound", "lib/assets/sound"), + ("ytsage/languages", "lib/languages"), + ("branding/icons", "lib/assets/branding/icons"), ], ) executables = [ Executable( - script="main.py", + script="ytsage_entry.py", target_name=f"YTSage-v{version}", - icon="assets/branding/icons/icon.icns", + icon="branding/icons/icon.icns", ) ] @@ -150,7 +156,7 @@ jobs: options={ "build_exe": build_exe_options, "bdist_mac": { - "iconfile": "assets/branding/icons/icon.icns", + "iconfile": "branding/icons/icon.icns", "bundle_name": f"YTSage-v{version}", }, "bdist_dmg": { From e32bb6ace5b2c324112c83c8f1f8fe81bd6cd591 Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:34:49 +0200 Subject: [PATCH 422/568] Update Windows build workflow for pyproject and asset paths Switch pip cache and install to use pyproject.toml instead of requirements.txt. Update cx_Freeze setup to use a new entry point, adjust included packages and asset paths to reflect new project structure, and update icon path. --- .github/workflows/build-windows.yml | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index b64a4b3..6d2dba4 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -49,7 +49,7 @@ jobs: path: | venv ~\AppData\Local\pip\Cache - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} restore-keys: | ${{ runner.os }}-pip- @@ -59,7 +59,7 @@ jobs: python -m venv venv .\venv\Scripts\Activate.ps1 python -m pip install --upgrade pip - pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir . pip install --no-cache-dir cx_Freeze - name: Prepare build variables @@ -72,6 +72,14 @@ jobs: - name: Create cx_Freeze setup script shell: powershell run: | + # Create entry point script + $entryContent = @' + from ytsage.main import main + if __name__ == "__main__": + main() + '@ + Set-Content -Path "ytsage_entry.py" -Value $entryContent + # Create setup script for cx_Freeze New-Item -Path "setup_cxfreeze.py" -ItemType File -Force Add-Content -Path "setup_cxfreeze.py" -Value "import os" @@ -82,14 +90,15 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value "build_exe_options = dict(" Add-Content -Path "setup_cxfreeze.py" -Value " optimize=2," Add-Content -Path "setup_cxfreeze.py" -Value " packages=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' "ytsage",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtCore",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtGui",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWidgets",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' Add-Content -Path "setup_cxfreeze.py" -Value ' "requests",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL",' Add-Content -Path "setup_cxfreeze.py" -Value ' "packaging",' Add-Content -Path "setup_cxfreeze.py" -Value ' "markdown",' - Add-Content -Path "setup_cxfreeze.py" -Value ' "pyglet",' Add-Content -Path "setup_cxfreeze.py" -Value ' "loguru",' Add-Content -Path "setup_cxfreeze.py" -Value ' "setuptools",' Add-Content -Path "setup_cxfreeze.py" -Value " ]," @@ -103,7 +112,6 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtXml",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSql",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtHelp",' - Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQml",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQuick",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWebEngineCore",' @@ -120,20 +128,19 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "tests",' Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value " include_files=[" - Add-Content -Path "setup_cxfreeze.py" -Value ' ("src", "src"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/branding/icons", "lib/assets/branding/icons"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/Icon", "lib/assets/Icon"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/sound", "lib/assets/sound"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("languages", "lib/languages"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/assets/Icon", "lib/assets/Icon"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/assets/sound", "lib/assets/sound"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/languages", "lib/languages"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("branding/icons", "lib/assets/branding/icons"),' Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value ")" Add-Content -Path "setup_cxfreeze.py" -Value "" Add-Content -Path "setup_cxfreeze.py" -Value "executables = [" Add-Content -Path "setup_cxfreeze.py" -Value " Executable(" - Add-Content -Path "setup_cxfreeze.py" -Value ' script="main.py",' + Add-Content -Path "setup_cxfreeze.py" -Value ' script="ytsage_entry.py",' Add-Content -Path "setup_cxfreeze.py" -Value ' target_name=f"YTSage-v{version}.exe",' Add-Content -Path "setup_cxfreeze.py" -Value ' base="gui",' - Add-Content -Path "setup_cxfreeze.py" -Value ' icon="assets/branding/icons/YTSage.ico",' + Add-Content -Path "setup_cxfreeze.py" -Value ' icon="branding/icons/YTSage.ico",' Add-Content -Path "setup_cxfreeze.py" -Value " )" Add-Content -Path "setup_cxfreeze.py" -Value "]" Add-Content -Path "setup_cxfreeze.py" -Value "" From 38f08543d9e81a1ebf20c25d54c65afb0eead0e8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:45:54 +0200 Subject: [PATCH 423/568] Fix build config for Linux workflow Corrected script path to 'ytsage_entry.py', updated icon path, and fixed configuration for including system libraries and binary excludes in the build-linux.yml workflow. --- .github/workflows/build-linux.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index bb05ae1..ba1e06f 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -150,16 +150,16 @@ jobs: include_files=include_files_list, # Bundle all dependencies - avoid system library references bin_includes=[], - bin_excludesytsage_entry.py", - target_name="ytsage", - icon="*", "")], + bin_excludes=[], + # Important: include system libs to avoid external dependencies + replace_paths=[("*", "")], ) executables = [ Executable( - script="main.py", + script="ytsage_entry.py", target_name="ytsage", - icon="assets/branding/icons/icon.png", + icon="branding/icons/icon.png", ) ] From d05ca74db28ad210ca449bb8767564b768bd9487 Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:46:10 +0200 Subject: [PATCH 424/568] Fix build config for Linux workflow Corrected script path to 'ytsage_entry.py', updated icon path, and fixed configuration for including system libraries and binary excludes in the build-linux.yml workflow. --- .github/workflows/build-linux.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index bb05ae1..ba1e06f 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -150,16 +150,16 @@ jobs: include_files=include_files_list, # Bundle all dependencies - avoid system library references bin_includes=[], - bin_excludesytsage_entry.py", - target_name="ytsage", - icon="*", "")], + bin_excludes=[], + # Important: include system libs to avoid external dependencies + replace_paths=[("*", "")], ) executables = [ Executable( - script="main.py", + script="ytsage_entry.py", target_name="ytsage", - icon="assets/branding/icons/icon.png", + icon="branding/icons/icon.png", ) ] From 387621cb243326462cb5c4d53629b9b695929486 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 14:54:00 +0200 Subject: [PATCH 425/568] Update icon path in build scripts Changed the icon installation path from assets/branding/icons/icon.png to branding/icons/icon.png in Linux packaging steps to reflect updated directory structure. --- .github/workflows/build-linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index ba1e06f..f03692b 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -263,7 +263,7 @@ jobs: # Install desktop file and icon install -m 0644 ${workspace_root}/ytsage.desktop %{buildroot}/usr/share/applications/ytsage.desktop - install -m 0644 ${workspace_root}/assets/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png + install -m 0644 ${workspace_root}/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png %files /opt/ytsage @@ -343,7 +343,7 @@ jobs: # Desktop file and icon install -m 0644 ytsage.desktop "$pkgroot/usr/share/applications/ytsage.desktop" - install -m 0644 assets/branding/icons/icon.png "$pkgroot/usr/share/pixmaps/ytsage.png" + install -m 0644 branding/icons/icon.png "$pkgroot/usr/share/pixmaps/ytsage.png" # Control file cat > "$pkgroot/DEBIAN/control" < Date: Sun, 25 Jan 2026 14:56:58 +0200 Subject: [PATCH 426/568] Update icon path in build scripts Changed the icon installation path from assets/branding/icons/icon.png to branding/icons/icon.png in Linux packaging steps to reflect updated directory structure. --- .github/workflows/build-linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index ba1e06f..f03692b 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -263,7 +263,7 @@ jobs: # Install desktop file and icon install -m 0644 ${workspace_root}/ytsage.desktop %{buildroot}/usr/share/applications/ytsage.desktop - install -m 0644 ${workspace_root}/assets/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png + install -m 0644 ${workspace_root}/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png %files /opt/ytsage @@ -343,7 +343,7 @@ jobs: # Desktop file and icon install -m 0644 ytsage.desktop "$pkgroot/usr/share/applications/ytsage.desktop" - install -m 0644 assets/branding/icons/icon.png "$pkgroot/usr/share/pixmaps/ytsage.png" + install -m 0644 branding/icons/icon.png "$pkgroot/usr/share/pixmaps/ytsage.png" # Control file cat > "$pkgroot/DEBIAN/control" < Date: Sun, 25 Jan 2026 15:53:17 +0200 Subject: [PATCH 427/568] Include PySide6.QtNetwork in build workflows Moved PySide6.QtNetwork from the excludes to the includes list in build workflows for Linux, macOS, and Windows. This ensures the QtNetwork module is bundled during packaging. --- .github/workflows/build-linux.yml | 2 +- .github/workflows/build-macos.yml | 2 +- .github/workflows/build-windows.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index f03692b..f06de53 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -115,6 +115,7 @@ jobs: "PySide6.QtGui", "PySide6.QtWidgets", "PySide6.QtMultimedia", + "PySide6.QtNetwork", "requests", "PIL", "packaging", @@ -124,7 +125,6 @@ jobs: ], excludes=[ "PySide6.QtBluetooth", - "PySide6.QtNetwork", "PySide6.QtOpenGL", "PySide6.QtPrintSupport", "PySide6.QtSvg", diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 3621e82..e07755e 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -101,6 +101,7 @@ jobs: "PySide6.QtGui", "PySide6.QtWidgets", "PySide6.QtMultimedia", + "PySide6.QtNetwork", "requests", "PIL", "packaging", @@ -110,7 +111,6 @@ jobs: ], excludes=[ "PySide6.QtBluetooth", - "PySide6.QtNetwork", "PySide6.QtOpenGL", "PySide6.QtPrintSupport", "PySide6.QtSvg", diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 6d2dba4..ca70cbc 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -95,6 +95,7 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtGui",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWidgets",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtNetwork",' Add-Content -Path "setup_cxfreeze.py" -Value ' "requests",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL",' Add-Content -Path "setup_cxfreeze.py" -Value ' "packaging",' @@ -104,7 +105,6 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value " excludes=[" Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtBluetooth",' - Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtNetwork",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtOpenGL",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtPrintSupport",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSvg",' From dd727c7aa9e969358294cae9013ee2935fcae3cb Mon Sep 17 00:00:00 2001 From: Mohamed <110548351+oop7@users.noreply.github.com> Date: Sun, 25 Jan 2026 15:53:27 +0200 Subject: [PATCH 428/568] Include PySide6.QtNetwork in build workflows Moved PySide6.QtNetwork from the excludes to the includes list in build workflows for Linux, macOS, and Windows. This ensures the QtNetwork module is bundled during packaging. --- .github/workflows/build-linux.yml | 2 +- .github/workflows/build-macos.yml | 2 +- .github/workflows/build-windows.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index f03692b..f06de53 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -115,6 +115,7 @@ jobs: "PySide6.QtGui", "PySide6.QtWidgets", "PySide6.QtMultimedia", + "PySide6.QtNetwork", "requests", "PIL", "packaging", @@ -124,7 +125,6 @@ jobs: ], excludes=[ "PySide6.QtBluetooth", - "PySide6.QtNetwork", "PySide6.QtOpenGL", "PySide6.QtPrintSupport", "PySide6.QtSvg", diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 3621e82..e07755e 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -101,6 +101,7 @@ jobs: "PySide6.QtGui", "PySide6.QtWidgets", "PySide6.QtMultimedia", + "PySide6.QtNetwork", "requests", "PIL", "packaging", @@ -110,7 +111,6 @@ jobs: ], excludes=[ "PySide6.QtBluetooth", - "PySide6.QtNetwork", "PySide6.QtOpenGL", "PySide6.QtPrintSupport", "PySide6.QtSvg", diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 6d2dba4..ca70cbc 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -95,6 +95,7 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtGui",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWidgets",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtNetwork",' Add-Content -Path "setup_cxfreeze.py" -Value ' "requests",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL",' Add-Content -Path "setup_cxfreeze.py" -Value ' "packaging",' @@ -104,7 +105,6 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value " excludes=[" Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtBluetooth",' - Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtNetwork",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtOpenGL",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtPrintSupport",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSvg",' From ffe64acbebce4d578d1dee3960f33d254ec9c3a3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 11:40:00 +0200 Subject: [PATCH 429/568] Capture yt-dlp errors and show better messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initialize an error buffer and collect yt-dlp "ERROR:" output lines during direct command runs. When the process exits non‑zero, emit a more informative error using the last two captured error lines (falling back to the generic return-code message if none were captured). Also ensure the buffer is present before appending and keep the existing delay/cleanup flow. --- ytsage/core/ytsage_downloader.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index be7ed05..a1b1252 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -385,7 +385,9 @@ class DownloadThread(QThread): def _run_direct_command(self) -> None: """Run yt-dlp as a direct command line process instead of using Python API.""" try: + self.error_lines = [] # Initialize error capture list cmd: List[str] = self._build_yt_dlp_command() + cmd_str: str = " ".join(shlex.quote(str(arg)) for arg in cmd) logger.debug(f"Executing command: {cmd_str}") @@ -508,16 +510,19 @@ class DownloadThread(QThread): if self.cancelled: self.status_signal.emit(_("download.cancelled")) else: - # Provide more descriptive error message for possible yt-dlp conflicts - if return_code == 1: + # Provide informative error message based on captured output + if self.error_lines: + # Use the captured error lines (last 2 for context) + error_msg = "\n".join(self.error_lines[-2:]) self.error_signal.emit( - _("errors.download_failed_return_code_conflict", return_code=return_code) + _("errors.ytdlp_failed", error=error_msg) ) else: + # Fallback to generic return code error self.error_signal.emit( _("errors.download_failed_return_code", return_code=return_code) ) - + # Add delay before cleanup to allow file handles to be released time.sleep(1) self.cleanup_partial_files() @@ -534,6 +539,11 @@ class DownloadThread(QThread): line = line.strip() # logger.info(f"yt-dlp: {line}") # Log all output - OPTIONALLY UNCOMMENT FOR VERBOSE DEBUG + # Capture error lines + if "ERROR:" in line: + if hasattr(self, 'error_lines'): + self.error_lines.append(line) + # Extract filename when the destination line appears # Use a slightly more robust regex looking for the start of the line dest_match = re.search(r"^\[download\] Destination:\s*(.*)", line) From 2d42be1a0c1ed70eceae5f2f07692820d6c1c3af Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:21:41 +0200 Subject: [PATCH 430/568] Add animated fade for status and controls Introduce smooth UI transitions by adding opacity-based animations. Import QGraphicsOpacityEffect and add animate_widget_fade_in, animate_widget_fade_out, and set_status_message_animated to cross-fade status text and fade buttons in/out. Update signal handlers and download flow to use the new animated status setter and fade methods instead of direct setText/setVisible calls. Keep animation references on widgets to avoid premature GC and remove effects after fade-out. --- ytsage/gui/ytsage_gui_main.py | 119 ++++++++++++++++++++++++++++++---- 1 file changed, 107 insertions(+), 12 deletions(-) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 8b6c728..411d7de 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -26,6 +26,7 @@ from PySide6.QtWidgets import ( QTextEdit, QVBoxLayout, QWidget, + QGraphicsOpacityEffect, ) from .. import __version__ as APP_VERSION @@ -505,7 +506,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Connect signals self.signals.update_formats.connect(self.update_format_table) - self.signals.update_status.connect(self.status_label.setText) + self.signals.update_status.connect(self.set_status_message_animated) self.signals.update_progress.connect(self.update_progress_bar) # Connect new signals @@ -698,7 +699,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Connect signals self.download_thread.progress_signal.connect(self.update_progress_bar) - self.download_thread.status_signal.connect(self.status_label.setText) + self.download_thread.status_signal.connect(self.set_status_message_animated) self.download_thread.update_details.connect(self.download_details_label.setText) self.download_thread.finished_signal.connect(self.download_finished) self.download_thread.error_signal.connect(self.download_error) @@ -710,8 +711,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Show pause/cancel buttons self.pause_btn.setText(_("buttons.pause")) - self.pause_btn.setVisible(True) - self.cancel_btn.setVisible(True) + self.animate_widget_fade_in(self.pause_btn) + self.animate_widget_fade_in(self.cancel_btn) # Start download thread self.current_download = self.download_thread @@ -720,8 +721,8 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def download_finished(self) -> None: self.toggle_download_controls(True) - self.pause_btn.setVisible(False) - self.cancel_btn.setVisible(False) + self.animate_widget_fade_out(self.pause_btn) + self.animate_widget_fade_out(self.cancel_btn) self.progress_bar.setValue(10000) # 100% in 0-10000 range # Set completion message based on the file type of last downloaded file @@ -731,19 +732,19 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Video file extensions if ext in VIDEO_EXTENSIONS: - self.status_label.setText(_('download.video_completed')) + self.set_status_message_animated(_('download.video_completed')) # Audio file extensions elif ext in AUDIO_EXTENSIONS: - self.status_label.setText(_('download.audio_completed')) + self.set_status_message_animated(_('download.audio_completed')) # Subtitle file extensions elif ext in SUBTITLE_EXTENSIONS: - self.status_label.setText(_('download.subtitle_completed')) + self.set_status_message_animated(_('download.subtitle_completed')) # Default case else: - self.status_label.setText(_('download.completed')) + self.set_status_message_animated(_('download.completed')) # Show the open folder button - self.open_folder_btn.setVisible(True) + self.animate_widget_fade_in(self.open_folder_btn) # Save to history try: @@ -1409,7 +1410,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def cancel_download(self) -> None: if self.current_download: self.current_download.cancelled = True - self.status_label.setText(_("status.cancelling")) # Set status directly + self.set_status_message_animated(_("status.cancelling")) # Set status directly self.download_details_label.setText("") # Clear details label on cancellation def show_ffmpeg_dialog(self) -> None: @@ -1458,4 +1459,98 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): success_dialog.setStyleSheet(StyleSheet.SETUP_SUCCESS_DIALOG) success_dialog.exec() + def animate_widget_fade_in(self, widget: QWidget, duration: int = 300) -> None: + """Fade in a widget using opacity animation.""" + if widget.isVisible(): + return + + # Setup opacity effect if not present + effect = QGraphicsOpacityEffect(widget) + widget.setGraphicsEffect(effect) + + # Determine start and end values + start_val = 0.0 + end_val = 1.0 + + # Setup animation + anim = QPropertyAnimation(effect, b"opacity", widget) + anim.setDuration(duration) + anim.setStartValue(start_val) + anim.setEndValue(end_val) + anim.setEasingCurve(QEasingCurve.Type.OutQuad) + + # Show widget before animation + widget.setVisible(True) + anim.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped) + + # Keep reference to avoid garbage collection + widget._fade_anim = anim + + def animate_widget_fade_out(self, widget: QWidget, duration: int = 300) -> None: + """Fade out a widget and then hide it.""" + if not widget.isVisible(): + return + + effect = QGraphicsOpacityEffect(widget) + widget.setGraphicsEffect(effect) + + anim = QPropertyAnimation(effect, b"opacity", widget) + anim.setDuration(duration) + anim.setStartValue(1.0) + anim.setEndValue(0.0) + anim.setEasingCurve(QEasingCurve.Type.InQuad) + + def on_finished(): + widget.setVisible(False) + widget.setGraphicsEffect(None) # Remove effect to restore normal painting + + anim.finished.connect(on_finished) + anim.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped) + + widget._fade_out_anim = anim # Keep reference + + def set_status_message_animated(self, message: str) -> None: + """Update status label with a cross-fade animation.""" + if self.status_label.text() == message: + return + + # If previous animation is running, stop it + if hasattr(self.status_label, '_status_anim'): + try: + if self.status_label._status_anim.state() == QPropertyAnimation.State.Running: + self.status_label._status_anim.stop() + except RuntimeError: + pass # Animation object already deleted + + # Create effect if needed + effect = self.status_label.graphicsEffect() + if not effect or not isinstance(effect, QGraphicsOpacityEffect): + effect = QGraphicsOpacityEffect(self.status_label) + self.status_label.setGraphicsEffect(effect) + + # 1. Fade OUT + anim1 = QPropertyAnimation(effect, b"opacity", self.status_label) + anim1.setDuration(150) + anim1.setStartValue(1.0) + anim1.setEndValue(0.0) + anim1.setEasingCurve(QEasingCurve.Type.OutQuad) + + # 2. Change Text & Fade IN + anim2 = QPropertyAnimation(effect, b"opacity", self.status_label) + anim2.setDuration(150) + anim2.setStartValue(0.0) + anim2.setEndValue(1.0) + anim2.setEasingCurve(QEasingCurve.Type.InQuad) + + def on_fade_out_finished(): + self.status_label.setText(message) + anim2.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped) + + anim1.finished.connect(on_fade_out_finished) + anim1.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped) + + # Store ref + self.status_label._status_anim = anim1 + self.status_label._status_anim2 = anim2 + From 621d47d7012a4304ef46f5d6d2fc4051cddd87e0 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:26:47 +0200 Subject: [PATCH 431/568] Hide and fade-in format table on build Make the format table invisible while it's populated and filtered to avoid visual artifacts, then animate its appearance with animate_widget_fade_in after initial filtering. This ensures a smoother UI when the table is first built. --- ytsage/gui/ytsage_gui_format_table.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ytsage/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py index b3794ac..2462297 100644 --- a/ytsage/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -233,11 +233,15 @@ class FormatTableMixin: all_filtered = [(f, "video") for f in video_formats] + [(f, "audio") for f in audio_formats] # Build table with format type tracking + self.format_table.setVisible(False) self._populate_format_table(all_filtered) self._table_built = True # Apply initial visibility based on current button states self.filter_formats() + + # Animate table appearance + self.animate_widget_fade_in(self.format_table) def _populate_format_table(self, formats_with_types: list) -> None: """Populate the format table with formats and their types.""" From f9a9dc4879ffd61f58d1a202867f925cee98290d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:26:57 +0200 Subject: [PATCH 432/568] Animate widget visibility and fix fades Use animated show/hide for playlist widgets and harden fade animations. Replace direct setVisible signal handlers with lambdas that call set_widget_visible_animated, and add set_widget_visible_animated to route to fade-in/out. Fade methods now stop opposing animations, reuse existing QGraphicsOpacityEffect when present, preserve current opacity as start values, and set effect opacity when creating a new effect. Also catch possible RuntimeError when stopping animations and keep animation references on widgets to avoid premature GC. --- ytsage/gui/ytsage_gui_main.py | 51 ++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 411d7de..43748ca 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -510,10 +510,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.signals.update_progress.connect(self.update_progress_bar) # Connect new signals - self.signals.playlist_info_label_visible.connect(self.playlist_info_label.setVisible) + self.signals.playlist_info_label_visible.connect(lambda v: self.set_widget_visible_animated(self.playlist_info_label, v)) self.signals.playlist_info_label_text.connect(self.playlist_info_label.setText) self.signals.selected_subs_label_text.connect(self.selected_subs_label.setText) - self.signals.playlist_select_btn_visible.connect(self.playlist_select_btn.setVisible) + self.signals.playlist_select_btn_visible.connect(lambda v: self.set_widget_visible_animated(self.playlist_select_btn, v)) self.signals.playlist_select_btn_text.connect(self.playlist_select_btn.setText) # Disable analysis-dependent controls until video is analyzed @@ -1461,15 +1461,25 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def animate_widget_fade_in(self, widget: QWidget, duration: int = 300) -> None: """Fade in a widget using opacity animation.""" - if widget.isVisible(): + # Stop fade out if running + if hasattr(widget, '_fade_out_anim'): + try: + if widget._fade_out_anim.state() == QPropertyAnimation.State.Running: + widget._fade_out_anim.stop() + except RuntimeError: + pass + + if widget.isVisible() and widget.graphicsEffect() is None: return # Setup opacity effect if not present - effect = QGraphicsOpacityEffect(widget) - widget.setGraphicsEffect(effect) + effect = widget.graphicsEffect() + if not effect or not isinstance(effect, QGraphicsOpacityEffect): + effect = QGraphicsOpacityEffect(widget) + widget.setGraphicsEffect(effect) - # Determine start and end values - start_val = 0.0 + # Determine start value (current opacity if previously animating) + start_val = effect.opacity() if widget.isVisible() else 0.0 end_val = 1.0 # Setup animation @@ -1488,15 +1498,28 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def animate_widget_fade_out(self, widget: QWidget, duration: int = 300) -> None: """Fade out a widget and then hide it.""" + # Stop fade in if running + if hasattr(widget, '_fade_anim'): + try: + if widget._fade_anim.state() == QPropertyAnimation.State.Running: + widget._fade_anim.stop() + except RuntimeError: + pass + if not widget.isVisible(): return - effect = QGraphicsOpacityEffect(widget) - widget.setGraphicsEffect(effect) + effect = widget.graphicsEffect() + if not effect or not isinstance(effect, QGraphicsOpacityEffect): + effect = QGraphicsOpacityEffect(widget) + widget.setGraphicsEffect(effect) + effect.setOpacity(1.0) + + start_val = effect.opacity() anim = QPropertyAnimation(effect, b"opacity", widget) anim.setDuration(duration) - anim.setStartValue(1.0) + anim.setStartValue(start_val) anim.setEndValue(0.0) anim.setEasingCurve(QEasingCurve.Type.InQuad) @@ -1509,6 +1532,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): widget._fade_out_anim = anim # Keep reference + def set_widget_visible_animated(self, widget: QWidget, visible: bool) -> None: + """Toggle widget visibility with fade animation.""" + if visible: + self.animate_widget_fade_in(widget) + else: + self.animate_widget_fade_out(widget) + + def set_status_message_animated(self, message: str) -> None: """Update status label with a cross-fade animation.""" if self.status_label.text() == message: From 091c6c68c19442c785d47f02d827399a8da98cd3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:27:07 +0200 Subject: [PATCH 433/568] Fade in video thumbnail on load Hide the thumbnail QLabel before assigning the pixmap and trigger animate_widget_fade_in to smoothly fade the thumbnail into view. Keeps existing exception logging for thumbnail processing. --- ytsage/gui/ytsage_gui_video_info.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ytsage/gui/ytsage_gui_video_info.py b/ytsage/gui/ytsage_gui_video_info.py index f081136..aa3327b 100644 --- a/ytsage/gui/ytsage_gui_video_info.py +++ b/ytsage/gui/ytsage_gui_video_info.py @@ -410,7 +410,12 @@ class VideoInfoMixin: image.save(img_byte_arr, format="PNG") pixmap = QPixmap() pixmap.loadFromData(img_byte_arr.getvalue()) + + # Fade in the thumbnail + self.thumbnail_label.setVisible(False) self.thumbnail_label.setPixmap(pixmap) + self.animate_widget_fade_in(self.thumbnail_label) + except Exception as e: logger.exception(f"Error processing thumbnail image: {e}") From 36eff02b18c712d50259fdbf0236842a6a13a74c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:36:00 +0200 Subject: [PATCH 434/568] Add widget shake animation for invalid input Introduce a shake animation to visually indicate invalid inputs and wire it into validation/error flows. Changes: import QPoint; add animate_widget_shake(QWidget) implementation that uses QPropertyAnimation on widget.pos with keyframes; call the animation when URL/path/format validations fail and replace some direct status_label updates with set_status_message_animated. Updated files: ytsage/gui/ytsage_gui_main.py and ytsage/gui/ytsage_gui_analysis.py. --- ytsage/gui/ytsage_gui_analysis.py | 4 +++ ytsage/gui/ytsage_gui_main.py | 46 +++++++++++++++++++++++++++---- 2 files changed, 45 insertions(+), 5 deletions(-) diff --git a/ytsage/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py index 0a37739..46604ce 100644 --- a/ytsage/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -271,12 +271,16 @@ class AnalysisMixin: url = self.url_input.text().strip() if not url: self.signals.update_status.emit(_("main_ui.invalid_url_or_enter")) + if hasattr(self, "animate_widget_shake"): + self.animate_widget_shake(self.url_input) return # Validate URL before processing is_valid, error_message = validate_video_url(url) if not is_valid: QMessageBox.warning(self, _("main_ui.error_title"), error_message) + if hasattr(self, "animate_widget_shake"): + self.animate_widget_shake(self.url_input) return # Cancel any existing analysis thread diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 43748ca..b48cd6f 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -7,7 +7,7 @@ from pathlib import Path import markdown import requests from packaging import version -from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer, Slot, QThread, Signal, QUrl, QPropertyAnimation, QEasingCurve +from PySide6.QtCore import Q_ARG, QMetaObject, Qt, QTimer, Slot, QThread, Signal, QUrl, QPropertyAnimation, QEasingCurve, QPoint from PySide6.QtGui import QIcon from PySide6.QtMultimedia import QAudioOutput, QMediaPlayer from PySide6.QtWidgets import ( @@ -598,11 +598,15 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): if not url or not path: # More specific error message if path is missing if not path: - self.status_label.setText(_('download.please_set_path')) + self.set_status_message_animated(_('download.please_set_path')) + self.animate_widget_shake(self.settings_button) elif not url: - self.status_label.setText(_('download.please_enter_url')) + self.set_status_message_animated(_('download.please_enter_url')) + self.animate_widget_shake(self.url_input) else: - self.status_label.setText(_('download.please_enter_url_and_path')) + self.set_status_message_animated(_('download.please_enter_url_and_path')) + self.animate_widget_shake(self.url_input) + self.animate_widget_shake(self.settings_button) return # --- End Path Change --- @@ -610,12 +614,14 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): is_valid, error_message = validate_video_url(url) if not is_valid: QMessageBox.warning(self, _("main_ui.error_title"), error_message) + self.animate_widget_shake(self.url_input) return # Get selected format selected_format = self.get_selected_format() if not selected_format: - self.status_label.setText(_('download.please_select_format')) + self.set_status_message_animated(_('download.please_select_format')) + self.animate_widget_shake(self.format_table) return format_id = selected_format["format_id"] is_audio_only = bool(selected_format.get("is_audio_only")) @@ -1539,6 +1545,36 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): else: self.animate_widget_fade_out(widget) + def animate_widget_shake(self, widget: QWidget) -> None: + """Shake a widget left and right to indicate an error or invalid input.""" + # Stop shake if running + if hasattr(widget, '_shake_anim'): + try: + if widget._shake_anim.state() == QPropertyAnimation.State.Running: + return + except RuntimeError: + pass + + # Use current position as baseline + pos = widget.pos() + x = pos.x() + y = pos.y() + + anim = QPropertyAnimation(widget, b"pos", widget) + anim.setDuration(300) + anim.setLoopCount(1) + + # Create keyframes for shake effect + anim.setKeyValueAt(0, QPoint(x, y)) + anim.setKeyValueAt(0.2, QPoint(x - 5, y)) + anim.setKeyValueAt(0.4, QPoint(x + 5, y)) + anim.setKeyValueAt(0.6, QPoint(x - 5, y)) + anim.setKeyValueAt(0.8, QPoint(x + 5, y)) + anim.setKeyValueAt(1.0, QPoint(x, y)) + + widget._shake_anim = anim + anim.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped) + def set_status_message_animated(self, message: str) -> None: """Update status label with a cross-fade animation.""" From 7890a947029c26076d307a7c78adb3aecee6e973 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:51:36 +0200 Subject: [PATCH 435/568] Add pressed padding to QPushButton styles Update ytsage/gui/ytsage_stylesheet.py to add explicit padding for various QPushButton:pressed rules (and QPushButton:checked:pressed) across multiple style blocks. These changes unify the visual spacing and touch feedback when buttons are pressed, ensuring consistent pressed-state layout and appearance. --- ytsage/gui/ytsage_stylesheet.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ytsage/gui/ytsage_stylesheet.py b/ytsage/gui/ytsage_stylesheet.py index 465a8ad..c1f7841 100644 --- a/ytsage/gui/ytsage_stylesheet.py +++ b/ytsage/gui/ytsage_stylesheet.py @@ -32,6 +32,7 @@ class StyleSheet: } QPushButton:pressed { background-color: #800000; + padding: 10px 13px 6px 17px; } QPushButton:disabled { background-color: #3d3d3d; @@ -141,6 +142,7 @@ class StyleSheet: } QPushButton:pressed { background-color: #1a1d1e; + padding: 11px 18px 7px 22px; } """ @@ -159,6 +161,7 @@ class StyleSheet: } QPushButton:pressed { background-color: #800000; + padding: 11px 18px 7px 22px; } QPushButton:disabled { background-color: #3d3d3d; @@ -181,6 +184,10 @@ class StyleSheet: background-color: #2a2d36; border-color: #a50000; } + QPushButton:pressed { + background-color: #1d1e22; + padding: 8px 10px 4px 12px; + } """ FORMAT_TOGGLE_BUTTON = """ @@ -201,6 +208,14 @@ class StyleSheet: QPushButton:checked:hover { background-color: #a50000; } + QPushButton:pressed { + background-color: #151619; + padding: 10px 13px 6px 17px; + } + QPushButton:checked:pressed { + background-color: #800000; + padding: 10px 13px 6px 17px; + } """ CHECKBOX = """ @@ -266,6 +281,7 @@ class StyleSheet: } QPushButton:pressed { background-color: #1a1d1e; + padding: 4px 0px 0px 4px; } """ From 79a85cf707f7fa5601cbfbb3b4f46afe10990b4d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 14:23:32 +0200 Subject: [PATCH 436/568] Run dialogs with blurred screenshot overlay Add a safe blurred-overlay flow for modal dialogs by implementing run_dialog_with_blur and _apply_blur_to_pixmap on YTSageApp. The new flow captures a window screenshot, generates a blurred/dimmed pixmap via a QGraphicsScene + QGraphicsBlurEffect, shows it in an overlay QLabel with a fade-in, runs the dialog, and then removes the overlay. Replace many direct dialog.exec() calls with run_dialog_with_blur(...) across the main GUI (download settings, about, history, playlist selection, custom options, cookie login, ffmpeg check, time range, setup success dialogs, etc.). Also add imports required for pixmap/graphics handling. Make animate_widget_fade_in usage safer by checking for the method before calling it and falling back to setVisible(True) for format table and thumbnails to avoid QPainter/graphics-effect conflicts. Small comment/cleanup in fade-in/out methods. --- ytsage/gui/ytsage_gui_format_table.py | 5 +- ytsage/gui/ytsage_gui_main.py | 104 +++++++++++++++++++++++--- ytsage/gui/ytsage_gui_video_info.py | 10 ++- 3 files changed, 103 insertions(+), 16 deletions(-) diff --git a/ytsage/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py index 2462297..cd3f029 100644 --- a/ytsage/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -241,7 +241,10 @@ class FormatTableMixin: self.filter_formats() # Animate table appearance - self.animate_widget_fade_in(self.format_table) + if hasattr(self, "animate_widget_fade_in"): + self.animate_widget_fade_in(self.format_table) + else: + self.format_table.setVisible(True) def _populate_format_table(self, formats_with_types: list) -> None: """Populate the format table with formats and their types.""" diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index b48cd6f..5b1c7bb 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -27,7 +27,11 @@ from PySide6.QtWidgets import ( QVBoxLayout, QWidget, QGraphicsOpacityEffect, + QGraphicsBlurEffect, + QGraphicsScene, + QGraphicsPixmapItem, ) +from PySide6.QtGui import QIcon, QPixmap, QPainter, QBrush, QColor from .. import __version__ as APP_VERSION from ..core.ytsage_downloader import DownloadThread, SignalManager # Import downloader related classes @@ -531,7 +535,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def show_download_settings_dialog(self) -> None: # Renamed method dialog = DownloadSettingsDialog(self.last_path, self.speed_limit_value, self.speed_limit_unit_index, self) - if dialog.exec(): + if self.run_dialog_with_blur(dialog): # Update Path new_path = dialog.get_selected_path() path_changed = False @@ -978,7 +982,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Style the dialog with improved theme matching msg.setStyleSheet(StyleSheet.UPDATE_DIALOG_MAIN) - msg.show() + self.run_dialog_with_blur(msg) def open_release_page(self, url): webbrowser.open(url) @@ -1070,7 +1074,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def show_custom_options(self) -> None: dialog = CustomOptionsDialog(self) - if dialog.exec(): + if self.run_dialog_with_blur(dialog): # Handle proxy options proxy_url = dialog.get_proxy_url() geo_proxy_url = dialog.get_geo_proxy_url() @@ -1110,13 +1114,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def show_about_dialog(self) -> None: # ADDED METHOD HERE dialog = AboutDialog(self) - dialog.exec() + self.run_dialog_with_blur(dialog) def show_history_dialog(self) -> None: """Show the download history dialog.""" dialog = HistoryDialog(self) dialog.redownload_requested.connect(self.handle_redownload_from_history) - dialog.exec() + self.run_dialog_with_blur(dialog) def handle_redownload_from_history(self, entry: dict) -> None: """Handle redownload request from history dialog.""" @@ -1208,7 +1212,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): dialog = PlaylistSelectionDialog(self.playlist_entries, self.selected_playlist_items, self) - if dialog.exec(): + if self.run_dialog_with_blur(dialog): self.selected_playlist_items = dialog.get_selected_items_string() logger.info(f"Playlist items selected: {self.selected_playlist_items}") @@ -1381,12 +1385,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def show_custom_command(self) -> None: dialog = CustomOptionsDialog(self) dialog.tab_widget.setCurrentIndex(1) # Select the Custom Command tab - dialog.exec() + self.run_dialog_with_blur(dialog) def show_cookie_login_dialog(self) -> None: dialog = CustomOptionsDialog(self) dialog.tab_widget.setCurrentIndex(0) # Select the Cookie Login tab - if dialog.exec(): + if self.run_dialog_with_blur(dialog): # Handle cookies cookie_path = dialog.get_cookie_file_path() browser_cookies = dialog.get_browser_cookies_option() @@ -1421,12 +1425,12 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def show_ffmpeg_dialog(self) -> None: dialog = FFmpegCheckDialog(self) - dialog.exec() + self.run_dialog_with_blur(dialog) # Add method for showing time range dialog def show_time_range_dialog(self) -> None: dialog = TimeRangeDialog(self) - if dialog.exec(): + if self.run_dialog_with_blur(dialog): # Store the time range settings self.download_section = dialog.get_download_sections() self.force_keyframes = dialog.get_force_keyframes() @@ -1451,7 +1455,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): success_dialog.setText(_("ytdlp_setup.success_dialog_message", path=yt_dlp_path)) success_dialog.setWindowIcon(self.windowIcon()) success_dialog.setStyleSheet(StyleSheet.SETUP_SUCCESS_DIALOG) - success_dialog.exec() + self.run_dialog_with_blur(success_dialog) def show_deno_setup_dialog(self) -> None: """Show the Deno setup dialog to configure Deno""" @@ -1463,10 +1467,15 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): success_dialog.setText(f"{_('deno.success')}\n{deno_path}") success_dialog.setWindowIcon(self.windowIcon()) success_dialog.setStyleSheet(StyleSheet.SETUP_SUCCESS_DIALOG) - success_dialog.exec() + self.run_dialog_with_blur(success_dialog) def animate_widget_fade_in(self, widget: QWidget, duration: int = 300) -> None: """Fade in a widget using opacity animation.""" + # Check if the main window has a graphics effect (blur) active. + # If so, animating a child widget with another effect causes QPainter conflicts. + # NOTE: With the new Screenshot Overlay method, 'self.graphicsEffect()' on the MainWindow isn't used. + # However, we should still be careful if the widget itself already has an effect. + # Stop fade out if running if hasattr(widget, '_fade_out_anim'): try: @@ -1504,6 +1513,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def animate_widget_fade_out(self, widget: QWidget, duration: int = 300) -> None: """Fade out a widget and then hide it.""" + # Stop fade in if running if hasattr(widget, '_fade_anim'): try: @@ -1620,4 +1630,74 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.status_label._status_anim = anim1 self.status_label._status_anim2 = anim2 + def run_dialog_with_blur(self, dialog: QDialog) -> int: + """Run a dialog with a static background screenshot blur to avoid QPainter conflicts.""" + + # 1. Capture the current state of the window (screenshot) + pixmap = self.grab() + + # 2. Create the blur using a Graphics Scene method (much safer than QGraphicsBlurEffect on live widget) + # However, for simplicity and performance with PySide6, we can just apply a blur to the image + # or use a simplified overlay. + # Let's manually blur the pixmap or use a simpler transparent overlay if blur is too heavy manually. + # Actually, using QGraphicsBlurEffect on a temporary QGraphicsScene rendering to a pixmap is a valid way + # to generate a single blurred frame. + + blurred_pixmap = self._apply_blur_to_pixmap(pixmap, radius=10) + + # 3. Create an overlay widget that covers the Main Window + overlay = QLabel(self) + overlay.setPixmap(blurred_pixmap) + overlay.setGeometry(0, 0, self.width(), self.height()) + overlay.setAttribute(Qt.WidgetAttribute.WA_TransparentForMouseEvents, False) # Block mouse + overlay.show() + + # Animate overlay Fade In + opacity_effect = QGraphicsOpacityEffect(overlay) + overlay.setGraphicsEffect(opacity_effect) + + anim = QPropertyAnimation(opacity_effect, b"opacity", overlay) + anim.setDuration(250) + anim.setStartValue(0.0) + anim.setEndValue(1.0) + anim.setEasingCurve(QEasingCurve.Type.OutQuad) + anim.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped) + + # 4. Run the dialog + # Ensure dialog is on top + result = dialog.exec() + + # 5. Remove overlay + overlay.deleteLater() + + return result + + def _apply_blur_to_pixmap(self, source_pixmap: QPixmap, radius: int) -> QPixmap: + """Helper to create a blurred version of a pixmap.""" + if source_pixmap.isNull(): + return source_pixmap + + # Create a QGraphicsScene to apply the effect to the pixmap + scene = QGraphicsScene() + item = QGraphicsPixmapItem(source_pixmap) + scene.addItem(item) + + blur = QGraphicsBlurEffect() + blur.setBlurRadius(radius) + item.setGraphicsEffect(blur) + + # Render back to pixmap + result = source_pixmap.copy() # Match size/format + result.fill(Qt.GlobalColor.transparent) + + with QPainter(result) as painter: + scene.render(painter, target=source_pixmap.rect().toRectF(), source=source_pixmap.rect().toRectF()) + + # Optional: Add a dark tint for 'dimming' effect + painter.setBrush(QBrush(QColor(0, 0, 0, 100))) # 100/255 opacity black + painter.setPen(Qt.PenStyle.NoPen) + painter.drawRect(source_pixmap.rect()) + + return result + diff --git a/ytsage/gui/ytsage_gui_video_info.py b/ytsage/gui/ytsage_gui_video_info.py index aa3327b..253cc96 100644 --- a/ytsage/gui/ytsage_gui_video_info.py +++ b/ytsage/gui/ytsage_gui_video_info.py @@ -310,7 +310,7 @@ class VideoInfoMixin: # removed extra logic for mapping to main_windows merge_checkbox = getattr(self, "merge_subs_checkbox", None) - if dialog.exec(): # If user clicks OK + if self.run_dialog_with_blur(dialog): # If user clicks OK self.selected_subtitles = dialog.get_selected_subtitles() logger.info(f"Selected subtitles: {self.selected_subtitles}") # Update UI to reflect selection @@ -356,7 +356,7 @@ class VideoInfoMixin: dialog = SponsorBlockCategoryDialog(dialog_categories, self) - if dialog.exec(): + if self.run_dialog_with_blur(dialog): self.selected_sponsorblock_categories = dialog.get_selected_categories() logger.info(f"SponsorBlock categories selected: {self.selected_sponsorblock_categories}") self._update_sponsorblock_display() @@ -414,7 +414,11 @@ class VideoInfoMixin: # Fade in the thumbnail self.thumbnail_label.setVisible(False) self.thumbnail_label.setPixmap(pixmap) - self.animate_widget_fade_in(self.thumbnail_label) + + if hasattr(self, "animate_widget_fade_in"): + self.animate_widget_fade_in(self.thumbnail_label) + else: + self.thumbnail_label.setVisible(True) except Exception as e: logger.exception(f"Error processing thumbnail image: {e}") From 2935eb01c1750cf2ba5da8b493df8e11909a33e8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 1 Feb 2026 14:30:54 +0200 Subject: [PATCH 437/568] Add smooth tab widget with fade transitions Introduce SmoothTabWidget and a FadingStackedWidget to provide cross-fade transitions between tabs. Added ytsage/gui/ytsage_smooth_tab_widget.py which implements a QTabBar + FadingStackedWidget (default 300ms fade) and overlay-based fade logic. Updated ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py to use SmoothTabWidget instead of QTabWidget and adjusted the stylesheet selector to target the new content frame (#tabContent) so existing styles continue to apply. --- .../ytsage_dialogs_custom.py | 5 +- ytsage/gui/ytsage_smooth_tab_widget.py | 123 ++++++++++++++++++ 2 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 ytsage/gui/ytsage_smooth_tab_widget.py diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 49de1fd..5cd798c 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -29,6 +29,7 @@ from PySide6.QtWidgets import ( QWidget, ) +from ..ytsage_smooth_tab_widget import SmoothTabWidget from ...core.ytsage_yt_dlp import get_yt_dlp_path from ...core.ytsage_utils import update_auto_update_settings from ...utils.ytsage_constants import YTDLP_DOCS_URL @@ -115,7 +116,7 @@ class CustomOptionsDialog(QDialog): layout = QVBoxLayout(self) # Create tab widget to organize content - self.tab_widget = QTabWidget() + self.tab_widget = SmoothTabWidget() layout.addWidget(self.tab_widget) # === Cookies Tab === @@ -542,7 +543,7 @@ class CustomOptionsDialog(QDialog): QDialog { background-color: #15181b; } - QTabWidget::pane { + QFrame#tabContent { border: 1px solid #3d3d3d; background-color: #15181b; } diff --git a/ytsage/gui/ytsage_smooth_tab_widget.py b/ytsage/gui/ytsage_smooth_tab_widget.py new file mode 100644 index 0000000..375b2ba --- /dev/null +++ b/ytsage/gui/ytsage_smooth_tab_widget.py @@ -0,0 +1,123 @@ +from PySide6.QtCore import QEasingCurve, QPropertyAnimation, Qt +from PySide6.QtGui import QPixmap +from PySide6.QtWidgets import ( + QFrame, + QGraphicsOpacityEffect, + QLabel, + QStackedWidget, + QTabBar, + QVBoxLayout, + QWidget, +) + +class FadingStackedWidget(QStackedWidget): + """ + A QStackedWidget that cross-fades between widgets. + """ + def __init__(self, parent=None): + super().__init__(parent) + self.fade_duration = 300 + self.fade_easing = QEasingCurve.Type.OutQuad + + def setCurrentIndex(self, index): + curr_index = self.currentIndex() + if index == curr_index: + return + + widget = self.widget(index) + curr_widget = self.widget(curr_index) + + # If widget isn't visible or valid, just swap + if not self.isVisible() or not curr_widget: + super().setCurrentIndex(index) + return + + # 1. Capture the current view (the "old" tab) + # Use grab() for simplicity and reliability in PySide6 + pixmap = self.grab() + + # 2. Create an overlay label to hold this "old" view + overlay = QLabel(self) + overlay.setPixmap(pixmap) + overlay.setGeometry(0, 0, self.width(), self.height()) + overlay.setAttribute(Qt.WidgetAttribute.WA_TransparentForMouseEvents) # Don't block clicks + overlay.show() + + # 3. Switch the actual stack to the "new" view + super().setCurrentIndex(index) + + # CRITICAL: Ensure overlay stays on top of the new widget + overlay.raise_() + + # 4. Fade OUT the overlay, revealing the new view + effect = QGraphicsOpacityEffect(overlay) + overlay.setGraphicsEffect(effect) + + + anim = QPropertyAnimation(effect, b"opacity", overlay) + anim.setDuration(self.fade_duration) + anim.setStartValue(1.0) + anim.setEndValue(0.0) + anim.setEasingCurve(self.fade_easing) + + # Cleanup when done + anim.finished.connect(lambda: self._cleanup(overlay)) + + # Keep reference to prevent GC + self._active_anim = anim + anim.start(QPropertyAnimation.DeletionPolicy.DeleteWhenStopped) + + def _cleanup(self, overlay): + overlay.hide() + overlay.deleteLater() + + +class SmoothTabWidget(QWidget): + """ + A unified Widget that behaves like a QTabWidget but uses smooth fading transitions. + Includes a QTabBar and a FadingStackedWidget. + """ + def __init__(self, parent=None): + super().__init__(parent) + + # Main Layout + self.layout = QVBoxLayout(self) + self.layout.setContentsMargins(0, 0, 0, 0) + self.layout.setSpacing(0) + + # Tab Bar + self.tab_bar = QTabBar(self) + self.tab_bar.setDrawBase(False) # We draw border on content instead + self.tab_bar.currentChanged.connect(self.set_current_index) + self.layout.addWidget(self.tab_bar) + + # Content Area (Frame) - Mimics QTabWidget::pane + self.content_frame = QFrame(self) + self.content_frame.setObjectName("tabContent") + + # Layout inside the content frame + self.content_layout = QVBoxLayout(self.content_frame) + self.content_layout.setContentsMargins(0, 0, 0, 0) + self.content_layout.setSpacing(0) + + # The Stack + self.stack = FadingStackedWidget(self.content_frame) + self.content_layout.addWidget(self.stack) + + self.layout.addWidget(self.content_frame) + + def addTab(self, widget, label): + """Add a tab with the given widget and label.""" + self.stack.addWidget(widget) + self.tab_bar.addTab(label) + + def set_current_index(self, index): + """Slot to handle tab bar clicks.""" + self.tab_bar.setCurrentIndex(index) + self.stack.setCurrentIndex(index) + + def currentWidget(self): + return self.stack.currentWidget() + + def currentIndex(self): + return self.stack.currentIndex() From 6c98d729ea205df4e4884752317bed68ed30f323 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 14:17:46 +0200 Subject: [PATCH 438/568] Optimize Windows builds and trim dist files Add build/time optimizations and post-build trimming for Windows CI. Enables silent cxfreeze output and adds zip_include_packages (PySide6, shiboken6, requests, PIL, packaging) so selected packages are included in the zip; excludes additional stdlib modules (pydoc, doctest, email) to reduce bundle size. Switches build invocation to python -OO for extra optimization and adds dedicated PowerShell steps (for both standard and FFmpeg builds) that remove screenshots, PDB debug files, unused Qt translations/plugins and extra Qt DLLs (Qt6Web*/Qt6Pdf*) to shrink artifacts and remove unnecessary files before packaging. --- .github/workflows/build-windows.yml | 91 ++++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index ca70cbc..e656bdc 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -89,6 +89,7 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value "" Add-Content -Path "setup_cxfreeze.py" -Value "build_exe_options = dict(" Add-Content -Path "setup_cxfreeze.py" -Value " optimize=2," + Add-Content -Path "setup_cxfreeze.py" -Value " silent=True," Add-Content -Path "setup_cxfreeze.py" -Value " packages=[" Add-Content -Path "setup_cxfreeze.py" -Value ' "ytsage",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtCore",' @@ -103,6 +104,13 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "loguru",' Add-Content -Path "setup_cxfreeze.py" -Value ' "setuptools",' Add-Content -Path "setup_cxfreeze.py" -Value " ]," + Add-Content -Path "setup_cxfreeze.py" -Value " zip_include_packages=[" + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "shiboken6",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "requests",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "packaging",' + Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value " excludes=[" Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtBluetooth",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtOpenGL",' @@ -124,6 +132,9 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "tkinter",' Add-Content -Path "setup_cxfreeze.py" -Value ' "yt_dlp",' Add-Content -Path "setup_cxfreeze.py" -Value ' "unittest",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "pydoc",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "doctest",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "email",' Add-Content -Path "setup_cxfreeze.py" -Value ' "test",' Add-Content -Path "setup_cxfreeze.py" -Value ' "tests",' Add-Content -Path "setup_cxfreeze.py" -Value " ]," @@ -164,13 +175,39 @@ jobs: if (Test-Path "build\bdist.*") { Remove-Item "build\bdist.*" -Recurse -Force } if (Test-Path "dist") { Remove-Item "dist" -Recurse -Force } - # Build executable using setup script - python setup_cxfreeze.py build_exe --build-exe "dist\YTSage" - - # Remove screenshots folder to reduce build size - if (Test-Path "dist\YTSage\lib\assets\branding\screenshots") { - Remove-Item "dist\YTSage\lib\assets\branding\screenshots" -Recurse -Force - Write-Host "Removed screenshots folder from standard build" + # Build executable using setup script with extra optimization + python -OO setup_cxfreeze.py build_exe --build-exe "dist\YTSage" + + - name: Trim unnecessary files from Standard build + shell: powershell + run: | + $distDir = "dist\YTSage" + if (Test-Path $distDir) { + # Remove screenshots + if (Test-Path "$distDir\lib\assets\branding\screenshots") { + Remove-Item "$distDir\lib\assets\branding\screenshots" -Recurse -Force + Write-Host "Removed screenshots folder" + } + # Remove debug PDB files + Get-ChildItem -Path $distDir -Recurse -Filter "*.pdb" | Remove-Item -Force + Write-Host "Removed PDB debug files" + # Remove unused Qt translations (if not needed for multilingual support) + if (Test-Path "$distDir\PySide6\translations") { + Remove-Item "$distDir\PySide6\translations" -Recurse -Force + Write-Host "Removed Qt translations" + } + # Remove unused Qt plugins (based on your excludes; adjust if needed) + $unusedPlugins = @("designer", "pdf", "svg", "sql", "help", "qml", "quick", "webengine", "bluetooth", "opengl", "printsupport", "test", "xml") + foreach ($plugin in $unusedPlugins) { + if (Test-Path "$distDir\PySide6\plugins\$plugin") { + Remove-Item "$distDir\PySide6\plugins\$plugin" -Recurse -Force + Write-Host "Removed unused plugin: $plugin" + } + } + # Remove any duplicate or unnecessary DLLs (e.g., web-related) + Get-ChildItem -Path $distDir -Recurse -Filter "Qt6Web*" | Remove-Item -Force + Get-ChildItem -Path $distDir -Recurse -Filter "Qt6Pdf*" | Remove-Item -Force + Write-Host "Removed additional unnecessary Qt files" } - name: Setup FFmpeg for bundle @@ -232,13 +269,7 @@ jobs: (Get-Content "setup_cxfreeze.py") -replace 'YTSage-v\{version\}\.exe', 'YTSage-v{version}-ffmpeg.exe' | Set-Content "setup_cxfreeze_ffmpeg.py" # Build executable with FFmpeg using setup script - python setup_cxfreeze_ffmpeg.py build_exe --build-exe "dist\YTSage-FFmpeg" - - # Remove screenshots folder to reduce build size - if (Test-Path "dist\YTSage-FFmpeg\lib\assets\branding\screenshots") { - Remove-Item "dist\YTSage-FFmpeg\lib\assets\branding\screenshots" -Recurse -Force - Write-Host "Removed screenshots folder from FFmpeg build" - } + python -OO setup_cxfreeze_ffmpeg.py build_exe --build-exe "dist\YTSage-FFmpeg" # Copy FFmpeg binaries into dist folder post-build (more reliable than CLI include) # Note: ffplay.exe is excluded as it's not needed by the application @@ -257,6 +288,38 @@ jobs: } } } + + - name: Trim unnecessary files from FFmpeg build + shell: powershell + run: | + $distDir = "dist\YTSage-FFmpeg" + if (Test-Path $distDir) { + # Remove screenshots + if (Test-Path "$distDir\lib\assets\branding\screenshots") { + Remove-Item "$distDir\lib\assets\branding\screenshots" -Recurse -Force + Write-Host "Removed screenshots folder" + } + # Remove debug PDB files + Get-ChildItem -Path $distDir -Recurse -Filter "*.pdb" | Remove-Item -Force + Write-Host "Removed PDB debug files" + # Remove unused Qt translations (if not needed for multilingual support) + if (Test-Path "$distDir\PySide6\translations") { + Remove-Item "$distDir\PySide6\translations" -Recurse -Force + Write-Host "Removed Qt translations" + } + # Remove unused Qt plugins (based on your excludes; adjust if needed) + $unusedPlugins = @("designer", "pdf", "svg", "sql", "help", "qml", "quick", "webengine", "bluetooth", "opengl", "printsupport", "test", "xml") + foreach ($plugin in $unusedPlugins) { + if (Test-Path "$distDir\PySide6\plugins\$plugin") { + Remove-Item "$distDir\PySide6\plugins\$plugin" -Recurse -Force + Write-Host "Removed unused plugin: $plugin" + } + } + # Remove any duplicate or unnecessary DLLs (e.g., web-related) + Get-ChildItem -Path $distDir -Recurse -Filter "Qt6Web*" | Remove-Item -Force + Get-ChildItem -Path $distDir -Recurse -Filter "Qt6Pdf*" | Remove-Item -Force + Write-Host "Removed additional unnecessary Qt files" + } - name: Package and prepare release artifacts (ZIPs) shell: powershell From bf9e11d08f13892b7129b16e4b67b2f77613b879 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 14:41:19 +0200 Subject: [PATCH 439/568] macOS build: trim .app bundle and packaging tweaks Improve macOS CI packaging by trimming unnecessary files from the built .app and adjusting build options. Changes include: - Enable cx_Freeze silent build and run Python with -OO for bdist_mac. - Add zip_include_packages to ensure key packages are bundled inside zip distributions. - Exclude additional stdlib modules (pydoc, doctest, email) to reduce size. - New workflow step to locate the generated .app and remove screenshots, Qt translations, unused PySide6 plugins and other Qt artifacts (Qt6Web*, Qt6Pdf*), with safer path detection and logging. - Remove noisy post-build directory listings and simplify DMG handling/log messages; make .app and .dmg discovery more robust. These changes aim to produce smaller, cleaner artifacts and more reliable CI packaging for macOS builds. --- .github/workflows/build-macos.yml | 87 +++++++++++++++++++++++-------- 1 file changed, 64 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index e07755e..8ba0b6a 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -95,6 +95,7 @@ jobs: build_exe_options = dict( optimize=2, + silent=True, packages=[ "ytsage", "PySide6.QtCore", @@ -109,6 +110,13 @@ jobs: "loguru", "setuptools", ], + zip_include_packages=[ + "PySide6", + "shiboken6", + "requests", + "PIL", + "packaging", + ], excludes=[ "PySide6.QtBluetooth", "PySide6.QtOpenGL", @@ -132,6 +140,9 @@ jobs: "unittest", "test", "tests", + "pydoc", + "doctest", + "email", ], include_files=[ ("ytsage/assets/Icon", "lib/assets/Icon"), @@ -162,7 +173,6 @@ jobs: "bdist_dmg": { "volume_label": f"YTSage v{version}", "applications_shortcut": True, - # Sensible defaults; can be customized later if desired "format": "UDZO", "filesystem": "HFS+", "default_view": "icon-view", @@ -176,31 +186,67 @@ jobs: shell: bash run: | source venv/bin/activate - python setup_cxfreeze.py bdist_mac - # Locate the built .app (cx_Freeze may place it under build/ or dist/) + python -OO setup_cxfreeze.py bdist_mac + + - name: Trim unnecessary files from App bundle + shell: bash + run: | + version="${{ steps.get_version.outputs.VERSION }}" + + # Locate the built .app app_path="" - for cand in "dist/YTSage-v${VERSION}.app" "build/dist/YTSage-v${VERSION}.app" "build/YTSage-v${VERSION}.app"; do + for cand in "dist/YTSage-v${version}.app" "build/dist/YTSage-v${version}.app" "build/YTSage-v${version}.app"; do if [ -d "$cand" ]; then app_path="$cand"; break; fi done if [ -z "$app_path" ]; then app_path=$(ls -d dist/*.app build/dist/*.app build/*.app 2>/dev/null | head -n1 || true) fi - if [ -n "$app_path" ] && [ -d "$app_path/Contents/Resources/lib/assets/branding/screenshots" ]; then - rm -rf "$app_path/Contents/Resources/lib/assets/branding/screenshots" - echo "Removed screenshots folder from .app bundle at $app_path" + + if [ -n "$app_path" ]; then + echo "Processing App Bundle at: $app_path" + + # 1. Remove screenshots + if [ -d "$app_path/Contents/Resources/lib/assets/branding/screenshots" ]; then + rm -rf "$app_path/Contents/Resources/lib/assets/branding/screenshots" + echo "Removed screenshots folder" + fi + + # 2. Remove unused Qt translations + # In macOS .app, Qt libs might be in Contents/MacOS/PySide6 or similar + # Search for translations folder within the app bundle + translations=$(find "$app_path" -type d -name "translations" | grep "PySide6" || true) + if [ -n "$translations" ]; then + rm -rf "$translations" + echo "Removed Qt translations at $translations" + fi + + # 3. Remove unused Qt plugins (matching Windows logic) + plugins_dir=$(find "$app_path" -type d -name "plugins" | grep "PySide6" | head -n1 || true) + if [ -n "$plugins_dir" ]; then + echo "Cleaning plugins in $plugins_dir" + for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do + if [ -d "$plugins_dir/$plugin" ]; then + rm -rf "$plugins_dir/$plugin" + echo "Removed plugin: $plugin" + fi + done + fi + + # 4. Remove other unused components if found + find "$app_path" -name "Qt6Web*" -delete + find "$app_path" -name "Qt6Pdf*" -delete + echo "Cleaned additional Qt files" + + else + echo "Error: Could not find .app bundle to trim!" + exit 1 fi - echo "Post-bdist_mac directory listing:" - echo "-- dist --"; ls -lah dist || true - echo "-- build --"; ls -lah build || true - name: Build DMG (bdist_dmg) shell: bash run: | source venv/bin/activate python setup_cxfreeze.py bdist_dmg - echo "Post-bdist_dmg directory listing:" - echo "-- dist --"; ls -lah dist || true - echo "-- build --"; ls -lah build || true - name: Package and prepare release artifacts (.app.zip and .dmg) shell: bash @@ -209,7 +255,7 @@ jobs: echo "Preparing artifacts for version: $version" mkdir -p artifacts - # Find the .app bundle (preferring versioned name) + # Find the .app bundle app_path="" for cand in "dist/YTSage-v${version}.app" "build/dist/YTSage-v${version}.app" "build/YTSage-v${version}.app"; do if [ -d "$cand" ]; then app_path="$cand"; break; fi @@ -217,21 +263,17 @@ jobs: if [ -z "$app_path" ]; then app_path=$(ls -d dist/*.app build/dist/*.app build/*.app 2>/dev/null | head -n1 || true) fi + if [ -n "$app_path" ] && [ -d "$app_path" ]; then app_base="$(basename "$app_path")" app_parent="$(dirname "$app_path")" - # Ensure screenshots folder is not shipped - if [ -d "$app_path/Contents/Resources/lib/assets/branding/screenshots" ]; then - rm -rf "$app_path/Contents/Resources/lib/assets/branding/screenshots" - echo "Removed screenshots folder from .app bundle at $app_path" - fi (cd "$app_parent" && zip -r "${GITHUB_WORKSPACE}/artifacts/YTSage-v${version}-${ARCH_SUFFIX}.app.zip" "$app_base") echo "Created: artifacts/YTSage-v${version}-${ARCH_SUFFIX}.app.zip" else echo "Warning: .app bundle not found in dist/ or build/" fi - # Try to find the generated DMG in dist or build + # Try to find the generated DMG dmg_src="" for cand in "dist/YTSage-v${version}.dmg"; do if [ -f "$cand" ]; then dmg_src="$cand"; break; fi @@ -241,11 +283,10 @@ jobs: fi if [ -n "$dmg_src" ] && [ -f "$dmg_src" ]; then - # Rename the DMG to a consistent name in artifacts cp "$dmg_src" "artifacts/YTSage-v${version}-${ARCH_SUFFIX}.dmg" - echo "Copied DMG to artifacts from $dmg_src -> artifacts/YTSage-v${version}-${ARCH_SUFFIX}.dmg" + echo "Copied DMG to artifacts" else - echo "Warning: No DMG found in dist/ or build/" + echo "Warning: No DMG found" fi echo "Final artifacts:" From cc3a00e1e09dd170b7470a886d15932e513624da Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 14:46:37 +0200 Subject: [PATCH 440/568] Enhance Linux build packaging and cleanup Adjust build-linux CI to produce smaller, self-contained AppImages: enable silent build output, add zip_include_packages so key libs (PySide6, shiboken6, requests, PIL, packaging) are packaged, and add extra excludes (pydoc, doctest, email). Use python -OO for optimized bytecode. Expand post-build trimming to remove screenshots, Qt translations, unused PySide6 plugins and other Qt artifacts (Qt6Web*, Qt6Pdf*) with informative logging. These changes reduce package size and avoid shipping unnecessary runtime components. --- .github/workflows/build-linux.yml | 56 +++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index f06de53..1a4991d 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -109,6 +109,7 @@ jobs: build_exe_options = dict( optimize=2, + silent=True, packages=[ "ytsage", "PySide6.QtCore", @@ -123,6 +124,13 @@ jobs: "loguru", "setuptools", ], + zip_include_packages=[ + "PySide6", + "shiboken6", + "requests", + "PIL", + "packaging", + ], excludes=[ "PySide6.QtBluetooth", "PySide6.QtOpenGL", @@ -146,6 +154,9 @@ jobs: "unittest", "test", "tests", + "pydoc", + "doctest", + "email", ], include_files=include_files_list, # Bundle all dependencies - avoid system library references @@ -200,14 +211,47 @@ jobs: set -e source venv/bin/activate - # Ensure a clean build and build_exe first - python setup_cxfreeze.py build_exe + # Ensure a clean build and build_exe first with -OO + python -OO setup_cxfreeze.py build_exe - # Remove screenshots to reduce size before packaging + # Clean unnecessary files from build directory before packaging build_dir=$(ls -d build/exe.* 2>/dev/null | head -n1 || true) - if [ -n "$build_dir" ] && [ -d "$build_dir/lib/assets/branding/screenshots" ]; then - rm -rf "$build_dir/lib/assets/branding/screenshots" - echo "Removed screenshots folder from $build_dir" + + if [ -n "$build_dir" ]; then + echo "Trimming files in $build_dir..." + + # Remove screenshots + if [ -d "$build_dir/lib/assets/branding/screenshots" ]; then + rm -rf "$build_dir/lib/assets/branding/screenshots" + echo "Removed screenshots folder" + fi + + # Remove unused Qt translations + # In Linux builds, translations are often in lib/PySide6/translations or similar + translations=$(find "$build_dir" -type d -name "translations" | grep "PySide6" || true) + if [ -n "$translations" ]; then + rm -rf "$translations" + echo "Removed Qt translations at $translations" + fi + + # Remove unused Qt plugins (matching Windows logic) + plugins_dir=$(find "$build_dir" -type d -name "plugins" | grep "PySide6" | head -n1 || true) + if [ -n "$plugins_dir" ]; then + for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do + if [ -d "$plugins_dir/$plugin" ]; then + rm -rf "$plugins_dir/$plugin" + echo "Removed plugin: $plugin" + fi + done + fi + + # Remove other unused components if found + find "$build_dir" -name "Qt6Web*" -delete + find "$build_dir" -name "Qt6Pdf*" -delete + echo "Cleaned additional Qt files" + + else + echo "Warning: Build directory not found, cannot trim files" fi # Build AppImage From dab35a1a3a2f283cd84b84af208c8714408cec3b Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:04:30 +0200 Subject: [PATCH 441/568] Prune PySide6 files in Windows build workflow Refactor Windows build cleanup to use a dedicated $libDir and more aggressively prune unused PySide6/Qt files. Replaces direct $distDir references with $libDir for lib content and removes screenshots, PDBs, translations, many plugin folders, specific image/icon plugins (qpdf/qsvg/qsvgicon), platform input contexts, and common bulky Qt DLL patterns. Also removes several build tools/unused Python modules (setuptools, wheel, pkg_resources, _distutils_hack, curses, _pyrepl). Applied the same changes to both YTSage and YTSage-FFmpeg packaging steps to reduce bundle size and noise, and improved log messages for removed items. --- .github/workflows/build-windows.yml | 114 ++++++++++++++++++++++------ 1 file changed, 90 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index e656bdc..51af56a 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -182,32 +182,65 @@ jobs: shell: powershell run: | $distDir = "dist\YTSage" + $libDir = "$distDir\lib" if (Test-Path $distDir) { # Remove screenshots - if (Test-Path "$distDir\lib\assets\branding\screenshots") { - Remove-Item "$distDir\lib\assets\branding\screenshots" -Recurse -Force + if (Test-Path "$libDir\assets\branding\screenshots") { + Remove-Item "$libDir\assets\branding\screenshots" -Recurse -Force Write-Host "Removed screenshots folder" } # Remove debug PDB files Get-ChildItem -Path $distDir -Recurse -Filter "*.pdb" | Remove-Item -Force Write-Host "Removed PDB debug files" - # Remove unused Qt translations (if not needed for multilingual support) - if (Test-Path "$distDir\PySide6\translations") { - Remove-Item "$distDir\PySide6\translations" -Recurse -Force + + # Remove unused Qt translations (entire folder) + if (Test-Path "$libDir\PySide6\translations") { + Remove-Item "$libDir\PySide6\translations" -Recurse -Force Write-Host "Removed Qt translations" } + # Remove unused Qt plugins (based on your excludes; adjust if needed) + # Note: qpdf and qsvg plugins are removed specifically $unusedPlugins = @("designer", "pdf", "svg", "sql", "help", "qml", "quick", "webengine", "bluetooth", "opengl", "printsupport", "test", "xml") foreach ($plugin in $unusedPlugins) { - if (Test-Path "$distDir\PySide6\plugins\$plugin") { - Remove-Item "$distDir\PySide6\plugins\$plugin" -Recurse -Force - Write-Host "Removed unused plugin: $plugin" + if (Test-Path "$libDir\PySide6\plugins\$plugin") { + Remove-Item "$libDir\PySide6\plugins\$plugin" -Recurse -Force + Write-Host "Removed unused plugin folder: $plugin" } } - # Remove any duplicate or unnecessary DLLs (e.g., web-related) - Get-ChildItem -Path $distDir -Recurse -Filter "Qt6Web*" | Remove-Item -Force - Get-ChildItem -Path $distDir -Recurse -Filter "Qt6Pdf*" | Remove-Item -Force - Write-Host "Removed additional unnecessary Qt files" + # Explicitly remove virtualkeyboard input context if it exists + if (Test-Path "$libDir\PySide6\plugins\platforminputcontexts") { + Remove-Item "$libDir\PySide6\plugins\platforminputcontexts" -Recurse -Force + Write-Host "Removed plugin: platforminputcontexts" + } + # Explicitly remove specific image formats + foreach ($fmt in @("qpdf.dll", "qsvg.dll")) { + if (Test-Path "$libDir\PySide6\plugins\imageformats\$fmt") { + Remove-Item "$libDir\PySide6\plugins\imageformats\$fmt" -Force + Write-Host "Removed plugin: $fmt" + } + } + # Explicitly remove specific icon engines + if (Test-Path "$libDir\PySide6\plugins\iconengines\qsvgicon.dll") { + Remove-Item "$libDir\PySide6\plugins\iconengines\qsvgicon.dll" -Force + Write-Host "Removed plugin: qsvgicon.dll" + } + + # Remove any duplicate or unnecessary DLLs (e.g., Qt6Qml, Qt6Quick, Qt6OpenGL from root lib) + $bloatDlls = @("Qt6Web*", "Qt6Pdf*", "Qt6Qml*", "Qt6Quick*", "Qt6VirtualKeyboard*", "Qt6OpenGL*") + foreach ($pattern in $bloatDlls) { + Get-ChildItem -Path $libDir -Filter $pattern | Remove-Item -Force + } + Write-Host "Removed unnecessary Qt DLLs" + + # Remove build tools and unused python modules + $uselessFolders = @("setuptools", "wheel", "pkg_resources", "_distutils_hack", "curses", "_pyrepl") + foreach ($folder in $uselessFolders) { + if (Test-Path "$libDir\$folder") { + Remove-Item "$libDir\$folder" -Recurse -Force + Write-Host "Removed unused module: $folder" + } + } } - name: Setup FFmpeg for bundle @@ -293,32 +326,65 @@ jobs: shell: powershell run: | $distDir = "dist\YTSage-FFmpeg" + $libDir = "$distDir\lib" if (Test-Path $distDir) { # Remove screenshots - if (Test-Path "$distDir\lib\assets\branding\screenshots") { - Remove-Item "$distDir\lib\assets\branding\screenshots" -Recurse -Force + if (Test-Path "$libDir\assets\branding\screenshots") { + Remove-Item "$libDir\assets\branding\screenshots" -Recurse -Force Write-Host "Removed screenshots folder" } # Remove debug PDB files Get-ChildItem -Path $distDir -Recurse -Filter "*.pdb" | Remove-Item -Force Write-Host "Removed PDB debug files" - # Remove unused Qt translations (if not needed for multilingual support) - if (Test-Path "$distDir\PySide6\translations") { - Remove-Item "$distDir\PySide6\translations" -Recurse -Force + + # Remove unused Qt translations (entire folder) + if (Test-Path "$libDir\PySide6\translations") { + Remove-Item "$libDir\PySide6\translations" -Recurse -Force Write-Host "Removed Qt translations" } + # Remove unused Qt plugins (based on your excludes; adjust if needed) + # Note: qpdf and qsvg plugins are removed specifically $unusedPlugins = @("designer", "pdf", "svg", "sql", "help", "qml", "quick", "webengine", "bluetooth", "opengl", "printsupport", "test", "xml") foreach ($plugin in $unusedPlugins) { - if (Test-Path "$distDir\PySide6\plugins\$plugin") { - Remove-Item "$distDir\PySide6\plugins\$plugin" -Recurse -Force - Write-Host "Removed unused plugin: $plugin" + if (Test-Path "$libDir\PySide6\plugins\$plugin") { + Remove-Item "$libDir\PySide6\plugins\$plugin" -Recurse -Force + Write-Host "Removed unused plugin folder: $plugin" } } - # Remove any duplicate or unnecessary DLLs (e.g., web-related) - Get-ChildItem -Path $distDir -Recurse -Filter "Qt6Web*" | Remove-Item -Force - Get-ChildItem -Path $distDir -Recurse -Filter "Qt6Pdf*" | Remove-Item -Force - Write-Host "Removed additional unnecessary Qt files" + # Explicitly remove virtualkeyboard input context if it exists + if (Test-Path "$libDir\PySide6\plugins\platforminputcontexts") { + Remove-Item "$libDir\PySide6\plugins\platforminputcontexts" -Recurse -Force + Write-Host "Removed plugin: platforminputcontexts" + } + # Explicitly remove specific image formats + foreach ($fmt in @("qpdf.dll", "qsvg.dll")) { + if (Test-Path "$libDir\PySide6\plugins\imageformats\$fmt") { + Remove-Item "$libDir\PySide6\plugins\imageformats\$fmt" -Force + Write-Host "Removed plugin: $fmt" + } + } + # Explicitly remove specific icon engines + if (Test-Path "$libDir\PySide6\plugins\iconengines\qsvgicon.dll") { + Remove-Item "$libDir\PySide6\plugins\iconengines\qsvgicon.dll" -Force + Write-Host "Removed plugin: qsvgicon.dll" + } + + # Remove any duplicate or unnecessary DLLs (e.g., Qt6Qml, Qt6Quick, Qt6OpenGL from root lib) + $bloatDlls = @("Qt6Web*", "Qt6Pdf*", "Qt6Qml*", "Qt6Quick*", "Qt6VirtualKeyboard*", "Qt6OpenGL*") + foreach ($pattern in $bloatDlls) { + Get-ChildItem -Path $libDir -Filter $pattern | Remove-Item -Force + } + Write-Host "Removed unnecessary Qt DLLs" + + # Remove build tools and unused python modules + $uselessFolders = @("setuptools", "wheel", "pkg_resources", "_distutils_hack", "curses", "_pyrepl") + foreach ($folder in $uselessFolders) { + if (Test-Path "$libDir\$folder") { + Remove-Item "$libDir\$folder" -Recurse -Force + Write-Host "Removed unused module: $folder" + } + } } - name: Package and prepare release artifacts (ZIPs) From 3ea5fedfa3cc2620a80a38dbcae42c09d92b018c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:20:09 +0200 Subject: [PATCH 442/568] Remove Qt DLLs from PySide6 and suppress errors Add -ErrorAction SilentlyContinue to Get-ChildItem calls and add a check for a lib\PySide6 folder to remove matching Qt DLLs there as well. This prevents failures when no files match the patterns and ensures duplicate Qt DLLs packaged under PySide6 are cleaned up. Applied to both DLL-cleanup sections of the Windows build workflow. --- .github/workflows/build-windows.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 51af56a..42a554e 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -229,7 +229,12 @@ jobs: # Remove any duplicate or unnecessary DLLs (e.g., Qt6Qml, Qt6Quick, Qt6OpenGL from root lib) $bloatDlls = @("Qt6Web*", "Qt6Pdf*", "Qt6Qml*", "Qt6Quick*", "Qt6VirtualKeyboard*", "Qt6OpenGL*") foreach ($pattern in $bloatDlls) { - Get-ChildItem -Path $libDir -Filter $pattern | Remove-Item -Force + # Check in root lib + Get-ChildItem -Path $libDir -Filter $pattern -ErrorAction SilentlyContinue | Remove-Item -Force + # Check in PySide6 folder + if (Test-Path "$libDir\PySide6") { + Get-ChildItem -Path "$libDir\PySide6" -Filter $pattern -ErrorAction SilentlyContinue | Remove-Item -Force + } } Write-Host "Removed unnecessary Qt DLLs" @@ -373,7 +378,12 @@ jobs: # Remove any duplicate or unnecessary DLLs (e.g., Qt6Qml, Qt6Quick, Qt6OpenGL from root lib) $bloatDlls = @("Qt6Web*", "Qt6Pdf*", "Qt6Qml*", "Qt6Quick*", "Qt6VirtualKeyboard*", "Qt6OpenGL*") foreach ($pattern in $bloatDlls) { - Get-ChildItem -Path $libDir -Filter $pattern | Remove-Item -Force + # Check in root lib + Get-ChildItem -Path $libDir -Filter $pattern -ErrorAction SilentlyContinue | Remove-Item -Force + # Check in PySide6 folder + if (Test-Path "$libDir\PySide6") { + Get-ChildItem -Path "$libDir\PySide6" -Filter $pattern -ErrorAction SilentlyContinue | Remove-Item -Force + } } Write-Host "Removed unnecessary Qt DLLs" From 536594a56e01bc2173ecf4326ffcdda2951fbbdd Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:32:38 +0200 Subject: [PATCH 443/568] Improve macOS app bundle trimming script Enhance the .github workflow that trims macOS .app bundles by robustly detecting the library directory (with fallbacks) and performing deeper cleanup. Removes screenshots, Qt translations, many Qt plugin folders, specific image/icon libs, bulk Qt6 libraries, and several Python build/tool modules; adapts for macOS dylib naming. Adds logging and a warning if the lib directory cannot be determined to avoid accidental deletes. --- .github/workflows/build-macos.yml | 84 +++++++++++++++++++++---------- 1 file changed, 57 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 8ba0b6a..263a9d4 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -205,38 +205,68 @@ jobs: if [ -n "$app_path" ]; then echo "Processing App Bundle at: $app_path" - # 1. Remove screenshots - if [ -d "$app_path/Contents/Resources/lib/assets/branding/screenshots" ]; then - rm -rf "$app_path/Contents/Resources/lib/assets/branding/screenshots" + # Determine Lib directory (standard location vs customized) + # We look for 'os.py' or 'ytsage' folder to be sure + lib_dir=$(find "$app_path/Contents" -type d -name "ytsage" | head -n1 | xargs dirname) + + if [ -z "$lib_dir" ]; then + # Fallback standard cx_Freeze locations + if [ -d "$app_path/Contents/MacOS/lib" ]; then + lib_dir="$app_path/Contents/MacOS/lib" + elif [ -d "$app_path/Contents/Resources/lib" ]; then + lib_dir="$app_path/Contents/Resources/lib" + fi + fi + + echo "Detected Lib Directory: $lib_dir" + + if [ -d "$lib_dir" ]; then + # 1. Remove screenshots + rm -rf "$lib_dir/assets/branding/screenshots" echo "Removed screenshots folder" - fi - - # 2. Remove unused Qt translations - # In macOS .app, Qt libs might be in Contents/MacOS/PySide6 or similar - # Search for translations folder within the app bundle - translations=$(find "$app_path" -type d -name "translations" | grep "PySide6" || true) - if [ -n "$translations" ]; then - rm -rf "$translations" - echo "Removed Qt translations at $translations" - fi - - # 3. Remove unused Qt plugins (matching Windows logic) - plugins_dir=$(find "$app_path" -type d -name "plugins" | grep "PySide6" | head -n1 || true) - if [ -n "$plugins_dir" ]; then - echo "Cleaning plugins in $plugins_dir" + + # 2. Remove unused Qt translations + rm -rf "$lib_dir/PySide6/translations" + echo "Removed Qt translations" + + # 3. Remove unused Qt plugins + plugins_dir="$lib_dir/PySide6/plugins" for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do - if [ -d "$plugins_dir/$plugin" ]; then - rm -rf "$plugins_dir/$plugin" - echo "Removed plugin: $plugin" - fi + if [ -d "$plugins_dir/$plugin" ]; then + rm -rf "$plugins_dir/$plugin" + echo "Removed plugin folder: $plugin" + fi done + + # 3.1. Explicitly remove specific input contexts and image formats + rm -rf "$plugins_dir/platforminputcontexts" + # Note: macOS libs usually have .dylib extension or no extension in bundles, or .so for python modules + # We try removing common variants + rm -f "$plugins_dir/imageformats/libqpdf.dylib" "$plugins_dir/imageformats/libqsvg.dylib" + rm -f "$plugins_dir/imageformats/qpdf.dylib" "$plugins_dir/imageformats/qsvg.dylib" + rm -f "$plugins_dir/iconengines/libqsvgicon.dylib" "$plugins_dir/iconengines/qsvgicon.dylib" + + # 4. Remove any duplicate or unnecessary Qt Libraries (DLLs/dylibs) + # Targeting root lib and PySide6 internal lib + # Patterns match both .so, .dylib, and .framework style naming + echo "Removing bloat Qt libraries..." + find "$lib_dir" -name "Qt6Web*" -delete + find "$lib_dir" -name "Qt6Pdf*" -delete + find "$lib_dir" -name "Qt6Qml*" -delete + find "$lib_dir" -name "Qt6Quick*" -delete + find "$lib_dir" -name "Qt6VirtualKeyboard*" -delete + find "$lib_dir" -name "Qt6OpenGL*" -delete + + # 5. Remove build tools and unused python modules + for tool in setuptools wheel pkg_resources _distutils_hack curses _pyrepl; do + rm -rf "$lib_dir/$tool" + echo "Removed build tool/module: $tool" + done + + else + echo "Warning: Library directory could not be precisely determined. Skipping deep trim." fi - # 4. Remove other unused components if found - find "$app_path" -name "Qt6Web*" -delete - find "$app_path" -name "Qt6Pdf*" -delete - echo "Cleaned additional Qt files" - else echo "Error: Could not find .app bundle to trim!" exit 1 From ce4a034224063238294d85a8eb562a3201621ae4 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:40:48 +0200 Subject: [PATCH 444/568] Refactor Linux build trimming and cleanup Consolidate and harden post-build cleanup by targeting the build's lib directory (lib_dir) instead of running broad finds across build_dir. Removes screenshots, PySide6 translations, specific Qt plugins and plugin files, and various Qt6 shared libraries (Web, Pdf, Qml, Quick, VirtualKeyboard, OpenGL) to reduce bundle size. Also removes common build tools/modules (setuptools, wheel, pkg_resources, _distutils_hack, curses, _pyrepl) and adds explicit logging and a warning if lib_dir is missing. Simplifies and centralizes cleanup logic for more predictable and efficient trimming of Linux artifacts. --- .github/workflows/build-linux.yml | 73 +++++++++++++++++++------------ 1 file changed, 45 insertions(+), 28 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 1a4991d..57601af 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -219,37 +219,54 @@ jobs: if [ -n "$build_dir" ]; then echo "Trimming files in $build_dir..." + lib_dir="$build_dir/lib" - # Remove screenshots - if [ -d "$build_dir/lib/assets/branding/screenshots" ]; then - rm -rf "$build_dir/lib/assets/branding/screenshots" - echo "Removed screenshots folder" - fi - - # Remove unused Qt translations - # In Linux builds, translations are often in lib/PySide6/translations or similar - translations=$(find "$build_dir" -type d -name "translations" | grep "PySide6" || true) - if [ -n "$translations" ]; then - rm -rf "$translations" - echo "Removed Qt translations at $translations" - fi - - # Remove unused Qt plugins (matching Windows logic) - plugins_dir=$(find "$build_dir" -type d -name "plugins" | grep "PySide6" | head -n1 || true) - if [ -n "$plugins_dir" ]; then - for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do - if [ -d "$plugins_dir/$plugin" ]; then - rm -rf "$plugins_dir/$plugin" - echo "Removed plugin: $plugin" - fi + if [ -d "$lib_dir" ]; then + # 1. Remove screenshots + if [ -d "$lib_dir/assets/branding/screenshots" ]; then + rm -rf "$lib_dir/assets/branding/screenshots" + echo "Removed screenshots folder" + fi + + # 2. Remove unused Qt translations + if [ -d "$lib_dir/PySide6/translations" ]; then + rm -rf "$lib_dir/PySide6/translations" + echo "Removed Qt translations" + fi + + # 3. Remove unused Qt plugins + plugins_dir="$lib_dir/PySide6/plugins" + if [ -d "$plugins_dir" ]; then + for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do + if [ -d "$plugins_dir/$plugin" ]; then + rm -rf "$plugins_dir/$plugin" + echo "Removed plugin: $plugin" + fi + done + # Specific cleanups (input contexts, imageformats) + rm -rf "$plugins_dir/platforminputcontexts" + rm -f "$plugins_dir/imageformats/libqpdf.so" "$plugins_dir/imageformats/libqsvg.so" + rm -f "$plugins_dir/iconengines/libqsvgicon.so" + fi + + # 4. Remove bloat shared libraries (Recursively finds in lib/ and lib/PySide6/) + # Matches libQt6Qml.so.6, Qt6Qml.abi3.so, etc. + echo "Removing bloat Qt libraries..." + find "$lib_dir" -name "*Qt6Web*" -delete + find "$lib_dir" -name "*Qt6Pdf*" -delete + find "$lib_dir" -name "*Qt6Qml*" -delete + find "$lib_dir" -name "*Qt6Quick*" -delete + find "$lib_dir" -name "*Qt6VirtualKeyboard*" -delete + find "$lib_dir" -name "*Qt6OpenGL*" -delete + + # 5. Remove build tools and unused python modules + for tool in setuptools wheel pkg_resources _distutils_hack curses _pyrepl; do + rm -rf "$lib_dir/$tool" + echo "Removed build tool/module: $tool" done + else + echo "Warning: lib directory not found inside build_dir" fi - - # Remove other unused components if found - find "$build_dir" -name "Qt6Web*" -delete - find "$build_dir" -name "Qt6Pdf*" -delete - echo "Cleaned additional Qt files" - else echo "Warning: Build directory not found, cannot trim files" fi From c11a4a0280790a76c90ced6a56b347757e5e260e Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:58:23 +0200 Subject: [PATCH 445/568] Enhance macOS build lib cleanup Update the macOS build workflow to robustly locate and clean multiple library directories inside the .app bundle. Instead of a single lib path, the script now finds all 'lib' dirs containing PySide6 or ytsage and iterates over them. Cleanup expanded to handle alternate PySide6 paths (PySide6/Qt/translations, PySide6/Qt/plugins), more plugin/imageformat variants (.dylib/.so), additional Qt library name patterns (Qt6*, framework-style names) and Qt6DBus, and removal of common build tools/modules. Adds logging and a warning when no library dirs are found. --- .github/workflows/build-macos.yml | 119 ++++++++++++++++-------------- 1 file changed, 63 insertions(+), 56 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 263a9d4..a0b16e2 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -206,66 +206,73 @@ jobs: echo "Processing App Bundle at: $app_path" # Determine Lib directory (standard location vs customized) - # We look for 'os.py' or 'ytsage' folder to be sure - lib_dir=$(find "$app_path/Contents" -type d -name "ytsage" | head -n1 | xargs dirname) + # We look for all 'lib' directories that contain 'PySide6' or 'ytsage' to be thorough + # resulting in potentially multiple lib dirs to clean (e.g. MacOS/lib and Resources/lib) + lib_dirs=$(find "$app_path/Contents" -type d -name "lib" | while read -r d; do if [ -d "$d/ytsage" ] || [ -d "$d/PySide6" ]; then echo "$d"; fi; done) - if [ -z "$lib_dir" ]; then - # Fallback standard cx_Freeze locations - if [ -d "$app_path/Contents/MacOS/lib" ]; then - lib_dir="$app_path/Contents/MacOS/lib" - elif [ -d "$app_path/Contents/Resources/lib" ]; then - lib_dir="$app_path/Contents/Resources/lib" - fi + if [ -z "$lib_dirs" ]; then + echo "Warning: No valid Library directory found. Skipping deep trim." fi - echo "Detected Lib Directory: $lib_dir" - - if [ -d "$lib_dir" ]; then - # 1. Remove screenshots - rm -rf "$lib_dir/assets/branding/screenshots" - echo "Removed screenshots folder" + for lib_dir in $lib_dirs; do + echo "Processing Lib Directory: $lib_dir" - # 2. Remove unused Qt translations - rm -rf "$lib_dir/PySide6/translations" - echo "Removed Qt translations" - - # 3. Remove unused Qt plugins - plugins_dir="$lib_dir/PySide6/plugins" - for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do - if [ -d "$plugins_dir/$plugin" ]; then - rm -rf "$plugins_dir/$plugin" - echo "Removed plugin folder: $plugin" - fi - done - - # 3.1. Explicitly remove specific input contexts and image formats - rm -rf "$plugins_dir/platforminputcontexts" - # Note: macOS libs usually have .dylib extension or no extension in bundles, or .so for python modules - # We try removing common variants - rm -f "$plugins_dir/imageformats/libqpdf.dylib" "$plugins_dir/imageformats/libqsvg.dylib" - rm -f "$plugins_dir/imageformats/qpdf.dylib" "$plugins_dir/imageformats/qsvg.dylib" - rm -f "$plugins_dir/iconengines/libqsvgicon.dylib" "$plugins_dir/iconengines/qsvgicon.dylib" - - # 4. Remove any duplicate or unnecessary Qt Libraries (DLLs/dylibs) - # Targeting root lib and PySide6 internal lib - # Patterns match both .so, .dylib, and .framework style naming - echo "Removing bloat Qt libraries..." - find "$lib_dir" -name "Qt6Web*" -delete - find "$lib_dir" -name "Qt6Pdf*" -delete - find "$lib_dir" -name "Qt6Qml*" -delete - find "$lib_dir" -name "Qt6Quick*" -delete - find "$lib_dir" -name "Qt6VirtualKeyboard*" -delete - find "$lib_dir" -name "Qt6OpenGL*" -delete - - # 5. Remove build tools and unused python modules - for tool in setuptools wheel pkg_resources _distutils_hack curses _pyrepl; do - rm -rf "$lib_dir/$tool" - echo "Removed build tool/module: $tool" - done - - else - echo "Warning: Library directory could not be precisely determined. Skipping deep trim." - fi + # 1. Remove screenshots + rm -rf "$lib_dir/assets/branding/screenshots" + echo "Removed screenshots folder" + + # 2. Remove unused Qt translations (Path varies: PySide6/translations or PySide6/Qt/translations) + rm -rf "$lib_dir/PySide6/translations" + rm -rf "$lib_dir/PySide6/Qt/translations" + echo "Removed Qt translations" + + # 3. Remove unused Qt plugins + # Path varies: PySide6/plugins or PySide6/Qt/plugins + for plugins_base in "$lib_dir/PySide6/plugins" "$lib_dir/PySide6/Qt/plugins"; do + if [ -d "$plugins_base" ]; then + for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do + if [ -d "$plugins_base/$plugin" ]; then + rm -rf "$plugins_base/$plugin" + echo "Removed plugin folder: $plugin from $plugins_base" + fi + done + + # 3.1. Explicitly remove specific input contexts and image formats + rm -rf "$plugins_base/platforminputcontexts" + rm -f "$plugins_base/imageformats/libqpdf.dylib" "$plugins_base/imageformats/libqsvg.dylib" + rm -f "$plugins_base/imageformats/libqpdf.so" "$plugins_base/imageformats/libqsvg.so" # just in case + rm -f "$plugins_base/iconengines/libqsvgicon.dylib" + fi + done + + # 4. Remove any duplicate or unnecessary Qt Libraries (DLLs/dylibs/frameworks) + # On macOS, these often appear as files with no extension (e.g. 'QtQml') or .dylib + # We remove both variants and also the 'Qt6' prefixed ones just in case + echo "Removing bloat Qt libraries..." + + # Standard patterns (Linux/Windows style) + find "$lib_dir" -name "*Qt6Web*" -delete + find "$lib_dir" -name "*Qt6Pdf*" -delete + find "$lib_dir" -name "*Qt6Qml*" -delete + find "$lib_dir" -name "*Qt6Quick*" -delete + find "$lib_dir" -name "*Qt6VirtualKeyboard*" -delete + find "$lib_dir" -name "*Qt6OpenGL*" -delete + find "$lib_dir" -name "*Qt6DBus*" -delete + + # macOS Framework style (No '6' in name usually, e.g. QtQml, QtQuick) + # Be careful not to delete QtQuickWidgets if used (though usually safe if Quick is gone) + # We use known specific lists to avoid over-deleting + for bloat in QtQml QtQmlMeta QtQmlModels QtQmlWorkerScript QtQuick QtQuickControls2 QtQuickTemplates2 QtWebEngine QtWebEngineCore QtVirtualKeyboard QtVirtualKeyboardQml QtOpenGL QtOpenGLWidgets QtPdf QtPdfWidgets QtDBus; do + find "$lib_dir" -maxdepth 1 -name "$bloat" -delete + find "$lib_dir" -maxdepth 1 -name "${bloat}.*" -delete # Matches versions or extensions + done + + # 5. Remove build tools and unused python modules + for tool in setuptools wheel pkg_resources _distutils_hack curses _pyrepl; do + rm -rf "$lib_dir/$tool" + echo "Removed build tool/module: $tool" + done + done else echo "Error: Could not find .app bundle to trim!" From ac11cbd7bb994c8942dcab2f43d2f6c845f1e416 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 16:14:59 +0200 Subject: [PATCH 446/568] Simplify macOS .app lib trimming workflow Replace complex multi-dir detection with a single find+while loop to identify library dirs and verify Python lib layout (asyncio/PySide6/ytsage). Consolidate cleanup steps: recursively remove PySide6 translations, normalize plugin path detection and remove specific plugin folders/files via find, and simplify removal of unwanted Qt modules using broader find patterns. Remove some verbose checks and add a final sanity listing of remaining lib contents. These changes make the trimming more robust to different .app layouts and reduce duplicate logic. --- .github/workflows/build-macos.yml | 110 +++++++++++++----------------- 1 file changed, 47 insertions(+), 63 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index a0b16e2..4775823 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -205,75 +205,59 @@ jobs: if [ -n "$app_path" ]; then echo "Processing App Bundle at: $app_path" - # Determine Lib directory (standard location vs customized) - # We look for all 'lib' directories that contain 'PySide6' or 'ytsage' to be thorough - # resulting in potentially multiple lib dirs to clean (e.g. MacOS/lib and Resources/lib) - lib_dirs=$(find "$app_path/Contents" -type d -name "lib" | while read -r d; do if [ -d "$d/ytsage" ] || [ -d "$d/PySide6" ]; then echo "$d"; fi; done) - - if [ -z "$lib_dirs" ]; then - echo "Warning: No valid Library directory found. Skipping deep trim." - fi - - for lib_dir in $lib_dirs; do - echo "Processing Lib Directory: $lib_dir" - - # 1. Remove screenshots - rm -rf "$lib_dir/assets/branding/screenshots" - echo "Removed screenshots folder" - - # 2. Remove unused Qt translations (Path varies: PySide6/translations or PySide6/Qt/translations) - rm -rf "$lib_dir/PySide6/translations" - rm -rf "$lib_dir/PySide6/Qt/translations" - echo "Removed Qt translations" - - # 3. Remove unused Qt plugins - # Path varies: PySide6/plugins or PySide6/Qt/plugins - for plugins_base in "$lib_dir/PySide6/plugins" "$lib_dir/PySide6/Qt/plugins"; do - if [ -d "$plugins_base" ]; then + # Simplified discovery of library directories + # We search for 'lib' folders and then verify if they look like the python library folder + find "$app_path/Contents" -type d -name "lib" | while read -r lib_dir; do + # Check if this lib dir is a python library dir (contains asyncio or PySide6 or ytsage) + if [ -d "$lib_dir/asyncio" ] || [ -d "$lib_dir/PySide6" ] || [ -d "$lib_dir/ytsage" ]; then + echo "Cleaning Library Directory: $lib_dir" + + # 1. Remove screenshots + rm -rf "$lib_dir/assets/branding/screenshots" + + # 2. Remove unused Qt translations (Recursively find 'translations' folder inside PySide6) + find "$lib_dir" -type d -path "*/PySide6/*/translations" -exec rm -rf {} + 2>/dev/null || true + find "$lib_dir" -type d -path "*/PySide6/translations" -exec rm -rf {} + 2>/dev/null || true + + # 3. Remove unused Qt plugins + # Determine plugins path + plugins_path="" + if [ -d "$lib_dir/PySide6/plugins" ]; then plugins_path="$lib_dir/PySide6/plugins"; fi + if [ -d "$lib_dir/PySide6/Qt/plugins" ]; then plugins_path="$lib_dir/PySide6/Qt/plugins"; fi + + if [ -n "$plugins_path" ]; then + echo "Found plugins at: $plugins_path" for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do - if [ -d "$plugins_base/$plugin" ]; then - rm -rf "$plugins_base/$plugin" - echo "Removed plugin folder: $plugin from $plugins_base" - fi + rm -rf "$plugins_path/$plugin" done - # 3.1. Explicitly remove specific input contexts and image formats - rm -rf "$plugins_base/platforminputcontexts" - rm -f "$plugins_base/imageformats/libqpdf.dylib" "$plugins_base/imageformats/libqsvg.dylib" - rm -f "$plugins_base/imageformats/libqpdf.so" "$plugins_base/imageformats/libqsvg.so" # just in case - rm -f "$plugins_base/iconengines/libqsvgicon.dylib" + # Specific cleanups + rm -rf "$plugins_path/platforminputcontexts" + find "$plugins_path" -name "libqpdf.*" -delete + find "$plugins_path" -name "libqsvg.*" -delete + find "$plugins_path" -name "libqsvgicon.*" -delete fi - done - - # 4. Remove any duplicate or unnecessary Qt Libraries (DLLs/dylibs/frameworks) - # On macOS, these often appear as files with no extension (e.g. 'QtQml') or .dylib - # We remove both variants and also the 'Qt6' prefixed ones just in case - echo "Removing bloat Qt libraries..." - - # Standard patterns (Linux/Windows style) - find "$lib_dir" -name "*Qt6Web*" -delete - find "$lib_dir" -name "*Qt6Pdf*" -delete - find "$lib_dir" -name "*Qt6Qml*" -delete - find "$lib_dir" -name "*Qt6Quick*" -delete - find "$lib_dir" -name "*Qt6VirtualKeyboard*" -delete - find "$lib_dir" -name "*Qt6OpenGL*" -delete - find "$lib_dir" -name "*Qt6DBus*" -delete - - # macOS Framework style (No '6' in name usually, e.g. QtQml, QtQuick) - # Be careful not to delete QtQuickWidgets if used (though usually safe if Quick is gone) - # We use known specific lists to avoid over-deleting - for bloat in QtQml QtQmlMeta QtQmlModels QtQmlWorkerScript QtQuick QtQuickControls2 QtQuickTemplates2 QtWebEngine QtWebEngineCore QtVirtualKeyboard QtVirtualKeyboardQml QtOpenGL QtOpenGLWidgets QtPdf QtPdfWidgets QtDBus; do - find "$lib_dir" -maxdepth 1 -name "$bloat" -delete - find "$lib_dir" -maxdepth 1 -name "${bloat}.*" -delete # Matches versions or extensions - done - - # 5. Remove build tools and unused python modules - for tool in setuptools wheel pkg_resources _distutils_hack curses _pyrepl; do - rm -rf "$lib_dir/$tool" - echo "Removed build tool/module: $tool" - done + + # 4. Remove bloat Qt libraries / Frameworks + # Iterate specifically over unwanted Qt modules + # Matches both 'QtQml' (file) and 'QtQml.abi3.so' etc + for bloat in QtQml QtQmlMeta QtQmlModels QtQmlWorkerScript QtQuick QtQuickControls2 QtQuickTemplates2 QtWebEngine QtWebEngineCore QtVirtualKeyboard QtVirtualKeyboardQml QtOpenGL QtOpenGLWidgets QtPdf QtPdfWidgets QtDBus; do + find "$lib_dir" -maxdepth 2 -name "$bloat" -delete + find "$lib_dir" -maxdepth 2 -name "${bloat}.*" -delete + find "$lib_dir" -maxdepth 2 -name "*$bloat*" -delete + done + + # 5. Remove build tools and unused python modules + for tool in setuptools wheel pkg_resources _distutils_hack curses _pyrepl; do + rm -rf "$lib_dir/$tool" + done + fi done + # Final sanity verification + echo "Trim complete. Remaining contents of lib (first 2 levels):" + find "$app_path/Contents" -type d -name "lib" -exec ls -R {} \; | head -n 50 || true + else echo "Error: Could not find .app bundle to trim!" exit 1 From 5d9054154cdada36329b61321b60002b1350362e Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 16:28:27 +0200 Subject: [PATCH 447/568] Manually create DMG and ZIP artifacts Remove the separate bdist_dmg build step and instead package the generated .app in-place: create a .app.zip and build a UDZO .dmg using a temporary dmg_stage (copy .app, add Applications symlink, run hdiutil). Also remove the previous fallback that searched for prebuilt DMGs and change missing .app handling to error+exit. Artifacts are written to artifacts/YTSage-v${version}-${ARCH_SUFFIX}.{app.zip,dmg}. --- .github/workflows/build-macos.yml | 38 ++++++++++++------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 4775823..2237ff8 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -263,12 +263,6 @@ jobs: exit 1 fi - - name: Build DMG (bdist_dmg) - shell: bash - run: | - source venv/bin/activate - python setup_cxfreeze.py bdist_dmg - - name: Package and prepare release artifacts (.app.zip and .dmg) shell: bash run: | @@ -288,26 +282,24 @@ jobs: if [ -n "$app_path" ] && [ -d "$app_path" ]; then app_base="$(basename "$app_path")" app_parent="$(dirname "$app_path")" + + # Create ZIP (cd "$app_parent" && zip -r "${GITHUB_WORKSPACE}/artifacts/YTSage-v${version}-${ARCH_SUFFIX}.app.zip" "$app_base") echo "Created: artifacts/YTSage-v${version}-${ARCH_SUFFIX}.app.zip" + + # Create DMG (Manual) + echo "Creating DMG from $app_path..." + mkdir -p dmg_stage + cp -R "$app_path" "dmg_stage/" + ln -s /Applications "dmg_stage/Applications" + + hdiutil create -volname "YTSage v${version}" -srcfolder "dmg_stage" -ov -format UDZO "artifacts/YTSage-v${version}-${ARCH_SUFFIX}.dmg" + echo "Created: artifacts/YTSage-v${version}-${ARCH_SUFFIX}.dmg" + + rm -rf dmg_stage else - echo "Warning: .app bundle not found in dist/ or build/" - fi - - # Try to find the generated DMG - dmg_src="" - for cand in "dist/YTSage-v${version}.dmg"; do - if [ -f "$cand" ]; then dmg_src="$cand"; break; fi - done - if [ -z "$dmg_src" ]; then - dmg_src=$(ls dist/*.dmg build/*.dmg build/dist/*.dmg 2>/dev/null | head -n1 || true) - fi - - if [ -n "$dmg_src" ] && [ -f "$dmg_src" ]; then - cp "$dmg_src" "artifacts/YTSage-v${version}-${ARCH_SUFFIX}.dmg" - echo "Copied DMG to artifacts" - else - echo "Warning: No DMG found" + echo "Error: .app bundle not found in dist/ or build/" + exit 1 fi echo "Final artifacts:" From ad63cdcca13cf1b5cdff25ad37b2af19492c05d7 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 16:44:51 +0200 Subject: [PATCH 448/568] Build AppImage manually in CI workflow Replace the cx_Freeze bdist_appimage step with an explicit manual AppImage build to avoid cx_Freeze rebuilding and untrimming artifacts. The workflow now downloads appimagetool, prepares an AppDir (AppDir/usr/bin), copies the trimmed build contents (preserving cx_Freeze relative paths), installs desktop/icon metadata, creates an AppRun symlink, and runs appimagetool with ARCH=x86_64 and --appimage-extract-and-run to avoid FUSE issues in CI. The rest of the job (e.g. RPM build) remains unchanged. --- .github/workflows/build-linux.yml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 57601af..efb1737 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -271,8 +271,31 @@ jobs: echo "Warning: Build directory not found, cannot trim files" fi - # Build AppImage - python setup_cxfreeze.py bdist_appimage + # Build AppImage manually to avoid cx_Freeze rebuilding (and untrimming) the artifacts + echo "Creating AppImage manually..." + mkdir -p dist + + # Download appimagetool + wget -q -O appimagetool https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage + chmod +x appimagetool + + # Setup AppDir structure + rm -rf AppDir + mkdir -p AppDir/usr/bin + + # Copy trimmed build content (preserving relative paths for cx_Freeze libs) + cp -r "$build_dir"/* AppDir/usr/bin/ + + # Setup metadata + cp ytsage.desktop AppDir/ + cp branding/icons/icon.png AppDir/ytsage.png + + # Create AppRun symlink + ln -s usr/bin/ytsage AppDir/AppRun + + # Build AppImage (using --appimage-extract-and-run to avoid FUSE issues in CI) + # We explicitly set ARCH for appimagetool + ARCH=x86_64 ./appimagetool --appimage-extract-and-run AppDir "dist/ytsage-v${version}.AppImage" # Build RPM manually with proper spec file version="${{ steps.get_version.outputs.VERSION }}" From cfccbceb8e33e1dd3a025bb88b9bb8502dee229d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 17:01:25 +0200 Subject: [PATCH 449/568] Adjust AppImage AppDir layout and AppRun script Update the Linux CI AppImage build to copy the cx_Freeze output directly into AppDir root (so 'lib' sits next to the 'ytsage' binary) to avoid ModuleNotFoundError: encodings. Fix the .desktop Exec path, add .DirIcon, and replace the previous symlink with an AppRun script that sets LD_LIBRARY_PATH and execs the bundled binary. --- .github/workflows/build-linux.yml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index efb1737..0811f77 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -279,19 +279,31 @@ jobs: wget -q -O appimagetool https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage chmod +x appimagetool - # Setup AppDir structure + # Setup AppDir structure (Root layout matches cx_Freeze build output exactly) rm -rf AppDir - mkdir -p AppDir/usr/bin + mkdir -p AppDir - # Copy trimmed build content (preserving relative paths for cx_Freeze libs) - cp -r "$build_dir"/* AppDir/usr/bin/ + # Copy trimmed build content DIRECTLY to AppDir root + # This keeps 'lib' adjacent to 'ytsage', preventing 'ModuleNotFoundError: encodings' + cp -r "$build_dir"/* AppDir/ # Setup metadata cp ytsage.desktop AppDir/ + # Fix Exec path for AppImage context (binary is in root, not /usr/bin) + sed -i 's|Exec=/usr/bin/ytsage|Exec=ytsage|g' AppDir/ytsage.desktop cp branding/icons/icon.png AppDir/ytsage.png + # .DirIcon for file managers + cp branding/icons/icon.png AppDir/.DirIcon - # Create AppRun symlink - ln -s usr/bin/ytsage AppDir/AppRun + # Create AppRun as a script to correctly set environment + cat > AppDir/AppRun <<'APPRUN' + #!/bin/sh + SELF=$(readlink -f "$0") + HERE=$(dirname "$SELF") + export LD_LIBRARY_PATH="$HERE/lib:$LD_LIBRARY_PATH" + exec "$HERE/ytsage" "$@" + APPRUN + chmod +x AppDir/AppRun # Build AppImage (using --appimage-extract-and-run to avoid FUSE issues in CI) # We explicitly set ARCH for appimagetool From 030b37c50590226824e84203f95fb474fedd5d34 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 17:19:44 +0200 Subject: [PATCH 450/568] Adjust PySide6 components and plugin cleanup Add PySide6.QtDBus and PySide6.QtSvg to the list of required modules and remove PySide6.QtSvg from the secondary module list. Stop removing the svg plugin, platforminputcontexts and svg-related image/icon libraries during the cleanup pass (only libqpdf.so is still removed). These changes ensure QtSvg and D-Bus components are preserved in the Linux build and prevent stripping SVG-related functionality. --- .github/workflows/build-linux.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 0811f77..489c5be 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -117,6 +117,8 @@ jobs: "PySide6.QtWidgets", "PySide6.QtMultimedia", "PySide6.QtNetwork", + "PySide6.QtDBus", + "PySide6.QtSvg", "requests", "PIL", "packaging", @@ -135,7 +137,6 @@ jobs: "PySide6.QtBluetooth", "PySide6.QtOpenGL", "PySide6.QtPrintSupport", - "PySide6.QtSvg", "PySide6.QtTest", "PySide6.QtXml", "PySide6.QtSql", @@ -237,16 +238,14 @@ jobs: # 3. Remove unused Qt plugins plugins_dir="$lib_dir/PySide6/plugins" if [ -d "$plugins_dir" ]; then - for plugin in designer pdf svg sql help qml quick webengine bluetooth opengl printsupport test xml; do + for plugin in designer pdf sql help qml quick webengine bluetooth opengl printsupport test xml; do if [ -d "$plugins_dir/$plugin" ]; then rm -rf "$plugins_dir/$plugin" echo "Removed plugin: $plugin" fi done - # Specific cleanups (input contexts, imageformats) - rm -rf "$plugins_dir/platforminputcontexts" - rm -f "$plugins_dir/imageformats/libqpdf.so" "$plugins_dir/imageformats/libqsvg.so" - rm -f "$plugins_dir/iconengines/libqsvgicon.so" + # Specific cleanups (imageformats) + rm -f "$plugins_dir/imageformats/libqpdf.so" fi # 4. Remove bloat shared libraries (Recursively finds in lib/ and lib/PySide6/) From b776b3efa94e1b3b0248127ca0bcdb3ea61d6bb3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 17:41:54 +0200 Subject: [PATCH 451/568] Keep QtDBus and related plugins in macOS build Add PySide6.QtDBus to the list of included PySide6 modules and stop removing DBus-related artifacts during the macOS packaging step. The changes remove deletions of the platforminputcontexts plugin and libqpdf/libqsvg/libqsvgicon files, and remove QtDBus from the list of Qt modules treated as bloat. This preserves D-Bus support and related SVG/PDF rendering plugins required at runtime. --- .github/workflows/build-macos.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index 2237ff8..9ad8988 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -103,6 +103,7 @@ jobs: "PySide6.QtWidgets", "PySide6.QtMultimedia", "PySide6.QtNetwork", + "PySide6.QtDBus", "requests", "PIL", "packaging", @@ -232,16 +233,13 @@ jobs: done # Specific cleanups - rm -rf "$plugins_path/platforminputcontexts" find "$plugins_path" -name "libqpdf.*" -delete - find "$plugins_path" -name "libqsvg.*" -delete - find "$plugins_path" -name "libqsvgicon.*" -delete fi # 4. Remove bloat Qt libraries / Frameworks # Iterate specifically over unwanted Qt modules # Matches both 'QtQml' (file) and 'QtQml.abi3.so' etc - for bloat in QtQml QtQmlMeta QtQmlModels QtQmlWorkerScript QtQuick QtQuickControls2 QtQuickTemplates2 QtWebEngine QtWebEngineCore QtVirtualKeyboard QtVirtualKeyboardQml QtOpenGL QtOpenGLWidgets QtPdf QtPdfWidgets QtDBus; do + for bloat in QtQml QtQmlMeta QtQmlModels QtQmlWorkerScript QtQuick QtQuickControls2 QtQuickTemplates2 QtWebEngine QtWebEngineCore QtVirtualKeyboard QtVirtualKeyboardQml QtOpenGL QtOpenGLWidgets QtPdf QtPdfWidgets; do find "$lib_dir" -maxdepth 2 -name "$bloat" -delete find "$lib_dir" -maxdepth 2 -name "${bloat}.*" -delete find "$lib_dir" -maxdepth 2 -name "*$bloat*" -delete From 7e57cd6e46a05cf146fe953fb657245fce8d277a Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 18:33:41 +0200 Subject: [PATCH 452/568] Revert recent changes back to sync with beta branch This reverts commit 1e5157bbadd87bcd9a070cd0162bec487e29799d. --- .github/workflows/build-linux.yml | 38 ++++++++++++----------------- .github/workflows/build-macos.yml | 32 ++++++++++-------------- .github/workflows/build-windows.yml | 31 +++++++++-------------- 3 files changed, 41 insertions(+), 60 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index f06de53..bf7182f 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -49,7 +49,7 @@ jobs: path: | venv ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- @@ -67,7 +67,7 @@ jobs: python -m venv venv source venv/bin/activate python -m pip install --upgrade pip - pip install --no-cache-dir . + pip install --no-cache-dir -r requirements.txt pip install --no-cache-dir cx_Freeze - name: Prepare build variables @@ -82,13 +82,6 @@ jobs: - name: Create cx_Freeze setup script (Linux) shell: bash run: | - # Create entry point script - cat > ytsage_entry.py <<'ENTRY' - from ytsage.main import main - if __name__ == "__main__": - main() - ENTRY - cat > setup_cxfreeze.py <<'PY' import os import sys @@ -99,32 +92,32 @@ jobs: # Prepare include_files list include_files_list = [ - ("ytsage/assets/Icon", "lib/assets/Icon"), - ("ytsage/assets/sound", "lib/assets/sound"), - ("ytsage/languages", "lib/languages"), - ("branding/icons", "lib/assets/branding/icons"), + ("src", "src"), + ("assets/branding/icons", "lib/assets/branding/icons"), + ("assets/Icon", "lib/assets/Icon"), + ("assets/sound", "lib/assets/sound"), + ("languages", "lib/languages"), ("ytsage.desktop", "share/applications/ytsage.desktop"), - ("branding/icons/icon.png", "share/pixmaps/ytsage.png"), + ("assets/branding/icons/icon.png", "share/pixmaps/ytsage.png"), ] build_exe_options = dict( optimize=2, packages=[ - "ytsage", "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", - "PySide6.QtMultimedia", - "PySide6.QtNetwork", "requests", "PIL", "packaging", "markdown", + "pyglet", "loguru", "setuptools", ], excludes=[ "PySide6.QtBluetooth", + "PySide6.QtNetwork", "PySide6.QtOpenGL", "PySide6.QtPrintSupport", "PySide6.QtSvg", @@ -132,6 +125,7 @@ jobs: "PySide6.QtXml", "PySide6.QtSql", "PySide6.QtHelp", + "PySide6.QtMultimedia", "PySide6.QtQml", "PySide6.QtQuick", "PySide6.QtWebEngineCore", @@ -157,9 +151,9 @@ jobs: executables = [ Executable( - script="ytsage_entry.py", + script="main.py", target_name="ytsage", - icon="branding/icons/icon.png", + icon="assets/branding/icons/icon.png", ) ] @@ -263,7 +257,7 @@ jobs: # Install desktop file and icon install -m 0644 ${workspace_root}/ytsage.desktop %{buildroot}/usr/share/applications/ytsage.desktop - install -m 0644 ${workspace_root}/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png + install -m 0644 ${workspace_root}/assets/branding/icons/icon.png %{buildroot}/usr/share/pixmaps/ytsage.png %files /opt/ytsage @@ -343,7 +337,7 @@ jobs: # Desktop file and icon install -m 0644 ytsage.desktop "$pkgroot/usr/share/applications/ytsage.desktop" - install -m 0644 branding/icons/icon.png "$pkgroot/usr/share/pixmaps/ytsage.png" + install -m 0644 assets/branding/icons/icon.png "$pkgroot/usr/share/pixmaps/ytsage.png" # Control file cat > "$pkgroot/DEBIAN/control" < ytsage_entry.py <<'ENTRY' - from ytsage.main import main - if __name__ == "__main__": - main() - ENTRY - cat > setup_cxfreeze.py <<'PY' import os from cx_Freeze import setup, Executable @@ -96,21 +89,20 @@ jobs: build_exe_options = dict( optimize=2, packages=[ - "ytsage", "PySide6.QtCore", "PySide6.QtGui", "PySide6.QtWidgets", - "PySide6.QtMultimedia", - "PySide6.QtNetwork", "requests", "PIL", "packaging", "markdown", + "pyglet", "loguru", "setuptools", ], excludes=[ "PySide6.QtBluetooth", + "PySide6.QtNetwork", "PySide6.QtOpenGL", "PySide6.QtPrintSupport", "PySide6.QtSvg", @@ -118,6 +110,7 @@ jobs: "PySide6.QtXml", "PySide6.QtSql", "PySide6.QtHelp", + "PySide6.QtMultimedia", "PySide6.QtQml", "PySide6.QtQuick", "PySide6.QtWebEngineCore", @@ -134,18 +127,19 @@ jobs: "tests", ], include_files=[ - ("ytsage/assets/Icon", "lib/assets/Icon"), - ("ytsage/assets/sound", "lib/assets/sound"), - ("ytsage/languages", "lib/languages"), - ("branding/icons", "lib/assets/branding/icons"), + ("src", "src"), + ("assets/branding/icons", "lib/assets/branding/icons"), + ("assets/Icon", "lib/assets/Icon"), + ("assets/sound", "lib/assets/sound"), + ("languages", "lib/languages"), ], ) executables = [ Executable( - script="ytsage_entry.py", + script="main.py", target_name=f"YTSage-v{version}", - icon="branding/icons/icon.icns", + icon="assets/branding/icons/icon.icns", ) ] @@ -156,7 +150,7 @@ jobs: options={ "build_exe": build_exe_options, "bdist_mac": { - "iconfile": "branding/icons/icon.icns", + "iconfile": "assets/branding/icons/icon.icns", "bundle_name": f"YTSage-v{version}", }, "bdist_dmg": { diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index ca70cbc..b64a4b3 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -49,7 +49,7 @@ jobs: path: | venv ~\AppData\Local\pip\Cache - key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }} + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- @@ -59,7 +59,7 @@ jobs: python -m venv venv .\venv\Scripts\Activate.ps1 python -m pip install --upgrade pip - pip install --no-cache-dir . + pip install --no-cache-dir -r requirements.txt pip install --no-cache-dir cx_Freeze - name: Prepare build variables @@ -72,14 +72,6 @@ jobs: - name: Create cx_Freeze setup script shell: powershell run: | - # Create entry point script - $entryContent = @' - from ytsage.main import main - if __name__ == "__main__": - main() - '@ - Set-Content -Path "ytsage_entry.py" -Value $entryContent - # Create setup script for cx_Freeze New-Item -Path "setup_cxfreeze.py" -ItemType File -Force Add-Content -Path "setup_cxfreeze.py" -Value "import os" @@ -90,21 +82,20 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value "build_exe_options = dict(" Add-Content -Path "setup_cxfreeze.py" -Value " optimize=2," Add-Content -Path "setup_cxfreeze.py" -Value " packages=[" - Add-Content -Path "setup_cxfreeze.py" -Value ' "ytsage",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtCore",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtGui",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWidgets",' - Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' - Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtNetwork",' Add-Content -Path "setup_cxfreeze.py" -Value ' "requests",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PIL",' Add-Content -Path "setup_cxfreeze.py" -Value ' "packaging",' Add-Content -Path "setup_cxfreeze.py" -Value ' "markdown",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "pyglet",' Add-Content -Path "setup_cxfreeze.py" -Value ' "loguru",' Add-Content -Path "setup_cxfreeze.py" -Value ' "setuptools",' Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value " excludes=[" Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtBluetooth",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtNetwork",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtOpenGL",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtPrintSupport",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSvg",' @@ -112,6 +103,7 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtXml",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtSql",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtHelp",' + Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtMultimedia",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQml",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtQuick",' Add-Content -Path "setup_cxfreeze.py" -Value ' "PySide6.QtWebEngineCore",' @@ -128,19 +120,20 @@ jobs: Add-Content -Path "setup_cxfreeze.py" -Value ' "tests",' Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value " include_files=[" - Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/assets/Icon", "lib/assets/Icon"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/assets/sound", "lib/assets/sound"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("ytsage/languages", "lib/languages"),' - Add-Content -Path "setup_cxfreeze.py" -Value ' ("branding/icons", "lib/assets/branding/icons"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("src", "src"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/branding/icons", "lib/assets/branding/icons"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/Icon", "lib/assets/Icon"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("assets/sound", "lib/assets/sound"),' + Add-Content -Path "setup_cxfreeze.py" -Value ' ("languages", "lib/languages"),' Add-Content -Path "setup_cxfreeze.py" -Value " ]," Add-Content -Path "setup_cxfreeze.py" -Value ")" Add-Content -Path "setup_cxfreeze.py" -Value "" Add-Content -Path "setup_cxfreeze.py" -Value "executables = [" Add-Content -Path "setup_cxfreeze.py" -Value " Executable(" - Add-Content -Path "setup_cxfreeze.py" -Value ' script="ytsage_entry.py",' + Add-Content -Path "setup_cxfreeze.py" -Value ' script="main.py",' Add-Content -Path "setup_cxfreeze.py" -Value ' target_name=f"YTSage-v{version}.exe",' Add-Content -Path "setup_cxfreeze.py" -Value ' base="gui",' - Add-Content -Path "setup_cxfreeze.py" -Value ' icon="branding/icons/YTSage.ico",' + Add-Content -Path "setup_cxfreeze.py" -Value ' icon="assets/branding/icons/YTSage.ico",' Add-Content -Path "setup_cxfreeze.py" -Value " )" Add-Content -Path "setup_cxfreeze.py" -Value "]" Add-Content -Path "setup_cxfreeze.py" -Value "" From 4f5e30e6cf71f584081cd19bb7d88b679272d9de Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 18:41:39 +0200 Subject: [PATCH 453/568] Stream Deno upgrade output and add GUI thread Add streaming progress support to Deno upgrades and hook it into the GUI. upgrade_deno() now accepts an optional progress_callback and uses subprocess.Popen to read stdout line-by-line (line-buffered, utf-8, errors replaced), collecting output and invoking the callback as lines arrive. Added DenoUpdateThread (QThread) with finished/progress/error signals and replaced the previous background thread usage in the updater UI with this QThread. GUI slots strip ANSI escapes, truncate long messages, and update status text; buttons are re-enabled on finish/error. Improved logging and error handling for upgrade failures. --- ytsage/core/ytsage_deno.py | 42 +++++++++--- .../ytsage_dialogs_updater.py | 68 ++++++++++++++----- 2 files changed, 82 insertions(+), 28 deletions(-) diff --git a/ytsage/core/ytsage_deno.py b/ytsage/core/ytsage_deno.py index 2e5edc4..e18c5a9 100644 --- a/ytsage/core/ytsage_deno.py +++ b/ytsage/core/ytsage_deno.py @@ -683,10 +683,13 @@ def compare_deno_versions(current: str, latest: str) -> bool: return False -def upgrade_deno() -> tuple[bool, str]: +def upgrade_deno(progress_callback=None) -> tuple[bool, str]: """ Upgrade Deno to the latest version using 'deno upgrade' command. + Args: + progress_callback: Optional function to call with output lines for progress tracking + Returns: tuple: (success: bool, output: str) - Success status and command output """ @@ -700,23 +703,42 @@ def upgrade_deno() -> tuple[bool, str]: logger.info(f"Upgrading Deno using: {deno_path}") - # Run deno upgrade command - result = subprocess.run( + # Run deno upgrade command with output capturing + process = subprocess.Popen( [str(deno_path), "upgrade"], - capture_output=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, text=True, - timeout=300, # 5 minutes timeout - creationflags=SUBPROCESS_CREATIONFLAGS + creationflags=SUBPROCESS_CREATIONFLAGS, + bufsize=1, # Line buffered + encoding='utf-8', + errors='replace' ) - output = result.stdout + result.stderr + full_output = [] - if result.returncode == 0: + # Read output line by line as it is generated + while True: + line = process.stdout.readline() + if not line and process.poll() is not None: + break + + if line: + line_str = line.strip() + if line_str: + full_output.append(line_str) + logger.debug(f"Deno upgrade output: {line_str}") + if progress_callback: + progress_callback(line_str) + + return_code = process.poll() + output = "\n".join(full_output) + + if return_code == 0: logger.info("Deno upgrade successful") - logger.debug(f"Upgrade output: {output}") return True, output else: - logger.error(f"Deno upgrade failed with code {result.returncode}") + logger.error(f"Deno upgrade failed with code {return_code}") logger.error(f"Output: {output}") return False, output diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py index e73a2e8..39a29c7 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py @@ -183,6 +183,21 @@ class DenoCheckThread(QThread): self.error.emit(str(e)) +class DenoUpdateThread(QThread): + finished = Signal(bool, str) + progress = Signal(str) + error = Signal(str) + + def run(self): + try: + success, output = upgrade_deno(progress_callback=self.progress.emit) + self.finished.emit(success, output) + except Exception as e: + logger.exception(f"Error updating Deno: {e}") + self.error.emit(str(e)) + + + class UpdaterTabWidget(QWidget): """Widget for the Updater tab in Custom Options dialog.""" @@ -930,24 +945,41 @@ class UpdaterTabWidget(QWidget): "background-color: #2a2d36; border-radius: 4px; margin: 5px 0;" ) - # Run update in background thread - def update_thread(): - try: - success, output = upgrade_deno() - - # Update UI in main thread - self.deno_check_button.setEnabled(True) - self.deno_update_button.setEnabled(True) - self._handle_deno_update_result(success, output) - - except Exception as e: - logger.exception(f"Error updating Deno: {e}") - self.deno_check_button.setEnabled(True) - self.deno_update_button.setEnabled(True) - self._handle_deno_update_result(False, str(e)) - - thread = threading.Thread(target=update_thread, daemon=True) - thread.start() + # Use QThread for updates with progress reporting + self.deno_update_thread = DenoUpdateThread() + self.deno_update_thread.progress.connect(self._on_deno_update_progress) + self.deno_update_thread.finished.connect(self._on_deno_update_finished) + self.deno_update_thread.error.connect(self._on_deno_update_error) + self.deno_update_thread.start() + + @Slot(str) + def _on_deno_update_progress(self, message: str) -> None: + """Handle Deno update progress messages.""" + # Clean up message for display + # Strip ANSI escape codes (colors) + ansi_escape = re.compile(r'\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])') + display_msg = ansi_escape.sub('', message).strip() + + if not display_msg: + return + + # If message is too long, truncate it + if len(display_msg) > 70: + display_msg = display_msg[:67] + "..." + + self.deno_status_label.setText(display_msg) + + @Slot(bool, str) + def _on_deno_update_finished(self, success: bool, output: str) -> None: + self.deno_check_button.setEnabled(True) + self.deno_update_button.setEnabled(True) + self._handle_deno_update_result(success, output) + + @Slot(str) + def _on_deno_update_error(self, error: str) -> None: + self.deno_check_button.setEnabled(True) + self.deno_update_button.setEnabled(True) + self._handle_deno_update_result(False, error) def _handle_deno_update_result(self, success: bool, output: str) -> None: """Handle Deno update completion.""" From 0b0e3add3c37030f47f9356abc605c5cff227ed0 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 18:51:05 +0200 Subject: [PATCH 454/568] Add Deno integration check and system info thread Introduce check_ytdlp_deno_integration() in ytsage_yt_dlp.py to detect Deno integration by running `yt-dlp --verbose` and scanning debug output for JS runtimes containing "deno" (with timeout and logging/fallback). Add SystemInfoThread (QThread) in ytsage_dialogs_base.py to collect yt-dlp, ffmpeg and deno presence, versions, paths, cache timestamps and integration status in the background, emitting the gathered info via info_ready. AboutDialog now starts the thread in update_system_info() and populates the UI asynchronously via _populate_system_info(), showing a small "+ yt-dlp" integration indicator next to the Deno status when detected. Refactors usage of version/cache lookups to use the thread-provided info dictionary. --- ytsage/core/ytsage_yt_dlp.py | 40 ++++++++ .../ytsage_gui_dialogs/ytsage_dialogs_base.py | 93 ++++++++++++++----- 2 files changed, 112 insertions(+), 21 deletions(-) diff --git a/ytsage/core/ytsage_yt_dlp.py b/ytsage/core/ytsage_yt_dlp.py index 06efdb7..e9902c3 100644 --- a/ytsage/core/ytsage_yt_dlp.py +++ b/ytsage/core/ytsage_yt_dlp.py @@ -712,3 +712,43 @@ def setup_ytdlp(parent_widget=None): # User cancelled or setup failed, return the fallback command logger.debug("Returning fallback command 'yt-dlp'") return "yt-dlp" + + +def check_ytdlp_deno_integration() -> bool: + """ + Check if yt-dlp is integrated with Deno by running 'yt-dlp --verbose'. + Returns: + bool: True if Deno is detected in JS runtimes, False otherwise + """ + try: + ytdlp_path = get_yt_dlp_path() + if not ytdlp_path or ytdlp_path == "yt-dlp": + return False + + # Run yt-dlp --verbose to check JS runtimes + # We use a dummy URL or just --verbose with no URL (which might error but should print debug info) + # However, yt-dlp might not print debug info if no URL is provided and it errors out immediately with "usage". + # But per user example: "yt-dlp.exe: error: You must provide at least one URL." comes AFTER debug info. + + result = subprocess.run( + [str(ytdlp_path), "--verbose"], + capture_output=True, + text=True, + timeout=10, + creationflags=SUBPROCESS_CREATIONFLAGS + ) + + # Check stderr for "[debug] JS runtimes: deno" + output = result.stderr + if "[debug] JS runtimes:" in output and "deno" in output: + # Find the line + for line in output.splitlines(): + if "[debug] JS runtimes:" in line and "deno" in line: + logger.info(f"Deno integration detected: {line.strip()}") + return True + + return False + + except Exception as e: + logger.warning(f"Failed to check yt-dlp Deno integration: {e}") + return False diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index 1f5ad26..6ed900c 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -24,10 +24,55 @@ from ...utils.ytsage_localization import _ from ...core.ytsage_ffmpeg import get_ffmpeg_path from ...core.ytsage_utils import _version_cache, check_ffmpeg, get_ffmpeg_version, get_ytdlp_version, get_deno_version, refresh_version_cache -from ...core.ytsage_yt_dlp import check_ytdlp_installed, get_yt_dlp_path +from ...core.ytsage_yt_dlp import check_ytdlp_installed, get_yt_dlp_path, check_ytdlp_deno_integration from ...core.ytsage_deno import check_deno_installed, get_deno_path +class SystemInfoThread(QThread): + """Background thread to gather system information.""" + info_ready = Signal(dict) + + def run(self): + info = {} + + # yt-dlp Status + ytdlp_found = check_ytdlp_installed() + info['ytdlp_found'] = ytdlp_found + info['ytdlp_version'] = get_ytdlp_version() + info['ytdlp_path'] = get_yt_dlp_path() if ytdlp_found else None + + # yt-dlp cache status + ytdlp_cache = _version_cache.get("ytdlp", {}) + info['ytdlp_last_check'] = ytdlp_cache.get("last_check", 0) + + # FFmpeg Status + ffmpeg_found = check_ffmpeg() + info['ffmpeg_found'] = ffmpeg_found + info['ffmpeg_version'] = get_ffmpeg_version() if ffmpeg_found else _('about.not_available') + info['ffmpeg_path'] = get_ffmpeg_path() if ffmpeg_found else None + + # FFmpeg cache status + ffmpeg_cache = _version_cache.get("ffmpeg", {}) + info['ffmpeg_last_check'] = ffmpeg_cache.get("last_check", 0) + + # Deno Status + deno_found = check_deno_installed() + info['deno_found'] = deno_found + info['deno_version'] = get_deno_version() if deno_found else _('about.not_available') + info['deno_path'] = get_deno_path() if deno_found else None + + # Deno cache status + deno_cache = _version_cache.get("deno", {}) + info['deno_last_check'] = deno_cache.get("last_check", 0) + + # Check integration with yt-dlp if both are present + info['integration_status'] = False + if deno_found and ytdlp_found: + info['integration_status'] = check_ytdlp_deno_integration() + + self.info_ready.emit(info) + + class LogWindow(QDialog): def __init__(self, parent=None) -> None: super().__init__(parent) @@ -378,7 +423,13 @@ class AboutDialog(QDialog): return item_widget def update_system_info(self) -> None: - """Update the system information display with compact layout.""" + """Start background thread to gather system info.""" + self.info_thread = SystemInfoThread() + self.info_thread.info_ready.connect(self._populate_system_info) + self.info_thread.start() + + def _populate_system_info(self, info: dict) -> None: + """Populate UI with gathered info.""" # Clear existing items for i in reversed(range(self.status_container.count())): child = self.status_container.itemAt(i).widget() @@ -386,19 +437,18 @@ class AboutDialog(QDialog): child.deleteLater() # yt-dlp Status - compact version with path - ytdlp_found = check_ytdlp_installed() + ytdlp_found = info['ytdlp_found'] ytdlp_status_text = ( f"{_('about.detected')}" if ytdlp_found else f"{_('about.missing')}" ) - ytdlp_version = get_ytdlp_version() + ytdlp_version = info['ytdlp_version'] # Get yt-dlp path - ytdlp_path = get_yt_dlp_path() if ytdlp_found else None + ytdlp_path = info['ytdlp_path'] ytdlp_path_text = ytdlp_path if ytdlp_path and ytdlp_path != "yt-dlp" else None # Simplified cache status - ytdlp_cache = _version_cache.get("ytdlp", {}) - last_check = ytdlp_cache.get("last_check", 0) + last_check = info['ytdlp_last_check'] cache_status = "" if last_check > 0: cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") @@ -414,23 +464,19 @@ class AboutDialog(QDialog): self.status_container.addWidget(ytdlp_item) # FFmpeg Status - compact version with path - ffmpeg_found = check_ffmpeg() + ffmpeg_found = info['ffmpeg_found'] ffmpeg_status_text = ( f"{_('about.detected')}" if ffmpeg_found else f"{_('about.missing')}" ) - ffmpeg_version = get_ffmpeg_version() if ffmpeg_found else _('about.not_available') + ffmpeg_version = info['ffmpeg_version'] # Get FFmpeg path - ffmpeg_path_text = None - if ffmpeg_found: - ffmpeg_path = get_ffmpeg_path() - ffmpeg_path_text = ffmpeg_path if ffmpeg_path else None + ffmpeg_path_text = info['ffmpeg_path'] # Simplified cache status for FFmpeg - ffmpeg_cache = _version_cache.get("ffmpeg", {}) - last_check = ffmpeg_cache.get("last_check", 0) + last_check = info['ffmpeg_last_check'] cache_status = "" if last_check > 0 and ffmpeg_found: cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") @@ -446,16 +492,16 @@ class AboutDialog(QDialog): self.status_container.addWidget(ffmpeg_item) # Deno Status - compact version with path (only show path if in app bin directory) - deno_found = check_deno_installed() + deno_found = info['deno_found'] deno_status_text = ( f"{_('about.detected')}" if deno_found else f"{_('about.missing')}" ) - deno_version = get_deno_version() if deno_found else _('about.not_available') + deno_version = info['deno_version'] # Get Deno path - only show if in app bin directory deno_path_text = None if deno_found: - deno_path = get_deno_path() + deno_path = info['deno_path'] # Only show path if it's not the fallback "deno" and the file exists if deno_path and deno_path != "deno": from pathlib import Path @@ -465,22 +511,27 @@ class AboutDialog(QDialog): deno_path_text = deno_path # Simplified cache status for Deno - deno_cache = _version_cache.get("deno", {}) - last_check = deno_cache.get("last_check", 0) + last_check = info['deno_last_check'] cache_status = "" if last_check > 0 and deno_found: cache_time = datetime.fromtimestamp(last_check).strftime("%H:%M") cache_status = f" ({cache_time})" + + # Check integration with yt-dlp if both are present + integration_status = "" + if info.get('integration_status', False): + integration_status = f" + yt-dlp" deno_item = self._create_status_item( "🦕", "Deno", deno_status_text, - deno_version + cache_status, + deno_version + cache_status + integration_status, deno_path_text, ) self.status_container.addWidget(deno_item) + def refresh_version_info(self) -> None: """Refresh version information manually.""" self.refresh_btn.setText(_('about.refreshing')) From 49dde844817937017f5bc7920515f26ff418ab02 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 19:17:30 +0200 Subject: [PATCH 455/568] Add progress signals and fake progress timer Emit progress updates during URL analysis and simulate gradual progress for long-running yt-dlp operations. Added QTimer import and a progress_update Signal on AnalysisThread, with emits at multiple analysis milestones (e.g. 15, 30, 60, 70, 85, 90, 92, 95, 100). In AnalysisMixin introduced _analysis_timer and _fake_progress, connected thread progress to _handle_analysis_progress, and implemented a _update_fake_progress timer that slowly advances the progress bar between real updates. Timers are stopped on real progress, completion or error and the UI progress is reset appropriately to improve UX during long extraction steps. --- ytsage/gui/ytsage_gui_analysis.py | 68 ++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/ytsage/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py index 46604ce..8abf141 100644 --- a/ytsage/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -2,7 +2,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, cast import json import subprocess -from PySide6.QtCore import QMetaObject, Qt, Q_ARG, QThread, Signal +from PySide6.QtCore import QMetaObject, Qt, Q_ARG, QThread, Signal, QTimer from PySide6.QtWidgets import QMessageBox from ..core.ytsage_utils import validate_video_url, parse_yt_dlp_error @@ -22,6 +22,7 @@ class AnalysisThread(QThread): """ # Signals for status updates status_update = Signal(str) + progress_update = Signal(int) # Signal for progress bar updates # Signals for playlist UI playlist_info_visible = Signal(bool) @@ -63,6 +64,7 @@ class AnalysisThread(QThread): """Main thread execution - performs URL analysis.""" try: self.status_update.emit(_("main_ui.analyzing_extracting_basic")) + self.progress_update.emit(15) url = self.url # Clean up the URL to handle both playlist and video URLs @@ -107,6 +109,7 @@ class AnalysisThread(QThread): return self.status_update.emit(_("main_ui.analyzing_extracting_ytdlp")) + self.progress_update.emit(30) # This will trigger fake progress in UI # Build command for basic info extraction cmd = [yt_dlp_path, "--dump-single-json", "--flat-playlist", "--no-warnings", url] @@ -156,6 +159,7 @@ class AnalysisThread(QThread): return self.status_update.emit(_("main_ui.analyzing_processing_data")) + self.progress_update.emit(60) # Prepare result data result_data: Dict[str, Any] = { @@ -184,6 +188,7 @@ class AnalysisThread(QThread): # Fetch full info for the first video to get formats self.status_update.emit(_("main_ui.analyzing_fetching_first_video")) + self.progress_update.emit(70) first_video_entry = playlist_entries[0] first_video_url = first_video_entry.get("url") @@ -235,20 +240,24 @@ class AnalysisThread(QThread): return self.status_update.emit(_("main_ui.analyzing_processing_formats_ytdlp")) + self.progress_update.emit(85) result_data["all_formats"] = video_info.get("formats", []) # Get thumbnail URL self.status_update.emit(_("main_ui.analyzing_loading_thumbnail_ytdlp")) + self.progress_update.emit(90) playlist_info = result_data.get("playlist_info") or {} thumbnail_url = playlist_info.get("thumbnail") or video_info.get("thumbnail") result_data["thumbnail_url"] = thumbnail_url # Handle subtitles self.status_update.emit(_("main_ui.analyzing_processing_subtitles_ytdlp")) + self.progress_update.emit(92) result_data["available_subtitles"] = video_info.get("subtitles", {}) result_data["available_automatic_subtitles"] = video_info.get("automatic_captions", {}) self.status_update.emit(_("main_ui.analyzing_updating_table")) + self.progress_update.emit(95) # Emit all results at once self.analysis_complete.emit(result_data) @@ -259,6 +268,8 @@ class AnalysisMixin: # Track the current analysis thread _analysis_thread: Optional[AnalysisThread] = None + _analysis_timer: Optional[QTimer] = None + _fake_progress: int = 0 def analyze_url(self) -> None: """Start URL analysis in a background thread.""" @@ -293,11 +304,18 @@ class AnalysisMixin: self.toggle_analysis_dependent_controls(enabled=False) self.signals.update_status.emit(_("main_ui.analyzing_preparing")) + self.signals.update_progress.emit(0) # Reset progress self.is_analyzing = True + + # Stop any existing timer + if self._analysis_timer: + self._analysis_timer.stop() + self._analysis_timer = None # Create and configure the analysis thread self._analysis_thread = AnalysisThread( url=url, + # ... arguments will be filled by ... usage below ... cookie_file_path=self.cookie_file_path, browser_cookies_option=self.browser_cookies_option, proxy_url=self.proxy_url, @@ -307,6 +325,7 @@ class AnalysisMixin: # Connect signals to handlers self._analysis_thread.status_update.connect(self.signals.update_status.emit) + self._analysis_thread.progress_update.connect(self._handle_analysis_progress) self._analysis_thread.playlist_info_visible.connect(self.signals.playlist_info_label_visible.emit) self._analysis_thread.playlist_info_text.connect(self.signals.playlist_info_label_text.emit) self._analysis_thread.playlist_select_btn_visible.connect(self.signals.playlist_select_btn_visible.emit) @@ -318,10 +337,53 @@ class AnalysisMixin: # Start the thread self._analysis_thread.start() + def _handle_analysis_progress(self, value: int) -> None: + """Handle progress updates from analysis thread.""" + self = cast("YTSageApp", self) + + # Stop fake timer if running on any real update + if self._analysis_timer: + self._analysis_timer.stop() + self._analysis_timer = None + + self.signals.update_progress.emit(value) + + # If we hit the extraction phase (30%), start fake progress + if value == 30: + self._fake_progress = 30 + self._analysis_timer = QTimer(self) + self._analysis_timer.timeout.connect(self._update_fake_progress) + self._analysis_timer.start(200) # Every 200ms + + def _update_fake_progress(self) -> None: + """Increment progress bar slowly during long operations.""" + self = cast("YTSageApp", self) + + # Asymptotically approach 85% + if self._fake_progress < 85: + # Slow down as we get higher + increment = 1 + if self._fake_progress > 60: + if self._fake_progress % 3 == 0: # Slower + increment = 1 + else: + increment = 0 + + if increment > 0: + self._fake_progress += increment + self.signals.update_progress.emit(self._fake_progress) + def _on_analysis_complete(self, result_data: Dict[str, Any]) -> None: """Handle successful analysis completion - runs in main thread.""" self = cast("YTSageApp", self) + # Stop fake timer + if self._analysis_timer: + self._analysis_timer.stop() + self._analysis_timer = None + + self.signals.update_progress.emit(100) + # Update instance variables with results (safe - we're in main thread) self.is_playlist = result_data["is_playlist"] self.playlist_info = result_data["playlist_info"] @@ -362,6 +424,10 @@ class AnalysisMixin: def _on_analysis_error(self, error_message: str) -> None: """Handle analysis error - runs in main thread.""" self = cast("YTSageApp", self) + if self._analysis_timer: + self._analysis_timer.stop() + self._analysis_timer = None + self.signals.update_progress.emit(0) self.signals.update_status.emit(error_message) def _on_analysis_finished(self) -> None: From e86704c5cdbaa558ec4dd6f2caa1607e56a855b3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 19:17:44 +0200 Subject: [PATCH 456/568] Simplify analyzing status messages Update English UI strings in ytsage/languages/en.json to remove progress percentages and the repeated "Analyzing" prefix, replacing them with concise action messages (e.g., "Extracting basic info...", "Loading thumbnail..."). This makes status messages shorter and more consistent across regular and ytdlp-related entries without changing functionality. --- ytsage/languages/en.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index 807fd1e..9281bb3 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -346,21 +346,21 @@ "browser_cookies_selected_message": "Browser cookies will be extracted from: {browser}", "error_no_format_info": "Error: No format information available.", "error_extract_info": "Error: Could not extract basic video information. Please check your link.", - "analyzing_preparing": "Analyzing (0%)... Preparing request", - "analyzing_extracting_basic": "Analyzing (15%)... Extracting basic info", - "analyzing_extracting_detailed": "Analyzing (30%)... Extracting detailed info", - "analyzing_processing_video": "Analyzing (45%)... Processing video data", - "analyzing_processing_formats": "Analyzing (60%)... Processing formats", - "analyzing_loading_thumbnail": "Analyzing (75%)... Loading thumbnail", - "analyzing_processing_subtitles": "Analyzing (85%)... Processing subtitles", - "analyzing_updating_table": "Analyzing (95%)... Updating format table", + "analyzing_preparing": "Preparing request...", + "analyzing_extracting_basic": "Extracting basic info...", + "analyzing_extracting_detailed": "Extracting detailed info...", + "analyzing_processing_video": "Processing video data...", + "analyzing_processing_formats": "Processing formats...", + "analyzing_loading_thumbnail": "Loading thumbnail...", + "analyzing_processing_subtitles": "Processing subtitles...", + "analyzing_updating_table": "Updating format table...", "analysis_complete": "Analysis complete!", - "analyzing_extracting_ytdlp": "Analyzing (30%)... Extracting info", - "analyzing_fetching_first_video": "Analyzing... Fetching formats for first video", - "analyzing_processing_data": "Analyzing (60%)... Processing data", - "analyzing_processing_formats_ytdlp": "Analyzing (75%)... Processing formats", - "analyzing_loading_thumbnail_ytdlp": "Analyzing (85%)... Loading thumbnail", - "analyzing_processing_subtitles_ytdlp": "Analyzing (90%)... Processing subtitles", + "analyzing_extracting_ytdlp": "Extracting info...", + "analyzing_fetching_first_video": "Fetching formats for first video...", + "analyzing_processing_data": "Processing data...", + "analyzing_processing_formats_ytdlp": "Processing formats...", + "analyzing_loading_thumbnail_ytdlp": "Loading thumbnail...", + "analyzing_processing_subtitles_ytdlp": "Processing subtitles...", "select_subtitles": "Select Subtitles...", "sponsorblock_categories": "SponsorBlock Categories...", "invalid_url_or_enter": "Invalid URL or please enter a URL.", From cd9e410ea327b5e750866610814c27652f0ad6e7 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 19:20:41 +0200 Subject: [PATCH 457/568] Simplify analysis status messages in locales Standardize and simplify analysis/status strings across multiple language files by removing percent-based prefixes and verbose phrasing, adding concise messages with trailing ellipses. This updates localization for ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, and zh (ytsage/languages/*.json) to make progress messages cleaner and consistent for both regular and ytdlp-related steps. --- ytsage/languages/ar.json | 28 ++++++++++++++-------------- ytsage/languages/de.json | 28 ++++++++++++++-------------- ytsage/languages/es.json | 28 ++++++++++++++-------------- ytsage/languages/fr.json | 28 ++++++++++++++-------------- ytsage/languages/hi.json | 28 ++++++++++++++-------------- ytsage/languages/id.json | 28 ++++++++++++++-------------- ytsage/languages/it.json | 28 ++++++++++++++-------------- ytsage/languages/ja.json | 28 ++++++++++++++-------------- ytsage/languages/pl.json | 28 ++++++++++++++-------------- ytsage/languages/pt.json | 28 ++++++++++++++-------------- ytsage/languages/ru.json | 28 ++++++++++++++-------------- ytsage/languages/tr.json | 28 ++++++++++++++-------------- ytsage/languages/zh.json | 28 ++++++++++++++-------------- 13 files changed, 182 insertions(+), 182 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index e12daae..4160c53 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "سيتم استخراج كوكيز المتصفح من: {browser}", "error_no_format_info": "خطأ: لا توجد معلومات تنسيق متاحة.", "error_extract_info": "خطأ: تعذر استخراج معلومات الفيديو الأساسية. تحقق من الرابط.", - "analyzing_preparing": "التحليل (0%)... جاري التحضير للطلب", - "analyzing_extracting_basic": "التحليل (15%)... جاري استخراج المعلومات الأساسية", - "analyzing_extracting_detailed": "التحليل (30%)... جاري استخراج المعلومات التفصيلية", - "analyzing_processing_video": "التحليل (45%)... جاري معالجة بيانات الفيديو", - "analyzing_processing_formats": "التحليل (60%)... جاري معالجة التنسيقات", - "analyzing_loading_thumbnail": "التحليل (75%)... جاري تحميل الصورة المصغرة", - "analyzing_processing_subtitles": "التحليل (85%)... جاري معالجة الترجمات", - "analyzing_updating_table": "التحليل (95%)... جاري تحديث جدول التنسيقات", + "analyzing_preparing": "جاري التحضير للطلب...", + "analyzing_extracting_basic": "جاري استخراج المعلومات الأساسية...", + "analyzing_extracting_detailed": "جاري استخراج المعلومات التفصيلية...", + "analyzing_processing_video": "جاري معالجة بيانات الفيديو...", + "analyzing_processing_formats": "جاري معالجة التنسيقات...", + "analyzing_loading_thumbnail": "جاري تحميل الصورة المصغرة...", + "analyzing_processing_subtitles": "جاري معالجة الترجمات...", + "analyzing_updating_table": "جاري تحديث جدول التنسيقات...", "analysis_complete": "اكتمل التحليل!", - "analyzing_extracting_ytdlp": "التحليل (30%)... جاري استخراج المعلومات", - "analyzing_fetching_first_video": "تحليل... جاري جلب التنسيقات للفيديو الأول", - "analyzing_processing_data": "التحليل (60%)... جاري معالجة البيانات", - "analyzing_processing_formats_ytdlp": "التحليل (75%)... جاري معالجة التنسيقات", - "analyzing_loading_thumbnail_ytdlp": "التحليل (85%)... جاري تحميل الصورة المصغرة", - "analyzing_processing_subtitles_ytdlp": "التحليل (90%)... جاري معالجة الترجمات", + "analyzing_extracting_ytdlp": "جاري استخراج المعلومات...", + "analyzing_fetching_first_video": "جاري جلب التنسيقات للفيديو الأول...", + "analyzing_processing_data": "جاري معالجة البيانات...", + "analyzing_processing_formats_ytdlp": "جاري معالجة التنسيقات...", + "analyzing_loading_thumbnail_ytdlp": "جاري تحميل الصورة المصغرة...", + "analyzing_processing_subtitles_ytdlp": "جاري معالجة الترجمات...", "select_subtitles": "اختر الترجمات...", "sponsorblock_categories": "فئات SponsorBlock...", "invalid_url_or_enter": "عنوان URL غير صالح أو الرجاء إدخال عنوان URL.", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index 2c17bac..eff03ee 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "Browser-Cookies werden aus folgendem Browser extrahiert: {browser}", "error_no_format_info": "Fehler: Keine Formatinformationen verfügbar.", "error_extract_info": "Fehler: Grundlegende Videoinformationen konnten nicht extrahiert werden. Bitte überprüfen Sie Ihren Link.", - "analyzing_preparing": "Analysiere (0%)... Anfrage wird vorbereitet", - "analyzing_extracting_basic": "Analysiere (15%)... Grundlegende Informationen werden extrahiert", - "analyzing_extracting_detailed": "Analysiere (30%)... Detaillierte Informationen werden extrahiert", - "analyzing_processing_video": "Analysiere (45%)... Videodaten werden verarbeitet", - "analyzing_processing_formats": "Analysiere (60%)... Formate werden verarbeitet", - "analyzing_loading_thumbnail": "Analysiere (75%)... Thumbnail wird geladen", - "analyzing_processing_subtitles": "Analysiere (85%)... Untertitel werden verarbeitet", - "analyzing_updating_table": "Analysiere (95%)... Formattabelle wird aktualisiert", + "analyzing_preparing": "Anfrage wird vorbereitet...", + "analyzing_extracting_basic": "Grundlegende Informationen werden extrahiert...", + "analyzing_extracting_detailed": "Detaillierte Informationen werden extrahiert...", + "analyzing_processing_video": "Videodaten werden verarbeitet...", + "analyzing_processing_formats": "Formate werden verarbeitet...", + "analyzing_loading_thumbnail": "Thumbnail wird geladen...", + "analyzing_processing_subtitles": "Untertitel werden verarbeitet...", + "analyzing_updating_table": "Formattabelle wird aktualisiert...", "analysis_complete": "Analyse abgeschlossen!", - "analyzing_extracting_ytdlp": "Analysiere (30%)... Informationen werden extrahiert", - "analyzing_fetching_first_video": "Analysiere... Formate für das erste Video werden abgerufen", - "analyzing_processing_data": "Analysiere (60%)... Daten werden verarbeitet", - "analyzing_processing_formats_ytdlp": "Analysiere (75%)... Formate werden verarbeitet", - "analyzing_loading_thumbnail_ytdlp": "Analysiere (85%)... Thumbnail wird geladen", - "analyzing_processing_subtitles_ytdlp": "Analysiere (90%)... Untertitel werden verarbeitet", + "analyzing_extracting_ytdlp": "Informationen werden extrahiert...", + "analyzing_fetching_first_video": "Formate für das erste Video werden abgerufen...", + "analyzing_processing_data": "Daten werden verarbeitet...", + "analyzing_processing_formats_ytdlp": "Formate werden verarbeitet...", + "analyzing_loading_thumbnail_ytdlp": "Thumbnail wird geladen...", + "analyzing_processing_subtitles_ytdlp": "Untertitel werden verarbeitet...", "select_subtitles": "Untertitel auswählen...", "sponsorblock_categories": "SponsorBlock-Kategorien...", "invalid_url_or_enter": "Ungültige URL oder bitte geben Sie eine URL ein.", diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index 3482bca..1e4b5e2 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -328,21 +328,21 @@ "browser_cookies_selected_message": "Las cookies del navegador serán extraídas de: {browser}", "error_no_format_info": "Error: No hay información de formato disponible.", "error_extract_info": "Error: No se pudo extraer la información básica del video. Por favor verifica tu enlace.", - "analyzing_preparing": "Analizando (0%)... Preparando solicitud", - "analyzing_extracting_basic": "Analizando (15%)... Extrayendo información básica", - "analyzing_extracting_detailed": "Analizando (30%)... Extrayendo información detallada", - "analyzing_processing_video": "Analizando (45%)... Procesando datos de video", - "analyzing_processing_formats": "Analizando (60%)... Procesando formatos", - "analyzing_loading_thumbnail": "Analizando (75%)... Cargando miniatura", - "analyzing_processing_subtitles": "Analizando (85%)... Procesando subtítulos", - "analyzing_updating_table": "Analizando (95%)... Actualizando tabla de formatos", + "analyzing_preparing": "Preparando solicitud...", + "analyzing_extracting_basic": "Extrayendo información básica...", + "analyzing_extracting_detailed": "Extrayendo información detallada...", + "analyzing_processing_video": "Procesando datos de video...", + "analyzing_processing_formats": "Procesando formatos...", + "analyzing_loading_thumbnail": "Cargando miniatura...", + "analyzing_processing_subtitles": "Procesando subtítulos...", + "analyzing_updating_table": "Actualizando tabla de formatos...", "analysis_complete": "¡Análisis completo!", - "analyzing_extracting_ytdlp": "Analizando (30%)... Extrayendo información", - "analyzing_fetching_first_video": "Analizando... Obteniendo formatos del primer video", - "analyzing_processing_data": "Analizando (60%)... Procesando datos", - "analyzing_processing_formats_ytdlp": "Analizando (75%)... Procesando formatos", - "analyzing_loading_thumbnail_ytdlp": "Analizando (85%)... Cargando miniatura", - "analyzing_processing_subtitles_ytdlp": "Analizando (90%)... Procesando subtítulos", + "analyzing_extracting_ytdlp": "Extrayendo información...", + "analyzing_fetching_first_video": "Obteniendo formatos del primer video...", + "analyzing_processing_data": "Procesando datos...", + "analyzing_processing_formats_ytdlp": "Procesando formatos...", + "analyzing_loading_thumbnail_ytdlp": "Cargando miniatura...", + "analyzing_processing_subtitles_ytdlp": "Procesando subtítulos...", "select_subtitles": "Seleccionar Subtítulos...", "sponsorblock_categories": "Categorías SponsorBlock...", "invalid_url_or_enter": "URL inválida o por favor ingresa una URL.", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index f0d45f9..8954a3a 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "Les cookies du navigateur seront extraits depuis : {browser}", "error_no_format_info": "Erreur : Aucune information de format disponible.", "error_extract_info": "Erreur : Impossible d'extraire les informations de base de la vidéo. Veuillez vérifier votre lien.", - "analyzing_preparing": "Analyse (0%)... Préparation de la requête", - "analyzing_extracting_basic": "Analyse (15%)... Extraction des informations de base", - "analyzing_extracting_detailed": "Analyse (30%)... Extraction des informations détaillées", - "analyzing_processing_video": "Analyse (45%)... Traitement des données vidéo", - "analyzing_processing_formats": "Analyse (60%)... Traitement des formats", - "analyzing_loading_thumbnail": "Analyse (75%)... Chargement de la miniature", - "analyzing_processing_subtitles": "Analyse (85%)... Traitement des sous-titres", - "analyzing_updating_table": "Analyse (95%)... Mise à jour du tableau des formats", + "analyzing_preparing": "Préparation de la requête...", + "analyzing_extracting_basic": "Extraction des informations de base...", + "analyzing_extracting_detailed": "Extraction des informations détaillées...", + "analyzing_processing_video": "Traitement des données vidéo...", + "analyzing_processing_formats": "Traitement des formats...", + "analyzing_loading_thumbnail": "Chargement de la miniature...", + "analyzing_processing_subtitles": "Traitement des sous-titres...", + "analyzing_updating_table": "Mise à jour du tableau des formats...", "analysis_complete": "Analyse terminée !", - "analyzing_extracting_ytdlp": "Analyse (30%)... Extraction d'informations", - "analyzing_fetching_first_video": "Analyse... Récupération des formats pour la première vidéo", - "analyzing_processing_data": "Analyse (60%)... Traitement des données", - "analyzing_processing_formats_ytdlp": "Analyse (75%)... Traitement des formats", - "analyzing_loading_thumbnail_ytdlp": "Analyse (85%)... Chargement de la miniature", - "analyzing_processing_subtitles_ytdlp": "Analyse (90%)... Traitement des sous-titres", + "analyzing_extracting_ytdlp": "Extraction d'informations...", + "analyzing_fetching_first_video": "Récupération des formats pour la première vidéo...", + "analyzing_processing_data": "Traitement des données...", + "analyzing_processing_formats_ytdlp": "Traitement des formats...", + "analyzing_loading_thumbnail_ytdlp": "Chargement de la miniature...", + "analyzing_processing_subtitles_ytdlp": "Traitement des sous-titres...", "select_subtitles": "Sélectionner les sous-titres...", "sponsorblock_categories": "Catégories SponsorBlock...", "invalid_url_or_enter": "URL invalide ou veuillez entrer une URL.", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 97ea90d..18de247 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "ब्राउज़र कुकीज़ निकाली जाएंगी: {browser}", "error_no_format_info": "त्रुटि: कोई प्रारूप जानकारी उपलब्ध नहीं।", "error_extract_info": "त्रुटि: बुनियादी वीडियो जानकारी निकालने में असमर्थ। कृपया अपना लिंक जांचें।", - "analyzing_preparing": "विश्लेषण (0%)... अनुरोध तैयार हो रहा है", - "analyzing_extracting_basic": "विश्लेषण (15%)... बुनियादी जानकारी निकाली जा रही है", - "analyzing_extracting_detailed": "विश्लेषण (30%)... विस्तृत जानकारी निकाली जा रही है", - "analyzing_processing_video": "विश्लेषण (45%)... वीडियो डेटा प्रोसेस हो रहा है", - "analyzing_processing_formats": "विश्लेषण (60%)... प्रारूप प्रोसेस हो रहे हैं", - "analyzing_loading_thumbnail": "विश्लेषण (75%)... थंबनेल लोड हो रहा है", - "analyzing_processing_subtitles": "विश्लेषण (85%)... उपशीर्षक प्रोसेस हो रहे हैं", - "analyzing_updating_table": "विश्लेषण (95%)... प्रारूप तालिका अपडेट हो रही है", + "analyzing_preparing": "अनुरोध तैयार हो रहा है...", + "analyzing_extracting_basic": "बुनियादी जानकारी निकाली जा रही है...", + "analyzing_extracting_detailed": "विस्तृत जानकारी निकाली जा रही है...", + "analyzing_processing_video": "वीडियो डेटा प्रोसेस हो रहा है...", + "analyzing_processing_formats": "प्रारूप प्रोसेस हो रहे हैं...", + "analyzing_loading_thumbnail": "थंबनेल लोड हो रहा है...", + "analyzing_processing_subtitles": "उपशीर्षक प्रोसेस हो रहे हैं...", + "analyzing_updating_table": "प्रारूप तालिका अपडेट हो रही है...", "analysis_complete": "विश्लेषण पूर्ण!", - "analyzing_extracting_ytdlp": "विश्लेषण (30%)... जानकारी निकाली जा रही है", - "analyzing_fetching_first_video": "विश्लेषण कर रहा है... पहले वीडियो के लिए प्रारूप प्राप्त कर रहा है", - "analyzing_processing_data": "विश्लेषण (60%)... डेटा प्रोसेस हो रहा है", - "analyzing_processing_formats_ytdlp": "विश्लेषण (75%)... प्रारूप प्रोसेस हो रहे हैं", - "analyzing_loading_thumbnail_ytdlp": "विश्लेषण (85%)... थंबनेल लोड हो रहा है", - "analyzing_processing_subtitles_ytdlp": "विश्लेषण (90%)... उपशीर्षक प्रोसेस हो रहे हैं", + "analyzing_extracting_ytdlp": "जानकारी निकाली जा रही है...", + "analyzing_fetching_first_video": "पहले वीडियो के लिए प्रारूप प्राप्त कर रहा है...", + "analyzing_processing_data": "डेटा प्रोसेस हो रहा है...", + "analyzing_processing_formats_ytdlp": "प्रारूप प्रोसेस हो रहे हैं...", + "analyzing_loading_thumbnail_ytdlp": "थंबनेल लोड हो रहा है...", + "analyzing_processing_subtitles_ytdlp": "उपशीर्षक प्रोसेस हो रहे हैं...", "select_subtitles": "उपशीर्षक चुनें...", "sponsorblock_categories": "SponsorBlock श्रेणियां...", "invalid_url_or_enter": "अमान्य URL या कृपया URL दर्ज करें।", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index 6a76658..8f41c52 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "Cookies browser akan diekstrak dari: {browser}", "error_no_format_info": "Kesalahan: Tidak ada informasi format yang tersedia.", "error_extract_info": "Kesalahan: Tidak dapat mengekstrak informasi video dasar. Silakan periksa tautan Anda.", - "analyzing_preparing": "Menganalisis (0%)... Mempersiapkan permintaan", - "analyzing_extracting_basic": "Menganalisis (15%)... Mengekstrak informasi dasar", - "analyzing_extracting_detailed": "Menganalisis (30%)... Mengekstrak informasi detail", - "analyzing_processing_video": "Menganalisis (45%)... Memproses data video", - "analyzing_processing_formats": "Menganalisis (60%)... Memproses format", - "analyzing_loading_thumbnail": "Menganalisis (75%)... Memuat thumbnail", - "analyzing_processing_subtitles": "Menganalisis (85%)... Memproses subtitle", - "analyzing_updating_table": "Menganalisis (95%)... Memperbarui tabel format", + "analyzing_preparing": "Mempersiapkan permintaan...", + "analyzing_extracting_basic": "Mengekstrak informasi dasar...", + "analyzing_extracting_detailed": "Mengekstrak informasi detail...", + "analyzing_processing_video": "Memproses data video...", + "analyzing_processing_formats": "Memproses format...", + "analyzing_loading_thumbnail": "Memuat thumbnail...", + "analyzing_processing_subtitles": "Memproses subtitle...", + "analyzing_updating_table": "Memperbarui tabel format...", "analysis_complete": "Analisis selesai!", - "analyzing_extracting_ytdlp": "Menganalisis (30%)... Mengekstrak informasi", - "analyzing_fetching_first_video": "Menganalisis... Mengambil format untuk video pertama", - "analyzing_processing_data": "Menganalisis (60%)... Memproses data", - "analyzing_processing_formats_ytdlp": "Menganalisis (75%)... Memproses format", - "analyzing_loading_thumbnail_ytdlp": "Menganalisis (85%)... Memuat thumbnail", - "analyzing_processing_subtitles_ytdlp": "Menganalisis (90%)... Memproses subtitle", + "analyzing_extracting_ytdlp": "Mengekstrak informasi...", + "analyzing_fetching_first_video": "Mengambil format untuk video pertama...", + "analyzing_processing_data": "Memproses data...", + "analyzing_processing_formats_ytdlp": "Memproses format...", + "analyzing_loading_thumbnail_ytdlp": "Memuat thumbnail...", + "analyzing_processing_subtitles_ytdlp": "Memproses subtitle...", "select_subtitles": "Pilih subtitle...", "sponsorblock_categories": "Kategori SponsorBlock...", "invalid_url_or_enter": "URL tidak valid atau silakan masukkan URL.", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 36055ec..8b482ec 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "I cookie del browser verranno estratti da: {browser}", "error_no_format_info": "Errore: Nessuna informazione formato disponibile.", "error_extract_info": "Errore: Impossibile estrarre informazioni base del video. Controlla il tuo link.", - "analyzing_preparing": "Analisi (0%)... Preparazione richiesta", - "analyzing_extracting_basic": "Analisi (15%)... Estrazione informazioni base", - "analyzing_extracting_detailed": "Analisi (30%)... Estrazione informazioni dettagliate", - "analyzing_processing_video": "Analisi (45%)... Elaborazione dati video", - "analyzing_processing_formats": "Analisi (60%)... Elaborazione formati", - "analyzing_loading_thumbnail": "Analisi (75%)... Caricamento miniatura", - "analyzing_processing_subtitles": "Analisi (85%)... Elaborazione sottotitoli", - "analyzing_updating_table": "Analisi (95%)... Aggiornamento tabella formati", + "analyzing_preparing": "Preparazione richiesta...", + "analyzing_extracting_basic": "Estrazione informazioni base...", + "analyzing_extracting_detailed": "Estrazione informazioni dettagliate...", + "analyzing_processing_video": "Elaborazione dati video...", + "analyzing_processing_formats": "Elaborazione formati...", + "analyzing_loading_thumbnail": "Caricamento miniatura...", + "analyzing_processing_subtitles": "Elaborazione sottotitoli...", + "analyzing_updating_table": "Aggiornamento tabella formati...", "analysis_complete": "Analisi completata!", - "analyzing_extracting_ytdlp": "Analisi (30%)... Estrazione informazioni", - "analyzing_fetching_first_video": "Analisi... Recupero dei formati per il primo video", - "analyzing_processing_data": "Analisi (60%)... Elaborazione dati", - "analyzing_processing_formats_ytdlp": "Analisi (75%)... Elaborazione formati", - "analyzing_loading_thumbnail_ytdlp": "Analisi (85%)... Caricamento miniatura", - "analyzing_processing_subtitles_ytdlp": "Analisi (90%)... Elaborazione sottotitoli", + "analyzing_extracting_ytdlp": "Estrazione informazioni...", + "analyzing_fetching_first_video": "Recupero dei formati per il primo video...", + "analyzing_processing_data": "Elaborazione dati...", + "analyzing_processing_formats_ytdlp": "Elaborazione formati...", + "analyzing_loading_thumbnail_ytdlp": "Caricamento miniatura...", + "analyzing_processing_subtitles_ytdlp": "Elaborazione sottotitoli...", "select_subtitles": "Seleziona sottotitoli...", "sponsorblock_categories": "Categorie SponsorBlock...", "invalid_url_or_enter": "URL non valido o inserisci un URL.", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index dc2338b..c8d04e2 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "ブラウザCookieが抽出されます: {browser}", "error_no_format_info": "エラー: 利用可能なフォーマット情報がありません。", "error_extract_info": "エラー: 基本的な動画情報を抽出できませんでした。リンクを確認してください。", - "analyzing_preparing": "解析中 (0%)... リクエストを準備中", - "analyzing_extracting_basic": "解析中 (15%)... 基本情報を抽出中", - "analyzing_extracting_detailed": "解析中 (30%)... 詳細情報を抽出中", - "analyzing_processing_video": "解析中 (45%)... 動画データを処理中", - "analyzing_processing_formats": "解析中 (60%)... フォーマットを処理中", - "analyzing_loading_thumbnail": "解析中 (75%)... サムネイルを読み込み中", - "analyzing_processing_subtitles": "解析中 (85%)... 字幕を処理中", - "analyzing_updating_table": "解析中 (95%)... フォーマットテーブルを更新中", + "analyzing_preparing": "リクエストを準備中...", + "analyzing_extracting_basic": "基本情報を抽出中...", + "analyzing_extracting_detailed": "詳細情報を抽出中...", + "analyzing_processing_video": "動画データを処理中...", + "analyzing_processing_formats": "フォーマットを処理中...", + "analyzing_loading_thumbnail": "サムネイルを読み込み中...", + "analyzing_processing_subtitles": "字幕を処理中...", + "analyzing_updating_table": "フォーマットテーブルを更新中...", "analysis_complete": "解析完了!", - "analyzing_extracting_ytdlp": "解析中 (30%)... 情報を抽出中", - "analyzing_fetching_first_video": "解析中... 最初のビデオの形式を取得しています", - "analyzing_processing_data": "解析中 (60%)... データを処理中", - "analyzing_processing_formats_ytdlp": "解析中 (75%)... フォーマットを処理中", - "analyzing_loading_thumbnail_ytdlp": "解析中 (85%)... サムネイルを読み込み中", - "analyzing_processing_subtitles_ytdlp": "解析中 (90%)... 字幕を処理中", + "analyzing_extracting_ytdlp": "情報を抽出中...", + "analyzing_fetching_first_video": "最初のビデオの形式を取得しています...", + "analyzing_processing_data": "データを処理中...", + "analyzing_processing_formats_ytdlp": "フォーマットを処理中...", + "analyzing_loading_thumbnail_ytdlp": "サムネイルを読み込み中...", + "analyzing_processing_subtitles_ytdlp": "字幕を処理中...", "select_subtitles": "字幕を選択...", "sponsorblock_categories": "SponsorBlockカテゴリ...", "invalid_url_or_enter": "無効なURLまたはURLを入力してください。", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index ca0189b..0a5a500 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "Ciasteczka przeglądarki zostaną wyodrębnione z: {browser}", "error_no_format_info": "Błąd: Brak dostępnych informacji o formacie.", "error_extract_info": "Błąd: Nie można wyodrębnić podstawowych informacji o wideo. Sprawdź swój link.", - "analyzing_preparing": "Analizowanie (0%)... Przygotowywanie żądania", - "analyzing_extracting_basic": "Analizowanie (15%)... Wyodrębnianie podstawowych informacji", - "analyzing_extracting_detailed": "Analizowanie (30%)... Wyodrębnianie szczegółowych informacji", - "analyzing_processing_video": "Analizowanie (45%)... Przetwarzanie danych wideo", - "analyzing_processing_formats": "Analizowanie (60%)... Przetwarzanie formatów", - "analyzing_loading_thumbnail": "Analizowanie (75%)... Ładowanie miniatury", - "analyzing_processing_subtitles": "Analizowanie (85%)... Przetwarzanie napisów", - "analyzing_updating_table": "Analizowanie (95%)... Aktualizowanie tabeli formatów", + "analyzing_preparing": "Przygotowywanie żądania...", + "analyzing_extracting_basic": "Wyodrębnianie podstawowych informacji...", + "analyzing_extracting_detailed": "Wyodrębnianie szczegółowych informacji...", + "analyzing_processing_video": "Przetwarzanie danych wideo...", + "analyzing_processing_formats": "Przetwarzanie formatów...", + "analyzing_loading_thumbnail": "Ładowanie miniatury...", + "analyzing_processing_subtitles": "Przetwarzanie napisów...", + "analyzing_updating_table": "Aktualizowanie tabeli formatów...", "analysis_complete": "Analiza zakończona!", - "analyzing_fetching_first_video": "Analizowanie... Pobieranie formatów dla pierwszego filmu", - "analyzing_extracting_ytdlp": "Analizowanie (30%)... Wyodrębnianie informacji", - "analyzing_processing_data": "Analizowanie (60%)... Przetwarzanie danych", - "analyzing_processing_formats_ytdlp": "Analizowanie (75%)... Przetwarzanie formatów", - "analyzing_loading_thumbnail_ytdlp": "Analizowanie (85%)... Ładowanie miniatury", - "analyzing_processing_subtitles_ytdlp": "Analizowanie (90%)... Przetwarzanie napisów", + "analyzing_fetching_first_video": "Pobieranie formatów dla pierwszego filmu...", + "analyzing_extracting_ytdlp": "Wyodrębnianie informacji...", + "analyzing_processing_data": "Przetwarzanie danych...", + "analyzing_processing_formats_ytdlp": "Przetwarzanie formatów...", + "analyzing_loading_thumbnail_ytdlp": "Ładowanie miniatury...", + "analyzing_processing_subtitles_ytdlp": "Przetwarzanie napisów...", "select_subtitles": "Wybierz napisy...", "sponsorblock_categories": "Kategorie SponsorBlock...", "invalid_url_or_enter": "Nieprawidłowy URL lub wprowadź URL.", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index df2f491..2fde332 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "Os cookies do navegador serão extraídos de: {browser}", "error_no_format_info": "Erro: Nenhuma informação de formato disponível.", "error_extract_info": "Erro: Não foi possível extrair informações básicas do vídeo. Verifique seu link.", - "analyzing_preparing": "Analisando (0%)... Preparando solicitação", - "analyzing_extracting_basic": "Analisando (15%)... Extraindo informações básicas", - "analyzing_extracting_detailed": "Analisando (30%)... Extraindo informações detalhadas", - "analyzing_processing_video": "Analisando (45%)... Processando dados do vídeo", - "analyzing_processing_formats": "Analisando (60%)... Processando formatos", - "analyzing_loading_thumbnail": "Analisando (75%)... Carregando miniatura", - "analyzing_processing_subtitles": "Analisando (85%)... Processando legendas", - "analyzing_updating_table": "Analisando (95%)... Atualizando tabela de formatos", + "analyzing_preparing": "Preparando solicitação...", + "analyzing_extracting_basic": "Extraindo informações básicas...", + "analyzing_extracting_detailed": "Extraindo informações detalhadas...", + "analyzing_processing_video": "Processando dados do vídeo...", + "analyzing_processing_formats": "Processando formatos...", + "analyzing_loading_thumbnail": "Carregando miniatura...", + "analyzing_processing_subtitles": "Processando legendas...", + "analyzing_updating_table": "Atualizando tabela de formatos...", "analysis_complete": "Análise completa!", - "analyzing_fetching_first_video": "Analisando... Obtendo formatos do primeiro vídeo", - "analyzing_extracting_ytdlp": "Analisando (30%)... Extraindo informações", - "analyzing_processing_data": "Analisando (60%)... Processando dados", - "analyzing_processing_formats_ytdlp": "Analisando (75%)... Processando formatos", - "analyzing_loading_thumbnail_ytdlp": "Analisando (85%)... Carregando miniatura", - "analyzing_processing_subtitles_ytdlp": "Analisando (90%)... Processando legendas", + "analyzing_fetching_first_video": "Obtendo formatos do primeiro vídeo...", + "analyzing_extracting_ytdlp": "Extraindo informações...", + "analyzing_processing_data": "Processando dados...", + "analyzing_processing_formats_ytdlp": "Processando formatos...", + "analyzing_loading_thumbnail_ytdlp": "Carregando miniatura...", + "analyzing_processing_subtitles_ytdlp": "Processando legendas...", "select_subtitles": "Selecionar Legendas...", "sponsorblock_categories": "Categorias SponsorBlock...", "invalid_url_or_enter": "URL inválido ou por favor insira um URL.", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index 2888c4e..e88540e 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -345,21 +345,21 @@ "browser_cookies_selected_message": "Cookie браузера будут извлечены из: {browser}", "error_no_format_info": "Ошибка: Информация о формате недоступна.", "error_extract_info": "Ошибка: Не удалось извлечь базовую информацию о видео. Проверьте вашу ссылку.", - "analyzing_preparing": "Анализ (0%)... Подготовка запроса", - "analyzing_extracting_basic": "Анализ (15%)... Извлечение базовой информации", - "analyzing_extracting_detailed": "Анализ (30%)... Извлечение подробной информации", - "analyzing_processing_video": "Анализ (45%)... Обработка данных видео", - "analyzing_processing_formats": "Анализ (60%)... Обработка форматов", - "analyzing_loading_thumbnail": "Анализ (75%)... Загрузка миниатюры", - "analyzing_processing_subtitles": "Анализ (85%)... Обработка субтитров", - "analyzing_updating_table": "Анализ (95%)... Обновление таблицы форматов", + "analyzing_preparing": "Подготовка запроса...", + "analyzing_extracting_basic": "Извлечение базовой информации...", + "analyzing_extracting_detailed": "Извлечение подробной информации...", + "analyzing_processing_video": "Обработка данных видео...", + "analyzing_processing_formats": "Обработка форматов...", + "analyzing_loading_thumbnail": "Загрузка миниатюры...", + "analyzing_processing_subtitles": "Обработка субтитров...", + "analyzing_updating_table": "Обновление таблицы форматов...", "analysis_complete": "Анализ завершен!", - "analyzing_fetching_first_video": "Анализ... Получение форматов для первого видео", - "analyzing_extracting_ytdlp": "Анализ (30%)... Извлечение информации", - "analyzing_processing_data": "Анализ (60%)... Обработка данных", - "analyzing_processing_formats_ytdlp": "Анализ (75%)... Обработка форматов", - "analyzing_loading_thumbnail_ytdlp": "Анализ (85%)... Загрузка миниатюры", - "analyzing_processing_subtitles_ytdlp": "Анализ (90%)... Обработка субтитров", + "analyzing_fetching_first_video": "Получение форматов для первого видео...", + "analyzing_extracting_ytdlp": "Извлечение информации...", + "analyzing_processing_data": "Обработка данных...", + "analyzing_processing_formats_ytdlp": "Обработка форматов...", + "analyzing_loading_thumbnail_ytdlp": "Загрузка миниатюры...", + "analyzing_processing_subtitles_ytdlp": "Обработка субтитров...", "select_subtitles": "Выбрать субтитры...", "sponsorblock_categories": "Категории SponsorBlock...", "invalid_url_or_enter": "Неверный URL или пожалуйста введите URL.", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 6d1edc6..2e6701f 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -343,21 +343,21 @@ "browser_cookies_selected_message": "Tarayıcı çerezleri şuradan çıkarılacak: {browser}", "error_no_format_info": "Hata: Format bilgisi mevcut değil.", "error_extract_info": "Hata: Temel video bilgileri çıkarılamadı. Lütfen bağlantınızı kontrol edin.", - "analyzing_preparing": "Analiz ediliyor (0%)... İstek hazırlanıyor", - "analyzing_extracting_basic": "Analiz ediliyor (15%)... Temel bilgiler çıkarılıyor", - "analyzing_extracting_detailed": "Analiz ediliyor (30%)... Ayrıntılı bilgiler çıkarılıyor", - "analyzing_processing_video": "Analiz ediliyor (45%)... Video verisi işleniyor", - "analyzing_processing_formats": "Analiz ediliyor (60%)... Formatlar işleniyor", - "analyzing_loading_thumbnail": "Analiz ediliyor (75%)... Küçük resim yükleniyor", - "analyzing_processing_subtitles": "Analiz ediliyor (85%)... Altyazılar işleniyor", - "analyzing_updating_table": "Analiz ediliyor (95%)... Format tablosu güncelleniyor", + "analyzing_preparing": "İstek hazırlanıyor...", + "analyzing_extracting_basic": "Temel bilgiler çıkarılıyor...", + "analyzing_extracting_detailed": "Ayrıntılı bilgiler çıkarılıyor...", + "analyzing_processing_video": "Video verisi işleniyor...", + "analyzing_processing_formats": "Formatlar işleniyor...", + "analyzing_loading_thumbnail": "Küçük resim yükleniyor...", + "analyzing_processing_subtitles": "Altyazılar işleniyor...", + "analyzing_updating_table": "Format tablosu güncelleniyor...", "analysis_complete": "Analiz tamamlandı!", - "analyzing_fetching_first_video": "Analiz ediliyor... İlk video için formatlar alınıyor", - "analyzing_extracting_ytdlp": "Analiz ediliyor (30%)... Bilgiler çıkarılıyor", - "analyzing_processing_data": "Analiz ediliyor (60%)... Veriler işleniyor", - "analyzing_processing_formats_ytdlp": "Analiz ediliyor (75%)... Formatlar işleniyor", - "analyzing_loading_thumbnail_ytdlp": "Analiz ediliyor (85%)... Küçük resim yükleniyor", - "analyzing_processing_subtitles_ytdlp": "Analiz ediliyor (90%)... Altyazılar işleniyor", + "analyzing_fetching_first_video": "İlk video için formatlar alınıyor...", + "analyzing_extracting_ytdlp": "Bilgiler çıkarılıyor...", + "analyzing_processing_data": "Veriler işleniyor...", + "analyzing_processing_formats_ytdlp": "Formatlar işleniyor...", + "analyzing_loading_thumbnail_ytdlp": "Küçük resim yükleniyor...", + "analyzing_processing_subtitles_ytdlp": "Altyazılar işleniyor...", "select_subtitles": "Altyazı seç...", "sponsorblock_categories": "SponsorBlock kategorileri...", "invalid_url_or_enter": "Geçersiz URL veya lütfen bir URL girin.", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 27498d8..3d0b3a4 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -333,21 +333,21 @@ "browser_cookies_selected_message": "将从以下浏览器提取 Cookie:{browser}", "error_no_format_info": "错误:无可用格式信息。", "error_extract_info": "错误:无法提取基本视频信息。请检查您的链接。", - "analyzing_preparing": "分析中 (0%)... 正在准备请求", - "analyzing_extracting_basic": "分析中 (15%)... 正在提取基本信息", - "analyzing_extracting_detailed": "分析中 (30%)... 正在提取详细信息", - "analyzing_processing_video": "分析中 (45%)... 正在处理视频数据", - "analyzing_processing_formats": "分析中 (60%)... 正在处理格式", - "analyzing_loading_thumbnail": "分析中 (75%)... 正在加载缩略图", - "analyzing_processing_subtitles": "分析中 (85%)... 正在处理字幕", - "analyzing_updating_table": "分析中 (95%)... 正在更新格式表", + "analyzing_preparing": "正在准备请求...", + "analyzing_extracting_basic": "正在提取基本信息...", + "analyzing_extracting_detailed": "正在提取详细信息...", + "analyzing_processing_video": "正在处理视频数据...", + "analyzing_processing_formats": "正在处理格式...", + "analyzing_loading_thumbnail": "正在加载缩略图...", + "analyzing_processing_subtitles": "正在处理字幕...", + "analyzing_updating_table": "正在更新格式表...", "analysis_complete": "分析完成!", - "analyzing_fetching_first_video": "分析中... 正在获取第一个视频的格式", - "analyzing_extracting_ytdlp": "分析中 (30%)... 提取信息", - "analyzing_processing_data": "分析中 (60%)... 正在处理数据", - "analyzing_processing_formats_ytdlp": "分析中 (75%)... 正在处理格式", - "analyzing_loading_thumbnail_ytdlp": "分析中 (85%)... 正在加载缩略图", - "analyzing_processing_subtitles_ytdlp": "分析中 (90%)... 正在处理字幕", + "analyzing_fetching_first_video": "正在获取第一个视频的格式...", + "analyzing_extracting_ytdlp": "提取信息...", + "analyzing_processing_data": "正在处理数据...", + "analyzing_processing_formats_ytdlp": "正在处理格式...", + "analyzing_loading_thumbnail_ytdlp": "正在加载缩略图...", + "analyzing_processing_subtitles_ytdlp": "正在处理字幕...", "select_subtitles": "选择字幕...", "sponsorblock_categories": "SponsorBlock 分类...", "invalid_url_or_enter": "无效的URL或请输入URL。", From a65f0702acd8a67bee6d5a5efb659640c152b6ba Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Feb 2026 19:32:39 +0200 Subject: [PATCH 458/568] Bump version to 5.0.0b3 Update package version in ytsage/__init__.py from 5.0.0b2 to 5.0.0b3 to reflect a new beta release. --- ytsage/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ytsage/__init__.py b/ytsage/__init__.py index eba6ea6..ec46976 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.0b2" +__version__ = "5.0.0b3" __author__ = "oop7" From ed1469898c4cac6ca6b9070811b9407c6fecae49 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 15:28:06 +0200 Subject: [PATCH 459/568] Add configurable output filename format Introduce a new filename_format setting and UI to control yt-dlp output templates. ConfigManager now includes a default filename_format (%(title)s_%(resolution)s.%(ext)s). The DownloadSettingsDialog exposes a text input and help text for the format and saves the value to ConfigManager. DownloadThread now accepts a filename_format argument and uses it when building output templates for single videos and playlists. YTSageApp reads the config and passes the filename format into the download thread. Added corresponding English language strings. --- ytsage/core/ytsage_downloader.py | 9 ++++-- .../ytsage_dialogs_settings.py | 28 +++++++++++++++++++ ytsage/gui/ytsage_gui_main.py | 4 +++ ytsage/languages/en.json | 2 ++ ytsage/utils/ytsage_config_manager.py | 1 + 5 files changed, 42 insertions(+), 2 deletions(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index a1b1252..0647152 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -72,6 +72,7 @@ class DownloadThread(QThread): preferred_output_format="mp4", force_audio_format=False, preferred_audio_format="best", + filename_format=None, ) -> None: super().__init__() self.url = url @@ -99,6 +100,7 @@ class DownloadThread(QThread): self.preferred_output_format = preferred_output_format self.force_audio_format = force_audio_format self.preferred_audio_format = preferred_audio_format + self.filename_format = filename_format self.paused: bool = False self.cancelled: bool = False self.process: Optional[subprocess.Popen] = None @@ -274,11 +276,14 @@ class DownloadThread(QThread): # Use string concatenation instead of Path.joinpath to avoid Path object issues base_path: str = self.path.as_posix() + # Determine the filename part of the template + filename_part = self.filename_format if self.filename_format else "%(title)s_%(resolution)s.%(ext)s" + if self.is_playlist: # Create output template with playlist subfolder - output_template: str = f"{base_path}/%(playlist_title)s/%(title)s_%(resolution)s.%(ext)s" + output_template: str = f"{base_path}/%(playlist_title)s/{filename_part}" else: - output_template: str = f"{base_path}/%(title)s_%(resolution)s.%(ext)s" + output_template: str = f"{base_path}/{filename_part}" cmd.extend(["-o", str(output_template)]) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 3b68fd7..535f73a 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -280,6 +280,25 @@ class DownloadSettingsDialog(QDialog): audio_format_group_box.setLayout(audio_format_layout) layout.addWidget(audio_format_group_box) + # --- Filename Format Section --- + filename_format_group_box = QGroupBox(_("settings.filename_format")) + filename_layout = QVBoxLayout() + + # Load current filename format from ConfigManager + self.filename_format_value = ConfigManager.get("filename_format") or "%(title)s_%(resolution)s.%(ext)s" + + self.filename_format_input = QLineEdit(self.filename_format_value) + self.filename_format_input.setPlaceholderText("%(title)s_%(resolution)s.%(ext)s") + filename_layout.addWidget(self.filename_format_input) + + filename_help_label = QLabel(_("settings.filename_format_help")) + filename_help_label.setWordWrap(True) + filename_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 10px;") + filename_layout.addWidget(filename_help_label) + + filename_format_group_box.setLayout(filename_layout) + layout.addWidget(filename_format_group_box) + # Dialog buttons (OK/Cancel) button_box = QDialogButtonBox() ok_button = button_box.addButton(_("buttons.ok"), QDialogButtonBox.ButtonRole.AcceptRole) @@ -332,6 +351,10 @@ class DownloadSettingsDialog(QDialog): audio_format_map = {0: "best", 1: "aac", 2: "mp3", 3: "flac", 4: "wav", 5: "opus", 6: "m4a", 7: "vorbis"} return audio_format_map.get(self.audio_format_combo.currentIndex(), "best") + def get_filename_format(self) -> str: + """Returns the filename format string.""" + return self.filename_format_input.text().strip() + def _create_styled_message_box(self, icon, title, text) -> QMessageBox: """Create a styled QMessageBox that matches the app theme.""" msg_box = QMessageBox(self) @@ -382,6 +405,11 @@ class DownloadSettingsDialog(QDialog): ConfigManager.set("force_audio_format", force_audio_format) ConfigManager.set("preferred_audio_format", preferred_audio_format) + # Save filename format + filename_format = self.get_filename_format() + if filename_format: + ConfigManager.set("filename_format", filename_format) + QMessageBox.information( self, _("settings.settings_saved_title"), diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 5b1c7bb..3a55ec9 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -678,6 +678,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): logger.warning(f"Thumbnail download failed: {e}", exc_info=True) # Optionally inform the user, but don't stop the main download + # Get filename format from config + filename_format = ConfigManager.get("filename_format") + # Create download thread with resolution in output template self.download_thread = DownloadThread( url=url, @@ -705,6 +708,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): preferred_output_format=self.preferred_output_format, # Pass preferred format force_audio_format=self.force_audio_format, # Pass force audio format setting preferred_audio_format=self.preferred_audio_format, # Pass preferred audio format + filename_format=filename_format, # Pass the filename format ) # Connect signals diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index 9281bb3..fef8ddc 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -318,6 +318,8 @@ "format_mkv": "MKV (Feature-rich)", "audio_format_settings": "Audio Format Settings", "force_audio_format": "Force audio format for audio-only downloads", + "filename_format": "Output Filename Format", + "filename_format_help": "Available variables: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standard yt-dlp output template syntax is supported.", "preferred_audio_format": "Preferred audio format:", "force_audio_format_help": "When enabled, audio-only downloads will be converted to your preferred format. This only applies when downloading audio formats.", "audio_format_best": "Best (No conversion)", diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index c4b5d3d..919d546 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -90,6 +90,7 @@ class ConfigManager: "preferred_output_format": "mp4", "force_audio_format": False, "preferred_audio_format": "best", + "filename_format": "%(title)s_%(resolution)s.%(ext)s", "cached_versions": { "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, "ffmpeg": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, From 656a77f94382b2d4fdfa17ee6c7dc68b4ce62aac Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 15:29:42 +0200 Subject: [PATCH 460/568] Document Output Filename Format option Add a README entry describing the new Output Filename Format setting under Download Settings, showing example variables such as %(title)s, %(uploader)s, and %(resolution)s so users can customize downloaded filenames. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bc9e4af..bf58777 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,7 @@ python -m ytsage.main c. Create a file named `cookies.txt` and paste the cookies into it d. Select the `cookies.txt` file in the app - **Save Download Path:** Save the default download path for future downloads. Available in **Download Settings → Download Path**. +- **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, `%(resolution)s`, etc. Available in **Download Settings → Filename Format**. - **Updater Tab:** Unified tab in Custom Options for managing all updates: - **yt-dlp Updates:** Check and update yt-dlp to the latest version, with release channel selection (Stable/Nightly) - **FFmpeg Version Checker:** Check your FFmpeg version with direct links to installation guides From 1fbc3a43c2ec7c421bca36258d4570bd23c88f0a Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 15:37:26 +0200 Subject: [PATCH 461/568] Add Reset button for filename format Add a Reset button next to the filename format input so users can restore the default pattern. The filename input and reset button are grouped in a QHBoxLayout; the button is fixed width (70) and sets the field back to the default %(title)s_%(resolution)s.%(ext)s. Also add the corresponding i18n key (buttons.reset -> "Reset") to en.json. --- .../ytsage_gui_dialogs/ytsage_dialogs_settings.py | 12 +++++++++++- ytsage/languages/en.json | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 535f73a..7798cfc 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -287,9 +287,19 @@ class DownloadSettingsDialog(QDialog): # Load current filename format from ConfigManager self.filename_format_value = ConfigManager.get("filename_format") or "%(title)s_%(resolution)s.%(ext)s" + # Input and Reset Button Layout + filename_input_layout = QHBoxLayout() + self.filename_format_input = QLineEdit(self.filename_format_value) self.filename_format_input.setPlaceholderText("%(title)s_%(resolution)s.%(ext)s") - filename_layout.addWidget(self.filename_format_input) + filename_input_layout.addWidget(self.filename_format_input) + + self.reset_format_button = QPushButton(_("buttons.reset")) + self.reset_format_button.setFixedWidth(70) + self.reset_format_button.clicked.connect(lambda: self.filename_format_input.setText("%(title)s_%(resolution)s.%(ext)s")) + filename_input_layout.addWidget(self.reset_format_button) + + filename_layout.addLayout(filename_input_layout) filename_help_label = QLabel(_("settings.filename_format_help")) filename_help_label.setWordWrap(True) diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index fef8ddc..fe74363 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -82,7 +82,8 @@ "select_defaults": "Select Defaults", "select_all": "Select All", "deselect_all": "Deselect All", - "open_folder": "Open folder location" + "open_folder": "Open folder location", + "reset": "Reset" }, "dialogs": { "custom_options": "Custom Options", From b1d003453784b088dce76b6d8926ec6c1a93883d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 15:40:37 +0200 Subject: [PATCH 462/568] Increase help label font size to 11px Bump help text font-size from 10px to 11px in DownloadSettingsDialog for improved readability. Updated style for force format, audio format, and filename format help labels in ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py. --- ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 7798cfc..ea91901 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -228,7 +228,7 @@ class DownloadSettingsDialog(QDialog): # Help text help_label = QLabel(_("settings.force_format_help")) help_label.setWordWrap(True) - help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 10px;") + help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 11px;") output_format_layout.addWidget(help_label) output_format_group_box.setLayout(output_format_layout) @@ -274,7 +274,7 @@ class DownloadSettingsDialog(QDialog): # Help text for audio format audio_help_label = QLabel(_("settings.force_audio_format_help")) audio_help_label.setWordWrap(True) - audio_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 10px;") + audio_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 11px;") audio_format_layout.addWidget(audio_help_label) audio_format_group_box.setLayout(audio_format_layout) @@ -303,7 +303,7 @@ class DownloadSettingsDialog(QDialog): filename_help_label = QLabel(_("settings.filename_format_help")) filename_help_label.setWordWrap(True) - filename_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 10px;") + filename_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 11px;") filename_layout.addWidget(filename_help_label) filename_format_group_box.setLayout(filename_layout) From 40069c039a747a5c5eca9f4f061ea6957beca2c6 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 15:48:11 +0200 Subject: [PATCH 463/568] Clarify README UI labels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update README text to reflect UI label changes: 'Force Output Format' now points to 'Download Settings → Output Format Settings', and 'Download History' instructs users to click the 'History' button. Improves accuracy of guidance in the docs. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bf58777..1add7e4 100644 --- a/README.md +++ b/README.md @@ -222,9 +222,9 @@ python -m ytsage.main - **FFmpeg/yt-dlp/Deno Detection:** Automatically detect FFmpeg/yt-dlp/Deno path and version. You can use this option by clicking on about button. - **Trim Video:** Download only specific parts of a video by specifying time ranges (HH:MM:SS format) - **Proxy Support:** Use a proxy server for downloads (e.g., `http://:`) -- **Force Output Format:** Force video downloads in a specific container format (e.g., `mp4`, `webm`, `mkv`). Available in **Download Settings → Audio Format Settings**. +- **Force Output Format:** Force video downloads in a specific container format (e.g., `mp4`, `webm`, `mkv`). Available in **Download Settings → Output Format Settings**. - **Audio Format Conversion:** Convert audio-only downloads to preferred formats (`AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`). Ideal for video editing software like DaVinci Resolve. Available in **Download Settings → Audio Format Settings**. -- **Download History:** View past downloads with thumbnails and statuses. You can use this option by clicking on download settings button. +- **Download History:** View past downloads with thumbnails and statuses. You can use this option by clicking on the **History** button. From 351504ade93abf1a99b5ea62977d472b44ade23b Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 15:55:10 +0200 Subject: [PATCH 464/568] Add reset and filename_format translations Add a "reset" button label and new "filename_format" + "filename_format_help" entries to multiple locale JSON files (ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh). The help text documents supported yt-dlp output template variables (%(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s) so the UI can accept a custom output filename format. --- ytsage/languages/ar.json | 5 ++++- ytsage/languages/de.json | 5 ++++- ytsage/languages/es.json | 5 ++++- ytsage/languages/fr.json | 5 ++++- ytsage/languages/hi.json | 5 ++++- ytsage/languages/id.json | 5 ++++- ytsage/languages/it.json | 5 ++++- ytsage/languages/ja.json | 5 ++++- ytsage/languages/pl.json | 5 ++++- ytsage/languages/pt.json | 5 ++++- ytsage/languages/ru.json | 5 ++++- ytsage/languages/tr.json | 5 ++++- ytsage/languages/zh.json | 5 ++++- 13 files changed, 52 insertions(+), 13 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 4160c53..6363bc7 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -57,6 +57,7 @@ "audio_only_resolution": "صوت فقط" }, "buttons": { + "reset": "إعادة تعيين", "download": "تنزيل", "pause": "إيقاف مؤقت", "resume": "استئناف", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (غير مضغوط)", "audio_format_opus": "Opus (فعال)", "audio_format_m4a": "M4A (أبل)", - "audio_format_vorbis": "Vorbis (مفتوح)" + "audio_format_vorbis": "Vorbis (مفتوح)", + "filename_format": "تنسيق اسم الملف الناتج", + "filename_format_help": "المتغيرات المتاحة: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. يتم دعم صيغة قالب إخراج yt-dlp القياسية." }, "main_ui": { "url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index eff03ee..e9a5a24 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -57,6 +57,7 @@ "audio_only_resolution": "Nur Audio" }, "buttons": { + "reset": "Zurücksetzen", "download": "Herunterladen", "pause": "Pausieren", "resume": "Fortsetzen", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (Unkomprimiert)", "audio_format_opus": "Opus (Effizient)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Offen)" + "audio_format_vorbis": "Vorbis (Offen)", + "filename_format": "Ausgabe-Dateinamenformat", + "filename_format_help": "Verfügbare Variablen: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Die Standard-yt-dlp-Ausgabevorlagensyntax wird unterstützt." }, "main_ui": { "url_placeholder": "YouTube-Video- oder Playlist-URL eingeben", diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index 1e4b5e2..64b2ff6 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -25,6 +25,7 @@ "ready": "Listo" }, "buttons": { + "reset": "Restablecer", "download": "Descargar", "pause": "Pausar", "resume": "Reanudar", @@ -309,7 +310,9 @@ "audio_format_wav": "WAV (Sin comprimir)", "audio_format_opus": "Opus (Eficiente)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Abierto)" + "audio_format_vorbis": "Vorbis (Abierto)", + "filename_format": "Formato de nombre de archivo", + "filename_format_help": "Variables disponibles: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Se admite la sintaxis estándar de plantilla de salida de yt-dlp." }, "main_ui": { "url_placeholder": "Ingresa URL de video o lista de YouTube", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 8954a3a..b50f688 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -57,6 +57,7 @@ "audio_only_resolution": "Audio uniquement" }, "buttons": { + "reset": "Réinitialiser", "download": "Télécharger", "pause": "Pause", "resume": "Reprendre", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (Non compressé)", "audio_format_opus": "Opus (Efficace)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Ouvert)" + "audio_format_vorbis": "Vorbis (Ouvert)", + "filename_format": "Format du nom de fichier", + "filename_format_help": "Variables disponibles : %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. La syntaxe standard des modèles de sortie yt-dlp est prise en charge." }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 18de247..0ccd1ab 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -57,6 +57,7 @@ "audio_only_resolution": "केवल ऑडियो" }, "buttons": { + "reset": "रीसेट", "download": "डाउनलोड", "pause": "रोकें", "resume": "जारी रखें", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (असंकुचित)", "audio_format_opus": "Opus (कुशल)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (खुला)" + "audio_format_vorbis": "Vorbis (खुला)", + "filename_format": "आउटपुट फ़ाइलनाम प्रारूप", + "filename_format_help": "उपलब्ध चर: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. मानक yt-dlp आउटपुट टेम्प्लेट सिंटैक्स समर्थित है." }, "main_ui": { "url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index 8f41c52..f1d5249 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -57,6 +57,7 @@ "audio_only_resolution": "Audio saja" }, "buttons": { + "reset": "Atur Ulang", "download": "Unduh", "pause": "Jeda", "resume": "Lanjutkan", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (Tidak terkompresi)", "audio_format_opus": "Opus (Efisien)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Terbuka)" + "audio_format_vorbis": "Vorbis (Terbuka)", + "filename_format": "Format Nama File Keluaran", + "filename_format_help": "Variabel yang tersedia: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Sintaks templat keluaran standar yt-dlp didukung." }, "main_ui": { "url_placeholder": "Masukkan URL video atau playlist YouTube", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 8b482ec..ab15d67 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -57,6 +57,7 @@ "audio_only_resolution": "Solo audio" }, "buttons": { + "reset": "Reimposta", "download": "Scarica", "pause": "Pausa", "resume": "Riprendi", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (Non compresso)", "audio_format_opus": "Opus (Efficiente)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Aperto)" + "audio_format_vorbis": "Vorbis (Aperto)", + "filename_format": "Formato nome file output", + "filename_format_help": "Variabili disponibili: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. È supportata la sintassi standard del modello di output di yt-dlp." }, "main_ui": { "url_placeholder": "Inserisci URL video YouTube o playlist", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index c8d04e2..79fd54d 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -57,6 +57,7 @@ "audio_only_resolution": "音声のみ" }, "buttons": { + "reset": "リセット", "download": "ダウンロード", "pause": "一時停止", "resume": "再開", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV(非圧縮)", "audio_format_opus": "Opus(効率的)", "audio_format_m4a": "M4A(Apple)", - "audio_format_vorbis": "Vorbis(オープン)" + "audio_format_vorbis": "Vorbis(オープン)", + "filename_format": "出力ファイル名の形式", + "filename_format_help": "利用可能な変数: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s。標準のyt-dlp出力テンプレート構文がサポートされています。" }, "main_ui": { "url_placeholder": "YouTubeの動画URLまたはプレイリストURLを入力", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 0a5a500..12623bd 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -57,6 +57,7 @@ "audio_only_resolution": "Tylko dźwięk" }, "buttons": { + "reset": "Zresetuj", "download": "Pobierz", "pause": "Wstrzymaj", "resume": "Wznów", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (Nieskompresowany)", "audio_format_opus": "Opus (Wydajny)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Otwarty)" + "audio_format_vorbis": "Vorbis (Otwarty)", + "filename_format": "Format nazwy pliku", + "filename_format_help": "Dostępne zmienne: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Obsługiwana jest standardowa składnia szablonu wyjściowego yt-dlp." }, "main_ui": { "url_placeholder": "Wprowadź URL wideo YouTube lub playlisty", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index 2fde332..e6aedef 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -57,6 +57,7 @@ "audio_only_resolution": "Apenas áudio" }, "buttons": { + "reset": "Redefinir", "download": "Baixar", "pause": "Pausar", "resume": "Retomar", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (Não comprimido)", "audio_format_opus": "Opus (Eficiente)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Aberto)" + "audio_format_vorbis": "Vorbis (Aberto)", + "filename_format": "Formato de nome de arquivo", + "filename_format_help": "Variáveis disponíveis: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. A sintaxe padrão de modelo de saída do yt-dlp é suportada." }, "main_ui": { "url_placeholder": "Digite a URL do vídeo ou playlist do YouTube", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index e88540e..cb8c2e2 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -57,6 +57,7 @@ "audio_only_resolution": "Только аудио" }, "buttons": { + "reset": "Сброс", "download": "Скачать", "pause": "Пауза", "resume": "Продолжить", @@ -326,7 +327,9 @@ "audio_format_wav": "WAV (Несжатый)", "audio_format_opus": "Opus (Эффективный)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Открытый)" + "audio_format_vorbis": "Vorbis (Открытый)", + "filename_format": "Формат имени файла", + "filename_format_help": "Доступные переменные: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Поддерживается стандартный синтаксис шаблона вывода yt-dlp." }, "main_ui": { "url_placeholder": "Введите URL видео или плейлиста YouTube", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 2e6701f..e8abda5 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -57,6 +57,7 @@ "audio_only_resolution": "Sadece ses" }, "buttons": { + "reset": "Sıfırla", "download": "İndir", "pause": "Duraklat", "resume": "Devam Et", @@ -324,7 +325,9 @@ "audio_format_wav": "WAV (Sıkıştırılmamış)", "audio_format_opus": "Opus (Verimli)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Açık)" + "audio_format_vorbis": "Vorbis (Açık)", + "filename_format": "Çıktı Dosya Adı Formatı", + "filename_format_help": "Kullanılabilir değişkenler: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standart yt-dlp çıktı şablonu sözdizimi desteklenir." }, "main_ui": { "url_placeholder": "YouTube video veya oynatma listesi URL'sini girin", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 3d0b3a4..f16979b 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -57,6 +57,7 @@ "audio_only_resolution": "仅音频" }, "buttons": { + "reset": "重置", "download": "下载", "pause": "暂停", "resume": "恢复", @@ -314,7 +315,9 @@ "audio_format_wav": "WAV(未压缩)", "audio_format_opus": "Opus(高效)", "audio_format_m4a": "M4A(Apple)", - "audio_format_vorbis": "Vorbis(开放)" + "audio_format_vorbis": "Vorbis(开放)", + "filename_format": "输出文件名格式", + "filename_format_help": "可用变量: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s。支持标准的 yt-dlp 输出模板语法。" }, "main_ui": { "url_placeholder": "输入 YouTube 视频或播放列表网址", From c8ecdf8eb64e0cdd41a3398dbc9f40e55d9209d7 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 16:03:39 +0200 Subject: [PATCH 465/568] Fix PyPI badge link and add platform badge Update README badges: change the PyPI badge URL to the official PyPI project page (pypi.org) and add a 'Supported Platforms' badge indicating cross-platform support (linked to releases). This improves badge accuracy and highlights platform compatibility in the project README. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1add7e4..2f52658 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,13 @@ ytsage-wordmark YTSage Interface -[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://badge.fury.io/py/ytsage) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) [![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) [![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=4b5563&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-4b5563?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) **A modern YouTube downloader with a clean PySide6 interface.** Download videos in any quality, extract audio, fetch subtitles, and more. From 9f1381d27e4a2d57c9464a23bff6a015c40f1a1a Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 19:01:37 +0200 Subject: [PATCH 466/568] Update format table directly from analysis Stop storing result_data["all_formats"] on the mixin and instead call update_format_table(result_data["all_formats"]). Replaces the previous filter_formats() call so the format table is populated directly from the fresh analysis result, avoiding reliance on a separate self.all_formats attribute. --- ytsage/gui/ytsage_gui_analysis.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ytsage/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py index 8abf141..58b6308 100644 --- a/ytsage/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -389,7 +389,6 @@ class AnalysisMixin: self.playlist_info = result_data["playlist_info"] self.playlist_entries = result_data["playlist_entries"] self.video_info = result_data["video_info"] - self.all_formats = result_data["all_formats"] self.available_subtitles = result_data["available_subtitles"] self.available_automatic_subtitles = result_data["available_automatic_subtitles"] self.selected_playlist_items = None @@ -413,7 +412,7 @@ class AnalysisMixin: # Update format table self.video_button.setChecked(True) self.audio_button.setChecked(False) - self.filter_formats() + self.update_format_table(result_data["all_formats"]) self.signals.update_status.emit(_("main_ui.analysis_complete")) From 3d5dfd6d4858ec67212bd7958f7329d2121ce48a Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 19:13:47 +0200 Subject: [PATCH 467/568] Add Inno Setup installers and build step Add Inno Setup compilation to the Windows CI: the workflow now installs Inno Setup via choco, adjusts PATH, and runs iscc to compile two installers (standard and -ffmpeg) using /DMyAppVersion,/DMyAppExeName and /DSourceDir, placing outputs into repo/artifacts and failing the job on non-zero exit. Also add two new Inno Setup scripts in setup-scripts/: Setup-windows.iss and Setup-windows-ffmpeg.iss. The scripts include metadata, multi-language support, file/icon/registry/run entries, and Pascal code to create or update the user's ytsage_config.json language setting; the -ffmpeg script adds an optional task to append the app folder to the user's PATH. --- .github/workflows/build-windows.yml | 33 ++++++ setup-scripts/Setup-windows-ffmpeg.iss | 151 +++++++++++++++++++++++++ setup-scripts/Setup-windows.iss | 129 +++++++++++++++++++++ 3 files changed, 313 insertions(+) create mode 100644 setup-scripts/Setup-windows-ffmpeg.iss create mode 100644 setup-scripts/Setup-windows.iss diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 42a554e..7b205b2 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -449,6 +449,39 @@ jobs: Write-Host " Artifacts directory not found!" } + - name: Create Installer (Inno Setup) + shell: powershell + run: | + $version = "${{ steps.get_version.outputs.VERSION }}" + + # Install Inno Setup + choco install innosetup --no-progress + + # Add matches generally C:\Program Files (x86)\Inno Setup 6 + $env:Path = "C:\Program Files (x86)\Inno Setup 6;$env:Path" + + # Compile + $exeName = "YTSage-v$version.exe" + Write-Host "Compiling installer for $exeName..." + + # Note: Setup-windows.iss is in setup-scripts/ + # OutputDir is ..\artifacts (relative to script) -> repo/artifacts + # SourceDir is ..\dist\YTSage (relative to script) -> repo/dist/YTSage + + iscc /DMyAppVersion="$version" /DMyAppExeName="$exeName" /DSourceDir="..\dist\YTSage" "setup-scripts\Setup-windows.iss" + + # Compile FFmpeg Installer + $exeNameFFmpeg = "YTSage-v$version-ffmpeg.exe" + Write-Host "Compiling FFmpeg installer for $exeNameFFmpeg..." + iscc /DMyAppVersion="$version" /DMyAppExeName="$exeNameFFmpeg" /DSourceDir="..\dist\YTSage-FFmpeg" "setup-scripts\Setup-windows-ffmpeg.iss" + + if ($LASTEXITCODE -eq 0) { + Write-Host "Installer compilation successful." + } else { + Write-Host "Installer compilation failed." + exit 1 + } + - name: Create draft release uses: softprops/action-gh-release@v2 with: diff --git a/setup-scripts/Setup-windows-ffmpeg.iss b/setup-scripts/Setup-windows-ffmpeg.iss new file mode 100644 index 0000000..9ad8a10 --- /dev/null +++ b/setup-scripts/Setup-windows-ffmpeg.iss @@ -0,0 +1,151 @@ +; Script generated by the Inno Setup Script Wizard. + +#define MyAppName "YTSage" +#ifndef MyAppVersion + #define MyAppVersion "0.0.0" +#endif +#define MyAppPublisher "oop7" +#define MyAppURL "https://github.com/oop7/YTSage/" +#ifndef MyAppExeName + #define MyAppExeName "YTSage-ffmpeg.exe" +#endif +#ifndef SourceDir + #define SourceDir "..\dist\YTSage-FFmpeg" +#endif + +[Setup] +AppId={{56997322-2A3A-4338-AEF1-C3C8BB28AC4F} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={autopf}\{#MyAppName} +UninstallDisplayIcon={app}\{#MyAppExeName} +ArchitecturesAllowed=x64compatible +ArchitecturesInstallIn64BitMode=x64compatible +DisableProgramGroupPage=yes +LicenseFile=..\LICENSE +PrivilegesRequired=lowest +PrivilegesRequiredOverridesAllowed=dialog +OutputBaseFilename=YTSage-v{#MyAppVersion}-ffmpeg-Setup +SolidCompression=yes +WizardStyle=modern +OutputDir=..\artifacts + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "arabic"; MessagesFile: "compiler:Languages\Arabic.isl" +Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" +Name: "french"; MessagesFile: "compiler:Languages\French.isl" +Name: "german"; MessagesFile: "compiler:Languages\German.isl" +Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" +Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" +Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" +Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" +Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" +Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; +Name: "addtopath"; Description: "Add ffmpeg to user PATH environment variable"; GroupDescription: "Additional options:"; Flags: unchecked + +[Files] +Source: "{#SourceDir}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#SourceDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs + +[Icons] +Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Registry] +Root: HKCU; Subkey: "Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}"; Tasks: addtopath; Check: NeedsAddPath('{app}') + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent + +[Code] +function NeedsAddPath(Param: string): boolean; +var + OrigPath: string; + ParamExpanded: string; +begin + // Expand the setup constants like {app} from Param + ParamExpanded := ExpandConstant(Param); + if not RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', OrigPath) then + begin + Result := True; + exit; + end; + // Look for the path with leading and trailing semicolon + Result := Pos(';' + UpperCase(ParamExpanded) + ';', ';' + UpperCase(OrigPath) + ';') = 0; + if Result = True then + Result := Pos(';' + UpperCase(ParamExpanded) + '\;', ';' + UpperCase(OrigPath) + ';') = 0; +end; + +procedure UpdateLanguageConfig; +var + LanguageCode: string; + ConfigPath: string; + FileContent: AnsiString; + JsonContent: string; + LangPattern: string; + P_Start, P_End: Integer; +begin + if ActiveLanguage = 'english' then LanguageCode := 'en' + else if ActiveLanguage = 'arabic' then LanguageCode := 'ar' + else if ActiveLanguage = 'brazilianportuguese' then LanguageCode := 'pt-br' + else if ActiveLanguage = 'french' then LanguageCode := 'fr' + else if ActiveLanguage = 'german' then LanguageCode := 'de' + else if ActiveLanguage = 'italian' then LanguageCode := 'it' + else if ActiveLanguage = 'japanese' then LanguageCode := 'ja' + else if ActiveLanguage = 'polish' then LanguageCode := 'pl' + else if ActiveLanguage = 'portuguese' then LanguageCode := 'pt' + else if ActiveLanguage = 'russian' then LanguageCode := 'ru' + else if ActiveLanguage = 'spanish' then LanguageCode := 'es' + else if ActiveLanguage = 'turkish' then LanguageCode := 'tr' + else LanguageCode := 'en'; + + ConfigPath := ExpandConstant('{localappdata}\YTSage\data\ytsage_config.json'); + + if not DirExists(ExtractFilePath(ConfigPath)) then + ForceDirectories(ExtractFilePath(ConfigPath)); + + if FileExists(ConfigPath) then + begin + if LoadStringFromFile(ConfigPath, FileContent) then + begin + JsonContent := String(FileContent); + LangPattern := '"language": "'; + P_Start := Pos(LangPattern, JsonContent); + if P_Start > 0 then + begin + P_Start := P_Start + Length(LangPattern); + P_End := Pos('"', Copy(JsonContent, P_Start, Length(JsonContent))); + if P_End > 0 then + begin + Delete(JsonContent, P_Start, P_End - 1); + Insert(LanguageCode, JsonContent, P_Start); + SaveStringToFile(ConfigPath, AnsiString(JsonContent), False); + end; + end; + end; + end + else + begin + JsonContent := '{' + #13#10 + + ' "language": "' + LanguageCode + '"' + #13#10 + + '}'; + SaveStringToFile(ConfigPath, AnsiString(JsonContent), False); + end; +end; + +procedure CurStepChanged(CurStep: TSetupStep); +begin + if CurStep = ssPostInstall then + begin + UpdateLanguageConfig(); + end; +end; diff --git a/setup-scripts/Setup-windows.iss b/setup-scripts/Setup-windows.iss new file mode 100644 index 0000000..1f1228c --- /dev/null +++ b/setup-scripts/Setup-windows.iss @@ -0,0 +1,129 @@ +; Script generated by the Inno Setup Script Wizard. + +#define MyAppName "YTSage" +#ifndef MyAppVersion + #define MyAppVersion "0.0.0" +#endif +#define MyAppPublisher "oop7" +#define MyAppURL "https://github.com/oop7/YTSage/" +#ifndef MyAppExeName + #define MyAppExeName "YTSage.exe" +#endif +#ifndef SourceDir + #define SourceDir "..\dist\YTSage" +#endif + +[Setup] +AppId={{AE618DBF-DD56-462D-9C09-2C2B7A41B201} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={autopf}\{#MyAppName} +UninstallDisplayIcon={app}\{#MyAppExeName} +ArchitecturesAllowed=x64compatible +ArchitecturesInstallIn64BitMode=x64compatible +DisableProgramGroupPage=yes +LicenseFile=..\LICENSE +PrivilegesRequired=lowest +PrivilegesRequiredOverridesAllowed=dialog +OutputBaseFilename=YTSage-v{#MyAppVersion}-Setup +SolidCompression=yes +WizardStyle=modern +OutputDir=..\artifacts + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "arabic"; MessagesFile: "compiler:Languages\Arabic.isl" +Name: "brazilianportuguese"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl" +Name: "french"; MessagesFile: "compiler:Languages\French.isl" +Name: "german"; MessagesFile: "compiler:Languages\German.isl" +Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" +Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl" +Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl" +Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" +Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" +Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; + +[Files] +Source: "{#SourceDir}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion +Source: "{#SourceDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs + +[Icons] +Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent + +[Code] +procedure UpdateLanguageConfig; +var + LanguageCode: string; + ConfigPath: string; + FileContent: AnsiString; + JsonContent: string; + LangPattern: string; + P_Start, P_End: Integer; +begin + if ActiveLanguage = 'english' then LanguageCode := 'en' + else if ActiveLanguage = 'arabic' then LanguageCode := 'ar' + else if ActiveLanguage = 'brazilianportuguese' then LanguageCode := 'pt-br' + else if ActiveLanguage = 'french' then LanguageCode := 'fr' + else if ActiveLanguage = 'german' then LanguageCode := 'de' + else if ActiveLanguage = 'italian' then LanguageCode := 'it' + else if ActiveLanguage = 'japanese' then LanguageCode := 'ja' + else if ActiveLanguage = 'polish' then LanguageCode := 'pl' + else if ActiveLanguage = 'portuguese' then LanguageCode := 'pt' + else if ActiveLanguage = 'russian' then LanguageCode := 'ru' + else if ActiveLanguage = 'spanish' then LanguageCode := 'es' + else if ActiveLanguage = 'turkish' then LanguageCode := 'tr' + else LanguageCode := 'en'; + + ConfigPath := ExpandConstant('{localappdata}\YTSage\data\ytsage_config.json'); + + if not DirExists(ExtractFilePath(ConfigPath)) then + ForceDirectories(ExtractFilePath(ConfigPath)); + + if FileExists(ConfigPath) then + begin + if LoadStringFromFile(ConfigPath, FileContent) then + begin + JsonContent := String(FileContent); + LangPattern := '"language": "'; + P_Start := Pos(LangPattern, JsonContent); + if P_Start > 0 then + begin + P_Start := P_Start + Length(LangPattern); + P_End := Pos('"', Copy(JsonContent, P_Start, Length(JsonContent))); + if P_End > 0 then + begin + Delete(JsonContent, P_Start, P_End - 1); + Insert(LanguageCode, JsonContent, P_Start); + SaveStringToFile(ConfigPath, AnsiString(JsonContent), False); + end; + end; + end; + end + else + begin + JsonContent := '{' + #13#10 + + ' "language": "' + LanguageCode + '"' + #13#10 + + '}'; + SaveStringToFile(ConfigPath, AnsiString(JsonContent), False); + end; +end; + +procedure CurStepChanged(CurStep: TSetupStep); +begin + if CurStep = ssPostInstall then + begin + UpdateLanguageConfig(); + end; +end; From d2bc08e93777c02cb4a198fec09c4bd8dcdaa853 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Feb 2026 19:15:07 +0200 Subject: [PATCH 468/568] Bump package version to 5.0.0b4 Update __version__ in ytsage/__init__.py from 5.0.0b3 to 5.0.0b4 to mark the next beta release. --- ytsage/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ytsage/__init__.py b/ytsage/__init__.py index ec46976..ebe747e 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.0b3" +__version__ = "5.0.0b4" __author__ = "oop7" From d250c1b05f3f32fe83001846b117d16cd1449979 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 8 Feb 2026 17:41:13 +0200 Subject: [PATCH 469/568] Add opt-in beta update UI and checks Introduce an opt-in beta updates feature: add a styled "Receive Beta Updates" checkbox in the Updater UI with i18n strings, load/save logic in the custom options dialog, and a default config key (check_beta_updates=false). Add _fetch_github_beta_version to the update thread to query GitHub releases (selecting the highest tag) and emit update_available for newer beta builds. When beta checking is enabled, the thread will perform the GitHub beta check and return early to avoid conflicting with the PyPI check. This enables users to opt into preview releases safely. --- .../ytsage_dialogs_custom.py | 6 +++ .../ytsage_dialogs_updater.py | 42 +++++++++++++++ ytsage/gui/ytsage_gui_main.py | 54 +++++++++++++++++++ ytsage/languages/en.json | 2 + ytsage/utils/ytsage_config_manager.py | 1 + 5 files changed, 105 insertions(+) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 5cd798c..e8f3d28 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -966,6 +966,12 @@ class CustomOptionsDialog(QDialog): logger.info(f"Saving auto-update settings: enabled={enabled}, frequency={frequency}") result = update_auto_update_settings(enabled, frequency) logger.info(f"Auto-update settings save result: {result}") + + # Save beta update setting + beta_enabled = self.updater_tab.get_beta_update_setting() + ConfigManager.set("check_beta_updates", beta_enabled) + logger.info(f"Saved beta updates setting: {beta_enabled}") + except Exception as e: logger.exception(f"Error saving auto-update settings: {e}") diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py index 39a29c7..eca6651 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py @@ -441,6 +441,40 @@ class UpdaterTabWidget(QWidget): deno_layout.addLayout(deno_button_layout) layout.addWidget(deno_group) + + # === App Updates Section === + app_update_group = QGroupBox(_("settings.app_updates_title")) + app_update_layout = QVBoxLayout() + + self.beta_updates_checkbox = QCheckBox(_("settings.check_beta_updates")) + self.beta_updates_checkbox.setStyleSheet( + """ + QCheckBox { + color: #ffffff; + spacing: 5px; + padding: 3px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + """ + ) + app_update_layout.addWidget(self.beta_updates_checkbox) + + app_update_group.setLayout(app_update_layout) + layout.addWidget(app_update_group) # === yt-dlp Release Channel Section === ytdlp_channel_group = QGroupBox(_("settings.ytdlp_channel")) @@ -618,6 +652,10 @@ class UpdaterTabWidget(QWidget): # Set checkbox self.auto_update_enabled.setChecked(auto_settings["enabled"]) + # Load beta setting + beta_enabled = ConfigManager.get("check_beta_updates") or False + self.beta_updates_checkbox.setChecked(beta_enabled) + # Set current selection based on saved settings current_frequency = auto_settings["frequency"] if current_frequency == "startup": @@ -655,6 +693,10 @@ class UpdaterTabWidget(QWidget): frequency = "weekly" return enabled, frequency + + def get_beta_update_setting(self) -> bool: + """Returns the beta update setting from the dialog.""" + return self.beta_updates_checkbox.isChecked() def _on_channel_changed(self, checked: bool) -> None: """Handle channel selection change.""" diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 3a55ec9..250338c 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -116,9 +116,63 @@ class UpdateCheckThread(QThread): # Silently fallback if GitHub API fails (rate limiting, network issues, etc.) return fallback + def _fetch_github_beta_version(self) -> tuple[str | None, str | None, str | None]: + """Fetch latest version code from GitHub releases (including betas). Returns (version, tag, changelog).""" + try: + response = requests.get( + "https://api.github.com/repos/oop7/YTSage/releases", + headers={"Accept": "application/vnd.github.v3+json"}, + timeout=self.GITHUB_TIMEOUT, + ) + if response.status_code != 200: + logger.debug(f"GitHub Releases API returned {response.status_code}") + return None, None, None + + releases = response.json() + if not releases: + return None, None, None + + latest_release = None + highest_ver = version.parse("0.0.0") + + for rel in releases: + tag = rel.get("tag_name", "") + ver_str = tag.lstrip("v") + try: + v = version.parse(ver_str) + if v > highest_ver: + highest_ver = v + latest_release = rel + except Exception: + continue + + if latest_release: + return str(highest_ver), latest_release.get("tag_name"), latest_release.get("body") + return None, None, None + + except Exception as e: + logger.debug(f"GitHub beta check error: {e}") + return None, None, None + def run(self): """Check for updates using parallel network requests for better performance.""" try: + # Check for beta updates if enabled + check_beta = ConfigManager.get("check_beta_updates") + + if check_beta: + latest_ver_str, tag, changelog = self._fetch_github_beta_version() + + if latest_ver_str and version.parse(latest_ver_str) > version.parse(self.current_version): + release_url = f"https://github.com/oop7/YTSage/releases/tag/{tag}" + if not changelog: + changelog = "View the full changelog on GitHub." + self.update_available.emit(latest_ver_str, release_url, changelog) + # Return if beta check completes (whether update found or not), + # effectively skipping PyPI check if beta is enabled. + # This ensures we don't downgrade or conflict. + return + # Use ThreadPoolExecutor to make both requests in parallel # This reduces total wait time from potentially 15s to ~8s max with ThreadPoolExecutor(max_workers=2) as executor: diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index fe74363..f9c59a0 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -298,6 +298,8 @@ "ytdlp_channel_switched": "✅ Successfully switched to {channel} channel!", "ytdlp_channel_switch_failed": "❌ Failed to switch channel: {error}", "ytdlp_current_channel": "Current channel: {channel}", + "app_updates_title": "YTSage Updates", + "check_beta_updates": "Receive Beta Updates", "auto_update_title": "Auto-Update Settings", "auto_update_header": "🔄 Auto-Update Settings", "auto_update_description": "Configure automatic updates for yt-dlp to ensure you always have the latest features and bug fixes.", diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index 919d546..4c58d58 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -83,6 +83,7 @@ class ConfigManager: "geo_proxy_url": None, "auto_update_ytdlp": True, "auto_update_frequency": "daily", + "check_beta_updates": False, "last_update_check": 0, "language": "en", "ytdlp_channel": "stable", From 04e043c68972298a087658383a7171ec8471cbe8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 8 Feb 2026 17:43:24 +0200 Subject: [PATCH 470/568] Add app update strings to translations Add 'app_updates_title' and 'check_beta_updates' translation keys to language files (ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh). These localized strings support the app updates settings UI (including an option to receive beta updates) and keep translations consistent with the existing auto-update-related entries. --- ytsage/languages/ar.json | 2 ++ ytsage/languages/de.json | 2 ++ ytsage/languages/es.json | 2 ++ ytsage/languages/fr.json | 2 ++ ytsage/languages/hi.json | 2 ++ ytsage/languages/id.json | 2 ++ ytsage/languages/it.json | 2 ++ ytsage/languages/ja.json | 2 ++ ytsage/languages/pl.json | 2 ++ ytsage/languages/pt.json | 2 ++ ytsage/languages/ru.json | 2 ++ ytsage/languages/tr.json | 2 ++ ytsage/languages/zh.json | 2 ++ 13 files changed, 26 insertions(+) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 6363bc7..42a6135 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ تم التبديل بنجاح إلى قناة {channel}!", "ytdlp_channel_switch_failed": "❌ فشل تبديل القناة: {error}", "ytdlp_current_channel": "القناة الحالية: {channel}", + "app_updates_title": "تحديثات YTSage", + "check_beta_updates": "تلقي تحديثات تجريبية (Beta)", "auto_update_title": "إعدادات التحديثات التلقائية", "auto_update_header": "🔄 إعدادات التحديثات التلقائية", "auto_update_description": "قم بتكوين التحديثات التلقائية لـ yt-dlp لضمان الحصول على أحدث الميزات وإصلاحات الأخطاء.", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index e9a5a24..41b6817 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ Erfolgreich zu {channel}-Kanal gewechselt!", "ytdlp_channel_switch_failed": "❌ Kanalwechsel fehlgeschlagen: {error}", "ytdlp_current_channel": "Aktueller Kanal: {channel}", + "app_updates_title": "YTSage-Updates", + "check_beta_updates": "Beta-Updates erhalten", "auto_update_title": "Auto-Update-Einstellungen", "auto_update_header": "🔄 Auto-Update-Einstellungen", "auto_update_description": "Konfigurieren Sie automatische Updates für yt-dlp, um sicherzustellen, dass Sie immer die neuesten Funktionen und Fehlerbehebungen haben.", diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index 64b2ff6..cf2436d 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -280,6 +280,8 @@ "ytdlp_channel_switched": "✅ ¡Cambiado exitosamente al canal {channel}!", "ytdlp_channel_switch_failed": "❌ Error al cambiar de canal: {error}", "ytdlp_current_channel": "Canal actual: {channel}", + "app_updates_title": "Actualizaciones de YTSage", + "check_beta_updates": "Recibir actualizaciones beta", "auto_update_title": "Configuración de Auto-Actualización", "auto_update_header": "🔄 Configuración de Auto-Actualización", "auto_update_description": "Configura las actualizaciones automáticas de yt-dlp para asegurar que siempre tengas las últimas funciones y correcciones de errores.", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index b50f688..6d38e3c 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ Passage réussi au canal {channel} !", "ytdlp_channel_switch_failed": "❌ Échec du changement de canal : {error}", "ytdlp_current_channel": "Canal actuel : {channel}", + "app_updates_title": "Mises à jour YTSage", + "check_beta_updates": "Recevoir les mises à jour bêta", "auto_update_title": "Paramètres de mise à jour automatique", "auto_update_header": "🔄 Paramètres de mise à jour automatique", "auto_update_description": "Configurez les mises à jour automatiques pour yt-dlp afin de vous assurer d'avoir toujours les dernières fonctionnalités et corrections de bogues.", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 0ccd1ab..a202285 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ सफलतापूर्वक {channel} चैनल पर स्विच किया गया!", "ytdlp_channel_switch_failed": "❌ चैनल स्विच करना विफल: {error}", "ytdlp_current_channel": "वर्तमान चैनल: {channel}", + "app_updates_title": "YTSage अपडेट", + "check_beta_updates": "बीटा अपडेट प्राप्त करें", "auto_update_title": "स्वचालित अपडेट सेटिंग्स", "auto_update_header": "🔄 स्वचालित अपडेट सेटिंग्स", "auto_update_description": "yt-dlp के लिए स्वचालित अपडेट कॉन्फ़िगर करें ताकि आपके पास हमेशा नवीनतम सुविधाएं और बग फिक्स हों।", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index f1d5249..ce23cc2 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ Berhasil beralih ke saluran {channel}!", "ytdlp_channel_switch_failed": "❌ Gagal beralih saluran: {error}", "ytdlp_current_channel": "Saluran saat ini: {channel}", + "app_updates_title": "Pembaruan YTSage", + "check_beta_updates": "Terima Pembaruan Beta", "auto_update_title": "Pengaturan pembaruan otomatis", "auto_update_header": "🔄 Pengaturan pembaruan otomatis", "auto_update_description": "Konfigurasi pembaruan otomatis untuk yt-dlp untuk memastikan Anda selalu memiliki fitur dan perbaikan bug terbaru.", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index ab15d67..5343b0d 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ Passaggio al canale {channel} riuscito!", "ytdlp_channel_switch_failed": "❌ Impossibile cambiare canale: {error}", "ytdlp_current_channel": "Canale attuale: {channel}", + "app_updates_title": "Aggiornamenti YTSage", + "check_beta_updates": "Ricevi aggiornamenti beta", "auto_update_title": "Impostazioni aggiornamenti automatici", "auto_update_header": "🔄 Impostazioni aggiornamenti automatici", "auto_update_description": "Configura gli aggiornamenti automatici per yt-dlp per garantire le ultime funzionalità e correzioni bug.", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 79fd54d..0dfe15f 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ {channel}チャンネルへの切り替えに成功しました!", "ytdlp_channel_switch_failed": "❌ チャンネルの切り替えに失敗しました: {error}", "ytdlp_current_channel": "現在のチャンネル: {channel}", + "app_updates_title": "YTSageの更新", + "check_beta_updates": "ベータ版の更新を受け取る", "auto_update_title": "自動更新設定", "auto_update_header": "🔄 自動更新設定", "auto_update_description": "yt-dlpの自動更新を設定して、最新の機能とバグ修正を確実に入手してください。", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 12623bd..4388c01 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ Pomyślnie przełączono na kanał {channel}!", "ytdlp_channel_switch_failed": "❌ Nie udało się przełączyć kanału: {error}", "ytdlp_current_channel": "Aktualny kanał: {channel}", + "app_updates_title": "Aktualizacje YTSage", + "check_beta_updates": "Otrzymuj aktualizacje beta", "auto_update_title": "Ustawienia automatycznych aktualizacji", "auto_update_header": "🔄 Ustawienia automatycznych aktualizacji", "auto_update_description": "Skonfiguruj automatyczne aktualizacje dla yt-dlp, aby zapewnić najnowsze funkcje i poprawki błędów.", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index e6aedef..eaf25cc 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ Mudado com sucesso para o canal {channel}!", "ytdlp_channel_switch_failed": "❌ Falha ao trocar de canal: {error}", "ytdlp_current_channel": "Canal atual: {channel}", + "app_updates_title": "Atualizações do YTSage", + "check_beta_updates": "Receber atualizações beta", "auto_update_title": "Configurações de Auto-Atualização", "auto_update_header": "🔄 Configurações de Auto-Atualização", "auto_update_description": "Configure atualizações automáticas para o yt-dlp para garantir que você sempre tenha os recursos mais recentes e correções de bugs.", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index cb8c2e2..9da7f1e 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -297,6 +297,8 @@ "ytdlp_channel_switched": "✅ Успешно переключено на канал {channel}!", "ytdlp_channel_switch_failed": "❌ Не удалось переключить канал: {error}", "ytdlp_current_channel": "Текущий канал: {channel}", + "app_updates_title": "Обновления YTSage", + "check_beta_updates": "Получать бета-обновления", "auto_update_title": "Настройки автообновления", "auto_update_header": "🔄 Настройки автообновления", "auto_update_description": "Настройте автоматические обновления для yt-dlp, чтобы всегда иметь последние функции и исправления ошибок.", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index e8abda5..aa38369 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -295,6 +295,8 @@ "ytdlp_channel_switched": "✅ Başarıyla {channel} kanalına geçildi!", "ytdlp_channel_switch_failed": "❌ Kanal değiştirilemedi: {error}", "ytdlp_current_channel": "Mevcut kanal: {channel}", + "app_updates_title": "YTSage Güncellemeleri", + "check_beta_updates": "Beta Güncellemelerini Al", "auto_update_title": "Otomatik güncelleme ayarları", "auto_update_header": "🔄 Otomatik güncelleme ayarları", "auto_update_description": "En son özelliklere ve hata düzeltmelerine sahip olmak için yt-dlp otomatik güncellemelerini yapılandırın.", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index f16979b..3f4128f 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -285,6 +285,8 @@ "ytdlp_channel_switched": "✅ 成功切换到 {channel} 渠道!", "ytdlp_channel_switch_failed": "❌ 切换渠道失败:{error}", "ytdlp_current_channel": "当前渠道:{channel}", + "app_updates_title": "YTSage 更新", + "check_beta_updates": "接收测试版更新", "auto_update_title": "自动更新设置", "auto_update_header": "🔄 自动更新设置", "auto_update_description": "为 yt-dlp 配置自动更新,以确保您始终拥有最新功能和错误修复。", From 96cade32267268822f374eac948959fd641adc81 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 8 Feb 2026 19:39:18 +0200 Subject: [PATCH 471/568] Add PyPI build workflow and docs Introduce a new GitHub Actions workflow (build-pypi.yml) to build Python Wheel and Source Distribution and upload them as release assets. Integrate the PyPI job into the release-all workflow and update .github/CI_CD_README.md to document the PyPI artifacts and the new build-pypi.yml entry. The workflow uses Python 3.13, installs build tooling, runs build_release.py, and uploads dist/* via softprops/action-gh-release. --- .github/CI_CD_README.md | 10 +++++-- .github/workflows/build-pypi.yml | 49 +++++++++++++++++++++++++++++++ .github/workflows/release-all.yml | 6 ++++ 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build-pypi.yml diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index 12ac0fd..e68969d 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -8,8 +8,8 @@ This repository uses GitHub Actions to automatically build and release YTSage fo The workflows are triggered manually via the GitHub Actions "Workflow Dispatch" interface. This allows you to specify the version number explicitly (e.g., `1.0.0`) at runtime. ### Workflows -- **Create All Releases** (`release-all.yml`): The master workflow. Triggering this will automatically run the Windows, Linux, and macOS builds in parallel with the version you provide. -- **Platform Specific**: You can also trigger `Build Windows Release`, `Build Linux Release`, or `Build macOS Release` individually if you only need updates for one OS. +- **Create All Releases** (`release-all.yml`): The master workflow. Triggering this will automatically run the Windows, Linux, macOS, and PyPI builds in parallel with the version you provide. +- **Platform Specific**: You can also trigger `Build Windows Release`, `Build Linux Release`, `Build macOS Release`, or `Build PyPI Package` individually. ### Build Process 1. **Setup**: Uses Python 3.13 on all platforms @@ -54,8 +54,13 @@ The workflow creates the following files based on the platform: - `YTSage-v{version}-arm64.app.zip` - Zipped application bundle - `YTSage-v{version}-arm64.dmg` - Disk image installer +#### PyPI +- `ytsage-{version}-py3-none-any.whl` - Python Wheel +- `ytsage-{version}.tar.gz` - Source Distribution + ## Workflow Features +- **PyPI**: Standard Python build system (Wheel & Source) ### Multi-Platform Support - **Windows**: Uses PowerShell scripts with cx_Freeze - **Linux**: Uses Bash scripts with cx_Freeze, creates AppImage, RPM, and DEB @@ -91,6 +96,7 @@ The workflow files are located in `.github/workflows/`: - `release-all.yml` - Master workflow that orchestrates the others - `build-windows.yml` - Windows builds logic - `build-linux.yml` - Linux builds logic +- `build-pypi.yml` - PyPI build logic - `build-macos.yml` - macOS builds logic ### Key Configuration Options diff --git a/.github/workflows/build-pypi.yml b/.github/workflows/build-pypi.yml new file mode 100644 index 0000000..274fb34 --- /dev/null +++ b/.github/workflows/build-pypi.yml @@ -0,0 +1,49 @@ +name: Build PyPI Package + +on: + workflow_dispatch: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string + workflow_call: + inputs: + version: + description: 'Version name for the release (e.g., 1.0.0)' + required: true + type: string + +permissions: + contents: write + +jobs: + build-pypi: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: '3.13' + + - name: Install build dependencies + run: | + python -m pip install --upgrade pip + pip install build + + - name: Build PyPI package + run: | + python build_release.py + + - name: Upload Release Assets + uses: softprops/action-gh-release@v2 + with: + tag_name: v${{ inputs.version || github.event.inputs.version }} + files: | + dist/* + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-all.yml b/.github/workflows/release-all.yml index c46dd44..306bbda 100644 --- a/.github/workflows/release-all.yml +++ b/.github/workflows/release-all.yml @@ -29,3 +29,9 @@ jobs: with: version: ${{ inputs.version }} secrets: inherit + + release-pypi: + uses: ./.github/workflows/build-pypi.yml + with: + version: ${{ inputs.version }} + secrets: inherit From f33122fecdd5e8a0e58ba5ca289734ad58c74865 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Feb 2026 13:50:03 +0200 Subject: [PATCH 472/568] Add Open Logs button and simplify bug template Add an 'Open Logs' button to the About dialog that opens the app log folder via QDesktopServices/QUrl, ensures the log directory exists, and logs warnings/errors. Include minimal styling and a handler (open_logs_folder) that uses APP_LOG_DIR and the logger. Also update settings dialog imports to include QUrl/QDesktopServices and APP_LOG_DIR. Simplify the bug report template to instruct users to open logs from the About dialog and attach ytsage.log / ytsage_error.log. --- .github/ISSUE_TEMPLATE/🐛-bug-report.md | 12 ++--- .../ytsage_gui_dialogs/ytsage_dialogs_base.py | 47 ++++++++++++++++++- .../ytsage_dialogs_settings.py | 4 +- 3 files changed, 53 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/🐛-bug-report.md b/.github/ISSUE_TEMPLATE/🐛-bug-report.md index 2710703..80d2c7a 100644 --- a/.github/ISSUE_TEMPLATE/🐛-bug-report.md +++ b/.github/ISSUE_TEMPLATE/🐛-bug-report.md @@ -45,14 +45,10 @@ assignees: '' Attach screenshots (for GUI issues) or terminal logs (for CLI errors). To collect log files: - 1. Go to the logs folder: - - Windows: %LOCALAPPDATA%\YTSage\logs - - macOS: ~/Library/Application Support/YTSage/logs - - Linux: ~/.local/share/YTSage/logs - 2. Delete all files in that folder - 3. Open the app and reproduce the issue - 4. Go back to the logs folder - you should find two new log files (ytsage.log, ytsage_errors.log) - 5. Attach those log files to this issue + 1. Open YTSage and reproduce the issue. + 2. Click the **About** button. + 3. Click **Logs** (📂) to open the logs folder. + 4. Attach `ytsage.log` and `ytsage_error.log`. Use ``` to format logs: --> diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index 6ed900c..48c8b76 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -5,7 +5,8 @@ Contains basic utility dialogs like LogWindow and AboutDialog. from datetime import datetime -from PySide6.QtCore import Qt, QThread, QTimer, Signal +from PySide6.QtCore import Qt, QThread, QTimer, Signal, QUrl +from PySide6.QtGui import QDesktopServices from PySide6.QtWidgets import ( QDialog, QDialogButtonBox, @@ -21,6 +22,8 @@ from PySide6.QtWidgets import ( from ... import __version__ as APP_VERSION from ...utils.ytsage_localization import _ +from ...utils.ytsage_logger import logger +from ...utils.ytsage_constants import APP_LOG_DIR from ...core.ytsage_ffmpeg import get_ffmpeg_path from ...core.ytsage_utils import _version_cache, check_ffmpeg, get_ffmpeg_version, get_ytdlp_version, get_deno_version, refresh_version_cache @@ -288,6 +291,34 @@ class AboutDialog(QDialog): # Add stretch to push refresh button to the right header_layout.addStretch() + # Create logs button (minimal) + self.logs_btn = QPushButton(_("about.open_logs")) # Expected to be small text or icon + self.logs_btn.setToolTip(_("about.logs_tooltip")) + self.logs_btn.setCursor(Qt.CursorShape.PointingHandCursor) + self.logs_btn.setStyleSheet( + """ + QPushButton { + padding: 1px 6px; + background-color: transparent; + border: 1px solid #333; + border-radius: 4px; + color: #888888; + font-size: 10px; + margin-right: 8px; + } + QPushButton:hover { + color: #ffffff; + border-color: #555; + background-color: rgba(255, 255, 255, 0.05); + } + QPushButton:pressed { + background-color: rgba(255, 255, 255, 0.1); + } + """ + ) + self.logs_btn.clicked.connect(self.open_logs_folder) + header_layout.addWidget(self.logs_btn) + # Create refresh button self.refresh_btn = QPushButton(_("about.refresh")) self.refresh_btn.setFixedSize(16, 16) @@ -532,6 +563,20 @@ class AboutDialog(QDialog): self.status_container.addWidget(deno_item) + def open_logs_folder(self): + """Open the application logs folder in the system file explorer.""" + try: + if not APP_LOG_DIR.exists(): + logger.warning(f"Log directory does not exist: {APP_LOG_DIR}") + APP_LOG_DIR.mkdir(parents=True, exist_ok=True) + + log_url = QUrl.fromLocalFile(str(APP_LOG_DIR)) + QDesktopServices.openUrl(log_url) + except Exception as e: + logger.error(f"Failed to open log folder: {e}") + # Minimal error feedback since this is about dialog + self.logs_btn.setToolTip(f"Error: {str(e)}") + def refresh_version_info(self) -> None: """Refresh version information manually.""" self.refresh_btn.setText(_('about.refreshing')) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index ea91901..0f69956 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -9,7 +9,8 @@ from datetime import datetime import requests from packaging import version as version_parser -from PySide6.QtCore import Qt, QTimer +from PySide6.QtCore import Qt, QTimer, QUrl +from PySide6.QtGui import QDesktopServices from PySide6.QtWidgets import ( QButtonGroup, QCheckBox, @@ -30,6 +31,7 @@ from PySide6.QtWidgets import ( from ...utils.ytsage_logger import logger from ...utils.ytsage_localization import _ from ...utils.ytsage_config_manager import ConfigManager +from ...utils.ytsage_constants import APP_LOG_DIR class DownloadSettingsDialog(QDialog): From 79f2613cf782956c10a8f467ac0ea717a11634ea Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Feb 2026 13:50:22 +0200 Subject: [PATCH 473/568] Add open_logs strings to localizations Add open_logs and logs_tooltip localization entries across multiple language JSON files (ar, de, en, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh) so the About/System Info UI can expose an action to open the application logs folder. Also add an "about" section to ytsage/utils/ytsage_localization.py with default entries (open_logs, logs_tooltip, refresh). This wires the logs-folder UI text into the localization system. --- ytsage/languages/ar.json | 2 ++ ytsage/languages/de.json | 2 ++ ytsage/languages/en.json | 2 ++ ytsage/languages/es.json | 2 ++ ytsage/languages/fr.json | 2 ++ ytsage/languages/hi.json | 2 ++ ytsage/languages/id.json | 2 ++ ytsage/languages/it.json | 2 ++ ytsage/languages/ja.json | 2 ++ ytsage/languages/pl.json | 2 ++ ytsage/languages/pt.json | 2 ++ ytsage/languages/ru.json | 2 ++ ytsage/languages/tr.json | 2 ++ ytsage/languages/zh.json | 2 ++ ytsage/utils/ytsage_localization.py | 5 +++++ 15 files changed, 33 insertions(+) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 42a6135..810da58 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -245,6 +245,8 @@ "system_info": "معلومات النظام", "loading": "🔄 جاري تحميل معلومات النظام...", "refresh": "🔄", + "open_logs": "📂 السجلات", + "logs_tooltip": "فتح مجلد سجلات التطبيق", "refreshing": "🔄 جاري التحديث...", "refresh_failed": "فشل التحديث", "refresh_failed_message": "تعذر تحديث معلومات الإصدار.", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index 41b6817..af55e32 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -245,6 +245,8 @@ "system_info": "Systeminformationen", "loading": "🔄 Systeminformationen werden geladen...", "refresh": "🔄", + "open_logs": "📂 Logs", + "logs_tooltip": "Anwendungs-Protokollordner öffnen", "refreshing": "🔄 Wird aktualisiert...", "refresh_failed": "Aktualisierung fehlgeschlagen", "refresh_failed_message": "Versionsinformationen konnten nicht aktualisiert werden.", diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index f9c59a0..b275ac4 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -246,6 +246,8 @@ "system_info": "System Information", "loading": "🔄 Loading system information...", "refresh": "🔄", + "open_logs": "📂 Logs", + "logs_tooltip": "Open application logs folder", "refreshing": "🔄 Refreshing...", "refresh_failed": "Refresh Failed", "refresh_failed_message": "Could not refresh version information.", diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index cf2436d..aa05646 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -205,6 +205,8 @@ "system_info": "Información del Sistema", "loading": "🔄 Cargando información del sistema...", "refresh": "🔄", + "open_logs": "📂 Registros", + "logs_tooltip": "Abrir carpeta de registros de la aplicación", "refreshing": "🔄 Actualizando...", "refresh_failed": "Actualización Fallida", "refresh_failed_message": "No se pudo actualizar la información de versión.", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 6d38e3c..75bae7a 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -245,6 +245,8 @@ "system_info": "Informations système", "loading": "🔄 Chargement des informations système...", "refresh": "🔄", + "open_logs": "📂 Journaux", + "logs_tooltip": "Ouvrir le dossier des journaux d'application", "refreshing": "🔄 Actualisation...", "refresh_failed": "Échec de l'actualisation", "refresh_failed_message": "Impossible d'actualiser les informations de version.", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index a202285..aa258fc 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -245,6 +245,8 @@ "system_info": "सिस्टम जानकारी", "loading": "🔄 सिस्टम जानकारी लोड हो रही है...", "refresh": "🔄", + "open_logs": "📂 लॉग्स", + "logs_tooltip": "एप्लिकेशन लॉग फ़ोल्डर खोलें", "refreshing": "🔄 रिफ्रेश हो रहा है...", "refresh_failed": "रिफ्रेश असफल", "refresh_failed_message": "संस्करण जानकारी रिफ्रेश करने में असमर्थ।", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index ce23cc2..ef68be8 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -245,6 +245,8 @@ "system_info": "Informasi sistem", "loading": "🔄 Memuat informasi sistem...", "refresh": "🔄", + "open_logs": "📂 Log", + "logs_tooltip": "Buka folder log aplikasi", "refreshing": "🔄 Menyegarkan...", "refresh_failed": "Gagal menyegarkan", "refresh_failed_message": "Tidak dapat menyegarkan informasi versi.", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 5343b0d..2e5e647 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -245,6 +245,8 @@ "system_info": "Informazioni sistema", "loading": "🔄 Caricamento informazioni sistema...", "refresh": "🔄", + "open_logs": "📂 Log", + "logs_tooltip": "Apri cartella log applicazione", "refreshing": "🔄 Aggiornamento...", "refresh_failed": "Aggiornamento fallito", "refresh_failed_message": "Impossibile aggiornare le informazioni sulla versione.", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 0dfe15f..4a71ee5 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -245,6 +245,8 @@ "system_info": "システム情報", "loading": "🔄 システム情報を読み込み中...", "refresh": "🔄", + "open_logs": "📂 ログ", + "logs_tooltip": "アプリケーションのログフォルダを開く", "refreshing": "🔄 更新中...", "refresh_failed": "更新に失敗しました", "refresh_failed_message": "バージョン情報を更新できませんでした。", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 4388c01..5b38dec 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -245,6 +245,8 @@ "system_info": "Informacje systemowe", "loading": "🔄 Ładowanie informacji systemowych...", "refresh": "🔄", + "open_logs": "📂 Logi", + "logs_tooltip": "Otwórz folder logów aplikacji", "refreshing": "🔄 Odświeżanie...", "refresh_failed": "Odświeżanie nie powiodło się", "refresh_failed_message": "Nie można odświeżyć informacji o wersji.", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index eaf25cc..da43811 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -245,6 +245,8 @@ "system_info": "Informações do Sistema", "loading": "🔄 Carregando informações do sistema...", "refresh": "🔄", + "open_logs": "📂 Logs", + "logs_tooltip": "Abrir pasta de logs da aplicação", "refreshing": "🔄 Atualizando...", "refresh_failed": "Atualização Falhou", "refresh_failed_message": "Não foi possível atualizar as informações de versão.", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index 9da7f1e..5fcaf7b 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -245,6 +245,8 @@ "system_info": "Системная информация", "loading": "🔄 Загрузка системной информации...", "refresh": "🔄", + "open_logs": "📂 Логи", + "logs_tooltip": "Открыть папку с логами приложения", "refreshing": "🔄 Обновление...", "refresh_failed": "Обновление не удалось", "refresh_failed_message": "Не удалось обновить информацию о версии.", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index aa38369..fd3138a 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -243,6 +243,8 @@ "system_info": "Sistem bilgileri", "loading": "🔄 Sistem bilgileri yükleniyor...", "refresh": "🔄", + "open_logs": "📂 Kayıtlar", + "logs_tooltip": "Uygulama kayıt klasörünü aç", "refreshing": "🔄 Yenileniyor...", "refresh_failed": "Yenileme başarısız", "refresh_failed_message": "Sürüm bilgileri yenilenemedi.", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 3f4128f..3480e70 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -233,6 +233,8 @@ "system_info": "系统信息", "loading": "🔄 正在加载系统信息...", "refresh": "🔄", + "open_logs": "📂 日志", + "logs_tooltip": "打开应用程序日志文件夹", "refreshing": "🔄 正在刷新...", "refresh_failed": "刷新失败", "refresh_failed_message": "无法刷新版本信息。", diff --git a/ytsage/utils/ytsage_localization.py b/ytsage/utils/ytsage_localization.py index 199c3ad..579cd9e 100644 --- a/ytsage/utils/ytsage_localization.py +++ b/ytsage/utils/ytsage_localization.py @@ -113,6 +113,11 @@ class LocalizationManager: "download_failed_return_code_conflict": "Download failed with return code {return_code}. This may be due to a conflict with multiple yt-dlp installations. Try uninstalling any system-installed yt-dlp (e.g. through snap or apt) and restart the application.", "download_failed_return_code": "Download failed with return code {return_code}", "direct_command_error": "Error in direct command: {error}" + }, + "about": { + "open_logs": "📂 Logs", + "logs_tooltip": "Open application logs folder", + "refresh": "🔄" } } From c4e09cf4333c913abd730b7055d9852da5f19736 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Feb 2026 13:54:18 +0200 Subject: [PATCH 474/568] About dialog: adjust loading text and style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Strip the 🔄 emoji from the localized loading string to avoid rendering issues and use the cleaned text for the QLabel. Tweak the label styling by changing the color from #cccccc to #888888 and removing the italic font-style for a more consistent appearance. --- ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index 48c8b76..dc39a48 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -366,14 +366,15 @@ class AboutDialog(QDialog): def _show_loading_message(self) -> None: """Show a compact loading message while system information is being gathered.""" - loading_label = QLabel(_("about.loading")) + # Strip the emoji from the localized string to avoid rendering issues + loading_text = _("about.loading").replace("🔄", "").strip() + loading_label = QLabel(loading_text) loading_label.setAlignment(Qt.AlignmentFlag.AlignCenter) loading_label.setStyleSheet( """ QLabel { - color: #cccccc; + color: #888888; font-size: 11px; - font-style: italic; padding: 10px; } """ From 201d2fc8b69bcaea495124a30c42a72f07179ef3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Feb 2026 14:11:33 +0200 Subject: [PATCH 475/568] Add Chinese, Hindi, Indonesian language files Add unofficial translation files for Chinese Simplified, Hindi and Indonesian under setup-scripts/Languages/Unofficial. Also update Setup-windows.iss and Setup-windows-ffmpeg.iss to incorporate related installer changes. --- .../Unofficial/ChineseSimplified.isl | 418 ++++++++++++++++++ setup-scripts/Languages/Unofficial/Hindi.islu | 336 ++++++++++++++ .../Languages/Unofficial/Indonesian.isl | 350 +++++++++++++++ setup-scripts/Setup-windows-ffmpeg.iss | 6 + setup-scripts/Setup-windows.iss | 6 + 5 files changed, 1116 insertions(+) create mode 100644 setup-scripts/Languages/Unofficial/ChineseSimplified.isl create mode 100644 setup-scripts/Languages/Unofficial/Hindi.islu create mode 100644 setup-scripts/Languages/Unofficial/Indonesian.isl diff --git a/setup-scripts/Languages/Unofficial/ChineseSimplified.isl b/setup-scripts/Languages/Unofficial/ChineseSimplified.isl new file mode 100644 index 0000000..d6a11c4 --- /dev/null +++ b/setup-scripts/Languages/Unofficial/ChineseSimplified.isl @@ -0,0 +1,418 @@ +; *** Inno Setup version 6.5.0+ Chinese Simplified messages *** +; +; To download user-contributed translations of this file, go to: +; https://jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Maintained by Zhenghan Yang +; Email: 847320916@QQ.com +; Translation based on network resource +; The latest Translation is on https://github.com/kira-96/Inno-Setup-Chinese-Simplified-Translation +; + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=简体中文 +; If Language Name display incorrect, uncomment next line +; LanguageName=<7B80><4F53><4E2D><6587> +; About LanguageID, to reference link: +; https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c +LanguageID=$0804 +; About CodePage, to reference link: +; https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers +LanguageCodePage=936 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=9 +;DialogFontBaseScaleWidth=7 +;DialogFontBaseScaleHeight=15 +;WelcomeFontName=Segoe UI +;WelcomeFontSize=14 + +[Messages] + +; *** 应用程序标题 +SetupAppTitle=安装 +SetupWindowTitle=安装 - %1 +UninstallAppTitle=卸载 +UninstallAppFullTitle=%1 卸载 + +; *** Misc. common +InformationTitle=信息 +ConfirmTitle=确认 +ErrorTitle=错误 + +; *** SetupLdr messages +SetupLdrStartupMessage=现在将安装 %1。您想要继续吗? +LdrCannotCreateTemp=无法创建临时文件。安装程序已中止 +LdrCannotExecTemp=无法执行临时目录中的文件。安装程序已中止 +HelpTextNote= + +; *** 启动错误消息 +LastErrorMessage=%1。%n%n错误 %2: %3 +SetupFileMissing=安装目录中缺少文件 %1。请修正这个问题或者获取程序的新副本。 +SetupFileCorrupt=安装文件已损坏。请获取程序的新副本。 +SetupFileCorruptOrWrongVer=安装文件已损坏,或是与这个安装程序的版本不兼容。请修正这个问题或获取新的程序副本。 +InvalidParameter=无效的命令行参数:%n%n%1 +SetupAlreadyRunning=安装程序正在运行。 +WindowsVersionNotSupported=此程序不支持当前计算机运行的 Windows 版本。 +WindowsServicePackRequired=此程序需要 %1 服务包 %2 或更高版本。 +NotOnThisPlatform=此程序不能在 %1 上运行。 +OnlyOnThisPlatform=此程序只能在 %1 上运行。 +OnlyOnTheseArchitectures=此程序只能安装到为下列处理器架构设计的 Windows 版本中:%n%n%1 +WinVersionTooLowError=此程序需要 %1 版本 %2 或更高。 +WinVersionTooHighError=此程序不能安装于 %1 版本 %2 或更高。 +AdminPrivilegesRequired=在安装此程序时您必须以管理员身份登录。 +PowerUserPrivilegesRequired=在安装此程序时您必须以管理员身份或有权限的用户组身份登录。 +SetupAppRunningError=安装程序发现 %1 当前正在运行。%n%n请先关闭正在运行的程序,然后点击“确定”继续,或点击“取消”退出。 +UninstallAppRunningError=卸载程序发现 %1 当前正在运行。%n%n请先关闭正在运行的程序,然后点击“确定”继续,或点击“取消”退出。 + +; *** 启动问题 +PrivilegesRequiredOverrideTitle=选择安装程序模式 +PrivilegesRequiredOverrideInstruction=选择安装模式 +PrivilegesRequiredOverrideText1=%1 可以为所有用户安装(需要管理员权限),或仅为您安装。 +PrivilegesRequiredOverrideText2=%1 可以仅为您安装,或为所有用户安装(需要管理员权限)。 +PrivilegesRequiredOverrideAllUsers=为所有用户安装(&A) +PrivilegesRequiredOverrideAllUsersRecommended=为所有用户安装(&A) (建议选项) +PrivilegesRequiredOverrideCurrentUser=仅为我安装(&M) +PrivilegesRequiredOverrideCurrentUserRecommended=仅为我安装(&M) (建议选项) + +; *** 其他错误 +ErrorCreatingDir=安装程序无法创建目录“%1” +ErrorTooManyFilesInDir=无法在目录“%1”中创建文件,因为里面包含太多文件 + +; *** 安装程序公共消息 +ExitSetupTitle=退出安装程序 +ExitSetupMessage=安装程序尚未完成。如果现在退出,将不会安装该程序。%n%n您之后可以再次运行安装程序完成安装。%n%n现在退出安装程序吗? +AboutSetupMenuItem=关于安装程序(&A)... +AboutSetupTitle=关于安装程序 +AboutSetupMessage=%1 版本 %2%n%3%n%n%1 主页:%n%4 +AboutSetupNote= +TranslatorNote=简体中文翻译由Kira(847320916@qq.com)维护。项目地址:https://github.com/kira-96/Inno-Setup-Chinese-Simplified-Translation + +; *** 按钮 +ButtonBack=< 上一步(&B) +ButtonNext=下一步(&N) > +ButtonInstall=安装(&I) +ButtonOK=确定 +ButtonCancel=取消 +ButtonYes=是(&Y) +ButtonYesToAll=全是(&A) +ButtonNo=否(&N) +ButtonNoToAll=全否(&O) +ButtonFinish=完成(&F) +ButtonBrowse=浏览(&B)... +ButtonWizardBrowse=浏览(&R)... +ButtonNewFolder=新建文件夹(&M) + +; *** “选择语言”对话框消息 +SelectLanguageTitle=选择安装语言 +SelectLanguageLabel=选择安装时使用的语言。 + +; *** 公共向导文字 +ClickNext=点击“下一步”继续,或点击“取消”退出安装程序。 +BeveledLabel= +BrowseDialogTitle=浏览文件夹 +BrowseDialogLabel=在下面的列表中选择一个文件夹,然后点击“确定”。 +NewFolderName=新建文件夹 + +; *** “欢迎”向导页 +WelcomeLabel1=欢迎使用 [name] 安装向导 +WelcomeLabel2=现在将安装 [name/ver] 到您的电脑中。%n%n建议您在继续安装前关闭所有其他应用程序。 + +; *** “密码”向导页 +WizardPassword=密码 +PasswordLabel1=这个安装程序有密码保护。 +PasswordLabel3=请输入密码,然后点击“下一步”继续。密码区分大小写。 +PasswordEditLabel=密码(&P): +IncorrectPassword=您输入的密码不正确,请重新输入。 + +; *** “许可协议”向导页 +WizardLicense=许可协议 +LicenseLabel=请在继续安装前阅读以下重要信息。 +LicenseLabel3=请仔细阅读下列许可协议。在继续安装前您必须同意这些协议条款。 +LicenseAccepted=我同意此协议(&A) +LicenseNotAccepted=我不同意此协议(&D) + +; *** “信息”向导页 +WizardInfoBefore=信息 +InfoBeforeLabel=请在继续安装前阅读以下重要信息。 +InfoBeforeClickLabel=准备好继续安装后,点击“下一步”。 +WizardInfoAfter=信息 +InfoAfterLabel=请在继续安装前阅读以下重要信息。 +InfoAfterClickLabel=准备好继续安装后,点击“下一步”。 + +; *** “用户信息”向导页 +WizardUserInfo=用户信息 +UserInfoDesc=请输入您的信息。 +UserInfoName=用户名(&U): +UserInfoOrg=组织(&O): +UserInfoSerial=序列号(&S): +UserInfoNameRequired=您必须输入用户名。 + +; *** “选择目标目录”向导页 +WizardSelectDir=选择目标位置 +SelectDirDesc=您想将 [name] 安装在哪里? +SelectDirLabel3=安装程序将安装 [name] 到下面的文件夹中。 +SelectDirBrowseLabel=点击“下一步”继续。如果您想选择其他文件夹,点击“浏览”。 +DiskSpaceGBLabel=至少需要有 [gb] GB 的可用磁盘空间。 +DiskSpaceMBLabel=至少需要有 [mb] MB 的可用磁盘空间。 +CannotInstallToNetworkDrive=安装程序无法安装到一个网络驱动器。 +CannotInstallToUNCPath=安装程序无法安装到一个 UNC 路径。 +InvalidPath=您必须输入一个带驱动器卷标的完整路径,例如:%n%nC:\APP%n%n或UNC路径:%n%n\\server\share +InvalidDrive=您选定的驱动器或 UNC 共享不存在或不能访问。请选择其他位置。 +DiskSpaceWarningTitle=磁盘空间不足 +DiskSpaceWarning=安装程序至少需要 %1 KB 的可用空间才能安装,但选定驱动器只有 %2 KB 的可用空间。%n%n您一定要继续吗? +DirNameTooLong=文件夹名称或路径太长。 +InvalidDirName=文件夹名称无效。 +BadDirName32=文件夹名称不能包含下列任何字符:%n%n%1 +DirExistsTitle=文件夹已存在 +DirExists=文件夹:%n%n%1%n%n已经存在。您一定要安装到这个文件夹中吗? +DirDoesntExistTitle=文件夹不存在 +DirDoesntExist=文件夹:%n%n%1%n%n不存在。您想要创建此文件夹吗? + +; *** “选择组件”向导页 +WizardSelectComponents=选择组件 +SelectComponentsDesc=您想安装哪些程序组件? +SelectComponentsLabel2=选中您想安装的组件;取消您不想安装的组件。然后点击“下一步”继续。 +FullInstallation=完全安装 +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=简洁安装 +CustomInstallation=自定义安装 +NoUninstallWarningTitle=组件已存在 +NoUninstallWarning=安装程序检测到下列组件已安装在您的电脑中:%n%n%1%n%n取消选中这些组件不会卸载它们。%n%n确定要继续吗? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceGBLabel=当前选择的组件需要至少 [gb] GB 的磁盘空间。 +ComponentsDiskSpaceMBLabel=当前选择的组件需要至少 [mb] MB 的磁盘空间。 + +; *** “选择附加任务”向导页 +WizardSelectTasks=选择附加任务 +SelectTasksDesc=您想要安装程序执行哪些附加任务? +SelectTasksLabel2=选择您想要安装程序在安装 [name] 时执行的附加任务,然后点击“下一步”。 + +; *** “选择开始菜单文件夹”向导页 +WizardSelectProgramGroup=选择开始菜单文件夹 +SelectStartMenuFolderDesc=安装程序应该在哪里放置程序的快捷方式? +SelectStartMenuFolderLabel3=安装程序将在下列“开始”菜单文件夹中创建程序的快捷方式。 +SelectStartMenuFolderBrowseLabel=点击“下一步”继续。如果您想选择其他文件夹,点击“浏览”。 +MustEnterGroupName=您必须输入一个文件夹名。 +GroupNameTooLong=文件夹名或路径太长。 +InvalidGroupName=无效的文件夹名字。 +BadGroupName=文件夹名不能包含下列任何字符:%n%n%1 +NoProgramGroupCheck2=不创建开始菜单文件夹(&D) + +; *** “准备安装”向导页 +WizardReady=准备安装 +ReadyLabel1=安装程序准备就绪,现在可以开始安装 [name] 到您的电脑。 +ReadyLabel2a=点击“安装”继续此安装程序。如果您想重新考虑或修改任何设置,点击“上一步”。 +ReadyLabel2b=点击“安装”继续此安装程序。 +ReadyMemoUserInfo=用户信息: +ReadyMemoDir=目标位置: +ReadyMemoType=安装类型: +ReadyMemoComponents=已选择组件: +ReadyMemoGroup=开始菜单文件夹: +ReadyMemoTasks=附加任务: + +; *** TExtractionWizardPage 向导页面与 ExtractArchive +ExtractingLabel=正在解压文件... +ButtonStopExtraction=停止解压(&S) +StopExtraction=您确定要停止解压吗? +ErrorExtractionAborted=解压已中止 +ErrorExtractionFailed=解压失败:%1 + +; *** 压缩文件解压失败详情 +ArchiveIncorrectPassword=压缩文件密码不正确 +ArchiveIsCorrupted=压缩文件已损坏 +ArchiveUnsupportedFormat=不支持的压缩文件格式 + +; *** TDownloadWizardPage 向导页面和 DownloadTemporaryFile +DownloadingLabel2=正在下载文件... +ButtonStopDownload=停止下载(&S) +StopDownload=您确定要停止下载吗? +ErrorDownloadAborted=下载已中止 +ErrorDownloadFailed=下载失败:%1 %2 +ErrorDownloadSizeFailed=获取下载大小失败:%1 %2 +ErrorProgress=无效的进度:%1 / %2 +ErrorFileSize=文件大小错误:预期 %1,实际 %2 + +; *** “正在准备安装”向导页 +WizardPreparing=正在准备安装 +PreparingDesc=安装程序正在准备安装 [name] 到您的电脑。 +PreviousInstallNotCompleted=先前的程序安装或卸载未完成,您需要重启您的电脑以完成。%n%n在重启电脑后,再次运行安装程序以完成 [name] 的安装。 +CannotContinue=安装程序不能继续。请点击“取消”退出。 +ApplicationsFound=以下应用程序正在使用将由安装程序更新的文件。建议您允许安装程序自动关闭这些应用程序。 +ApplicationsFound2=以下应用程序正在使用将由安装程序更新的文件。建议您允许安装程序自动关闭这些应用程序。安装完成后,安装程序将尝试重新启动这些应用程序。 +CloseApplications=自动关闭应用程序(&A) +DontCloseApplications=不要关闭应用程序(&D) +ErrorCloseApplications=安装程序无法自动关闭所有应用程序。建议您在继续之前,关闭所有在使用需要由安装程序更新的文件的应用程序。 +PrepareToInstallNeedsRestart=安装程序必须重启您的计算机。计算机重启后,请再次运行安装程序以完成 [name] 的安装。%n%n是否立即重新启动? + +; *** “正在安装”向导页 +WizardInstalling=正在安装 +InstallingLabel=安装程序正在安装 [name] 到您的电脑,请稍候。 + +; *** “安装完成”向导页 +FinishedHeadingLabel=[name] 安装完成 +FinishedLabelNoIcons=安装程序已在您的电脑中安装了 [name]。 +FinishedLabel=安装程序已在您的电脑中安装了 [name]。您可以通过已安装的快捷方式运行此应用程序。 +ClickFinish=点击“完成”退出安装程序。 +FinishedRestartLabel=为完成 [name] 的安装,安装程序必须重新启动您的电脑。要立即重启吗? +FinishedRestartMessage=为完成 [name] 的安装,安装程序必须重新启动您的电脑。%n%n要立即重启吗? +ShowReadmeCheck=是,我想查阅自述文件 +YesRadio=是,立即重启电脑(&Y) +NoRadio=否,稍后重启电脑(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=运行 %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=查阅 %1 + +; *** “安装程序需要下一张磁盘”提示 +ChangeDiskTitle=安装程序需要下一张磁盘 +SelectDiskLabel2=请插入磁盘 %1 并点击“确定”。%n%n如果这个磁盘中的文件可以在下列文件夹之外的文件夹中找到,请输入正确的路径或点击“浏览”。 +PathLabel=路径(&P): +FileNotInDir2=“%2”中找不到文件“%1”。请插入正确的磁盘或选择其他文件夹。 +SelectDirectoryLabel=请指定下一张磁盘的位置。 + +; *** 安装阶段消息 +SetupAborted=安装程序未完成安装。%n%n请修正这个问题并重新运行安装程序。 +AbortRetryIgnoreSelectAction=选择操作 +AbortRetryIgnoreRetry=重试(&T) +AbortRetryIgnoreIgnore=忽略错误并继续(&I) +AbortRetryIgnoreCancel=关闭安装程序 +RetryCancelSelectAction=选择操作 +RetryCancelRetry=重试(&T) +RetryCancelCancel=取消(&C) + +; *** 安装状态消息 +StatusClosingApplications=正在关闭应用程序... +StatusCreateDirs=正在创建目录... +StatusExtractFiles=正在提取文件... +StatusDownloadFiles=正在下载文件... +StatusCreateIcons=正在创建快捷方式... +StatusCreateIniEntries=正在创建 INI 条目... +StatusCreateRegistryEntries=正在创建注册表条目... +StatusRegisterFiles=正在注册文件... +StatusSavingUninstall=正在保存卸载信息... +StatusRunProgram=正在完成安装... +StatusRestartingApplications=正在重启应用程序... +StatusRollback=正在撤销更改... + +; *** 其他错误 +ErrorInternal2=内部错误:%1 +ErrorFunctionFailedNoCode=%1 失败 +ErrorFunctionFailed=%1 失败;错误代码 %2 +ErrorFunctionFailedWithMessage=%1 失败;错误代码 %2.%n%3 +ErrorExecutingProgram=无法执行文件:%n%1 + +; *** 注册表错误 +ErrorRegOpenKey=打开注册表项时出错:%n%1\%2 +ErrorRegCreateKey=创建注册表项时出错:%n%1\%2 +ErrorRegWriteKey=写入注册表项时出错:%n%1\%2 + +; *** INI 错误 +ErrorIniEntry=在文件“%1”中创建 INI 条目时出错。 + +; *** 文件复制错误 +FileAbortRetryIgnoreSkipNotRecommended=跳过此文件(&S) (不推荐) +FileAbortRetryIgnoreIgnoreNotRecommended=忽略错误并继续(&I) (不推荐) +SourceIsCorrupted=源文件已损坏 +SourceDoesntExist=源文件“%1”不存在 +SourceVerificationFailed=源文件验证失败: %1 +VerificationSignatureDoesntExist=签名文件“%1”不存在 +VerificationSignatureInvalid=签名文件“%1”无效 +VerificationKeyNotFound=签名文件“%1”使用了未知密钥 +VerificationFileNameIncorrect=文件名不正确 +VerificationFileTagIncorrect=文件标签不正确 +VerificationFileSizeIncorrect=文件大小不正确 +VerificationFileHashIncorrect=文件哈希值不正确 +ExistingFileReadOnly2=无法替换现有文件,它是只读的。 +ExistingFileReadOnlyRetry=移除只读属性并重试(&R) +ExistingFileReadOnlyKeepExisting=保留现有文件(&K) +ErrorReadingExistingDest=尝试读取现有文件时出错: +FileExistsSelectAction=选择操作 +FileExists2=文件已经存在。 +FileExistsOverwriteExisting=覆盖已存在的文件(&O) +FileExistsKeepExisting=保留现有的文件(&K) +FileExistsOverwriteOrKeepAll=为所有冲突文件执行此操作(&D) +ExistingFileNewerSelectAction=选择操作 +ExistingFileNewer2=现有的文件比安装程序将要安装的文件还要新。 +ExistingFileNewerOverwriteExisting=覆盖已存在的文件(&O) +ExistingFileNewerKeepExisting=保留现有的文件(&K) (推荐) +ExistingFileNewerOverwriteOrKeepAll=为所有冲突文件执行此操作(&D) +ErrorChangingAttr=尝试更改下列现有文件的属性时出错: +ErrorCreatingTemp=尝试在目标目录创建文件时出错: +ErrorReadingSource=尝试读取下列源文件时出错: +ErrorCopying=尝试复制下列文件时出错: +ErrorDownloading=下载文件时出错: +ErrorExtracting=解压压缩文件时出错: +ErrorReplacingExistingFile=尝试替换现有文件时出错: +ErrorRestartReplace=重启并替换失败: +ErrorRenamingTemp=尝试重命名下列目标目录中的一个文件时出错: +ErrorRegisterServer=无法注册 DLL/OCX:%1 +ErrorRegSvr32Failed=RegSvr32 失败;退出代码 %1 +ErrorRegisterTypeLib=无法注册类库:%1 + +; *** 卸载显示名字标记 +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32 位 +UninstallDisplayNameMark64Bit=64 位 +UninstallDisplayNameMarkAllUsers=所有用户 +UninstallDisplayNameMarkCurrentUser=当前用户 + +; *** 安装后错误 +ErrorOpeningReadme=尝试打开自述文件时出错。 +ErrorRestartingComputer=安装程序无法重启电脑,请手动重启。 + +; *** 卸载消息 +UninstallNotFound=文件“%1”不存在。无法卸载。 +UninstallOpenError=文件“%1”不能被打开。无法卸载。 +UninstallUnsupportedVer=此版本的卸载程序无法识别卸载日志文件“%1”的格式。无法卸载 +UninstallUnknownEntry=卸载日志中遇到一个未知条目 (%1) +ConfirmUninstall=您确认要完全移除 %1 及其所有组件吗? +UninstallOnlyOnWin64=仅允许在 64 位 Windows 中卸载此程序。 +OnlyAdminCanUninstall=仅使用管理员权限的用户能完成此卸载。 +UninstallStatusLabel=正在从您的电脑中移除 %1,请稍候。 +UninstalledAll=已顺利从您的电脑中移除 %1。 +UninstalledMost=%1 卸载完成。%n%n有部分内容未能被删除,但您可以手动删除它们。 +UninstalledAndNeedsRestart=为完成 %1 的卸载,需要重启您的电脑。%n%n立即重启电脑吗? +UninstallDataCorrupted=文件“%1”已损坏。无法卸载 + +; *** 卸载状态消息 +ConfirmDeleteSharedFileTitle=删除共享的文件吗? +ConfirmDeleteSharedFile2=系统表示下列共享的文件已不有其他程序使用。您希望卸载程序删除这些共享的文件吗?%n%n如果删除这些文件,但仍有程序在使用这些文件,则这些程序可能出现异常。如果您不能确定,请选择“否”,在系统中保留这些文件以免引发问题。 +SharedFileNameLabel=文件名: +SharedFileLocationLabel=位置: +WizardUninstalling=卸载状态 +StatusUninstalling=正在卸载 %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=正在安装 %1。 +ShutdownBlockReasonUninstallingApp=正在卸载 %1。 + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 版本 %2 +AdditionalIcons=附加快捷方式: +CreateDesktopIcon=创建桌面快捷方式(&D) +CreateQuickLaunchIcon=创建快速启动栏快捷方式(&Q) +ProgramOnTheWeb=%1 网站 +UninstallProgram=卸载 %1 +LaunchProgram=运行 %1 +AssocFileExtension=将 %2 文件扩展名与 %1 建立关联(&A) +AssocingFileExtension=正在将 %2 文件扩展名与 %1 建立关联... +AutoStartProgramGroupDescription=启动: +AutoStartProgram=自动启动 %1 +AddonHostProgramNotFound=您选择的文件夹中无法找到 %1。%n%n您要继续吗? diff --git a/setup-scripts/Languages/Unofficial/Hindi.islu b/setup-scripts/Languages/Unofficial/Hindi.islu new file mode 100644 index 0000000..5c4f946 --- /dev/null +++ b/setup-scripts/Languages/Unofficial/Hindi.islu @@ -0,0 +1,336 @@ + ; *** Inno Setup version 5.5.3+ Hindi messages *** +; Translated by Him Prasad Gautam [ drishtibachak at gmail.com ] +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<0939><093F><0902><0926><0940> +LanguageID=$0439 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=10 +;WelcomeFontName= +WelcomeFontSize=12 +;TitleFontName= +TitleFontSize=35 +;CopyrightFontName= +CopyrightFontSize=9 + +[Messages] + +; *** Application titles +SetupAppTitle=स्थापना +SetupWindowTitle=स्थापना - %1 +UninstallAppTitle=निस्कासन +UninstallAppFullTitle=%1 कि निस्कासन + +; *** Misc. common +InformationTitle=सुचना +ConfirmTitle=पुष्टिकरण +ErrorTitle=त्रुटी + +; *** SetupLdr messages +SetupLdrStartupMessage=इस से %1 आपकि कल्पयन्त्र में अधिष्ठापन होगा. क्या आप आगे बढ़ना चाहते है? +LdrCannotCreateTemp=अस्थाई फ़ाइल नही बना पा रहा. स्थापना को बिच में ही रोकना पड़ा. +LdrCannotExecTemp=अस्थाई फोल्डर में से फ़ाइल कार्यान्वयन नही कर पाया. स्थापना को बिच में ही रोकना पड़ा. + +; *** Startup error messages +LastErrorMessage=%1.%n%nत्रुटी %2: %3 +SetupFileMissing=फ़ाइल %1 अधिष्ठापन सङ्ग्रहिका में नही है. कृपया या तो समस्या का निदान कीजिये या कार्यक्रम की नई प्रति लाइए. +SetupFileCorrupt=स्थापना फाइल में त्रुटी है. कृपया नई कार्यक्रम की प्रति लाइए. +SetupFileCorruptOrWrongVer=स्थापना फाइल में त्रुटी है या तो अलग प्रकार कि है. कृपया समस्या-निदान करे या कार्यक्रम की नई प्रति लाइए. +InvalidParameter=फोल्डर का नाम वैध नही है. +SetupAlreadyRunning=स्थापना तो पहले से हि चल रहा है +WindowsVersionNotSupported=इस से [name/ver] आपके कल्पयन्त्र में अधिष्ठापन होगा.%n%nये बहेतर होगा आगे बढने से पहेले आप अन्य सभी कार्यक्रम हाल तुरत के लिए बंध कर दे. +WindowsServicePackRequired=ये कार्यक्रम को %1 Service Pack %2 या पिछला संस्करण चाहिए. +NotOnThisPlatform=ये कार्यक्रम %1 पे नही चलेगा. +OnlyOnThisPlatform=ये कार्यक्रम केवल %1 पे ही चलेगा. +OnlyOnTheseArchitectures=ये कार्यक्रम केवल इन प्रोसेसर :%n%n%1 से अनुरूप विन्डोज़ प्लेटफॉर्म पे ही चलेगा. +MissingWOW64APIs=आपका विंडो प्लेटफॉर्म 64-bit अधिष्ठापन समर्थन नही करता. कृपया सर्विस पैक %1 अधिष्ठापन करे. +WinVersionTooLowError=ये कार्यक्रम चलने के लिए %1 संस्करण %2 या उस से पिछला चाहिए. +WinVersionTooHighError=ये कार्यक्रम नही अधिष्ठापन किया जा सकता %1 संस्करण %2 या पिछला पे. +AdminPrivilegesRequired=अगर आप प्रशासक खाते से आरम्भ करे तो ही ये कार्यक्रम अधिष्ठापन कर पाओगे. +PowerUserPrivilegesRequired=आप प्रशासक खाते या शक्ति-प्रयोग कर्ता समूह के खाते से आरम्भ करे तो ही ये कार्यक्रम अधिष्ठापन कर पाओगे. +SetupAppRunningError=स्थापना ने पकड़ा की %1 हाल चालू है..%n%n कृपया उसे बंध करे अभी, और बाद में आगे बढने वास्ते ठीक या निकल जाने वास्ते रद्द करेँ पे क्लिक करे. +UninstallAppRunningError=निस्कासन को ये ज्ञात हुआ की %1 अभी चालू है.%n%n कृपया उसे बंध करे और फिर आगे बढने के लिए ठीक या बाहर जाने के लिए रद्द करेँ पे क्लिक करे. + +; *** Misc. errors +ErrorCreatingDir=स्थापना "%1" सङ्ग्रहिका बनाने में विफल रहा +ErrorTooManyFilesInDir=%1 सङ्ग्रहिका में बहुत फाइल मौजूद होने के वजह से स्थापना फाइल बनाने में विफल रहा. + +; *** Setup common messages +ExitSetupTitle=स्थापना कि बहिर्गमन +ExitSetupMessage=स्थापना कि कार्य पूर्ण नही हुआ, यदि आप अभी बाहर जाने कि ईराधा करेंगे तो कार्यक्रम सहि ढंग से अधिष्ठापन नही होगा.%n%nआप किसी ओर वक्त फिर से अधिष्ठापन कर सकते हो.%n%nक्या बाहर जाए? +AboutSetupMenuItem=स्थापना के बारे में... +AboutSetupTitle=स्थापना के बारे में +AboutSetupMessage=%1 संस्करण %2%n%3%n%n%1 गृह पृष्ठ:%n%4 +AboutSetupNote= +TranslatorNote= यह हिन्दी में अनुवाद कि कार्य हिम प्रसाद गौतम ने किया है. + +; *** Buttons +ButtonBack=< &पिछे हटो +ButtonNext=&आगे बढो > +ButtonInstall=&अधिष्ठापन +ButtonOK=&ठीक +ButtonCancel=&रद्द करेँ +ButtonYes=&हाँ +ButtonYesToAll=&सभी के लिए हाँ +ButtonNo=&नही +ButtonNoToAll=स&भी के लिए नही +ButtonFinish=&समाप्त +ButtonBrowse=&ब्राउज़... +ButtonWizardBrowse=&ब्राउज़... +ButtonNewFolder=&नया फोल्डर बनाए + +; "Select Language" dialog messages +SelectLanguageTitle=स्थापना भाषा चयन +SelectLanguageLabel=अधिष्ठापन के दरम्यान इस्तेमाल होने वाली भाषा चयन करे: + +; *** Common wizard text +ClickNext=आगे बढने के लिए आगे बढो दबाए, या बाहर जाने के वास्ते रद्द करेँ दबाए. +BeveledLabel= सौजन्यः हिम प्रसाद गौतम +BrowseDialogTitle=फोल्डर के लिए ब्राउज़ करे +BrowseDialogLabel=नीचे की सुची में से एक फोल्डर चयन करके ठीक दबाए. +NewFolderName=नया फोल्डर + +; "Welcome" wizard page +WelcomeLabel1=यह [name] कि स्थापना हो रही समारोह में आपका स्वागत है +WelcomeLabel2=इस से [name/ver] आपके कल्पयन्त्र में अधिष्ठापन होगा.%n%nये बहेतर होगा आगे बढने से पहले आप अन्य सभी खुलि हुई कार्यक्रम हाल के लिए बंध कर दे. + +; "Password" wizard page +WizardPassword=खुपियाशब्द +PasswordLabel1=ये अधिष्ठापन खुपियाशब्द से लोक है. +PasswordLabel3=कृपया खुपियाशब्द लिखें और बाद में 'आगे बढो' बटन दबाए. खुपियाशब्द case-सम्वेदनसील है. +PasswordEditLabel=खुपियाशब्द: +IncorrectPassword=आपने लिखा हुआ खुपियाशब्द गलत है. कृपया फिर से कोशिश करे. + +; "License Agreement" wizard page +WizardLicense=इजाजत करार +LicenseLabel=आगे बढने से पहेले ये महत्वपूर्ण सूचनाए पढे. +LicenseLabel3=ये इजाजत करार पढे. आगे बढने से पहेले आपको इसकी शर्तों को मानना ही होगा. +LicenseAccepted=हाँ मुझे ये करारनामा कबूल है. +LicenseNotAccepted=नही मुझे ये करारनामा कबूल नही है. + +; "Information" wizard pages +WizardInfoBefore=सुचना +InfoBeforeLabel=आगे बढने से पहेले ये महत्वपूर्ण सूचनाए पढे. +InfoBeforeClickLabel=जब आप तयार हो, 'आगे बढो' बटन दबाए. +WizardInfoAfter=सुचना +InfoAfterLabel=आगे बढने से पहेले ये महत्वपूर्ण सूचनाए पढे. +InfoAfterClickLabel=जब आप तयार हो, 'आगे बढो' बटन दबाए. + +; "User Information" wizard page +WizardUserInfo=प्रयोग कर्ता की जानकारी +UserInfoDesc=कृपया आपकी जानकारी अंदर डाले. +UserInfoName=प्रयोग कर्ता का नाम: +UserInfoOrg=संस्था: +UserInfoSerial=क्रमाङ्क +UserInfoNameRequired=आपको नाम तो डालना ही होगा. + +; "Select Destination Location" wizard page +WizardSelectDir=लक्ष्य पथ चयन करे +SelectDirDesc=[name] को किधर अधिष्ठापन करना है? +SelectDirLabel3=स्थापना [name] को निम्नलिखित फोल्डर में डालेगा. +SelectDirBrowseLabel=आगे बढने वास्ते आगे बढो दबाए. यदि अन्य फोल्डर चयन करना है तो ब्राउज़ दबाए. +DiskSpaceMBLabel=कमसेकम [mb] MB जितनी जगह तो जरूरी होगी. +CannotInstallToNetworkDrive=श्थापना ने नेटवर्क ड्राइभ नहि रख पाया. +CannotInstallToUNCPath=स्थापना ने UNC path नहि रख पाया. +InvalidPath=आपको ड्राइव अक्षर के साथ पूर्ण पथ देना होगा उदाहरण:%n%nC:\APP%n%n या तो UNC रास्ता यह रूप में:%n%n\\server\share +InvalidDrive=जो drive या UNC share आपने चयन की है उस मे हम पहुँच नही कर पा रहे कृपया अन्य चयन करे. +DiskSpaceWarningTitle=जरूरी जगह नही है. +DiskSpaceWarning=स्थापना कम से कम %1 KB जगह मंगता है, लेकिन चयनित ड्राइव में तो केवल %2 KB ही मौजूद है.%n%nक्या आप फिर भी आगे बढ़ना चाहते हो? +DirNameTooLong=फोल्डर का नाम या पथ बहोत लंबा है. +InvalidDirName=फोल्डर का नाम वैध नही है. +BadDirName32=फोल्डर नाम में ये अक्षर नही इस्तेमाल कर सकते:%n%n%1 +DirExistsTitle=फोल्डर मौजूद है +DirExists=फोल्डर:%n%n%1%n%nपहेले से ही मौजूद है, क्या आप फिर भी उसमे अधिष्ठापन करना चाहते है? +DirDoesntExistTitle=फोल्डर मौजूद नही है +DirDoesntExist=फोल्डर:%n%n%1%n%nमौजूद नही है. क्या आप ये फोल्डर बनाना चाहते है? + +; "Select Components" wizard page +WizardSelectComponents=सहयोगियोँ पसंद करे. +SelectComponentsDesc=कोनसे सहयोगियोँ अधिष्ठापन करने है? +SelectComponentsLabel2=जो सहयोगियोँ अधिष्ठापन करना है, उन्हें चयन करे; जिन्हें नही करना हो तो उन्हें साफ करे. जब आगे बढने के लिए तयार हो तो आगे बढो दबाए. +FullInstallation=सम्पूर्ण अधिष्ठापन +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=मजबुत अधिष्ठापन +CustomInstallation=रिवाजी अधिष्ठापन. +NoUninstallWarningTitle=सहयोगियोँ मौजूद है. +NoUninstallWarning=स्थापना को ये ज्ञात हुआ है की निम्नलिखित सहयोगियोँ पहेले से ही मोजूद है.:%n%n%1%n%nइन्हें डी-चयन करने से वे निस्कासन नही होगे.%n%nक्या आप ऐसे ही आगे बढ़ना चाहते है? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=इस चयन के साथ स्थापना वास्ते [mb] MB जगह चाहिए. + +; "Select Additional Tasks" wizard page +WizardSelectTasks=अतिरिक्त काम चयन करे. +SelectTasksDesc=कोन से अतिरिक्त काम करने है? +SelectTasksLabel2=[name] को अधिष्ठापन करते वक्त जो अतिरिक्त काम करने है उन्हें चयन करे और बाद में आगे बढो पे क्लिक करे. + +; "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=सुरु मेनू फोल्डर चयन करे. +SelectStartMenuFolderDesc=कार्यक्रम के छोटीरास्ता किधर रखने है? +SelectStartMenuFolderLabel3=स्थापना कार्यक्रम के छोटीरास्ता निम्नलिखित सुरु-मेनू फोल्डर में डालेगा. +SelectStartMenuFolderBrowseLabel=आगे बढने के लिए आगे बढो दबाए. यदि अलग फोल्डर में अधिष्ठापन करना है तो Browse दबाए. +MustEnterGroupName=आपको फोल्डर का नाम तो डालना ही होगा. +GroupNameTooLong=फोल्डर का नाम या पथ बहुत लंबा है. +InvalidGroupName=फोल्डर का नाम वैध नही है. +BadGroupName=फोल्डर नाम में ये वाले अक्षर नही डाल सकते:%n%n%1 +NoProgramGroupCheck2=सुरु मेनू फोल्डर नही बनाना है. + +; "Ready to Install" wizard page +WizardReady=अधिष्ठापन के लिए तयार +ReadyLabel1=स्थापना अब [name] को आपके कल्पयन्त्रमें अधिष्ठापन करने के लिए तयार है. +ReadyLabel2a=आगे बढने के लिए अधिष्ठापन दबाए, अगर कोई बदलाव करना है तो पिछे हटो दबाए. +ReadyLabel2b=अधिष्ठापन में आगे बढने के लिए अधिष्ठापन दबाए. +ReadyMemoUserInfo=प्रयोग कर्ता की सूचनाए: +ReadyMemoDir=लक्ष्य सङ्ग्रहिका: +ReadyMemoType=स्थापना का प्रकार: +ReadyMemoComponents=चयन किये सहयोगियों: +ReadyMemoGroup=सुरु मेनू फोल्डर: +ReadyMemoTasks=अतिरिक्त काम: + +; "Preparing to Install" wizard page +WizardPreparing=अधिष्ठापन के लिए तैयारी कर रहा है. +PreparingDesc=स्थापना [name] को आपके कल्पयन्त्र में डालने की तैयारीकर रहा है. +PreviousInstallNotCompleted=पिछले कार्यक्रम का प्रतिस्थापन / अधिष्ठापन सही ढंग से पूरा नही हुआ था. आपको कल्पयन्त्र फिर सुरु करना पडेगा.%n%nकल्पयन्त्र फिर सुरु करने पश्चात आप फिर से [name] का अधिष्ठापन शुरू करे. +CannotContinue=स्थापना आगे नही बढ़ सकता, कृपया रद्द करेँ बटन दबाएँ. +ApplicationsFound=निचे वाली अनुप्रयोगो ने स्थापना द्वारा अपडेट किया जाने वाला फाइलों को इस्तेमाल किया है. आपको यह मसवरा दिया जा ता है कि आप स्थापना को यह अनुप्रयोगौं कि खुद ही बन्द करने कि इजाजत प्रदान करें. +ApplicationsFound2=यह अनुप्रयोगो ने स्थापना द्वारा अपडेट किया जाने वाला फाइलों को इस्तेमाल किया है. आपको यह मसवरा दिया जा ता है कि आप स्थापना को यह अनुप्रयोगौं को खुद ही बन्द करने कि इजाजत प्रदान करें. अधिष्ठापन खतम होने के वाद, स्थापना यह अनुप्रयोग कों फिर सुरु करने कि कोसिस करेगा. +CloseApplications=&खुद हि अनुप्रयोग कों बन्द करें +DontCloseApplications=अनुप्रयोग कों बन्द &नहि करें +ErrorCloseApplications=स्थापना खुद हि सभी अनुप्रयोगों को बन्द नहि कर सका. आपको यह मसवरा दिया जाता है कि स्थापना ने अपडेट करने वाली फाइलों को इस्तमाल कर रहे अनुप्रयोगौं को आगे बढ्ने से पहले आप खुद ही बन्द करें. + +; "Installing" wizard page +WizardInstalling=अधिष्ठापन हो रहा है. +InstallingLabel=जब तक स्थापना आपके कल्पयन्त्र में [name] अधिष्ठापन करता है, उस वख्त तक कृपया प्रतीक्षा करे. + +; "Setup Completed" wizard page +FinishedHeadingLabel=[name] स्थापना कि कार्य पूरा हो रहा है. +FinishedLabelNoIcons=स्थापना ने [name] को आपके कल्पयन्त्र में सफलतापूर्वक अधिष्ठापन कर दिया है. +FinishedLabel=स्थापना ने [name] आपके कल्पयन्त्रमें अधिष्ठापन कर दिया है. आप उपयुक्त प्रतिमा पे क्लिक कर के कभी भी ये कार्यक्रम शुरू कर सकते है. +ClickFinish=स्थापना से बाहर निकलने वास्ते समाप्त पे क्लिक करे. +FinishedRestartLabel=[name] का अधिष्ठापन पूरा करने वास्ते कल्पयन्त्र फिर सुरु करना बेहद जरूरी है. %n%nक्या आप अभी रिसुरु करना चाहते है? +FinishedRestartMessage=[name] का अधिष्ठापन पूरा करने हेतु कल्पयन्त्र फिर सुरु करना बेहद जरूरी है.%n%nक्या आप अभी फिर सुरु करना चाहते है? +ShowReadmeCheck=हाँ मुझे हमें पढो file देखनी है. +YesRadio=&हाँ, कल्पयन्त्र फिर सुरु कर दो. +NoRadio=&नही मै अपना कल्पयन्त्र स्वयं बाद में फिर सुरु करूँगा. +; used for example as 'Run MyProg.exe' +RunEntryExec=रन %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=देखे %1 + +; "Setup Needs the Next Disk" stuff +ChangeDiskTitle=स्थापना के लिए अगली डिस्क चाहिए. +SelectDiskLabel2=कृपया डिस्क %1 डालके ठीक दबाए.%n%nयदि इस डिस्क की फाइल नही मिलती तो सही पथ बताए या ब्राउज़ पे क्लिक करे. +PathLabel=पथ: +FileNotInDir2=फाइल "%1" को "%2" में ढुढ नही पाए. कृपया सही डिस्क डाले या अलग फोल्डर चयन करे. +SelectDirectoryLabel=अगली डिस्क का पता बताए. + +; *** Installation phase messages +SetupAborted=स्थापना पूरा नही हो पाया.%n%nकृपया त्रुटी ठीक करे और फिर से प्रयास करे. +EntryAbortRetryIgnore=फिर से प्रयास करने वास्ते Retry दबाए, यदि ऐसे ही आगे बढ़ना है तो Ignore दबाए, या तो स्थापना रद्द करेँ करने वास्ते Abort दबाए. + +; *** Installation status messages +StatusClosingApplications=अनुप्रयोगकों बन्द किया जा रहा है. +StatusCreateDirs=सङ्ग्रहिका बना रहा है... +StatusExtractFiles=फाइल उत्खनन कर रहा है... +StatusCreateIcons=छोटीरास्ता बना रहा है... +StatusCreateIniEntries=INI एंट्री बना रहा है... +StatusCreateRegistryEntries=पञ्जीका एंट्री बना रहा है... +StatusRegisterFiles=फाइल पञ्जिकृत कर रहा है... +StatusSavingUninstall=निस्कासन की सुचनाए बचतकर रहा है... +StatusRunProgram=अधिष्ठापन पूरा कर रहा है... +StatusRestartingApplications=अनुप्रयोगकों कि फिर सुरुवात +StatusRollback=बदलावों को पिछे हट्ने कि काम कर रहा है... + +; *** Misc. errors +ErrorInternal2=आंतरिक त्रुटी: %1 +ErrorFunctionFailedNoCode=%1 विफल +ErrorFunctionFailed=%1 विफल; कोड %2 +ErrorFunctionFailedWithMessage=%1 विफल; कोड %2.%n%3 +ErrorExecutingProgram=फाइल को कार्यान्वयन नही कर पा रहा:%n%1 + +; *** Registry errors +ErrorRegOpenKey=पञ्जीका कुञ्जी खोलते वक्त त्रुटी:%n%1\%2 +ErrorRegCreateKey=पञ्जीका कुञ्जी बनाते वक्त त्रुटी:%n%1\%2 +ErrorRegWriteKey=पञ्जीका कुञ्जी में लिखते वक्त त्रुटी:%n%1\%2 + +; *** INI errors +ErrorIniEntry=फ़ाइल "%1" में INI एंट्री डालते वक्त त्रुटी. + +; *** File copying errors +FileAbortRetryIgnore=फिर से प्रयास करने हेतु Retry बटन दबाए, यदि ऐसे ही आगे बढ़ना है तो Ignore दबाए(हम ऐसा सुजाव नही देते),या तो Abort दबाए अधिष्ठापन को रद्द करेँ करने हेतु. +FileAbortRetryIgnore2=फिर से प्रयास करने हेतु Retry बटन दबाए, यदि ऐसे ही आगे बढ़ना है तो Ignore दबाए(हम ऐसा सुजाव नही देते),या तो Abort दबाए अधिष्ठापन को रद्द करेँ करने हेतु. +SourceIsCorrupted=श्रोत फ़ाइल में गडबड है. +SourceDoesntExist=श्रोत फाइल "%1" मौजूद ही नही है. +ExistingFileReadOnly=मौजदा फ़ाइल सिर्फ-पढो है.%n%n आप Retry पे क्लिक करे, उसका सिर्फ-पढो attribute हटाने के लिए और फिर दोबारा प्रयास करे. यदि इस फाइल को छोड़ देना है तो Ignore, और यदि अधिष्ठापन रद्द करेँ करना है तो Abort बटन दबाए. +ErrorReadingExistingDest=मौजदा फाइल को पढते वक्त त्रुटी: +FileExists=फाइल पहेले से मौजूद है.%n%nक्या आप उसको ओवर-राईट करना चाहते हो? +ExistingFileNewer=मौजूदा फाइल स्थापना फ़ाइल से नई है. हमारा सुजाव है की आप इसे रखे.%n%nक्या आप फ़ाइल को रखना चाहते है? +ErrorChangingAttr=मौजूदा फाइल के एट्रीब्यूट बदलते वक्त त्रुटी: +ErrorCreatingTemp=फ़ाइल बनाते वख्त त्रुटी: +ErrorReadingSource=श्रोत फाइल खोलते वक्त त्रुटी: +ErrorCopying=फ़ाइल प्रति करने का प्रयास करते वक्त त्रुटी: +ErrorReplacingExistingFile=मौजूद फाइल को प्रतिस्थापना करते वक्त त्रुटी: +ErrorRestartReplace=प्रतिस्थापन कि फिर से सुरुवात विफल रहा: +ErrorRenamingTemp=सङ्ग्रहिका में फाइल का नाम बदलते वक्त त्रुटी हुई: +ErrorRegisterServer=इस को पञ्जिकृत नही कर पा रहा DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 असफल हो गयी, बाहर जाने कोड %1 के साथ +ErrorRegisterTypeLib=इस टाइप लाइब्रेरी को पंजीकृत नही कर पा रहा: %1 + +; *** Post-installation errors +ErrorOpeningReadme=मुझे पढो फ़ाइल खोलते वक्त त्रुटी हुई. +ErrorRestartingComputer=स्थापना कल्पयन्त्र को फिर सुरु करने में असफल रहा. कृपया आप ही इसको फिर सुरु करे. + +; *** Uninstaller messages +UninstallNotFound=फाइल "%1" मौजूद ही नही है. निस्कासन करना असंभव. +UninstallOpenError=फ़ाइल "%1" खुल नही रही. निस्कासन करना असंभव. +UninstallUnsupportedVer=निस्कासन लोग फ़ाइल "%1" जिस फोर्मेट में है उसे हम पहचान नही पा रहे. आगे बढ़ना नामुमकिन. +UninstallUnknownEntry=निस्कासन लोग में एक अज्ञात प्रविष्टी (%1)मिली. +ConfirmUninstall=क्या पक्का आप %1 को निस्कासन करना चाहते हो? +UninstallOnlyOnWin64=केवल 64-bit Windows से ही इसे निस्कासन किया जा सकता है. +OnlyAdminCanUninstall=केवल प्रशासक खातों से ही इसे निस्कासन किया जा सकता है.. +UninstallStatusLabel=जब तक %1 नही हड्ता, धैर्य रखे. +UninstalledAll=%1 सफलतापूर्वक निस्कासन हुआ. +UninstalledMost=%1 निस्कासन पूरा हुआ.%n%nकुछ तत्वों को निकाल नही पाए लेकिन आप उन्हें अपनि तरह से हटा सकते हो. +UninstalledAndNeedsRestart=%1 का निस्कासन पूरा करने वास्ते कल्पयन्त्र को फिर सुरु करना जरूरी है.%n%nक्या अभी फिर सुरु करे? +UninstallDataCorrupted=%1 फ़ाइल में त्रुटी. निस्कासन नामुमकिन. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=क्या शेरेड-फाइल को निकाल देना है? +ConfirmDeleteSharedFile2=प्रणाली से ये ज्ञात होता है की निम्नलिखिती शेरेड-फ़ाइल अब आगे इस्तेमाल में नही आएगी. क्या आप उन्हें भी निस्कासन करना चाहते है?%n%n यदि कोई अन्य कार्यक्रम इन फाइल पे आधारित है तो वो शायद इन्हें निकाल देने पर ढंग से काम ना भी करे. यदि आप फैसला नही कर पा रहे तो 'नही' पे क्लिक करे. इन फाइल को कल्पयन्त्र में पड़े रहेने दोगे तो भी कोई नुकसान नही होगा. +SharedFileNameLabel=फाइल नाम: +SharedFileLocationLabel=पता: +WizardUninstalling=निस्कासन स्थिति +StatusUninstalling=निस्कासन हो रहा है %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp= %1 कि अधिष्ठआपन हो रही है. +ShutdownBlockReasonUninstallingApp=%1 कि निस्कासन हो रही है. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 संस्करण %2 +AdditionalIcons=अतिरिक्त प्रतिमा: +CreateDesktopIcon=डेस्कटॉप प्रतिमा बनाए +CreateQuickLaunchIcon=जल्दि चलो प्रतिमा बनाए +ProgramOnTheWeb=%1 इन्टरनेट पे +UninstallProgram=निस्कासन करे %1 +LaunchProgram=लोंच करे %1 +AssocFileExtension=%1 को %2 फ़ाइल एक्सटेंशन के साथ आबद्ध करे +AssocingFileExtension=%1 को %2 फ़ाइल एक्सटेंशन के साथ आबद्ध कर रहा है.... +AutoStartProgramGroupDescription=सुरुवात +AutoStartProgram=%1 को %2 फ़ाइल एक्सटेंशन के साथ आबद्ध कर रहा है.... +AddonHostProgramNotFound=आपने चयन किया हुआफोल्डर में %1 नही मिला. %n%nक्या आप किसि हालत में यस कि निरन्तरता रख्ना चाहते है ? diff --git a/setup-scripts/Languages/Unofficial/Indonesian.isl b/setup-scripts/Languages/Unofficial/Indonesian.isl new file mode 100644 index 0000000..322b392 --- /dev/null +++ b/setup-scripts/Languages/Unofficial/Indonesian.isl @@ -0,0 +1,350 @@ +; *** Inno Setup version 6.4.0+ Indonesian messages *** +; +; Untuk mengunduh terjemahan kontribusi-pengguna dari berkas ini, buka: +; http://www.jrsoftware.org/files/istrans/ +; +; Alih bahasa oleh: MozaikTM (mozaik.tm@gmail.com) + +[LangOptions] +LanguageName=Bahasa Indonesia +LanguageID=$0421 +LanguageCodePage=0 + +[Messages] +SetupAppTitle=Instalasi +SetupWindowTitle=Instalasi - %1 +UninstallAppTitle=Pelepas +UninstallAppFullTitle=Pelepasan %1 + +InformationTitle=Informasi +ConfirmTitle=Konfirmasi +ErrorTitle=Galat + +SetupLdrStartupMessage=Kami akan memasang %1. Teruskan? +LdrCannotCreateTemp=Tidak dapat membuat berkas sementara. Batal memasang +LdrCannotExecTemp=Tidak dapat menjalankan berkas di direktori sementara. Batal memasang + +LastErrorMessage=%1.%n%nGalat %2: %3 +SetupFileMissing=Berkas %1 hilang dari direktori instalasi. Silakan koreksi masalah atau dapatkan salinan program yang baru. +SetupFileCorrupt=Berkas pemandu telah rusak. Silakan dapatkan salinan program yang baru. +SetupFileCorruptOrWrongVer=Berkas pemandu telah rusak, atau tidak cocok dengan versi pemandu ini. Silakan koreksi masalah atau dapatkan salinan program yang baru. +InvalidParameter=Parameter tak sah terdapat pada baris perintah: %n%n%1 +SetupAlreadyRunning=Pemandu sudah berjalan. +WindowsVersionNotSupported=Program ini tidak mendukung versi Windows yang berjalan pada komputer Anda. +WindowsServicePackRequired=Program ini memerlukan %1 Service Pack %2 atau yang terbaru. +NotOnThisPlatform=Program ini tidak akan berjalan pada %1. +OnlyOnThisPlatform=Program ini harus dijalankan pada %1. +OnlyOnTheseArchitectures=Program ini hanya bisa dipasang pada versi Windows yang didesain untuk arsitektur prosesor berikut:%n%n%1 +WinVersionTooLowError=Program ini memerlukan %1 versi %2 atau yang terbaru. +WinVersionTooHighError=Program ini tidak dapat dipasang pada %1 versi %2 atau yang terbaru. +AdminPrivilegesRequired=Anda harus masuk sebagai seorang administrator saat memasang program ini. +PowerUserPrivilegesRequired=Anda harus masuk sebagai seorang administrator atau anggota grup Power Users saat memasang program ini. +SetupAppRunningError=Kami mendeteksi bahwa %1 sedang berjalan.%n%nSilakan tutup semua instansi bersangkutan, lalu klik OK untuk meneruskan, atau Cancel untuk keluar. +UninstallAppRunningError=Pelepas mendeteksi bahwa %1 sedang berjalan.%n%nSilakan tutup semua instansi bersangkutan, lalu klik OK untuk meneruskan, atau Cancel untuk keluar. + +;Inno6 +PrivilegesRequiredOverrideTitle=Pilih Mode Instalasi +PrivilegesRequiredOverrideInstruction=Pilih mode instalasi +PrivilegesRequiredOverrideText1=%1 bisa dipasang untuk semua pengguna (perlu izin administratif), atau hanya Anda. +PrivilegesRequiredOverrideText2=%1 bisa dipasang hanya untuk Anda, atau semua pengguna (perlu izin administratif). +PrivilegesRequiredOverrideAllUsers=Pasang untuk &semua pengguna +PrivilegesRequiredOverrideAllUsersRecommended=Pasang untuk &semua pengguna (disarankan) +PrivilegesRequiredOverrideCurrentUser=Pasang &hanya untuk saya +PrivilegesRequiredOverrideCurrentUserRecommended=Pasang &hanya untuk saya (disarankan) +;Inno6 + +ErrorCreatingDir=Kami tidak dapat membuat direktori "%1" +ErrorTooManyFilesInDir=Tidak dapat membuat berkas di direktori "%1" karena berisi terlalu banyak berkas + +ExitSetupTitle=Keluar Pemandu +ExitSetupMessage=Instalasi tidak lengkap. Bila Anda keluar sekarang, program takkan terpasang.%n%nAnda bisa menjalankan Pemandu lagi lain kali untuk melengkapinya.%n%nKeluar? +AboutSetupMenuItem=&Tentang Pemandu... +AboutSetupTitle=Tentang Pemandu +AboutSetupMessage=%1 versi %2%n%3%n%n%1 laman beranda:%n%4 +AboutSetupNote= +TranslatorNote= + +ButtonBack=&Kembali +ButtonNext=&Maju +ButtonInstall=&Pasang +ButtonOK=Oke +ButtonCancel=Batal +ButtonYes=&Ya +ButtonYesToAll=Y&a semuanya +ButtonNo=&Tidak +ButtonNoToAll=T&idak semuanya +ButtonFinish=&Selesai +ButtonBrowse=&Cari... +ButtonWizardBrowse=C&ari... +ButtonNewFolder=&Buat Map Baru + +SelectLanguageTitle=Pilih Bahasa Pemandu +SelectLanguageLabel=Pilih bahasa untuk digunakan ketika memasang. + +ClickNext=Klik Maju untuk meneruskan, atau Batal untuk keluar. +BeveledLabel= +BrowseDialogTitle=Cari Map +BrowseDialogLabel=Pilih map dari daftar berikut, lalu klik OK. +NewFolderName=Map Baru + +WelcomeLabel1=Selamat datang di Pemandu Instalasi [name] +WelcomeLabel2=Kami akan memasang [name/ver] pada komputer Anda.%n%nDisarankan untuk menutup semua aplikasi lainnya sebelum meneruskan. + +WizardPassword=Kata Sandi +PasswordLabel1=Instalasi ini dilindungi kata sandi. +PasswordLabel3=Silakan masukkan kata sandi, lalu klik Maju untuk meneruskan. Kata sandi bersifat sensitif-kapitalisasi. +PasswordEditLabel=&Kata Sandi: +IncorrectPassword=Kata sandi yang Anda masukkan salah. Silakan coba lagi. + +WizardLicense=Kesepakatan Lisensi +LicenseLabel=Silakan baca informasi berikut sebelum meneruskan. +LicenseLabel3=Silakan baca Kesepakatan Lisensi berikut. Anda harus setuju dengan syarat dari kesepakatan ini sebelum meneruskan instalasi. +LicenseAccepted=Saya &setujui kesepakatan ini +LicenseNotAccepted=Saya &tidak setuju kesepakatan ini + +WizardInfoBefore=Informasi +InfoBeforeLabel=Silakan baca informasi penting berikut sebelum meneruskan. +InfoBeforeClickLabel=Saat Anda siap meneruskan instalasi, klik Maju. +WizardInfoAfter=Informasi +InfoAfterLabel=Silakan baca informasi penting berikut sebelum meneruskan. +InfoAfterClickLabel=Saat Anda siap meneruskan instalasi, klik Maju. + +WizardUserInfo=Informasi Pengguna +UserInfoDesc=Silakan masukkan informasi Anda. +UserInfoName=&Nama Pengguna: +UserInfoOrg=&Organisasi: +UserInfoSerial=&Nomor Seri: +UserInfoNameRequired=Wajib memasukkan nama. + +WizardSelectDir=Pilih Lokasi Tujuan +SelectDirDesc=Di manakah [name] sebaiknya dipasang? +SelectDirLabel3=Kami akan memasang [name] ke dalam map berikut. +SelectDirBrowseLabel=Untuk meneruskan, klik Maju. Bila Anda ingin memilih map lain, klik Cari. +;Inno6 +DiskSpaceGBLabel=Diperlukan sedikitnya [gb] GB ruang bebas. +;Inno6 +DiskSpaceMBLabel=Diperlukan sedikitnya [mb] MB ruang bebas. +CannotInstallToNetworkDrive=Kami tidak bisa memasang ke diska jaringan. +CannotInstallToUNCPath=Kami tidak bisa memasang ke alamat UNC. +InvalidPath=Anda wajib memasukkan alamat lengkap dengan huruf diska; contohnya:%n%nC:\APP%n%natau alamat UNC dalam bentuk:%n%n\\server\share +InvalidDrive=Diska atau alamat UNC yang Anda pilih tidak ada atau tidak dapat diakses. Silakan pilih yang lain. +DiskSpaceWarningTitle=Ruang Bebas Tidak Cukup +DiskSpaceWarning=Kami memerlukan sedikitnya %1 KB ruang bebas untuk memasang, namun diska yang Anda pilih hanya memiliki %2 KB tersedia.%n%nMaju terus? +DirNameTooLong=Nama map atau alamat terlalu panjang. +InvalidDirName=Nama map tidak sah. +BadDirName32=Nama map dilarang berisi karakter-karakter berikut:%n%n%1 +DirExistsTitle=Map Sudah Ada +DirExists=Map:%n%n%1%n%nsudah ada. Tetap pasang di map tersebut? +DirDoesntExistTitle=Map Tidak Ada +DirDoesntExist=Map:%n%n%1%n%ntidak ada. Buat map? + +WizardSelectComponents=Pilih Komponen +SelectComponentsDesc=Komponen mana sajakah yang sebaiknya dipasang? +SelectComponentsLabel2=Centang komponen yang Anda inginkan; hapus centang dari komponen yang tidak Anda inginkan. Klik Maju saat Anda siap meneruskan. +FullInstallation=Instalasi penuh +CompactInstallation=Instalasi padat +CustomInstallation=Instalasi kustom +NoUninstallWarningTitle=Komponen Terpasang +NoUninstallWarning=Kami mendeteksi bahwa komponen berikut telah terpasang pada komputer Anda:%n%n%1%n%nMembatalkan pilihan atas komponen berikut bukan berarti melepasnya.%n%nMaju terus? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +;Inno6 +ComponentsDiskSpaceGBLabel=Pilihan saat ini memerlukan sedikitnya [gb] GB ruang bebas. +;Inno6 +ComponentsDiskSpaceMBLabel=Pilihan saat ini memerlukan sedikitnya [mb] MB ruang bebas. + +WizardSelectTasks=Pilih Tugas Tambahan +SelectTasksDesc=Tugas tambahan mana sajakah yang sebaiknya dijalankan? +SelectTasksLabel2=Pilih tugas tambahan yang Anda ingin kami jalankan ketika memasang [name], lalu klik Maju. + +WizardSelectProgramGroup=Pilih Map Menu Start +SelectStartMenuFolderDesc=Di manakah sebaiknya kami letakkan pintasan program? +SelectStartMenuFolderLabel3=Kami akan membuat pintasan program di map Menu Start berikut. +SelectStartMenuFolderBrowseLabel=Untuk meneruskan, klik Maju. Bila Anda ingin memilih map lain, klik Cari. +MustEnterGroupName=Anda wajib memasukkan nama map. +GroupNameTooLong=Nama map atau alamat terlalu panjang. +InvalidGroupName=Nama map tidak sah. +BadGroupName=Nama map dilarang berisi karakter-karakter berikut:%n%n%1 +NoProgramGroupCheck2=&Jangan buat map Menu Start + +WizardReady=Siap Memasang +ReadyLabel1=Kami siap untuk memulai instalasi [name] pada komputer Anda. +ReadyLabel2a=Klik Pasang untuk meneruskan instalasi, atau klik Kembali bila Anda ingin menilik atau mengubah setelan. +ReadyLabel2b=Klik Pasang untuk meneruskan instalasi. +ReadyMemoUserInfo=Informasi pengguna: +ReadyMemoDir=Lokasi tujuan: +ReadyMemoType=Tipe instalasi: +ReadyMemoComponents=Komponen terpilih: +ReadyMemoGroup=Map Menu Start: +ReadyMemoTasks=Tugas Tambahan: + +;Inno6 +DownloadingLabel=Mengunduh berkas tambahan... +ButtonStopDownload=&Setop Unduhan +StopDownload=Anda yakin ingin berhenti mengunduh? +ErrorDownloadAborted=Unduhan dibatalkan +ErrorDownloadFailed=Gagal mengunduh: %1 %2 +ErrorDownloadSizeFailed=Gagal mendapatkan ukuran: %1 %2 +ErrorFileHash1=Ceksum berkas gagal: %1 +ErrorFileHash2=Ceksum berkas tidak sah: seharusnya %1, yang kami dapatkan %2 +ErrorProgress=Langkah tidak sah: %1 dari %2 +ErrorFileSize=Ukuran berkas tidak sah: seharusnya %1, yang kami dapatkan %2 + +; *** TExtractionWizardPage wizard page and Extract7ZipArchive +ExtractionLabel=Mengektrasi berkas tambahan... +ButtonStopExtraction=&Hentikan ekstrasi +StopExtraction=Anda yakin ingin menghentikan ekstrasi? +ErrorExtractionAborted=Ekstrasi dibatalkan +ErrorExtractionFailed=Ekstraksi gagal: %1 +;Inno6 + +WizardPreparing=Bersiap Memasang +PreparingDesc=Kami sedang bersiap memasang [name] pada komputer Anda. +PreviousInstallNotCompleted=Instalasi/pelepasan dari program sebelumnya tidak lengkap. Anda perlu memulai ulang komputer untuk melengkapinya nanti.%n%nSetelah itu, jalankan Pemandu kembali untuk melengkapi instalasi [name]. +CannotContinue=Kami tidak bisa meneruskan. Klik Batal untuk keluar. +ApplicationsFound=Aplikasi berikut tengah memakai berkas-berkas yang perlu kami perbarui. Disarankan agar Anda mengizinkan kami untuk menutupnya secara otomatis. +ApplicationsFound2=Aplikasi berikut tengah memakai berkas-berkas yang perlu kami perbarui. Disarankan agar Anda mengizinkan kami untuk menutupnya secara otomatis. Selengkapnya memasang, kami akan berusaha memulai ulang aplikasi-aplikasi tersebut. +CloseApplications=&Otomatis tutup aplikasi +DontCloseApplications=&Jangan tutup aplikasi +ErrorCloseApplications=Kami tidak dapat menutup semua aplikasi secara otomatis. Disarankan agar Anda menutup semua aplikasi yang memakai berkas-berkas yang perlu kami perbarui sebelum meneruskan. +;Inno6 +PrepareToInstallNeedsRestart=Kami perlu memulai ulang komputer Anda. Setelah itu, jalankan Pemandu kembali untuk melengkapi pemasangan [name].%n%nMulai ulang sekarang? +;Inno6 + +WizardInstalling=Memasang +InstallingLabel=Silakan tunggu selagi kami memasang [name] pada komputer Anda. + +FinishedHeadingLabel=Mengakhiri Instalasi [name] +FinishedLabelNoIcons=Kami telah selesai memasang [name] pada komputer Anda. +FinishedLabel=Kami telah selesai memasang [name] pada komputer Anda. Aplikasi tersebut bisa dijalankan dengan cara memilih pintasan yang terpasang. +ClickFinish=Klik Selesai untuk menutup instalasi. +FinishedRestartLabel=Demi melengkapi instalasi [name], kami perlu memulai ulang komputer Anda. Lakukan sekarang? +FinishedRestartMessage=Demi melengkapi instalasi [name], kami perlu memulai ulang komputer Anda.%n%nLakukan sekarang? +ShowReadmeCheck=Ya, saya ingin melihat berkas README +YesRadio=&Ya, mulai ulang komputer sekarang +NoRadio=&Tidak, saya akan memulai ulang komputer nanti +RunEntryExec=Jalankan %1 +RunEntryShellExec=Lihat %1 + +ChangeDiskTitle=Kami Memerlukan Diska Sambungan +SelectDiskLabel2=Silakan masukkan Diska %1 dan klik OK.%n%nBila berkas-berkas di dalam diska ini dapat ditemukan di map lain selain yang ditampilkan di bawah, masukkan alamat yang benar atau klik Cari. +PathLabel=&Alamat: +FileNotInDir2=Berkas "%1" tidak dapat ditemukan di "%2". Silakan masukkan diska yang benar atau pilih map lain. +SelectDirectoryLabel=Silakan tentukan lokasi diska berikutnya. + +SetupAborted=Instalasi tidak lengkap.%n%nSilakan koreksi masalah dan jalankan Pemandu kembali. +;Inno6 +AbortRetryIgnoreSelectAction=Pilih tindakan +AbortRetryIgnoreRetry=&Coba lagi +AbortRetryIgnoreIgnore=&Abaikan galat dan teruskan +AbortRetryIgnoreCancel=Batalkan pemasangan +;Inno6 + +StatusClosingApplications=Menutup aplikasi... +StatusCreateDirs=Membuat direktori... +StatusExtractFiles=Mengekstrak berkas... +StatusCreateIcons=Membuat pintasan... +StatusCreateIniEntries=Membuat catatan INI... +StatusCreateRegistryEntries=Membuat catatan Registry... +StatusRegisterFiles=Meregistrasi berkas... +StatusSavingUninstall=Menyimpan informasi pelepas... +StatusRunProgram=Mengakhiri instalasi... +StatusRestartingApplications=Menjalankan ulang aplikasi... +StatusRollback=Membatalkan perubahan... + +ErrorInternal2=Galat internal: %1 +ErrorFunctionFailedNoCode=%1 gagal +ErrorFunctionFailed=%1 gagal; kode %2 +ErrorFunctionFailedWithMessage=%1 gagal; kode %2.%n%3 +ErrorExecutingProgram=Tidak dapat mengeksekusi berkas:%n%1 + +ErrorRegOpenKey=Galat membuka kunci Registry:%n%1\%2 +ErrorRegCreateKey=Galat membuat kunci Registry:%n%1\%2 +ErrorRegWriteKey=Galat menulis kunci Registry:%n%1\%2 + +ErrorIniEntry=Galat membuat catatan INI dalam berkas "%1". + +;Inno6 +FileAbortRetryIgnoreSkipNotRecommended=&Lewati berkas ini (tidak disarankan) +FileAbortRetryIgnoreIgnoreNotRecommended=&Abaikan galat dan teruskan (tidak disarankan) +;Inno6 + +SourceIsCorrupted=Berkas asal telah rusak +SourceDoesntExist=Berkas asal "%1" tidak ada + +;Inno6 +ExistingFileReadOnly2=Berkas yang sudah ada tidak bisa ditimpa karena telah ditandai hanya-baca. +ExistingFileReadOnlyRetry=&Hapus atribut hanya-baca dan coba lagi +ExistingFileReadOnlyKeepExisting=&Pertahankan berkas yang sudah ada +ErrorReadingExistingDest=Terjadi galat saat berusaha membaca berkas yang sudah ada: +FileExistsSelectAction=Pilih tindakan +FileExists2=Berkas sudah ada. +FileExistsOverwriteExisting=&Timpa berkas yang sudah ada +FileExistsKeepExisting=&Pertahankan berkas yang sudah ada +FileExistsOverwriteOrKeepAll=&Lakukan ini untuk konflik (bentrok) berikutnya +ExistingFileNewerSelectAction=Pilih tindakan +ExistingFileNewer2=Berkas yang sudah ada lebih baru dari yang akan kami coba pasang. +ExistingFileNewerOverwriteExisting=&Timpa berkas yang sudah ada +ExistingFileNewerKeepExisting=&Pertahankan berkas yang sudah ada (disarankan) +ExistingFileNewerOverwriteOrKeepAll=&Lakukan ini untuk konflik (bentrok) berikutnya +;Inno6 +ErrorReadingExistingDest=Terjadi galat saat berusaha membaca berkas yang sudah ada: +ErrorChangingAttr=Terjadi galat saat berusaha mengubah atribusi berkas yang sudah ada: +ErrorCreatingTemp=Terjadi galat saat berusaha membuat berkas di direktori tujuan: +ErrorReadingSource=Terjadi galat saat berusaha membaca berkas asal: +ErrorCopying=Terjadi galat saat berusaha menyalin berkas: +ErrorReplacingExistingFile=Terjadi galat saat berusaha menimpa berkas yang sudah ada: +ErrorRestartReplace=RestartReplace gagal: +ErrorRenamingTemp=Terjadi galat saat berusaha mengubah nama berkas di direktori tujuan: +ErrorRegisterServer=Tidak dapat meregistrasi DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 gagal dengan kode akhir %1 +ErrorRegisterTypeLib=Tidak dapat meregistrasi berkas referensi: %1 + +;Inno6 +UninstallDisplayNameMark=%1 (%2) +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bita +UninstallDisplayNameMark64Bit=64-bita +UninstallDisplayNameMarkAllUsers=Semua pengguna +UninstallDisplayNameMarkCurrentUser=Pengguna saat ini +;Inno6 + +ErrorOpeningReadme=Terjadi galat saat berusaha membuka berkas README. +ErrorRestartingComputer=Kami gagal memulai ulang komputer. Silakan lakukan secara manual. + +UninstallNotFound=Berkas "%1" tidak ada. Tidak bisa melepas +UninstallOpenError=Berkas "%1" tidak dapat dibuka. Tidak bisa melepas +UninstallUnsupportedVer=Berkas catatan pelepas "%1" tidak dalam format yang kami kenali. Tidak bisa melepas +UninstallUnknownEntry=Entri tak dikenal (%1) ditemukan dalam catatan pelepas +ConfirmUninstall=Anda yakin ingin melepas %1 beserta semua komponennya? +UninstallOnlyOnWin64=Instalasi ini hanya bisa dilepas pada Windows 64-bita. +OnlyAdminCanUninstall=Instalasi ini hanya bisa dilepas oleh pengguna dengan izin administratif. +UninstallStatusLabel=Silakan tunggu selagi %1 dihapus dari komputer Anda. +UninstalledAll=%1 berhasil dihapus dari komputer Anda. +UninstalledMost=Selesai melepas %1.%n%nBeberapa elemen tidak dapat dihapus. Anda bisa menghapusnya secara manual. +UninstalledAndNeedsRestart=Untuk melengkapi pelepasan %1, komputer Anda perlu dimulai ulang.%n%nMulai ulang sekarang? +UninstallDataCorrupted=Berkas "%1" rusak. Tidak bisa melepas + +ConfirmDeleteSharedFileTitle=Hapus Berkas Bersama? +ConfirmDeleteSharedFile2=Sistem mengindikasi bahwa berkas bersama di bawah ini tidak lagi dipakai oleh program mana pun. Apa Anda ingin agar kami menghapusnya?%n%nBila masih ada program yang memakainya dan berkas ini dihapus, program tersebut dapat tidak berfungsi dengan semestinya. Bila Anda ragu, pilih No. Membiarkan berkas ini pada sistem Anda takkan membahayakan. +SharedFileNameLabel=Nama berkas: +SharedFileLocationLabel=Lokasi: +WizardUninstalling=Status Pelepasan +StatusUninstalling=Melepas %1... + +ShutdownBlockReasonInstallingApp=Memasang %1. +ShutdownBlockReasonUninstallingApp=Melepas %1. + +[CustomMessages] +NameAndVersion=%1 versi %2 +AdditionalIcons=Pintasan tambahan: +CreateDesktopIcon=Buat pintasan &desktop +CreateQuickLaunchIcon=Buat pintasan Pelontar &Cepat +ProgramOnTheWeb=%1 di Web +UninstallProgram=Lepas %1 +LaunchProgram=Jalankan %1 +AssocFileExtension=&Kaitkan %1 dengan ekstensi berkas %2 +AssocingFileExtension=Mengaitkan %1 dengan ekstensi berkas %2... +AutoStartProgramGroupDescription=Startup: +AutoStartProgram=Otomatis jalankan %1 +AddonHostProgramNotFound=%1 tidak dapat ditemukan di map yang Anda pilih.%n%nMaju terus? diff --git a/setup-scripts/Setup-windows-ffmpeg.iss b/setup-scripts/Setup-windows-ffmpeg.iss index 9ad8a10..b51fc23 100644 --- a/setup-scripts/Setup-windows-ffmpeg.iss +++ b/setup-scripts/Setup-windows-ffmpeg.iss @@ -47,6 +47,9 @@ Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" +Name: "chinesesimplified"; MessagesFile: "Languages\Unofficial\ChineseSimplified.isl" +Name: "hindi"; MessagesFile: "Languages\Unofficial\Hindi.islu" +Name: "indonesian"; MessagesFile: "Languages\Unofficial\Indonesian.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; @@ -106,6 +109,9 @@ begin else if ActiveLanguage = 'russian' then LanguageCode := 'ru' else if ActiveLanguage = 'spanish' then LanguageCode := 'es' else if ActiveLanguage = 'turkish' then LanguageCode := 'tr' + else if ActiveLanguage = 'chinesesimplified' then LanguageCode := 'zh' + else if ActiveLanguage = 'hindi' then LanguageCode := 'hi' + else if ActiveLanguage = 'indonesian' then LanguageCode := 'id' else LanguageCode := 'en'; ConfigPath := ExpandConstant('{localappdata}\YTSage\data\ytsage_config.json'); diff --git a/setup-scripts/Setup-windows.iss b/setup-scripts/Setup-windows.iss index 1f1228c..49ef544 100644 --- a/setup-scripts/Setup-windows.iss +++ b/setup-scripts/Setup-windows.iss @@ -47,6 +47,9 @@ Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl" +Name: "chinesesimplified"; MessagesFile: "Languages\Unofficial\ChineseSimplified.isl" +Name: "hindi"; MessagesFile: "Languages\Unofficial\Hindi.islu" +Name: "indonesian"; MessagesFile: "Languages\Unofficial\Indonesian.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; @@ -84,6 +87,9 @@ begin else if ActiveLanguage = 'russian' then LanguageCode := 'ru' else if ActiveLanguage = 'spanish' then LanguageCode := 'es' else if ActiveLanguage = 'turkish' then LanguageCode := 'tr' + else if ActiveLanguage = 'chinesesimplified' then LanguageCode := 'zh' + else if ActiveLanguage = 'hindi' then LanguageCode := 'hi' + else if ActiveLanguage = 'indonesian' then LanguageCode := 'id' else LanguageCode := 'en'; ConfigPath := ExpandConstant('{localappdata}\YTSage\data\ytsage_config.json'); From a2c16bf7931e88616e3f0795821f425bcfee632c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Feb 2026 14:33:25 +0200 Subject: [PATCH 476/568] Add Windows installer artifacts to CI docs Update CI_CD_README.md to list the Windows installer outputs produced by the workflow: `YTSage-v{version}-Setup.exe` (standard installer) and `YTSage-v{version}-ffmpeg-Setup.exe` (FFmpeg bundle installer). This documents that the pipeline generates both portable zips and installer executables for Windows. --- .github/CI_CD_README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CI_CD_README.md b/.github/CI_CD_README.md index e68969d..93cad84 100644 --- a/.github/CI_CD_README.md +++ b/.github/CI_CD_README.md @@ -43,6 +43,8 @@ The workflow creates the following files based on the platform: #### Windows - `YTSage-v{version}-portable.zip` - Standard portable version - `YTSage-v{version}-ffmpeg-portable.zip` - FFmpeg bundle portable +- `YTSage-v{version}-Setup.exe` - Standard installer +- `YTSage-v{version}-ffmpeg-Setup.exe` - FFmpeg bundle installer #### Linux - `YTSage-v{version}-{arch}.AppImage` - AppImage portable (x86_64, aarch64) From a3abd3309f7156f0535f9b37bce480953f931b19 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Feb 2026 14:34:44 +0200 Subject: [PATCH 477/568] Bump ytsage version to 5.0.0b5 Update __version__ in ytsage/__init__.py from 5.0.0b4 to 5.0.0b5 to mark the next beta release. --- ytsage/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ytsage/__init__.py b/ytsage/__init__.py index ebe747e..b44f066 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.0b4" +__version__ = "5.0.0b5" __author__ = "oop7" From 7490f1939b055d6b7381d6141e2c0e0a2fd81a13 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Feb 2026 14:43:38 +0200 Subject: [PATCH 478/568] Update build-pypi.yml to set draft and prerelease options for GitHub release --- .github/workflows/build-pypi.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-pypi.yml b/.github/workflows/build-pypi.yml index 274fb34..7554805 100644 --- a/.github/workflows/build-pypi.yml +++ b/.github/workflows/build-pypi.yml @@ -43,6 +43,9 @@ jobs: uses: softprops/action-gh-release@v2 with: tag_name: v${{ inputs.version || github.event.inputs.version }} + name: YTSage v${{ inputs.version || github.event.inputs.version }} + draft: true + prerelease: false files: | dist/* env: From 026bd45c32c6775c67eaf343bff89f3cfcb6a596 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 10 Feb 2026 14:45:35 +0200 Subject: [PATCH 479/568] Bump project version to 5.0.0b5 Update pyproject.toml to change the project version from 4.9.7 to 5.0.0b5, marking a beta/pre-release for the upcoming 5.0 release cycle. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 323bcdf..5ead99f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "4.9.7" +version = "5.0.0b5" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, From 6b6394b3b6c167c00e4bde75b993037ef04cad77 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 26 Feb 2026 13:02:54 +0200 Subject: [PATCH 480/568] Zero-pad PyPI version to match GitHub tags Normalize PyPI's version string (e.g. "2026.2.21") to the zero-padded GitHub tag format (e.g. "2026.02.21") before building the update target. The code splits a three-part version and pads the month/day components with two digits so stable@ matches yt-dlp GitHub tagging. --- ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py index eca6651..8f8e4bb 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py @@ -746,6 +746,11 @@ class UpdaterTabWidget(QWidget): response.raise_for_status() latest_tag = response.json()["info"]["version"] if latest_tag: + # PyPI returns version without zero-padding (e.g. "2026.2.21") + # but yt-dlp GitHub tags are zero-padded (e.g. "2026.02.21") + parts = latest_tag.split(".") + if len(parts) == 3: + latest_tag = f"{parts[0]}.{int(parts[1]):02d}.{int(parts[2]):02d}" update_target = f"stable@{latest_tag}" logger.info(f"Latest stable version tag: {latest_tag}") else: From 0d8bf820ecb1a5b7c565ddd63030e7e6bceeca21 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:14:37 +0200 Subject: [PATCH 481/568] Add installation and update instructions to README Add collapsible (details/summary) sections with step-by-step installation and upgrade instructions: pip upgrade for updating, Windows installer/portable/FFmpeg options, Linux packages (deb/rpm/AppImage/Flatpak) with example commands, and macOS DMG/zip steps plus a troubleshooting note. Improves clarity and discoverability of install/update procedures for users. --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/README.md b/README.md index 2f52658..1026660 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,15 @@ Install YTSage from PyPI: pip install ytsage ``` +
    +🔄 Update an existing installation + +```bash +pip install --upgrade ytsage +``` + +
    + Then launch the app: ```bash @@ -82,6 +91,14 @@ ytsage | ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable version, no installation required | | ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable with FFmpeg, zipped | +
    +🛠️ Installation Steps + +1. **EXE Installer (`.exe`)**: Double-click the file and follow the setup wizard. +2. **Portable Version (`.zip`)**: Extract the archive to your desired location and run `ytsage.exe`. +3. **FFmpeg Bundled**: Choose the FFmpeg bundled versions if you don't have FFmpeg installed on your system. +
    + #### 🐧 Linux | Format | Description | @@ -91,6 +108,29 @@ ytsage | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM package | | ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak Bundle | +
    +🛠️ Installation Steps + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **AppImage (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: Follow instructions on Flathub or run: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + #### 🍎 macOS | Format | Description | @@ -98,6 +138,15 @@ ytsage | ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Zipped application for Apple Silicon | | ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk image installer for Apple Silicon | +
    +🛠️ Installation Steps + +- **DMG Installer (`.dmg`)**: Double-click to mount, then drag `YTSage.app` into your Applications folder. +- **App Archive (`.zip`)**: Extract the zip and move `YTSage.app` to your Applications folder. + +*Note: If you encounter an "App is damaged" error, see the [macOS troubleshooting section](#troubleshooting) below.* +
    + > [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest)
    From 51d43e38bf74b2659939caeed271625d37475c84 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:16:25 +0200 Subject: [PATCH 482/568] Add download link and remove duplicate Insert a 'Download Latest Release' callout under the Pre-built Executables section and remove a duplicate link later in the README so there's a single prominent release download link. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1026660..65affdb 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,8 @@ ytsage ### 📦 Pre-built Executables +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + #### 🪟 Windows | Format | Description | @@ -147,8 +149,6 @@ ytsage *Note: If you encounter an "App is damaged" error, see the [macOS troubleshooting section](#troubleshooting) below.*
    -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) -
    🛠️ Manual Installation from Source From 3de27938d094889a744985c4ba2f6bb304653240 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:18:28 +0200 Subject: [PATCH 483/568] Add separator and update manual install heading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Insert a horizontal rule before the Manual Installation section and update the section summary emoji/text from '🛠️ Manual Installation from Source' to '💻 Manual Installation from Source' for improved readability and consistency in the README. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 65affdb..1b231d2 100644 --- a/README.md +++ b/README.md @@ -149,8 +149,10 @@ ytsage *Note: If you encounter an "App is damaged" error, see the [macOS troubleshooting section](#troubleshooting) below.*
    +--- +
    -🛠️ Manual Installation from Source +💻 Manual Installation from Source ### 1. Clone the Repository From c34f33cc7a60cc7732a27d862c87cad5aafccc45 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 17:45:06 +0200 Subject: [PATCH 484/568] Add GitHub Sponsors badge to README Adds a GitHub Sponsors badge (via shields.io) to the README, linking to https://github.com/sponsors/oop7 to promote project sponsorship. Minor documentation/branding enhancement. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b231d2..24ebecf 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ [![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=4b5563&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) [![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-4b5563?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=ea4aaa&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) **A modern YouTube downloader with a clean PySide6 interface.** Download videos in any quality, extract audio, fetch subtitles, and more. From 4775f827a0d9f63303b9f82a6db932155f6518be Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 17:45:21 +0200 Subject: [PATCH 485/568] Add sponsor link to About dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a styled '❤️ Sponsor' GitHub Sponsors link to the About dialog (ytsage_dialogs_base.py). The change creates a QLabel with an external href to the sponsor page, enables openExternalLinks, and appends it to the info layout so the About dialog displays a sponsor call-to-action. --- ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index dc39a48..168c4fd 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -240,6 +240,11 @@ class AboutDialog(QDialog): repo_label.setOpenExternalLinks(True) info_layout.addWidget(repo_label) + sponsor_link = '❤️ Sponsor' + sponsor_label = QLabel(sponsor_link) + sponsor_label.setOpenExternalLinks(True) + info_layout.addWidget(sponsor_label) + # Center the info layout info_container = QHBoxLayout() info_container.addStretch() From 1cfb106ccc026b1fd6463820c11ed74d5a59ae74 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 17:48:42 +0200 Subject: [PATCH 486/568] Reorder badges in README.md Move the PyPI version and License (MIT) badges down in the README header to improve grouping and visual flow of project badges (now placed after the GitHub Stars badge). --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24ebecf..04db3c6 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,12 @@ ytsage-wordmark YTSage Interface -[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) -[![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) [![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) [![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=4b5563&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) [![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-4b5563?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=ea4aaa&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) From 86e0121a58962e6de5f294e11db77c04b6dd6962 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 17:52:02 +0200 Subject: [PATCH 487/568] Adjust README badges' colors and order Reorder and restyle README badges for consistent visual grouping. Several badges (downloads, license, supported platforms) were changed to a dark-gray color (1f2937) and grouped together, while GitHub Stars, PyPI version, and Sponsors badges were highlighted in red (c90000). This is a cosmetic update to improve badge contrast and layout. --- README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 04db3c6..97c6387 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,14 @@ YTSage Interface [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) -[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=4b5563&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) -[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=4b5563&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) -[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=dc2626&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) -[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=dc2626&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) -[![License: MIT](https://img.shields.io/badge/License-MIT-374151?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) -[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-4b5563?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) -[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=ea4aaa&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) + +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) **A modern YouTube downloader with a clean PySide6 interface.** Download videos in any quality, extract audio, fetch subtitles, and more. From 7bf4eec9fa04bbbac17a14a43e2a3947aaf0b3d1 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 17:53:14 +0200 Subject: [PATCH 488/568] Remove extra blank line in README badges Delete an unintended blank line between badge entries in README.md to tighten badge layout and clean up formatting. No functional changes. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 97c6387..8998cc6 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ [![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) [![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) [![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) - [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) From a98dad0a33de362d787c546b54b94aeba16de8eb Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 3 Mar 2026 18:00:03 +0200 Subject: [PATCH 489/568] Simplify link styling in About dialog Update AboutDialog link markup to remove explicit font-size and font-weight styles and to unify link color. The author and repo links no longer set font-size, and the sponsor link color was changed from #ea4aaa to #c90000 (and its font-size/weight removed) for consistent appearance across links. --- ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py index 168c4fd..767684d 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_base.py @@ -226,21 +226,21 @@ class AboutDialog(QDialog): info_layout = QHBoxLayout() info_layout.setSpacing(15) - author_link = 'oop7' + author_link = 'oop7' author_label = QLabel( f"{_('about.author', author=author_link)}" ) author_label.setOpenExternalLinks(True) info_layout.addWidget(author_label) - repo_link = 'YTSage' + repo_link = 'YTSage' repo_label = QLabel( f"{_('about.github', repo=repo_link)}" ) repo_label.setOpenExternalLinks(True) info_layout.addWidget(repo_label) - sponsor_link = '❤️ Sponsor' + sponsor_link = '❤️ Sponsor' sponsor_label = QLabel(sponsor_link) sponsor_label.setOpenExternalLinks(True) info_layout.addWidget(sponsor_label) From 518bd20e542a12c40384cf26ae2fefd62b365747 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 7 Mar 2026 20:58:31 +0200 Subject: [PATCH 490/568] Bump version to 5.0.0 Promote package from beta to stable by updating version strings from 5.0.0b5 to 5.0.0 in pyproject.toml and ytsage/__init__.py. Prepares the project for the 5.0.0 release. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5ead99f..6f1876e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.0b5" +version = "5.0.0" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index b44f066..3a60c10 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.0b5" +__version__ = "5.0.0" __author__ = "oop7" From 9afca46c5d93d060609ce4269658a87050c7a99d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 12 Mar 2026 11:10:10 +0200 Subject: [PATCH 491/568] Add generic-mode URL validation and UI Introduce a "generic_mode" option to allow validating/downloading from non-YouTube sites and wire it through the UI, config, and validation logic. Key changes: - Add generic_mode default to ConfigManager and persist setting from DownloadSettingsDialog (checkbox + help text). - Extend validate_video_url to accept a generic_mode flag and allow any http/https URL with a domain when enabled; pass this flag from Analysis and Download flows. - Update YTSageApp to load/save generic_mode, update URL placeholder and settings tooltip behavior, and refresh tooltip when settings change. - Improve robustness in FormatTableMixin: handle None/incorrect types for format_note, abr, resolution, ext, and codec values to avoid type errors and ensure consistent display. - Add localization entries for generic mode, placeholder, and related help text across multiple language files and update the in-app default localization strings. These changes enable broader site support via yt-dlp while hardening UI format handling and keeping user settings persistent. --- ytsage/core/ytsage_utils.py | 10 +++- ytsage/gui/ytsage_gui_analysis.py | 2 +- .../ytsage_dialogs_settings.py | 24 ++++++++ ytsage/gui/ytsage_gui_format_table.py | 22 +++++--- ytsage/gui/ytsage_gui_main.py | 56 ++++++++++++------- ytsage/languages/ar.json | 4 ++ ytsage/languages/de.json | 4 ++ ytsage/languages/en.json | 4 ++ ytsage/languages/es.json | 4 ++ ytsage/languages/fr.json | 4 ++ ytsage/languages/hi.json | 4 ++ ytsage/languages/id.json | 4 ++ ytsage/languages/it.json | 4 ++ ytsage/languages/ja.json | 4 ++ ytsage/languages/pl.json | 4 ++ ytsage/languages/pt.json | 4 ++ ytsage/languages/ru.json | 4 ++ ytsage/languages/tr.json | 4 ++ ytsage/languages/zh.json | 4 ++ ytsage/utils/ytsage_config_manager.py | 1 + ytsage/utils/ytsage_localization.py | 11 ++++ 21 files changed, 152 insertions(+), 30 deletions(-) diff --git a/ytsage/core/ytsage_utils.py b/ytsage/core/ytsage_utils.py index 73ee865..bea2cd6 100644 --- a/ytsage/core/ytsage_utils.py +++ b/ytsage/core/ytsage_utils.py @@ -731,7 +731,7 @@ def parse_yt_dlp_error(error_message: str) -> str: return _("ytdlp_errors.generic_error", error=error_message) -def validate_video_url(url: str) -> tuple[bool, str]: +def validate_video_url(url: str, generic_mode: bool = False) -> tuple[bool, str]: """ Validate a video URL for supported platforms. @@ -743,6 +743,10 @@ def validate_video_url(url: str) -> tuple[bool, str]: - is_valid: True if URL is valid, False otherwise - error_message: Empty string if valid, error description if invalid + Args: + url: URL entered by the user. + generic_mode: When True, allow any http/https URL with a valid domain. + Example: >>> is_valid, error = validate_video_url("https://youtube.com/watch?v=xxx") >>> if not is_valid: @@ -770,6 +774,10 @@ def validate_video_url(url: str) -> tuple[bool, str]: # Check if netloc (domain) exists if not parsed.netloc: return False, _("url_validation.missing_domain") + + if generic_mode: + logger.info(f"Generic mode enabled, allowing URL: {url}") + return True, "" # YTSage focuses on YouTube and YouTube Music only # Supported YouTube domains diff --git a/ytsage/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py index 58b6308..e05ee70 100644 --- a/ytsage/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -287,7 +287,7 @@ class AnalysisMixin: return # Validate URL before processing - is_valid, error_message = validate_video_url(url) + is_valid, error_message = validate_video_url(url, generic_mode=self.generic_mode_enabled) if not is_valid: QMessageBox.warning(self, _("main_ui.error_title"), error_message) if hasattr(self, "animate_widget_shake"): diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 0f69956..6e78e6a 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -195,6 +195,24 @@ class DownloadSettingsDialog(QDialog): speed_group_box.setLayout(speed_layout) layout.addWidget(speed_group_box) + # --- Generic Mode Section --- + generic_mode_group_box = QGroupBox(_("settings.generic_mode")) + generic_mode_layout = QVBoxLayout() + + self.generic_mode_enabled = ConfigManager.get("generic_mode") or False + + self.generic_mode_checkbox = QCheckBox(_("settings.enable_generic_mode")) + self.generic_mode_checkbox.setChecked(self.generic_mode_enabled) + generic_mode_layout.addWidget(self.generic_mode_checkbox) + + generic_mode_help_label = QLabel(_("settings.generic_mode_help")) + generic_mode_help_label.setWordWrap(True) + generic_mode_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 11px;") + generic_mode_layout.addWidget(generic_mode_help_label) + + generic_mode_group_box.setLayout(generic_mode_layout) + layout.addWidget(generic_mode_group_box) + # --- Output Format Settings Section --- output_format_group_box = QGroupBox(_("settings.output_format_settings")) output_format_layout = QVBoxLayout() @@ -349,6 +367,10 @@ class DownloadSettingsDialog(QDialog): """Returns whether force output format is enabled.""" return self.force_format_checkbox.isChecked() + def get_generic_mode_enabled(self) -> bool: + """Returns whether generic mode is enabled.""" + return self.generic_mode_checkbox.isChecked() + def get_preferred_format(self) -> str: """Returns the selected preferred format (lowercase).""" format_map = {0: "mp4", 1: "webm", 2: "mkv"} @@ -405,6 +427,8 @@ class DownloadSettingsDialog(QDialog): def accept(self) -> None: """Override accept to save format settings.""" try: + ConfigManager.set("generic_mode", self.get_generic_mode_enabled()) + # Save output format settings force_format = self.get_force_format_enabled() preferred_format = self.get_preferred_format() diff --git a/ytsage/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py index cd3f029..524a350 100644 --- a/ytsage/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -207,7 +207,7 @@ class FormatTableMixin: audio_formats = [ f for f in self.all_formats - if (f.get("vcodec") == "none" or "audio only" in f.get("format_note", "").lower()) + if (f.get("vcodec") == "none" or "audio only" in str(f.get("format_note") or "").lower()) and f.get("acodec") != "none" and f.get("filesize") is not None ] @@ -224,7 +224,8 @@ class FormatTableMixin: except (ValueError, IndexError): return 0 else: - return f.get("abr", 0) + abr = f.get("abr") or 0 + return abr if isinstance(abr, (int, float)) else 0 video_formats.sort(key=get_quality, reverse=True) audio_formats.sort(key=get_quality, reverse=True) @@ -320,7 +321,9 @@ class FormatTableMixin: self.format_table.setItem(row, 1, quality_item) # Resolution - resolution = f.get("resolution", "N/A") + resolution = f.get("resolution") or "N/A" + if not isinstance(resolution, str): + resolution = str(resolution) if is_playlist_mode: # Column 2 for playlist mode: Resolution @@ -361,7 +364,8 @@ class FormatTableMixin: self.format_table.setItem(row, 4, hdr_item) else: # Extension for normal mode (column 2) - self.format_table.setItem(row, 2, QTableWidgetItem(f.get("ext", "").upper())) + extension = str(f.get("ext") or "") + self.format_table.setItem(row, 2, QTableWidgetItem(extension.upper())) # Audio Status column needs_audio = f.get("acodec") == "none" and f.get("vcodec") != "none" @@ -387,11 +391,11 @@ class FormatTableMixin: # Column 5: Codec if f.get("vcodec") == "none": - codec = f.get("acodec", "N/A") + codec = str(f.get("acodec") or "N/A") else: - codec = f"{f.get('vcodec', 'N/A')}" + codec = str(f.get("vcodec") or "N/A") if f.get("acodec") != "none": - codec += f" / {f.get('acodec', 'N/A')}" + codec += f" / {str(f.get('acodec') or 'N/A')}" self.format_table.setItem(row, 5, QTableWidgetItem(codec)) # Column 7: FPS (Frame Rate) @@ -469,7 +473,9 @@ class FormatTableMixin: if format_info.get("vcodec") == "none": # Audio quality - abr = format_info.get("abr", 0) + abr = format_info.get("abr") or 0 + if not isinstance(abr, (int, float)): + abr = 0 if abr >= 256: return _("formats.best_audio") elif abr >= 192: diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 250338c..61a66aa 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -257,6 +257,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.preferred_output_format = ConfigManager.get("preferred_output_format") or "mp4" self.force_audio_format = ConfigManager.get("force_audio_format") or False self.preferred_audio_format = ConfigManager.get("preferred_audio_format") or "best" + self.generic_mode_enabled = ConfigManager.get("generic_mode") or False # Track if video analysis is completed self.analysis_completed = False @@ -351,7 +352,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): url_layout.setSpacing(10) self.url_input = QLineEdit() - self.url_input.setPlaceholderText(_("main_ui.url_placeholder")) + self._update_url_placeholder() self.url_input.returnPressed.connect(self.analyze_url) # Analyze on Enter key self.url_input.textChanged.connect(self._on_url_text_changed) # Enable/disable analyze button self.url_input.setMinimumHeight(42) @@ -489,13 +490,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # --- Rename Path Button to Settings Button --- self.settings_button = QPushButton(_("buttons.download_settings")) # Renamed button self.settings_button.clicked.connect(self.show_download_settings_dialog) # Renamed method - self.settings_button.setToolTip( - _( - "main_ui.settings_tooltip", - path=self.last_path, - speed_limit=_("main_ui.speed_limit_none"), - ) - ) # Update initial tooltip + self._update_settings_tooltip() # --- End Settings Button --- self.download_btn = QPushButton(_("buttons.download")) @@ -581,6 +576,27 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): """Enable or disable the Analyze button based on URL input content.""" self.analyze_button.setEnabled(bool(text.strip())) + def _get_speed_limit_tooltip_text(self) -> str: + """Return the current speed limit string for the settings tooltip.""" + if self.speed_limit_value: + return f"{self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index]}" + return _("main_ui.speed_limit_none") + + def _update_settings_tooltip(self) -> None: + """Refresh the download settings tooltip text.""" + self.settings_button.setToolTip( + _( + "main_ui.settings_tooltip", + path=self.last_path, + speed_limit=self._get_speed_limit_tooltip_text(), + ) + ) + + def _update_url_placeholder(self) -> None: + """Update the URL placeholder based on the selected validation mode.""" + placeholder_key = "main_ui.url_placeholder_generic" if self.generic_mode_enabled else "main_ui.url_placeholder" + self.url_input.setPlaceholderText(_(placeholder_key)) + def paste_url(self) -> None: @@ -631,18 +647,18 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): audio_format_changed = True logger.info(f"Audio format settings updated - Force: {self.force_audio_format}, Preferred: {self.preferred_audio_format}") + # Update Generic Mode Setting + new_generic_mode = dialog.get_generic_mode_enabled() + generic_mode_changed = False + if new_generic_mode != self.generic_mode_enabled: + self.generic_mode_enabled = new_generic_mode + generic_mode_changed = True + self._update_url_placeholder() + logger.info(f"Generic mode updated - Enabled: {self.generic_mode_enabled}") + # Update Tooltip if anything changed - if path_changed or limit_changed or format_changed or audio_format_changed: - limit_text = _("main_ui.speed_limit_none") - if self.speed_limit_value: - limit_text = f"{self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index]}" - self.settings_button.setToolTip( - _( - "main_ui.settings_tooltip", - path=self.last_path, - speed_limit=limit_text, - ) - ) + if path_changed or limit_changed or format_changed or audio_format_changed or generic_mode_changed: + self._update_settings_tooltip() def start_download(self) -> None: if self.is_updating_ytdlp: @@ -669,7 +685,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # --- End Path Change --- # Validate URL before starting download - is_valid, error_message = validate_video_url(url) + is_valid, error_message = validate_video_url(url, generic_mode=self.generic_mode_enabled) if not is_valid: QMessageBox.warning(self, _("main_ui.error_title"), error_message) self.animate_widget_shake(self.url_input) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 810da58..bce5935 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -274,6 +274,9 @@ "browse": "تصفح...", "speed_limit": "حد السرعة", "speed_limit_placeholder": "بدون", + "generic_mode": "الوضع العام", + "enable_generic_mode": "تفعيل الوضع العام (دعم المواقع غير التابعة ليوتيوب)", + "generic_mode_help": "يسمح بالتنزيل من Dailymotion وCBC Gem ومواقع أخرى يدعمها yt-dlp.", "auto_update_ytdlp": "التحديثات التلقائية لـ yt-dlp", "enable_auto_updates": "تفعيل التحديثات التلقائية لـ yt-dlp", "update_frequency": "تكرار التحديثات:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل", + "url_placeholder_generic": "أدخل رابط فيديو أو قائمة تشغيل من أي موقع مدعوم", "merge_subtitles": "دمج الترجمات", "save_thumbnail": "حفظ الصورة المصغرة", "save_description": "حفظ الوصف", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index af55e32..8f7d7a5 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -274,6 +274,9 @@ "browse": "Durchsuchen...", "speed_limit": "Geschwindigkeitsbegrenzung", "speed_limit_placeholder": "Keine", + "generic_mode": "Generischer Modus", + "enable_generic_mode": "Generischen Modus aktivieren (Unterstützung für Nicht-YouTube-Seiten)", + "generic_mode_help": "Ermöglicht Downloads von Dailymotion, CBC Gem und anderen von yt-dlp unterstützten Seiten.", "auto_update_ytdlp": "yt-dlp automatisch aktualisieren", "enable_auto_updates": "Automatische yt-dlp-Updates aktivieren", "update_frequency": "Update-Häufigkeit:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "YouTube-Video- oder Playlist-URL eingeben", + "url_placeholder_generic": "Video- oder Playlist-URL von jeder unterstützten Seite eingeben", "merge_subtitles": "Untertitel zusammenführen", "save_thumbnail": "Thumbnail speichern", "save_description": "Beschreibung speichern", diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index b275ac4..a98751d 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -275,6 +275,9 @@ "browse": "Browse...", "speed_limit": "Speed Limit", "speed_limit_placeholder": "None", + "generic_mode": "Generic Mode", + "enable_generic_mode": "Enable Generic Mode (support non-YouTube sites)", + "generic_mode_help": "Allows downloading from Dailymotion, CBC Gem, and other sites supported by yt-dlp.", "auto_update_ytdlp": "Auto-Update yt-dlp", "enable_auto_updates": "Enable automatic yt-dlp updates", "update_frequency": "Update frequency:", @@ -338,6 +341,7 @@ }, "main_ui": { "url_placeholder": "Enter YouTube video or playlist URL", + "url_placeholder_generic": "Enter video or playlist URL from any supported site", "merge_subtitles": "Merge Subtitles", "save_thumbnail": "Save Thumbnail", "save_description": "Save Description", diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index aa05646..974dc59 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -257,6 +257,9 @@ "browse": "Examinar...", "speed_limit": "Límite de Velocidad", "speed_limit_placeholder": "Ninguno", + "generic_mode": "Modo genérico", + "enable_generic_mode": "Habilitar modo genérico (compatibilidad con sitios que no son YouTube)", + "generic_mode_help": "Permite descargar desde Dailymotion, CBC Gem y otros sitios compatibles con yt-dlp.", "auto_update_ytdlp": "Auto-Actualizar yt-dlp", "enable_auto_updates": "Habilitar actualizaciones automáticas de yt-dlp", "update_frequency": "Frecuencia de actualización:", @@ -320,6 +323,7 @@ }, "main_ui": { "url_placeholder": "Ingresa URL de video o lista de YouTube", + "url_placeholder_generic": "Ingresa la URL de un video o una lista de cualquier sitio compatible", "merge_subtitles": "Combinar Subtítulos", "save_thumbnail": "Guardar Miniatura", "save_description": "Guardar Descripción", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 75bae7a..997889a 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -274,6 +274,9 @@ "browse": "Parcourir...", "speed_limit": "Limite de vitesse", "speed_limit_placeholder": "Aucune", + "generic_mode": "Mode générique", + "enable_generic_mode": "Activer le mode générique (prise en charge des sites non-YouTube)", + "generic_mode_help": "Permet le téléchargement depuis Dailymotion, CBC Gem et d'autres sites pris en charge par yt-dlp.", "auto_update_ytdlp": "Mise à jour automatique de yt-dlp", "enable_auto_updates": "Activer les mises à jour automatiques de yt-dlp", "update_frequency": "Fréquence de mise à jour :", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", + "url_placeholder_generic": "Entrez l'URL d'une vidéo ou d'une playlist depuis n'importe quel site pris en charge", "merge_subtitles": "Fusionner les sous-titres", "save_thumbnail": "Sauvegarder la miniature", "save_description": "Sauvegarder la description", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index aa258fc..ef43692 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -274,6 +274,9 @@ "browse": "ब्राउज़ करें...", "speed_limit": "गति सीमा", "speed_limit_placeholder": "कोई नहीं", + "generic_mode": "जेनेरिक मोड", + "enable_generic_mode": "जेनेरिक मोड सक्षम करें (गैर-YouTube साइटों के लिए समर्थन)", + "generic_mode_help": "Dailymotion, CBC Gem और yt-dlp द्वारा समर्थित अन्य साइटों से डाउनलोड की अनुमति देता है।", "auto_update_ytdlp": "yt-dlp स्वचालित अपडेट", "enable_auto_updates": "yt-dlp स्वचालित अपडेट सक्षम करें", "update_frequency": "अपडेट आवृत्ति:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें", + "url_placeholder_generic": "किसी भी समर्थित साइट से वीडियो या प्लेलिस्ट URL दर्ज करें", "merge_subtitles": "उपशीर्षक मर्ज करें", "save_thumbnail": "थंबनेल सेव करें", "save_description": "विवरण सेव करें", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index ef68be8..97a3f5b 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -274,6 +274,9 @@ "browse": "Jelajahi...", "speed_limit": "Batas kecepatan", "speed_limit_placeholder": "Tidak ada", + "generic_mode": "Mode generik", + "enable_generic_mode": "Aktifkan mode generik (mendukung situs non-YouTube)", + "generic_mode_help": "Memungkinkan pengunduhan dari Dailymotion, CBC Gem, dan situs lain yang didukung oleh yt-dlp.", "auto_update_ytdlp": "Pembaruan otomatis yt-dlp", "enable_auto_updates": "Aktifkan pembaruan otomatis yt-dlp", "update_frequency": "Frekuensi pembaruan:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "Masukkan URL video atau playlist YouTube", + "url_placeholder_generic": "Masukkan URL video atau playlist dari situs apa pun yang didukung", "merge_subtitles": "Gabungkan subtitle", "save_thumbnail": "Simpan thumbnail", "save_description": "Simpan deskripsi", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 2e5e647..24026f4 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -274,6 +274,9 @@ "browse": "Sfoglia...", "speed_limit": "Limite velocità", "speed_limit_placeholder": "Nessuno", + "generic_mode": "Modalità generica", + "enable_generic_mode": "Abilita modalità generica (supporta siti non YouTube)", + "generic_mode_help": "Consente il download da Dailymotion, CBC Gem e altri siti supportati da yt-dlp.", "auto_update_ytdlp": "Aggiornamenti automatici yt-dlp", "enable_auto_updates": "Abilita aggiornamenti automatici yt-dlp", "update_frequency": "Frequenza aggiornamenti:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "Inserisci URL video YouTube o playlist", + "url_placeholder_generic": "Inserisci l'URL di un video o di una playlist da qualsiasi sito supportato", "merge_subtitles": "Unisci sottotitoli", "save_thumbnail": "Salva miniatura", "save_description": "Salva descrizione", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 4a71ee5..0520b44 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -274,6 +274,9 @@ "browse": "参照...", "speed_limit": "速度制限", "speed_limit_placeholder": "なし", + "generic_mode": "汎用モード", + "enable_generic_mode": "汎用モードを有効化(YouTube以外のサイトをサポート)", + "generic_mode_help": "Dailymotion、CBC Gem、および yt-dlp が対応する他のサイトからのダウンロードを可能にします。", "auto_update_ytdlp": "yt-dlp自動更新", "enable_auto_updates": "yt-dlp自動更新を有効化", "update_frequency": "更新頻度:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "YouTubeの動画URLまたはプレイリストURLを入力", + "url_placeholder_generic": "対応サイトの動画またはプレイリストURLを入力", "merge_subtitles": "字幕を結合", "save_thumbnail": "サムネイルを保存", "save_description": "説明を保存", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 5b38dec..229e5df 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -274,6 +274,9 @@ "browse": "Przeglądaj...", "speed_limit": "Limit prędkości", "speed_limit_placeholder": "Brak", + "generic_mode": "Tryb ogólny", + "enable_generic_mode": "Włącz tryb ogólny (obsługa stron innych niż YouTube)", + "generic_mode_help": "Umożliwia pobieranie z Dailymotion, CBC Gem i innych stron obsługiwanych przez yt-dlp.", "auto_update_ytdlp": "Automatyczne aktualizacje yt-dlp", "enable_auto_updates": "Włącz automatyczne aktualizacje yt-dlp", "update_frequency": "Częstotliwość aktualizacji:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "Wprowadź URL wideo YouTube lub playlisty", + "url_placeholder_generic": "Wprowadź URL filmu lub playlisty z dowolnej obsługiwanej strony", "merge_subtitles": "Połącz napisy", "save_thumbnail": "Zapisz miniaturę", "save_description": "Zapisz opis", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index da43811..e6f39aa 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -274,6 +274,9 @@ "browse": "Procurar...", "speed_limit": "Limite de Velocidade", "speed_limit_placeholder": "Nenhum", + "generic_mode": "Modo genérico", + "enable_generic_mode": "Ativar modo genérico (suporte a sites que não são do YouTube)", + "generic_mode_help": "Permite baixar de Dailymotion, CBC Gem e outros sites compatíveis com o yt-dlp.", "auto_update_ytdlp": "Auto-Atualizar yt-dlp", "enable_auto_updates": "Habilitar atualizações automáticas do yt-dlp", "update_frequency": "Frequência de atualização:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "Digite a URL do vídeo ou playlist do YouTube", + "url_placeholder_generic": "Digite a URL de um vídeo ou playlist de qualquer site compatível", "merge_subtitles": "Mesclar Legendas", "save_thumbnail": "Salvar Miniatura", "save_description": "Salvar Descrição", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index 5fcaf7b..fb88854 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -274,6 +274,9 @@ "browse": "Обзор...", "speed_limit": "Ограничение скорости", "speed_limit_placeholder": "Нет", + "generic_mode": "Универсальный режим", + "enable_generic_mode": "Включить универсальный режим (поддержка сайтов не только YouTube)", + "generic_mode_help": "Позволяет скачивать с Dailymotion, CBC Gem и других сайтов, поддерживаемых yt-dlp.", "auto_update_ytdlp": "Автообновление yt-dlp", "enable_auto_updates": "Включить автоматические обновления yt-dlp", "update_frequency": "Частота обновления:", @@ -337,6 +340,7 @@ }, "main_ui": { "url_placeholder": "Введите URL видео или плейлиста YouTube", + "url_placeholder_generic": "Введите URL видео или плейлиста с любого поддерживаемого сайта", "merge_subtitles": "Объединить субтитры", "save_thumbnail": "Сохранить миниатюру", "save_description": "Сохранить описание", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index fd3138a..11599f3 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -272,6 +272,9 @@ "browse": "Gözat...", "speed_limit": "Hız sınırı", "speed_limit_placeholder": "Yok", + "generic_mode": "Genel mod", + "enable_generic_mode": "Genel modu etkinleştir (YouTube dışı siteleri destekle)", + "generic_mode_help": "Dailymotion, CBC Gem ve yt-dlp tarafından desteklenen diğer sitelerden indirmeye izin verir.", "auto_update_ytdlp": "yt-dlp otomatik güncelleme", "enable_auto_updates": "yt-dlp otomatik güncellemelerini etkinleştir", "update_frequency": "Güncelleme sıklığı:", @@ -335,6 +338,7 @@ }, "main_ui": { "url_placeholder": "YouTube video veya oynatma listesi URL'sini girin", + "url_placeholder_generic": "Desteklenen herhangi bir siteden video veya oynatma listesi URL'si girin", "merge_subtitles": "Altyazıları birleştir", "save_thumbnail": "Küçük resmi kaydet", "save_description": "Açıklamayı kaydet", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 3480e70..c95c01e 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -262,6 +262,9 @@ "browse": "浏览...", "speed_limit": "速度限制", "speed_limit_placeholder": "无", + "generic_mode": "通用模式", + "enable_generic_mode": "启用通用模式(支持非 YouTube 网站)", + "generic_mode_help": "允许从 Dailymotion、CBC Gem 以及其他受 yt-dlp 支持的网站下载。", "auto_update_ytdlp": "自动更新 yt-dlp", "enable_auto_updates": "启用 yt-dlp 自动更新", "update_frequency": "更新频率:", @@ -325,6 +328,7 @@ }, "main_ui": { "url_placeholder": "输入 YouTube 视频或播放列表网址", + "url_placeholder_generic": "输入任意受支持网站的视频或播放列表网址", "merge_subtitles": "合并字幕", "save_thumbnail": "保存缩略图", "save_description": "保存描述", diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index 4c58d58..fdb2e95 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -71,6 +71,7 @@ class ConfigManager: _settings: Dict[str, Any] = {} _default_config: Dict[str, Any] = { "download_path": str(USER_HOME_DIR / "Downloads"), + "generic_mode": False, "speed_limit_value": None, "speed_limit_unit_index": 0, "cookie_source": "browser", # "browser" or "file" diff --git a/ytsage/utils/ytsage_localization.py b/ytsage/utils/ytsage_localization.py index 579cd9e..db91723 100644 --- a/ytsage/utils/ytsage_localization.py +++ b/ytsage/utils/ytsage_localization.py @@ -70,12 +70,23 @@ class LocalizationManager: "custom_options": "Custom Options", "settings": "Settings" }, + "settings": { + "generic_mode": "Generic Mode", + "enable_generic_mode": "Enable Generic Mode (support non-YouTube sites)", + "generic_mode_help": "Allows downloading from Dailymotion, CBC Gem, and other sites supported by yt-dlp." + }, "tabs": { "cookies": "Login with Cookies", "custom_command": "Custom Command", "proxy": "Proxy", "language": "Language" }, + "main_ui": { + "url_placeholder": "Enter YouTube video or playlist URL", + "url_placeholder_generic": "Enter video or playlist URL from any supported site", + "settings_tooltip": "Current Path: {path}\nSpeed Limit: {speed_limit}", + "speed_limit_none": "None" + }, "language": { "select_language": "Select Language:", "current_language": "Current language: {language}", From 64c9cf84dab057238bb403102c47c9501fb44ad7 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 12 Mar 2026 11:24:45 +0200 Subject: [PATCH 492/568] Bump version to 5.0.1b Update project version from 5.0.0b5 to 5.0.1b in pyproject.toml and ytsage/__init__.py to reflect a new beta release. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5ead99f..abfcc06 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.0b5" +version = "5.0.1b" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index b44f066..e4a63b8 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.0b5" +__version__ = "5.0.1b" __author__ = "oop7" From c4c3e18b1b6e4bf2265548b7f2f9d589f3e2c8e3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 12 Mar 2026 15:53:16 +0200 Subject: [PATCH 493/568] Document Generic Mode and add Sponsor section Update README to document the new Optional Generic Mode: add a feature note, usage steps, troubleshooting notes (yt-dlp dependency, cookies/proxies), and a mention in Advanced Options and the features table. Also add a Sponsor anchor, nav link, and badge to the top navigation and About references. (Documentation-only changes) --- README.md | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8998cc6..df0b62c 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ Download videos in any quality, extract audio, fetch subtitles, and more. UsageScreenshotsTroubleshooting • + SponsorContributing

    @@ -36,6 +37,7 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader - A clean, modern PySide6 interface - One-click downloads for video, audio, and subtitles - Advanced features like SponsorBlock, subtitle merging, and playlist selection +- Optional Generic Mode for yt-dlp-supported sites beyond YouTube - Cross-platform support and easy installation @@ -46,13 +48,13 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader | Core Features | Advanced Features | Extra Features | |-----------------------------------|-----------------------------------------|------------------------------------| | 🎥 Format Table | 🚫 SponsorBlock Integration | 🎞️ FPS/HDR Display | -| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Update yt-dlp | +| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Update yt-dlp | | ✨ Simple UI | 💾 Save Description & Thumbnail | 🛠️ FFmpeg/yt-dlp/Deno Detection | | 📋 Playlist Support & Selector | 🚀 Speed Limiter | ⚙️ Custom Commands | | 📑 Embed Chapters | ✂️ Trim Video Sections | 🍪 Login with Cookies | | 📜 Download History | 🔄 Release Channel Selection | 🌐 Proxy Support | | 🎚️ Audio Format Conversion | 🎬 Video Format Settings | 🆙 Built-in Updater Tab | - +| 🌍 Generic Mode || 🌍 Localization in 14 Languages | | @@ -247,6 +249,27 @@ python -m ytsage.main
    +
    +🌍 Generic Mode for non-YouTube sites + +Use Generic Mode when you want YTSage to accept URLs from sites supported by yt-dlp, such as Dailymotion, CBC Gem, TikTok, and others. + +How to use it: + +1. Open `Download Settings`. +2. Enable `Generic Mode`. +3. Paste a supported non-YouTube video or playlist URL. +4. Click `Analyze`. +5. Choose a format and download as usual. + +Notes: + +- Generic Mode only changes URL validation inside YTSage. The target site must still be supported by your installed yt-dlp version. +- Some sites require cookies, a login session, a proxy, or extra yt-dlp arguments depending on the extractor. +- If a site fails, update yt-dlp first from the built-in updater tab before reporting the issue. + +
    +
    🧰 Advanced Options @@ -277,6 +300,7 @@ python -m ytsage.main - **Proxy Support:** Use a proxy server for downloads (e.g., `http://:`) - **Force Output Format:** Force video downloads in a specific container format (e.g., `mp4`, `webm`, `mkv`). Available in **Download Settings → Output Format Settings**. - **Audio Format Conversion:** Convert audio-only downloads to preferred formats (`AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`). Ideal for video editing software like DaVinci Resolve. Available in **Download Settings → Audio Format Settings**. +- **Generic Mode:** Allow YTSage to analyze and download from non-YouTube sites supported by yt-dlp. Enable it from **Download Settings → Generic Mode**. - **Download History:** View past downloads with thumbnails and statuses. You can use this option by clicking on the **History** button.
    @@ -358,6 +382,16 @@ If you see this error on macOS Sonoma or newer, you need to remove the quarantin + +## 💖 Sponsor + +If YTSage saves you time, consider sponsoring the project. Sponsorship helps cover development time, testing across platforms, and future improvements. + +- GitHub Sponsors: https://github.com/sponsors/oop7 +- The sponsor link is also available directly inside the app from the About dialog. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + ## 👥 Contributing From fe828a51916ecde9a025ab1a6e1d77818a816cb7 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 12 Mar 2026 16:10:11 +0200 Subject: [PATCH 494/568] Reorganize README sections and update wording Rename and restructure the options section: 'Advanced Options' becomes 'Media and Download Options', and new sections 'Output and File Settings', 'Access and Network', and 'Tools and Maintenance' are added. Clarify and reword items (subtitle embedding/merge, save thumbnail/description, trim video, speed limiter, proxy, cookie extraction), and consolidate updater/FFmpeg/yt-dlp/Deno detection and history/tooling notes. Documentation-only cleanup to improve clarity and discoverability of features. --- README.md | 64 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index df0b62c..22ea21d 100644 --- a/README.md +++ b/README.md @@ -271,37 +271,55 @@ Notes:
    -🧰 Advanced Options +🧰 Media and Download Options -- **Subtitle Options:** Filter languages and embed into video file -- **Subtitle Merge:** Merge subtitles into video file for hardcoded subtitles -- **Custom Commands:** Access advanced yt-dlp features via command line arguments -- **Save Description:** Save the description of the video as a text file -- **Save Thumbnail:** Save the thumbnail of the video as an image file -- **Embed Chapters:** Embed chapter markers as metadata in the downloaded video file for compatible video players +- **Subtitle Options:** Filter languages and embed subtitles into the video file +- **Subtitle Merge:** Merge subtitles into the video file for hardcoded subtitles +- **Save Description:** Save the video description as a text file +- **Save Thumbnail:** Save the video thumbnail as an image file +- **Embed Chapters:** Embed chapter markers as metadata for compatible video players - **Remove Sponsor Segments:** Remove sponsor segments from the video using SponsorBlock -- **Speed Limiter:** Limit the download speed (e.g., `500K` for 500 KB/s) -- **Login with Cookies:** Login to YouTube using cookies to access private content +- **Trim Video:** Download only specific parts of a video by specifying time ranges in `HH:MM:SS` format + +
    + +
    +⚙️ Output and File Settings + +- **Speed Limiter:** Limit the download speed, for example `500K` for 500 KB/s +- **Save Download Path:** Save the default download path for future downloads. Available in **Download Settings → Download Path**. +- **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, and `%(resolution)s`. Available in **Download Settings → Filename Format**. +- **Force Output Format:** Force video downloads into a specific container format such as `mp4`, `webm`, or `mkv`. Available in **Download Settings → Output Format Settings**. +- **Audio Format Conversion:** Convert audio-only downloads to preferred formats such as `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`. Available in **Download Settings → Audio Format Settings**. + +
    + +
    +🌐 Access and Network + +- **Login with Cookies:** Login to YouTube using cookies to access private content. How to use it: - 1. **Recommended:** Use the built-in "Extract cookies from browser" option in the app. Select your browser (Chrome, Firefox, etc.) and then select Profile (optional). + 1. **Recommended:** Use the built-in `Extract cookies from browser` option in the app, then select your browser and optionally a profile. 2. Alternatively, extract cookies manually: - a. Extract cookies from your browser using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + a. Export cookies from your browser using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) b. Copy the cookies in Netscape format c. Create a file named `cookies.txt` and paste the cookies into it d. Select the `cookies.txt` file in the app -- **Save Download Path:** Save the default download path for future downloads. Available in **Download Settings → Download Path**. -- **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, `%(resolution)s`, etc. Available in **Download Settings → Filename Format**. -- **Updater Tab:** Unified tab in Custom Options for managing all updates: - - **yt-dlp Updates:** Check and update yt-dlp to the latest version, with release channel selection (Stable/Nightly) - - **FFmpeg Version Checker:** Check your FFmpeg version with direct links to installation guides - - **Deno Updates:** Check and update Deno runtime to the latest version -- **FFmpeg/yt-dlp/Deno Detection:** Automatically detect FFmpeg/yt-dlp/Deno path and version. You can use this option by clicking on about button. -- **Trim Video:** Download only specific parts of a video by specifying time ranges (HH:MM:SS format) -- **Proxy Support:** Use a proxy server for downloads (e.g., `http://:`) -- **Force Output Format:** Force video downloads in a specific container format (e.g., `mp4`, `webm`, `mkv`). Available in **Download Settings → Output Format Settings**. -- **Audio Format Conversion:** Convert audio-only downloads to preferred formats (`AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`). Ideal for video editing software like DaVinci Resolve. Available in **Download Settings → Audio Format Settings**. +- **Proxy Support:** Use a proxy server for downloads, for example `http://:` - **Generic Mode:** Allow YTSage to analyze and download from non-YouTube sites supported by yt-dlp. Enable it from **Download Settings → Generic Mode**. -- **Download History:** View past downloads with thumbnails and statuses. You can use this option by clicking on the **History** button. + +
    + +
    +🛠️ Tools and Maintenance + +- **Custom Commands:** Access advanced yt-dlp features via command line arguments +- **Updater Tab:** Manage built-in update tools from one place in Custom Options: + - **yt-dlp Updates:** Check for updates and switch between Stable and Nightly release channels + - **FFmpeg Version Checker:** Check your FFmpeg version and open installation guides + - **Deno Updates:** Check and update the Deno runtime +- **FFmpeg/yt-dlp/Deno Detection:** Automatically detect FFmpeg, yt-dlp, and Deno paths and versions from the About dialog. +- **Download History:** View past downloads with thumbnails and statuses from the **History** button.
    From 9d1e83f7dfaa10edbe2680bc1c9ba9096cdfb961 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 19 Mar 2026 14:06:44 +0200 Subject: [PATCH 495/568] Add README translations and language links Add localized README files and update main README to expose them. Creates readme-translations/*.md (Arabic, German, Spanish, French, Hindi, Indonesian, Italian, Japanese, Polish, Portuguese, Russian, Turkish, Chinese) and adds a language list, README Translations table, and a "Contributing Translations" subsection to README.md so contributors can find and update localized docs. --- README.md | 35 ++ readme-translations/README.ar.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.de.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.es.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.fr.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.hi.md | 616 ++++++++++++++++++++++++++++++ readme-translations/README.id.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.it.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.ja.md | 616 ++++++++++++++++++++++++++++++ readme-translations/README.pl.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.pt.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.ru.md | 617 +++++++++++++++++++++++++++++++ readme-translations/README.tr.md | 616 ++++++++++++++++++++++++++++++ readme-translations/README.zh.md | 616 ++++++++++++++++++++++++++++++ 14 files changed, 8052 insertions(+) create mode 100644 readme-translations/README.ar.md create mode 100644 readme-translations/README.de.md create mode 100644 readme-translations/README.es.md create mode 100644 readme-translations/README.fr.md create mode 100644 readme-translations/README.hi.md create mode 100644 readme-translations/README.id.md create mode 100644 readme-translations/README.it.md create mode 100644 readme-translations/README.ja.md create mode 100644 readme-translations/README.pl.md create mode 100644 readme-translations/README.pt.md create mode 100644 readme-translations/README.ru.md create mode 100644 readme-translations/README.tr.md create mode 100644 readme-translations/README.zh.md diff --git a/README.md b/README.md index 22ea21d..9b7da55 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,23 @@ **A modern YouTube downloader with a clean PySide6 interface.** Download videos in any quality, extract audio, fetch subtitles, and more. +### 🌍 README Languages + +English: [EN](README.md) +| العربية: [AR](readme-translations/README.ar.md) +| Deutsch: [DE](readme-translations/README.de.md) +| Español: [ES](readme-translations/README.es.md) +| Français: [FR](readme-translations/README.fr.md) +| हिन्दी: [HI](readme-translations/README.hi.md) +| Bahasa Indonesia: [ID](readme-translations/README.id.md) +| Italiano: [IT](readme-translations/README.it.md) +| 日本語: [JA](readme-translations/README.ja.md) +| Polski: [PL](readme-translations/README.pl.md) +| Português: [PT](readme-translations/README.pt.md) +| Русский: [RU](readme-translations/README.ru.md) +| Türkçe: [TR](readme-translations/README.tr.md) +| 中文: [ZH](readme-translations/README.zh.md) +

    InstallationFeatures • @@ -340,6 +357,18 @@ YTSage supports **14 languages** for worldwide accessibility. Select your prefer | 🇧🇷 Portuguese | `pt` | 🇷🇺 Russian | `ru` | | 🇹🇷 Turkish | `tr` | 🇨🇳 Chinese | `zh` | +### README Translations + +| Language | File | Language | File | +|----------|------|----------|------| +| 🇺🇸 English | [README.md](README.md) | 🇪🇸 Spanish | [README.es.md](readme-translations/README.es.md) | +| 🇸🇦 Arabic | [README.ar.md](readme-translations/README.ar.md) | 🇫🇷 French | [README.fr.md](readme-translations/README.fr.md) | +| 🇩🇪 German | [README.de.md](readme-translations/README.de.md) | 🇮🇳 Hindi | [README.hi.md](readme-translations/README.hi.md) | +| 🇮🇩 Indonesian | [README.id.md](readme-translations/README.id.md) | 🇮🇹 Italian | [README.it.md](readme-translations/README.it.md) | +| 🇯🇵 Japanese | [README.ja.md](readme-translations/README.ja.md) | 🇵🇱 Polish | [README.pl.md](readme-translations/README.pl.md) | +| 🇧🇷 Portuguese | [README.pt.md](readme-translations/README.pt.md) | 🇷🇺 Russian | [README.ru.md](readme-translations/README.ru.md) | +| 🇹🇷 Turkish | [README.tr.md](readme-translations/README.tr.md) | 🇨🇳 Chinese | [README.zh.md](readme-translations/README.zh.md) | + > 💡 **Want to contribute a translation?** Check out the [Contributing](#contributing) section to help us add more languages! @@ -430,6 +459,12 @@ We welcome contributions! Here's how you can help: ``` 5. 🔄 Open a Pull Request +### 🌍 Contributing Translations + +- Update the matching localized README file (for example `readme-translations/README.es.md`) +- Keep app strings in sync by editing `ytsage/languages/.json` +- If your language is missing, start from `README.md` and create `README..md` +

    📂 Project Structure diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md new file mode 100644 index 0000000..cdb683d --- /dev/null +++ b/readme-translations/README.ar.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**أداة تنزيل حديثة من YouTube بواجهة PySide6 نظيفة.** +قم بتنزيل مقاطع الفيديو بأي جودة، واستخرج الصوت، واجلب الترجمات، والمزيد. + +### 🌍 اقرأني اللغات + +الإنجليزية: [EN](../README.md) +| العربية: [AR](README.ar.md) +| الألمانية: [DE](README.de.md) +| الاسبانية: [ES](README.es.md) +| الفرنسية: [FR](README.fr.md) +| الهندية: [HI](README.hi.md) +| البهاسا الإندونيسية: [ID](README.id.md) +| إيطاليانو: [IT](README.it.md) +| العنوان: [JA](README.ja.md) +| بولسكي: [PL](README.pl.md) +| البرتغالية: [PT](README.pt.md) +| Русский: [RU](README.ru.md) +| التركية: [TR](README.tr.md) +| 中文: [ZH](README.zh.md) + +

    + التثبيت • + المميزات • + الاستخدام • + لقطات الشاشة • + استكشاف الأخطاء وإصلاحها • + Sponsor • + المساهمة +

    + +
    + +--- + + +## ❓ لماذا YTSage؟ + +تم تصميم YTSage للمستخدمين الذين يريدون **برنامج تنزيل YouTube بسيطًا وقويًا**. على عكس الأدوات الأخرى، فهو يقدم: + +- واجهة PySide6 نظيفة وحديثة +- التنزيلات بنقرة واحدة للفيديو والصوت والترجمات +- ميزات متقدمة مثل SponsorBlock ودمج الترجمة واختيار قائمة التشغيل +- الوضع العام الاختياري للمواقع التي تدعم yt-dlp خارج YouTube +- دعم عبر الأنظمة الأساسية وسهولة التثبيت + + +## ✨المميزات + +
    + +| الميزات الأساسية | الميزات المتقدمة | ميزات إضافية | +|-----------------------------------|--------------------------------------------------------|-----| +| 🎥 تنسيق الجدول | 🚫 تكامل SponsorBlock | 🎞️ عرض FPS/HDR | +| 🎵 استخراج الصوت | 📝 تحديد ودمج الترجمة المتعددة | 🔄 التحديث التلقائي yt-dlp | +| ✨ واجهة مستخدم بسيطة | 💾 حفظ الوصف والصورة المصغرة | 🛠️ كشف FFmpeg/yt-dlp/Deno | +| 📋 دعم قائمة التشغيل والمحدد | 🚀 محدد السرعة | ⚙️ أوامر مخصصة | +| 📑 تضمين الفصول | ✂️ تقليم أقسام الفيديو | 🍪 تسجيل الدخول باستخدام ملفات تعريف الارتباط | +| 📜 تحميل التاريخ | 🔄 إطلاق اختيار القناة | 🌐 دعم الوكيل | +| 🎚️ تحويل تنسيق الصوت | 🎬 إعدادات تنسيق الفيديو | 🆙 علامة تبويب التحديث المدمجة | +| 🌍 الوضع العام | +| 🌍 التعريب بـ 14 لغة | | +
    + + +## 🚀التركيب + +### ⚡ التثبيت السريع (موصى به) + +تثبيت YTSage من PyPI: + +```bash +pip install ytsage +``` + +
    +🔄 تحديث التثبيت الحالي + +```bash +pip install --upgrade ytsage +``` + +
    + +ثم قم بتشغيل التطبيق: + +```bash +ytsage +``` + +### 📦 الملفات التنفيذية المعدة مسبقًا + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 ويندوز + +| تنسيق | الوصف | +|--------|------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | المثبت القياسي | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | مع FFmpeg المجمعة | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | نسخة محمولة، لا تحتاج إلى تثبيت | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | محمول مع FFmpeg، مضغوط | + +
    +🛠️ خطوات التثبيت + +1. **مثبت EXE (`.exe`)**: انقر نقرًا مزدوجًا فوق الملف واتبع معالج الإعداد. +2. **النسخة المحمولة (`.zip`)**: قم باستخراج الأرشيف إلى الموقع المطلوب وتشغيل `ytsage.exe`. +3. **FFmpeg Bundled**: اختر إصدارات FFmpeg المجمعة إذا لم يكن FFmpeg مثبتًا على نظامك. +
    + +#### 🐧 لينكس + +| تنسيق | الوصف | +|--------|------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | حزمة دبيان | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | صورة التطبيق المحمولة | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | حزمة دورة في الدقيقة | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | حزمة فلاتباك | + +
    +🛠️ خطوات التثبيت + +- **ديب (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **عدد الدورات في الدقيقة (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **صورة التطبيق (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: اتبع التعليمات الموجودة على Flathub أو قم بتشغيل: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 ماك + +| تنسيق | الوصف | +|--------|------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | تطبيق مضغوط لأبل سيليكون | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | مثبت صورة القرص لـ Apple Silicon | + +
    +🛠️ خطوات التثبيت + +- **مثبت DMG (`.dmg`)**: انقر نقرًا مزدوجًا للتثبيت، ثم اسحب `YTSage.app` إلى مجلد التطبيقات. +- **أرشيف التطبيقات (`.zip`)**: استخرج الملف المضغوط وانقل `YTSage.app` إلى مجلد التطبيقات. + +*ملاحظة: إذا واجهت خطأ "التطبيق تالف"، راجع [macOS troubleshooting section](#troubleshooting) أدناه.* +
    + +--- + +
    +💻 التثبيت اليدوي من المصدر + +### 1. استنساخ المستودع + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. تثبيت التبعيات + +#### ⚡ مع الأشعة فوق البنفسجية + +```bash +uv pip install . +``` + +#### 📦 أو بالنقطة القياسية + +```bash +pip install . +``` + +### 3. قم بتشغيل التطبيق + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 لقطات الشاشة + +
    +
    Download SettingsPlaylist DownloadDownload SettingsPlaylist Download
    Download Settings Playlist Download
    Audio Format Selection with Save ThumbnailCustom OptionsAudio Format Selection with Save ThumbnailCustom Options
    Audio Format
    + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    إعدادات التحميلتنزيل قائمة التشغيل
    Audio Format Selection with Save ThumbnailCustom Options
    تنسيق الصوتخيارات مخصصة
    + +## 📖 الاستخدام + +
    +🎯 الاستخدام الأساسي + +1. ** إطلاق YTSage ** +2. **الصق عنوان URL لموقع YouTube** (أو استخدم الزر "لصق عنوان URL") +3. **انقر على "تحليل"** +4. **حدد التنسيق:** + - `Video` لتنزيل الفيديو + - `Audio Only` لاستخراج الصوت +5. **اختر الخيارات:** + - تمكين الترجمة واختيار اللغة + - تمكين دمج الترجمة + - حفظ الصورة المصغرة + - إزالة شرائح الراعي + - حفظ الوصف + - تضمين الفصول +6. **حدد دليل المخرجات** +7. **انقر على "تنزيل"** + +> 💡 دليل التنزيل الافتراضي هو مجلد "التنزيلات" الخاص بالمستخدم. + +
    + +
    +📋 تنزيل قائمة التشغيل + +1. **لصق عنوان URL لقائمة التشغيل** +2. **انقر على "تحليل"** +3. **حدد مقاطع الفيديو من محدد قائمة التشغيل (اختياري، الإعداد الافتراضي هو الكل)** +4. **اختر التنسيق/الجودة المطلوبة** +5. **انقر على "تنزيل"** + +> 💡 يتعامل التطبيق تلقائيًا مع قائمة انتظار التنزيل + +
    + +
    +🌍 الوضع العام للمواقع غير التابعة لليوتيوب + +استخدم الوضع العام عندما تريد أن يقبل YTSage عناوين URL من المواقع التي يدعمها yt-dlp، مثل Dailymotion وCBC Gem وTikTok وغيرها. + +كيفية استخدامه: + +1. افتح `Download Settings`. +2. تفعيل `Generic Mode`. +3. الصق عنوان URL لفيديو أو قائمة تشغيل مدعومة غير تابعة لـ YouTube. +4. اضغط على `Analyze`. +5. اختر التنسيق وقم بتنزيله كالمعتاد. + +ملاحظات: + +- الوضع العام يغير فقط التحقق من صحة عنوان URL داخل YTSage. يجب أن يظل الموقع المستهدف مدعومًا بإصدار yt-dlp المثبت لديك. +- تتطلب بعض المواقع ملفات تعريف الارتباط، أو جلسة تسجيل دخول، أو وكيلًا، أو وسائط yt-dlp إضافية اعتمادًا على المستخرج. +- إذا فشل أحد المواقع، فقم بتحديث yt-dlp أولاً من علامة تبويب المحدث المضمنة قبل الإبلاغ عن المشكلة. + +
    + +
    +🧰 خيارات الوسائط والتنزيل + +- **خيارات الترجمة:** تصفية اللغات وتضمين الترجمة في ملف الفيديو +- **دمج الترجمة:** دمج الترجمات في ملف الفيديو للحصول على ترجمات مضمنة +- **حفظ الوصف:** احفظ وصف الفيديو كملف نصي +- **حفظ الصورة المصغرة:** احفظ الصورة المصغرة للفيديو كملف صورة +- **تضمين الفصول:** تضمين علامات الفصل كبيانات وصفية لمشغلات الفيديو المتوافقة +- **إزالة شرائح الجهات الراعية:** قم بإزالة شرائح الجهات الراعية من الفيديو باستخدام SponsorBlock +- **قص الفيديو:** قم بتنزيل أجزاء محددة فقط من الفيديو عن طريق تحديد نطاقات زمنية بتنسيق `HH:MM:SS` + +
    + +
    +⚙️ إعدادات الإخراج والملف + +- **محدد السرعة:** حدد سرعة التنزيل، على سبيل المثال `500K` لـ 500 كيلو بايت/ثانية +- **حفظ مسار التنزيل:** احفظ مسار التنزيل الافتراضي للتنزيلات المستقبلية. متوفر في **إعدادات التنزيل → مسار التنزيل**. +- **تنسيق اسم ملف الإخراج:** قم بتخصيص تنسيق اسم ملف الإخراج باستخدام متغيرات مثل `%(title)s`، `%(uploader)s`، و`%(resolution)s`. متوفر في **إعدادات التنزيل → تنسيق اسم الملف**. +- **تنسيق الإخراج الإجباري:** فرض تنزيلات الفيديو في تنسيق حاوية محدد مثل `mp4` أو `webm` أو `mkv`. متوفر في **إعدادات التنزيل ← إعدادات تنسيق الإخراج**. +- **تحويل تنسيق الصوت:** تحويل التنزيلات الصوتية فقط إلى التنسيقات المفضلة مثل `AAC`، `MP3`، `FLAC`، `WAV`، `Opus`، `M4A`، `Vorbis` أو `Best`. متوفر في **إعدادات التنزيل → إعدادات تنسيق الصوت**. + +
    + +
    +🌐 الوصول والشبكة + +- **تسجيل الدخول باستخدام ملفات تعريف الارتباط:** قم بتسجيل الدخول إلى YouTube باستخدام ملفات تعريف الارتباط للوصول إلى المحتوى الخاص. + كيفية استخدامه: + 1. **موصى به:** استخدم خيار `Extract cookies from browser` المدمج في التطبيق، ثم حدد المتصفح الخاص بك وملفًا شخصيًا بشكل اختياري. + 2. بدلاً من ذلك، قم باستخراج ملفات تعريف الارتباط يدويًا: + أ. قم بتصدير ملفات تعريف الارتباط من متصفحك باستخدام ملحق مثل [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + ب. انسخ ملفات تعريف الارتباط بتنسيق Netscape + ج. أنشئ ملفًا باسم `cookies.txt` والصق ملفات تعريف الارتباط فيه + د. حدد الملف `cookies.txt` في التطبيق +- **دعم الوكيل:** استخدم خادمًا وكيلاً للتنزيلات، على سبيل المثال `http://:` +- **الوضع العام:** اسمح لـ YTSage بالتحليل والتنزيل من مواقع غير تابعة لـ YouTube والتي يدعمها yt-dlp. قم بتمكينه من **إعدادات التنزيل → الوضع العام**. + +
    + +
    +🛠️ الأدوات والصيانة + +- **الأوامر المخصصة:** الوصول إلى ميزات yt-dlp المتقدمة عبر وسيطات سطر الأوامر +- **علامة تبويب التحديث:** إدارة أدوات التحديث المضمنة من مكان واحد في الخيارات المخصصة: + - **تحديثات yt-dlp:** تحقق من وجود تحديثات وقم بالتبديل بين قنوات الإصدار الثابت وقنوات الإصدار الليلي + - **مدقق إصدار FFmpeg:** تحقق من إصدار FFmpeg الخاص بك وافتح أدلة التثبيت + - **تحديثات Deno:** التحقق من وقت تشغيل Deno وتحديثه +- **اكتشاف FFmpeg/yt-dlp/Deno:** اكتشاف مسارات وإصدارات FFmpeg وyt-dlp وDeno تلقائيًا من مربع الحوار "حول". +- **سجل التنزيلات:** اعرض التنزيلات السابقة باستخدام الصور المصغرة والحالات من زر **السجل**. + +
    + +
    +🌍 التعريب + +يدعم YTSage **14 لغة** لسهولة الوصول إليها في جميع أنحاء العالم. اختر لغتك المفضلة من **خيارات مخصصة → اللغة**. + +### اللغات المدعومة + +| اللغة | الكود | اللغة | الكود | +|----------|------|---------|------| +| 🇺🇸 إنجليزي | `en` | 🇪🇸 الاسبانية | `es` | +| 🇸🇦 عربي | `ar` | 🇫🇷 فرنسي | `fr` | +| 🇩🇪 ألماني | `de` | 🇮🇳 هندي | `hi` | +| 🇮🇩 إندونيسي | `id` | 🇮🇹 إيطالي | `it` | +| 🇯🇵 ياباني | `ja` | 🇵🇱 بولندية | `pl` | +| 🇧🇷 برتغالية | `pt` | 🇷🇺 روسي | `ru` | +| 🇹🇷 تركي | `tr` | 🇨🇳 صيني | `zh` | + +### ترجمات README + +| اللغة | ملف | اللغة | ملف | +|----------|------|---------|------| +| 🇺🇸 إنجليزي | [README.md](../README.md) | 🇪🇸 الاسبانية | [README.es.md](README.es.md) +| 🇸🇦 عربي | [README.ar.md](README.ar.md) | 🇫🇷 فرنسي | [README.fr.md](README.fr.md) | +| 🇩🇪 ألماني | [README.de.md](README.de.md) | 🇮🇳 هندي | [README.hi.md](README.hi.md) | +| 🇮🇩 إندونيسي | [README.id.md](README.id.md) | 🇮🇹 إيطالي | [README.it.md](README.it.md) | +| 🇯🇵 ياباني | [README.ja.md](README.ja.md) | 🇵🇱 بولندية | [README.pl.md](README.pl.md) | +| 🇧🇷 برتغالية | [README.pt.md](README.pt.md) | 🇷🇺 روسي | [README.ru.md](README.ru.md) | +| 🇹🇷 تركي | [README.tr.md](README.tr.md) | 🇨🇳 صيني | [README.zh.md](README.zh.md) | + +> 💡 **هل تريد المساهمة في الترجمة؟** راجع قسم [Contributing](#contributing) لمساعدتنا في إضافة المزيد من اللغات! + +
    + + +## 🛠️ استكشاف الأخطاء وإصلاحها + +
    +انقر لعرض المشكلات والحلول الشائعة + +- **تنسيق الجدول لا يتم عرضه:** قم بتحديث yt-dlp إلى الإصدار الأحدث، ثم قم بالتبديل إلى yt-dlp ليلاً. +- **فشل التنزيل:** تحقق من اتصالك بالإنترنت وتأكد من توفر الفيديو. +- **أخطاء تنزيل محددة:** + - **مقاطع الفيديو الخاصة:** استخدم مصادقة ملفات تعريف الارتباط للوصول إلى المحتوى الخاص. + - **محتوى مقيد بالفئة العمرية:** قم بتسجيل الدخول إلى حساب YouTube لعرض مقاطع الفيديو المقيدة بالفئة العمرية. + - **مقاطع الفيديو المحظورة جغرافيًا:** فكر في استخدام VPN لتجاوز القيود الإقليمية. + - **مقاطع الفيديو المحذوفة/المحذوفة:** لم يعد الفيديو متاحًا على YouTube. + - **البث المباشر:** لا يمكن تنزيل البث المباشر؛ انتظر حتى ينتهي الدفق. + - **أخطاء الشبكة:** تحقق من اتصالك بالإنترنت وحاول مرة أخرى. + - **عناوين URL غير صالحة:** تأكد من أن عنوان URL صحيح ومن نظام أساسي مدعوم. + - **المحتوى المميز:** يتطلب عضوية YouTube Premium. + - **حظر حقوق الطبع والنشر:** تم حظر المحتوى بسبب قيود حقوق الطبع والنشر. +- **فصل ملفات الفيديو والصوت بعد التنزيل:** يحدث هذا عندما يكون FFmpeg مفقودًا أو لم يتم اكتشافه. يتطلب YTSage FFmpeg لدمج تدفقات الفيديو والصوت عالية الجودة. + - **الحل:** تأكد من تثبيت FFmpeg وإمكانية الوصول إليه في PATH الخاص بنظامك. بالنسبة لمستخدمي Windows، الخيار الأسهل هو تنزيل الملف `YTSage-v-ffmpeg.exe`، والذي يأتي مرفقًا مع FFmpeg. + +--- + +#### 🛡️ تحذير Windows Defender / مضاد الفيروسات + +قد تقوم بعض برامج مكافحة الفيروسات بوضع علامة على الملفات `.exe` على أنها ملفات إيجابية كاذبة. هذا **قيد معروف** للتطبيقات المجمعة. + +**لماذا يحدث هذا:** +- يمكن للاستدلالات المضادة للفيروسات أن تخطئ في تعريف الملفات التنفيذية المعبأة على أنها مشبوهة + +** البدائل الآمنة: ** +- ✅ **استخدم تثبيت النقطة:** `pip install ytsage` (مستحسن) +- ✅ **البناء من المصدر**: باتباع هذا [guide](../.github/CI_CD_README.md) +- ✅ **أدرج التطبيق في القائمة البيضاء** في برنامج مكافحة الفيروسات لديك + +#### 🍎 macOS: "التطبيق تالف ولا يمكن فتحه" +إذا رأيت هذا الخطأ على نظام التشغيل macOS Sonoma أو الإصدارات الأحدث، فستحتاج إلى إزالة سمة العزل. + +1. **افتح الوحدة الطرفية** (يمكنك العثور عليها باستخدام Spotlight). +2. **اكتب الأمر التالي** لكن **لا** تضغط على Enter بعد. تأكد من تضمين المساحة في النهاية: + ```bash + xattr -d com.apple.quarantine + ``` +3. **اسحب الملف `YTSage.app`** من نافذة Finder وأفلته مباشرةً في نافذة الوحدة الطرفية. سيؤدي هذا تلقائيًا إلى لصق مسار الملف الصحيح. +4. **اضغط على Enter** لتشغيل الأمر. +5. **حاول فتح YTSage.app مرة أخرى.** من المفترض الآن أن يتم تشغيله بشكل صحيح. + +--- + +#### **مواقع التكوين (متقدمة)** +- **ويندوز:** `%LOCALAPPDATA%\YTSage` +- **ماك:** `~/Library/Application Support/YTSage` +- **لينكس:** `~/.local/share/YTSage` + +
    + + +## 💖 الراعي + +إذا كان YTSage يوفر عليك الوقت، ففكر في رعاية المشروع. تساعد الرعاية في تغطية وقت التطوير والاختبار عبر الأنظمة الأساسية والتحسينات المستقبلية. + +- رعاة GitHub: https://github.com/sponsors/oop7 +- رابط الراعي متاح أيضًا مباشرة داخل التطبيق من مربع الحوار "حول". + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 المساهمة + +نحن نرحب بالمساهمات! إليك كيف يمكنك المساعدة: + +1. 🍴 شوكة المستودع +2. 🌿 قم بإنشاء فرع الميزات الخاص بك: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 قم بإجراء التغييرات: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 اضغط على الفرع: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 افتح طلب السحب + +### 🌍 المساهمة بالترجمات + +- قم بتحديث ملف README المترجم المطابق (على سبيل المثال `README.es.md`) +- حافظ على مزامنة سلاسل التطبيق عن طريق تحرير `ytsage/languages/.json` +- إذا كانت لغتك مفقودة، ابدأ من `README.md` وأنشئ `README..md` + +
    +📂 هيكل المشروع + +## YTSage - هيكل المشروع + +يصف هذا المستند بنية المجلد المنظم لـ YTSage. + +### 📁 هيكل المشروع + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ تاريخ النجوم + +
    + +## تاريخ النجوم + + + + + + Star History Chart + + + +
    + +## 📜 الترخيص + +هذا المشروع مرخص بموجب ترخيص MIT - راجع الملف [LICENSE](../LICENSE) للحصول على التفاصيل. + +## 🙏 شكر وتقدير + +
    +إظهار الشكر والتقدير + +
    + +

    شكرًا جزيلًا لكل من ساهم في هذا المشروع من خلال فتح مشكلة لاقتراح تحسين أو الإبلاغ عن خطأ.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    المكونات الأساسية
    yt-dlpتحميل المحرك
    FFmpegمعالجة الوسائط
    دينووقت التشغيل للتكامل مع yt-dlp
    المكتبات والأطر
    PySide6إطار واجهة المستخدم الرسومية
    الوسادةمعالجة الصور
    الطلباتطلبات HTTP
    التغليفالتعامل مع الإصدار والحزمة
    تخفيض السعرعرض تخفيض السعر
    loguruالتسجيل
    الأصول والمساهمون
    إشعار جديد 09 من Universfieldصوت الإشعارات
    الفيروس185مساهم الكود
    + +
    + +
    + +## ⚠️إخلاء المسؤولية + +هذه الأداة للاستخدام الشخصي فقط. يرجى احترام شروط خدمة YouTube وحقوق منشئي المحتوى. + +--- + +
    + +صُنع باستخدام ❤️ بواسطة [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.de.md b/readme-translations/README.de.md new file mode 100644 index 0000000..50bbcb7 --- /dev/null +++ b/readme-translations/README.de.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Ein moderner YouTube-Downloader mit einer sauberen PySide6-Oberfläche.** +Laden Sie Videos in beliebiger Qualität herunter, extrahieren Sie Audio, rufen Sie Untertitel ab und mehr. + +### 🌍 README-Sprachen + +Englisch: [EN](../README.md) +| Quelle: [AR](README.ar.md) +| Deutsch: [DE](README.de.md) +| Spanisch: [ES](README.es.md) +| Französisch: [FR](README.fr.md) +| Quelle: [HI](README.hi.md) +| Bahasa Indonesien: [ID](README.id.md) +| Italienisch: [IT](README.it.md) +| 日本語: [JA](README.ja.md) +| Polnisch: [PL](README.pl.md) +| Portugiesisch: [PT](README.pt.md) +| Russisch: [RU](README.ru.md) +| Türkei: [TR](README.tr.md) +| Quelle: [ZH](README.zh.md) + +

    + Installation • + Funktionen • + Verwendung • + Screenshots • + Fehlerbehebung • + Sponsor • + Mitwirken +

    + +
    + +--- + + +## ❓ Warum YTSage? + +YTSage wurde für Benutzer entwickelt, die einen **einfachen, aber leistungsstarken YouTube-Downloader** suchen. Im Gegensatz zu anderen Tools bietet es: + +- Eine saubere, moderne PySide6-Schnittstelle +- Ein-Klick-Downloads für Video, Audio und Untertitel +- Erweiterte Funktionen wie SponsorBlock, Zusammenführen von Untertiteln und Auswahl von Wiedergabelisten +- Optionaler generischer Modus für von YT-DLP unterstützte Websites außerhalb von YouTube +- Plattformübergreifende Unterstützung und einfache Installation + + +## ✨ Funktionen + +
    + +| Kernfunktionen | Erweiterte Funktionen | Zusätzliche Funktionen | +|----------------------------------|--------------------------|------------------------------------| +| 🎥 Tabelle formatieren | 🚫 SponsorBlock-Integration | 🎞️ FPS/HDR-Anzeige | +| 🎵 Audioextraktion | 📝 Mehrere Untertitel auswählen und zusammenführen | 🔄 yt-dlp automatisch aktualisieren | +| ✨ Einfache Benutzeroberfläche | 💾 Beschreibung und Miniaturansicht speichern | 🛠️ FFmpeg/yt-dlp/Deno-Erkennung | +| 📋 Playlist-Unterstützung und -Auswahl | 🚀 Geschwindigkeitsbegrenzer | ⚙️ Benutzerdefinierte Befehle | +| 📑 Kapitel einbetten | ✂️ Videoabschnitte zuschneiden | 🍪 Mit Cookies anmelden | +| 📜 Download-Verlauf | 🔄 Kanalauswahl freigeben | 🌐 Proxy-Unterstützung | +| 🎚️ Audioformatkonvertierung | 🎬 Videoformateinstellungen | 🆙 Integrierte Updater-Registerkarte | +| 🌍 Allgemeiner Modus | +| 🌍 Lokalisierung in 14 Sprachen | | +
    + + +## 🚀 Installation + +### ⚡ Schnellinstallation (empfohlen) + +Installieren Sie YTSage von PyPI: + +```bash +pip install ytsage +``` + +
    +🔄Aktualisieren Sie eine vorhandene Installation + +```bash +pip install --upgrade ytsage +``` + +
    + +Starten Sie dann die App: + +```bash +ytsage +``` + +### 📦 Vorgefertigte ausführbare Dateien + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Windows + +| Formatieren | Beschreibung | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standardinstallationsprogramm | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Mit FFmpeg gebündelt | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable Version, keine Installation erforderlich | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Tragbar mit FFmpeg, gezippt | + +
    +🛠️ Installationsschritte + +1. **EXE-Installationsprogramm (`.exe`)**: Doppelklicken Sie auf die Datei und folgen Sie dem Setup-Assistenten. +2. **Portable Version (`.zip`)**: Extrahieren Sie das Archiv an den gewünschten Speicherort und führen Sie `ytsage.exe` aus. +3. **FFmpeg gebündelt**: Wählen Sie die gebündelten FFmpeg-Versionen, wenn Sie FFmpeg nicht auf Ihrem System installiert haben. +
    + +#### 🐧 Linux + +| Formatieren | Beschreibung | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian-Paket | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, tragbar | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM-Paket | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak-Bundle | + +
    +🛠️ Installationsschritte + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **AppImage (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: Folgen Sie den Anweisungen auf Flathub oder führen Sie Folgendes aus: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 macOS + +| Formatieren | Beschreibung | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Gezippte Anwendung für Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk-Image-Installationsprogramm für Apple Silicon | + +
    +🛠️ Installationsschritte + +- **DMG-Installationsprogramm (`.dmg`)**: Doppelklicken Sie zum Mounten und ziehen Sie dann `YTSage.app` in Ihren Anwendungsordner. +- **App-Archiv (`.zip`)**: Extrahieren Sie die ZIP-Datei und verschieben Sie `YTSage.app` in Ihren Anwendungsordner. + +*Hinweis: Wenn Sie auf den Fehler „App ist beschädigt“ stoßen, sehen Sie sich das [macOS troubleshooting section](#troubleshooting) unten an.* +
    + +--- + +
    +💻 Manuelle Installation von der Quelle + +### 1. Klonen Sie das Repository + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Abhängigkeiten installieren + +#### ⚡ Mit UV + +```bash +uv pip install . +``` + +#### 📦 Oder mit Standard-Pip + +```bash +pip install . +``` + +### 3. Führen Sie die Anwendung aus + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Screenshots + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    Download-EinstellungenPlaylist-Download
    Audio Format Selection with Save ThumbnailCustom Options
    AudioformatBenutzerdefinierte Optionen
    +
    +## 📖 Verwendung + +
    +🎯 Grundlegende Verwendung + +1. **YTSage starten** +2. **YouTube-URL einfügen** (oder verwenden Sie die Schaltfläche „URL einfügen“) +3. **Klicken Sie auf „Analysieren“** +4. **Format auswählen:** + - `Video` für Video-Downloads + - `Audio Only` zur Audioextraktion +5. **Optionen wählen:** + - Untertitel aktivieren und Sprache auswählen + - Untertitelzusammenführung aktivieren + - Miniaturansicht speichern + - Entfernen Sie Sponsorsegmente + - Beschreibung speichern + - Kapitel einbetten +6. **Ausgabeverzeichnis auswählen** +7. **Klicken Sie auf „Herunterladen“** + +> 💡 Das Standard-Download-Verzeichnis ist der Ordner „Downloads“ des Benutzers. + +
    + +
    +📋 Playlist-Download + +1. **Playlist-URL einfügen** +2. **Klicken Sie auf „Analysieren“** +3. **Wählen Sie Videos aus der Playlist-Auswahl aus (optional, standardmäßig alle)** +4. **Wählen Sie das gewünschte Format/die gewünschte Qualität** +5. **Klicken Sie auf „Herunterladen“** + +> 💡 Die Anwendung verwaltet die Download-Warteschlange automatisch + +
    + +
    +🌍 Allgemeiner Modus für Nicht-YouTube-Websites + +Verwenden Sie den generischen Modus, wenn Sie möchten, dass YTSage URLs von Websites akzeptiert, die von yt-dlp unterstützt werden, wie z. B. Dailymotion, CBC Gem, TikTok und andere. + +So verwenden Sie es: + +1. Öffnen Sie `Download Settings`. +2. Aktivieren Sie `Generic Mode`. +3. Fügen Sie eine unterstützte Nicht-YouTube-Video- oder Playlist-URL ein. +4. Klicken Sie auf `Analyze`. +5. Wählen Sie ein Format und laden Sie es wie gewohnt herunter. + +Hinweise: + +- Der generische Modus ändert nur die URL-Validierung innerhalb von YTSage. Die Zielsite muss weiterhin von Ihrer installierten yt-dlp-Version unterstützt werden. +- Einige Websites erfordern je nach Extraktor Cookies, eine Anmeldesitzung, einen Proxy oder zusätzliche YT-DLP-Argumente. +- Wenn eine Site ausfällt, aktualisieren Sie yt-dlp zunächst über die Registerkarte des integrierten Updaters, bevor Sie das Problem melden. + +
    + +
    +🧰 Medien- und Download-Optionen + +- **Untertiteloptionen:** Sprachen filtern und Untertitel in die Videodatei einbetten +- **Untertitel zusammenführen:** Untertitel für fest codierte Untertitel in die Videodatei einbinden +- **Beschreibung speichern:** Speichern Sie die Videobeschreibung als Textdatei +- **Miniaturansicht speichern:** Speichern Sie die Miniaturansicht des Videos als Bilddatei +- **Kapitel einbetten:** Betten Sie Kapitelmarkierungen als Metadaten für kompatible Videoplayer ein +- **Sponsorensegmente entfernen:** Entfernen Sie Sponsorsegmente aus dem Video mit SponsorBlock +- **Video zuschneiden:** Laden Sie nur bestimmte Teile eines Videos herunter, indem Sie Zeitbereiche im Format `HH:MM:SS` angeben + +
    + +
    +⚙️ Ausgabe- und Dateieinstellungen + +- **Geschwindigkeitsbegrenzer:** Begrenzen Sie die Download-Geschwindigkeit, zum Beispiel `500K` auf 500 KB/s +- **Download-Pfad speichern:** Speichern Sie den Standard-Download-Pfad für zukünftige Downloads. Verfügbar unter **Download-Einstellungen → Download-Pfad**. +- **Format des Ausgabedateinamens:** Passen Sie das Format des Ausgabedateinamens mithilfe von Variablen wie `%(title)s`, `%(uploader)s` und `%(resolution)s` an. Verfügbar unter **Download-Einstellungen → Dateinamenformat**. +- **Ausgabeformat erzwingen:** Video-Downloads in ein bestimmtes Containerformat wie `mp4`, `webm` oder `mkv` erzwingen. Verfügbar unter **Download-Einstellungen → Ausgabeformat-Einstellungen**. +- **Audioformatkonvertierung:** Konvertieren Sie reine Audio-Downloads in bevorzugte Formate wie `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` oder `Best`. Verfügbar unter **Download-Einstellungen → Audioformat-Einstellungen**. + +
    + +
    +🌐 Zugang und Netzwerk + +- **Mit Cookies anmelden:** Melden Sie sich mit Cookies bei YouTube an, um auf private Inhalte zuzugreifen. + So verwenden Sie es: + 1. **Empfohlen:** Verwenden Sie die integrierte Option „Extract cookies from browser“ in der App und wählen Sie dann Ihren Browser und optional ein Profil aus. + 2. Alternativ können Sie Cookies auch manuell extrahieren: + a. Exportieren Sie Cookies aus Ihrem Browser mit einer Erweiterung wie [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Kopieren Sie die Cookies im Netscape-Format + c. Erstellen Sie eine Datei mit dem Namen `cookies.txt` und fügen Sie die Cookies darin ein + d. Wählen Sie in der App die Datei „cookies.txt“ aus +- **Proxy-Unterstützung:** Verwenden Sie einen Proxy-Server für Downloads, zum Beispiel `http://:` +- **Generischer Modus:** Ermöglicht YTSage die Analyse und den Download von Nicht-YouTube-Websites, die von yt-dlp unterstützt werden. Aktivieren Sie es über **Download-Einstellungen → Allgemeiner Modus**. + +
    + +
    +🛠️ Werkzeuge und Wartung + +- **Benutzerdefinierte Befehle:** Greifen Sie über Befehlszeilenargumente auf erweiterte yt-dlp-Funktionen zu +- **Registerkarte „Updater“:** Integrierte Update-Tools von einem Ort aus in den benutzerdefinierten Optionen verwalten: + - **yt-dlp-Updates:** Suchen Sie nach Updates und wechseln Sie zwischen den Veröffentlichungskanälen Stable und Nightly + - **FFmpeg-Versionsprüfer:** Überprüfen Sie Ihre FFmpeg-Version und öffnen Sie die Installationsanleitungen + - **Deno-Updates:** Überprüfen und aktualisieren Sie die Deno-Laufzeitumgebung +- **FFmpeg/yt-dlp/Deno-Erkennung:** Erkennt automatisch FFmpeg-, yt-dlp- und Deno-Pfade und -Versionen im Info-Dialog. +- **Download-Verlauf:** Zeigen Sie frühere Downloads mit Miniaturansichten und Status über die Schaltfläche **Verlauf** an. + +
    + +
    +🌍 Lokalisierung + +YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie Ihre bevorzugte Sprache unter **Benutzerdefinierte Optionen → Sprache** aus. + +### Unterstützte Sprachen + +| Sprache | Code | Sprache | Code | +|----------|------|----------|------| +| 🇺🇸 Englisch | `en` | 🇪🇸 Spanisch | `es` | +| 🇸🇦 Arabisch | `ar` | 🇫🇷 Französisch | `fr` | +| 🇩🇪 Deutsch | `de` | 🇮🇳 Hindi | `hi` | +| 🇮🇩 Indonesisch | `id` | 🇮🇹 Italienisch | `it` | +| 🇯🇵 Japanisch | `ja` | 🇵🇱 Polnisch | `pl` | +| 🇧🇷 Portugiesisch | `pt` | 🇷🇺 Russisch | `ru` | +| 🇹🇷 Türkisch | `tr` | 🇨🇳 Chinesisch | `zh` | + +### README-Übersetzungen + +| Sprache | Datei | Sprache | Datei | +|----------|------|----------|------| +| 🇺🇸 Englisch | [README.md](../README.md) | 🇪🇸 Spanisch | [README.es.md](README.es.md) +| 🇸🇦 Arabisch | [README.ar.md](README.ar.md) | 🇫🇷 Französisch | [README.fr.md](README.fr.md) | +| 🇩🇪 Deutsch | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonesisch | [README.id.md](README.id.md) | 🇮🇹 Italienisch | [README.it.md](README.it.md) | +| 🇯🇵 Japanisch | [README.ja.md](README.ja.md) | 🇵🇱 Polnisch | [README.pl.md](README.pl.md) | +| 🇧🇷 Portugiesisch | [README.pt.md](README.pt.md) | 🇷🇺 Russisch | [README.ru.md](README.ru.md) | +| 🇹🇷 Türkisch | [README.tr.md](README.tr.md) | 🇨🇳 Chinesisch | [README.zh.md](README.zh.md) | + +> 💡 **Möchten Sie eine Übersetzung beisteuern?** Schauen Sie sich den Abschnitt [Contributing](#contributing) an, um uns beim Hinzufügen weiterer Sprachen zu helfen! + +
    + + +## 🛠️ Fehlerbehebung + +
    +Klicken Sie hier, um häufige Probleme und Lösungen anzuzeigen + +- **Formattabelle wird nicht angezeigt:** Aktualisieren Sie yt-dlp auf die neueste Version und wechseln Sie jede Nacht zu yt-dlp. +- **Download schlägt fehl:** Überprüfen Sie Ihre Internetverbindung und stellen Sie sicher, dass das Video verfügbar ist. +- **Spezifische Downloadfehler:** + - **Private Videos:** Verwenden Sie die Cookie-Authentifizierung, um auf private Inhalte zuzugreifen. + - **Inhalte mit Altersbeschränkung:** Melden Sie sich bei Ihrem YouTube-Konto an, um Videos mit Altersbeschränkung anzusehen. + - **Geoblockierte Videos:** Erwägen Sie die Verwendung eines VPN, um regionale Beschränkungen zu umgehen. + - **Entfernte/gelöschte Videos:** Das Video ist nicht mehr auf YouTube verfügbar. + - **Live-Streams:** Live-Streams können nicht heruntergeladen werden; Warten Sie, bis der Stream beendet ist. + - **Netzwerkfehler:** Überprüfen Sie Ihre Internetverbindung und versuchen Sie es erneut. + - **Ungültige URLs:** Stellen Sie sicher, dass die URL korrekt ist und von einer unterstützten Plattform stammt. + - **Premium-Inhalte:** Erfordert eine YouTube Premium-Mitgliedschaft. + - **Urheberrechtliche Sperren:** Der Inhalt ist aufgrund von Urheberrechtsbeschränkungen gesperrt. +- **Video- und Audiodateien nach dem Download trennen:** Dies passiert, wenn FFmpeg fehlt oder nicht erkannt wird. YTSage benötigt FFmpeg, um hochwertige Video- und Audiostreams zusammenzuführen. + - **Lösung:** Stellen Sie sicher, dass FFmpeg im PATH Ihres Systems installiert und zugänglich ist. Für Windows-Benutzer ist es am einfachsten, die Datei „YTSage-v-ffmpeg.exe“ herunterzuladen, die im Lieferumfang von FFmpeg enthalten ist. + +--- + +#### 🛡️ Windows Defender/Antivirus-Warnung + +Einige Antivirenprogramme kennzeichnen die „.exe“-Dateien möglicherweise als falsch positive Ergebnisse. Dies ist eine **bekannte Einschränkung** von Paketanwendungen. + +**Warum das passiert:** +– Antivirus-Heuristiken können gepackte ausführbare Dateien fälschlicherweise als verdächtig identifizieren + +**Sichere Alternativen:** +- ✅ **Pip-Installation verwenden:** `pip install ytsage` (empfohlen) +- ✅ **Aus dem Quellcode erstellen**: Folgen Sie diesem [guide](../.github/CI_CD_README.md) +- ✅ **Setzen Sie die Anwendung in Ihre Antivirensoftware auf die Whitelist + +#### 🍎 macOS: „App ist beschädigt und kann nicht geöffnet werden“ +Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quarantäneattribut entfernen. + +1. **Öffnen Sie das Terminal** (Sie können es mit Spotlight finden). +2. **Geben Sie den folgenden Befehl ein**, drücken Sie aber noch nicht die Eingabetaste. Achten Sie darauf, das Leerzeichen am Ende einzufügen: + ```bash + xattr -d com.apple.quarantine + ``` +3. **Ziehen Sie die Datei „YTSage.app“ aus Ihrem Finder-Fenster und legen Sie sie direkt im Terminalfenster ab. Dadurch wird automatisch der richtige Dateipfad eingefügt. +4. **Drücken Sie die Eingabetaste**, um den Befehl auszuführen. +5. **Versuchen Sie erneut, YTSage.app zu öffnen.** Es sollte jetzt korrekt starten. + +--- + +#### **Konfigurationsorte (Erweitert)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 Sponsor + +Wenn Sie mit YTSage Zeit sparen, sollten Sie das Projekt sponsern. Durch Sponsoring können Entwicklungszeit, plattformübergreifende Tests und zukünftige Verbesserungen abgedeckt werden. + +- GitHub-Sponsoren: https://github.com/sponsors/oop7 +- Der Sponsor-Link ist auch direkt in der App im Info-Dialog verfügbar. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Mitwirken + +Wir freuen uns über Beiträge! So können Sie helfen: + +1. 🍴 Forken Sie das Repository +2. 🌿 Erstellen Sie Ihren Feature-Branch: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Übernehmen Sie Ihre Änderungen: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Zur Filiale schieben: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Öffnen Sie eine Pull-Anfrage + +### 🌍 Mitwirkende Übersetzungen + +- Aktualisieren Sie die passende lokalisierte README-Datei (zum Beispiel `README.es.md`) +- Halten Sie App-Strings synchron, indem Sie `ytsage/languages/.json` bearbeiten +- Wenn Ihre Sprache fehlt, beginnen Sie mit `README.md` und erstellen Sie `README..md` + +
    +📂 Projektstruktur + +## YTSage – Projektstruktur + +Dieses Dokument beschreibt die organisierte Ordnerstruktur von YTSage. + +### 📁 Projektstruktur + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ Sterngeschichte + +
    + +## Sterngeschichte + + + + + + Star History Chart + + + +
    + +## 📜 Lizenz + +Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei „LICENSE“. + +## 🙏 Danksagungen + +
    +Danksagungen anzeigen + +
    + +

    Ein herzliches Dankeschön an alle, die zu diesem Projekt beigetragen haben, indem sie ein Problem geöffnet haben, um eine Verbesserung vorzuschlagen oder einen Fehler zu melden.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Kernkomponenten
    yt-dlpDownload Engine
    FFmpegMedienverarbeitung
    DenoLaufzeit für die Integration mit yt-dlp
    Bibliotheken und Frameworks
    PySide6GUI-Framework
    KissenBildverarbeitung
    AnfragenHTTP-Anfragen
    VerpackungVersions- und Pakethandhabung
    AbschlagMarkdown-Rendering
    loguruProtokollierung
    Vermögenswerte und Mitwirkende
    Neue Benachrichtigung 09 von UniversfieldBenachrichtigungston
    viru185Code-Mitwirkender
    + +
    + +
    + +## ⚠️ Haftungsausschluss + +Dieses Tool ist nur für den persönlichen Gebrauch bestimmt. Bitte respektieren Sie die Nutzungsbedingungen und die Rechte der Inhaltsersteller von YouTube. + +--- + +
    + +Hergestellt mit ❤️ von [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md new file mode 100644 index 0000000..ff177a8 --- /dev/null +++ b/readme-translations/README.es.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Un descargador de YouTube moderno con una interfaz PySide6 limpia.** +Descargue videos en cualquier calidad, extraiga audio, obtenga subtítulos y más. + +### 🌍 LÉAME Idiomas + +Inglés: [EN](../README.md) +| العربية: [AR](README.ar.md) +| Alemán: [DE](README.de.md) +| Español: [ES](README.es.md) +| Francés: [FR](README.fr.md) +| हिन्दी: [HI](README.hi.md) +| Bahasa Indonesia: [ID](README.id.md) +| Italiano: [IT](README.it.md) +| Traducción: [JA](README.ja.md) +| Polonia: [PL](README.pl.md) +| Português: [PT](README.pt.md) +| Ruso: [RU](README.ru.md) +| Turco: [TR](README.tr.md) +| Traducción: [ZH](README.zh.md) + +

    + Instalación • + Características • + Uso • + Capturas de pantalla • + Solución de problemas • + Patrocinador • + Contribuyendo +

    + +
    + +--- + + +## ❓ ¿Por qué YTSage? + +YTSage está diseñado para usuarios que desean un **descargador de YouTube simple pero potente**. A diferencia de otras herramientas, ofrece: + +- Una interfaz PySide6 limpia y moderna +- Descargas con un solo clic de vídeo, audio y subtítulos. +- Funciones avanzadas como SponsorBlock, combinación de subtítulos y selección de listas de reproducción +- Modo genérico opcional para sitios compatibles con yt-dlp más allá de YouTube +- Soporte multiplataforma y fácil instalación. + + +## ✨ Características + +
    + +| Características principales | Funciones avanzadas | Funciones adicionales | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Tabla de formato | 🚫 Integración de SponsorBlock | 🎞️ Pantalla FPS/HDR | +| 🎵 Extracción de audio | 📝 Seleccionar y fusionar múltiples subtítulos | 🔄 Actualización automática yt-dlp | +| ✨ Interfaz de usuario sencilla | 💾 Guardar descripción y miniatura | 🛠️ FFmpeg/yt-dlp/Detección de Deno | +| 📋 Soporte y selector de listas de reproducción | 🚀 Limitador de velocidad | ⚙️ Comandos personalizados | +| 📑 Insertar capítulos | ✂️ Recortar secciones de video | 🍪 Iniciar sesión con cookies | +| 📜 Historial de descargas | 🔄 Selección de canal de lanzamiento | 🌐 Soporte de proxy | +| 🎚️ Conversión de formato de audio | 🎬 Configuración de formato de vídeo | 🆙 Pestaña de actualización incorporada | +| 🌍 Modo Genérico | +| 🌍 Localización en 14 idiomas | | +
    + + +## 🚀 Instalación + +### ⚡ Instalación rápida (recomendado) + +Instale YTSage desde PyPI: + +```bash +pip install ytsage +``` + +
    +🔄 Actualizar una instalación existente + +```bash +pip install --upgrade ytsage +``` + +
    + +Luego inicie la aplicación: + +```bash +ytsage +``` + +### 📦 Ejecutables prediseñados + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟Ventanas + +| Formato | Descripción | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Instalador estándar | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Con FFmpeg incluido | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versión portátil, no requiere instalación | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portátil con FFmpeg, con cremallera | + +
    +🛠️ Pasos de instalación + +1. **Instalador EXE (`.exe`)**: haga doble clic en el archivo y siga el asistente de configuración. +2. **Versión portátil (`.zip`)**: extraiga el archivo a la ubicación deseada y ejecute `ytsage.exe`. +3. **FFmpeg incluido**: elija las versiones incluidas de FFmpeg si no tiene FFmpeg instalado en su sistema. +
    + +#### 🐧Linux + +| Formato | Descripción | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paquete Debian | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portátil | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paquete RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Paquete plano | + +
    +🛠️ Pasos de instalación + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **Imagen de aplicación (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: siga las instrucciones en Flathub o ejecute: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎macOS + +| Formato | Descripción | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplicación comprimida para Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalador de imágenes de disco para Apple Silicon | + +
    +🛠️ Pasos de instalación + +- **Instalador de DMG (`.dmg`)**: haga doble clic para montar, luego arrastre `YTSage.app` a su carpeta de Aplicaciones. +- **Archivo de aplicaciones (`.zip`)**: extrae el zip y mueve `YTSage.app` a tu carpeta de Aplicaciones. + +*Nota: Si encuentra el error "La aplicación está dañada", consulte el [macOS troubleshooting section](#troubleshooting) a continuación.* +
    + +--- + +
    +💻 Instalación manual desde la fuente + +### 1. Clonar el repositorio + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Instalar dependencias + +#### ⚡ Con ultravioleta + +```bash +uv pip install . +``` + +#### 📦 O con pip estándar + +```bash +pip install . +``` + +### 3. Ejecute la aplicación + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Capturas de pantalla + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    Configuración de descargaDescargar lista de reproducción
    Audio Format Selection with Save ThumbnailCustom Options
    Formato de audioOpciones personalizadas
    +
    +## 📖 Uso + +
    +🎯 Uso básico + +1. **Inicie YTSage** +2. **Pegue la URL de YouTube** (o use el botón "Pegar URL") +3. **Haga clic en "Analizar"** +4. **Seleccione formato:** + - `Video` para descargas de videos + - `Audio Only` para extracción de audio +5. **Elija Opciones:** + - Habilitar subtítulos y seleccionar idioma. + - Habilitar la combinación de subtítulos + - Guardar miniatura + - Eliminar segmentos de patrocinadores + - Guardar descripción + - Insertar capítulos +6. **Seleccione el directorio de salida** +7. **Haga clic en "Descargar"** + +> 💡 El directorio de descarga predeterminado es la carpeta "Descargas" del usuario. + +
    + +
    +📋 Descarga de lista de reproducción + +1. **Pegar URL de la lista de reproducción** +2. **Haga clic en "Analizar"** +3. **Seleccione videos del selector de lista de reproducción (opcional, el valor predeterminado es todos)** +4. **Elija el formato/calidad deseado** +5. **Haga clic en "Descargar"** + +> 💡 La aplicación maneja automáticamente la cola de descarga + +
    + +
    +🌍 Modo genérico para sitios que no son de YouTube + +Utilice el modo genérico cuando desee que YTSage acepte URL de sitios compatibles con yt-dlp, como Dailymotion, CBC Gem, TikTok y otros. + +Cómo usarlo: + +1. Abra `Download Settings`. +2. Habilite `Generic Mode`. +3. Pegue una URL de lista de reproducción o video compatible que no sea de YouTube. +4. Haga clic en `Analyze`. +5. Elija un formato y descárguelo como de costumbre. + +Notas: + +- El modo genérico solo cambia la validación de URL dentro de YTSage. El sitio de destino aún debe ser compatible con la versión de yt-dlp instalada. +- Algunos sitios requieren cookies, una sesión de inicio de sesión, un proxy o argumentos yt-dlp adicionales según el extractor. +- Si un sitio falla, actualice primero yt-dlp desde la pestaña de actualización integrada antes de informar el problema. + +
    + +
    +🧰 Opciones de descarga y medios + +- **Opciones de subtítulos:** Filtrar idiomas e incrustar subtítulos en el archivo de video +- **Combinación de subtítulos:** Combina subtítulos en el archivo de video para obtener subtítulos codificados +- **Guardar descripción:** Guarde la descripción del video como un archivo de texto. +- **Guardar miniatura:** Guarda la miniatura del vídeo como un archivo de imagen. +- **Incrustar capítulos:** Incrustar marcadores de capítulos como metadatos para reproductores de video compatibles +- **Eliminar segmentos de patrocinador:** Elimina segmentos de patrocinador del video usando SponsorBlock +- **Recortar video:** Descargue solo partes específicas de un video especificando rangos de tiempo en formato `HH:MM:SS` + +
    + +
    +⚙️ Configuración de archivos y salida + +- **Limitador de velocidad:** Limita la velocidad de descarga, por ejemplo `500K` a 500 KB/s +- **Guardar ruta de descarga:** Guarde la ruta de descarga predeterminada para futuras descargas. Disponible en **Configuración de descarga → Ruta de descarga**. +- **Formato de nombre de archivo de salida:** Personalice el formato de nombre de archivo de salida usando variables como `%(title)s`, `%(uploader)s` y `%(resolution)s`. Disponible en **Configuración de descarga → Formato de nombre de archivo**. +- **Forzar formato de salida:** Fuerza las descargas de videos en un formato contenedor específico como `mp4`, `webm` o `mkv`. Disponible en **Configuración de descarga → Configuración de formato de salida**. +- **Conversión de formato de audio:** Convierta descargas de solo audio a formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` o `Best`. Disponible en **Configuración de descarga → Configuración de formato de audio**. + +
    + +
    +🌐 Acceso y Red + +- **Iniciar sesión con cookies:** Inicie sesión en YouTube utilizando cookies para acceder a contenido privado. + Cómo usarlo: + 1. **Recomendado:** Utilice la opción `Extract cookies from browser` incorporada en la aplicación, luego seleccione su navegador y, opcionalmente, un perfil. + 2. Alternativamente, extraiga las cookies manualmente: + un. Exporte cookies desde su navegador usando una extensión como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + B. Copiar las cookies en formato Netscape + c. Cree un archivo llamado `cookies.txt` y pegue las cookies en él + d. Seleccione el archivo `cookies.txt` en la aplicación +- **Soporte de proxy:** Utilice un servidor proxy para descargas, por ejemplo `http://:` +- **Modo genérico:** Permita que YTSage analice y descargue desde sitios que no sean de YouTube compatibles con yt-dlp. Habilítelo desde **Configuración de descarga → Modo genérico**. + +
    + +
    +🛠️ Herramientas y Mantenimiento + +- **Comandos personalizados:** Acceda a funciones avanzadas de yt-dlp a través de argumentos de línea de comando +- **Pestaña Actualizador:** Administre las herramientas de actualización integradas desde un solo lugar en Opciones personalizadas: + - **Actualizaciones de yt-dlp:** Busque actualizaciones y cambie entre los canales de lanzamiento estable y nocturno + - **Comprobador de versiones de FFmpeg:** Verifique su versión de FFmpeg y abra las guías de instalación + - **Actualizaciones de Deno:** Verifique y actualice el tiempo de ejecución de Deno +- **Detección de FFmpeg/yt-dlp/Deno:** Detecta automáticamente las rutas y versiones de FFmpeg, yt-dlp y Deno desde el cuadro de diálogo Acerca de. +- **Historial de descargas:** Vea descargas anteriores con miniaturas y estados desde el botón **Historial**. + +
    + +
    +🌍 Localización + +YTSage admite **14 idiomas** para accesibilidad mundial. Seleccione su idioma preferido en **Opciones personalizadas → Idioma**. + +### Idiomas admitidos + +| Idioma | Código | Idioma | Código | +|----------|------|----------|------| +| 🇺🇸 Inglés | `en` | 🇪🇸 Español | `es` | +| 🇸🇦 Árabe | `ar` | 🇫🇷 Francés | `fr` | +| 🇩🇪 Alemán | `de` | 🇮🇳 hindi | `hi` | +| 🇮🇩 Indonesio | `id` | 🇮🇹 Italiano | `it` | +| 🇯🇵 Japonés | `ja` | 🇵🇱 Polaco | `pl` | +| 🇧🇷 Portugués | `pt` | 🇷🇺 Ruso | `ru` | +| 🇹🇷 Turco | `tr` | 🇨🇳 Chino | `zh` | + +### Léame Traducciones + +| Idioma | Archivo | Idioma | Archivo | +|----------|------|----------|------| +| 🇺🇸 Inglés | [README.md](../README.md) | 🇪🇸 Español | [README.es.md](README.es.md) +| 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francés | [README.fr.md](README.fr.md) | +| 🇩🇪 Alemán | [README.de.md](README.de.md) | 🇮🇳 hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonesio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) | +| 🇯🇵 Japonés | [README.ja.md](README.ja.md) | 🇵🇱 Polaco | [README.pl.md](README.pl.md) | +| 🇧🇷 Portugués | [README.pt.md](README.pt.md) | 🇷🇺 Ruso | [README.ru.md](README.ru.md) | +| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳 Chino | [README.zh.md](README.zh.md) | + +> 💡 **¿Quieres contribuir con una traducción?** ¡Consulta la sección [Contributing](#contributing) para ayudarnos a agregar más idiomas! + +
    + + +## 🛠️ Solución de problemas + +
    +Haga clic para ver problemas y soluciones comunes + +- **La tabla de formato no se muestra:** Actualice yt-dlp a la última versión y cambie a yt-dlp todas las noches. +- **La descarga falla:** Verifique su conexión a Internet y asegúrese de que el video esté disponible. +- **Errores de descarga específicos:** + - **Vídeos privados:** Utilice la autenticación de cookies para acceder a contenido privado. + - **Contenido restringido por edad:** Inicie sesión en su cuenta de YouTube para ver videos restringidos por edad. + - **Videos bloqueados geográficamente:** Considere usar una VPN para evitar las restricciones regionales. + - **Videos eliminados/eliminados:** El video ya no está disponible en YouTube. + - **Transmisiones en vivo:** Las transmisiones en vivo no se pueden descargar; espera a que termine la transmisión. + - **Errores de red:** Verifica tu conexión a Internet y vuelve a intentarlo. + - **URL no válidas:** Asegúrese de que la URL sea correcta y provenga de una plataforma compatible. + - **Contenido premium:** Requiere membresía de YouTube Premium. + - **Bloqueos de derechos de autor:** El contenido está bloqueado debido a restricciones de derechos de autor. +- **Separar archivos de video y audio después de la descarga:** Esto sucede cuando falta FFmpeg o no se detecta. YTSage requiere FFmpeg para fusionar transmisiones de audio y video de alta calidad. + - **Solución:** Asegúrese de que FFmpeg esté instalado y sea accesible en la RUTA de su sistema. Para los usuarios de Windows, la opción más sencilla es descargar el archivo `YTSage-v-ffmpeg.exe`, que viene incluido con FFmpeg. + +--- + +#### 🛡️ Advertencia de Windows Defender/Antivirus + +Algunos programas antivirus pueden marcar los archivos `.exe` como falsos positivos. Esta es una **limitación conocida** de las aplicaciones empaquetadas. + +**Por qué sucede esto:** +- La heurística antivirus puede identificar erróneamente ejecutables empaquetados como sospechosos. + +**Alternativas seguras:** +- ✅ **Usar instalación de pip:** `pip install ytsage` (recomendado) +- ✅ **Construir desde la fuente**: siguiendo esto [guide](../.github/CI_CD_README.md) +- ✅ **Incluye la aplicación en la lista blanca** en tu software antivirus + +#### 🍎 macOS: "La aplicación está dañada y no se puede abrir" +Si ve este error en macOS Sonoma o posterior, debe eliminar el atributo de cuarentena. + +1. **Abrir Terminal** (puedes encontrarlo usando Spotlight). +2. **Escriba el siguiente comando** pero **no** presione Entrar todavía. Asegúrate de incluir el espacio al final: + ```bash + xattr -d com.apple.quarantine + ``` +3. **Arrastre el archivo `YTSage.app`** desde la ventana de su Finder y suéltelo directamente en la ventana de Terminal. Esto pegará automáticamente la ruta del archivo correcta. +4. **Presione Entrar** para ejecutar el comando. +5. **Intenta abrir YTSage.app nuevamente.** Ahora debería iniciarse correctamente. + +--- + +#### **Ubicaciones de configuración (avanzada)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 Patrocinador + +Si YTSage le ahorra tiempo, considere patrocinar el proyecto. El patrocinio ayuda a cubrir el tiempo de desarrollo, las pruebas en todas las plataformas y las mejoras futuras. + +- Patrocinadores de GitHub: https://github.com/sponsors/oop7 +- El enlace del patrocinador también está disponible directamente dentro de la aplicación desde el cuadro de diálogo Acerca de. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Contribuyendo + +¡Agradecemos las contribuciones! Así es como puedes ayudar: + +1. 🍴 Bifurca el repositorio +2. 🌿 Crea tu rama de funciones: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Confirme sus cambios: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Empuje a la sucursal: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Abra una solicitud de extracción + +### 🌍 Contribuyendo con traducciones + +- Actualice el archivo README localizado coincidente (por ejemplo `README.es.md`) +- Mantenga las cadenas de aplicaciones sincronizadas editando `ytsage/languages/.json` +- Si falta su idioma, comience desde `README.md` y cree `README..md` + +
    +📂 Estructura del proyecto + +## YTSage - Estructura del proyecto + +Este documento describe la estructura de carpetas organizada de YTSage. + +### 📁 Estructura del proyecto + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ Historia de las estrellas + +
    + +## Historia de las estrellas + + + + + + Star History Chart + + + +
    + +## 📜 Licencia + +Este proyecto tiene la licencia MIT; consulte el archivo [LICENSE](../LICENSE) para obtener más detalles. + +## 🙏 Agradecimientos + +
    +Mostrar agradecimientos + +
    + +

    Un sincero agradecimiento a todos los que contribuyeron a este proyecto abriendo un problema para sugerir una mejora o informar un error.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Componentes principales
    yt-dlpMotor de descarga
    FFmpegProcesamiento de medios
    DenoTiempo de ejecución para integración con yt-dlp
    Bibliotecas y marcos
    PySide6Marco GUI
    AlmohadaProcesamiento de imágenes
    solicitudesSolicitudes HTTP
    embalajeManejo de versiones y paquetes
    rebajaRepresentación de rebajas
    loguruRegistro
    Activos y contribuyentes
    Nueva Notificación 09 por UniversfieldSonido de notificación
    viru185Colaborador de código
    + +
    + +
    + +## ⚠️ Descargo de responsabilidad + +Esta herramienta es sólo para uso personal. Respete los términos de servicio de YouTube y los derechos de los creadores de contenido. + +--- + +
    + +Hecho con ❤️ por [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md new file mode 100644 index 0000000..9c18b15 --- /dev/null +++ b/readme-translations/README.fr.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Un téléchargeur YouTube moderne avec une interface PySide6 épurée.** +Téléchargez des vidéos dans n'importe quelle qualité, extrayez l'audio, récupérez des sous-titres, et bien plus encore. + +### 🌍 Langues README + +Anglais : [EN](../README.md) +| Titre : [AR](README.ar.md) +| Allemand : [DE](README.de.md) +| Espagnol : [ES](README.es.md) +| Anglais: [FR](README.fr.md) +| Nom : [HI](README.hi.md) +| Bahasa Indonésie : [ID](README.id.md) +| Italien : [IT](README.it.md) +| Nom : [JA](README.ja.md) +| Polski : [PL](README.pl.md) +| Portugais : [PT](README.pt.md) +| Russe : [RU](README.ru.md) +| Turc : [TR](README.tr.md) +| Nom : [ZH](README.zh.md) + +

    + Installation • + Caractéristiques • + Utilisation • + Captures d'écran • + Dépannage • + Commanditaire • + Contribuer +

    + +
    + +--- + + +## ❓Pourquoi YTSage ? + +YTSage est conçu pour les utilisateurs qui souhaitent un **téléchargeur YouTube simple mais puissant**. Contrairement à d’autres outils, il propose : + +- Une interface PySide6 propre et moderne +- Téléchargements en un clic pour la vidéo, l'audio et les sous-titres +- Fonctionnalités avancées telles que SponsorBlock, la fusion de sous-titres et la sélection de listes de lecture +- Mode générique en option pour les sites pris en charge par yt-dlp au-delà de YouTube +- Prise en charge multiplateforme et installation facile + + +## ✨ Caractéristiques + +
    + +| Fonctionnalités principales | Fonctionnalités avancées | Fonctionnalités supplémentaires | +|--------------------------------------------------|-----------------------------------------|--------------------------------------------------| +| 🎥 Formater le tableau | 🚫 Intégration SponsorBlock | 🎞️ Affichage FPS/HDR | +| 🎵 Extraction audio | 📝 Sélection et fusion de sous-titres multiples | 🔄 Mise à jour automatique yt-dlp | +| ✨ Interface utilisateur simple | 💾 Enregistrer la description et la vignette | 🛠️ Détection FFmpeg/yt-dlp/Deno | +| 📋 Prise en charge et sélecteur de playlist | 🚀 Limiteur de vitesse | ⚙️ Commandes personnalisées | +| 📑 Intégrer les chapitres | ✂️ Couper les sections vidéo | 🍪 Connectez-vous avec les cookies | +| 📜 Historique des téléchargements | 🔄 Sélection des chaînes de sortie | 🌐 Assistance proxy | +| 🎚️ Conversion de formats audio | 🎬 Paramètres de format vidéo | 🆙 Onglet de mise à jour intégré | +| 🌍 Mode générique | +| 🌍 Localisation en 14 langues | | +
    + + +## 🚀Installation + +### ⚡ Installation rapide (recommandé) + +Installez YTSage depuis PyPI : + +```bash +pip install ytsage +``` + +
    +🔄 Mettre à jour une installation existante + +```bash +pip install --upgrade ytsage +``` + +
    + +Lancez ensuite l'application : + +```bash +ytsage +``` + +### 📦 Exécutables prédéfinis + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟Fenêtres + +| Formater | Descriptif | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Installateur standard | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Avec FFmpeg fourni | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Version portable, aucune installation requise | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable avec FFmpeg, zippé | + +
    +🛠️ Étapes d'installation + +1. **EXE Installer (`.exe`)** : Double-cliquez sur le fichier et suivez l'assistant d'installation. +2. **Version portable (`.zip`)** : Extrayez l'archive à l'emplacement souhaité et exécutez `ytsage.exe`. +3. **FFmpeg Bundled** : Choisissez les versions groupées de FFmpeg si FFmpeg n'est pas installé sur votre système. +
    + +#### 🐧Linux + +| Formater | Descriptif | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paquet Debian | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portable | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paquet RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Paquet Flatpak | + +
    +🛠️ Étapes d'installation + +- **DEB (`.deb`)** : + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)** : + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **AppImage (`.AppImage`)** : + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak** : suivez les instructions sur Flathub ou exécutez : + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎macOS + +| Formater | Descriptif | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Application zippée pour Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Programme d’installation d’image disque pour Apple Silicon | + +
    +🛠️ Étapes d'installation + +- **DMG Installer (`.dmg`)** : Double-cliquez pour monter, puis faites glisser `YTSage.app` dans votre dossier Applications. +- **App Archive (`.zip`)** : Extrayez le zip et déplacez `YTSage.app` vers votre dossier Applications. + +*Remarque : si vous rencontrez une erreur « L'application est endommagée », consultez le [macOS troubleshooting section](#troubleshooting) ci-dessous.* +
    + +--- + +
    +💻 Installation manuelle à partir de la source + +### 1. Cloner le référentiel + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Installer les dépendances + +#### ⚡Avec uv + +```bash +uv pip install . +``` + +#### 📦 Ou avec pip standard + +```bash +pip install . +``` + +### 3. Exécutez l'application + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Captures d'écran + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    Paramètres de téléchargementTéléchargement de la liste de lecture
    Audio Format Selection with Save ThumbnailCustom Options
    Format audioOptions personnalisées
    +
    +## 📖 Utilisation + +
    +🎯 Utilisation de base + +1. **Lancer YTSage** +2. **Collez l'URL YouTube** (ou utilisez le bouton « Coller l'URL ») +3. **Cliquez sur « Analyser »** +4. **Sélectionnez le format :** + - `Video` pour les téléchargements de vidéos + - `Audio Only` pour l'extraction audio +5. **Choisissez les options :** + - Activer les sous-titres et sélectionner la langue + - Activer la fusion des sous-titres + - Enregistrer la vignette + - Supprimer les segments de sponsors + - Enregistrer la description + - Intégrer des chapitres +6. **Sélectionnez le répertoire de sortie** +7. **Cliquez sur "Télécharger"** + +> 💡 Le répertoire de téléchargement par défaut est le dossier « Téléchargements » de l'utilisateur. + +
    + +
    +📋 Téléchargement de la liste de lecture + +1. **Coller l'URL de la liste de lecture** +2. **Cliquez sur « Analyser »** +3. ** Sélectionnez des vidéos dans le sélecteur de playlist (facultatif, par défaut : toutes) ** +4. **Choisissez le format/qualité souhaité** +5. **Cliquez sur "Télécharger"** + +> 💡 L'application gère automatiquement la file d'attente de téléchargement + +
    + +
    +🌍 Mode générique pour les sites non YouTube + +Utilisez le mode générique lorsque vous souhaitez que YTSage accepte les URL de sites pris en charge par yt-dlp, tels que Dailymotion, CBC Gem, TikTok et autres. + +Comment l'utiliser : + +1. Ouvrez `Download Settings`. +2. Activez `Generic Mode`. +3. Collez une URL de vidéo ou de playlist non YouTube prise en charge. +4. Cliquez sur `Analyze`. +5. Choisissez un format et téléchargez comme d'habitude. + +Remarques : + +- Le mode générique modifie uniquement la validation de l'URL dans YTSage. Le site cible doit toujours être pris en charge par votre version yt-dlp installée. +- Certains sites nécessitent des cookies, une session de connexion, un proxy ou des arguments yt-dlp supplémentaires selon l'extracteur. +- Si un site échoue, mettez d'abord à jour yt-dlp à partir de l'onglet de mise à jour intégré avant de signaler le problème. + +
    + +
    +🧰 Options multimédia et de téléchargement + +- **Options de sous-titres :** Filtrez les langues et intégrez des sous-titres dans le fichier vidéo +- **Fusion des sous-titres :** Fusionnez les sous-titres dans le fichier vidéo pour les sous-titres codés en dur +- **Enregistrer la description :** Enregistrez la description de la vidéo sous forme de fichier texte +- **Enregistrer la vignette :** Enregistrez la vignette de la vidéo en tant que fichier image +- **Intégrer les chapitres :** Intégrer des marqueurs de chapitre en tant que métadonnées pour les lecteurs vidéo compatibles +- **Supprimer les segments de sponsor :** Supprimez les segments de sponsor de la vidéo à l'aide de SponsorBlock +- **Découper la vidéo :** Téléchargez uniquement des parties spécifiques d'une vidéo en spécifiant des plages de temps au format `HH:MM:SS` + +
    + +
    +⚙️ Paramètres de sortie et de fichier + +- **Speed Limiter :** Limitez la vitesse de téléchargement, par exemple `500K` à 500 Ko/s +- **Enregistrer le chemin de téléchargement :** Enregistrez le chemin de téléchargement par défaut pour les prochains téléchargements. Disponible dans **Paramètres de téléchargement → Chemin de téléchargement**. +- **Format du nom de fichier de sortie :** Personnalisez le format du nom de fichier de sortie à l'aide de variables telles que `%(title)s`, `%(uploader)s` et `%(resolution)s`. Disponible dans **Paramètres de téléchargement → Format du nom de fichier**. +- **Forcer le format de sortie :** Forcer les téléchargements de vidéos dans un format de conteneur spécifique tel que `mp4`, `webm` ou `mkv`. Disponible dans **Paramètres de téléchargement → Paramètres du format de sortie**. +- **Conversion de format audio :** Convertissez les téléchargements audio uniquement vers les formats préférés tels que `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, ou `Best`. Disponible dans **Paramètres de téléchargement → Paramètres de format audio**. + +
    + +
    +🌐 Accès et réseau + +- **Connexion avec des cookies :** Connectez-vous à YouTube en utilisant des cookies pour accéder au contenu privé. + Comment l'utiliser : + 1. **Recommandé :** Utilisez l'option intégrée `Extract cookies from browser` dans l'application, puis sélectionnez votre navigateur et éventuellement un profil. + 2. Vous pouvez également extraire les cookies manuellement : + une. Exportez les cookies de votre navigateur en utilisant une extension comme [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Copiez les cookies au format Netscape + c. Créez un fichier nommé `cookies.txt` et collez-y les cookies + d. Sélectionnez le fichier `cookies.txt` dans l'application +- **Prise en charge du proxy :** Utilisez un serveur proxy pour les téléchargements, par exemple `http://:` +- **Mode générique :** Autorisez YTSage à analyser et à télécharger à partir de sites non YouTube pris en charge par yt-dlp. Activez-le depuis **Paramètres de téléchargement → Mode générique**. + +
    + +
    +🛠️ Outils et entretien + +- **Commandes personnalisées :** Accédez aux fonctionnalités avancées de yt-dlp via des arguments de ligne de commande +- **Onglet Mise à jour :** Gérez les outils de mise à jour intégrés à partir d'un seul endroit dans les options personnalisées : + - **Mises à jour yt-dlp :** Vérifiez les mises à jour et basculez entre les versions stables et nocturnes + - **FFmpeg Version Checker :** Vérifiez votre version de FFmpeg et ouvrez les guides d'installation + - **Mises à jour Deno :** Vérifiez et mettez à jour le runtime Deno +- **Détection FFmpeg/yt-dlp/Deno :** Détecte automatiquement les chemins et versions FFmpeg, yt-dlp et Deno à partir de la boîte de dialogue À propos. +- **Historique des téléchargements :** affichez les téléchargements passés avec des vignettes et des statuts à partir du bouton **Historique**. + +
    + +
    +🌍 Localisation + +YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélectionnez votre langue préférée dans **Options personnalisées → Langue**. + +### Langues prises en charge + +| Langue | Codes | Langue | Codes | +|--------------|------|--------------|------| +| 🇺🇸 Anglais | `en` | Espagnol | `es` | +| 🇸🇦 Arabe | `ar` | 🇫🇷 Français | `fr` | +| 🇩🇪 Allemand | `de` | 🇮🇳 Hindi | `hi` | +| 🇮🇩 Indonésien | `id` | 🇮🇹 Italien | `it` | +| 🇯🇵 Japonais | `ja` | 🇵🇱 Polonais | `pl` | +| 🇧🇷 Portugais | `pt` | 🇷🇺 Russe | `ru` | +| 🇹🇷 Turc | `tr` | 🇨🇳 Chinois | `zh` | + +### Traductions README + +| Langue | Fichier | Langue | Fichier | +|--------------|------|--------------|------| +| 🇺🇸 Anglais | [README.md](../README.md) | Espagnol | [README.es.md](README.es.md) +| 🇸🇦 Arabe | [README.ar.md](README.ar.md) | 🇫🇷 Français | [README.fr.md](README.fr.md) | +| 🇩🇪 Allemand | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonésien | [README.id.md](README.id.md) | 🇮🇹 Italien | [README.it.md](README.it.md) | +| 🇯🇵 Japonais | [README.ja.md](README.ja.md) | 🇵🇱 Polonais | [README.pl.md](README.pl.md) | +| 🇧🇷 Portugais | [README.pt.md](README.pt.md) | 🇷🇺 Russe | [README.ru.md](README.ru.md) | +| 🇹🇷 Turc | [README.tr.md](README.tr.md) | 🇨🇳 Chinois | [README.zh.md](README.zh.md) | + +> 💡 **Vous voulez contribuer à une traduction ?** Consultez la section [Contributing](#contributing) pour nous aider à ajouter plus de langues ! + +
    + + +## 🛠️ Dépannage + +
    +Cliquez pour afficher les problèmes courants et les solutions + +- **Le tableau de format ne s'affiche pas :** Mettez à jour yt-dlp vers la dernière version et passez à yt-dlp tous les soirs. +- **Échec du téléchargement :** Vérifiez votre connexion Internet et assurez-vous que la vidéo est disponible. +- **Erreurs de téléchargement spécifiques :** + - **Vidéos privées :** Utilisez l'authentification par cookie pour accéder au contenu privé. + - **Contenu soumis à une limite d'âge :** Connectez-vous à votre compte YouTube pour visionner des vidéos soumises à une limite d'âge. + - **Vidéos géo-bloquées :** Pensez à utiliser un VPN pour contourner les restrictions régionales. + - **Vidéos supprimées/supprimées :** La vidéo n'est plus disponible sur YouTube. + - **Diffusions en direct :** Les diffusions en direct ne peuvent pas être téléchargées ; attendez la fin du flux. + - **Erreurs réseau :** Vérifiez votre connexion Internet et réessayez. + - **URL invalides :** Assurez-vous que l'URL est correcte et qu'elle provient d'une plate-forme prise en charge. + - **Contenu Premium :** Nécessite un abonnement YouTube Premium. + - **Blocs de droits d'auteur :** Le contenu est bloqué en raison de restrictions de droits d'auteur. +- **Séparez les fichiers vidéo et audio après le téléchargement :** Cela se produit lorsque FFmpeg est manquant ou n'est pas détecté. YTSage nécessite FFmpeg pour fusionner des flux vidéo et audio de haute qualité. + - **Solution :** Assurez-vous que FFmpeg est installé et accessible dans le PATH de votre système. Pour les utilisateurs Windows, l'option la plus simple consiste à télécharger le fichier `YTSage-v-ffmpeg.exe`, fourni avec FFmpeg. + +--- + +#### 🛡️ Avertissement Windows Defender / Antivirus + +Certains logiciels antivirus peuvent signaler les fichiers `.exe` comme de faux positifs. Il s'agit d'une **limitation connue** des applications packagées. + +**Pourquoi cela se produit :** +- L'heuristique antivirus peut identifier à tort les exécutables compressés comme suspects + +**Alternatives sûres :** +- ✅ **Utiliser l'installation pip :** `pip install ytsage` (recommandé) +- ✅ **Construire à partir des sources** : en suivant ceci [guide](../.github/CI_CD_README.md) +- ✅ **Liste blanche de l'application** dans votre logiciel antivirus + +#### 🍎 macOS : "L'application est endommagée et ne peut pas être ouverte" +Si vous voyez cette erreur sur macOS Sonoma ou version ultérieure, vous devez supprimer l'attribut de quarantaine. + +1. **Ouvrez le terminal** (vous pouvez le trouver en utilisant Spotlight). +2. **Tapez la commande suivante** mais **n'appuyez pas** encore sur Entrée. Assurez-vous d'inclure l'espace à la fin : + ```bash + xattr -d com.apple.quarantine + ``` +3. **Faites glisser le fichier `YTSage.app`** depuis votre fenêtre du Finder et déposez-le directement dans la fenêtre du Terminal. Cela collera automatiquement le chemin de fichier correct. +4. **Appuyez sur Entrée** pour exécuter la commande. +5. **Essayez d'ouvrir à nouveau YTSage.app.** Il devrait maintenant se lancer correctement. + +--- + +#### **Emplacements de configuration (avancé)** +- **Windows :** `%LOCALAPPDATA%\YTSage` +- **macOS :** `~/Library/Application Support/YTSage` +- **Linux :** `~/.local/share/YTSage` + +
    + + +## 💖 Parrainer + +Si YTSage vous fait gagner du temps, envisagez de parrainer le projet. Le parrainage permet de couvrir le temps de développement, les tests sur toutes les plateformes et les améliorations futures. + +- Commanditaires GitHub : https://github.com/sponsors/oop7 +- Le lien du sponsor est également disponible directement dans l'application à partir de la boîte de dialogue À propos. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Contribuer + +Nous apprécions les contributions ! Voici comment vous pouvez aider : + +1. 🍴 Forkez le référentiel +2. 🌿 Créez votre branche de fonctionnalités : + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Validez vos modifications : + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Push vers l'agence : + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Ouvrir une Pull Request + +### 🌍 Contribuer aux traductions + +- Mettez à jour le fichier README localisé correspondant (par exemple `README.es.md`) +- Gardez les chaînes de l'application synchronisées en éditant `ytsage/languages/.json` +- Si votre langue est manquante, partez de `README.md` et créez `README..md` + +
    +📂 Structure du projet + +## YTSage – Structure du projet + +Ce document décrit la structure des dossiers organisés de YTSage. + +### 📁 Structure du projet + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ Histoire des étoiles + +
    + +## Historique des étoiles + + + + + + Star History Chart + + + +
    + +## 📜 Licence + +Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus de détails. + +## 🙏 Remerciements + +
    +Afficher les remerciements + +
    + +

    Un merci sincère à tous ceux qui ont contribué à ce projet en ouvrant un ticket pour suggérer une amélioration ou signaler un bug.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Composants de base
    yt-dlpMoteur de téléchargement
    FFmpegTraitement multimédia
    DénoRuntime pour l'intégration avec yt-dlp
    Bibliothèques et frameworks
    PySide6Cadre GUI
    OreillerTraitement d'images
    demandesDemandes HTTP
    emballageVersion et gestion des packages
    markdownRendu Markdown
    loguruJournalisation
    Actifs et contributeurs
    Nouvelle notification 09 par UniversfieldSon de notification
    viru185Contributeur de code
    + +
    + +
    + +## ⚠️ Avis de non-responsabilité + +Cet outil est destiné à un usage personnel uniquement. Veuillez respecter les conditions d'utilisation de YouTube et les droits des créateurs de contenu. + +--- + +
    + +Réalisé avec ❤️ par [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md new file mode 100644 index 0000000..17987d4 --- /dev/null +++ b/readme-translations/README.hi.md @@ -0,0 +1,616 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**स्वच्छ PySide6 इंटरफ़ेस वाला एक आधुनिक YouTube डाउनलोडर।** +किसी भी गुणवत्ता में वीडियो डाउनलोड करें, ऑडियो निकालें, उपशीर्षक प्राप्त करें और बहुत कुछ करें। + +### 🌍 रीडमी भाषाएँ + +अंग्रेज़ी: [EN](../README.md) +| उत्तर: [AR](README.ar.md) +| जर्मन: [DE](README.de.md) +| Español: [ES](README.es.md) +| फ़्रेंच: [FR](README.fr.md) +| हिन्दी: [HI](README.hi.md) +| बहासा इंडोनेशिया: [ID](README.id.md) +| इटालियनो: [IT](README.it.md) +| उत्तर: [JA](README.ja.md) +| पोल्स्की: [PL](README.pl.md) +| पुर्तगाली: [PT](README.pt.md) +| Русский: [RU](README.ru.md) +| तुर्की: [TR](README.tr.md) +| उत्तर: [ZH](README.zh.md) + +

    + स्थापना • + विशेषताएं • + उपयोग • + स्क्रीनशॉट • + समस्या निवारण • + प्रायोजक • + योगदान +

    + +
    + +--- + + +## ❓ YTSage क्यों? + +YTSage उन उपयोगकर्ताओं के लिए डिज़ाइन किया गया है जो **सरल लेकिन शक्तिशाली YouTube डाउनलोडर** चाहते हैं। अन्य उपकरणों के विपरीत, यह प्रदान करता है: + +- एक साफ़, आधुनिक PySide6 इंटरफ़ेस +- वीडियो, ऑडियो और उपशीर्षक के लिए एक-क्लिक डाउनलोड +- स्पॉन्सरब्लॉक, उपशीर्षक विलय और प्लेलिस्ट चयन जैसी उन्नत सुविधाएँ +- YouTube से परे yt-dlp-समर्थित साइटों के लिए वैकल्पिक जेनेरिक मोड +- क्रॉस-प्लेटफ़ॉर्म समर्थन और आसान स्थापना + + +## ✨ विशेषताएँ + +
    + +| मुख्य विशेषताएं | उन्नत सुविधाएँ | अतिरिक्त सुविधाएँ | +|------------------------------------------------|------------------------------------------------|------------------------------------------------| +| 🎥 प्रारूप तालिका | 🚫प्रायोजकब्लॉक एकीकरण | 🎞️ एफपीएस/एचडीआर डिस्प्ले | +| 🎵 ऑडियो निष्कर्षण | 📝 बहु-उपशीर्षक चुनें और मर्ज करें | 🔄 ऑटो-अपडेट yt-dlp | +| ✨ सरल यूआई | 💾 विवरण और थंबनेल सहेजें | 🛠️ FFmpeg/yt-dlp/Deno डिटेक्शन | +| 📋 प्लेलिस्ट समर्थन और चयनकर्ता | 🚀 गति सीमक | ⚙️ कस्टम कमांड | +| 📑 अध्याय एम्बेड करें | ✂️ वीडियो अनुभाग ट्रिम करें | 🍪 कुकीज़ के साथ लॉगिन करें | +| 📜इतिहास डाउनलोड करें | 🔄रिलीज़ चैनल चयन | 🌐 प्रॉक्सी सपोर्ट | +| 🎚️ ऑडियो प्रारूप रूपांतरण | 🎬 वीडियो प्रारूप सेटिंग्स | 🆙 बिल्ट-इन अपडेटर टैब | +| 🌍 जेनेरिक मोड | +| 🌍14 भाषाओं में स्थानीयकरण | | +
    + + +## 🚀 स्थापना + +### ⚡ त्वरित इंस्टाल (अनुशंसित) + +PyPI से YTSage इंस्टॉल करें: + +```bash +pip install ytsage +``` + +
    +🔄मौजूदा इंस्टॉलेशन को अपडेट करें + +```bash +pip install --upgrade ytsage +``` + +
    + +फिर ऐप लॉन्च करें: + +```bash +ytsage +``` + +### 📦 पूर्व-निर्मित निष्पादनयोग्य + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 खिड़कियाँ + +| प्रारूप | विवरण | +|-------|----| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | मानक इंस्टॉलर | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg बंडल के साथ | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | पोर्टेबल संस्करण, किसी इंस्टॉलेशन की आवश्यकता नहीं | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg के साथ पोर्टेबल, ज़िपित | + +
    +🛠️ इंस्टालेशन चरण + +1. **EXE इंस्टॉलर (`.exe`)**: फ़ाइल पर डबल-क्लिक करें और सेटअप विज़ार्ड का पालन करें। +2. **पोर्टेबल संस्करण (`.zip`)**: संग्रह को अपने इच्छित स्थान पर निकालें और `ytsage.exe` चलाएँ। +3. **एफएफएमपीईजी बंडल**: यदि आपके सिस्टम पर एफएफएमपीईजी स्थापित नहीं है तो एफएफएमपीईजी बंडल संस्करण चुनें। +
    + +#### 🐧 लिनक्स + +| प्रारूप | विवरण | +|-------|----| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | डेबियन पैकेज | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | ऐपइमेज, पोर्टेबल | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | आरपीएम पैकेज | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | फ़्लैटपैक बंडल | + +
    +🛠️ इंस्टालेशन चरण + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **आरपीएम (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **ऐपइमेज (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **फ्लैटपैक**: फ़्लैटहब पर निर्देशों का पालन करें या चलाएँ: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 मैकओएस + +| प्रारूप | विवरण | +|-------|----| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | एप्पल सिलिकॉन के लिए ज़िप्ड एप्लिकेशन | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | एप्पल सिलिकॉन के लिए डिस्क छवि इंस्टॉलर | + +
    +🛠️ इंस्टालेशन चरण + +- **डीएमजी इंस्टॉलर (`.dmg`)**: माउंट करने के लिए डबल-क्लिक करें, फिर `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में खींचें। +- **ऐप आर्काइव (`.zip`)**: ज़िप निकालें और `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में ले जाएं। + +*ध्यान दें: यदि आपको "ऐप क्षतिग्रस्त है" त्रुटि आती है, तो नीचे [macOS troubleshooting section](#troubleshooting) देखें।* +
    + +--- + +
    +💻 स्रोत से मैन्युअल इंस्टालेशन + +### 1. रिपॉजिटरी को क्लोन करें + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. निर्भरताएँ स्थापित करें + +#### ⚡ यूवी के साथ + +```bash +uv pip install . +``` + +#### 📦 या मानक पाइप के साथ + +```bash +pip install . +``` + +### 3. एप्लिकेशन चलाएँ + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 स्क्रीनशॉट + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    डाउनलोड सेटिंग्सप्लेलिस्ट डाउनलोड
    Audio Format Selection with Save ThumbnailCustom Options
    ऑडियो फॉर्मेटकस्टम विकल्प
    +
    +## 📖 प्रयोग + +
    +🎯 मूल उपयोग + +1. **YTSage लॉन्च करें** +2. **यूट्यूब यूआरएल चिपकाएँ** (या "यूआरएल चिपकाएँ" बटन का उपयोग करें) +3. **"विश्लेषण करें" पर क्लिक करें** +4. **प्रारूप चुनें:** + - वीडियो डाउनलोड के लिए `Video` + - ऑडियो निष्कर्षण के लिए `Audio Only` +5. **विकल्प चुनें:** + - उपशीर्षक सक्षम करें और भाषा चुनें + - उपशीर्षक मर्ज सक्षम करें + - थंबनेल सहेजें + - प्रायोजक खंड हटाएँ + - विवरण सहेजें + - अध्याय एम्बेड करें +6. **आउटपुट डायरेक्टरी चुनें** +7. **"डाउनलोड" पर क्लिक करें** + +> 💡 डिफ़ॉल्ट डाउनलोड निर्देशिका उपयोगकर्ता का "डाउनलोड" फ़ोल्डर है। + +
    + +
    +📋 प्लेलिस्ट डाउनलोड + +1. **प्लेलिस्ट यूआरएल चिपकाएँ** +2. **"विश्लेषण करें" पर क्लिक करें** +3. **प्लेलिस्ट चयनकर्ता से वीडियो चुनें (वैकल्पिक, सभी के लिए डिफ़ॉल्ट)** +4. **वांछित प्रारूप/गुणवत्ता चुनें** +5. **"डाउनलोड" पर क्लिक करें** + +> 💡 एप्लिकेशन स्वचालित रूप से डाउनलोड कतार को संभालता है + +
    + +
    +🌍 गैर-यूट्यूब साइटों के लिए जेनेरिक मोड + +जब आप चाहते हैं कि YTSage, yt-dlp द्वारा समर्थित साइटों, जैसे कि डेलीमोशन, CBC जेम, टिकटॉक और अन्य से यूआरएल स्वीकार करे, तो जेनेरिक मोड का उपयोग करें। + +इसका उपयोग कैसे करें: + +1. `Download Settings` खोलें। +2. `Generic Mode` सक्षम करें। +3. एक समर्थित गैर-यूट्यूब वीडियो या प्लेलिस्ट यूआरएल चिपकाएँ। +4. `Analyze` पर क्लिक करें। +5. एक प्रारूप चुनें और हमेशा की तरह डाउनलोड करें। + +टिप्पणियाँ: + +- जेनेरिक मोड केवल YTSage के अंदर URL सत्यापन को बदलता है। लक्ष्य साइट को अभी भी आपके स्थापित yt-dlp संस्करण द्वारा समर्थित होना चाहिए। +- कुछ साइटों को एक्सट्रैक्टर के आधार पर कुकीज़, एक लॉगिन सत्र, एक प्रॉक्सी, या अतिरिक्त yt-dlp तर्क की आवश्यकता होती है। +- यदि कोई साइट विफल हो जाती है, तो समस्या की रिपोर्ट करने से पहले अंतर्निहित अपडेटर टैब से yt-dlp को अपडेट करें। + +
    + +
    +🧰मीडिया और डाउनलोड विकल्प + +- **उपशीर्षक विकल्प:** भाषाओं को फ़िल्टर करें और वीडियो फ़ाइल में उपशीर्षक एम्बेड करें +- **उपशीर्षक मर्ज:** हार्डकोडेड उपशीर्षक के लिए उपशीर्षक को वीडियो फ़ाइल में मर्ज करें +- **विवरण सहेजें:** वीडियो विवरण को टेक्स्ट फ़ाइल के रूप में सहेजें +- **थंबनेल सहेजें:** वीडियो थंबनेल को एक छवि फ़ाइल के रूप में सहेजें +- **अध्याय एम्बेड करें:**संगत वीडियो प्लेयर के लिए मेटाडेटा के रूप में अध्याय मार्कर एम्बेड करें +- **प्रायोजक खंड हटाएं:** SponsorBlock का उपयोग करके वीडियो से प्रायोजक खंड हटाएं +- **वीडियो ट्रिम करें:** `HH:MM:SS` प्रारूप में समय सीमा निर्दिष्ट करके वीडियो के केवल विशिष्ट भागों को डाउनलोड करें + +
    + +
    +⚙️ आउटपुट और फ़ाइल सेटिंग्स + +- **स्पीड लिमिटर:** डाउनलोड स्पीड सीमित करें, उदाहरण के लिए `500K` 500 KB/s के लिए +- **डाउनलोड पथ सहेजें:** भविष्य के डाउनलोड के लिए डिफ़ॉल्ट डाउनलोड पथ सहेजें। **डाउनलोड सेटिंग → डाउनलोड पथ** में उपलब्ध है। +- **आउटपुट फ़ाइल नाम प्रारूप:** `%(title)s`, `%(uploader)s`, और `%(resolution)s` जैसे वेरिएबल का उपयोग करके आउटपुट फ़ाइल नाम प्रारूप को अनुकूलित करें। **डाउनलोड सेटिंग्स → फ़ाइल नाम प्रारूप** में उपलब्ध है।- **फोर्स आउटपुट फॉर्मेट:** वीडियो डाउनलोड को एक विशिष्ट कंटेनर फॉर्मेट जैसे `mp4`, `webm`, या `mkv` में फोर्स करें। **डाउनलोड सेटिंग्स → आउटपुट फॉर्मेट सेटिंग्स** में उपलब्ध है। +- **ऑडियो प्रारूप रूपांतरण:** केवल-ऑडियो डाउनलोड को पसंदीदा प्रारूपों में परिवर्तित करें जैसे `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, या `Best`. **डाउनलोड सेटिंग्स → ऑडियो फॉर्मेट सेटिंग्स** में उपलब्ध है। + +
    + +
    +🌐 पहुंच और नेटवर्क + +- **कुकीज़ के साथ लॉगिन करें:** निजी सामग्री तक पहुंचने के लिए कुकीज़ का उपयोग करके यूट्यूब पर लॉगिन करें। + इसका उपयोग कैसे करें: + 1. **अनुशंसित:** ऐप में अंतर्निहित `Extract cookies from browser` विकल्प का उपयोग करें, फिर अपना ब्राउज़र और वैकल्पिक रूप से एक प्रोफ़ाइल चुनें। + 2. वैकल्पिक रूप से, कुकीज़ को मैन्युअल रूप से निकालें: + ए. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) जैसे एक्सटेंशन का उपयोग करके अपने ब्राउज़र से कुकीज़ निर्यात करें + बी. कुकीज़ को नेटस्केप प्रारूप में कॉपी करें + सी. `cookies.txt` नाम की एक फ़ाइल बनाएं और उसमें कुकीज़ पेस्ट करें + घ. ऐप में `cookies.txt` फ़ाइल चुनें +- **प्रॉक्सी समर्थन:** डाउनलोड के लिए प्रॉक्सी सर्वर का उपयोग करें, उदाहरण के लिए `http://:` +- **जेनेरिक मोड:** YTSage को yt-dlp द्वारा समर्थित गैर-यूट्यूब साइटों से विश्लेषण और डाउनलोड करने की अनुमति दें। इसे **डाउनलोड सेटिंग्स → जेनेरिक मोड** से सक्षम करें। + +
    + +
    +🛠️ उपकरण और रखरखाव + +- **कस्टम कमांड:** कमांड लाइन तर्कों के माध्यम से उन्नत yt-dlp सुविधाओं तक पहुंचें +- **अपडेटर टैब:** कस्टम विकल्पों में एक ही स्थान से अंतर्निहित अपडेट टूल प्रबंधित करें: + - **yt-dlp अपडेट:** अपडेट की जांच करें और स्थिर और रात्रिकालीन रिलीज़ चैनलों के बीच स्विच करें + - **एफएफएमपीईजी संस्करण जांचकर्ता:** अपना एफएफएमपीईजी संस्करण जांचें और इंस्टॉलेशन गाइड खोलें + - **डेनो अपडेट:** डेनो रनटाइम की जांच करें और अपडेट करें +- **FFmpeg/yt-dlp/Deno डिटेक्शन:** अबाउट डायलॉग से FFmpeg, yt-dlp, और Deno पथ और संस्करणों का स्वचालित रूप से पता लगाएं। +- **डाउनलोड इतिहास:** **इतिहास** बटन से थंबनेल और स्थितियों के साथ पिछले डाउनलोड देखें। + +
    + +
    +🌍 स्थानीयकरण + +YTSage दुनिया भर में पहुंच के लिए **14 भाषाओं** का समर्थन करता है। **कस्टम विकल्प → भाषा** से अपनी पसंदीदा भाषा चुनें। + +### समर्थित भाषाएँ + +| भाषा | कोड | भाषा | कोड | +|-------|------|-------|------| +| 🇺🇸 अंग्रेजी | `en` | 🇪🇸स्पेनिश | `es` | +| 🇸🇦 अरबी | `ar` | 🇫🇷 फ्रेंच | `fr` | +| 🇩🇪 जर्मन | `de` | 🇮🇳 हिंदी | `hi` | +| 🇮🇩 इंडोनेशियाई | `id` | 🇮🇹इतालवी | `it` | +| 🇯🇵 जापानी | `ja` | 🇵🇱 पोलिश | `pl` | +| 🇧🇷 पुर्तगाली | `pt` | 🇷🇺 रूसी | `ru` | +| 🇹🇷तुर्की | `tr` | 🇨🇳 चीनी | `zh` | + +### README अनुवाद + +| भाषा | फ़ाइल | भाषा | फ़ाइल | +|-------|------|-------|------| +| 🇺🇸 अंग्रेजी | [README.md](../README.md) | 🇪🇸स्पेनिश | [README.es.md](README.es.md) +| 🇸🇦 अरबी | [README.ar.md](README.ar.md) | 🇫🇷 फ्रेंच | [README.fr.md](README.fr.md) | +| 🇩🇪 जर्मन | [README.de.md](README.de.md) | 🇮🇳 हिंदी | [README.hi.md](README.hi.md) | +| 🇮🇩 इंडोनेशियाई | [README.id.md](README.id.md) | 🇮🇹इतालवी | [README.it.md](README.it.md) | +| 🇯🇵 जापानी | [README.ja.md](README.ja.md) | 🇵🇱 पोलिश | [README.pl.md](README.pl.md) | +| 🇧🇷 पुर्तगाली | [README.pt.md](README.pt.md) | 🇷🇺 रूसी | [README.ru.md](README.ru.md) | +| 🇹🇷तुर्की | [README.tr.md](README.tr.md) | 🇨🇳 चीनी | [README.zh.md](README.zh.md) | + +> 💡 **अनुवाद में योगदान देना चाहते हैं?** अधिक भाषाएँ जोड़ने में हमारी सहायता के लिए [Contributing](#contributing) अनुभाग देखें! + +
    + + +## 🛠️समस्या निवारण + +
    +सामान्य समस्याएं और समाधान देखने के लिए क्लिक करें + +- **प्रारूप तालिका प्रदर्शित नहीं हो रही है:** yt-dlp को नवीनतम संस्करण में अपडेट करें, और रात में yt-dlp पर स्विच करें। +- **डाउनलोड विफल:** अपना इंटरनेट कनेक्शन जांचें और सुनिश्चित करें कि वीडियो उपलब्ध है। +- **विशिष्ट डाउनलोड त्रुटियाँ:** + - **निजी वीडियो:** निजी सामग्री तक पहुंचने के लिए कुकी प्रमाणीकरण का उपयोग करें। + - **आयु-प्रतिबंधित सामग्री:** आयु-प्रतिबंधित वीडियो देखने के लिए YouTube खाते में लॉगिन करें। + - **जियो-अवरुद्ध वीडियो:** क्षेत्रीय प्रतिबंधों को बायपास करने के लिए वीपीएन का उपयोग करने पर विचार करें। + - **हटाए गए/हटाए गए वीडियो:** वीडियो अब YouTube पर उपलब्ध नहीं है। + - **लाइव स्ट्रीम:** लाइव स्ट्रीम डाउनलोड नहीं की जा सकतीं; स्ट्रीम समाप्त होने की प्रतीक्षा करें. + - **नेटवर्क त्रुटियां:** अपना इंटरनेट कनेक्शन जांचें और पुनः प्रयास करें। + - **अमान्य यूआरएल:** सुनिश्चित करें कि यूआरएल सही है और समर्थित प्लेटफॉर्म से है। + - **प्रीमियम सामग्री:** YouTube प्रीमियम सदस्यता की आवश्यकता है। + - **कॉपीराइट ब्लॉक:** कॉपीराइट प्रतिबंधों के कारण सामग्री अवरुद्ध है। +- **डाउनलोड के बाद वीडियो और ऑडियो फ़ाइलों को अलग करें:** ऐसा तब होता है जब FFmpeg गायब है या पता नहीं चला है। उच्च गुणवत्ता वाले वीडियो और ऑडियो स्ट्रीम को मर्ज करने के लिए YTSage को FFmpeg की आवश्यकता होती है। + - **समाधान:** सुनिश्चित करें कि FFmpeg आपके सिस्टम के PATH में स्थापित और पहुंच योग्य है। विंडोज़ उपयोगकर्ताओं के लिए, सबसे आसान विकल्प `YTSage-v-ffmpeg.exe` फ़ाइल डाउनलोड करना है, जो FFmpeg के साथ बंडल में आती है। + +--- + +#### 🛡️ विंडोज डिफेंडर / एंटीवायरस चेतावनी + +कुछ एंटीवायरस सॉफ़्टवेयर `.exe` फ़ाइलों को गलत सकारात्मक के रूप में चिह्नित कर सकते हैं। यह पैकेज्ड एप्लिकेशन की **ज्ञात सीमा** है। + +**ऐसा क्यों होता है:** +- एंटीवायरस अनुमान पैक किए गए निष्पादन योग्य को संदिग्ध के रूप में गलत पहचान सकता है + +**सुरक्षित विकल्प:** +- ✅ **पाइप इंस्टॉलेशन का उपयोग करें:** `pip install ytsage` (अनुशंसित) +- ✅ **स्रोत से निर्माण**: इसका पालन करके [guide](../.github/CI_CD_README.md) +- ✅ **एप्लिकेशन को अपने एंटीवायरस सॉफ़्टवेयर में श्वेतसूची में डालें** + +#### 🍎 macOS: "ऐप क्षतिग्रस्त है और खोला नहीं जा सकता" +यदि आपको यह त्रुटि macOS सोनोमा या नए पर दिखाई देती है, तो आपको संगरोध विशेषता को हटाना होगा। + +1. **टर्मिनल खोलें** (आप इसे स्पॉटलाइट का उपयोग करके पा सकते हैं)। +2. **निम्न आदेश टाइप करें** लेकिन **अभी तक Enter न दबाएँ। अंत में स्थान शामिल करना सुनिश्चित करें: + ```bash + xattr -d com.apple.quarantine + ``` +3. ** `YTSage.app` फ़ाइल** को अपनी फाइंडर विंडो से खींचें और इसे सीधे टर्मिनल विंडो में छोड़ें। इससे स्वचालित रूप से सही फ़ाइल पथ पेस्ट हो जाएगा. +4. कमांड चलाने के लिए **एंटर** दबाएं। +5. **YTSage.app को दोबारा खोलने का प्रयास करें।** इसे अब सही ढंग से लॉन्च होना चाहिए। + +--- + +#### **कॉन्फ़िगरेशन स्थान (उन्नत)** +- **विंडोज़:** `%LOCALAPPDATA%\YTSage` +- **मैकओएस:** `~/Library/Application Support/YTSage` +- **लिनक्स:** `~/.local/share/YTSage` + +
    + + +## 💖 प्रायोजक + +यदि YTSage आपका समय बचाता है, तो परियोजना को प्रायोजित करने पर विचार करें। प्रायोजन विकास के समय, सभी प्लेटफार्मों पर परीक्षण और भविष्य में सुधारों को कवर करने में मदद करता है। + +- GitHub प्रायोजक: https://github.com/sponsors/oop7 +- प्रायोजक लिंक सीधे ऐप के अंदर अबाउट डायलॉग से भी उपलब्ध है। + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 योगदान दे रहे हैं + +हम योगदान का स्वागत करते हैं! यहां बताया गया है कि आप कैसे मदद कर सकते हैं: + +1. 🍴 रिपॉजिटरी को फोर्क करें +2. 🌿 अपनी फीचर शाखा बनाएं: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 अपने परिवर्तन प्रतिबद्ध करें: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 शाखा को धक्का: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 एक पुल अनुरोध खोलें + +### 🌍 अनुवाद में योगदान + +- मिलान वाली स्थानीयकृत README फ़ाइल को अपडेट करें (उदाहरण के लिए `README.es.md`) +- `ytsage/languages/.json` को संपादित करके ऐप स्ट्रिंग्स को सिंक में रखें +- यदि आपकी भाषा गायब है, तो `README.md` से शुरू करें और `README..md` बनाएं + +
    +📂 परियोजना संरचना + +## YTSage - परियोजना संरचना + +यह दस्तावेज़ YTSage की संगठित फ़ोल्डर संरचना का वर्णन करता है। + +### 📁परियोजना संरचना + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ सितारा इतिहास + +
    + +## सितारा इतिहास + + + + + + Star History Chart + + + +
    + +## 📜 लाइसेंस + +यह प्रोजेक्ट एमआईटी लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए [LICENSE](../LICENSE) फ़ाइल देखें। + +## 🙏 आभार + +
    + आभार दिखाएं + +
    + +

    सुधार का सुझाव देने या बग की रिपोर्ट करने के लिए एक मुद्दा खोलकर इस परियोजना में योगदान देने वाले सभी लोगों को हार्दिक धन्यवाद।

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    मुख्य घटक
    yt-dlpडाउनलोड इंजन
    FFmpegमीडिया प्रोसेसिंग
    Denoyt-dlp के साथ एकीकरण के लिए रनटाइम
    लाइब्रेरी और फ्रेमवर्क
    PySide6GUI फ्रेमवर्क
    तकियाइमेज प्रोसेसिंग
    अनुरोधHTTP अनुरोध
    पैकेजिंगसंस्करण और पैकेज हैंडलिंग
    मार्कडाउनमार्कडाउन रेंडरिंग
    loguruलॉगिंग
    संपत्ति और योगदानकर्ता
    यूनिवर्सफील्ड द्वारा नई अधिसूचना 09अधिसूचना ध्वनि
    viru185कोड योगदानकर्ता
    + +
    + +
    + +## ⚠️ अस्वीकरण + +यह उपकरण केवल व्यक्तिगत उपयोग के लिए है. कृपया YouTube की सेवा की शर्तों और सामग्री निर्माताओं के अधिकारों का सम्मान करें। + +--- + +
    + +❤️ के साथ [oop7](https://github.com/oop7) द्वारा बनाया गया + +
    diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md new file mode 100644 index 0000000..9e087df --- /dev/null +++ b/readme-translations/README.id.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Pengunduh YouTube modern dengan antarmuka PySide6 yang bersih.** +Unduh video dalam kualitas apa pun, ekstrak audio, ambil subtitle, dan banyak lagi. + +### 🌍 README Bahasa + +Bahasa Inggris: [EN](../README.md) +| Nilai: [AR](README.ar.md) +| Jerman: [DE](README.de.md) +| Spanyol: [ES](README.es.md) +| Perancis: [FR](README.fr.md) +| nilai: [HI](README.hi.md) +| Bahasa Indonesia: [ID](README.id.md) +| Italia: [IT](README.it.md) +| Nilai: [JA](README.ja.md) +| Polski: [PL](README.pl.md) +| Portugis: [PT](README.pt.md) +| Jawaban: [RU](README.ru.md) +| Turki: [TR](README.tr.md) +| nama: [ZH](README.zh.md) + +

    + Instalasi • + Fitur • + Penggunaan • + Tangkapan Layar • + Pemecahan Masalah • + Sponsor • + Berkontribusi +

    + +
    + +--- + + +## ❓ Mengapa YTSage? + +YTSage dirancang untuk pengguna yang menginginkan **pengunduh YouTube yang sederhana namun kuat**. Tidak seperti alat lainnya, alat ini menawarkan: + +- Antarmuka PySide6 yang bersih dan modern +- Unduhan sekali klik untuk video, audio, dan subtitle +- Fitur lanjutan seperti SponsorBlock, penggabungan subtitle, dan pemilihan playlist +- Mode Generik Opsional untuk situs yang didukung yt-dlp di luar YouTube +- Dukungan lintas platform dan instalasi mudah + + +## ✨ Fitur + +
    + +| Fitur Inti | Fitur Lanjutan | Fitur Ekstra | +|----------------------------------||-----------------------------------------|------------------------------------| +| 🎥 Format Tabel | 🚫 Integrasi Blok Sponsor | 🎞️ Tampilan FPS/HDR | +| 🎵 Ekstraksi Audio | 📝 Pilih & Gabungkan Multi-Subjudul | 🔄 Perbarui Otomatis yt-dlp | +| ✨ UI Sederhana | 💾 Simpan Deskripsi & Gambar Kecil | 🛠️ Deteksi FFmpeg/yt-dlp/Deno | +| 📋 Dukungan & Pemilih Daftar Putar | 🚀 Pembatas Kecepatan | ⚙️ Perintah Khusus | +| 📑 Sematkan Bab | ✂️ Pangkas Bagian Video | 🍪 Masuk dengan Cookie | +| 📜 Unduh Riwayat | 🔄 Rilis Pilihan Saluran | 🌐 Dukungan Proksi | +| 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Bawaan | +| 🌍 Mode Generik | +| 🌍 Lokalisasi dalam 14 Bahasa | | +
    + + +## 🚀 Instalasi + +### ⚡ Instal Cepat (Disarankan) + +Instal YTSage dari PyPI: + +```bash +pip install ytsage +``` + +
    +🔄 Perbarui instalasi yang ada + +```bash +pip install --upgrade ytsage +``` + +
    + +Kemudian luncurkan aplikasi: + +```bash +ytsage +``` + +### 📦 Executable yang sudah dibuat sebelumnya + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Jendela + +| Format | Deskripsi | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Pemasang standar | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Dengan FFmpeg dibundel | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versi portabel, tidak perlu instalasi | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portabel dengan FFmpeg, zip | + +
    +🛠️ Langkah Instalasi + +1. **EXE Installer (`.exe`)**: Klik dua kali file tersebut dan ikuti panduan pengaturan. +2. **Versi Portabel (`.zip`)**: Ekstrak arsip ke lokasi yang Anda inginkan dan jalankan `ytsage.exe`. +3. **FFmpeg Bundled**: Pilih versi paket FFmpeg jika Anda belum menginstal FFmpeg di sistem Anda. +
    + +#### 🐧 Linux + +| Format | Deskripsi | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paket Debian | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portabel | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paket RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Paket Flatpak | + +
    +🛠️ Langkah Instalasi + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **Gambar Aplikasi (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: Ikuti instruksi di Flathub atau jalankan: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 macOS + +| Format | Deskripsi | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplikasi zip untuk Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Penginstal gambar disk untuk Apple Silicon | + +
    +🛠️ Langkah Instalasi + +- **Pemasang DMG (`.dmg`)**: Klik dua kali untuk memasang, lalu seret `YTSage.app` ke dalam folder Aplikasi Anda. +- **Arsip Aplikasi (`.zip`)**: Ekstrak zip dan pindahkan `YTSage.app` ke folder Aplikasi Anda. + +*Catatan: Jika Anda mengalami kesalahan "Aplikasi rusak", lihat [macOS troubleshooting section](#troubleshooting) di bawah.* +
    + +--- + +
    +💻 Instalasi Manual dari Sumber + +### 1. Kloning Repositori + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Instal Dependensi + +#### ⚡ Dengan UV + +```bash +uv pip install . +``` + +#### 📦 Atau dengan pip standar + +```bash +pip install . +``` + +### 3. Jalankan Aplikasi + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Tangkapan layar + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    Pengaturan UnduhanUnduh Daftar Putar
    Audio Format Selection with Save ThumbnailCustom Options
    Format AudioOpsi Khusus
    +
    +## 📖 Penggunaan + +
    +🎯 Penggunaan Dasar + +1. **Luncurkan YTSage** +2. **Tempel URL YouTube** (atau gunakan tombol "Tempel URL") +3. **Klik "Analisis"** +4. **Pilih Format:** + - `Video` untuk mengunduh video + - `Audio Only` untuk ekstraksi audio +5. **Pilih Opsi:** + - Aktifkan subtitle & pilih bahasa + - Aktifkan penggabungan subtitle + - Simpan gambar kecil + - Hapus segmen sponsor + - Simpan deskripsi + - Sematkan bab +6. **Pilih Direktori Keluaran** +7. **Klik "Unduh"** + +> 💡 Direktori unduhan default adalah folder "Unduhan" milik pengguna. + +
    + +
    +📋 Unduh Daftar Putar + +1. **Tempel URL Daftar Putar** +2. **Klik "Analisis"** +3. **Pilih video dari pemilih daftar putar (opsional, default untuk semua)** +4. **Pilih format/kualitas yang diinginkan** +5. **Klik "Unduh"** + +> 💡 Aplikasi secara otomatis menangani antrian unduhan + +
    + +
    +🌍 Mode Generik untuk situs non-YouTube + +Gunakan Mode Generik bila Anda ingin YTSage menerima URL dari situs yang didukung oleh yt-dlp, seperti Dailymotion, CBC Gem, TikTok, dan lainnya. + +Cara menggunakannya: + +1. Buka `Download Settings`. +2. Aktifkan `Generic Mode`. +3. Tempelkan URL video atau playlist non-YouTube yang didukung. +4. Klik `Analyze`. +5. Pilih format dan unduh seperti biasa. + +Catatan: + +- Mode Generik hanya mengubah validasi URL di dalam YTSage. Situs target harus tetap didukung oleh versi yt-dlp yang Anda instal. +- Beberapa situs memerlukan cookie, sesi login, proxy, atau argumen yt-dlp tambahan tergantung pada ekstraktornya. +- Jika situs gagal, perbarui yt-dlp terlebih dahulu dari tab pembaru bawaan sebelum melaporkan masalah tersebut. + +
    + +
    +🧰 Opsi Media dan Unduhan + +- **Opsi Subtitle:** Filter bahasa dan sematkan subtitle ke dalam file video +- **Penggabungan Subtitle:** Menggabungkan subtitle ke dalam file video untuk subtitle hardcode +- **Simpan Deskripsi:** Simpan deskripsi video sebagai file teks +- **Simpan Gambar Kecil:** Menyimpan gambar kecil video sebagai file gambar +- **Sematkan Bab:** Sematkan penanda bab sebagai metadata untuk pemutar video yang kompatibel +- **Hapus Segmen Sponsor:** Hapus segmen sponsor dari video menggunakan SponsorBlock +- **Pangkas Video:** Unduh hanya bagian tertentu dari video dengan menentukan rentang waktu dalam format `HH:MM:SS` + +
    + +
    +⚙️ Pengaturan Output dan File + +- **Pembatas Kecepatan:** Batasi kecepatan unduh, misalnya `500K` sebesar 500 KB/dtk +- **Simpan Jalur Unduhan:** Simpan jalur unduhan default untuk unduhan berikutnya. Tersedia di **Pengaturan Unduhan → Jalur Unduhan**. +- **Format Nama File Keluaran:** Sesuaikan format nama file keluaran menggunakan variabel seperti `%(title)s`, `%(uploader)s`, dan `%(resolution)s`. Tersedia di **Pengaturan Unduhan → Format Nama File**. +- **Format Output Paksa:** Paksa pengunduhan video ke dalam format wadah tertentu seperti `mp4`, `webm`, atau `mkv`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Output**. +- **Konversi Format Audio:** Konversi unduhan audio saja ke format pilihan seperti `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, atau `Best`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Audio**. + +
    + +
    +🌐 Akses dan Jaringan + +- **Masuk dengan Cookie:** Masuk ke YouTube menggunakan cookie untuk mengakses konten pribadi. + Cara menggunakannya: + 1. **Disarankan:** Gunakan opsi `Extract cookies from browser` bawaan di aplikasi, lalu pilih browser Anda dan opsional profil. + 2. Alternatifnya, ekstrak cookie secara manual: + sebuah. Ekspor cookie dari browser Anda menggunakan ekstensi seperti [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Salin cookie dalam format Netscape + c. Buat file bernama `cookies.txt` dan tempel cookie ke dalamnya + d. Pilih file `cookies.txt` di aplikasi +- **Dukungan Proxy:** Gunakan server proxy untuk mendownload, misalnya `http://:` +- **Mode Generik:** Izinkan YTSage menganalisis dan mengunduh dari situs non-YouTube yang didukung oleh yt-dlp. Aktifkan dari **Pengaturan Unduhan → Mode Generik**. + +
    + +
    +🛠️ Alat dan Perawatan + +- **Perintah Khusus:** Akses fitur yt-dlp tingkat lanjut melalui argumen baris perintah +- **Tab Pembaruan:** Kelola alat pembaruan bawaan dari satu tempat di Opsi Kustom: + - **Pembaruan yt-dlp:** Periksa pembaruan dan beralih antara saluran rilis Stabil dan Malam + - **Pemeriksa Versi FFmpeg:** Periksa versi FFmpeg Anda dan buka panduan instalasi + - **Pembaruan Deno:** Periksa dan perbarui runtime Deno +- **Deteksi FFmpeg/yt-dlp/Deno:** Secara otomatis mendeteksi jalur dan versi FFmpeg, yt-dlp, dan Deno dari dialog Tentang. +- **Riwayat Unduhan:** Lihat unduhan sebelumnya dengan thumbnail dan status dari tombol **Riwayat**. + +
    + +
    +🌍 Lokalisasi + +YTSage mendukung **14 bahasa** untuk aksesibilitas di seluruh dunia. Pilih bahasa pilihan Anda dari **Opsi Kustom → Bahasa**. + +### Bahasa yang Didukung + +| Bahasa | Kode | Bahasa | Kode | +|----------|------|----------|------| +| 🇮🇩 Bahasa Inggris | `en` | 🇪🇪 Spanyol | `es` | +| Arab Saudi | `ar` | 🇫🇷 Perancis | `fr` | +| 🇩🇪 Jerman | `de` | 🇮🇩 Hindi | `hi` | +| 🇮🇩 Bahasa Indonesia | `id` | 🇮🇹 Italia | `it` | +| 🇯ppa Jepang | `ja` | 🇱 Polandia | `pl` | +| 🇧🇷 Portugis | `pt` | 🇷л Rusia | `ru` | +| 🇹🇷 Turki | `tr` | CNY Cina | `zh` | + +### README Terjemahan + +| Bahasa | Berkas | Bahasa | Berkas | +|----------|------|----------|------| +| 🇮🇩 Bahasa Inggris | [README.md](../README.md) | 🇪🇪 Spanyol | [README.es.md](README.es.md) +| Arab Saudi | [README.ar.md](README.ar.md) | 🇫🇷 Perancis | [README.fr.md](README.fr.md) | +| 🇩🇪 Jerman | [README.de.md](README.de.md) | 🇮🇩 Hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Bahasa Indonesia | [README.id.md](README.id.md) | 🇮🇹 Italia | [README.it.md](README.it.md) | +| 🇯ppa Jepang | [README.ja.md](README.ja.md) | 🇱 Polandia | [README.pl.md](README.pl.md) | +| 🇧🇷 Portugis | [README.pt.md](README.pt.md) | 🇷л Rusia | [README.ru.md](README.ru.md) | +| 🇹🇷 Turki | [README.tr.md](README.tr.md) | CNY Cina | [README.zh.md](README.zh.md) | + +> 💡 **Ingin berkontribusi terjemahan?** Lihat bagian [Contributing](#contributing) untuk membantu kami menambahkan lebih banyak bahasa! + +
    + + +## 🛠️ Pemecahan masalah + +
    +Klik untuk melihat masalah umum dan solusinya + +- **Format tabel tidak ditampilkan:** Perbarui yt-dlp ke versi terbaru, dan beralih ke yt-dlp setiap malam. +- **Pengunduhan gagal:** Periksa koneksi internet Anda dan pastikan video tersedia. +- **Kesalahan pengunduhan tertentu:** + - **Video pribadi:** Gunakan autentikasi cookie untuk mengakses konten pribadi. + - **Konten dengan batasan usia:** Masuk ke akun YouTube untuk melihat video dengan batasan usia. + - **Video yang diblokir secara geografis:** Pertimbangkan untuk menggunakan VPN untuk melewati batasan regional. + - **Video yang dihapus/dihapus:** Video tidak lagi tersedia di YouTube. + - **Streaming langsung:** Streaming langsung tidak dapat diunduh; tunggu hingga streaming berakhir. + - **Kesalahan jaringan:** Periksa koneksi internet Anda dan coba lagi. + - **URL tidak valid:** Pastikan URL benar dan berasal dari platform yang didukung. + - **Konten premium:** Memerlukan keanggotaan YouTube Premium. + - **Pemblokiran hak cipta:** Konten diblokir karena pembatasan hak cipta. +- **Pisahkan file video dan audio setelah diunduh:** Ini terjadi jika FFmpeg hilang atau tidak terdeteksi. YTSage memerlukan FFmpeg untuk menggabungkan aliran video dan audio berkualitas tinggi. + - **Solusi:** Pastikan FFmpeg diinstal dan dapat diakses di PATH sistem Anda. Untuk pengguna Windows, opsi termudah adalah mengunduh file `YTSage-v-ffmpeg.exe`, yang disertakan dengan FFmpeg. + +--- + +#### 🛡️ Peringatan Windows Defender / Antivirus + +Beberapa perangkat lunak antivirus mungkin menandai file `.exe` sebagai positif palsu. Ini adalah **batasan umum** pada aplikasi paket. + +**Mengapa ini terjadi:** +- Heuristik antivirus dapat salah mengidentifikasi executable yang dikemas sebagai sesuatu yang mencurigakan + +**Alternatif yang aman:** +- ✅ **Gunakan instalasi pip:** `pip install ytsage` (disarankan) +- ✅ **Bangun dari sumber**: dengan mengikuti [guide](../.github/CI_CD_README.md) ini +- ✅ **Masukkan aplikasi ke daftar putih** di perangkat lunak antivirus Anda + +#### 🍎 macOS: "Aplikasi rusak dan tidak dapat dibuka" +Jika Anda melihat kesalahan ini di macOS Sonoma atau lebih baru, Anda harus menghapus atribut karantina. + +1. **Buka Terminal** (Anda dapat menemukannya menggunakan Spotlight). +2. **Ketik perintah berikut** tetapi **jangan** tekan Enter dulu. Pastikan untuk menyertakan spasi di akhir: + ```bash + xattr -d com.apple.quarantine + ``` +3. **Seret file `YTSage.app`** dari jendela Finder Anda dan letakkan langsung ke jendela Terminal. Ini secara otomatis akan menempelkan jalur file yang benar. +4. **Tekan Enter** untuk menjalankan perintah. +5. **Coba buka YTSage.app lagi.** Sekarang seharusnya sudah diluncurkan dengan benar. + +--- + +#### **Lokasi Konfigurasi (Lanjutan)** +- **Jendela:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 Sponsor + +Jika YTSage menghemat waktu Anda, pertimbangkan untuk mensponsori proyek tersebut. Sponsor membantu menutupi waktu pengembangan, pengujian lintas platform, dan peningkatan di masa depan. + +- Sponsor GitHub: https://github.com/sponsors/oop7 +- Tautan sponsor juga tersedia langsung di dalam aplikasi dari dialog Tentang. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Berkontribusi + +Kami menyambut kontribusi! Inilah cara Anda dapat membantu: + +1. 🍴 Cabangkan repositori +2. 🌿 Buat cabang fitur Anda: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Komit perubahan Anda: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Dorong ke cabang: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Buka Permintaan Tarik + +### 🌍 Berkontribusi pada Terjemahan + +- Perbarui file README lokal yang cocok (misalnya `README.es.md`) +- Jaga agar string aplikasi tetap sinkron dengan mengedit `ytsage/languages/.json` +- Jika bahasa Anda hilang, mulai dari `README.md` dan buat `README..md` + +
    +📂 Struktur Proyek + +## YTSage - Struktur Proyek + +Dokumen ini menjelaskan struktur folder YTSage yang terorganisir. + +### 📁 Struktur Proyek + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ Sejarah Bintang + +
    + +## Sejarah Bintang + + + + + + Star History Chart + + + +
    + +## 📜 Lisensi + +Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE) untuk detailnya. + +## 🙏 Ucapan Terima Kasih + +
    +Tampilkan Ucapan Terima Kasih + +
    + +

    Terima kasih yang sebesar-besarnya kepada semua orang yang telah berkontribusi pada proyek ini dengan membuka terbitan untuk menyarankan perbaikan atau melaporkan bug.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Komponen Inti
    yt-dlpMesin Unduh
    FFmpegPemrosesan Media
    DenoWaktu proses untuk integrasi dengan yt-dlp
    Perpustakaan & Kerangka Kerja
    PySide6Kerangka GUI
    BantalPemrosesan Gambar
    permintaanPermintaan HTTP
    kemasanPenanganan Versi & Paket
    penurunan hargaRender Penurunan Harga
    logguruPencatatan
    Aset & Kontributor
    Pemberitahuan Baru 09 oleh UniversfieldSuara Notifikasi
    virus185Kontributor Kode
    + +
    + +
    + +## ⚠️ Penafian + +Alat ini hanya untuk penggunaan pribadi. Harap hormati persyaratan layanan YouTube dan hak pembuat konten. + +--- + +
    + +Dibuat dengan ❤️ oleh [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.it.md b/readme-translations/README.it.md new file mode 100644 index 0000000..38e39c3 --- /dev/null +++ b/readme-translations/README.it.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Un moderno downloader da YouTube con un'interfaccia PySide6 pulita.** +Scarica video di qualsiasi qualità, estrai audio, recupera sottotitoli e altro ancora. + +### 🌍 README Lingue + +Inglese: [EN](../README.md) +| Indirizzo: [AR](README.ar.md) +| Tedesco: [DE](README.de.md) +| Español: [ES](README.es.md) +| Francese: [FR](README.fr.md) +| Nome: [HI](README.hi.md) +| Bahasa Indonesia: [ID](README.id.md) +| Italiano: [IT](README.it.md) +| 日本語: [JA](README.ja.md) +| Polacco: [PL](README.pl.md) +| Portoghese: [PT](README.pt.md) +| Russo: [RU](README.ru.md) +| Turchia: [TR](README.tr.md) +| Nome: [ZH](README.zh.md) + +

    + Installazione • + Caratteristiche • + Utilizzo • + Screenshot • + Risoluzione dei problemi • + Sponsor • + Contribuendo +

    + +
    + +--- + + +## ❓Perché YTSage? + +YTSage è progettato per gli utenti che desiderano un **downloader YouTube semplice ma potente**. A differenza di altri strumenti, offre: + +- Un'interfaccia PySide6 pulita e moderna +- Download con un clic per video, audio e sottotitoli +- Funzionalità avanzate come SponsorBlock, fusione dei sottotitoli e selezione della playlist +- Modalità generica opzionale per i siti supportati da yt-dlp oltre YouTube +- Supporto multipiattaforma e facilità di installazione + + +## ✨Caratteristiche + +
    + +| Caratteristiche principali | Funzionalità avanzate | Funzionalità extra | +|------------------------------------|----------------------------------------------|------------------------------------| +| 🎥 Tabella dei formati | 🚫Integrazione SponsorBlock | 🎞️ Visualizzazione FPS/HDR | +| 🎵Estrazione audio | 📝 Seleziona e unisci più sottotitoli | 🔄 Aggiornamento automatico yt-dlp | +| ✨Interfaccia utente semplice | 💾 Salva descrizione e miniatura | 🛠️ Rilevamento FFmpeg/yt-dlp/Deno | +| 📋 Supporto e selettore playlist | 🚀Limitatore di velocità | ⚙️ Comandi personalizzati | +| 📑 Incorpora capitoli | ✂️ Taglia le sezioni video | 🍪 Accedi con i cookie | +| 📜 Scarica Cronologia | 🔄 Rilascio Selezione canale | 🌐Supporto proxy | +| 🎚️ Conversione del formato audio | 🎬 Impostazioni formato video | 🆙 Scheda Aggiornamento integrata | +| 🌍 Modalità generica | +| 🌍 Localizzazione in 14 lingue | | +
    + + +## 🚀 Installazione + +### ⚡ Installazione rapida (consigliata) + +Installa YTSage da PyPI: + +```bash +pip install ytsage +``` + +
    +🔄 Aggiorna un'installazione esistente + +```bash +pip install --upgrade ytsage +``` + +
    + +Quindi avvia l'app: + +```bash +ytsage +``` + +### 📦 Eseguibili predefiniti + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Finestre + +| Formato | Descrizione | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Programma di installazione standard | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Con FFmpeg in bundle | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versione portatile, nessuna installazione richiesta | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portatile con FFmpeg, zippato | + +
    +🛠️ Passaggi di installazione + +1. **Programma di installazione EXE (`.exe`)**: fare doppio clic sul file e seguire la procedura guidata di installazione. +2. **Versione portatile (`.zip`)**: estrai l'archivio nella posizione desiderata ed esegui `ytsage.exe`. +3. **FFmpeg in bundle**: scegli le versioni in bundle di FFmpeg se non hai FFmpeg installato sul tuo sistema. +
    + +#### 🐧Linux + +| Formato | Descrizione | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pacchetto Debian | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portatile | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pacchetto RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Pacchetto Flatpack | + +
    +🛠️ Passaggi di installazione + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **Giri/min (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **AppImage (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: segui le istruzioni su Flathub o esegui: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 macOS + +| Formato | Descrizione | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Applicazione zippata per Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Programma di installazione dell'immagine disco per Apple Silicon | + +
    +🛠️ Passaggi di installazione + +- **DMG Installer (`.dmg`)**: fai doppio clic per montare, quindi trascina `YTSage.app` nella cartella Applicazioni. +- **Archivio app (`.zip`)**: estrai il file zip e sposta `YTSage.app` nella cartella Applicazioni. + +*Nota: se riscontri l'errore "L'app è danneggiata", consulta [macOS troubleshooting section](#troubleshooting) di seguito.* +
    + +--- + +
    +💻 Installazione manuale dalla fonte + +### 1. Clonare il repository + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Installa le dipendenze + +#### ⚡ Con uv + +```bash +uv pip install . +``` + +#### 📦 Oppure con pip standard + +```bash +pip install . +``` + +### 3. Eseguire l'applicazione + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Schermate + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    Scarica impostazioniScarica playlist
    Audio Format Selection with Save ThumbnailCustom Options
    Formato audioOpzioni personalizzate
    +
    +## 📖 Utilizzo + +
    +🎯 Utilizzo di base + +1. **Avvia YTSage** +2. **Incolla l'URL di YouTube** (o utilizza il pulsante "Incolla URL") +3. **Fai clic su "Analizza"** +4. **Seleziona formato:** + - `Video` per i download di video + - `Audio Only` per l'estrazione audio +5. **Scegli le opzioni:** + - Abilita i sottotitoli e seleziona la lingua + - Abilita l'unione dei sottotitoli + - Salva miniatura + - Rimuovere i segmenti dello sponsor + - Salva descrizione + - Incorpora capitoli +6. **Seleziona directory di output** +7. **Fai clic su "Scarica"** + +> 💡 La directory di download predefinita è la cartella "Download" dell'utente. + +
    + +
    +📋 Download della playlist + +1. **Incolla l'URL della playlist** +2. **Fai clic su "Analizza"** +3. **Seleziona i video dal selettore della playlist (facoltativo, l'impostazione predefinita è tutti)** +4. **Scegli il formato/la qualità desiderata** +5. **Fai clic su "Scarica"** + +> 💡 L'applicazione gestisce automaticamente la coda di download + +
    + +
    +🌍 Modalità generica per siti non YouTube + +Utilizza la modalità generica quando desideri che YTSage accetti URL da siti supportati da yt-dlp, come Dailymotion, CBC Gem, TikTok e altri. + +Come usarlo: + +1. Apri `Download Settings`. +2. Abilita `Generic Mode`. +3. Incolla un video o un URL di playlist non YouTube supportato. +4. Fare clic su `Analyze`. +5. Scegli un formato e scarica come al solito. + +Note: + +- La modalità generica modifica solo la convalida dell'URL all'interno di YTSage. Il sito di destinazione deve essere ancora supportato dalla versione yt-dlp installata. +- Alcuni siti richiedono cookie, una sessione di accesso, un proxy o argomenti yt-dlp aggiuntivi a seconda dell'estrattore. +- Se un sito non funziona, aggiorna prima yt-dlp dalla scheda di aggiornamento integrata prima di segnalare il problema. + +
    + +
    +🧰 Opzioni multimediali e di download + +- **Opzioni sottotitoli:** Filtra le lingue e incorpora i sottotitoli nel file video +- **Unione sottotitoli:** unisci i sottotitoli nel file video per i sottotitoli hardcoded +- **Salva descrizione:** salva la descrizione del video come file di testo +- **Salva miniatura:** salva la miniatura del video come file immagine +- **Incorpora capitoli:** incorpora indicatori di capitolo come metadati per lettori video compatibili +- **Rimuovi segmenti di sponsor:** rimuovi i segmenti di sponsor dal video utilizzando SponsorBlock +- **Taglia video:** scarica solo parti specifiche di un video specificando gli intervalli di tempo nel formato `HH:MM:SS` + +
    + +
    +⚙️ Impostazioni file e output + +- **Limitatore di velocità:** Limita la velocità di download, ad esempio `500K` per 500 KB/s +- **Salva percorso di download:** salva il percorso di download predefinito per download futuri. Disponibile in **Impostazioni di download → Percorso di download**. +- **Formato nome file di output:** Personalizza il formato del nome file di output utilizzando variabili come `%(title)s`, `%(uploader)s` e `%(resolution)s`. Disponibile in **Impostazioni download → Formato nome file**. +- **Forza formato output:** forza i download dei video in un formato contenitore specifico come `mp4`, `webm` o `mkv`. Disponibile in **Impostazioni download → Impostazioni formato output**. +- **Conversione del formato audio:** Converti i download solo audio nei formati preferiti come `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, o `Best`. Disponibile in **Impostazioni download → Impostazioni formato audio**. + +
    + +
    +🌐 Accesso e Rete + +- **Accedi con i cookie:** Accedi a YouTube utilizzando i cookie per accedere ai contenuti privati. + Come usarlo: + 1. **Consigliato:** utilizza l'opzione `Extract cookies from browser` integrata nell'app, quindi seleziona il browser e, facoltativamente, un profilo. + 2. In alternativa, estrarre manualmente i cookie: + un. Esporta i cookie dal tuo browser utilizzando un'estensione come [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Copia i cookie in formato Netscape + c. Crea un file denominato `cookies.txt` e incollaci i cookie + d. Seleziona il file `cookies.txt` nell'app +- **Supporto proxy:** utilizza un server proxy per i download, ad esempio `http://:` +- **Modalità generica:** consente a YTSage di analizzare e scaricare da siti non YouTube supportati da yt-dlp. Abilitalo da **Impostazioni download → Modalità generica**. + +
    + +
    +🛠️ Attrezzi e Manutenzione + +- **Comandi personalizzati:** accedi alle funzionalità avanzate di yt-dlp tramite argomenti della riga di comando +- **Scheda Aggiornamento:** gestisci gli strumenti di aggiornamento integrati da un'unica posizione in Opzioni personalizzate: + - **Aggiornamenti yt-dlp:** controlla gli aggiornamenti e passa tra i canali di rilascio stabile e notturno + - **Controllo versione FFmpeg:** controlla la tua versione di FFmpeg e apri le guide di installazione + - **Aggiornamenti Deno:** controlla e aggiorna il runtime Deno +- **Rilevamento FFmpeg/yt-dlp/Deno:** rileva automaticamente i percorsi e le versioni di FFmpeg, yt-dlp e Deno dalla finestra di dialogo Informazioni. +- **Cronologia download:** visualizza i download precedenti con miniature e stati dal pulsante **Cronologia**. + +
    + +
    +🌍 Localizzazione + +YTSage supporta **14 lingue** per l'accessibilità in tutto il mondo. Seleziona la tua lingua preferita da **Opzioni personalizzate → Lingua**. + +### Lingue supportate + +| Lingua | Codice | Lingua | Codice | +|----------|------|----------|------| +| 🇺🇸 Inglese | `en` | 🇪🇸Spagnolo | `es` | +| 🇸🇦 Arabo | `ar` | 🇫🇷 Francese | `fr` | +| 🇩🇪 Tedesco | `de` | 🇮🇳 Hindi | `hi` | +| 🇮🇩 Indonesiano | `id` | 🇮🇹Italiano | `it` | +| 🇯🇵Giapponese | `ja` | 🇵🇱 Polacco | `pl` | +| 🇧🇷 Portoghese | `pt` | 🇷🇺 Russo | `ru` | +| 🇹🇷 Turco | `tr` | 🇨🇳Cinese | `zh` | + +### Traduzioni README + +| Lingua | File | Lingua | File | +|----------|------|----------|------| +| 🇺🇸 Inglese | [README.md](../README.md) | 🇪🇸Spagnolo | [README.es.md](README.es.md) +| 🇸🇦 Arabo | [README.ar.md](README.ar.md) | 🇫🇷 Francese | [README.fr.md](README.fr.md) | +| 🇩🇪 Tedesco | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonesiano | [README.id.md](README.id.md) | 🇮🇹Italiano | [README.it.md](README.it.md) | +| 🇯🇵Giapponese | [README.ja.md](README.ja.md) | 🇵🇱 Polacco | [README.pl.md](README.pl.md) | +| 🇧🇷 Portoghese | [README.pt.md](README.pt.md) | 🇷🇺 Russo | [README.ru.md](README.ru.md) | +| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳Cinese | [README.zh.md](README.zh.md) | + +> 💡 **Vuoi contribuire con una traduzione?** Dai un'occhiata alla sezione [Contributing](#contributing) per aiutarci ad aggiungere altre lingue! + +
    + + +## 🛠️ Risoluzione dei problemi + +
    +Fai clic per visualizzare problemi e soluzioni comuni + +- **La tabella di formato non viene visualizzata:** Aggiorna yt-dlp alla versione più recente e passa a yt-dlp ogni notte. +- **Download non riuscito:** controlla la tua connessione Internet e assicurati che il video sia disponibile. +- **Errori di download specifici:** + - **Video privati:** utilizza l'autenticazione tramite cookie per accedere ai contenuti privati. + - **Contenuti soggetti a limiti di età:** accedi all'account YouTube per visualizzare video soggetti a limiti di età. + - **Video geo-bloccati:** valuta la possibilità di utilizzare una VPN per aggirare le restrizioni regionali. + - **Video rimossi/eliminati:** il video non è più disponibile su YouTube. + - **Streaming live:** Gli streaming live non possono essere scaricati; attendere la fine dello streaming. + - **Errori di rete:** controlla la connessione Internet e riprova. + - **URL non validi:** assicurati che l'URL sia corretto e provenga da una piattaforma supportata. + - **Contenuti premium:** richiede l'abbonamento a YouTube Premium. + - **Blocchi dovuti al copyright:** Il contenuto è bloccato a causa di restrizioni sul copyright. +- **Separare i file video e audio dopo il download:** Ciò accade quando FFmpeg manca o non viene rilevato. YTSage richiede FFmpeg per unire flussi video e audio di alta qualità. + - **Soluzione:** assicurati che FFmpeg sia installato e accessibile nel PATH del tuo sistema. Per gli utenti Windows, l'opzione più semplice è scaricare il file `YTSage-v-ffmpeg.exe`, fornito in bundle con FFmpeg. + +--- + +#### 🛡️ Avviso Windows Defender/Antivirus + +Alcuni software antivirus potrebbero contrassegnare i file `.exe` come falsi positivi. Questa è una **limitazione nota** delle applicazioni in pacchetto. + +**Perché ciò accade:** +- L'euristica dell'antivirus può identificare erroneamente gli eseguibili compressi come sospetti + +**Alternative sicure:** +- ✅ **Utilizza installazione pip:** `pip install ytsage` (consigliato) +- ✅ **Crea dal codice sorgente**: seguendo questo [guide](../.github/CI_CD_README.md) +- ✅ **Autorizza l'applicazione** nel tuo software antivirus + +#### 🍎 macOS: "L'app è danneggiata e non può essere aperta" +Se visualizzi questo errore su macOS Sonoma o versioni successive, devi rimuovere l'attributo quarantena. + +1. **Apri Terminale** (puoi trovarlo utilizzando Spotlight). +2. **Digita il seguente comando** ma **non** premere ancora Invio. Assicurati di includere lo spazio alla fine: + ```bash + xattr -d com.apple.quarantine + ``` +3. **Trascina il file `YTSage.app`** dalla finestra del Finder e rilascialo direttamente nella finestra Terminale. Questo incollerà automaticamente il percorso file corretto. +4. **Premere Invio** per eseguire il comando. +5. **Prova ad aprire nuovamente YTSage.app.** Ora dovrebbe avviarsi correttamente. + +--- + +#### **Posizioni di configurazione (avanzate)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 Sponsor + +Se YTSage ti fa risparmiare tempo, valuta la possibilità di sponsorizzare il progetto. La sponsorizzazione aiuta a coprire i tempi di sviluppo, i test su tutte le piattaforme e i miglioramenti futuri. + +- Sponsor GitHub: https://github.com/sponsors/oop7 +- Il collegamento allo sponsor è disponibile anche direttamente all'interno dell'app dalla finestra di dialogo Informazioni. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Contribuire + +Diamo il benvenuto ai contributi! Ecco come puoi aiutare: + +1. 🍴 Effettua il fork del repository +2. 🌿 Crea il tuo ramo di funzionalità: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Applica le tue modifiche: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Spingere verso il ramo: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Apri una richiesta di pull + +### 🌍 Contribuire alle traduzioni + +- Aggiorna il file README localizzato corrispondente (ad esempio `README.es.md`) +- Mantieni sincronizzate le stringhe dell'app modificando `ytsage/languages/.json` +- Se manca la tua lingua, inizia da `README.md` e crea `README..md` + +
    +📂 Struttura del progetto + +## YTSage - Struttura del progetto + +Questo documento descrive la struttura di cartelle organizzata di YTSage. + +### 📁 Struttura del progetto + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ Storia delle stelle + +
    + +## Storia delle stelle + + + + + + Star History Chart + + + +
    + +## 📜 Licenza + +Questo progetto è concesso in licenza con la licenza MIT: per i dettagli vedere il file [LICENSE](../LICENSE). + +## 🙏Ringraziamenti + +
    +Mostra Ringraziamenti + +
    + +

    Un sentito ringraziamento a tutti coloro che hanno contribuito a questo progetto aprendo un issue per suggerire un miglioramento o segnalare un bug.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Componenti principali
    yt-dlpScarica motore
    FFmpegElaborazione multimediale
    DenoRuntime per integrazione con yt-dlp
    Librerie e framework
    PySide6Framework GUI
    CuscinoElaborazione immagini
    richiesteRichieste HTTP
    imballaggioGestione versioni e pacchetti
    ribassoRendering riduzione
    loguruRegistrazione
    Risorse e contributori
    Nuova notifica 09 di UniversfieldSuono di notifica
    viru185Codice Contributore
    + +
    + +
    + +## ⚠️ Disclaimer + +Questo strumento è solo per uso personale. Rispetta i termini di servizio di YouTube e i diritti dei creatori di contenuti. + +--- + +
    + +Realizzato con ❤️ da [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md new file mode 100644 index 0000000..28b1540 --- /dev/null +++ b/readme-translations/README.ja.md @@ -0,0 +1,616 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**クリーンな PySide6 インターフェイスを備えた最新の YouTube ダウンローダー。** +任意の品質でビデオをダウンロードしたり、音声を抽出したり、字幕を取得したりできます。 + +### 🌍 README 言語 + +英語: [EN](../README.md) +|番号: [AR](README.ar.md) +|ドイツ語: [DE](README.de.md) +|スペイン語: [ES](README.es.md) +|フランセ: [FR](README.fr.md) +|名前: [HI](README.hi.md) +|インドネシア語: [ID](README.id.md) +|イタリアーノ: [IT](README.it.md) +| 日本語: [JA](README.ja.md) +|ポルスキー: [PL](README.pl.md) +|ポルトガル語: [PT](README.pt.md) +| Русский: [RU](README.ru.md) +|テュルクチェ: [TR](README.tr.md) +| 中文: [ZH](README.zh.md) + +

    + インストール • + 特徴 • + 使用方法 • + スクリーンショット • + トラブルシューティング • + スポンサー • + 貢献しています +

    + +
    + +--- + + +## ❓ なぜ YTSage なのか? + +YTSage は、**シンプルかつ強力な YouTube ダウンローダー**を求めるユーザー向けに設計されています。他のツールとは異なり、次の機能を提供します。 + +- クリーンでモダンな PySide6 インターフェイス +- ワンクリックでビデオ、オーディオ、字幕をダウンロード +- スポンサーブロック、字幕の結合、プレイリストの選択などの高度な機能 +- YouTube 以外の yt-dlp 対応サイト向けのオプションの汎用モード +- クロスプラットフォームのサポートと簡単なインストール + + +## ✨ 特徴 + +
    + +|コア機能 |高度な機能 |追加機能 | +|---------------------------------|-------------------------------------------|-------------------------------------| +| 🎥 テーブルのフォーマット | 🚫 スポンサーブロックの統合 | 🎞️ FPS/HDR ディスプレイ | +| 🎵 オーディオ抽出 | 📝 複数字幕の選択と結合 | 🔄 yt-dlp を自動更新 | +| ✨シンプルなUI | 💾 説明とサムネイルを保存 | 🛠️ FFmpeg/yt-dlp/Deno 検出 | +| 📋 プレイリストのサポートとセレクター | 🚀 スピードリミッター | ⚙️ カスタムコマンド | +| 📑 章を埋め込む | ✂️ ビデオセクションをトリミング | 🍪 Cookie でログイン | +| 📜 ダウンロード履歴 | 🔄 チャンネル選択をリリース | 🌐 プロキシサポート | +| 🎚️ オーディオ形式変換 | 🎬 ビデオ形式設定 | 🆙 内蔵アップデータタブ | +| 🌍 汎用モード | +| 🌍 14 言語のローカリゼーション | | +
    + + +## 🚀 インストール + +### ⚡ クイックインストール (推奨) + +PyPI から YTSage をインストールします。 + +```bash +pip install ytsage +``` + +
    +🔄 既存のインストールを更新します + +```bash +pip install --upgrade ytsage +``` + +
    + +次に、アプリを起動します。 + +```bash +ytsage +``` + +### 📦 ビルド済みの実行可能ファイル + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Windows + +|フォーマット |説明 | +|----------|---------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) |標準インストーラー | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg がバンドルされている | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) |ポータブル版、インストール不要 | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg、zip 形式でポータブル | + +
    +🛠️ インストール手順 + +1. **EXE インストーラー (`.exe`)**: ファイルをダブルクリックし、セットアップ ウィザードに従います。 +2. **ポータブル バージョン (`.zip`)**: アーカイブを目的の場所に解凍し、`ytsage.exe` を実行します。 +3. **FFmpeg バンドル**: システムに FFmpeg がインストールされていない場合は、FFmpeg バンドル バージョンを選択します。 +
    + +#### 🐧 Linux + +|フォーマット |説明 | +|----------|---------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian パッケージ | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage、ポータブル | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM パッケージ | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) |フラットパックバンドル | + +
    +🛠️ インストール手順 + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **アプリ画像 (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: Flathub の指示に従うか、次のコマンドを実行します。 + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 macOS + +|フォーマット |説明 | +|----------|---------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 用の ZIP アプリケーション | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 用のディスク イメージ インストーラー | + +
    +🛠️ インストール手順 + +- **DMG インストーラー (`.dmg`)**: ダブルクリックしてマウントし、`YTSage.app` をアプリケーション フォルダーにドラッグします。 +- **アプリ アーカイブ (`.zip`)**: zip を解凍し、`YTSage.app` をアプリケーション フォルダーに移動します。 + +*注意:「アプリが破損しています」エラーが発生した場合は、以下の[macOS troubleshooting section](#troubleshooting)を参照してください。* +
    + +--- + +
    +💻 ソースからの手動インストール + +### 1. リポジトリのクローンを作成します + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. 依存関係をインストールする + +#### ⚡ UV あり + +```bash +uv pip install . +``` + +#### 📦 または標準の pip を使用 + +```bash +pip install . +``` + +### 3. アプリケーションを実行する + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 スクリーンショット + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    ダウンロード設定プレイリストダウンロード
    Audio Format Selection with Save ThumbnailCustom Options
    オーディオフォーマットカスタム オプション
    +
    +## 📖 使用法 + +
    +🎯 基本的な使い方 + +1. **YTSage を起動** +2. **YouTube URL を貼り付け** (または [URL を貼り付け] ボタンを使用) +3. **「分析」をクリックします** +4. **形式を選択します:** + - `Video` ビデオダウンロード用 + - `Audio Only` 音声抽出用 +5. **オプションを選択します:** + - 字幕を有効にし、言語を選択します + - 字幕のマージを有効にする + - サムネイルの保存 + - スポンサーセグメントの削除 + - 説明の保存 + - 章を埋め込む +6. **出力ディレクトリを選択** +7. **「ダウンロード」をクリックします** + +> 💡 デフォルトのダウンロード ディレクトリは、ユーザーの「ダウンロード」フォルダーです。 + +
    + +
    +📋 プレイリストのダウンロード + +1. **プレイリストの URL を貼り付け** +2. **「分析」をクリックします** +3. **プレイリスト セレクターからビデオを選択します (オプション、デフォルトはすべて)** +4. **希望の形式/品質を選択します** +5. **「ダウンロード」をクリック** + +> 💡 アプリケーションはダウンロードキューを自動的に処理します + +
    + +
    +🌍 YouTube 以外のサイトの汎用モード + +Dailymotion、CBC Gem、TikTok など、yt-dlp でサポートされているサイトからの URL を YTSage が受け入れるようにする場合は、ジェネリック モードを使用します。 + +使用方法: + +1. `Download Settings` を開きます。 +2. `Generic Mode` を有効にします。 +3. サポートされている YouTube 以外のビデオまたはプレイリストの URL を貼り付けます。 +4. 「`Analyze`」をクリックします。 +5. 形式を選択し、通常どおりダウンロードします。 + +注: + +- 汎用モードでは、YTSage 内の URL 検証のみが変更されます。ターゲット サイトは、インストールされている yt-dlp バージョンでサポートされている必要があります。 +- 一部のサイトでは、エクストラクターに応じて、Cookie、ログイン セッション、プロキシ、または追加の yt-dlp 引数が必要です。 +- サイトに障害が発生した場合は、問題を報告する前に、まず組み込みのアップデーター タブから yt-dlp を更新してください。 + +
    + +
    +🧰 メディアとダウンロードのオプション + +- **字幕オプション:** 言語をフィルターし、ビデオ ファイルに字幕を埋め込みます。 +- **字幕の結合:** ハードコードされた字幕のビデオ ファイルに字幕を結合します。 +- **説明の保存:** ビデオの説明をテキスト ファイルとして保存します。 +- **サムネイルの保存:** ビデオのサムネイルを画像ファイルとして保存します。 +- **チャプターの埋め込み:** 互換性のあるビデオ プレーヤーのメタデータとしてチャプター マーカーを埋め込みます。 +- **スポンサー セグメントの削除:** SponsorBlock を使用してビデオからスポンサー セグメントを削除します。 +- **ビデオのトリミング:** `HH:MM:SS` 形式で時間範囲を指定して、ビデオの特定の部分のみをダウンロードします + +
    + +
    +⚙️ 出力とファイルの設定 + +- **速度リミッター:** ダウンロード速度を制限します (例: `500K` 500 KB/秒) +- **ダウンロード パスの保存:** 今後のダウンロードのためにデフォルトのダウンロード パスを保存します。 **[ダウンロード設定] → [ダウンロード パス]** で利用できます。 +- **出力ファイル名の形式:** `%(title)s`、`%(uploader)s`、`%(resolution)s` などの変数を使用して、出力ファイル名の形式をカスタマイズします。 **ダウンロード設定 → ファイル名形式**で利用できます。- **出力形式を強制:** ビデオを`mp4`、`webm`、`mkv`などの特定のコンテナ形式に強制的にダウンロードします。 **ダウンロード設定 → 出力形式設定**で利用できます。 +- **オーディオ形式変換:** オーディオのみのダウンロードを、`AAC`、`MP3`、`FLAC`、`WAV`、`Opus`、`M4A`、などの優先形式に変換します。 `Vorbis`、または `Best`。 **ダウンロード設定 → オーディオ形式設定**で利用できます。 + +
    + +
    +🌐 アクセスとネットワーク + +- **Cookie を使用してログイン:** Cookie を使用して YouTube にログインし、プライベート コンテンツにアクセスします。 + 使用方法: + 1. **推奨:** アプリに組み込まれている `Extract cookies from browser` オプションを使用し、ブラウザーとオプションでプロファイルを選択します。 + 2. または、Cookie を手動で抽出します。 + a. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) のような拡張子を使用してブラウザから Cookie をエクスポートします。 + b. Netscape 形式で Cookie をコピーします。 + c. `cookies.txt` という名前のファイルを作成し、そこに Cookie を貼り付けます。 + d.アプリで `cookies.txt` ファイルを選択します +- **プロキシ サポート:** ダウンロードにはプロキシ サーバーを使用します (例: `http://:`) +- **汎用モード:** YTSage が yt-dlp でサポートされている YouTube 以外のサイトから分析してダウンロードできるようにします。 **[ダウンロード設定] → [汎用モード]** から有効にします。 + +
    + +
    +🛠️ ツールとメンテナンス + +- **カスタム コマンド:** コマンドライン引数を介して高度な yt-dlp 機能にアクセスします +- **「アップデータ」タブ:** カスタム オプションの 1 か所から組み込みの更新ツールを管理します。 + - **yt-dlp アップデート:** アップデートを確認し、安定リリース チャネルと夜間リリース チャネルを切り替えます。 + - **FFmpeg バージョン チェッカー:** FFmpeg バージョンを確認し、インストール ガイドを開きます + - **Deno の更新:** Deno ランタイムを確認して更新します +- **FFmpeg/yt-dlp/Deno 検出:** [バージョン情報] ダイアログから FFmpeg、yt-dlp、および Deno のパスとバージョンを自動的に検出します。 +- **ダウンロード履歴:** **履歴** ボタンから過去のダウンロードをサムネイルとステータスとともに表示します。 + +
    + +
    +🌍 ローカリゼーション + +YTSage は **14 の言語**をサポートしており、世界中からアクセスできます。 **カスタム オプション → 言語** から希望の言語を選択します。 + +### サポートされている言語 + +|言語 |コード |言語 |コード | +|----------|------|----------|------| +| 🇺🇸 英語 | `en` | 🇪🇸 スペイン語 | `es` | +| 🇸🇦アラビア語 | `ar` | 🇫🇷 フランス語 | `fr` | +| 🇩🇪 ドイツ語 | `de` | 🇮🇳ヒンディー語 | `hi` | +| 🇮🇩インドネシア語 | `id` | 🇮🇹イタリア語 | `it` | +| 🇯🇵 日本語 | `ja` | 🇵🇱ポーランド語 | `pl` | +| 🇧🇷 ポルトガル語 | `pt` | 🇷🇺ロシア語 | `ru` | +| 🇹🇷 トルコ語 | `tr` | 🇨🇳中国語 | `zh` | + +### README の翻訳 + +|言語 |ファイル |言語 |ファイル | +|----------|------|----------|------| +| 🇺🇸 英語 | [README.md](../README.md) | 🇪🇸 スペイン語 | [README.es.md](README.es.md) +| 🇸🇦アラビア語 | [README.ar.md](README.ar.md) | 🇫🇷 フランス語 | [README.fr.md](README.fr.md) | +| 🇩🇪 ドイツ語 | [README.de.md](README.de.md) | 🇮🇳ヒンディー語 | [README.hi.md](README.hi.md) | +| 🇮🇩インドネシア語 | [README.id.md](README.id.md) | 🇮🇹イタリア語 | [README.it.md](README.it.md) | +| 🇯🇵 日本語 | [README.ja.md](README.ja.md) | 🇵🇱ポーランド語 | [README.pl.md](README.pl.md) | +| 🇧🇷 ポルトガル語 | [README.pt.md](README.pt.md) | 🇷🇺ロシア語 | [README.ru.md](README.ru.md) | +| 🇹🇷 トルコ語 | [README.tr.md](README.tr.md) | 🇨🇳中国語 | [README.zh.md](README.zh.md) | + +> 💡 **翻訳に貢献しませんか?** 言語を追加するには、[Contributing](#contributing) セクションをご覧ください。 + +
    + + +## 🛠️ トラブルシューティング + +
    +クリックすると一般的な問題と解決策が表示されます + +- **フォーマット テーブルが表示されない:** yt-dlp を最新バージョンに更新し、毎晩 yt-dlp に切り替えます。 +- **ダウンロードが失敗する:** インターネット接続をチェックし、ビデオが利用可能であることを確認してください。 +- **特定のダウンロード エラー:** + - **プライベート ビデオ:** Cookie 認証を使用してプライベート コンテンツにアクセスします。 + - **年齢制限のあるコンテンツ:** 年齢制限のある動画を閲覧するには、YouTube アカウントにログインしてください。 + - **地理的にブロックされたビデオ:** 地域制限を回避するには、VPN の使用を検討してください。 + - **削除/削除されたビデオ:** このビデオは YouTube で利用できなくなりました。 + - **ライブ ストリーム:** ライブ ストリームはダウンロードできません。ストリームが終了するまで待ちます。 + - **ネットワーク エラー:** インターネット接続を確認して、もう一度試してください。 + - **無効な URL:** URL が正しく、サポートされているプラ​​ットフォームからのものであることを確認してください。 + - **プレミアム コンテンツ:** YouTube プレミアム メンバーシップが必要です。 + - **著作権ブロック:** コンテンツは著作権制限によりブロックされています。 +- **ダウンロード後にビデオ ファイルとオーディオ ファイルを分離します:** これは、FFmpeg が見つからない、または検出されない場合に発生します。 YTSage では、高品質のビデオ ストリームとオーディオ ストリームをマージするために FFmpeg が必要です。 + - **解決策:** FFmpeg がシステムの PATH にインストールされ、アクセスできることを確認してください。 Windows ユーザーの場合、最も簡単なオプションは、FFmpeg にバンドルされている `YTSage-v-ffmpeg.exe` ファイルをダウンロードすることです。 + +--- + +#### 🛡️ Windows Defender / ウイルス対策の警告 + +一部のウイルス対策ソフトウェアでは、`.exe` ファイルに誤検知のフラグが立てられる場合があります。これは、パッケージ化されたアプリケーションの**既知の制限**です。 + +**これが起こる理由:** +- ウイルス対策ヒューリスティックにより、パックされた実行可能ファイルが疑わしいものとして誤認識される可能性がある + +**安全な代替品:** +- ✅ **pip インストールを使用します:** `pip install ytsage` (推奨) +- ✅ **ソースからビルド**: これに従ってください [guide](../.github/CI_CD_README.md) +- ✅ **ウイルス対策ソフトウェアでアプリケーションをホワイトリストに登録** + +#### 🍎 macOS: 「アプリが破損しているため開けません」 +macOS Sonoma 以降でこのエラーが発生した場合は、隔離属性を削除する必要があります。 + +1. **ターミナルを開きます** (Spotlight を使用して見つけることができます)。 +2. **次のコマンドを入力します**。**まだ Enter キーは押さないでください**。必ず末尾にスペースを含めてください。 + ```bash + xattr -d com.apple.quarantine + ``` +3. **`YTSage.app` ファイル**を Finder ウィンドウからドラッグし、ターミナル ウィンドウに直接ドロップします。これにより、正しいファイル パスが自動的に貼り付けられます。 +4. **Enter キーを押して**、コマンドを実行します。 +5. **YTSage.app をもう一度開いてみてください。** これで正しく起動するはずです。 + +--- + +#### **構成の場所 (詳細)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 スポンサー + +YTSage によって時間を節約できる場合は、プロジェクトのスポンサーになることを検討してください。スポンサーシップは、開発時間、プラットフォーム全体のテスト、将来の改善をカバーするのに役立ちます。 + +- GitHub スポンサー: https://github.com/sponsors/oop7 +- スポンサー リンクは、アプリ内の [バージョン情報] ダイアログから直接利用することもできます。 + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 貢献しています + +寄付を歓迎します!お手伝いできる方法は次のとおりです。 + +1. 🍴 リポジトリをフォークする +2. 🌿 機能ブランチを作成します。 + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 変更をコミットします。 + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 ブランチにプッシュします。 + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 プルリクエストを開く + +### 🌍 翻訳に貢献 + +- 一致するローカライズされた README ファイルを更新します (例: `README.es.md`) +- `ytsage/languages/.json` を編集してアプリ文字列を同期させます +- 言語が見つからない場合は、`README.md` から開始して `README..md` を作成します + +
    +📂 プロジェクト構造 + +## YTSage - プロジェクト構造 + +このドキュメントでは、YTSage の整理されたフォルダー構造について説明します。 + +### 📁 プロジェクトの構造 + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️スターの歴史 + +
    + +## スターの歴史 + + + + + + Star History Chart + + + +
    + +## 📜ライセンス + +このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、[LICENSE](../LICENSE) ファイルを参照してください。 + +## 🙏 謝辞 + +
    +謝辞を表示 + +
    + +

    改善の提案やバグの報告のために問題を開いてこのプロジェクトに貢献してくださった皆様に心から感謝します。

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    コアコンポーネント
    yt-dlpダウンロード エンジン
    FFmpegメディア処理
    デノyt-dlp との統合用ランタイム
    ライブラリとフレームワーク
    PySide6GUI フレームワーク
    画像処理
    リクエストHTTP リクエスト
    梱包バージョンとパッケージの取り扱い
    値下げマークダウン レンダリング
    ろぐるロギング
    アセットと寄稿者
    ユニバーズフィールドによる新しい通知 09通知音
    ウイルス185コード寄稿者
    + +
    + +
    + +## ⚠️免責事項 + +このツールは個人使用のみを目的としています。 YouTube の利用規約とコンテンツ作成者の権利を尊重してください。 + +--- + +
    + +[oop7](https://github.com/oop7) によって ❤️ で作られました + +
    diff --git a/readme-translations/README.pl.md b/readme-translations/README.pl.md new file mode 100644 index 0000000..1dbcf8c --- /dev/null +++ b/readme-translations/README.pl.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Nowoczesny downloader YouTube z przejrzystym interfejsem PySide6.** +Pobieraj filmy w dowolnej jakości, wyodrębniaj dźwięk, pobieraj napisy i nie tylko. + +### 🌍 PRZECZYTAJ Języki + +Angielski: [EN](../README.md) +| Numer telefonu: [AR](README.ar.md) +| Niemiecki: [DE](README.de.md) +| Hiszpański: [ES](README.es.md) +| Français: [FR](README.fr.md) +| हिन्दी: [HI](README.hi.md) +| Bahasa Indonezja: [ID](README.id.md) +| włoski: [IT](README.it.md) +| 日本語: [JA](README.ja.md) +| Polski: [PL](README.pl.md) +| Portugalski: [PT](README.pt.md) +| Rosyjski: [RU](README.ru.md) +| Turecki: [TR](README.tr.md) +| Nazwa: [ZH](README.zh.md) + +

    + Instalacja • + Funkcje • + Użycie • + Zrzuty ekranu • + Rozwiązywanie problemów • + Sponsor • + Wspieranie +

    + +
    + +--- + + +## ❓ Dlaczego YTSage? + +YTSage jest przeznaczony dla użytkowników, którzy chcą **prostego, ale potężnego narzędzia do pobierania YouTube**. W odróżnieniu od innych narzędzi oferuje: + +- Czysty, nowoczesny interfejs PySide6 +- Pobieranie wideo, audio i napisów jednym kliknięciem +- Zaawansowane funkcje, takie jak SponsorBlock, łączenie napisów i wybór listy odtwarzania +- Opcjonalny tryb ogólny dla witryn obsługujących yt-dlp poza YouTube +- Obsługa wielu platform i łatwa instalacja + + +## ✨ Funkcje + +
    + +| Podstawowe funkcje | Zaawansowane funkcje | Dodatkowe funkcje | +|----------------------------------|------------------------------------------------------|-----------------------------------| +| 🎥 Formatuj tabelę | 🚫 Integracja z blokiem sponsorskim | 🎞️ Wyświetlacz FPS/HDR | +| 🎵 Ekstrakcja dźwięku | 📝 Wybierz i połącz wiele napisów | 🔄 Automatyczna aktualizacja yt-dlp | +| ✨ Prosty interfejs użytkownika | 💾 Zapisz opis i miniaturę | 🛠️ Wykrywanie FFmpeg/yt-dlp/Deno | +| 📋 Obsługa i wybór list odtwarzania | 🚀 Ogranicznik prędkości | ⚙️ Polecenia niestandardowe | +| 📑 Umieść rozdziały | ✂️ Przytnij sekcje wideo | 🍪 Zaloguj się za pomocą plików cookie | +| 📜 Pobierz historię | 🔄 Zwolnij wybór kanału | 🌐 Wsparcie proxy | +| 🎚️ Konwersja formatu audio | 🎬 Ustawienia formatu wideo | 🆙 Wbudowana zakładka Aktualizator | +| 🌍 Tryb ogólny | +| 🌍 Lokalizacja w 14 językach | | +
    + + +## 🚀 Instalacja + +### ⚡ Szybka instalacja (zalecane) + +Zainstaluj YTSage z PyPI: + +```bash +pip install ytsage +``` + +
    +🔄 Zaktualizuj istniejącą instalację + +```bash +pip install --upgrade ytsage +``` + +
    + +Następnie uruchom aplikację: + +```bash +ytsage +``` + +### 📦 Gotowe pliki wykonywalne + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Okna + +| Formatuj | Opis | +|------------|------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standardowy instalator | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Z pakietem FFmpeg | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Wersja przenośna, nie wymaga instalacji | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Przenośny z FFmpeg, spakowany | + +
    +🛠️ Kroki instalacji + +1. **Instalator EXE (`.exe`)**: Kliknij dwukrotnie plik i postępuj zgodnie z instrukcjami kreatora instalacji. +2. **Wersja przenośna (`.zip`)**: Wypakuj archiwum do wybranej lokalizacji i uruchom `ytsage.exe`. +3. **FFmpeg w pakiecie**: Wybierz wersję w pakiecie FFmpeg, jeśli nie masz zainstalowanego FFmpeg w swoim systemie. +
    + +#### 🐧 Linux + +| Formatuj | Opis | +|------------|------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pakiet Debiana | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Obraz aplikacji, przenośny | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pakiet RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Pakiet Flatpak | + +
    +🛠️ Kroki instalacji + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **Obraz aplikacji (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: Postępuj zgodnie z instrukcjami na Flathubie lub uruchom: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 macOS + +| Formatuj | Opis | +|------------|------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Spakowana aplikacja dla Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalator obrazu dysku dla Apple Silicon | + +
    +🛠️ Kroki instalacji + +- **Instalator DMG (`.dmg`)**: Kliknij dwukrotnie, aby zamontować, a następnie przeciągnij `YTSage.app` do folderu Aplikacje. +- **Archiwum aplikacji (`.zip`)**: Wypakuj plik ZIP i przenieś `YTSage.app` do folderu Aplikacje. + +*Uwaga: jeśli napotkasz błąd „Aplikacja jest uszkodzona”, zobacz [macOS troubleshooting section](#troubleshooting) poniżej.* +
    + +--- + +
    +💻 Instalacja ręczna ze źródła + +### 1. Sklonuj repozytorium + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Zainstaluj zależności + +#### ⚡ Z uv + +```bash +uv pip install . +``` + +#### 📦 Lub ze standardową końcówką + +```bash +pip install . +``` + +### 3. Uruchom aplikację + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Zrzuty ekranu + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    Pobierz ustawieniaPobieranie listy odtwarzania
    Audio Format Selection with Save ThumbnailCustom Options
    Format audioOpcje niestandardowe
    +
    +## 📖 Użycie + +
    +🎯 Podstawowe użycie + +1. **Uruchom YTSage** +2. **Wklej adres URL YouTube** (lub użyj przycisku „Wklej adres URL”) +3. **Kliknij „Analizuj”** +4. **Wybierz format:** + - `Video` do pobierania plików wideo + - `Audio Only` do ekstrakcji dźwięku +5. **Wybierz opcje:** + - Włącz napisy i wybierz język + - Włącz scalanie napisów + - Zapisz miniaturę + - Usuń segmenty sponsorów + - Zapisz opis + - Osadzaj rozdziały +6. **Wybierz katalog wyjściowy** +7. **Kliknij „Pobierz”** + +> 💡 Domyślnym katalogiem pobierania jest folder „Pobrane” użytkownika. + +
    + +
    +📋 Pobieranie listy odtwarzania + +1. **Wklej adres URL listy odtwarzania** +2. **Kliknij „Analizuj”** +3. **Wybierz filmy z selektora playlist (opcjonalnie, domyślnie wszystkie)** +4. **Wybierz żądany format/jakość** +5. **Kliknij „Pobierz”** + +> 💡 Aplikacja automatycznie obsługuje kolejkę pobierania + +
    + +
    +🌍 Tryb ogólny dla witryn innych niż YouTube + +Użyj trybu ogólnego, jeśli chcesz, aby YTSage akceptował adresy URL z witryn obsługiwanych przez yt-dlp, takich jak Dailymotion, CBC Gem, TikTok i inne. + +Jak z niego korzystać: + +1. Otwórz `Download Settings`. +2. Włącz `Generic Mode`. +3. Wklej obsługiwany adres URL filmu lub listy odtwarzania spoza YouTube. +4. Kliknij `Analyze`. +5. Wybierz format i pobierz jak zwykle. + +Uwagi: + +- Tryb ogólny zmienia tylko weryfikację adresu URL w YTSage. Witryna docelowa musi nadal być obsługiwana przez zainstalowaną wersję yt-dlp. +- Niektóre witryny wymagają plików cookie, sesji logowania, serwera proxy lub dodatkowych argumentów yt-dlp, w zależności od ekstraktora. +- Jeśli witryna ulegnie awarii, przed zgłoszeniem problemu zaktualizuj najpierw yt-dlp z wbudowanej karty aktualizatora. + +
    + +
    +🧰 Opcje multimediów i pobierania + +- **Opcje napisów:** Filtruj języki i osadzaj napisy w pliku wideo +- **Scalanie napisów:** Łączenie napisów z plikiem wideo w celu uzyskania napisów zakodowanych na stałe +- **Zapisz opis:** Zapisz opis filmu jako plik tekstowy +- **Zapisz miniaturę:** zapisz miniaturę wideo jako plik obrazu +- **Osadzanie rozdziałów:** Osadzanie znaczników rozdziałów jako metadanych dla zgodnych odtwarzaczy wideo +- **Usuń segmenty sponsora:** Usuń segmenty sponsora z filmu za pomocą funkcji SponsorBlock +- **Przytnij wideo:** Pobierz tylko określone fragmenty filmu, określając zakresy czasu w formacie `HH:MM:SS` + +
    + +
    +⚙️ Ustawienia wyjściowe i plikowe + +- **Ogranicznik prędkości:** Ogranicz prędkość pobierania, na przykład `500K` dla 500 KB/s +- **Zapisz ścieżkę pobierania:** zapisz domyślną ścieżkę pobierania dla przyszłych pobrań. Dostępne w **Ustawienia pobierania → Ścieżka pobierania**. +- **Format nazwy pliku wyjściowego:** Dostosuj format nazwy pliku wyjściowego za pomocą zmiennych takich jak `%(title)s`, `%(uploader)s` i `%(resolution)s`. Dostępne w **Ustawienia pobierania → Format nazwy pliku**. +- **Wymuś format wyjściowy:** Wymuś pobieranie plików wideo w określonym formacie kontenera, takim jak `mp4`, `webm` lub `mkv`. Dostępne w **Ustawienia pobierania → Ustawienia formatu wyjściowego**. +- **Konwersja formatu audio:** Konwertuj pliki do pobrania zawierające wyłącznie dźwięk do preferowanych formatów, takich jak `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` lub `Best`. Dostępne w **Ustawienia pobierania → Ustawienia formatu audio**. + +
    + +
    +🌐 Dostęp i sieć + +- **Zaloguj się za pomocą plików cookie:** zaloguj się do YouTube za pomocą plików cookie, aby uzyskać dostęp do prywatnych treści. + Jak z niego korzystać: + 1. **Zalecane:** Skorzystaj z wbudowanej opcji `Extract cookies from browser` w aplikacji, a następnie wybierz przeglądarkę i opcjonalnie profil. + 2. Alternatywnie wyodrębnij pliki cookie ręcznie: + a. Eksportuj pliki cookie ze swojej przeglądarki za pomocą rozszerzenia takiego jak [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Skopiuj pliki cookie w formacie Netscape + c. Utwórz plik o nazwie `cookies.txt` i wklej do niego pliki cookie + d. Wybierz plik `cookies.txt` w aplikacji +- **Obsługa proxy:** Do pobierania używaj serwera proxy, na przykład `http://:` +- **Tryb ogólny:** Zezwól YTSage na analizowanie i pobieranie z witryn innych niż YouTube obsługiwanych przez yt-dlp. Włącz tę opcję w **Ustawienia pobierania → Tryb ogólny**. + +
    + +
    +🛠️ Narzędzia i konserwacja + +- **Niestandardowe polecenia:** Dostęp do zaawansowanych funkcji yt-dlp poprzez argumenty wiersza poleceń +- **Karta Aktualizator:** Zarządzaj wbudowanymi narzędziami aktualizacji z jednego miejsca w Opcjach niestandardowych: + - **Aktualizacje yt-dlp:** sprawdź dostępność aktualizacji i przełączaj się między kanałami wersji stabilnej i nocnej + - **Kontrola wersji FFmpeg:** Sprawdź wersję FFmpeg i otwórz przewodniki instalacji + - **Aktualizacje Deno:** Sprawdź i zaktualizuj środowisko wykonawcze Deno +- **Wykrywanie FFmpeg/yt-dlp/Deno:** Automatycznie wykrywa ścieżki i wersje FFmpeg, yt-dlp i Deno w oknie dialogowym Informacje. +- **Historia pobierania:** Przeglądaj wcześniejsze pobrania z miniaturami i statusami za pomocą przycisku **Historia**. + +
    + +
    +🌍 Lokalizacja + +YTSage obsługuje **14 języków**, zapewniając dostępność na całym świecie. Wybierz preferowany język z **Opcje niestandardowe → Język**. + +### Obsługiwane języki + +| Język | Kod | Język | Kod | +|---------|------|----------|------| +| 🇺🇸 Angielski | `en` | 🇪🇸 Hiszpański | `es` | +| 🇸🇦 arabski | `ar` | 🇫🇷 Francuski | `fr` | +| 🇩🇪 niemiecki | `de` | 🇮🇳 hindi | `hi` | +| 🇮🇩 Indonezyjski | `id` | 🇮🇹 włoski | `it` | +| 🇯🇵 Japoński | `ja` | 🇵🇱polski | `pl` | +| 🇧🇷 portugalski | `pt` | 🇷🇺 Rosyjski | `ru` | +| 🇹🇷 Turecki | `tr` | 🇨🇳 chiński | `zh` | + +### Tłumaczenia README + +| Język | Plik | Język | Plik | +|---------|------|----------|------| +| 🇺🇸 Angielski | [README.md](../README.md) | 🇪🇸 Hiszpański | [README.es.md](README.es.md) +| 🇸🇦 arabski | [README.ar.md](README.ar.md) | 🇫🇷 Francuski | [README.fr.md](README.fr.md) | +| 🇩🇪 niemiecki | [README.de.md](README.de.md) | 🇮🇳 hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonezyjski | [README.id.md](README.id.md) | 🇮🇹 włoski | [README.it.md](README.it.md) | +| 🇯🇵 Japoński | [README.ja.md](README.ja.md) | 🇵🇱polski | [README.pl.md](README.pl.md) | +| 🇧🇷 portugalski | [README.pt.md](README.pt.md) | 🇷🇺 Rosyjski | [README.ru.md](README.ru.md) | +| 🇹🇷 Turecki | [README.tr.md](README.tr.md) | 🇨🇳 chiński | [README.zh.md](README.zh.md) | + +> 💡 **Chcesz dodać tłumaczenie?** Sprawdź sekcję [Contributing](#contributing), aby pomóc nam dodać więcej języków! + +
    + + +## 🛠️ Rozwiązywanie problemów + +
    +Kliknij, aby wyświetlić typowe problemy i rozwiązania + +- **Tabela formatów nie wyświetla się:** Aktualizuj yt-dlp do najnowszej wersji i co wieczór przełączaj się na yt-dlp. +- **Pobieranie nie powiodło się:** Sprawdź swoje połączenie internetowe i upewnij się, że plik wideo jest dostępny. +- **Specyficzne błędy pobierania:** + - **Prywatne filmy:** Użyj uwierzytelniania plików cookie, aby uzyskać dostęp do prywatnych treści. + - **Treści z ograniczeniami wiekowymi:** Zaloguj się do konta YouTube, aby oglądać filmy z ograniczeniami wiekowymi. + - **Filmy z blokadą geograficzną:** rozważ użycie VPN w celu ominięcia ograniczeń regionalnych. + - **Usunięte/usunięte filmy:** Film nie jest już dostępny w serwisie YouTube. + - **Transmisje na żywo:** Transmisji na żywo nie można pobrać; poczekaj, aż strumień się zakończy. + - **Błędy sieciowe:** Sprawdź swoje połączenie internetowe i spróbuj ponownie. + - **Nieprawidłowe adresy URL:** Upewnij się, że adres URL jest poprawny i pochodzi z obsługiwanej platformy. + – **Treści premium:** wymaga członkostwa YouTube Premium. + - **Bloki dotyczące praw autorskich:** Treść jest blokowana ze względu na ograniczenia praw autorskich. +- **Oddziel pliki wideo i audio po pobraniu:** Dzieje się tak, gdy brakuje FFmpeg lub nie został on wykryty. YTSage wymaga FFmpeg do łączenia wysokiej jakości strumieni wideo i audio. + - **Rozwiązanie:** Upewnij się, że FFmpeg jest zainstalowany i dostępny w PATH twojego systemu. Dla użytkowników systemu Windows najłatwiejszą opcją jest pobranie pliku `YTSage-v-ffmpeg.exe`, który jest dostarczany w pakiecie z FFmpeg. + +--- + +#### 🛡️ Ostrzeżenie o programie Windows Defender/antywirusie + +Niektóre programy antywirusowe mogą oznaczać pliki `.exe` jako fałszywe alarmy. Jest to **znane ograniczenie** aplikacji w pakietach. + +**Dlaczego tak się dzieje:** +- Heurystyka antywirusowa może błędnie zidentyfikować spakowane pliki wykonywalne jako podejrzane + +**Bezpieczne alternatywy:** +- ✅ **Użyj instalacji pip:** `pip install ytsage` (zalecane) +- ✅ **Kompiluj ze źródła**: postępując zgodnie z tym [guide](../.github/CI_CD_README.md) +- ✅ **Dodaj aplikację do białej listy** w swoim oprogramowaniu antywirusowym + +#### 🍎 macOS: „Aplikacja jest uszkodzona i nie można jej otworzyć” +Jeśli widzisz ten błąd w systemie macOS Sonoma lub nowszym, musisz usunąć atrybut kwarantanny. + +1. **Otwórz Terminal** (możesz go znaleźć za pomocą Spotlight). +2. **Wpisz następujące polecenie**, ale **nie** jeszcze naciskaj Enter. Pamiętaj o dodaniu spacji na końcu: + ```bash + xattr -d com.apple.quarantine + ``` +3. **Przeciągnij plik `YTSage.app`** z okna Findera i upuść go bezpośrednio w oknie Terminala. Spowoduje to automatyczne wklejenie prawidłowej ścieżki pliku. +4. **Naciśnij Enter**, aby uruchomić polecenie. +5. **Spróbuj ponownie otworzyć YTSage.app.** Powinna teraz uruchomić się poprawnie. + +--- + +#### **Lokacje konfiguracji (zaawansowane)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 Sponsor + +Jeśli YTSage pozwoli Ci zaoszczędzić czas, rozważ sponsorowanie projektu. Sponsoring pomaga pokryć czas opracowywania, testowania na różnych platformach i przyszłych ulepszeń. + +- Sponsorzy GitHuba: https://github.com/sponsors/oop7 +- Link sponsora jest również dostępny bezpośrednio w aplikacji, w oknie dialogowym Informacje. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Wkład + +Zapraszamy do wpłat! Oto jak możesz pomóc: + +1. 🍴Rozwidl repozytorium +2. 🌿 Utwórz gałąź funkcji: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Zatwierdź zmiany: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Pchnij do oddziału: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Otwórz żądanie ściągnięcia + +### 🌍 Tłumaczenia wspierające + +- Zaktualizuj pasujący zlokalizowany plik README (na przykład `README.es.md`) +- Synchronizuj ciągi aplikacji, edytując `ytsage/languages/.json` +- Jeśli brakuje Twojego języka, zacznij od `README.md` i utwórz `README..md` + +
    +📂 Struktura projektu + +## YTSage – Struktura projektu + +Ten dokument opisuje zorganizowaną strukturę folderów YTSage. + +### 📁 Struktura projektu + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ Historia gwiazd + +
    + +## Historia gwiazd + + + + + + Star History Chart + + + +
    + +## 📜Licencja + +Ten projekt jest objęty licencją MIT — szczegółowe informacje można znaleźć w pliku [LICENSE](../LICENSE). + +## 🙏 Podziękowania + +
    +Pokaż podziękowania + +
    + +

    Serdecznie dziękujemy wszystkim, którzy przyczynili się do tego projektu, otwierając problem, aby zasugerować ulepszenie lub zgłosić błąd.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Główne komponenty
    yt-dlpPobierz silnik
    FFmpegPrzetwarzanie multimediów
    DenoŚrodowisko wykonawcze do integracji z yt-dlp
    Biblioteki i struktury
    PySide6Struktura GUI
    PoduszkaPrzetwarzanie obrazu
    żądaniaŻądania HTTP
    opakowanieObsługa wersji i pakietów
    przecenaRenderowanie Markdown
    loguruLogowanie
    Zasoby i współtwórcy
    Nowe powiadomienie 09 od UniversfieldDźwięk powiadomienia
    viru185Współtwórca kodu
    + +
    + +
    + +## ⚠️ Zastrzeżenie + +To narzędzie jest przeznaczone wyłącznie do użytku osobistego. Prosimy o przestrzeganie warunków korzystania z usługi YouTube i praw twórców treści. + +--- + +
    + +Wykonane z ❤️ przez [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md new file mode 100644 index 0000000..dd879e6 --- /dev/null +++ b/readme-translations/README.pt.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Um downloader moderno do YouTube com uma interface PySide6 limpa.** +Baixe vídeos em qualquer qualidade, extraia áudio, busque legendas e muito mais. + +### 🌍 LEIA-ME Idiomas + +Inglês: [EN](../README.md) +| Nome: [AR](README.ar.md) +| Alemão: [DE](README.de.md) +| Espanhol: [ES](README.es.md) +| Francês: [FR](README.fr.md) +| Nome: [HI](README.hi.md) +| Bahasa Indonésia: [ID](README.id.md) +| Italiano: [IT](README.it.md) +| Nome do usuário: [JA](README.ja.md) +| Polaco: [PL](README.pl.md) +| Português: [PT](README.pt.md) +| Russo: [RU](README.ru.md) +| Turco: [TR](README.tr.md) +| 中文: [ZH](README.zh.md) + +

    + Instalação • + Recursos • + Uso • + Capturas de tela • + Solução de problemas • + Patrocinador • + Contribuindo +

    + +
    + +--- + + +## ❓ Por que YTSage? + +YTSage foi projetado para usuários que desejam um **baixador de YouTube simples, mas poderoso**. Ao contrário de outras ferramentas, oferece: + +- Uma interface PySide6 limpa e moderna +- Downloads com um clique para vídeo, áudio e legendas +- Recursos avançados como SponsorBlock, mesclagem de legendas e seleção de playlist +- Modo genérico opcional para sites compatíveis com yt-dlp além do YouTube +- Suporte multiplataforma e fácil instalação + + +## ✨ Recursos + +
    + +| Recursos principais | Recursos Avançados | Recursos extras | +|-----------------------------------|---------------------------------------------------|-----------------------------------| +| 🎥 Tabela de Formatos | 🚫 Integração SponsorBlock | 🎞️ Tela FPS/HDR | +| 🎵 Extração de Áudio | 📝 Seleção e mesclagem de múltiplas legendas | 🔄 Atualização automática do yt-dlp | +| ✨ UI simples | 💾 Salvar descrição e miniatura | 🛠️ Detecção de FFmpeg/yt-dlp/Deno | +| 📋 Suporte e seletor de lista de reprodução | 🚀 Limitador de velocidade | ⚙️ Comandos personalizados | +| 📑 Incorporar capítulos | ✂️ Cortar seções de vídeo | 🍪 Login com Cookies | +| 📜 Histórico de downloads | 🔄 Seleção de canal de lançamento | 🌐 Suporte a proxy | +| 🎚️ Conversão de formato de áudio | 🎬 Configurações de formato de vídeo | 🆙 Guia Atualizador integrado | +| 🌍 Modo Genérico | +| 🌍 Localização em 14 idiomas | | +
    + + +## 🚀 Instalação + +### ⚡ Instalação rápida (recomendado) + +Instale YTSage do PyPI: + +```bash +pip install ytsage +``` + +
    +🔄 Atualizar uma instalação existente + +```bash +pip install --upgrade ytsage +``` + +
    + +Em seguida, inicie o aplicativo: + +```bash +ytsage +``` + +### 📦 Executáveis pré-construídos + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Janelas + +| Formato | Descrição | +|--------|------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Instalador padrão | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Com FFmpeg incluído | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versão portátil, sem necessidade de instalação | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portátil com FFmpeg, compactado | + +
    +🛠️ Etapas de instalação + +1. **EXE Installer (`.exe`)**: Clique duas vezes no arquivo e siga o assistente de configuração. +2. **Versão portátil (`.zip`)**: Extraia o arquivo para o local desejado e execute `ytsage.exe`. +3. **FFmpeg Bundled**: Escolha as versões empacotadas do FFmpeg se você não tiver o FFmpeg instalado em seu sistema. +
    + +#### 🐧Linux + +| Formato | Descrição | +|--------|------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pacote Debian | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portátil | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pacote RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Pacote Flatpak | + +
    +🛠️ Etapas de instalação + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **AppImage (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: Siga as instruções no Flathub ou execute: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 macOS + +| Formato | Descrição | +|--------|------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplicativo compactado para Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalador de imagem de disco para Apple Silicon | + +
    +🛠️ Etapas de instalação + +- **Instalador DMG (`.dmg`)**: Clique duas vezes para montar e arraste `YTSage.app` para a pasta Aplicativos. +- **Arquivo de aplicativos (`.zip`)**: Extraia o zip e mova `YTSage.app` para a pasta Aplicativos. + +*Observação: se você encontrar um erro "O aplicativo está danificado", consulte [macOS troubleshooting section](#troubleshooting) abaixo.* +
    + +--- + +
    +💻 Instalação manual da fonte + +### 1. Clone o repositório + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Instalar dependências + +#### ⚡ Com UV + +```bash +uv pip install . +``` + +#### 📦 Ou com pip padrão + +```bash +pip install . +``` + +### 3. Execute o aplicativo + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Capturas de tela + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    Configurações de downloadBaixar lista de reprodução
    Audio Format Selection with Save ThumbnailCustom Options
    Formato de áudioOpções personalizadas
    +
    +## 📖 Uso + +
    +🎯 Uso Básico + +1. **Inicie o YTSage** +2. **Colar URL do YouTube** (ou usar o botão "Colar URL") +3. **Clique em "Analisar"** +4. **Selecione Formato:** + - `Video` para downloads de vídeos + - `Audio Only` para extração de áudio +5. **Escolha Opções:** + - Ative legendas e selecione o idioma + - Ativar mesclagem de legendas + - Salvar miniatura + - Remover segmentos de patrocinadores + - Salvar descrição + - Incorporar capítulos +6. **Selecione Diretório de Saída** +7. **Clique em "Baixar"** + +> 💡 O diretório de download padrão é a pasta "Downloads" do usuário. + +
    + +
    +📋 Baixar lista de reprodução + +1. **Colar URL da lista de reprodução** +2. **Clique em "Analisar"** +3. **Selecione vídeos no seletor de playlist (opcional, o padrão é todos)** +4. **Escolha o formato/qualidade desejado** +5. **Clique em "Baixar"** + +> 💡 O aplicativo gerencia automaticamente a fila de download + +
    + +
    +🌍 Modo genérico para sites que não são do YouTube + +Use o modo genérico quando quiser que o YTSage aceite URLs de sites suportados pelo yt-dlp, como Dailymotion, CBC Gem, TikTok e outros. + +Como usar: + +1. Abra `Download Settings`. +2. Ative `Generic Mode`. +3. Cole um URL de vídeo ou lista de reprodução compatível que não seja do YouTube. +4. Clique em `Analyze`. +5. Escolha um formato e baixe normalmente. + +Notas: + +- O Modo Genérico altera apenas a validação de URL dentro do YTSage. O site de destino ainda deve ser compatível com a versão yt-dlp instalada. +- Alguns sites exigem cookies, uma sessão de login, um proxy ou argumentos yt-dlp extras, dependendo do extrator. +- Se um site falhar, atualize o yt-dlp primeiro na guia do atualizador integrado antes de relatar o problema. + +
    + +
    +🧰 Opções de mídia e download + +- **Opções de legenda:** Filtre idiomas e incorpore legendas no arquivo de vídeo +- **Mesclagem de legendas:** Mesclar legendas no arquivo de vídeo para legendas codificadas +- **Salvar descrição:** Salve a descrição do vídeo como um arquivo de texto +- **Salvar miniatura:** Salve a miniatura do vídeo como um arquivo de imagem +- **Incorporar capítulos:** Incorpore marcadores de capítulo como metadados para players de vídeo compatíveis +- **Remover segmentos de patrocinadores:** Remova segmentos de patrocinadores do vídeo usando SponsorBlock +- **Cortar vídeo:** baixe apenas partes específicas de um vídeo especificando intervalos de tempo no formato `HH:MM:SS` + +
    + +
    +⚙️ Configurações de saída e arquivo + +- **Limitador de velocidade:** Limite a velocidade de download, por exemplo `500K` para 500 KB/s +- **Salvar caminho de download:** Salve o caminho de download padrão para downloads futuros. Disponível em **Configurações de download → Caminho de download**. +- **Formato do nome do arquivo de saída:** Personalize o formato do nome do arquivo de saída usando variáveis ​​como `%(title)s`, `%(uploader)s` e `%(resolution)s`. Disponível em **Configurações de download → Formato do nome do arquivo**. +- **Forçar formato de saída:** Força downloads de vídeo em um formato de contêiner específico, como `mp4`, `webm` ou `mkv`. Disponível em **Configurações de download → Configurações de formato de saída**. +- **Conversão de formato de áudio:** Converta downloads somente de áudio para formatos preferidos, como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` ou `Best`. Disponível em **Configurações de download → Configurações de formato de áudio**. + +
    + +
    +🌐 Acesso e Rede + +- **Login com Cookies:** Faça login no YouTube usando cookies para acessar conteúdo privado. + Como usar: + 1. **Recomendado:** Use a opção `Extract cookies from browser` integrada no aplicativo e selecione seu navegador e, opcionalmente, um perfil. + 2. Como alternativa, extraia os cookies manualmente: + uma. Exporte cookies do seu navegador usando uma extensão como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Copie os cookies no formato Netscape + c. Crie um arquivo chamado `cookies.txt` e cole os cookies nele + d. Selecione o arquivo `cookies.txt` no aplicativo +- **Suporte a proxy:** Use um servidor proxy para downloads, por exemplo `http://:` +- **Modo genérico:** permite que o YTSage analise e faça download de sites que não sejam do YouTube suportados pelo yt-dlp. Habilite-o em **Configurações de download → Modo genérico**. + +
    + +
    +🛠️ Ferramentas e Manutenção + +- **Comandos personalizados:** Acesse recursos avançados do yt-dlp por meio de argumentos de linha de comando +- **Guia Atualizador:** Gerencie ferramentas de atualização integradas em um só lugar nas Opções Personalizadas: + - **Atualizações do yt-dlp:** verifique se há atualizações e alterne entre canais de lançamento estável e noturno + - **Verificador de versão do FFmpeg:** Verifique sua versão do FFmpeg e abra os guias de instalação + - **Atualizações do Deno:** Verifique e atualize o tempo de execução do Deno +- **Detecção de FFmpeg/yt-dlp/Deno:** Detecta automaticamente caminhos e versões de FFmpeg, yt-dlp e Deno na caixa de diálogo Sobre. +- **Histórico de downloads:** Veja downloads anteriores com miniaturas e status no botão **Histórico**. + +
    + +
    +🌍 Localização + +YTSage oferece suporte a **14 idiomas** para acessibilidade mundial. Selecione seu idioma preferido em **Opções personalizadas → Idioma**. + +### Idiomas Suportados + +| Idioma | Código | Idioma | Código | +|----------|------|----------|------| +| 🇺🇸 Inglês | `en` | 🇪🇸 Espanhol | `es` | +| 🇸🇦 Árabe | `ar` | 🇫🇷 Francês | `fr` | +| 🇩🇪 Alemão | `de` | 🇮🇳 Hindi | `hi` | +| 🇮🇩 Indonésio | `id` | 🇮🇹 Italiano | `it` | +| 🇯🇵 Japonês | `ja` | 🇵🇱 Polonês | `pl` | +| 🇧🇷 Português | `pt` | 🇷🇺 Russo | `ru` | +| 🇹🇷 Turco | `tr` | 🇨🇳 Chinês | `zh` | + +### LEIA-ME Traduções + +| Idioma | Arquivo | Idioma | Arquivo | +|----------|------|----------|------| +| 🇺🇸 Inglês | [README.md](../README.md) | 🇪🇸 Espanhol | [README.es.md](README.es.md) +| 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francês | [README.fr.md](README.fr.md) | +| 🇩🇪 Alemão | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonésio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) | +| 🇯🇵 Japonês | [README.ja.md](README.ja.md) | 🇵🇱 Polonês | [README.pl.md](README.pl.md) | +| 🇧🇷 Português | [README.pt.md](README.pt.md) | 🇷🇺 Russo | [README.ru.md](README.ru.md) | +| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳 Chinês | [README.zh.md](README.zh.md) | + +> 💡 **Quer contribuir com uma tradução?** Confira a seção [Contributing](#contributing) para nos ajudar a adicionar mais idiomas! + +
    + + +## 🛠️ Solução de problemas + +
    +Clique para ver problemas e soluções comuns + +- **Tabela de formato não exibida:** Atualize yt-dlp para a versão mais recente e mude para yt-dlp todas as noites. +- **Falha no download:** Verifique sua conexão com a Internet e certifique-se de que o vídeo esteja disponível. +- **Erros específicos de download:** + - **Vídeos privados:** Use autenticação de cookies para acessar conteúdo privado. + - **Conteúdo com restrição de idade:** Faça login na conta do YouTube para visualizar vídeos com restrição de idade. + - **Vídeos bloqueados geograficamente:** considere usar uma VPN para contornar restrições regionais. + - **Vídeos removidos/excluídos:** O vídeo não está mais disponível no YouTube. + - **Transmissões ao vivo:** As transmissões ao vivo não podem ser baixadas; espere o fluxo terminar. + - **Erros de rede:** Verifique sua conexão com a Internet e tente novamente. + - **URLs inválidos:** certifique-se de que o URL esteja correto e seja de uma plataforma compatível. + - **Conteúdo Premium:** Requer assinatura do YouTube Premium. + - **Bloqueios de direitos autorais:** O conteúdo está bloqueado devido a restrições de direitos autorais. +- **Arquivos de vídeo e áudio separados após o download:** Isso acontece quando o FFmpeg está ausente ou não é detectado. YTSage requer FFmpeg para mesclar fluxos de vídeo e áudio de alta qualidade. + - **Solução:** Certifique-se de que o FFmpeg esteja instalado e acessível no PATH do seu sistema. Para usuários do Windows, a opção mais fácil é baixar o arquivo `YTSage-v-ffmpeg.exe`, que vem junto com o FFmpeg. + +--- + +#### 🛡️ Aviso do Windows Defender / Antivírus + +Alguns softwares antivírus podem sinalizar os arquivos `.exe` como falsos positivos. Esta é uma **limitação conhecida** dos aplicativos empacotados. + +**Por que isso acontece:** +- A heurística antivírus pode identificar erroneamente executáveis compactados como suspeitos + +**Alternativas seguras:** +- ✅ **Use instalação pip:** `pip install ytsage` (recomendado) +- ✅ **Construir a partir da fonte**: seguindo isto [guide](../.github/CI_CD_README.md) +- ✅ **Coloque o aplicativo na lista de permissões** em seu software antivírus + +#### 🍎 macOS: "O aplicativo está danificado e não pode ser aberto" +Se você vir esse erro no macOS Sonoma ou mais recente, será necessário remover o atributo de quarentena. + +1. **Abra o Terminal** (você pode encontrá-lo usando o Spotlight). +2. **Digite o seguinte comando** mas **não** pressione Enter ainda. Certifique-se de incluir o espaço no final: + ```bash + xattr -d com.apple.quarantine + ``` +3. **Arraste o arquivo `YTSage.app`** da janela do Finder e solte-o diretamente na janela do Terminal. Isso colará automaticamente o caminho correto do arquivo. +4. **Pressione Enter** para executar o comando. +5. **Tente abrir YTSage.app novamente.** Agora ele deve iniciar corretamente. + +--- + +#### **Locais de configuração (avançado)** +- **Janelas:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 Patrocinador + +Se o YTSage economizar seu tempo, considere patrocinar o projeto. O patrocínio ajuda a cobrir o tempo de desenvolvimento, testes em plataformas e melhorias futuras. + +- Patrocinadores do GitHub: https://github.com/sponsors/oop7 +- O link do patrocinador também está disponível diretamente no aplicativo, na caixa de diálogo Sobre. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Contribuindo + +Aceitamos contribuições! Veja como você pode ajudar: + +1. 🍴 Bifurque o repositório +2. 🌿 Crie seu branch de recursos: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Confirme suas alterações: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Empurre para o galho: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Abra uma solicitação pull + +### 🌍 Contribuindo com traduções + +- Atualize o arquivo README localizado correspondente (por exemplo `README.es.md`) +- Mantenha as strings do aplicativo sincronizadas editando `ytsage/languages/.json` +- Se o seu idioma estiver faltando, comece em `README.md` e crie `README..md` + +
    +📂 Estrutura do Projeto + +## YTSage - Estrutura do Projeto + +Este documento descreve a estrutura de pastas organizada do YTSage. + +### 📁 Estrutura do Projeto + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ História da estrela + +
    + +## História da estrela + + + + + + Star History Chart + + + +
    + +## 📜 Licença + +Este projeto está licenciado sob a licença MIT - consulte o arquivo [LICENSE](../LICENSE) para obter detalhes. + +## 🙏 Agradecimentos + +
    +Mostrar agradecimentos + +
    + +

    Um sincero obrigado a todos que contribuíram para este projeto abrindo um problema para sugerir uma melhoria ou relatar um bug.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Componentes principais
    yt-dlpMecanismo de download
    FFmpegProcessamento de mídia
    DenoTempo de execução para integração com yt-dlp
    Bibliotecas e Estruturas
    PySide6Estrutura GUI
    TravesseiroProcessamento de imagem
    solicitaçõesSolicitações HTTP
    embalagemManuseio de versões e pacotes
    remarcaçãoRenderização de redução
    loguruRegistro
    Ativos e Contribuintes
    Nova Notificação 09 por UniversfieldSom de notificação
    viru185Colaborador de código
    + +
    + +
    + +## ⚠️ Isenção de responsabilidade + +Esta ferramenta é apenas para uso pessoal. Respeite os termos de serviço do YouTube e os direitos dos criadores de conteúdo. + +--- + +
    + +Feito com ❤️ por [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md new file mode 100644 index 0000000..3520e56 --- /dev/null +++ b/readme-translations/README.ru.md @@ -0,0 +1,617 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Современный загрузчик YouTube с чистым интерфейсом PySide6.** +Скачивайте видео в любом качестве, извлекайте аудио, получайте субтитры и многое другое. + +### 🌍 README Языки + +Английский: [EN](../README.md) +| Сообщение: [AR](README.ar.md) +| Немецкий: [DE](README.de.md) +| Испанский: [ES](README.es.md) +| Французский: [FR](README.fr.md) +| Ответ: [HI](README.hi.md) +| Бахаса Индонезия: [ID](README.id.md) +| Итальянский: [IT](README.it.md) +| 日本語: [JA](README.ja.md) +| Польски: [PL](README.pl.md) +| Португальский: [PT](README.pt.md) +| Русский: [RU](README.ru.md) +| Тюркче: [TR](README.tr.md) +| 中文: [ZH](README.zh.md) + +

    + Установка • + Функции • + Использование • + Скриншоты • + Устранение неполадок • + Спонсор • + Содействие +

    + +
    + +--- + + +## ❓ Почему YTSage? + +YTSage предназначен для пользователей, которым нужен **простой, но мощный загрузчик YouTube**. В отличие от других инструментов, он предлагает: + +- Чистый, современный интерфейс PySide6. +- Загрузка видео, аудио и субтитров в один клик. +- Расширенные функции, такие как SponsorBlock, объединение субтитров и выбор списка воспроизведения. +– Дополнительный общий режим для сайтов, поддерживаемых yt-dlp, за пределами YouTube. +- Кроссплатформенная поддержка и простота установки. + + +## ✨ Особенности + +
    + +| Основные возможности | Расширенные возможности | Дополнительные возможности | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Формат таблицы | 🚫 Интеграция SponsorBlock | 🎞️ Отображение FPS/HDR | +| 🎵 Извлечение аудио | 📝 Выбор и объединение нескольких субтитров | 🔄 Автоматическое обновление yt-dlp | +| ✨ Простой интерфейс | 💾 Сохранить описание и миниатюру | 🛠️ Обнаружение FFmpeg/yt-dlp/Deno | +| 📋 Поддержка и выбор плейлистов | 🚀 Ограничитель скорости | ⚙️ Пользовательские команды | +| 📑 Встроить главы | ✂️ Обрезать разделы видео | 🍪 Вход с помощью файлов cookie | +| 📜 История загрузок | 🔄 Выбор канала выпуска | 🌐 Поддержка прокси | +| 🎚️ Преобразование аудиоформатов | 🎬 Настройки формата видео | 🆙 Встроенная вкладка «Обновление» | +| 🌍 Общий режим | +| 🌍 Локализация на 14 языках | | +
    + + +## 🚀 Установка + +### ⚡ Быстрая установка (рекомендуется) + +Установите YTSage из PyPI: + +```bash +pip install ytsage +``` + +
    +🔄 Обновите существующую установку + +```bash +pip install --upgrade ytsage +``` + +
    + +Затем запустите приложение: + +```bash +ytsage +``` + +### 📦 Готовые исполняемые файлы + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Окна + +| Формат | Описание | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Стандартный установщик | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | В комплекте FFmpeg | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Портативная версия, установка не требуется | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Портативный с FFmpeg, в архиве | + +
    +🛠️ Этапы установки + +1. **Установщик EXE (`.exe`)**: дважды щелкните файл и следуйте указаниям мастера установки. +2. **Портативная версия (`.zip`)**: распакуйте архив в нужное место и запустите `ytsage.exe`. +3. **FFmpeg Bundled**: выберите версии в комплекте FFmpeg, если в вашей системе не установлен FFmpeg. +
    + +#### 🐧 Линукс + +| Формат | Описание | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Пакет Debian | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, портативный | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | пакет RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Комплект Flatpak | + +
    +🛠️ Этапы установки + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **Об/мин (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **AppImage (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: следуйте инструкциям на Flathub или запустите: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 macOS + +| Формат | Описание | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Заархивированное приложение для Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Установщик образа диска для Apple Silicon | + +
    +🛠️ Этапы установки + +- **Установщик DMG (`.dmg`)**: дважды щелкните, чтобы смонтировать, затем перетащите `YTSage.app` в папку «Приложения». +- **Архив приложений (`.zip`)**: распакуйте zip-архив и переместите `YTSage.app` в папку «Приложения». + +*Примечание. Если вы столкнулись с ошибкой «Приложение повреждено», см. [macOS troubleshooting section](#troubleshooting) ниже.* +
    + +--- + +
    +💻 Ручная установка из исходного кода + +### 1. Клонировать репозиторий + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Установите зависимости + +#### ⚡ С уф + +```bash +uv pip install . +``` + +#### 📦 Или со стандартным пипом + +```bash +pip install . +``` + +### 3. Запустите приложение + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Скриншоты + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    Настройки загрузкиСкачать плейлист
    Audio Format Selection with Save ThumbnailCustom Options
    АудиоформатПользовательские параметры
    +
    +## 📖 Использование + +
    +🎯 Базовое использование + +1. **Запустите YTSage** +2. **Вставьте URL-адрес YouTube** (или нажмите кнопку «Вставить URL-адрес»). +3. **Нажмите «Анализ»**. +4. **Выберите формат:** + - `Video` для загрузки видео. + - `Audio Only` для извлечения звука +5. **Выберите параметры:** + - Включить субтитры и выбрать язык + - Включить объединение субтитров + - Сохранить миниатюру + - Удалить спонсорские сегменты + - Сохранить описание + - Вставлять главы +6. **Выберите выходной каталог** +7. **Нажмите «Загрузить»**. + +> 💡 Каталогом загрузки по умолчанию является папка «Загрузки» пользователя. + +
    + +
    +📋 Скачать плейлист + +1. **Вставьте URL-адрес плейлиста** +2. **Нажмите «Анализ»**. +3. **Выберите видео в селекторе плейлиста (необязательно, по умолчанию — все)** +4. **Выберите желаемый формат/качество** +5. **Нажмите «Загрузить»**. + +> 💡 Приложение автоматически обрабатывает очередь загрузки + +
    + +
    +🌍 Общий режим для сайтов, не принадлежащих YouTube + +Используйте общий режим, если хотите, чтобы YTSage принимал URL-адреса с сайтов, поддерживаемых yt-dlp, таких как Dailymotion, CBC Gem, TikTok и других. + +Как его использовать: + +1. Откройте `Download Settings`. +2. Включите `Generic Mode`. +3. Вставьте поддерживаемый URL-адрес видео или списка воспроизведения, не относящегося к YouTube. +4. Нажмите `Analyze`. +5. Выберите формат и загрузите как обычно. + +Примечания: + +- Общий режим изменяет только проверку URL-адреса внутри YTSage. Целевой сайт по-прежнему должен поддерживаться установленной версией yt-dlp. +– Некоторым сайтам требуются файлы cookie, сеанс входа в систему, прокси-сервер или дополнительные аргументы yt-dlp в зависимости от экстрактора. +– Если на сайте произошел сбой, сначала обновите yt-dlp на вкладке встроенного средства обновления, прежде чем сообщать о проблеме. + +
    + +
    +🧰 Параметры мультимедиа и загрузки + +- **Параметры субтитров:** фильтруйте языки и встраивайте субтитры в видеофайл. +- **Объединение субтитров:** объединение субтитров в видеофайл для жестко запрограммированных субтитров. +- **Сохранить описание:** сохранить описание видео в виде текстового файла. +- **Сохранить миниатюру:** сохраните миниатюру видео как файл изображения. +- **Встроить главы.** Встраивайте маркеры глав в качестве метаданных для совместимых видеопроигрывателей. +- **Удалить спонсорские сегменты.** Удалите спонсорские сегменты из видео с помощью SponsorBlock. +- **Обрезать видео:** загружайте только определенные части видео, указав временные диапазоны в формате `HH:MM:SS`. + +
    + +
    +⚙️ Настройки вывода и файла + +- **Ограничитель скорости:** Ограничьте скорость загрузки, например `500K` до 500 КБ/с. +- **Сохранить путь загрузки:** сохраните путь загрузки по умолчанию для будущих загрузок. Доступно в **Настройки загрузки → Путь загрузки**. +- **Формат имени выходного файла:** Настройте формат имени выходного файла, используя такие переменные, как `%(title)s`, `%(uploader)s` и `%(resolution)s`. Доступно в **Настройки загрузки → Формат имени файла**. +- **Принудительный формат вывода.** Принудительно загружайте видео в определенный формат контейнера, например `mp4`, `webm` или `mkv`. Доступно в **Настройки загрузки → Настройки формата вывода**. +- **Преобразование аудиоформата:** конвертируйте загрузки, содержащие только аудио, в предпочтительные форматы, такие как `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` или `Best`. Доступно в **Настройки загрузки → Настройки аудиоформата**. + +
    + +
    +🌐 Доступ и сеть + +- **Войти с помощью файлов cookie:** войдите на YouTube, используя файлы cookie, чтобы получить доступ к личному контенту. + Как его использовать: + 1. **Рекомендуется**. Используйте встроенную опцию `Extract cookies from browser` в приложении, затем выберите браузер и, при необходимости, профиль. + 2. Альтернативно извлеките файлы cookie вручную: + а. Экспортируйте файлы cookie из вашего браузера, используя расширение, например [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file). + б. Скопируйте файлы cookie в формате Netscape. + в. Создайте файл с именем `cookies.txt` и вставьте в него файлы cookie. + д. Выберите файл `cookies.txt` в приложении. +- **Поддержка прокси:** используйте прокси-сервер для загрузки, например `http://:` +- **Общий режим.** Разрешить YTSage анализировать и загружать контент с сайтов, не принадлежащих YouTube, и поддерживаемых yt-dlp. Включите его в разделе **Настройки загрузки → Общий режим**. + +
    + +
    +🛠️ Инструменты и уход + +– **Пользовательские команды.** Доступ к расширенным функциям yt-dlp с помощью аргументов командной строки. +- **Вкладка «Обновление».** Управляйте встроенными инструментами обновления из одного места в пользовательских настройках: + - **Обновления yt-dlp:** проверяйте наличие обновлений и переключайтесь между стабильными и ночными выпусками. + - **Проверка версии FFmpeg:** проверьте версию FFmpeg и откройте руководства по установке. + - **Обновления Deno:** проверьте и обновите среду выполнения Deno. +- **Обнаружение FFmpeg/yt-dlp/Deno:** автоматическое определение путей и версий FFmpeg, yt-dlp и Deno в диалоговом окне «О программе». +- **История загрузок.** Просматривайте прошлые загрузки с помощью миниатюр и статусов с помощью кнопки **История**. + +
    + +
    +🌍 Локализация + +YTSage поддерживает **14 языков**, что обеспечивает доступность по всему миру. Выберите предпочитаемый язык в меню **Пользовательские параметры → Язык**. + +### Поддерживаемые языки + +| Язык | Код | Язык | Код | +|----------|------|----------|------| +| 🇺🇸 Английский | `en` | 🇪🇸 Испанский | `es` | +| 🇸🇦 Арабский | `ar` | 🇫🇷 Французский | `fr` | +| 🇩🇪 немецкий | `de` | 🇮🇳 Хинди | `hi` | +| 🇮🇩 Индонезийский | `id` | 🇮🇹 Итальянский | `it` | +| 🇯🇵 Японский | `ja` | 🇵🇱 Польский | `pl` | +| 🇧🇷 Португальский | `pt` | 🇷🇺 Русский | `ru` | +| 🇹🇷 Турецкий | `tr` | 🇨🇳 Китайский | `zh` | + +### README Переводы + +| Язык | Файл | Язык | Файл | +|----------|------|----------|------| +| 🇺🇸 Английский | [README.md](../README.md) | 🇪🇸 Испанский | [README.es.md](README.es.md) +| 🇸🇦 Арабский | [README.ar.md](README.ar.md) | 🇫🇷 Французский | [README.fr.md](README.fr.md) | +| 🇩🇪 немецкий | [README.de.md](README.de.md) | 🇮🇳 Хинди | [README.hi.md](README.hi.md) | +| 🇮🇩 Индонезийский | [README.id.md](README.id.md) | 🇮🇹 Итальянский | [README.it.md](README.it.md) | +| 🇯🇵 Японский | [README.ja.md](README.ja.md) | 🇵🇱 Польский | [README.pl.md](README.pl.md) | +| 🇧🇷 Португальский | [README.pt.md](README.pt.md) | 🇷🇺 Русский | [README.ru.md](README.ru.md) | +| 🇹🇷 Турецкий | [README.tr.md](README.tr.md) | 🇨🇳 Китайский | [README.zh.md](README.zh.md) | + +> 💡 **Хотите сделать перевод?** Посетите раздел [Contributing](#contributing), чтобы мы могли добавить больше языков! + +
    + + +## 🛠️ Устранение неполадок + +
    +Нажмите, чтобы просмотреть распространенные проблемы и решения + +– **Таблица формата не отображается.** Обновите yt-dlp до последней версии и переключайтесь на yt-dlp каждую ночь. +- **Не удалось загрузить.** Проверьте подключение к Интернету и убедитесь, что видео доступно. +- **Конкретные ошибки загрузки:** + - **Частные видео.** Используйте аутентификацию с помощью файлов cookie для доступа к частному контенту. + - **Контент с возрастными ограничениями.** Войдите в аккаунт YouTube, чтобы просмотреть видео с возрастными ограничениями. + – **Видео с геоблокировкой.** Рассмотрите возможность использования VPN, чтобы обойти региональные ограничения. + – **Удалены видео:** Видео больше не доступно на YouTube. + - **Прямые трансляции:** Прямые трансляции невозможно загрузить; дождитесь окончания потока. + - **Ошибки сети.** Проверьте подключение к Интернету и повторите попытку. + - **Недопустимые URL-адреса.** Убедитесь, что URL-адрес правильный и принадлежит поддерживаемой платформе. + - **Премиум-контент:** требуется подписка YouTube Premium. + - **Блокировка авторских прав.** Контент блокируется из-за ограничений авторских прав. +- **Разделение видео и аудиофайлов после загрузки.** Это происходит, когда FFmpeg отсутствует или не обнаружен. YTSage требует FFmpeg для объединения высококачественных видео и аудио потоков. + - **Решение:** Убедитесь, что FFmpeg установлен и доступен в PATH вашей системы. Для пользователей Windows самый простой вариант — загрузить файл `YTSage-v-ffmpeg.exe`, который поставляется в комплекте с FFmpeg. + +--- + +#### 🛡️ Предупреждение Защитника Windows/антивируса + +Некоторые антивирусные программы могут помечать файлы `.exe` как ложные срабатывания. Это **известное ограничение** пакетных приложений. + +**Почему это происходит:** +- Антивирусная эвристика может ошибочно идентифицировать упакованные исполняемые файлы как подозрительные. + +**Безопасные альтернативы:** +- ✅ **Используйте установку pip:** `pip install ytsage` (рекомендуется) +- ✅ **Сборка из исходного кода**: следуя этому [guide](../.github/CI_CD_README.md) +- ✅ **Внесите приложение в белый список** в антивирусном программном обеспечении. + +#### 🍎 macOS: «Приложение повреждено и его невозможно открыть» +Если вы видите эту ошибку в macOS Sonoma или более поздней версии, вам необходимо удалить атрибут карантина. + +1. **Откройте терминал** (его можно найти с помощью Spotlight). +2. **Введите следующую команду**, но **не** пока нажимайте Enter. Обязательно добавьте пробел в конце: + ```bash + xattr -d com.apple.quarantine + ``` +3. **Перетащите файл `YTSage.app`** из окна Finder и поместите его прямо в окно терминала. Это автоматически вставит правильный путь к файлу. +4. **Нажмите Enter**, чтобы запустить команду. +5. **Попробуйте снова открыть YTSage.app.** Теперь оно должно запуститься правильно. + +--- + +#### **Места конфигурации (дополнительно)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 Спонсор + +Если YTSage сэкономит вам время, рассмотрите возможность спонсирования проекта. Спонсорство помогает покрыть время разработки, тестирования на разных платформах и будущих улучшений. + +- Спонсоры GitHub: https://github.com/sponsors/oop7 +- Спонсорская ссылка также доступна непосредственно внутри приложения из диалогового окна «О программе». + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Вклад + +Мы приветствуем вклады! Вот как вы можете помочь: + +1. 🍴 Форкните репозиторий +2. 🌿 Создайте свою ветку функций: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Зафиксируйте изменения: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Нажмите на ветку: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Откройте запрос на включение + +### 🌍 Участие в переводах + +- Обновите соответствующий локализованный файл README (например, `README.es.md`). +- Синхронизируйте строки приложения, отредактировав `ytsage/languages/.json`. +- Если ваш язык отсутствует, начните с `README.md` и создайте `README..md`. + +
    +📂 Структура проекта + +## YTSage — Структура проекта + +В этом документе описывается организованная структура папок YTSage. + +### 📁 Структура проекта + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ Звездная история + +
    + +## Звездная история + + + + + + Star History Chart + + + +
    + +## 📜 Лицензия + +Этот проект лицензируется по лицензии MIT — подробности см. в файле [LICENSE](../LICENSE). + +## 🙏 Благодарности + +
    +Показать благодарности + +
    + +

    Сердечное спасибо всем, кто внес свой вклад в этот проект, открыв проблему, чтобы предложить улучшения или сообщить об ошибке.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Основные компоненты
    yt-dlpЗагрузить двигатель
    FFmpegОбработка мультимедиа
    DenoСреда выполнения для интеграции с yt-dlp
    Библиотеки и платформы
    PySide6GUI Framework
    ПодушкаОбработка изображений
    запросыHTTP-запросы
    упаковкаОбработка версий и пакетов
    уценкаРендеринг уценки
    loguruВедение журнала
    Активы и участники
    Новое уведомление 09 от UniversfieldЗвук уведомления
    viru185Соавтор кода
    + +
    + +
    + +## ⚠️ Отказ от ответственности + +Этот инструмент предназначен только для личного использования. Пожалуйста, соблюдайте условия обслуживания YouTube и права создателей контента. + +--- + +
    + +Сделано с ❤️ автором [oop7](https://github.com/oop7) + +
    diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md new file mode 100644 index 0000000..0a46ab9 --- /dev/null +++ b/readme-translations/README.tr.md @@ -0,0 +1,616 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**Temiz bir PySide6 arayüzüne sahip modern bir YouTube indiricisi.** +Videoları istediğiniz kalitede indirin, ses çıkarın, altyazıları getirin ve daha fazlasını yapın. + +### 🌍 BENİOKU Diller + +İngilizce: [EN](../README.md) +| Cevap: [AR](README.ar.md) +| Almanca: [DE](README.de.md) +| İspanyolca: [ES](README.es.md) +| Fransızca: [FR](README.fr.md) +| Adres: [HI](README.hi.md) +| Bahasa Endonezya: [ID](README.id.md) +| İtalyanca: [IT](README.it.md) +| Şarkı sözü: [JA](README.ja.md) +| Polski: [PL](README.pl.md) +| Portekizce: [PT](README.pt.md) +| Rusça: [RU](README.ru.md) +| Türkçe: [TR](README.tr.md) +| Adres: [ZH](README.zh.md) + +

    + Kurulum • + Özellikler • + Kullanım • + Ekran görüntüleri • + Sorun giderme • + Sponsor • + Katkıda Bulunuyorum +

    + +
    + +--- + + +## ❓ Neden YTSage? + +YTSage, **basit ama güçlü bir YouTube indiricisi** isteyen kullanıcılar için tasarlanmıştır. Diğer araçların aksine şunları sunar: + +- Temiz, modern bir PySide6 arayüzü +- Video, ses ve altyazılar için tek tıklamayla indirmeler +- SponsorBlock, altyazı birleştirme ve oynatma listesi seçimi gibi gelişmiş özellikler +- YouTube'un ötesinde yt-dlp destekli siteler için İsteğe Bağlı Genel Mod +- Platformlar arası destek ve kolay kurulum + + +## ✨ Özellikler + +
    + +| Temel Özellikler | Gelişmiş Özellikler | Ekstra Özellikler | +|-------------------------------------|--------------------------------------------------| +| 🎥 Format Tablosu | 🚫 SponsorBlock Entegrasyonu | 🎞️ FPS/HDR Ekran | +| 🎵 Ses Çıkarma | 📝 Çoklu Altyazı Seç ve Birleştir | 🔄 yt-dlp'yi Otomatik Güncelle | +| ✨ Basit kullanıcı arayüzü | 💾 Açıklamayı ve Küçük Resmi Kaydet | 🛠️ FFmpeg/yt-dlp/Deno Algılama | +| 📋 Çalma Listesi Desteği ve Seçici | 🚀 Hız Sınırlayıcı | ⚙️ Özel Komutlar | +| 📑 Bölümleri Yerleştir | ✂️ Video Bölümlerini Kırp | 🍪 Çerezlerle Giriş Yapın | +| 📜 Geçmişi İndir | 🔄 Kanal Seçimini Serbest Bırak | 🌐 Proxy Desteği | +| 🎚️ Ses Formatı Dönüştürme | 🎬 Video Formatı Ayarları | 🆙 Yerleşik Güncelleyici Sekmesi | +| 🌍 Genel Mod | +| 🌍 14 Dilde Yerelleştirme | | +
    + + +## 🚀 Kurulum + +### ⚡ Hızlı Kurulum (Önerilir) + +YTSage'i PyPI'den yükleyin: + +```bash +pip install ytsage +``` + +
    +🔄 Mevcut bir kurulumu güncelleyin + +```bash +pip install --upgrade ytsage +``` + +
    + +Ardından uygulamayı başlatın: + +```bash +ytsage +``` + +### 📦 Önceden Oluşturulmuş Yürütülebilir Dosyalar + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Windows + +| Biçim | Açıklama | +|----------|----------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standart yükleyici | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg paketiyle birlikte | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Taşınabilir versiyon, kurulum gerektirmez | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg ile taşınabilir, sıkıştırılmış | + +
    +🛠️ Kurulum Adımları + +1. **EXE Yükleyici (`.exe`)**: Dosyaya çift tıklayın ve kurulum sihirbazını izleyin. +2. **Taşınabilir Sürüm (`.zip`)**: Arşivi istediğiniz konuma çıkarın ve `ytsage.exe`'i çalıştırın. +3. **FFmpeg Paketli**: Sisteminizde FFmpeg yüklü değilse FFmpeg paketli versiyonlarını seçin. +
    + +#### 🐧 Linux + +| Biçim | Açıklama | +|----------|----------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian paketi | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, taşınabilir | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM paketi | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Düz Paket Paketi | + +
    +🛠️ Kurulum Adımları + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **RPM (`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **AppImage (`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**: Flathub'daki talimatları izleyin veya şunu çalıştırın: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎macOS + +| Biçim | Açıklama | +|----------|----------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon için sıkıştırılmış uygulama | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon için disk görüntüsü yükleyici | + +
    +🛠️ Kurulum Adımları + +- **DMG Installer (`.dmg`)**: Bağlamak için çift tıklayın, ardından `YTSage.app`'i Uygulamalar klasörünüze sürükleyin. +- **Uygulama Arşivi (`.zip`)**: Zip dosyasını çıkartın ve `YTSage.app`'i Uygulamalar klasörünüze taşıyın. + +*Not: "Uygulama hasar gördü" hatasıyla karşılaşırsanız aşağıdaki [macOS troubleshooting section](#troubleshooting)'e bakın.* +
    + +--- + +
    +💻 Kaynaktan Manuel Kurulum + +### 1. Depoyu Klonlayın + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2. Bağımlılıkları Kurun + +#### ⚡UV ile + +```bash +uv pip install . +``` + +#### 📦 Veya standart pip ile + +```bash +pip install . +``` + +### 3. Uygulamayı çalıştırın + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 Ekran görüntüleri + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    İndirme AyarlarıÇalma Listesi İndir
    Audio Format Selection with Save ThumbnailCustom Options
    Ses FormatıÖzel Seçenekler
    +
    +## 📖 Kullanım + +
    +🎯 Temel Kullanım + +1. **YTSage'i başlatın** +2. **YouTube URL'sini yapıştırın** (veya "URL'yi yapıştır" düğmesini kullanın) +3. **"Analiz Et"i tıklayın** +4. **Biçim Seçin:** + - `Video` video indirmeleri için + - `Audio Only` ses çıkarma için +5. **Seçenekleri seçin:** + - Altyazıları etkinleştirin ve dili seçin + - Altyazı birleştirmeyi etkinleştir + - Küçük resmi kaydet + - Sponsor segmentlerini kaldırın + - Açıklamayı kaydet + - Bölümleri yerleştir +6. **Çıktı Dizinini Seçin** +7. **"İndir"e tıklayın** + +> 💡 Varsayılan indirme dizini kullanıcının "İndirilenler" klasörüdür. + +
    + +
    +📋 Çalma Listesi İndir + +1. **Oynatma Listesi URL'sini yapıştırın** +2. **"Analiz Et"i tıklayın** +3. **Oynatma seçiciden videoları seçin (isteğe bağlı, varsayılan olarak tümü)** +4. **İstediğiniz formatı/kaliteyi seçin** +5. **"İndir"e tıklayın** + +> 💡 Uygulama indirme sırasını otomatik olarak yönetir + +
    + +
    +🌍 YouTube dışı siteler için Genel Mod + +YTSage'in Dailymotion, CBC Gem, TikTok ve diğerleri gibi yt-dlp tarafından desteklenen sitelerdeki URL'leri kabul etmesini istiyorsanız Genel Modu kullanın. + +Nasıl kullanılır: + +1. `Download Settings`'i açın. +2. `Generic Mode`'ı etkinleştirin. +3. Desteklenen YouTube dışı bir video veya oynatma listesi URL'sini yapıştırın. +4. `Analyze`'a tıklayın. +5. Bir format seçin ve her zamanki gibi indirin. + +Notlar: + +- Genel Mod yalnızca YTSage içindeki URL doğrulamasını değiştirir. Hedef sitenin yüklü yt-dlp sürümünüz tarafından hala desteklenmesi gerekiyor. +- Bazı siteler, çıkarıcıya bağlı olarak çerezlere, oturum açma oturumuna, proxy'ye veya ekstra yt-dlp argümanlarına ihtiyaç duyar. +- Bir site başarısız olursa, sorunu bildirmeden önce yerleşik güncelleyici sekmesinden yt-dlp'yi güncelleyin. + +
    + +
    +🧰 Medya ve İndirme Seçenekleri + +- **Altyazı Seçenekleri:** Dilleri filtreleyin ve altyazıları video dosyasına ekleyin +- **Altyazı Birleştirme:** Sabit kodlanmış altyazılar için altyazıları video dosyasıyla birleştirin +- **Açıklamayı Kaydet:** Video açıklamasını bir metin dosyası olarak kaydedin +- **Küçük Resmi Kaydet:** Video küçük resmini bir resim dosyası olarak kaydedin +- **Bölümleri Göm:** Uyumlu video oynatıcılar için bölüm işaretlerini meta veri olarak gömün +- **Sponsor Segmentlerini Kaldır:** SponsorBlock'u kullanarak sponsor segmentlerini videodan kaldırın +- **Videoyu Kırp:** `HH:MM:SS` biçiminde zaman aralıklarını belirterek videonun yalnızca belirli bölümlerini indirin + +
    + +
    +⚙️ Çıktı ve Dosya Ayarları + +- **Hız Sınırlayıcı:** İndirme hızını sınırlayın, örneğin 500 KB/s için `500K` +- **İndirme Yolunu Kaydet:** Gelecekteki indirmeler için varsayılan indirme yolunu kaydedin. **İndirme Ayarları → İndirme Yolu**'nda mevcuttur. +- **Çıktı Dosya Adı Formatı:** `%(title)s`, `%(uploader)s` ve `%(resolution)s` gibi değişkenleri kullanarak çıktı dosya adı formatını özelleştirin. **İndirme Ayarları → Dosya Adı Formatı**'nda mevcuttur.- **Çıktı Formatını Zorla:** Video indirme işlemlerini `mp4`, `webm` veya `mkv` gibi belirli bir kapsayıcı formatına zorlayın. **İndirme Ayarları → Çıktı Formatı Ayarları** bölümünde mevcuttur. +- **Ses Formatı Dönüştürme:** Yalnızca ses indirmelerini `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A` gibi tercih edilen formatlara dönüştürün `Vorbis` veya `Best`. **İndirme Ayarları → Ses Formatı Ayarları**'nda mevcuttur. + +
    + +
    +🌐 Erişim ve Ağ + +- **Çerezler ile Giriş Yapın:** Özel içeriğe erişmek için çerezleri kullanarak YouTube'a giriş yapın. + Nasıl kullanılır: + 1. **Önerilen:** Uygulamadaki yerleşik `Extract cookies from browser` seçeneğini kullanın, ardından tarayıcınızı ve isteğe bağlı olarak bir profili seçin. + 2. Alternatif olarak çerezleri manuel olarak çıkarın: + a. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) gibi bir uzantı kullanarak çerezleri tarayıcınızdan dışa aktarın + b. Çerezleri Netscape formatında kopyalayın + c. `cookies.txt` adında bir dosya oluşturun ve çerezleri bu dosyaya yapıştırın + D. Uygulamada `cookies.txt` dosyasını seçin +- **Proxy Desteği:** İndirmeler için bir proxy sunucusu kullanın, örneğin `http://:` +- **Genel Mod:** YTSage'in, yt-dlp tarafından desteklenen YouTube dışı sitelerden analiz yapmasına ve indirme yapmasına izin verin. **İndirme Ayarları → Genel Mod**'dan etkinleştirin. + +
    + +
    +🛠️ Araçlar ve Bakım + +- **Özel Komutlar:** Komut satırı bağımsız değişkenleri aracılığıyla gelişmiş yt-dlp özelliklerine erişin +- **Güncelleyici Sekmesi:** Özel Seçenekler'de yerleşik güncelleme araçlarını tek yerden yönetin: + - **yt-dlp Güncellemeleri:** Güncellemeleri kontrol edin ve Mevcut ve Gecelik sürüm kanalları arasında geçiş yapın + - **FFmpeg Sürüm Denetleyicisi:** FFmpeg sürümünüzü kontrol edin ve kurulum kılavuzlarını açın + - **Deno Güncellemeleri:** Deno çalışma zamanını kontrol edin ve güncelleyin +- **FFmpeg/yt-dlp/Deno Algılama:** Hakkında iletişim kutusundan FFmpeg, yt-dlp ve Deno yollarını ve sürümlerini otomatik olarak algılar. +- **İndirme Geçmişi:** **Geçmiş** düğmesinden geçmiş indirmeleri küçük resimler ve durumlarla birlikte görüntüleyin. + +
    + +
    +🌍 Yerelleştirme + +YTSage, dünya çapında erişilebilirlik için **14 dili** destekler. **Özel Seçenekler → Dil**'den tercih ettiğiniz dili seçin. + +### Desteklenen Diller + +| Dil | Kod | Dil | Kod | +|----------|------|----------|------| +| 🇺🇸 İngilizce | `en` | 🇪🇸 İspanyolca | `es` | +| 🇸🇦 Arapça | `ar` | 🇫🇷 Fransızca | `fr` | +| 🇩🇪 Almanca | `de` | 🇮🇳 Hintçe | `hi` | +| 🇮🇩 Endonezce | `id` | 🇮🇹 İtalyanca | `it` | +| 🇯🇵 Japonca | `ja` | 🇵🇱 Lehçe | `pl` | +| 🇧🇷 Portekizce | `pt` | 🇷🇺 Rusça | `ru` | +| 🇹🇷 Türkçe | `tr` | 🇨🇳 Çince | `zh` | + +### README Çevirileri + +| Dil | Dosya | Dil | Dosya | +|----------|------|----------|------| +| 🇺🇸 İngilizce | [README.md](../README.md) | 🇪🇸 İspanyolca | [README.es.md](README.es.md) +| 🇸🇦 Arapça | [README.ar.md](README.ar.md) | 🇫🇷 Fransızca | [README.fr.md](README.fr.md) | +| 🇩🇪 Almanca | [README.de.md](README.de.md) | 🇮🇳 Hintçe | [README.hi.md](README.hi.md) | +| 🇮🇩 Endonezce | [README.id.md](README.id.md) | 🇮🇹 İtalyanca | [README.it.md](README.it.md) | +| 🇯🇵 Japonca | [README.ja.md](README.ja.md) | 🇵🇱 Lehçe | [README.pl.md](README.pl.md) | +| 🇧🇷 Portekizce | [README.pt.md](README.pt.md) | 🇷🇺 Rusça | [README.ru.md](README.ru.md) | +| 🇹🇷 Türkçe | [README.tr.md](README.tr.md) | 🇨🇳 Çince | [README.zh.md](README.zh.md) | + +> 💡 **Çeviriye katkıda bulunmak mı istiyorsunuz?** Daha fazla dil eklememize yardımcı olmak için [Contributing](#contributing) bölümüne göz atın! + +
    + + +## 🛠️ Sorun giderme + +
    +Genel sorunları ve çözümleri görüntülemek için tıklayın + +- **Biçim tablosu görüntülenmiyor:** yt-dlp'yi en son sürüme güncelleyin ve her gece yt-dlp'ye geçin. +- **İndirme başarısız oluyor:** İnternet bağlantınızı kontrol edin ve videonun mevcut olduğundan emin olun. +- **Belirli indirme hataları:** + - **Özel videolar:** Özel içeriğe erişmek için çerez kimlik doğrulamasını kullanın. + - **Yaş kısıtlamalı içerik:** Yaş kısıtlamalı videoları görüntülemek için YouTube hesabına giriş yapın. + - **Coğrafi olarak engellenen videolar:** Bölgesel kısıtlamaları aşmak için bir VPN kullanmayı düşünün. + - **Kaldırılan/silinen videolar:** Video artık YouTube'da mevcut değil. + - **Canlı yayınlar:** Canlı yayınlar indirilemez; akışın bitmesini bekleyin. + - **Ağ hataları:** İnternet bağlantınızı kontrol edip tekrar deneyin. + - **Geçersiz URL'ler:** URL'nin doğru olduğundan ve desteklenen bir platforma ait olduğundan emin olun. + - **Premium içerik:** YouTube Premium üyeliği gerektirir. + - **Telif hakkı engellemeleri:** İçerik, telif hakkı kısıtlamaları nedeniyle engellenmiştir. +- **İndirmeden sonra video ve ses dosyalarını ayırın:** Bu, FFmpeg eksik olduğunda veya algılanmadığında meydana gelir. YTSage, yüksek kaliteli video ve ses akışlarını birleştirmek için FFmpeg'e ihtiyaç duyar. + - **Çözüm:** FFmpeg'in sisteminizin PATH'inde kurulu ve erişilebilir olduğundan emin olun. Windows kullanıcıları için en kolay seçenek, FFmpeg ile birlikte gelen `YTSage-v-ffmpeg.exe` dosyasını indirmektir. + +--- + +#### 🛡️ Windows Defender / Antivirüs Uyarısı + +Bazı antivirüs yazılımları `.exe` dosyalarını yanlış pozitif olarak işaretleyebilir. Bu, paket uygulamaların **bilinen bir sınırlamasıdır**. + +**Bu neden oluyor:** +- Antivirüs buluşsal yöntemleri, paketlenmiş yürütülebilir dosyaları şüpheli olarak yanlış tanımlayabilir + +**Güvenli alternatifler:** +- ✅ **Pip kurulumunu kullanın:** `pip install ytsage` (önerilir) +- ✅ **Kaynaktan oluşturun**: bunu takip ederek [guide](../.github/CI_CD_README.md) +- ✅ **Uygulamayı antivirüs yazılımınızda beyaz listeye alın** + +#### 🍎 macOS: "Uygulama hasarlı ve açılamıyor" +Bu hatayı macOS Sonoma veya daha yeni bir sürümde görüyorsanız karantina özelliğini kaldırmanız gerekir. + +1. **Terminal'i açın** (Spotlight'ı kullanarak bulabilirsiniz). +2. **Aşağıdaki komutu yazın** ancak **henüz Enter'a basmayın**. Sondaki boşluğu eklediğinizden emin olun: + ```bash + xattr -d com.apple.quarantine + ``` +3. **`YTSage.app` dosyasını Finder pencerenizden sürükleyip doğrudan Terminal penceresine bırakın. Bu, doğru dosya yolunu otomatik olarak yapıştıracaktır. +4. **Komutu çalıştırmak için **Enter** tuşuna basın. +5. **YTSage.app'i tekrar açmayı deneyin.** Artık doğru şekilde başlatılması gerekir. + +--- + +#### **Yapılandırma Konumları (Gelişmiş)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 Sponsor + +YTSage size zaman kazandırıyorsa projeye sponsor olmayı düşünün. Sponsorluk, geliştirme süresinin, platformlar arası testlerin ve gelecekteki iyileştirmelerin karşılanmasına yardımcı olur. + +- GitHub Sponsorları: https://github.com/sponsors/oop7 +- Sponsor bağlantısına doğrudan uygulamanın içindeki Hakkında iletişim kutusundan da ulaşılabilir. + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 Katkıda Bulunmak + +Katkılarınızı bekliyoruz! İşte nasıl yardımcı olabileceğiniz: + +1. 🍴 Depoyu çatallayın +2. 🌿 Özellik dalınızı oluşturun: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 Değişikliklerinizi gerçekleştirin: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤 Şubeye itin: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 Bir Çekme İsteği Açın + +### 🌍 Çevirilere Katkıda Bulunmak + +- Eşleşen yerelleştirilmiş README dosyasını güncelleyin (örneğin `README.es.md`) +- `ytsage/languages/.json` düzenleyerek uygulama dizelerini senkronize tutun +- Diliniz eksikse `README.md`'den başlayın ve `README..md`'i oluşturun + +
    +📂 Proje Yapısı + +## YTSage - Proje Yapısı + +Bu belge YTSage'in organize klasör yapısını açıklamaktadır. + +### 📁 Proje Yapısı + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ Yıldız Tarihi + +
    + +## Yıldız Geçmişi + + + + + + Star History Chart + + + +
    + +## 📜 Lisans + +Bu proje MIT Lisansı kapsamında lisanslıdır; ayrıntılar için [LICENSE](../LICENSE) dosyasına bakın. + +## 🙏 Teşekkürler + +
    +Teşekkürleri Göster + +
    + +

    Bir iyileştirme önermek veya hata bildirmek için konu açarak bu projeye katkıda bulunan herkese yürekten teşekkür ederiz.

    + + + + + + + + + + + + + + ile entegrasyon için çalışma zamanı + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Temel Bileşenler
    yt-dlpİndirme Motoru
    FFmpegMedya İşleme
    DenoYt-dlp
    Kütüphaneler ve Çerçeveler
    PySide6GUI Çerçevesi
    YastıkGörüntü İşleme
    isteklerHTTP İstekleri
    paketlemeVersiyon ve Paket İşleme
    markdownMarkdown Oluşturma
    loguruGünlüğe kaydetme
    Varlıklar ve Katkıda Bulunanlar
    Universfield'dan Yeni Bildirim 09Bildirim Sesi
    viru185Kod Katılımcısı
    + +
    + +
    + +## ⚠️ Yasal Uyarı + +Bu araç yalnızca kişisel kullanım içindir. Lütfen YouTube'un hizmet şartlarına ve içerik oluşturucuların haklarına saygı gösterin. + +--- + +
    + +[oop7](https://github.com/oop7) tarafından ❤️ ile yapılmıştır + +
    diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md new file mode 100644 index 0000000..fbb6b65 --- /dev/null +++ b/readme-translations/README.zh.md @@ -0,0 +1,616 @@ +
    + +ytsage-wordmark +YTSage Interface + +[![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) +[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) + +**具有干净 PySide6 界面的现代 YouTube 下载器。** +下载任何质量的视频、提取音频、获取字幕等等。 + +### 🌍 自述文件语言 + +英文:[EN](../README.md) +|巴黎: [AR](README.ar.md) +|德语:[DE](README.de.md) +|西班牙语:[ES](README.es.md) +|法语:[FR](README.fr.md) +|编号:[HI](README.hi.md) +|印度尼西亚语:[ID](README.id.md) +|意大利语:[IT](README.it.md) +| 日本语:[JA](README.ja.md) +|波兰斯基:[PL](README.pl.md) +|葡萄牙语:[PT](README.pt.md) +| Русский: [RU](README.ru.md) +|土耳其:[TR](README.tr.md) +| 中文: [ZH](README.zh.md) + +

    + 安装 • + 特点 • + 使用 • + 屏幕截图 • + 故障排除 • + 赞助商 • + 贡献 +

    + +
    + +--- + + +## ❓ 为什么选择 YTSage? + +YTSage 专为想要**简单但功能强大的 YouTube 下载器**的用户而设计。与其他工具不同,它提供: + +- 干净、现代的 PySide6 界面 +- 视频、音频和字幕一键下载 +- SponsorBlock、字幕合并和播放列表选择等高级功能 +- 适用于 YouTube 以外支持 yt-dlp 的网站的可选通用模式 +- 跨平台支持且易于安装 + + +## ✨ 特点 + +
    + +|核心特点|高级功能 |额外功能 | +|------------------------------------------------|--------------------------------------------------------|------------------------------------| +| 🎥 格式化表格 | 🚫 SponsorBlock 集成 | 🎞️ FPS/HDR 显示 | +| 🎵 音频提取 | 📝 多字幕选择和合并 | 🔄 自动更新 yt-dlp | +| ✨ 简单的用户界面 | 💾 保存描述和缩略图 | 🛠️ FFmpeg/yt-dlp/Deno 检测 | +| 📋 播放列表支持和选择器 | 🚀 限速器 | ⚙️ 自定义命令 | +| 📑 嵌入章节 | ✂️ 修剪视频部分 | 🍪 使用 Cookie 登录 | +| 📜 下载历史记录 | 🔄 发布渠道选择 | 🌐 代理支持 | +| 🎚️ 音频格式转换 | 🎬 视频格式设置 | 🆙 内置更新程序选项卡 | +| 🌍 通用模式 | +| 🌍 14 种语言本地化 | | +
    + + +## 🚀 安装 + +### ⚡ 快速安装(推荐) + +从 PyPI 安装 YTSage: + +```bash +pip install ytsage +``` + +
    +🔄 更新现有安装 + +```bash +pip install --upgrade ytsage +``` + +
    + +然后启动应用程序: + +```bash +ytsage +``` + +### 📦 预构建的可执行文件 + +> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) + +#### 🪟 Windows + +|格式|描述 | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) |标准安装程序 | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) |与 FFmpeg 捆绑 | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) |便携版,无需安装| +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) |带有 FFmpeg 的便携式,压缩 | + +
    +🛠️安装步骤 + +1. **EXE 安装程序 (`.exe`)**:双击该文件并按照安装向导进行操作。 +2. **便携式版本(`.zip`)**:将存档解压到您所需的位置并运行`ytsage.exe`。 +3. **FFmpeg Bundled**:如果您的系统上没有安装 FFmpeg,请选择 FFmpeg 捆绑版本。 +
    + +#### 🐧 Linux + +|格式|描述 | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian 软件包 | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage,便携式| +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) |转包 | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak 捆绑包 | + +
    +🛠️安装步骤 + +- **DEB (`.deb`)**: + ```bash + sudo dpkg -i ytsage_*.deb + sudo apt-get install -f # Fix missing dependencies if any + ``` +- **转速(`.rpm`)**: + ```bash + sudo rpm -i ytsage-*.rpm + ``` +- **应用程序图像(`.AppImage`)**: + ```bash + chmod +x YTSage-*.AppImage + ./YTSage-*.AppImage + ``` +- **Flatpak**:按照 Flathub 上的说明进行操作或运行: + ```bash + flatpak install flathub io.github.oop7.ytsage + ``` +
    + +#### 🍎 macOS + +|格式|描述 | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 的压缩应用程序 | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 的磁盘映像安装程序 | + +
    +🛠️安装步骤 + +- **DMG 安装程序 (`.dmg`)**:双击安装,然后将 `YTSage.app` 拖到您的应用程序文件夹中。 +- **应用程序存档 (`.zip`)**:解压 zip 并将 `YTSage.app` 移动到您的应用程序文件夹。 + +*注意:如果您遇到“应用程序已损坏”错误,请参阅下面的[macOS troubleshooting section](#troubleshooting)。* +
    + +--- + +
    +💻从源手动安装 + +### 1.克隆存储库 + +```bash +git clone https://github.com/oop7/YTSage.git +cd YTSage +``` + +### 2.安装依赖项 + +#### ⚡ 有紫外线 + +```bash +uv pip install . +``` + +#### 📦 或使用标准点 + +```bash +pip install . +``` + +### 3. 运行应用程序 + +```bash +python -m ytsage.main +``` + +
    + + +## 📸 截图 + +
    + + + + + + + + + + + + + + + + + +
    Download SettingsPlaylist Download
    下载设置播放列表下载
    Audio Format Selection with Save ThumbnailCustom Options
    音频格式自定义选项
    +
    +## 📖 用法 + +
    +🎯基本用法 + +1. **启动 YTSage** +2. **粘贴 YouTube URL**(或使用“粘贴 URL”按钮) +3. **点击“分析”** +4. **选择格式:** + - `Video` 用于视频下载 + - `Audio Only` 用于音频提取 +5. **选择选项:** + - 启用字幕并选择语言 + - 启用字幕合并 + - 保存缩略图 + - 删除赞助商部分 + - 保存描述 + - 嵌入章节 +6. **选择输出目录** +7. **点击“下载”** + +> 💡 默认下载目录是用户的“Downloads”文件夹。 + +
    + +
    +📋播放列表下载 + +1. **粘贴播放列表 URL** +2. **点击“分析”** +3. **从播放列表选择器中选择视频(可选,默认为全部)** +4. **选择所需的格式/质量** +5. **点击“下载”** + +> 💡 应用程序自动处理下载队列 + +
    + +
    +🌍非 YouTube 网站的通用模式 + +当您希望 YTSage 接受来自 yt-dlp 支持的网站(例如 Dailymotion、CBC Gem、TikTok 等)的 URL 时,请使用通用模式。 + +使用方法: + +1. 打开`Download Settings`。 +2. 启用`Generic Mode`。 +3. 粘贴受支持的非 YouTube 视频或播放列表 URL。 +4. 单击`Analyze`。 +5. 选择格式并照常下载。 + +注意事项: + +- 通用模式仅更改 YTSage 内的 URL 验证。您安装的 yt-dlp 版本仍必须支持目标站点。 +- 某些站点需要 cookie、登录会话、代理或额外的 yt-dlp 参数,具体取决于提取器。 +- 如果站点出现故障,请先从内置更新程序选项卡更新 yt-dlp,然后再报告问题。 + +
    + +
    +🧰媒体和下载选项 + +- **字幕选项:** 过滤语言并将字幕嵌入到视频文件中 +- **字幕合并:** 将字幕合并到视频文件中以获取硬编码字幕 +- **保存描述:** 将视频描述保存为文本文件 +- **保存缩略图:** 将视频缩略图保存为图像文件 +- **嵌入章节:** 将章节标记嵌入为兼容视频播放器的元数据 +- **删除赞助商片段:** 使用 SponsorBlock 从视频中删除赞助商片段 +- **修剪视频:** 通过以 `HH:MM:SS` 格式指定时间范围,仅下载视频的特定部分 + +
    + +
    +⚙️输出和文件设置 + +- **限速器:**限制下载速度,例如`500K`为500 KB/s +- **保存下载路径:** 保存默认下载路径以供将来下载。在**下载设置→下载路径**中可用。 +- **输出文件名格式:** 使用`%(title)s`、`%(uploader)s`和`%(resolution)s`等变量自定义输出文件名格式。在**下载设置 → 文件名格式**中可用。- **强制输出格式:** 强制视频下载为特定容器格式,例如`mp4`、`webm`或`mkv`。在**下载设置 → 输出格式设置**中可用。 +- **音频格式转换:** 将纯音频下载转换为首选格式,例如 `AAC`、`MP3`、`FLAC`、`WAV`、`Opus`、`M4A`、 `Vorbis`,或`Best`。在**下载设置 → 音频格式设置**中可用。 + +
    + +
    +🌐接入和网络 + +- **使用 Cookie 登录:** 使用 Cookie 登录 YouTube 以访问私人内容。 + 使用方法: + 1. **推荐:** 使用应用程序中的内置`Extract cookies from browser`选项,然后选择您的浏览器和可选的配置文件。 + 2. 或者,手动提取 cookie: + a.使用类似 [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) 的扩展程序从浏览器导出 cookie + b.以 Netscape 格式复制 cookie + c.创建一个名为 `cookies.txt` 的文件并将 cookie 粘贴到其中 + d.在应用程序中选择`cookies.txt`文件 +- **代理支持:** 使用代理服务器进行下载,例如`http://:` +- **通用模式:** 允许 YTSage 从 yt-dlp 支持的非 YouTube 网站分析和下载。从**下载设置 → 通用模式**启用它。 + +
    + +
    +🛠️工具与维护 + +- **自定义命令:** 通过命令行参数访问高级 yt-dlp 功能 +- **更新程序选项卡:** 从自定义选项中的一处管理内置更新工具: + - **yt-dlp 更新:** 检查更新并在稳定版和夜间发布频道之间切换 + - **FFmpeg 版本检查器:** 检查您的 FFmpeg 版本并打开安装指南 + - **Deno 更新:** 检查并更新 Deno 运行时 +- **FFmpeg/yt-dlp/Deno 检测:** 从“关于”对话框中自动检测 FFmpeg、yt-dlp 和 Deno 路径和版本。 +- **下载历史记录:** 通过“**历史记录**”按钮查看过去的下载,其中包含缩略图和状态。 + +
    + +
    +🌍本地化 + +YTSage 支持**14 种语言**,可在全球范围内访问。从**自定义选项 → 语言**中选择您的首选语言。 + +### 支持的语言 + +|语言 |代码|语言 |代码| +|----------|------|----------|------| +| 🇺🇸 英语 | `en` | 🇪🇸 西班牙语 | `es` | +| 🇸🇦 阿拉伯语 | `ar` | 🇫🇷 法语 | `fr` | +| 🇩🇪 德语 | `de` | 🇮🇳 印地语 | `hi` | +| 🇮🇩 印度尼西亚语 | `id` | 🇮🇹 意大利语 | `it` | +| 🇯🇵 日语 | `ja` | 🇵🇱 波兰语 | `pl` | +| 🇧🇷 葡萄牙语 | `pt` | 🇷🇺 俄语 | `ru` | +| 🇹🇷 土耳其语 | `tr` | 🇨🇳 中文 | `zh` | + +### 自述文件翻译 + +|语言 |文件 |语言 |文件 | +|----------|------|----------|------| +| 🇺🇸 英语 | [README.md](../README.md) | 🇪🇸 西班牙语 | [README.es.md](README.es.md) +| 🇸🇦 阿拉伯语 | [README.ar.md](README.ar.md) | 🇫🇷 法语 | [README.fr.md](README.fr.md) | +| 🇩🇪 德语 | [README.de.md](README.de.md) | 🇮🇳 印地语 | [README.hi.md](README.hi.md) | +| 🇮🇩 印度尼西亚语 | [README.id.md](README.id.md) | 🇮🇹 意大利语 | [README.it.md](README.it.md) | +| 🇯🇵 日语 | [README.ja.md](README.ja.md) | 🇵🇱 波兰语 | [README.pl.md](README.pl.md) | +| 🇧🇷 葡萄牙语 | [README.pt.md](README.pt.md) | 🇷🇺 俄语 | [README.ru.md](README.ru.md) | +| 🇹🇷 土耳其语 | [README.tr.md](README.tr.md) | 🇨🇳 中文 | [README.zh.md](README.zh.md) | + +> 💡 **想要贡献翻译吗?** 查看 [Contributing](#contributing) 部分以帮助我们添加更多语言! + +
    + + +## 🛠️ 故障排除 + +
    +点击查看常见问题及解决方案 + +- **格式表不显示:** 将 yt-dlp 更新到最新版本,并切换到 yt-dlp nightly。 +- **下载失败:** 检查您的互联网连接并确保视频可用。 +- **具体下载错误:** + - **私人视频:** 使用cookie身份验证访问私人内容。 + - **有年龄限制的内容:** 登录 YouTube 帐户即可观看有年龄限制的视频。 + - **地理封锁的视频:** 考虑使用 VPN 来绕过区域限制。 + - **删除/删除的视频:** YouTube 上不再提供视频。 + - **直播:** 直播无法下载;等待流结束。 + - **网络错误:** 检查您的互联网连接并重试。 + - **无效 URL:** 确保 URL 正确且来自受支持的平台。 + - **高级内容:** 需要 YouTube Premium 会员资格。 + - **版权封锁:** 由于版权限制,内容被封锁。 +- **下载后分离视频和音频文件:** 当 FFmpeg 丢失或未检测到时会发生这种情况。 YTSage 需要 FFmpeg 来合并高质量的视频和音频流。 + - **解决方案:** 确保 FFmpeg 已安装并可在系统路径中访问。对于 Windows 用户,最简单的选择是下载与 FFmpeg 捆绑在一起的 `YTSage-v-ffmpeg.exe` 文件。 + +--- + +#### 🛡️ Windows Defender / 防病毒警告 + +某些防病毒软件可能会将“.exe”文件标记为误报。这是打包应用程序的**已知限制**。 + +**为什么会发生这种情况:** +- 防病毒启发式可能会将打包的可执行文件误认为可疑 + +**安全替代品:** +- ✅ **使用pip安装:** `pip install ytsage`(推荐) +- ✅ **从源代码构建**:按照此[guide](../.github/CI_CD_README.md) +- ✅ **在防病毒软件中将应用程序列入白名单** + +#### 🍎 macOS:“应用程序已损坏且无法打开” +如果您在 macOS Sonoma 或更高版本上看到此错误,则需要删除隔离属性。 + +1. **打开终端**(您可以使用 Spotlight 找到它)。 +2. **键入以下命令**,但**不要**按 Enter 键。确保末尾包含空格: + ```bash + xattr -d com.apple.quarantine + ``` +3. **将 `YTSage.app` 文件**从 Finder 窗口拖放到终端窗口中。这将自动粘贴正确的文件路径。 +4. **按 Enter** 运行命令。 +5. **再次尝试打开 YTSage.app。** 现在它应该可以正确启动。 + +--- + +#### **配置位置(高级)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage` + +
    + + +## 💖 赞助商 + +如果 YTSage 可以节省您的时间,请考虑赞助该项目。赞助有助于涵盖开发时间、跨平台测试以及未来的改进。 + +- GitHub 赞助商:https://github.com/sponsors/oop7 +- 赞助商链接也可以直接在应用程序内的“关于”对话框中找到。 + +[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) + + +## 👥 贡献 + +我们欢迎贡献!以下是您可以提供帮助的方法: + +1. 🍴 分叉存储库 +2. 🌿 创建您的功能分支: + ```bash + git checkout -b feature/AmazingFeature + ``` +3. 💾 提交您的更改: + ```bash + git commit -m 'Add some AmazingFeature' + ``` +4. 📤推送到分支: + ```bash + git push origin feature/AmazingFeature + ``` +5. 🔄 打开拉取请求 + +### 🌍 贡献翻译 + +- 更新匹配的本地化自述文件(例如`README.es.md`) +- 通过编辑`ytsage/languages/.json`保持应用程序字符串同步 +- 如果您的语言缺失,请从`README.md`开始并创建`README..md` + +
    +📂项目结构 + +## YTSage - 项目结构 + +本文档描述了 YTSage 的组织文件夹结构。 + +### 📁 项目结构 + +``` +YTSage/ +├── 📁 .github/ # GitHub configuration +│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates +│ │ └── 🐛-bug-report.md # Bug report template +│ ├─── 📁 workflows/ # GitHub Actions workflows +│ │ ├── build-linux.yml # Linux build workflow +│ │ ├── build-macos.yml # macOS build workflow +│ │ │── build-windows.yml # Windows build workflow +| | └── release-all.yml # Master release workflow +│ └── 📄 CI_CD_README.md # CI/CD documentation +├── 📁 branding/ # Branding assets (Screenshots, SVGs) +│ ├── 📁 icons/ # Application icons +│ ├── 📁 screenshots/ # Screenshots for documentation +│ └── 📁 svg/ # SVG assets +├── 📄 LICENSE # License file +├── 📄 pyproject.toml # Project metadata and dependencies +├── 📄 README.md # Project documentation +├── 📄 requirements.txt # Python dependencies (dev) +└── 📁 ytsage/ # Source package + ├── 📁 assets/ # Runtime assets + │ ├── 📁 Icon/ # Application icons + │ └── 📁 sound/ # Audio files + ├── 📁 languages/ # Localization files + │ ├── 📄 ar.json # Arabic translation + │ ├── 📄 de.json # German translation + │ ├── 📄 en.json # English translation + │ └── ... # Other languages + ├── 📁 core/ # Core business logic + │ ├── 📄 __init__.py # Core package init + │ ├── 📄 ytsage_deno.py # Deno integration + │ ├── 📄 ytsage_downloader.py # Download functionality + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration + │ ├── 📄 ytsage_utils.py # Utility functions + │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration + ├── 📁 gui/ # User interface components + │ ├── 📄 __init__.py # GUI package init + │ ├── 📄 ytsage_gui_main.py # Main application window + │ └── 📁 ytsage_gui_dialogs/ # Dialog classes + ├── 📁 utils/ # Utility modules + │ ├── 📄 __init__.py # Utils package init + │ ├── 📄 ytsage_config_manager.py # Configuration management + │ └── 📄 ytsage_logger.py # Logging utilities + ├── 📄 __init__.py # Package entry point + └── 📄 main.py # Main execution script +``` + +
    + +## ⭐️ 明星历史 + +
    + +## 明星历史 + + + + + + Star History Chart + + + +
    + +## 📜 许可证 + +该项目已获得 MIT 许可证 - 有关详细信息,请参阅[LICENSE](../LICENSE) 文件。 + +## 🙏致谢 + +
    +显示致谢 + +
    + +

    衷心感谢所有通过提出改进建议或报告错误为该项目做出贡献的人。

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    核心组件
    yt-dlp下载引擎
    FFmpeg媒体处理
    德诺与 yt-dlp 集成的运行时
    库和框架
    PySide6GUI框架
    枕头图像处理
    请求HTTP 请求
    包装版本和包处理
    降价Markdown 渲染
    loguru记录
    资产和贡献者
    Universfield 的新通知 09通知声音
    viru185代码贡献者
    + +
    + +
    + +## ⚠️ 免责声明 + +该工具仅供个人使用。请尊重 YouTube 的服务条款和内容创作者的权利。 + +--- + +
    + +由[oop7](https://github.com/oop7)用❤️制作 + +
    From b43ed3212c329e50009886121b61720e5aa8aac1 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 19 Mar 2026 14:12:12 +0200 Subject: [PATCH 496/568] Fix localized usage sections --- readme-translations/README.ar.md | 1 + readme-translations/README.de.md | 1 + readme-translations/README.es.md | 1 + readme-translations/README.fr.md | 1 + readme-translations/README.hi.md | 1 + readme-translations/README.id.md | 1 + readme-translations/README.it.md | 1 + readme-translations/README.ja.md | 1 + readme-translations/README.pl.md | 1 + readme-translations/README.pt.md | 1 + readme-translations/README.ru.md | 1 + readme-translations/README.tr.md | 1 + readme-translations/README.zh.md | 1 + 13 files changed, 13 insertions(+) diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md index cdb683d..c8c76de 100644 --- a/readme-translations/README.ar.md +++ b/readme-translations/README.ar.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 الاستخدام
    diff --git a/readme-translations/README.de.md b/readme-translations/README.de.md index 50bbcb7..8e1a536 100644 --- a/readme-translations/README.de.md +++ b/readme-translations/README.de.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Verwendung
    diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md index ff177a8..ba432cf 100644 --- a/readme-translations/README.es.md +++ b/readme-translations/README.es.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Uso
    diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md index 9c18b15..db5740d 100644 --- a/readme-translations/README.fr.md +++ b/readme-translations/README.fr.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Utilisation
    diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md index 17987d4..1ad6b0a 100644 --- a/readme-translations/README.hi.md +++ b/readme-translations/README.hi.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 प्रयोग
    diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md index 9e087df..e46a778 100644 --- a/readme-translations/README.id.md +++ b/readme-translations/README.id.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Penggunaan
    diff --git a/readme-translations/README.it.md b/readme-translations/README.it.md index 38e39c3..25ccdc2 100644 --- a/readme-translations/README.it.md +++ b/readme-translations/README.it.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Utilizzo
    diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md index 28b1540..b10f0af 100644 --- a/readme-translations/README.ja.md +++ b/readme-translations/README.ja.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 使用法
    diff --git a/readme-translations/README.pl.md b/readme-translations/README.pl.md index 1dbcf8c..566c91e 100644 --- a/readme-translations/README.pl.md +++ b/readme-translations/README.pl.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Użycie
    diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md index dd879e6..8c17a46 100644 --- a/readme-translations/README.pt.md +++ b/readme-translations/README.pt.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Uso
    diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md index 3520e56..8344c67 100644 --- a/readme-translations/README.ru.md +++ b/readme-translations/README.ru.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Использование
    diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md index 0a46ab9..24f01a5 100644 --- a/readme-translations/README.tr.md +++ b/readme-translations/README.tr.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 Kullanım
    diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md index fbb6b65..6f4d243 100644 --- a/readme-translations/README.zh.md +++ b/readme-translations/README.zh.md @@ -227,6 +227,7 @@ python -m ytsage.main + ## 📖 用法
    From 67dc1c83f267c6323c9f441066ea5ef29b56a220 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 19 Mar 2026 14:34:37 +0200 Subject: [PATCH 497/568] Bump package version to 5.0.2b Update ytsage.__version__ from 5.0.1b to 5.0.2b to mark the next beta release. --- ytsage/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ytsage/__init__.py b/ytsage/__init__.py index e4a63b8..f2c4957 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.1b" +__version__ = "5.0.2b" __author__ = "oop7" From 4a16aad2aceb59194ce1ecec3e593ba229e4c1a8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 19 Mar 2026 14:45:56 +0200 Subject: [PATCH 498/568] Add check_app_updates setting and UI Introduce a new "check_app_updates" configuration (default: true) to allow users to enable/disable automatic YTSage update checks. Adds a styled checkbox to the Updater tab with getter, loads the setting (defaults to enabled for older configs), and saves it from the custom options dialog. The main update check now respects this setting and will skip checking when disabled. Also include English localization entries for the new UI strings. --- .../ytsage_dialogs_custom.py | 5 +++ .../ytsage_dialogs_updater.py | 35 +++++++++++++++++++ ytsage/gui/ytsage_gui_main.py | 4 +++ ytsage/languages/en.json | 1 + ytsage/utils/ytsage_config_manager.py | 1 + ytsage/utils/ytsage_localization.py | 5 ++- 6 files changed, 50 insertions(+), 1 deletion(-) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index e8f3d28..3c19863 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -972,6 +972,11 @@ class CustomOptionsDialog(QDialog): ConfigManager.set("check_beta_updates", beta_enabled) logger.info(f"Saved beta updates setting: {beta_enabled}") + # Save app update checker setting + app_updates_enabled = self.updater_tab.get_app_update_checker_setting() + ConfigManager.set("check_app_updates", app_updates_enabled) + logger.info(f"Saved app updates checker setting: {app_updates_enabled}") + except Exception as e: logger.exception(f"Error saving auto-update settings: {e}") diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py index 8f8e4bb..fd0ff6b 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_updater.py @@ -445,6 +445,33 @@ class UpdaterTabWidget(QWidget): # === App Updates Section === app_update_group = QGroupBox(_("settings.app_updates_title")) app_update_layout = QVBoxLayout() + + self.app_updates_checkbox = QCheckBox(_("settings.check_app_updates")) + self.app_updates_checkbox.setStyleSheet( + """ + QCheckBox { + color: #ffffff; + spacing: 5px; + padding: 3px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + """ + ) + app_update_layout.addWidget(self.app_updates_checkbox) self.beta_updates_checkbox = QCheckBox(_("settings.check_beta_updates")) self.beta_updates_checkbox.setStyleSheet( @@ -655,6 +682,10 @@ class UpdaterTabWidget(QWidget): # Load beta setting beta_enabled = ConfigManager.get("check_beta_updates") or False self.beta_updates_checkbox.setChecked(beta_enabled) + + # Load app update checker setting (default enabled for older configs) + app_updates_enabled = ConfigManager.get("check_app_updates") + self.app_updates_checkbox.setChecked(app_updates_enabled is not False) # Set current selection based on saved settings current_frequency = auto_settings["frequency"] @@ -697,6 +728,10 @@ class UpdaterTabWidget(QWidget): def get_beta_update_setting(self) -> bool: """Returns the beta update setting from the dialog.""" return self.beta_updates_checkbox.isChecked() + + def get_app_update_checker_setting(self) -> bool: + """Returns the app version checker setting from the dialog.""" + return self.app_updates_checkbox.isChecked() def _on_channel_changed(self, checked: bool) -> None: """Handle channel selection change.""" diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 61a66aa..23d80cd 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -958,6 +958,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): def check_for_updates(self) -> None: """Starts the update check in a background thread.""" + if ConfigManager.get("check_app_updates") is False: + logger.info("App version checker is disabled in settings.") + return + self.update_thread = UpdateCheckThread(self.version) self.update_thread.update_available.connect(self.show_update_dialog) self.update_thread.start() diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index a98751d..4cb0824 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -304,6 +304,7 @@ "ytdlp_channel_switch_failed": "❌ Failed to switch channel: {error}", "ytdlp_current_channel": "Current channel: {channel}", "app_updates_title": "YTSage Updates", + "check_app_updates": "Check for YTSage updates on startup", "check_beta_updates": "Receive Beta Updates", "auto_update_title": "Auto-Update Settings", "auto_update_header": "🔄 Auto-Update Settings", diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index fdb2e95..0692e6a 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -84,6 +84,7 @@ class ConfigManager: "geo_proxy_url": None, "auto_update_ytdlp": True, "auto_update_frequency": "daily", + "check_app_updates": True, "check_beta_updates": False, "last_update_check": 0, "language": "en", diff --git a/ytsage/utils/ytsage_localization.py b/ytsage/utils/ytsage_localization.py index db91723..a7eb4fa 100644 --- a/ytsage/utils/ytsage_localization.py +++ b/ytsage/utils/ytsage_localization.py @@ -73,7 +73,10 @@ class LocalizationManager: "settings": { "generic_mode": "Generic Mode", "enable_generic_mode": "Enable Generic Mode (support non-YouTube sites)", - "generic_mode_help": "Allows downloading from Dailymotion, CBC Gem, and other sites supported by yt-dlp." + "generic_mode_help": "Allows downloading from Dailymotion, CBC Gem, and other sites supported by yt-dlp.", + "app_updates_title": "YTSage Updates", + "check_app_updates": "Check for YTSage updates on startup", + "check_beta_updates": "Receive Beta Updates" }, "tabs": { "cookies": "Login with Cookies", From fff674a0b8988b53b779129481120959abc6170d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 19 Mar 2026 14:49:37 +0200 Subject: [PATCH 499/568] Add check_app_updates key to locales Add a new "check_app_updates" translation string to multiple language files so the UI can display the option to check for YTSage updates at startup. Updated languages: ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh. --- ytsage/languages/ar.json | 1 + ytsage/languages/de.json | 1 + ytsage/languages/es.json | 1 + ytsage/languages/fr.json | 1 + ytsage/languages/hi.json | 1 + ytsage/languages/id.json | 1 + ytsage/languages/it.json | 1 + ytsage/languages/ja.json | 1 + ytsage/languages/pl.json | 1 + ytsage/languages/pt.json | 1 + ytsage/languages/ru.json | 1 + ytsage/languages/tr.json | 1 + ytsage/languages/zh.json | 1 + 13 files changed, 13 insertions(+) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index bce5935..f131a55 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ فشل تبديل القناة: {error}", "ytdlp_current_channel": "القناة الحالية: {channel}", "app_updates_title": "تحديثات YTSage", + "check_app_updates": "التحقق من تحديثات YTSage عند بدء التشغيل", "check_beta_updates": "تلقي تحديثات تجريبية (Beta)", "auto_update_title": "إعدادات التحديثات التلقائية", "auto_update_header": "🔄 إعدادات التحديثات التلقائية", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index 8f7d7a5..47b046d 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ Kanalwechsel fehlgeschlagen: {error}", "ytdlp_current_channel": "Aktueller Kanal: {channel}", "app_updates_title": "YTSage-Updates", + "check_app_updates": "Beim Start nach YTSage-Updates suchen", "check_beta_updates": "Beta-Updates erhalten", "auto_update_title": "Auto-Update-Einstellungen", "auto_update_header": "🔄 Auto-Update-Einstellungen", diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index 974dc59..d74381b 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -286,6 +286,7 @@ "ytdlp_channel_switch_failed": "❌ Error al cambiar de canal: {error}", "ytdlp_current_channel": "Canal actual: {channel}", "app_updates_title": "Actualizaciones de YTSage", + "check_app_updates": "Buscar actualizaciones de YTSage al iniciar", "check_beta_updates": "Recibir actualizaciones beta", "auto_update_title": "Configuración de Auto-Actualización", "auto_update_header": "🔄 Configuración de Auto-Actualización", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 997889a..21368a4 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ Échec du changement de canal : {error}", "ytdlp_current_channel": "Canal actuel : {channel}", "app_updates_title": "Mises à jour YTSage", + "check_app_updates": "Vérifier les mises à jour YTSage au démarrage", "check_beta_updates": "Recevoir les mises à jour bêta", "auto_update_title": "Paramètres de mise à jour automatique", "auto_update_header": "🔄 Paramètres de mise à jour automatique", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index ef43692..85d06c8 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ चैनल स्विच करना विफल: {error}", "ytdlp_current_channel": "वर्तमान चैनल: {channel}", "app_updates_title": "YTSage अपडेट", + "check_app_updates": "स्टार्टअप पर YTSage अपडेट जांचें", "check_beta_updates": "बीटा अपडेट प्राप्त करें", "auto_update_title": "स्वचालित अपडेट सेटिंग्स", "auto_update_header": "🔄 स्वचालित अपडेट सेटिंग्स", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index 97a3f5b..db3cf0e 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ Gagal beralih saluran: {error}", "ytdlp_current_channel": "Saluran saat ini: {channel}", "app_updates_title": "Pembaruan YTSage", + "check_app_updates": "Periksa pembaruan YTSage saat startup", "check_beta_updates": "Terima Pembaruan Beta", "auto_update_title": "Pengaturan pembaruan otomatis", "auto_update_header": "🔄 Pengaturan pembaruan otomatis", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 24026f4..114d7fb 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ Impossibile cambiare canale: {error}", "ytdlp_current_channel": "Canale attuale: {channel}", "app_updates_title": "Aggiornamenti YTSage", + "check_app_updates": "Controlla aggiornamenti YTSage all'avvio", "check_beta_updates": "Ricevi aggiornamenti beta", "auto_update_title": "Impostazioni aggiornamenti automatici", "auto_update_header": "🔄 Impostazioni aggiornamenti automatici", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 0520b44..8ccf600 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ チャンネルの切り替えに失敗しました: {error}", "ytdlp_current_channel": "現在のチャンネル: {channel}", "app_updates_title": "YTSageの更新", + "check_app_updates": "起動時にYTSageの更新を確認する", "check_beta_updates": "ベータ版の更新を受け取る", "auto_update_title": "自動更新設定", "auto_update_header": "🔄 自動更新設定", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 229e5df..2c8b4bd 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ Nie udało się przełączyć kanału: {error}", "ytdlp_current_channel": "Aktualny kanał: {channel}", "app_updates_title": "Aktualizacje YTSage", + "check_app_updates": "Sprawdzaj aktualizacje YTSage przy uruchomieniu", "check_beta_updates": "Otrzymuj aktualizacje beta", "auto_update_title": "Ustawienia automatycznych aktualizacji", "auto_update_header": "🔄 Ustawienia automatycznych aktualizacji", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index e6f39aa..74a45dd 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ Falha ao trocar de canal: {error}", "ytdlp_current_channel": "Canal atual: {channel}", "app_updates_title": "Atualizações do YTSage", + "check_app_updates": "Verificar atualizações do YTSage na inicialização", "check_beta_updates": "Receber atualizações beta", "auto_update_title": "Configurações de Auto-Atualização", "auto_update_header": "🔄 Configurações de Auto-Atualização", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index fb88854..27db81e 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -303,6 +303,7 @@ "ytdlp_channel_switch_failed": "❌ Не удалось переключить канал: {error}", "ytdlp_current_channel": "Текущий канал: {channel}", "app_updates_title": "Обновления YTSage", + "check_app_updates": "Проверять обновления YTSage при запуске", "check_beta_updates": "Получать бета-обновления", "auto_update_title": "Настройки автообновления", "auto_update_header": "🔄 Настройки автообновления", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 11599f3..ff789a4 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -301,6 +301,7 @@ "ytdlp_channel_switch_failed": "❌ Kanal değiştirilemedi: {error}", "ytdlp_current_channel": "Mevcut kanal: {channel}", "app_updates_title": "YTSage Güncellemeleri", + "check_app_updates": "Başlangıçta YTSage güncellemelerini kontrol et", "check_beta_updates": "Beta Güncellemelerini Al", "auto_update_title": "Otomatik güncelleme ayarları", "auto_update_header": "🔄 Otomatik güncelleme ayarları", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index c95c01e..5aca317 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -291,6 +291,7 @@ "ytdlp_channel_switch_failed": "❌ 切换渠道失败:{error}", "ytdlp_current_channel": "当前渠道:{channel}", "app_updates_title": "YTSage 更新", + "check_app_updates": "启动时检查 YTSage 更新", "check_beta_updates": "接收测试版更新", "auto_update_title": "自动更新设置", "auto_update_header": "🔄 自动更新设置", From b048f8ce09b522e0f77af97f16d3222630632a93 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 21 Mar 2026 15:08:48 +0200 Subject: [PATCH 500/568] Add audio normalization option and support Introduce an "audio_normalization" option across the app and implement normalization for audio-only downloads. Updates include: add config default (ConfigManager), new language strings, settings UI checkbox + help text and logic to auto-enable force-audio-format when normalization is enabled, and persist the setting. Pass the setting from main app to DownloadThread, and in the downloader force re-encoding to mp3 when necessary and append --postprocessor-args ExtractAudio:-af loudnorm=... to apply EBU R128 normalization. This ensures normalization works reliably (avoids ffmpeg stream-copy errors) and keeps the behavior scoped to ExtractAudio postprocessor. --- ytsage/core/ytsage_downloader.py | 18 +++++++++ .../ytsage_dialogs_settings.py | 38 +++++++++++++++++++ ytsage/gui/ytsage_gui_main.py | 10 ++++- ytsage/languages/en.json | 2 + ytsage/utils/ytsage_config_manager.py | 1 + 5 files changed, 67 insertions(+), 2 deletions(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index 0647152..a66d9a0 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -72,6 +72,7 @@ class DownloadThread(QThread): preferred_output_format="mp4", force_audio_format=False, preferred_audio_format="best", + audio_normalization=False, filename_format=None, ) -> None: super().__init__() @@ -100,6 +101,7 @@ class DownloadThread(QThread): self.preferred_output_format = preferred_output_format self.force_audio_format = force_audio_format self.preferred_audio_format = preferred_audio_format + self.audio_normalization = audio_normalization self.filename_format = filename_format self.paused: bool = False self.cancelled: bool = False @@ -271,6 +273,22 @@ class DownloadThread(QThread): logger.debug(f"Using --extract-audio with --audio-format {self.preferred_audio_format} for audio-only download") else: logger.debug("Using --extract-audio with best quality (no conversion) for audio-only download") + + # Add Audio Normalization if enabled (only applies to audio-only downloads) + if self.audio_normalization and self.is_audio_only: + # Normalization using FFmpeg filters requires re-encoding the audio stream. + # If the user selected "Best (No conversion)", yt-dlp attempts to stream copy (-c:a copy), + # which will cause FFmpeg to crash with "Invalid argument". + # We fix this by forcing an explicit actual conversion (mp3) if no format was forced. + if not self.force_audio_format or self.preferred_audio_format == "best": + if "--extract-audio" not in cmd: + cmd.append("--extract-audio") + cmd.extend(["--audio-format", "mp3"]) + logger.debug("Forced audio format to mp3 since normalization requires re-encoding") + + # Scope the argument specifically to ExtractAudio so it doesn't conflict with other PPs + cmd.extend(["--postprocessor-args", "ExtractAudio:-af loudnorm=I=-16:LRA=11:TP=-1.5"]) + logger.debug("Added Audio Normalization (--postprocessor-args ExtractAudio:-af loudnorm=...)") # Output template with resolution in filename # Use string concatenation instead of Path.joinpath to avoid Path object issues diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 6e78e6a..e2c1705 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -261,12 +261,24 @@ class DownloadSettingsDialog(QDialog): # Load current audio format settings from ConfigManager self.force_audio_format_enabled = ConfigManager.get("force_audio_format") or False self.preferred_audio_format_value = ConfigManager.get("preferred_audio_format") or "best" + self.audio_normalization_enabled = ConfigManager.get("audio_normalization") or False # Enable/Disable force audio format checkbox self.force_audio_format_checkbox = QCheckBox(_("settings.force_audio_format")) self.force_audio_format_checkbox.setChecked(self.force_audio_format_enabled) audio_format_layout.addWidget(self.force_audio_format_checkbox) + # Enable/Disable audio normalization checkbox + self.audio_normalization_checkbox = QCheckBox(_("settings.audio_normalization", default="Audio Normalization")) + self.audio_normalization_checkbox.setChecked(self.audio_normalization_enabled) + audio_format_layout.addWidget(self.audio_normalization_checkbox) + + # Audio normalization help text + audio_norm_help_label = QLabel(_("settings.audio_normalization_help", default="When enabled, audio will be normalized using EBU R128 standard.")) + audio_norm_help_label.setWordWrap(True) + audio_norm_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 11px;") + audio_format_layout.addWidget(audio_norm_help_label) + # Audio format selection layout audio_format_select_layout = QHBoxLayout() audio_format_label = QLabel(_("settings.preferred_audio_format")) @@ -297,6 +309,10 @@ class DownloadSettingsDialog(QDialog): audio_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 11px;") audio_format_layout.addWidget(audio_help_label) + # Connect signals + self.audio_normalization_checkbox.stateChanged.connect(self._on_audio_normalization_toggled) + self.force_audio_format_checkbox.stateChanged.connect(self._on_force_audio_format_toggled) + audio_format_group_box.setLayout(audio_format_layout) layout.addWidget(audio_format_group_box) @@ -337,6 +353,22 @@ class DownloadSettingsDialog(QDialog): button_box.rejected.connect(self.reject) layout.addWidget(button_box) + def _on_audio_normalization_toggled(self, state: int) -> None: + """Handle logic when audio normalization is toggled.""" + if state == Qt.CheckState.Checked.value: + # Normalization requires re-encoding, so we must force an audio format + self.force_audio_format_checkbox.setChecked(True) + + # If 'Best (No conversion)' is selected, change it to MP3 to ensure re-encoding + if self.audio_format_combo.currentIndex() == 0: + self.audio_format_combo.setCurrentIndex(2) # Index 2 is typically MP3 + + def _on_force_audio_format_toggled(self, state: int) -> None: + """Handle logic when force audio format is toggled.""" + if state == Qt.CheckState.Unchecked.value: + # If re-encoding is disabled, normalization cannot happen + self.audio_normalization_checkbox.setChecked(False) + def browse_new_path(self) -> None: new_path = QFileDialog.getExistingDirectory(self, _("dialogs.select_folder"), str(self.current_path)) if new_path: @@ -385,6 +417,10 @@ class DownloadSettingsDialog(QDialog): audio_format_map = {0: "best", 1: "aac", 2: "mp3", 3: "flac", 4: "wav", 5: "opus", 6: "m4a", 7: "vorbis"} return audio_format_map.get(self.audio_format_combo.currentIndex(), "best") + def get_audio_normalization_enabled(self) -> bool: + """Returns whether audio normalization is enabled.""" + return self.audio_normalization_checkbox.isChecked() + def get_filename_format(self) -> str: """Returns the filename format string.""" return self.filename_format_input.text().strip() @@ -438,8 +474,10 @@ class DownloadSettingsDialog(QDialog): # Save audio format settings force_audio_format = self.get_force_audio_format_enabled() preferred_audio_format = self.get_preferred_audio_format() + audio_normalization = self.get_audio_normalization_enabled() ConfigManager.set("force_audio_format", force_audio_format) ConfigManager.set("preferred_audio_format", preferred_audio_format) + ConfigManager.set("audio_normalization", audio_normalization) # Save filename format filename_format = self.get_filename_format() diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 23d80cd..fd498f3 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -257,6 +257,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.preferred_output_format = ConfigManager.get("preferred_output_format") or "mp4" self.force_audio_format = ConfigManager.get("force_audio_format") or False self.preferred_audio_format = ConfigManager.get("preferred_audio_format") or "best" + self.audio_normalization = ConfigManager.get("audio_normalization") or False self.generic_mode_enabled = ConfigManager.get("generic_mode") or False # Track if video analysis is completed self.analysis_completed = False @@ -640,12 +641,16 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Update Audio Format Settings new_force_audio_format = dialog.get_force_audio_format_enabled() new_preferred_audio_format = dialog.get_preferred_audio_format() + new_audio_normalization = dialog.get_audio_normalization_enabled() audio_format_changed = False - if new_force_audio_format != self.force_audio_format or new_preferred_audio_format != self.preferred_audio_format: + if (new_force_audio_format != self.force_audio_format or + new_preferred_audio_format != self.preferred_audio_format or + new_audio_normalization != self.audio_normalization): self.force_audio_format = new_force_audio_format self.preferred_audio_format = new_preferred_audio_format + self.audio_normalization = new_audio_normalization audio_format_changed = True - logger.info(f"Audio format settings updated - Force: {self.force_audio_format}, Preferred: {self.preferred_audio_format}") + logger.info(f"Audio format settings updated - Force: {self.force_audio_format}, Preferred: {self.preferred_audio_format}, Norm: {self.audio_normalization}") # Update Generic Mode Setting new_generic_mode = dialog.get_generic_mode_enabled() @@ -778,6 +783,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): preferred_output_format=self.preferred_output_format, # Pass preferred format force_audio_format=self.force_audio_format, # Pass force audio format setting preferred_audio_format=self.preferred_audio_format, # Pass preferred audio format + audio_normalization=self.audio_normalization, # Pass audio normalization setting filename_format=filename_format, # Pass the filename format ) diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index 4cb0824..ce6d3f0 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -327,6 +327,8 @@ "format_mkv": "MKV (Feature-rich)", "audio_format_settings": "Audio Format Settings", "force_audio_format": "Force audio format for audio-only downloads", + "audio_normalization": "Audio Normalization (EBU R128)", + "audio_normalization_help": "When enabled, audio tracks will be normalized. Note: This requires re-encoding, so a specific audio format (like MP3 or M4A) must be forced.", "filename_format": "Output Filename Format", "filename_format_help": "Available variables: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standard yt-dlp output template syntax is supported.", "preferred_audio_format": "Preferred audio format:", diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index 0692e6a..d1f27da 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -93,6 +93,7 @@ class ConfigManager: "preferred_output_format": "mp4", "force_audio_format": False, "preferred_audio_format": "best", + "audio_normalization": False, "filename_format": "%(title)s_%(resolution)s.%(ext)s", "cached_versions": { "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, From 62b8ede273f33bc469aab336cfb3bfc1004998ad Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 21 Mar 2026 15:21:40 +0200 Subject: [PATCH 501/568] Add audio normalization docs and translations Document Audio Normalization (EBU R128) in README and translated READMEs, and add corresponding localization keys and help text in ytsage language files. Updates include README.md, readme-translations (ar,de,es,fr,hi,id,it,ja,pl,pt,ru,tr,zh) and ytsage/languages JSON files to explain the feature and note that normalization requires re-encoding and forcing a specific audio format (e.g. MP3 or M4A). --- README.md | 3 ++- readme-translations/README.ar.md | 1 + readme-translations/README.de.md | 1 + readme-translations/README.es.md | 1 + readme-translations/README.fr.md | 1 + readme-translations/README.hi.md | 1 + readme-translations/README.id.md | 1 + readme-translations/README.it.md | 1 + readme-translations/README.ja.md | 1 + readme-translations/README.pl.md | 1 + readme-translations/README.pt.md | 1 + readme-translations/README.ru.md | 1 + readme-translations/README.tr.md | 1 + readme-translations/README.zh.md | 1 + ytsage/languages/ar.json | 4 +++- ytsage/languages/de.json | 4 +++- ytsage/languages/es.json | 4 +++- ytsage/languages/fr.json | 4 +++- ytsage/languages/hi.json | 4 +++- ytsage/languages/id.json | 4 +++- ytsage/languages/it.json | 4 +++- ytsage/languages/ja.json | 4 +++- ytsage/languages/pl.json | 4 +++- ytsage/languages/pt.json | 4 +++- ytsage/languages/ru.json | 4 +++- ytsage/languages/tr.json | 4 +++- ytsage/languages/zh.json | 4 +++- 27 files changed, 54 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 9b7da55..3aa3340 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader | 📑 Embed Chapters | ✂️ Trim Video Sections | 🍪 Login with Cookies | | 📜 Download History | 🔄 Release Channel Selection | 🌐 Proxy Support | | 🎚️ Audio Format Conversion | 🎬 Video Format Settings | 🆙 Built-in Updater Tab | -| 🌍 Generic Mode || 🌍 Localization in 14 Languages | | +| 🌍 Generic Mode | 🔊 Audio Normalization (EBU R128) | 🌍 Localization in 14 Languages | @@ -308,6 +308,7 @@ Notes: - **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, and `%(resolution)s`. Available in **Download Settings → Filename Format**. - **Force Output Format:** Force video downloads into a specific container format such as `mp4`, `webm`, or `mkv`. Available in **Download Settings → Output Format Settings**. - **Audio Format Conversion:** Convert audio-only downloads to preferred formats such as `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`. Available in **Download Settings → Audio Format Settings**. +- **Audio Normalization:** Standardize volume for audio-only downloads using EBU R128.
    diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md index c8c76de..6630e18 100644 --- a/readme-translations/README.ar.md +++ b/readme-translations/README.ar.md @@ -308,6 +308,7 @@ python -m ytsage.main - **تنسيق اسم ملف الإخراج:** قم بتخصيص تنسيق اسم ملف الإخراج باستخدام متغيرات مثل `%(title)s`، `%(uploader)s`، و`%(resolution)s`. متوفر في **إعدادات التنزيل → تنسيق اسم الملف**. - **تنسيق الإخراج الإجباري:** فرض تنزيلات الفيديو في تنسيق حاوية محدد مثل `mp4` أو `webm` أو `mkv`. متوفر في **إعدادات التنزيل ← إعدادات تنسيق الإخراج**. - **تحويل تنسيق الصوت:** تحويل التنزيلات الصوتية فقط إلى التنسيقات المفضلة مثل `AAC`، `MP3`، `FLAC`، `WAV`، `Opus`، `M4A`، `Vorbis` أو `Best`. متوفر في **إعدادات التنزيل → إعدادات تنسيق الصوت**. +- **تطبيع الصوت:** توحيد مستوى الصوت للتنزيلات الصوتية فقط باستخدام EBU R128.
    diff --git a/readme-translations/README.de.md b/readme-translations/README.de.md index 8e1a536..5871266 100644 --- a/readme-translations/README.de.md +++ b/readme-translations/README.de.md @@ -308,6 +308,7 @@ Hinweise: - **Format des Ausgabedateinamens:** Passen Sie das Format des Ausgabedateinamens mithilfe von Variablen wie `%(title)s`, `%(uploader)s` und `%(resolution)s` an. Verfügbar unter **Download-Einstellungen → Dateinamenformat**. - **Ausgabeformat erzwingen:** Video-Downloads in ein bestimmtes Containerformat wie `mp4`, `webm` oder `mkv` erzwingen. Verfügbar unter **Download-Einstellungen → Ausgabeformat-Einstellungen**. - **Audioformatkonvertierung:** Konvertieren Sie reine Audio-Downloads in bevorzugte Formate wie `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` oder `Best`. Verfügbar unter **Download-Einstellungen → Audioformat-Einstellungen**. +- **Audio-Normalisierung:** Standardisieren Sie die Lautstärke für reine Audio-Downloads mit EBU R128.
    diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md index ba432cf..6ef7257 100644 --- a/readme-translations/README.es.md +++ b/readme-translations/README.es.md @@ -308,6 +308,7 @@ Notas: - **Formato de nombre de archivo de salida:** Personalice el formato de nombre de archivo de salida usando variables como `%(title)s`, `%(uploader)s` y `%(resolution)s`. Disponible en **Configuración de descarga → Formato de nombre de archivo**. - **Forzar formato de salida:** Fuerza las descargas de videos en un formato contenedor específico como `mp4`, `webm` o `mkv`. Disponible en **Configuración de descarga → Configuración de formato de salida**. - **Conversión de formato de audio:** Convierta descargas de solo audio a formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` o `Best`. Disponible en **Configuración de descarga → Configuración de formato de audio**. +- **Normalización de audio:** Estandarice el volumen para descargas de solo audio usando EBU R128.
    diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md index db5740d..39030f4 100644 --- a/readme-translations/README.fr.md +++ b/readme-translations/README.fr.md @@ -308,6 +308,7 @@ Remarques : - **Format du nom de fichier de sortie :** Personnalisez le format du nom de fichier de sortie à l'aide de variables telles que `%(title)s`, `%(uploader)s` et `%(resolution)s`. Disponible dans **Paramètres de téléchargement → Format du nom de fichier**. - **Forcer le format de sortie :** Forcer les téléchargements de vidéos dans un format de conteneur spécifique tel que `mp4`, `webm` ou `mkv`. Disponible dans **Paramètres de téléchargement → Paramètres du format de sortie**. - **Conversion de format audio :** Convertissez les téléchargements audio uniquement vers les formats préférés tels que `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, ou `Best`. Disponible dans **Paramètres de téléchargement → Paramètres de format audio**. +- **Normalisation audio :** Standardisez le volume pour les téléchargements audio uniquement à l'aide de l'EBU R128.
    diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md index 1ad6b0a..1792f46 100644 --- a/readme-translations/README.hi.md +++ b/readme-translations/README.hi.md @@ -307,6 +307,7 @@ python -m ytsage.main - **डाउनलोड पथ सहेजें:** भविष्य के डाउनलोड के लिए डिफ़ॉल्ट डाउनलोड पथ सहेजें। **डाउनलोड सेटिंग → डाउनलोड पथ** में उपलब्ध है। - **आउटपुट फ़ाइल नाम प्रारूप:** `%(title)s`, `%(uploader)s`, और `%(resolution)s` जैसे वेरिएबल का उपयोग करके आउटपुट फ़ाइल नाम प्रारूप को अनुकूलित करें। **डाउनलोड सेटिंग्स → फ़ाइल नाम प्रारूप** में उपलब्ध है।- **फोर्स आउटपुट फॉर्मेट:** वीडियो डाउनलोड को एक विशिष्ट कंटेनर फॉर्मेट जैसे `mp4`, `webm`, या `mkv` में फोर्स करें। **डाउनलोड सेटिंग्स → आउटपुट फॉर्मेट सेटिंग्स** में उपलब्ध है। - **ऑडियो प्रारूप रूपांतरण:** केवल-ऑडियो डाउनलोड को पसंदीदा प्रारूपों में परिवर्तित करें जैसे `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, या `Best`. **डाउनलोड सेटिंग्स → ऑडियो फॉर्मेट सेटिंग्स** में उपलब्ध है। +- **ऑडियो सामान्यीकरण:** EBU R128 का उपयोग करके केवल-ऑडियो डाउनलोड के लिए वॉल्यूम को मानकीकृत करें।
    diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md index e46a778..608c2a2 100644 --- a/readme-translations/README.id.md +++ b/readme-translations/README.id.md @@ -308,6 +308,7 @@ Catatan: - **Format Nama File Keluaran:** Sesuaikan format nama file keluaran menggunakan variabel seperti `%(title)s`, `%(uploader)s`, dan `%(resolution)s`. Tersedia di **Pengaturan Unduhan → Format Nama File**. - **Format Output Paksa:** Paksa pengunduhan video ke dalam format wadah tertentu seperti `mp4`, `webm`, atau `mkv`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Output**. - **Konversi Format Audio:** Konversi unduhan audio saja ke format pilihan seperti `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, atau `Best`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Audio**. +- **Normalisasi Audio:** Standarkan volume untuk unduhan audio saja menggunakan EBU R128.
    diff --git a/readme-translations/README.it.md b/readme-translations/README.it.md index 25ccdc2..b382375 100644 --- a/readme-translations/README.it.md +++ b/readme-translations/README.it.md @@ -308,6 +308,7 @@ Note: - **Formato nome file di output:** Personalizza il formato del nome file di output utilizzando variabili come `%(title)s`, `%(uploader)s` e `%(resolution)s`. Disponibile in **Impostazioni download → Formato nome file**. - **Forza formato output:** forza i download dei video in un formato contenitore specifico come `mp4`, `webm` o `mkv`. Disponibile in **Impostazioni download → Impostazioni formato output**. - **Conversione del formato audio:** Converti i download solo audio nei formati preferiti come `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, o `Best`. Disponibile in **Impostazioni download → Impostazioni formato audio**. +- **Normalizzazione audio:** Standardizza il volume per i download solo audio utilizzando EBU R128.
    diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md index b10f0af..92ae185 100644 --- a/readme-translations/README.ja.md +++ b/readme-translations/README.ja.md @@ -307,6 +307,7 @@ Dailymotion、CBC Gem、TikTok など、yt-dlp でサポートされているサ - **ダウンロード パスの保存:** 今後のダウンロードのためにデフォルトのダウンロード パスを保存します。 **[ダウンロード設定] → [ダウンロード パス]** で利用できます。 - **出力ファイル名の形式:** `%(title)s`、`%(uploader)s`、`%(resolution)s` などの変数を使用して、出力ファイル名の形式をカスタマイズします。 **ダウンロード設定 → ファイル名形式**で利用できます。- **出力形式を強制:** ビデオを`mp4`、`webm`、`mkv`などの特定のコンテナ形式に強制的にダウンロードします。 **ダウンロード設定 → 出力形式設定**で利用できます。 - **オーディオ形式変換:** オーディオのみのダウンロードを、`AAC`、`MP3`、`FLAC`、`WAV`、`Opus`、`M4A`、などの優先形式に変換します。 `Vorbis`、または `Best`。 **ダウンロード設定 → オーディオ形式設定**で利用できます。 +- **オーディオの正規化:** EBU R128 を使用して、オーディオのみのダウンロードの音量を標準化します。
    diff --git a/readme-translations/README.pl.md b/readme-translations/README.pl.md index 566c91e..c59c566 100644 --- a/readme-translations/README.pl.md +++ b/readme-translations/README.pl.md @@ -308,6 +308,7 @@ Uwagi: - **Format nazwy pliku wyjściowego:** Dostosuj format nazwy pliku wyjściowego za pomocą zmiennych takich jak `%(title)s`, `%(uploader)s` i `%(resolution)s`. Dostępne w **Ustawienia pobierania → Format nazwy pliku**. - **Wymuś format wyjściowy:** Wymuś pobieranie plików wideo w określonym formacie kontenera, takim jak `mp4`, `webm` lub `mkv`. Dostępne w **Ustawienia pobierania → Ustawienia formatu wyjściowego**. - **Konwersja formatu audio:** Konwertuj pliki do pobrania zawierające wyłącznie dźwięk do preferowanych formatów, takich jak `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` lub `Best`. Dostępne w **Ustawienia pobierania → Ustawienia formatu audio**. +- **Normalizacja dźwięku:** Ujednolicenie głośności pobieranych plików zawierających wyłącznie dźwięk za pomocą EBU R128.
    diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md index 8c17a46..73ca6a3 100644 --- a/readme-translations/README.pt.md +++ b/readme-translations/README.pt.md @@ -308,6 +308,7 @@ Notas: - **Formato do nome do arquivo de saída:** Personalize o formato do nome do arquivo de saída usando variáveis ​​como `%(title)s`, `%(uploader)s` e `%(resolution)s`. Disponível em **Configurações de download → Formato do nome do arquivo**. - **Forçar formato de saída:** Força downloads de vídeo em um formato de contêiner específico, como `mp4`, `webm` ou `mkv`. Disponível em **Configurações de download → Configurações de formato de saída**. - **Conversão de formato de áudio:** Converta downloads somente de áudio para formatos preferidos, como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` ou `Best`. Disponível em **Configurações de download → Configurações de formato de áudio**. +- **Normalização de áudio:** Padronize o volume para downloads somente de áudio usando EBU R128.
    diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md index 8344c67..430a238 100644 --- a/readme-translations/README.ru.md +++ b/readme-translations/README.ru.md @@ -308,6 +308,7 @@ python -m ytsage.main - **Формат имени выходного файла:** Настройте формат имени выходного файла, используя такие переменные, как `%(title)s`, `%(uploader)s` и `%(resolution)s`. Доступно в **Настройки загрузки → Формат имени файла**. - **Принудительный формат вывода.** Принудительно загружайте видео в определенный формат контейнера, например `mp4`, `webm` или `mkv`. Доступно в **Настройки загрузки → Настройки формата вывода**. - **Преобразование аудиоформата:** конвертируйте загрузки, содержащие только аудио, в предпочтительные форматы, такие как `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` или `Best`. Доступно в **Настройки загрузки → Настройки аудиоформата**. +- **Нормализация звука:** Стандартизируйте громкость для загрузок, содержащих только аудио, используя EBU R128.
    diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md index 24f01a5..23b4471 100644 --- a/readme-translations/README.tr.md +++ b/readme-translations/README.tr.md @@ -307,6 +307,7 @@ Notlar: - **İndirme Yolunu Kaydet:** Gelecekteki indirmeler için varsayılan indirme yolunu kaydedin. **İndirme Ayarları → İndirme Yolu**'nda mevcuttur. - **Çıktı Dosya Adı Formatı:** `%(title)s`, `%(uploader)s` ve `%(resolution)s` gibi değişkenleri kullanarak çıktı dosya adı formatını özelleştirin. **İndirme Ayarları → Dosya Adı Formatı**'nda mevcuttur.- **Çıktı Formatını Zorla:** Video indirme işlemlerini `mp4`, `webm` veya `mkv` gibi belirli bir kapsayıcı formatına zorlayın. **İndirme Ayarları → Çıktı Formatı Ayarları** bölümünde mevcuttur. - **Ses Formatı Dönüştürme:** Yalnızca ses indirmelerini `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A` gibi tercih edilen formatlara dönüştürün `Vorbis` veya `Best`. **İndirme Ayarları → Ses Formatı Ayarları**'nda mevcuttur. +- **Ses Normalizasyonu:** EBU R128 kullanarak yalnızca ses indirmeleri için ses düzeyini standartlaştırın.
    diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md index 6f4d243..eee5a89 100644 --- a/readme-translations/README.zh.md +++ b/readme-translations/README.zh.md @@ -307,6 +307,7 @@ python -m ytsage.main - **保存下载路径:** 保存默认下载路径以供将来下载。在**下载设置→下载路径**中可用。 - **输出文件名格式:** 使用`%(title)s`、`%(uploader)s`和`%(resolution)s`等变量自定义输出文件名格式。在**下载设置 → 文件名格式**中可用。- **强制输出格式:** 强制视频下载为特定容器格式,例如`mp4`、`webm`或`mkv`。在**下载设置 → 输出格式设置**中可用。 - **音频格式转换:** 将纯音频下载转换为首选格式,例如 `AAC`、`MP3`、`FLAC`、`WAV`、`Opus`、`M4A`、 `Vorbis`,或`Best`。在**下载设置 → 音频格式设置**中可用。 +- **音频归一化:** 使用 EBU R128 标准化纯音频下载的音量。
    diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index f131a55..9fe49ef 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (غني بالميزات)", "audio_format_settings": "إعدادات تنسيق الصوت", "force_audio_format": "فرض تنسيق الصوت لتنزيلات الصوت فقط", + "audio_normalization": "تسوية الصوت (EBU R128)", + "audio_normalization_help": "عند التمكين، سيتم تسوية المسارات الصوتية. ملاحظة: هذا يتطلب إعادة الترميز، لذلك يجب فرض تنسيق صوتي محدد (مثل MP3 أو M4A).", "preferred_audio_format": "تنسيق الصوت المفضل:", "force_audio_format_help": "عند التمكين، سيتم تحويل تنزيلات الصوت فقط إلى التنسيق المفضل لديك. هذا ينطبق فقط عند تنزيل تنسيقات الصوت.", "audio_format_best": "الأفضل (بدون تحويل)", @@ -619,4 +621,4 @@ "update_failed": "❌ فشل التحديث: {error}", "check_failed": "فشل التحقق من التحديثات. يرجى التحقق من اتصالك بالإنترنت." } -} \ No newline at end of file +} diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index 47b046d..ecb8be1 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (Funktionsreich)", "audio_format_settings": "Audioformat-Einstellungen", "force_audio_format": "Audioformat für Nur-Audio-Downloads erzwingen", + "audio_normalization": "Audio-Normalisierung (EBU R128)", + "audio_normalization_help": "Wenn aktiviert, werden Audiospuren normalisiert. Hinweis: Dies erfordert eine Neukodierung, daher muss ein bestimmtes Audioformat (wie MP3 oder M4A) erzwungen werden.", "preferred_audio_format": "Bevorzugtes Audioformat:", "force_audio_format_help": "Wenn aktiviert, werden Nur-Audio-Downloads in Ihr bevorzugtes Format konvertiert. Dies gilt nur beim Herunterladen von Audioformaten.", "audio_format_best": "Beste (Keine Konvertierung)", @@ -619,4 +621,4 @@ "update_failed": "❌ Update fehlgeschlagen: {error}", "check_failed": "Suche nach Updates fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung." } -} \ No newline at end of file +} diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index d74381b..f368663 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -309,6 +309,8 @@ "format_mkv": "MKV (Rico en funciones)", "audio_format_settings": "Configuración de formato de audio", "force_audio_format": "Forzar formato de audio para descargas solo de audio", + "audio_normalization": "Normalización de audio (EBU R128)", + "audio_normalization_help": "Cuando está activado, las pistas de audio se normalizarán. Nota: esto requiere recodificación, por lo que se debe forzar un formato de audio específico (como MP3 o M4A).", "preferred_audio_format": "Formato de audio preferido:", "force_audio_format_help": "Cuando está habilitado, las descargas solo de audio se convertirán a su formato preferido. Esto solo se aplica al descargar formatos de audio.", "audio_format_best": "Mejor (Sin conversión)", @@ -602,4 +604,4 @@ "update_failed": "❌ Error en la actualización: {error}", "check_failed": "Error al buscar actualizaciones. Por favor, verifique su conexión a Internet." } -} \ No newline at end of file +} diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 21368a4..50cb7f1 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (Riche en fonctionnalités)", "audio_format_settings": "Paramètres du format audio", "force_audio_format": "Forcer le format audio pour les téléchargements audio uniquement", + "audio_normalization": "Normalisation audio (EBU R128)", + "audio_normalization_help": "Lorsqu'il est activé, les pistes audio seront normalisées. Remarque : Cela nécessite un réencodage, un format audio spécifique (comme MP3 ou M4A) doit donc être forcé.", "preferred_audio_format": "Format audio préféré :", "force_audio_format_help": "Lorsqu'activé, les téléchargements audio uniquement seront convertis dans votre format préféré. Cela s'applique uniquement lors du téléchargement de formats audio.", "audio_format_best": "Meilleur (Pas de conversion)", @@ -619,4 +621,4 @@ "update_failed": "❌ Échec de la mise à jour : {error}", "check_failed": "Échec de la vérification des mises à jour. Veuillez vérifier votre connexion Internet." } -} \ No newline at end of file +} diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 85d06c8..8f32fe7 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (सुविधा समृद्ध)", "audio_format_settings": "ऑडियो प्रारूप सेटिंग्स", "force_audio_format": "केवल ऑडियो डाउनलोड के लिए ऑडियो प्रारूप लागू करें", + "audio_normalization": "ऑडियो सामान्यीकरण (EBU R128)", + "audio_normalization_help": "सक्षम होने पर, ऑडियो ट्रैक सामान्य किए जाएंगे। ध्यान दें: इसके लिए री-एनकोडिंग की आवश्यकता होती है, इसलिए एक विशिष्ट ऑडियो प्रारूप (जैसे MP3 या M4A) को बाध्य किया जाना चाहिए।", "preferred_audio_format": "पसंदीदा ऑडियो प्रारूप:", "force_audio_format_help": "सक्षम होने पर, केवल ऑडियो डाउनलोड आपके पसंदीदा प्रारूप में परिवर्तित हो जाएंगे। यह केवल ऑडियो प्रारूप डाउनलोड करते समय लागू होता है।", "audio_format_best": "सर्वोत्तम (कोई परिवर्तन नहीं)", @@ -619,4 +621,4 @@ "update_failed": "❌ अपडेट विफल: {error}", "check_failed": "अपडेट की जांच विफल। कृपया अपना इंटरनेट कनेक्शन जांचें।" } -} \ No newline at end of file +} diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index db3cf0e..22865e3 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (Kaya fitur)", "audio_format_settings": "Pengaturan Format Audio", "force_audio_format": "Paksa format audio untuk unduhan khusus audio", + "audio_normalization": "Normalisasi Audio (EBU R128)", + "audio_normalization_help": "Jika diaktifkan, trek audio akan dinormalisasi. Catatan: Ini memerlukan pengkodean ulang, jadi format audio tertentu (seperti MP3 atau M4A) harus dipaksakan.", "preferred_audio_format": "Format audio pilihan:", "force_audio_format_help": "Saat diaktifkan, unduhan khusus audio akan dikonversi ke format pilihan Anda. Ini hanya berlaku saat mengunduh format audio.", "audio_format_best": "Terbaik (Tanpa konversi)", @@ -619,4 +621,4 @@ "update_failed": "❌ Pembaruan gagal: {error}", "check_failed": "Gagal memeriksa pembaruan. Harap periksa koneksi internet Anda." } -} \ No newline at end of file +} diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 114d7fb..7bc4035 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (Ricco di funzionalità)", "audio_format_settings": "Impostazioni formato audio", "force_audio_format": "Forza formato audio per download solo audio", + "audio_normalization": "Normalizzazione audio (EBU R128)", + "audio_normalization_help": "Se abilitato, le tracce audio verranno normalizzate. Nota: ciò richiede la ricodifica, quindi deve essere forzato un formato audio specifico (come MP3 o M4A).", "preferred_audio_format": "Formato audio preferito:", "force_audio_format_help": "Quando abilitato, i download solo audio verranno convertiti nel formato preferito. Questo si applica solo durante il download di formati audio.", "audio_format_best": "Migliore (Nessuna conversione)", @@ -619,4 +621,4 @@ "update_failed": "❌ Aggiornamento fallito: {error}", "check_failed": "Impossibile controllare gli aggiornamenti. Controlla la tua connessione Internet." } -} \ No newline at end of file +} diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 8ccf600..333b01c 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -326,6 +326,8 @@ "format_mkv": "MKV(機能豊富)", "audio_format_settings": "オーディオ形式設定", "force_audio_format": "オーディオのみのダウンロードにオーディオ形式を強制", + "audio_normalization": "オーディオ正規化 (EBU R128)", + "audio_normalization_help": "有効にすると、オーディオトラックが正規化されます。注:これには再エンコードが必要なため、特定のオーディオ形式(MP3やM4Aなど)を強制する必要があります。", "preferred_audio_format": "優先オーディオ形式:", "force_audio_format_help": "有効にすると、オーディオのみのダウンロードが優先形式に変換されます。これはオーディオ形式をダウンロードする場合にのみ適用されます。", "audio_format_best": "最高(変換なし)", @@ -619,4 +621,4 @@ "update_failed": "❌ 更新が失敗しました:{error}", "check_failed": "更新の確認に失敗しました。インターネット接続を確認してください。" } -} \ No newline at end of file +} diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 2c8b4bd..7edf8a7 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (Bogaty w funkcje)", "audio_format_settings": "Ustawienia formatu audio", "force_audio_format": "Wymuś format audio dla pobierania tylko audio", + "audio_normalization": "Normalizacja dźwięku (EBU R128)", + "audio_normalization_help": "Po włączeniu ścieżki dźwiękowe zostaną znormalizowane. Uwaga: Wymaga to ponownego kodowania, więc należy wymusić określony format dźwięku (taki jak MP3 lub M4A).", "preferred_audio_format": "Preferowany format audio:", "force_audio_format_help": "Gdy włączone, pobieranie tylko audio zostanie przekonwertowane na preferowany format. Dotyczy to tylko pobierania formatów audio.", "audio_format_best": "Najlepsze (Bez konwersji)", @@ -619,4 +621,4 @@ "update_failed": "❌ Aktualizacja nie powiodła się: {error}", "check_failed": "Nie udało się sprawdzić aktualizacji. Sprawdź połączenie internetowe." } -} \ No newline at end of file +} diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index 74a45dd..444fb5f 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (Rico em recursos)", "audio_format_settings": "Configurações de formato de áudio", "force_audio_format": "Forçar formato de áudio para downloads somente de áudio", + "audio_normalization": "Normalização de Áudio (EBU R128)", + "audio_normalization_help": "Quando ativado, as faixas de áudio serão normalizadas. Nota: isso requer recodificação, portanto, um formato de áudio específico (como MP3 ou M4A) deve ser forçado.", "preferred_audio_format": "Formato de áudio preferido:", "force_audio_format_help": "Quando ativado, downloads somente de áudio serão convertidos para seu formato preferido. Isso se aplica apenas ao baixar formatos de áudio.", "audio_format_best": "Melhor (Sem conversão)", @@ -619,4 +621,4 @@ "update_failed": "❌ Falha na atualização: {error}", "check_failed": "Falha ao verificar atualizações. Verifique sua conexão com a Internet." } -} \ No newline at end of file +} diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index 27db81e..e6a0c2a 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -326,6 +326,8 @@ "format_mkv": "MKV (Многофункциональный)", "audio_format_settings": "Настройки формата аудио", "force_audio_format": "Принудительный формат аудио для загрузки только аудио", + "audio_normalization": "Нормализация звука (EBU R128)", + "audio_normalization_help": "При включении звуковые дорожки будут нормализованы. Примечание: Это требует перекодирования, поэтому необходимо принудительно задать определенный аудиоформат (например, MP3 или M4A).", "preferred_audio_format": "Предпочтительный формат аудио:", "force_audio_format_help": "При включении загрузки только аудио будут конвертированы в ваш предпочтительный формат. Это применяется только при загрузке аудио форматов.", "audio_format_best": "Лучшее (Без конвертации)", @@ -619,4 +621,4 @@ "update_failed": "❌ Ошибка обновления: {error}", "check_failed": "Не удалось проверить обновления. Проверьте подключение к Интернету." } -} \ No newline at end of file +} diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index ff789a4..8701467 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -324,6 +324,8 @@ "format_mkv": "MKV (Özellik açısından zengin)", "audio_format_settings": "Ses Formatı Ayarları", "force_audio_format": "Yalnızca ses indirmeleri için ses formatını zorla", + "audio_normalization": "Ses Normalizasyonu (EBU R128)", + "audio_normalization_help": "Etkinleştirildiğinde ses parçaları normalleştirilecektir. Not: Bu, yeniden kodlamayı gerektirir, bu nedenle belirli bir ses formatı (MP3 veya M4A gibi) zorunlu kılınmalıdır.", "preferred_audio_format": "Tercih edilen ses formatı:", "force_audio_format_help": "Etkinleştirildiğinde, yalnızca ses indirmeleri tercih ettiğiniz formata dönüştürülecektir. Bu yalnızca ses formatları indirilirken geçerlidir.", "audio_format_best": "En iyi (Dönüştürme yok)", @@ -610,4 +612,4 @@ "update_failed": "❌ Güncelleme başarısız: {error}", "check_failed": "Güncellemeler kontrol edilemedi. Lütfen internet bağlantınızı kontrol edin." } -} \ No newline at end of file +} diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 5aca317..4ea1d3c 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -314,6 +314,8 @@ "format_mkv": "MKV(功能丰富)", "audio_format_settings": "音频格式设置", "force_audio_format": "强制仅音频下载的音频格式", + "audio_normalization": "音频标准化 (EBU R128)", + "audio_normalization_help": "启用后,音轨将被标准化。 注意:这需要重新编码,因此必须强制使用特定的音频格式(如 MP3 或 M4A)。", "preferred_audio_format": "首选音频格式:", "force_audio_format_help": "启用后,仅音频下载将转换为您的首选格式。这仅在下载音频格式时适用。", "audio_format_best": "最佳(不转换)", @@ -600,4 +602,4 @@ "update_failed": "❌ 更新失败:{error}", "check_failed": "检查更新失败。请检查您的网络连接。" } -} \ No newline at end of file +} From 4f25b268f7d517a8abf9dc6ed742d06de445d361 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 21 Mar 2026 15:27:30 +0200 Subject: [PATCH 502/568] Fix table layout in translated READMEs Merge two table cells into a single row in multiple translated README files to correct the features table layout (combine "Generic mode" and "Localization in 14 languages"). Affected files: readme-translations/README.{ar,de,es,fr,hi,id,it,ja,pl,pt,ru,tr,zh}. Improves consistency and readability across translations. --- readme-translations/README.ar.md | 3 +-- readme-translations/README.de.md | 3 +-- readme-translations/README.es.md | 3 +-- readme-translations/README.fr.md | 3 +-- readme-translations/README.hi.md | 3 +-- readme-translations/README.id.md | 3 +-- readme-translations/README.it.md | 3 +-- readme-translations/README.ja.md | 3 +-- readme-translations/README.pl.md | 3 +-- readme-translations/README.pt.md | 3 +-- readme-translations/README.ru.md | 3 +-- readme-translations/README.tr.md | 3 +-- readme-translations/README.zh.md | 3 +-- 13 files changed, 13 insertions(+), 26 deletions(-) diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md index 6630e18..02b0556 100644 --- a/readme-translations/README.ar.md +++ b/readme-translations/README.ar.md @@ -71,8 +71,7 @@ | 📑 تضمين الفصول | ✂️ تقليم أقسام الفيديو | 🍪 تسجيل الدخول باستخدام ملفات تعريف الارتباط | | 📜 تحميل التاريخ | 🔄 إطلاق اختيار القناة | 🌐 دعم الوكيل | | 🎚️ تحويل تنسيق الصوت | 🎬 إعدادات تنسيق الفيديو | 🆙 علامة تبويب التحديث المدمجة | -| 🌍 الوضع العام | -| 🌍 التعريب بـ 14 لغة | | +| 🌍 الوضع العام | 🌍 التعريب بـ 14 لغة | | diff --git a/readme-translations/README.de.md b/readme-translations/README.de.md index 5871266..e3179dc 100644 --- a/readme-translations/README.de.md +++ b/readme-translations/README.de.md @@ -71,8 +71,7 @@ YTSage wurde für Benutzer entwickelt, die einen **einfachen, aber leistungsstar | 📑 Kapitel einbetten | ✂️ Videoabschnitte zuschneiden | 🍪 Mit Cookies anmelden | | 📜 Download-Verlauf | 🔄 Kanalauswahl freigeben | 🌐 Proxy-Unterstützung | | 🎚️ Audioformatkonvertierung | 🎬 Videoformateinstellungen | 🆙 Integrierte Updater-Registerkarte | -| 🌍 Allgemeiner Modus | -| 🌍 Lokalisierung in 14 Sprachen | | +| 🌍 Allgemeiner Modus | 🌍 Lokalisierung in 14 Sprachen | | diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md index 6ef7257..7b591bd 100644 --- a/readme-translations/README.es.md +++ b/readme-translations/README.es.md @@ -71,8 +71,7 @@ YTSage está diseñado para usuarios que desean un **descargador de YouTube simp | 📑 Insertar capítulos | ✂️ Recortar secciones de video | 🍪 Iniciar sesión con cookies | | 📜 Historial de descargas | 🔄 Selección de canal de lanzamiento | 🌐 Soporte de proxy | | 🎚️ Conversión de formato de audio | 🎬 Configuración de formato de vídeo | 🆙 Pestaña de actualización incorporada | -| 🌍 Modo Genérico | -| 🌍 Localización en 14 idiomas | | +| 🌍 Modo Genérico | 🌍 Localización en 14 idiomas | | diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md index 39030f4..f57fb17 100644 --- a/readme-translations/README.fr.md +++ b/readme-translations/README.fr.md @@ -71,8 +71,7 @@ YTSage est conçu pour les utilisateurs qui souhaitent un **téléchargeur YouTu | 📑 Intégrer les chapitres | ✂️ Couper les sections vidéo | 🍪 Connectez-vous avec les cookies | | 📜 Historique des téléchargements | 🔄 Sélection des chaînes de sortie | 🌐 Assistance proxy | | 🎚️ Conversion de formats audio | 🎬 Paramètres de format vidéo | 🆙 Onglet de mise à jour intégré | -| 🌍 Mode générique | -| 🌍 Localisation en 14 langues | | +| 🌍 Mode générique | 🌍 Localisation en 14 langues | | diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md index 1792f46..827bba3 100644 --- a/readme-translations/README.hi.md +++ b/readme-translations/README.hi.md @@ -71,8 +71,7 @@ YTSage उन उपयोगकर्ताओं के लिए डिज़ | 📑 अध्याय एम्बेड करें | ✂️ वीडियो अनुभाग ट्रिम करें | 🍪 कुकीज़ के साथ लॉगिन करें | | 📜इतिहास डाउनलोड करें | 🔄रिलीज़ चैनल चयन | 🌐 प्रॉक्सी सपोर्ट | | 🎚️ ऑडियो प्रारूप रूपांतरण | 🎬 वीडियो प्रारूप सेटिंग्स | 🆙 बिल्ट-इन अपडेटर टैब | -| 🌍 जेनेरिक मोड | -| 🌍14 भाषाओं में स्थानीयकरण | | +| 🌍 जेनेरिक मोड | 🌍14 भाषाओं में स्थानीयकरण | | diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md index 608c2a2..aabba79 100644 --- a/readme-translations/README.id.md +++ b/readme-translations/README.id.md @@ -71,8 +71,7 @@ YTSage dirancang untuk pengguna yang menginginkan **pengunduh YouTube yang seder | 📑 Sematkan Bab | ✂️ Pangkas Bagian Video | 🍪 Masuk dengan Cookie | | 📜 Unduh Riwayat | 🔄 Rilis Pilihan Saluran | 🌐 Dukungan Proksi | | 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Bawaan | -| 🌍 Mode Generik | -| 🌍 Lokalisasi dalam 14 Bahasa | | +| 🌍 Mode Generik | 🌍 Lokalisasi dalam 14 Bahasa | | diff --git a/readme-translations/README.it.md b/readme-translations/README.it.md index b382375..318dc4b 100644 --- a/readme-translations/README.it.md +++ b/readme-translations/README.it.md @@ -71,8 +71,7 @@ YTSage è progettato per gli utenti che desiderano un **downloader YouTube sempl | 📑 Incorpora capitoli | ✂️ Taglia le sezioni video | 🍪 Accedi con i cookie | | 📜 Scarica Cronologia | 🔄 Rilascio Selezione canale | 🌐Supporto proxy | | 🎚️ Conversione del formato audio | 🎬 Impostazioni formato video | 🆙 Scheda Aggiornamento integrata | -| 🌍 Modalità generica | -| 🌍 Localizzazione in 14 lingue | | +| 🌍 Modalità generica | 🌍 Localizzazione in 14 lingue | | diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md index 92ae185..0ab77f6 100644 --- a/readme-translations/README.ja.md +++ b/readme-translations/README.ja.md @@ -71,8 +71,7 @@ YTSage は、**シンプルかつ強力な YouTube ダウンローダー**を求 | 📑 章を埋め込む | ✂️ ビデオセクションをトリミング | 🍪 Cookie でログイン | | 📜 ダウンロード履歴 | 🔄 チャンネル選択をリリース | 🌐 プロキシサポート | | 🎚️ オーディオ形式変換 | 🎬 ビデオ形式設定 | 🆙 内蔵アップデータタブ | -| 🌍 汎用モード | -| 🌍 14 言語のローカリゼーション | | +| 🌍 汎用モード | 🌍 14 言語のローカリゼーション | | diff --git a/readme-translations/README.pl.md b/readme-translations/README.pl.md index c59c566..d101529 100644 --- a/readme-translations/README.pl.md +++ b/readme-translations/README.pl.md @@ -71,8 +71,7 @@ YTSage jest przeznaczony dla użytkowników, którzy chcą **prostego, ale potę | 📑 Umieść rozdziały | ✂️ Przytnij sekcje wideo | 🍪 Zaloguj się za pomocą plików cookie | | 📜 Pobierz historię | 🔄 Zwolnij wybór kanału | 🌐 Wsparcie proxy | | 🎚️ Konwersja formatu audio | 🎬 Ustawienia formatu wideo | 🆙 Wbudowana zakładka Aktualizator | -| 🌍 Tryb ogólny | -| 🌍 Lokalizacja w 14 językach | | +| 🌍 Tryb ogólny | 🌍 Lokalizacja w 14 językach | | diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md index 73ca6a3..2d1ca0b 100644 --- a/readme-translations/README.pt.md +++ b/readme-translations/README.pt.md @@ -71,8 +71,7 @@ YTSage foi projetado para usuários que desejam um **baixador de YouTube simples | 📑 Incorporar capítulos | ✂️ Cortar seções de vídeo | 🍪 Login com Cookies | | 📜 Histórico de downloads | 🔄 Seleção de canal de lançamento | 🌐 Suporte a proxy | | 🎚️ Conversão de formato de áudio | 🎬 Configurações de formato de vídeo | 🆙 Guia Atualizador integrado | -| 🌍 Modo Genérico | -| 🌍 Localização em 14 idiomas | | +| 🌍 Modo Genérico | 🌍 Localização em 14 idiomas | | diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md index 430a238..e54e7cf 100644 --- a/readme-translations/README.ru.md +++ b/readme-translations/README.ru.md @@ -71,8 +71,7 @@ YTSage предназначен для пользователей, которы | 📑 Встроить главы | ✂️ Обрезать разделы видео | 🍪 Вход с помощью файлов cookie | | 📜 История загрузок | 🔄 Выбор канала выпуска | 🌐 Поддержка прокси | | 🎚️ Преобразование аудиоформатов | 🎬 Настройки формата видео | 🆙 Встроенная вкладка «Обновление» | -| 🌍 Общий режим | -| 🌍 Локализация на 14 языках | | +| 🌍 Общий режим | 🌍 Локализация на 14 языках | | diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md index 23b4471..ebdc196 100644 --- a/readme-translations/README.tr.md +++ b/readme-translations/README.tr.md @@ -71,8 +71,7 @@ YTSage, **basit ama güçlü bir YouTube indiricisi** isteyen kullanıcılar iç | 📑 Bölümleri Yerleştir | ✂️ Video Bölümlerini Kırp | 🍪 Çerezlerle Giriş Yapın | | 📜 Geçmişi İndir | 🔄 Kanal Seçimini Serbest Bırak | 🌐 Proxy Desteği | | 🎚️ Ses Formatı Dönüştürme | 🎬 Video Formatı Ayarları | 🆙 Yerleşik Güncelleyici Sekmesi | -| 🌍 Genel Mod | -| 🌍 14 Dilde Yerelleştirme | | +| 🌍 Genel Mod | 🌍 14 Dilde Yerelleştirme | | diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md index eee5a89..215ff33 100644 --- a/readme-translations/README.zh.md +++ b/readme-translations/README.zh.md @@ -71,8 +71,7 @@ YTSage 专为想要**简单但功能强大的 YouTube 下载器**的用户而设 | 📑 嵌入章节 | ✂️ 修剪视频部分 | 🍪 使用 Cookie 登录 | | 📜 下载历史记录 | 🔄 发布渠道选择 | 🌐 代理支持 | | 🎚️ 音频格式转换 | 🎬 视频格式设置 | 🆙 内置更新程序选项卡 | -| 🌍 通用模式 | -| 🌍 14 种语言本地化 | | +| 🌍 通用模式 | 🌍 14 种语言本地化 | | From 7d5aa5da7e45d5525e71f2fed152f9c76cb845f8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 21 Mar 2026 15:31:27 +0200 Subject: [PATCH 503/568] Add audio normalization (EBU R128) to READMEs Update translated README feature lists to include audio normalization (EBU R128). Applied the change across multiple language files in readme-translations (ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh) to reflect the new audio normalization feature in the project documentation. --- readme-translations/README.ar.md | 2 +- readme-translations/README.de.md | 2 +- readme-translations/README.es.md | 2 +- readme-translations/README.fr.md | 2 +- readme-translations/README.hi.md | 2 +- readme-translations/README.id.md | 2 +- readme-translations/README.it.md | 2 +- readme-translations/README.ja.md | 2 +- readme-translations/README.pl.md | 2 +- readme-translations/README.pt.md | 2 +- readme-translations/README.ru.md | 2 +- readme-translations/README.tr.md | 2 +- readme-translations/README.zh.md | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md index 02b0556..0f6c9d3 100644 --- a/readme-translations/README.ar.md +++ b/readme-translations/README.ar.md @@ -71,7 +71,7 @@ | 📑 تضمين الفصول | ✂️ تقليم أقسام الفيديو | 🍪 تسجيل الدخول باستخدام ملفات تعريف الارتباط | | 📜 تحميل التاريخ | 🔄 إطلاق اختيار القناة | 🌐 دعم الوكيل | | 🎚️ تحويل تنسيق الصوت | 🎬 إعدادات تنسيق الفيديو | 🆙 علامة تبويب التحديث المدمجة | -| 🌍 الوضع العام | 🌍 التعريب بـ 14 لغة | | +| 🌍 الوضع العام | 🔊 تسوية الصوت (EBU R128) | 🌍 التعريب بـ 14 لغة | diff --git a/readme-translations/README.de.md b/readme-translations/README.de.md index e3179dc..3f6a254 100644 --- a/readme-translations/README.de.md +++ b/readme-translations/README.de.md @@ -71,7 +71,7 @@ YTSage wurde für Benutzer entwickelt, die einen **einfachen, aber leistungsstar | 📑 Kapitel einbetten | ✂️ Videoabschnitte zuschneiden | 🍪 Mit Cookies anmelden | | 📜 Download-Verlauf | 🔄 Kanalauswahl freigeben | 🌐 Proxy-Unterstützung | | 🎚️ Audioformatkonvertierung | 🎬 Videoformateinstellungen | 🆙 Integrierte Updater-Registerkarte | -| 🌍 Allgemeiner Modus | 🌍 Lokalisierung in 14 Sprachen | | +| 🌍 Allgemeiner Modus | 🔊 Audio-Normalisierung (EBU R128) | 🌍 Lokalisierung in 14 Sprachen | diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md index 7b591bd..aa47714 100644 --- a/readme-translations/README.es.md +++ b/readme-translations/README.es.md @@ -71,7 +71,7 @@ YTSage está diseñado para usuarios que desean un **descargador de YouTube simp | 📑 Insertar capítulos | ✂️ Recortar secciones de video | 🍪 Iniciar sesión con cookies | | 📜 Historial de descargas | 🔄 Selección de canal de lanzamiento | 🌐 Soporte de proxy | | 🎚️ Conversión de formato de audio | 🎬 Configuración de formato de vídeo | 🆙 Pestaña de actualización incorporada | -| 🌍 Modo Genérico | 🌍 Localización en 14 idiomas | | +| 🌍 Modo Genérico | 🔊 Normalización de audio (EBU R128) | 🌍 Localización en 14 idiomas | diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md index f57fb17..67829dc 100644 --- a/readme-translations/README.fr.md +++ b/readme-translations/README.fr.md @@ -71,7 +71,7 @@ YTSage est conçu pour les utilisateurs qui souhaitent un **téléchargeur YouTu | 📑 Intégrer les chapitres | ✂️ Couper les sections vidéo | 🍪 Connectez-vous avec les cookies | | 📜 Historique des téléchargements | 🔄 Sélection des chaînes de sortie | 🌐 Assistance proxy | | 🎚️ Conversion de formats audio | 🎬 Paramètres de format vidéo | 🆙 Onglet de mise à jour intégré | -| 🌍 Mode générique | 🌍 Localisation en 14 langues | | +| 🌍 Mode générique | 🔊 Normalisation audio (EBU R128) | 🌍 Localisation en 14 langues | diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md index 827bba3..faa7d61 100644 --- a/readme-translations/README.hi.md +++ b/readme-translations/README.hi.md @@ -71,7 +71,7 @@ YTSage उन उपयोगकर्ताओं के लिए डिज़ | 📑 अध्याय एम्बेड करें | ✂️ वीडियो अनुभाग ट्रिम करें | 🍪 कुकीज़ के साथ लॉगिन करें | | 📜इतिहास डाउनलोड करें | 🔄रिलीज़ चैनल चयन | 🌐 प्रॉक्सी सपोर्ट | | 🎚️ ऑडियो प्रारूप रूपांतरण | 🎬 वीडियो प्रारूप सेटिंग्स | 🆙 बिल्ट-इन अपडेटर टैब | -| 🌍 जेनेरिक मोड | 🌍14 भाषाओं में स्थानीयकरण | | +| 🌍 जेनेरिक मोड | 🔊 ऑडियो सामान्यीकरण (EBU R128) | 🌍14 भाषाओं में स्थानीयकरण | diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md index aabba79..7d2239e 100644 --- a/readme-translations/README.id.md +++ b/readme-translations/README.id.md @@ -71,7 +71,7 @@ YTSage dirancang untuk pengguna yang menginginkan **pengunduh YouTube yang seder | 📑 Sematkan Bab | ✂️ Pangkas Bagian Video | 🍪 Masuk dengan Cookie | | 📜 Unduh Riwayat | 🔄 Rilis Pilihan Saluran | 🌐 Dukungan Proksi | | 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Bawaan | -| 🌍 Mode Generik | 🌍 Lokalisasi dalam 14 Bahasa | | +| 🌍 Mode Generik | 🔊 Normalisasi Audio (EBU R128) | 🌍 Lokalisasi dalam 14 Bahasa | diff --git a/readme-translations/README.it.md b/readme-translations/README.it.md index 318dc4b..0c4f060 100644 --- a/readme-translations/README.it.md +++ b/readme-translations/README.it.md @@ -71,7 +71,7 @@ YTSage è progettato per gli utenti che desiderano un **downloader YouTube sempl | 📑 Incorpora capitoli | ✂️ Taglia le sezioni video | 🍪 Accedi con i cookie | | 📜 Scarica Cronologia | 🔄 Rilascio Selezione canale | 🌐Supporto proxy | | 🎚️ Conversione del formato audio | 🎬 Impostazioni formato video | 🆙 Scheda Aggiornamento integrata | -| 🌍 Modalità generica | 🌍 Localizzazione in 14 lingue | | +| 🌍 Modalità generica | 🔊 Normalizzazione audio (EBU R128) | 🌍 Localizzazione in 14 lingue | diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md index 0ab77f6..2787fdf 100644 --- a/readme-translations/README.ja.md +++ b/readme-translations/README.ja.md @@ -71,7 +71,7 @@ YTSage は、**シンプルかつ強力な YouTube ダウンローダー**を求 | 📑 章を埋め込む | ✂️ ビデオセクションをトリミング | 🍪 Cookie でログイン | | 📜 ダウンロード履歴 | 🔄 チャンネル選択をリリース | 🌐 プロキシサポート | | 🎚️ オーディオ形式変換 | 🎬 ビデオ形式設定 | 🆙 内蔵アップデータタブ | -| 🌍 汎用モード | 🌍 14 言語のローカリゼーション | | +| 🌍 汎用モード | 🔊 オーディオ正規化 (EBU R128) | 🌍 14 言語のローカリゼーション | diff --git a/readme-translations/README.pl.md b/readme-translations/README.pl.md index d101529..a74a059 100644 --- a/readme-translations/README.pl.md +++ b/readme-translations/README.pl.md @@ -71,7 +71,7 @@ YTSage jest przeznaczony dla użytkowników, którzy chcą **prostego, ale potę | 📑 Umieść rozdziały | ✂️ Przytnij sekcje wideo | 🍪 Zaloguj się za pomocą plików cookie | | 📜 Pobierz historię | 🔄 Zwolnij wybór kanału | 🌐 Wsparcie proxy | | 🎚️ Konwersja formatu audio | 🎬 Ustawienia formatu wideo | 🆙 Wbudowana zakładka Aktualizator | -| 🌍 Tryb ogólny | 🌍 Lokalizacja w 14 językach | | +| 🌍 Tryb ogólny | 🔊 Normalizacja dźwięku (EBU R128) | 🌍 Lokalizacja w 14 językach | diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md index 2d1ca0b..ca7bd2a 100644 --- a/readme-translations/README.pt.md +++ b/readme-translations/README.pt.md @@ -71,7 +71,7 @@ YTSage foi projetado para usuários que desejam um **baixador de YouTube simples | 📑 Incorporar capítulos | ✂️ Cortar seções de vídeo | 🍪 Login com Cookies | | 📜 Histórico de downloads | 🔄 Seleção de canal de lançamento | 🌐 Suporte a proxy | | 🎚️ Conversão de formato de áudio | 🎬 Configurações de formato de vídeo | 🆙 Guia Atualizador integrado | -| 🌍 Modo Genérico | 🌍 Localização em 14 idiomas | | +| 🌍 Modo Genérico | 🔊 Normalização de Áudio (EBU R128) | 🌍 Localização em 14 idiomas | diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md index e54e7cf..3c6c1de 100644 --- a/readme-translations/README.ru.md +++ b/readme-translations/README.ru.md @@ -71,7 +71,7 @@ YTSage предназначен для пользователей, которы | 📑 Встроить главы | ✂️ Обрезать разделы видео | 🍪 Вход с помощью файлов cookie | | 📜 История загрузок | 🔄 Выбор канала выпуска | 🌐 Поддержка прокси | | 🎚️ Преобразование аудиоформатов | 🎬 Настройки формата видео | 🆙 Встроенная вкладка «Обновление» | -| 🌍 Общий режим | 🌍 Локализация на 14 языках | | +| 🌍 Общий режим | 🔊 Нормализация звука (EBU R128) | 🌍 Локализация на 14 языках | diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md index ebdc196..686ef2f 100644 --- a/readme-translations/README.tr.md +++ b/readme-translations/README.tr.md @@ -71,7 +71,7 @@ YTSage, **basit ama güçlü bir YouTube indiricisi** isteyen kullanıcılar iç | 📑 Bölümleri Yerleştir | ✂️ Video Bölümlerini Kırp | 🍪 Çerezlerle Giriş Yapın | | 📜 Geçmişi İndir | 🔄 Kanal Seçimini Serbest Bırak | 🌐 Proxy Desteği | | 🎚️ Ses Formatı Dönüştürme | 🎬 Video Formatı Ayarları | 🆙 Yerleşik Güncelleyici Sekmesi | -| 🌍 Genel Mod | 🌍 14 Dilde Yerelleştirme | | +| 🌍 Genel Mod | 🔊 Ses Normalizasyonu (EBU R128) | 🌍 14 Dilde Yerelleştirme | diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md index 215ff33..3b483f7 100644 --- a/readme-translations/README.zh.md +++ b/readme-translations/README.zh.md @@ -71,7 +71,7 @@ YTSage 专为想要**简单但功能强大的 YouTube 下载器**的用户而设 | 📑 嵌入章节 | ✂️ 修剪视频部分 | 🍪 使用 Cookie 登录 | | 📜 下载历史记录 | 🔄 发布渠道选择 | 🌐 代理支持 | | 🎚️ 音频格式转换 | 🎬 视频格式设置 | 🆙 内置更新程序选项卡 | -| 🌍 通用模式 | 🌍 14 种语言本地化 | | +| 🌍 通用模式 | 🔊 音频标准化 (EBU R128) | 🌍 14 种语言本地化 | From 1b3d60a1bc45f05da601616f28912772cc90d423 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 21 Mar 2026 15:40:49 +0200 Subject: [PATCH 504/568] Bump project version to 5.0.2b Update pyproject.toml project version from 5.0.1b to 5.0.2b to prepare the next beta release. No other code or metadata changes included in this commit. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index abfcc06..c2f7f9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.1b" +version = "5.0.2b" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, From f66ea09ba66f359ac642d46e77a91b0800feeec8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 21 Mar 2026 16:21:07 +0200 Subject: [PATCH 505/568] Refactor settings dialog into tabs and restyle Reorganize the Download Settings dialog into a SmoothTabWidget with three tabs (General, Format, File) and move existing group sections into corresponding tab layouts. Import QWidget and SmoothTabWidget, increase dialog minimum width from 450 to 550, and add stretches for better layout spacing. Overhaul the dialog stylesheet to restyle tabs, frames, group boxes, checkboxes, radio buttons, combo boxes and item views (borders, paddings, colors, radii, hover/selected states). Also style OK/Cancel buttons to match the Custom Options dialog. These changes improve the dialog's visual consistency and UX while preserving existing settings controls and behavior. --- .../ytsage_dialogs_settings.py | 115 ++++++++++++++---- 1 file changed, 93 insertions(+), 22 deletions(-) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index e2c1705..0c3f9aa 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -26,8 +26,10 @@ from PySide6.QtWidgets import ( QPushButton, QRadioButton, QVBoxLayout, + QWidget, ) +from ..ytsage_smooth_tab_widget import SmoothTabWidget from ...utils.ytsage_logger import logger from ...utils.ytsage_localization import _ from ...utils.ytsage_config_manager import ConfigManager @@ -38,7 +40,7 @@ class DownloadSettingsDialog(QDialog): def __init__(self, current_path, current_limit, current_unit_index, parent=None) -> None: super().__init__(parent) self.setWindowTitle(_("settings.title")) - self.setMinimumWidth(450) + self.setMinimumWidth(550) self.setMinimumHeight(400) self.current_path = current_path self.current_limit = current_limit if current_limit is not None else "" @@ -49,7 +51,25 @@ class DownloadSettingsDialog(QDialog): """ QDialog { background-color: #15181b; + } + QFrame#tabContent { + border: 1px solid #3d3d3d; + background-color: #15181b; + } + QTabBar::tab { + background-color: #1d1e22; color: #ffffff; + padding: 8px 12px; + border: 1px solid #3d3d3d; + border-bottom: none; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } + QTabBar::tab:selected { + background-color: #c90000; + } + QTabBar::tab:hover:!selected { + background-color: #2a2d36; } QWidget { background-color: #15181b; @@ -59,18 +79,17 @@ class DownloadSettingsDialog(QDialog): color: #ffffff; } QGroupBox { - color: #ffffff; - border: 2px solid #1b2021; + border: 1px solid #3d3d3d; border-radius: 4px; - margin-top: 10px; - padding-top: 10px; + margin-top: 1.5ex; + color: #ffffff; + padding: 10px; font-weight: bold; - background-color: #15181b; } QGroupBox::title { subcontrol-origin: margin; - left: 10px; - padding: 0 5px 0 5px; + subcontrol-position: top left; + padding: 0 5px; color: #ffffff; } QLineEdit { @@ -112,11 +131,13 @@ class DownloadSettingsDialog(QDialog): } QCheckBox::indicator:unchecked { border: 2px solid #666666; - background: #15181b; + background: #1d1e22; + border-radius: 9px; } QCheckBox::indicator:checked { border: 2px solid #c90000; background: #c90000; + border-radius: 9px; } QRadioButton { spacing: 5px; @@ -129,37 +150,50 @@ class DownloadSettingsDialog(QDialog): } QRadioButton::indicator:unchecked { border: 2px solid #666666; - background: #15181b; + background: #1d1e22; + border-radius: 9px; } QRadioButton::indicator:checked { border: 2px solid #c90000; background: #c90000; + border-radius: 9px; } QComboBox { - padding: 5px; + padding: 8px; border: 2px solid #1b2021; border-radius: 4px; background-color: #1b2021; color: #ffffff; - min-height: 20px; + min-width: 150px; } QComboBox::drop-down { border: none; width: 20px; } + QComboBox::down-arrow { + border: none; + width: 12px; + height: 12px; + } QComboBox QAbstractItemView { - border: 2px solid #1b2021; - border-radius: 4px; - background-color: #15181b; + background-color: #1d1e22; color: #ffffff; + border: 1px solid #3d3d3d; selection-background-color: #c90000; - selection-color: #ffffff; } """ ) layout = QVBoxLayout(self) + # Create tab widget + self.tab_widget = SmoothTabWidget() + layout.addWidget(self.tab_widget) + + # === General Tab === + general_tab = QWidget() + general_layout = QVBoxLayout(general_tab) + # --- Download Path Section --- path_group_box = QGroupBox(_("settings.download_path")) path_layout = QVBoxLayout() @@ -177,7 +211,7 @@ class DownloadSettingsDialog(QDialog): path_layout.addWidget(browse_button) path_group_box.setLayout(path_layout) - layout.addWidget(path_group_box) + general_layout.addWidget(path_group_box) # --- Speed Limit Section --- speed_group_box = QGroupBox(_("settings.speed_limit")) @@ -193,7 +227,7 @@ class DownloadSettingsDialog(QDialog): speed_layout.addWidget(self.speed_limit_unit) speed_group_box.setLayout(speed_layout) - layout.addWidget(speed_group_box) + general_layout.addWidget(speed_group_box) # --- Generic Mode Section --- generic_mode_group_box = QGroupBox(_("settings.generic_mode")) @@ -211,7 +245,12 @@ class DownloadSettingsDialog(QDialog): generic_mode_layout.addWidget(generic_mode_help_label) generic_mode_group_box.setLayout(generic_mode_layout) - layout.addWidget(generic_mode_group_box) + general_layout.addWidget(generic_mode_group_box) + general_layout.addStretch() + + # === Format Tab === + format_tab = QWidget() + format_layout = QVBoxLayout(format_tab) # --- Output Format Settings Section --- output_format_group_box = QGroupBox(_("settings.output_format_settings")) @@ -252,7 +291,7 @@ class DownloadSettingsDialog(QDialog): output_format_layout.addWidget(help_label) output_format_group_box.setLayout(output_format_layout) - layout.addWidget(output_format_group_box) + format_layout.addWidget(output_format_group_box) # --- Audio Format Settings Section (for audio-only downloads) --- audio_format_group_box = QGroupBox(_("settings.audio_format_settings")) @@ -314,7 +353,12 @@ class DownloadSettingsDialog(QDialog): self.force_audio_format_checkbox.stateChanged.connect(self._on_force_audio_format_toggled) audio_format_group_box.setLayout(audio_format_layout) - layout.addWidget(audio_format_group_box) + format_layout.addWidget(audio_format_group_box) + format_layout.addStretch() + + # === File Tab === + file_tab = QWidget() + file_layout = QVBoxLayout(file_tab) # --- Filename Format Section --- filename_format_group_box = QGroupBox(_("settings.filename_format")) @@ -343,7 +387,13 @@ class DownloadSettingsDialog(QDialog): filename_layout.addWidget(filename_help_label) filename_format_group_box.setLayout(filename_layout) - layout.addWidget(filename_format_group_box) + file_layout.addWidget(filename_format_group_box) + file_layout.addStretch() + + # Add tabs to tab widget + self.tab_widget.addTab(general_tab, _("settings.tab_general", default="General")) + self.tab_widget.addTab(format_tab, _("settings.tab_format", default="Format")) + self.tab_widget.addTab(file_tab, _("settings.tab_file", default="File")) # Dialog buttons (OK/Cancel) button_box = QDialogButtonBox() @@ -351,6 +401,27 @@ class DownloadSettingsDialog(QDialog): cancel_button = button_box.addButton(_("buttons.cancel"), QDialogButtonBox.ButtonRole.RejectRole) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) + + # Style the buttons to look identical to Custom Options dialog + for btn in [ok_button, cancel_button]: + btn.setMinimumHeight(35) + btn.setMinimumWidth(80) + btn.setStyleSheet( + """ + QPushButton { + padding: 8px 20px; + background-color: #c90000; + border: none; + border-radius: 4px; + color: white; + font-weight: bold; + } + QPushButton:hover { + background-color: #a50000; + } + """ + ) + layout.addWidget(button_box) def _on_audio_normalization_toggled(self, state: int) -> None: From 437344695d06d865a2ca40ee4661de361e6c2f9c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 21 Mar 2026 16:26:41 +0200 Subject: [PATCH 506/568] Add UI tab labels to translation files Add "tab_general", "tab_format", and "tab_file" entries to multiple ytsage/languages/*.json files to provide localized labels for the UI tabs (General, Format, File). Also include a minor formatting/newline fix in en.json. --- ytsage/languages/ar.json | 5 ++++- ytsage/languages/de.json | 5 ++++- ytsage/languages/en.json | 7 +++++-- ytsage/languages/es.json | 5 ++++- ytsage/languages/fr.json | 5 ++++- ytsage/languages/hi.json | 5 ++++- ytsage/languages/id.json | 5 ++++- ytsage/languages/it.json | 5 ++++- ytsage/languages/ja.json | 5 ++++- ytsage/languages/pl.json | 5 ++++- ytsage/languages/pt.json | 5 ++++- ytsage/languages/ru.json | 5 ++++- ytsage/languages/tr.json | 5 ++++- ytsage/languages/zh.json | 5 ++++- 14 files changed, 57 insertions(+), 15 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 9fe49ef..8b77b00 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (أبل)", "audio_format_vorbis": "Vorbis (مفتوح)", "filename_format": "تنسيق اسم الملف الناتج", - "filename_format_help": "المتغيرات المتاحة: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. يتم دعم صيغة قالب إخراج yt-dlp القياسية." + "filename_format_help": "المتغيرات المتاحة: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. يتم دعم صيغة قالب إخراج yt-dlp القياسية.", + "tab_general": "عام", + "tab_format": "تنسيق", + "tab_file": "ملف" }, "main_ui": { "url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index ecb8be1..de2b30c 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Offen)", "filename_format": "Ausgabe-Dateinamenformat", - "filename_format_help": "Verfügbare Variablen: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Die Standard-yt-dlp-Ausgabevorlagensyntax wird unterstützt." + "filename_format_help": "Verfügbare Variablen: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Die Standard-yt-dlp-Ausgabevorlagensyntax wird unterstützt.", + "tab_general": "Allgemein", + "tab_format": "Format", + "tab_file": "Datei" }, "main_ui": { "url_placeholder": "YouTube-Video- oder Playlist-URL eingeben", diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index ce6d3f0..61c4f0f 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -340,7 +340,10 @@ "audio_format_wav": "WAV (Uncompressed)", "audio_format_opus": "Opus (Efficient)", "audio_format_m4a": "M4A (Apple)", - "audio_format_vorbis": "Vorbis (Open)" + "audio_format_vorbis": "Vorbis (Open)", + "tab_general": "General", + "tab_format": "Format", + "tab_file": "File" }, "main_ui": { "url_placeholder": "Enter YouTube video or playlist URL", @@ -622,4 +625,4 @@ "update_failed": "❌ Update failed: {error}", "check_failed": "Failed to check for updates. Please check your internet connection." } -} \ No newline at end of file +} diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index f368663..ea8b56f 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -322,7 +322,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Abierto)", "filename_format": "Formato de nombre de archivo", - "filename_format_help": "Variables disponibles: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Se admite la sintaxis estándar de plantilla de salida de yt-dlp." + "filename_format_help": "Variables disponibles: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Se admite la sintaxis estándar de plantilla de salida de yt-dlp.", + "tab_general": "General", + "tab_format": "Formato", + "tab_file": "Archivo" }, "main_ui": { "url_placeholder": "Ingresa URL de video o lista de YouTube", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 50cb7f1..db5976c 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Ouvert)", "filename_format": "Format du nom de fichier", - "filename_format_help": "Variables disponibles : %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. La syntaxe standard des modèles de sortie yt-dlp est prise en charge." + "filename_format_help": "Variables disponibles : %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. La syntaxe standard des modèles de sortie yt-dlp est prise en charge.", + "tab_general": "Général", + "tab_format": "Format", + "tab_file": "Fichier" }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 8f32fe7..048a1a8 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (खुला)", "filename_format": "आउटपुट फ़ाइलनाम प्रारूप", - "filename_format_help": "उपलब्ध चर: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. मानक yt-dlp आउटपुट टेम्प्लेट सिंटैक्स समर्थित है." + "filename_format_help": "उपलब्ध चर: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. मानक yt-dlp आउटपुट टेम्प्लेट सिंटैक्स समर्थित है.", + "tab_general": "सामान्य", + "tab_format": "प्रारूप", + "tab_file": "फ़ाइल" }, "main_ui": { "url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index 22865e3..8d4927a 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Terbuka)", "filename_format": "Format Nama File Keluaran", - "filename_format_help": "Variabel yang tersedia: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Sintaks templat keluaran standar yt-dlp didukung." + "filename_format_help": "Variabel yang tersedia: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Sintaks templat keluaran standar yt-dlp didukung.", + "tab_general": "Umum", + "tab_format": "Format", + "tab_file": "Berkas" }, "main_ui": { "url_placeholder": "Masukkan URL video atau playlist YouTube", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 7bc4035..f55b1dc 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Aperto)", "filename_format": "Formato nome file output", - "filename_format_help": "Variabili disponibili: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. È supportata la sintassi standard del modello di output di yt-dlp." + "filename_format_help": "Variabili disponibili: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. È supportata la sintassi standard del modello di output di yt-dlp.", + "tab_general": "Generale", + "tab_format": "Formato", + "tab_file": "File" }, "main_ui": { "url_placeholder": "Inserisci URL video YouTube o playlist", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 333b01c..e6936e4 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A(Apple)", "audio_format_vorbis": "Vorbis(オープン)", "filename_format": "出力ファイル名の形式", - "filename_format_help": "利用可能な変数: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s。標準のyt-dlp出力テンプレート構文がサポートされています。" + "filename_format_help": "利用可能な変数: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s。標準のyt-dlp出力テンプレート構文がサポートされています。", + "tab_general": "一般", + "tab_format": "フォーマット", + "tab_file": "ファイル" }, "main_ui": { "url_placeholder": "YouTubeの動画URLまたはプレイリストURLを入力", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 7edf8a7..3888292 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Otwarty)", "filename_format": "Format nazwy pliku", - "filename_format_help": "Dostępne zmienne: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Obsługiwana jest standardowa składnia szablonu wyjściowego yt-dlp." + "filename_format_help": "Dostępne zmienne: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Obsługiwana jest standardowa składnia szablonu wyjściowego yt-dlp.", + "tab_general": "Ogólne", + "tab_format": "Format", + "tab_file": "Plik" }, "main_ui": { "url_placeholder": "Wprowadź URL wideo YouTube lub playlisty", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index 444fb5f..05ae754 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Aberto)", "filename_format": "Formato de nome de arquivo", - "filename_format_help": "Variáveis disponíveis: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. A sintaxe padrão de modelo de saída do yt-dlp é suportada." + "filename_format_help": "Variáveis disponíveis: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. A sintaxe padrão de modelo de saída do yt-dlp é suportada.", + "tab_general": "Geral", + "tab_format": "Formato", + "tab_file": "Arquivo" }, "main_ui": { "url_placeholder": "Digite a URL do vídeo ou playlist do YouTube", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index e6a0c2a..fac7d94 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -339,7 +339,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Открытый)", "filename_format": "Формат имени файла", - "filename_format_help": "Доступные переменные: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Поддерживается стандартный синтаксис шаблона вывода yt-dlp." + "filename_format_help": "Доступные переменные: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Поддерживается стандартный синтаксис шаблона вывода yt-dlp.", + "tab_general": "Общие", + "tab_format": "Формат", + "tab_file": "Файл" }, "main_ui": { "url_placeholder": "Введите URL видео или плейлиста YouTube", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 8701467..5c2c58f 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -337,7 +337,10 @@ "audio_format_m4a": "M4A (Apple)", "audio_format_vorbis": "Vorbis (Açık)", "filename_format": "Çıktı Dosya Adı Formatı", - "filename_format_help": "Kullanılabilir değişkenler: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standart yt-dlp çıktı şablonu sözdizimi desteklenir." + "filename_format_help": "Kullanılabilir değişkenler: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standart yt-dlp çıktı şablonu sözdizimi desteklenir.", + "tab_general": "Genel", + "tab_format": "Biçim", + "tab_file": "Dosya" }, "main_ui": { "url_placeholder": "YouTube video veya oynatma listesi URL'sini girin", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 4ea1d3c..820b648 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -327,7 +327,10 @@ "audio_format_m4a": "M4A(Apple)", "audio_format_vorbis": "Vorbis(开放)", "filename_format": "输出文件名格式", - "filename_format_help": "可用变量: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s。支持标准的 yt-dlp 输出模板语法。" + "filename_format_help": "可用变量: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s。支持标准的 yt-dlp 输出模板语法。", + "tab_general": "一般", + "tab_format": "格式", + "tab_file": "文件" }, "main_ui": { "url_placeholder": "输入 YouTube 视频或播放列表网址", From 7bf62c542c8a7bb765b30f6eb6f08b8ad830c26a Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 14:18:42 +0200 Subject: [PATCH 507/568] Bump version to 5.0.3 Update package version from 5.0.2b to 5.0.3 in pyproject.toml and ytsage/__init__.py to prepare the 5.0.3 release. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c2f7f9d..73f6236 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.2b" +version = "5.0.3" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index f2c4957..578e99c 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.2b" +__version__ = "5.0.3" __author__ = "oop7" From 99f1adf8eb9536bd991619f06679c9b89bd998ab Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 14:50:01 +0200 Subject: [PATCH 508/568] Bump package version to 5.0.4b Update package version from 5.0.2b to 5.0.4b. Changed version in pyproject.toml and __version__ in ytsage/__init__.py to prepare for the new release. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c2f7f9d..cf33c40 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.2b" +version = "5.0.4b" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index f2c4957..eba6e20 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.2b" +__version__ = "5.0.4b" __author__ = "oop7" From fda6a4059d2fe013973fddbafc0d7e10c5817039 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:26:57 +0200 Subject: [PATCH 509/568] Add concurrent connections setting to dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a "Concurrent Connections" section to DownloadSettingsDialog with a QComboBox (1–20) and help text; initialize from ConfigManager("concurrent_fragments"). Introduce get_concurrent_fragments() to return the chosen value (with a safe fallback to 1) and persist the setting on dialog accept. Uses localized labels and minor styling for the help label. --- .../ytsage_dialogs_settings.py | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 0c3f9aa..23294c3 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -229,6 +229,28 @@ class DownloadSettingsDialog(QDialog): speed_group_box.setLayout(speed_layout) general_layout.addWidget(speed_group_box) + # --- Connections Section --- + connections_group_box = QGroupBox(_("settings.concurrent_fragments", default="Concurrent Connections")) + connections_layout = QVBoxLayout() + + self.connections_enabled = ConfigManager.get("concurrent_fragments") or 1 + + connections_spin_layout = QHBoxLayout() + self.connections_input = QComboBox() + self.connections_input.addItems([str(i) for i in range(1, 21)]) + self.connections_input.setCurrentText(str(self.connections_enabled)) + connections_spin_layout.addWidget(self.connections_input) + connections_spin_layout.addStretch() + connections_layout.addLayout(connections_spin_layout) + + connections_help_label = QLabel(_("settings.concurrent_fragments_help", default="Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.")) + connections_help_label.setWordWrap(True) + connections_help_label.setStyleSheet("color: #cccccc; margin: 5px; font-size: 11px;") + connections_layout.addWidget(connections_help_label) + + connections_group_box.setLayout(connections_layout) + general_layout.addWidget(connections_group_box) + # --- Generic Mode Section --- generic_mode_group_box = QGroupBox(_("settings.generic_mode")) generic_mode_layout = QVBoxLayout() @@ -474,6 +496,13 @@ class DownloadSettingsDialog(QDialog): """Returns whether generic mode is enabled.""" return self.generic_mode_checkbox.isChecked() + def get_concurrent_fragments(self) -> int: + """Returns the number of concurrent fragments.""" + try: + return int(self.connections_input.currentText()) + except ValueError: + return 1 + def get_preferred_format(self) -> str: """Returns the selected preferred format (lowercase).""" format_map = {0: "mp4", 1: "webm", 2: "mkv"} @@ -535,6 +564,7 @@ class DownloadSettingsDialog(QDialog): """Override accept to save format settings.""" try: ConfigManager.set("generic_mode", self.get_generic_mode_enabled()) + ConfigManager.set("concurrent_fragments", self.get_concurrent_fragments()) # Save output format settings force_format = self.get_force_format_enabled() From 2495c77d3ccd7653ab8d46df9fde6059a2ba7bd4 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:27:14 +0200 Subject: [PATCH 510/568] Support concurrent fragments and emit finished Add a concurrent_fragments parameter to DownloadThread (default 1) and store it as an instance attribute. When building the yt-dlp command, include a -N option and log the concurrent connections. Also emit finished_signal upon cancellation and on error paths to ensure the UI is notified of thread completion. Minor comment/logging clarifications added around command construction. --- ytsage/core/ytsage_downloader.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index a66d9a0..ed545b2 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -74,6 +74,7 @@ class DownloadThread(QThread): preferred_audio_format="best", audio_normalization=False, filename_format=None, + concurrent_fragments=1, ) -> None: super().__init__() self.url = url @@ -103,6 +104,7 @@ class DownloadThread(QThread): self.preferred_audio_format = preferred_audio_format self.audio_normalization = audio_normalization self.filename_format = filename_format + self.concurrent_fragments = concurrent_fragments self.paused: bool = False self.cancelled: bool = False self.process: Optional[subprocess.Popen] = None @@ -229,11 +231,16 @@ class DownloadThread(QThread): def _build_yt_dlp_command(self) -> List[str]: """Build the yt-dlp command line with all options for direct execution.""" - # Use the new yt-dlp path function from ytsage_yt_dlp module yt_dlp_path: str = get_yt_dlp_path() + # Build the command line array cmd: List[str] = [yt_dlp_path] logger.debug(f"Using yt-dlp from: {yt_dlp_path}") + # Add concurrent fragments setting + if self.concurrent_fragments: + cmd.extend(["-N", str(self.concurrent_fragments)]) + logger.debug(f"Using {self.concurrent_fragments} concurrent connections") + # Format selection strategy - use format ID if provided or fallback to resolution if self.format_id: clean_format_id: str = self.format_id.split("-drc")[0] if "-drc" in self.format_id else self.format_id @@ -447,6 +454,7 @@ class DownloadThread(QThread): time.sleep(2) self.cleanup_partial_files() self.status_signal.emit(_("download.cancelled")) + self.finished_signal.emit() return # Wait if paused @@ -532,6 +540,7 @@ class DownloadThread(QThread): # Check if it was cancelled if self.cancelled: self.status_signal.emit(_("download.cancelled")) + self.finished_signal.emit() else: # Provide informative error message based on captured output if self.error_lines: From 47dafe565f6a290e34f3f0dbf62591c5f81b54db Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:27:23 +0200 Subject: [PATCH 511/568] Pass concurrent_fragments to DownloadThread Read concurrent_fragments from ConfigManager (defaulting to 1) and forward it into the DownloadThread constructor so the download fragment concurrency setting is propagated to the downloader. --- ytsage/gui/ytsage_gui_main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index fd498f3..880a095 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -755,6 +755,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Get filename format from config filename_format = ConfigManager.get("filename_format") + concurrent_fragments = ConfigManager.get("concurrent_fragments") or 1 # Create download thread with resolution in output template self.download_thread = DownloadThread( @@ -785,6 +786,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): preferred_audio_format=self.preferred_audio_format, # Pass preferred audio format audio_normalization=self.audio_normalization, # Pass audio normalization setting filename_format=filename_format, # Pass the filename format + concurrent_fragments=concurrent_fragments, # Pass the concurrent fragments ) # Connect signals From 7acb3d0853d82e560d1c2e38a5c5d67cc1447e60 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:27:33 +0200 Subject: [PATCH 512/568] Add default concurrent_fragments setting Introduce a new config key 'concurrent_fragments' with default value 1 in ConfigManager defaults. This exposes a setting to control the number of concurrent fragment downloads/processing, preserving single-fragment behavior unless overridden by user configuration. --- ytsage/utils/ytsage_config_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index d1f27da..e218347 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -87,6 +87,7 @@ class ConfigManager: "check_app_updates": True, "check_beta_updates": False, "last_update_check": 0, + "concurrent_fragments": 1, "language": "en", "ytdlp_channel": "stable", "force_output_format": False, From e86536d58514923fc3466fe21ed2f38e86868420 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:27:50 +0200 Subject: [PATCH 513/568] Add concurrent connections i18n keys Add new i18n keys "concurrent_fragments" and "concurrent_fragments_help" to multiple language JSON files (ar, de, en, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh). These expose a UI option for the number of concurrent connections per download with a help string (default: 1, warns about throttling/temporary blocks). Strings were added in English across locales and may need translation. --- ytsage/languages/ar.json | 6 ++++-- ytsage/languages/de.json | 6 ++++-- ytsage/languages/en.json | 4 +++- ytsage/languages/es.json | 6 ++++-- ytsage/languages/fr.json | 6 ++++-- ytsage/languages/hi.json | 6 ++++-- ytsage/languages/id.json | 6 ++++-- ytsage/languages/it.json | 6 ++++-- ytsage/languages/ja.json | 6 ++++-- ytsage/languages/pl.json | 6 ++++-- ytsage/languages/pt.json | 6 ++++-- ytsage/languages/ru.json | 6 ++++-- ytsage/languages/tr.json | 6 ++++-- ytsage/languages/zh.json | 6 ++++-- 14 files changed, 55 insertions(+), 27 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 8b77b00..18e4220 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -342,7 +342,9 @@ "filename_format_help": "المتغيرات المتاحة: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. يتم دعم صيغة قالب إخراج yt-dlp القياسية.", "tab_general": "عام", "tab_format": "تنسيق", - "tab_file": "ملف" + "tab_file": "ملف", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل", @@ -624,4 +626,4 @@ "update_failed": "❌ فشل التحديث: {error}", "check_failed": "فشل التحقق من التحديثات. يرجى التحقق من اتصالك بالإنترنت." } -} +} \ No newline at end of file diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index de2b30c..8305f35 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -342,7 +342,9 @@ "filename_format_help": "Verfügbare Variablen: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Die Standard-yt-dlp-Ausgabevorlagensyntax wird unterstützt.", "tab_general": "Allgemein", "tab_format": "Format", - "tab_file": "Datei" + "tab_file": "Datei", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "YouTube-Video- oder Playlist-URL eingeben", @@ -624,4 +626,4 @@ "update_failed": "❌ Update fehlgeschlagen: {error}", "check_failed": "Suche nach Updates fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung." } -} +} \ No newline at end of file diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index 61c4f0f..d0f9e7b 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -331,6 +331,8 @@ "audio_normalization_help": "When enabled, audio tracks will be normalized. Note: This requires re-encoding, so a specific audio format (like MP3 or M4A) must be forced.", "filename_format": "Output Filename Format", "filename_format_help": "Available variables: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standard yt-dlp output template syntax is supported.", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", "preferred_audio_format": "Preferred audio format:", "force_audio_format_help": "When enabled, audio-only downloads will be converted to your preferred format. This only applies when downloading audio formats.", "audio_format_best": "Best (No conversion)", @@ -625,4 +627,4 @@ "update_failed": "❌ Update failed: {error}", "check_failed": "Failed to check for updates. Please check your internet connection." } -} +} \ No newline at end of file diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index ea8b56f..5cd5b90 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -325,7 +325,9 @@ "filename_format_help": "Variables disponibles: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Se admite la sintaxis estándar de plantilla de salida de yt-dlp.", "tab_general": "General", "tab_format": "Formato", - "tab_file": "Archivo" + "tab_file": "Archivo", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "Ingresa URL de video o lista de YouTube", @@ -607,4 +609,4 @@ "update_failed": "❌ Error en la actualización: {error}", "check_failed": "Error al buscar actualizaciones. Por favor, verifique su conexión a Internet." } -} +} \ No newline at end of file diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index db5976c..240ede6 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -342,7 +342,9 @@ "filename_format_help": "Variables disponibles : %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. La syntaxe standard des modèles de sortie yt-dlp est prise en charge.", "tab_general": "Général", "tab_format": "Format", - "tab_file": "Fichier" + "tab_file": "Fichier", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", @@ -624,4 +626,4 @@ "update_failed": "❌ Échec de la mise à jour : {error}", "check_failed": "Échec de la vérification des mises à jour. Veuillez vérifier votre connexion Internet." } -} +} \ No newline at end of file diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 048a1a8..f4ccf95 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -342,7 +342,9 @@ "filename_format_help": "उपलब्ध चर: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. मानक yt-dlp आउटपुट टेम्प्लेट सिंटैक्स समर्थित है.", "tab_general": "सामान्य", "tab_format": "प्रारूप", - "tab_file": "फ़ाइल" + "tab_file": "फ़ाइल", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें", @@ -624,4 +626,4 @@ "update_failed": "❌ अपडेट विफल: {error}", "check_failed": "अपडेट की जांच विफल। कृपया अपना इंटरनेट कनेक्शन जांचें।" } -} +} \ No newline at end of file diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index 8d4927a..e00a181 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -342,7 +342,9 @@ "filename_format_help": "Variabel yang tersedia: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Sintaks templat keluaran standar yt-dlp didukung.", "tab_general": "Umum", "tab_format": "Format", - "tab_file": "Berkas" + "tab_file": "Berkas", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "Masukkan URL video atau playlist YouTube", @@ -624,4 +626,4 @@ "update_failed": "❌ Pembaruan gagal: {error}", "check_failed": "Gagal memeriksa pembaruan. Harap periksa koneksi internet Anda." } -} +} \ No newline at end of file diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index f55b1dc..6ca6e3a 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -342,7 +342,9 @@ "filename_format_help": "Variabili disponibili: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. È supportata la sintassi standard del modello di output di yt-dlp.", "tab_general": "Generale", "tab_format": "Formato", - "tab_file": "File" + "tab_file": "File", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "Inserisci URL video YouTube o playlist", @@ -624,4 +626,4 @@ "update_failed": "❌ Aggiornamento fallito: {error}", "check_failed": "Impossibile controllare gli aggiornamenti. Controlla la tua connessione Internet." } -} +} \ No newline at end of file diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index e6936e4..6b1e401 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -342,7 +342,9 @@ "filename_format_help": "利用可能な変数: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s。標準のyt-dlp出力テンプレート構文がサポートされています。", "tab_general": "一般", "tab_format": "フォーマット", - "tab_file": "ファイル" + "tab_file": "ファイル", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "YouTubeの動画URLまたはプレイリストURLを入力", @@ -624,4 +626,4 @@ "update_failed": "❌ 更新が失敗しました:{error}", "check_failed": "更新の確認に失敗しました。インターネット接続を確認してください。" } -} +} \ No newline at end of file diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 3888292..c73a0f9 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -342,7 +342,9 @@ "filename_format_help": "Dostępne zmienne: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Obsługiwana jest standardowa składnia szablonu wyjściowego yt-dlp.", "tab_general": "Ogólne", "tab_format": "Format", - "tab_file": "Plik" + "tab_file": "Plik", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "Wprowadź URL wideo YouTube lub playlisty", @@ -624,4 +626,4 @@ "update_failed": "❌ Aktualizacja nie powiodła się: {error}", "check_failed": "Nie udało się sprawdzić aktualizacji. Sprawdź połączenie internetowe." } -} +} \ No newline at end of file diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index 05ae754..f193ab2 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -342,7 +342,9 @@ "filename_format_help": "Variáveis disponíveis: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. A sintaxe padrão de modelo de saída do yt-dlp é suportada.", "tab_general": "Geral", "tab_format": "Formato", - "tab_file": "Arquivo" + "tab_file": "Arquivo", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "Digite a URL do vídeo ou playlist do YouTube", @@ -624,4 +626,4 @@ "update_failed": "❌ Falha na atualização: {error}", "check_failed": "Falha ao verificar atualizações. Verifique sua conexão com a Internet." } -} +} \ No newline at end of file diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index fac7d94..0bc66a4 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -342,7 +342,9 @@ "filename_format_help": "Доступные переменные: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Поддерживается стандартный синтаксис шаблона вывода yt-dlp.", "tab_general": "Общие", "tab_format": "Формат", - "tab_file": "Файл" + "tab_file": "Файл", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "Введите URL видео или плейлиста YouTube", @@ -624,4 +626,4 @@ "update_failed": "❌ Ошибка обновления: {error}", "check_failed": "Не удалось проверить обновления. Проверьте подключение к Интернету." } -} +} \ No newline at end of file diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 5c2c58f..36aa1ed 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -340,7 +340,9 @@ "filename_format_help": "Kullanılabilir değişkenler: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standart yt-dlp çıktı şablonu sözdizimi desteklenir.", "tab_general": "Genel", "tab_format": "Biçim", - "tab_file": "Dosya" + "tab_file": "Dosya", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "YouTube video veya oynatma listesi URL'sini girin", @@ -615,4 +617,4 @@ "update_failed": "❌ Güncelleme başarısız: {error}", "check_failed": "Güncellemeler kontrol edilemedi. Lütfen internet bağlantınızı kontrol edin." } -} +} \ No newline at end of file diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 820b648..c6c2832 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -330,7 +330,9 @@ "filename_format_help": "可用变量: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s。支持标准的 yt-dlp 输出模板语法。", "tab_general": "一般", "tab_format": "格式", - "tab_file": "文件" + "tab_file": "文件", + "concurrent_fragments": "Concurrent Connections", + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." }, "main_ui": { "url_placeholder": "输入 YouTube 视频或播放列表网址", @@ -605,4 +607,4 @@ "update_failed": "❌ 更新失败:{error}", "check_failed": "检查更新失败。请检查您的网络连接。" } -} +} \ No newline at end of file From 93033d6661dddf35fd5c2ceaed73001da3f0f9c3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:28:03 +0200 Subject: [PATCH 514/568] Add concurrent connections note to translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a new note about the "Concurrent Connections" download setting to multiple translated README files under readme-translations/. The entry documents that downloading files in multiple simultaneous fragments can drastically increase speed, and notes the default of 1 and a recommended maximum of 8–10 to avoid IP throttling. Files updated include translations for AR/DE/ES/FR/HI/ID/IT/JA/PL/PT/RU/TR/ZH. --- readme-translations/README.ar.md | 2 +- readme-translations/README.de.md | 2 +- readme-translations/README.es.md | 2 +- readme-translations/README.fr.md | 2 +- readme-translations/README.hi.md | 2 +- readme-translations/README.id.md | 2 +- readme-translations/README.it.md | 2 +- readme-translations/README.ja.md | 2 +- readme-translations/README.pl.md | 2 +- readme-translations/README.pt.md | 2 +- readme-translations/README.ru.md | 2 +- readme-translations/README.tr.md | 2 +- readme-translations/README.zh.md | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md index 0f6c9d3..84326b6 100644 --- a/readme-translations/README.ar.md +++ b/readme-translations/README.ar.md @@ -308,7 +308,7 @@ python -m ytsage.main - **تنسيق الإخراج الإجباري:** فرض تنزيلات الفيديو في تنسيق حاوية محدد مثل `mp4` أو `webm` أو `mkv`. متوفر في **إعدادات التنزيل ← إعدادات تنسيق الإخراج**. - **تحويل تنسيق الصوت:** تحويل التنزيلات الصوتية فقط إلى التنسيقات المفضلة مثل `AAC`، `MP3`، `FLAC`، `WAV`، `Opus`، `M4A`، `Vorbis` أو `Best`. متوفر في **إعدادات التنزيل → إعدادات تنسيق الصوت**. - **تطبيع الصوت:** توحيد مستوى الصوت للتنزيلات الصوتية فقط باستخدام EBU R128. - +- **الاتصالات المتزامنة:** زيادة سرعة التنزيل بشكل كبير عن طريق تنزيل الملفات في أجزاء متعددة بشكل متزامن. متوفر في **إعدادات التنزيل → عام → الاتصالات المتزامنة** (الافتراضي هو 1، والحد الأقصى الموصى به هو 8-10 لمنع تقييد عنوان IP).\n
    diff --git a/readme-translations/README.de.md b/readme-translations/README.de.md index 3f6a254..b1867d7 100644 --- a/readme-translations/README.de.md +++ b/readme-translations/README.de.md @@ -308,7 +308,7 @@ Hinweise: - **Ausgabeformat erzwingen:** Video-Downloads in ein bestimmtes Containerformat wie `mp4`, `webm` oder `mkv` erzwingen. Verfügbar unter **Download-Einstellungen → Ausgabeformat-Einstellungen**. - **Audioformatkonvertierung:** Konvertieren Sie reine Audio-Downloads in bevorzugte Formate wie `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` oder `Best`. Verfügbar unter **Download-Einstellungen → Audioformat-Einstellungen**. - **Audio-Normalisierung:** Standardisieren Sie die Lautstärke für reine Audio-Downloads mit EBU R128. - +- **Gleichzeitige Verbindungen:** Erhöhen Sie die Download-Geschwindigkeit drastisch, indem Sie Dateien gleichzeitig in mehreren Fragmenten herunterladen. Verfügbar in **Download-Einstellungen → Allgemein → Gleichzeitige Verbindungen** (Standard ist 1, empfohlenes Maximum ist 8-10, um IP-Einschränkungen zu vermeiden).\n
    diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md index aa47714..03dc2b8 100644 --- a/readme-translations/README.es.md +++ b/readme-translations/README.es.md @@ -308,7 +308,7 @@ Notas: - **Forzar formato de salida:** Fuerza las descargas de videos en un formato contenedor específico como `mp4`, `webm` o `mkv`. Disponible en **Configuración de descarga → Configuración de formato de salida**. - **Conversión de formato de audio:** Convierta descargas de solo audio a formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` o `Best`. Disponible en **Configuración de descarga → Configuración de formato de audio**. - **Normalización de audio:** Estandarice el volumen para descargas de solo audio usando EBU R128. - +- **Conexiones Concurrentes:** Aumente la velocidad de descarga drásticamente descargando archivos en múltiples fragmentos simultáneamente. Disponible en **Configuración de Descarga → General → Conexiones Concurrentes** (El valor predeterminado es 1, el máximo recomendado es 8-10 para evitar bloqueos de IP).\n
    diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md index 67829dc..855b229 100644 --- a/readme-translations/README.fr.md +++ b/readme-translations/README.fr.md @@ -308,7 +308,7 @@ Remarques : - **Forcer le format de sortie :** Forcer les téléchargements de vidéos dans un format de conteneur spécifique tel que `mp4`, `webm` ou `mkv`. Disponible dans **Paramètres de téléchargement → Paramètres du format de sortie**. - **Conversion de format audio :** Convertissez les téléchargements audio uniquement vers les formats préférés tels que `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, ou `Best`. Disponible dans **Paramètres de téléchargement → Paramètres de format audio**. - **Normalisation audio :** Standardisez le volume pour les téléchargements audio uniquement à l'aide de l'EBU R128. - +- **Connexions Simultanées:** Augmentez considérablement la vitesse de téléchargement en téléchargeant des fichiers en plusieurs fragments simultanément. Disponible dans **Paramètres de téléchargement → Général → Connexions Simultanées** (Par défaut à 1, le maximum recommandé est de 8 à 10 pour éviter le blocage d'IP).\n
    diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md index faa7d61..6f0bb2e 100644 --- a/readme-translations/README.hi.md +++ b/readme-translations/README.hi.md @@ -307,7 +307,7 @@ python -m ytsage.main - **आउटपुट फ़ाइल नाम प्रारूप:** `%(title)s`, `%(uploader)s`, और `%(resolution)s` जैसे वेरिएबल का उपयोग करके आउटपुट फ़ाइल नाम प्रारूप को अनुकूलित करें। **डाउनलोड सेटिंग्स → फ़ाइल नाम प्रारूप** में उपलब्ध है।- **फोर्स आउटपुट फॉर्मेट:** वीडियो डाउनलोड को एक विशिष्ट कंटेनर फॉर्मेट जैसे `mp4`, `webm`, या `mkv` में फोर्स करें। **डाउनलोड सेटिंग्स → आउटपुट फॉर्मेट सेटिंग्स** में उपलब्ध है। - **ऑडियो प्रारूप रूपांतरण:** केवल-ऑडियो डाउनलोड को पसंदीदा प्रारूपों में परिवर्तित करें जैसे `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, या `Best`. **डाउनलोड सेटिंग्स → ऑडियो फॉर्मेट सेटिंग्स** में उपलब्ध है। - **ऑडियो सामान्यीकरण:** EBU R128 का उपयोग करके केवल-ऑडियो डाउनलोड के लिए वॉल्यूम को मानकीकृत करें। - +- **एक साथ कनेक्शन:** फाइलों को एक साथ कई अंशों में डाउनलोड करके डाउनलोड गति को नाटकीय रूप से बढ़ाएं। **डाउनलोड सेटिंग्स → सामान्य → एक साथ कनेक्शन** में उपलब्ध है (डिफ़ॉल्ट 1 है, IP लिमिटिंग को रोकने के लिए अनुशंसित अधिकतम 8-10 है)।\n
    diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md index 7d2239e..ff801fb 100644 --- a/readme-translations/README.id.md +++ b/readme-translations/README.id.md @@ -308,7 +308,7 @@ Catatan: - **Format Output Paksa:** Paksa pengunduhan video ke dalam format wadah tertentu seperti `mp4`, `webm`, atau `mkv`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Output**. - **Konversi Format Audio:** Konversi unduhan audio saja ke format pilihan seperti `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, atau `Best`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Audio**. - **Normalisasi Audio:** Standarkan volume untuk unduhan audio saja menggunakan EBU R128. - +- **Koneksi Bersamaan:** Tingkatkan kecepatan unduhan secara drastis dengan mengunduh file dalam beberapa fragmen secara bersamaan. Tersedia di **Pengaturan Unduhan → Umum → Koneksi Bersamaan** (Bawaan 1, batas maksimum yang disarankan adalah 8-10 untuk mencegah pembatasan IP).\n
    diff --git a/readme-translations/README.it.md b/readme-translations/README.it.md index 0c4f060..66a4ac2 100644 --- a/readme-translations/README.it.md +++ b/readme-translations/README.it.md @@ -308,7 +308,7 @@ Note: - **Forza formato output:** forza i download dei video in un formato contenitore specifico come `mp4`, `webm` o `mkv`. Disponibile in **Impostazioni download → Impostazioni formato output**. - **Conversione del formato audio:** Converti i download solo audio nei formati preferiti come `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, o `Best`. Disponibile in **Impostazioni download → Impostazioni formato audio**. - **Normalizzazione audio:** Standardizza il volume per i download solo audio utilizzando EBU R128. - +- **Connessioni Simultanee:** Aumenta drasticamente la velocità di download scaricando file in frammenti multipli contemporaneamente. Disponibile in **Impostazioni di Download → Generale → Connessioni Simultanee** (Predefinito 1, massimo consigliato 8-10 per evitare limitazioni IP).\n
    diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md index 2787fdf..7e0fb7d 100644 --- a/readme-translations/README.ja.md +++ b/readme-translations/README.ja.md @@ -307,7 +307,7 @@ Dailymotion、CBC Gem、TikTok など、yt-dlp でサポートされているサ - **出力ファイル名の形式:** `%(title)s`、`%(uploader)s`、`%(resolution)s` などの変数を使用して、出力ファイル名の形式をカスタマイズします。 **ダウンロード設定 → ファイル名形式**で利用できます。- **出力形式を強制:** ビデオを`mp4`、`webm`、`mkv`などの特定のコンテナ形式に強制的にダウンロードします。 **ダウンロード設定 → 出力形式設定**で利用できます。 - **オーディオ形式変換:** オーディオのみのダウンロードを、`AAC`、`MP3`、`FLAC`、`WAV`、`Opus`、`M4A`、などの優先形式に変換します。 `Vorbis`、または `Best`。 **ダウンロード設定 → オーディオ形式設定**で利用できます。 - **オーディオの正規化:** EBU R128 を使用して、オーディオのみのダウンロードの音量を標準化します。 - +- **同時接続数:** ファイルを複数のフラグメントで同時にダウンロードすることにより、ダウンロード速度を劇的に向上させます。**ダウンロード設定 → 一般 → 同時接続数** から利用可能(デフォルトは1、IP制限を防ぐための推奨最大値は8~10)。\n
    diff --git a/readme-translations/README.pl.md b/readme-translations/README.pl.md index a74a059..25e867c 100644 --- a/readme-translations/README.pl.md +++ b/readme-translations/README.pl.md @@ -308,7 +308,7 @@ Uwagi: - **Wymuś format wyjściowy:** Wymuś pobieranie plików wideo w określonym formacie kontenera, takim jak `mp4`, `webm` lub `mkv`. Dostępne w **Ustawienia pobierania → Ustawienia formatu wyjściowego**. - **Konwersja formatu audio:** Konwertuj pliki do pobrania zawierające wyłącznie dźwięk do preferowanych formatów, takich jak `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` lub `Best`. Dostępne w **Ustawienia pobierania → Ustawienia formatu audio**. - **Normalizacja dźwięku:** Ujednolicenie głośności pobieranych plików zawierających wyłącznie dźwięk za pomocą EBU R128. - +- **Jednoczesne połączenia:** Znacznie zwiększ prędkość pobierania, pobierając pliki w wielu fragmentach jednocześnie. Dostępne w **Ustawienia pobierania → Ogólne → Jednoczesne połączenia** (Domyślnie 1, zalecane maksimum to 8-10, aby zapobiec blokowaniu IP).\n
    diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md index ca7bd2a..79b2f01 100644 --- a/readme-translations/README.pt.md +++ b/readme-translations/README.pt.md @@ -308,7 +308,7 @@ Notas: - **Forçar formato de saída:** Força downloads de vídeo em um formato de contêiner específico, como `mp4`, `webm` ou `mkv`. Disponível em **Configurações de download → Configurações de formato de saída**. - **Conversão de formato de áudio:** Converta downloads somente de áudio para formatos preferidos, como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` ou `Best`. Disponível em **Configurações de download → Configurações de formato de áudio**. - **Normalização de áudio:** Padronize o volume para downloads somente de áudio usando EBU R128. - +- **Conexões Simultâneas:** Aumente a velocidade de download drasticamente baixando arquivos em vários fragmentos simultaneamente. Disponível em **Configurações de Download → Geral → Conexões Simultâneas** (O padrão é 1, o máximo recomendado é 8-10 para evitar bloqueios de IP).\n
    diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md index 3c6c1de..8e75d4d 100644 --- a/readme-translations/README.ru.md +++ b/readme-translations/README.ru.md @@ -308,7 +308,7 @@ python -m ytsage.main - **Принудительный формат вывода.** Принудительно загружайте видео в определенный формат контейнера, например `mp4`, `webm` или `mkv`. Доступно в **Настройки загрузки → Настройки формата вывода**. - **Преобразование аудиоформата:** конвертируйте загрузки, содержащие только аудио, в предпочтительные форматы, такие как `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` или `Best`. Доступно в **Настройки загрузки → Настройки аудиоформата**. - **Нормализация звука:** Стандартизируйте громкость для загрузок, содержащих только аудио, используя EBU R128. - +- **Одновременные соединения:** Значительно увеличьте скорость загрузки, скачивая файлы в виде нескольких фрагментов одновременно. Доступно в **Настройки загрузки → Общие → Одновременные соединения** (По умолчанию 1, рекомендуемый максимум 8-10 для предотвращения блокировки IP).\n
    diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md index 686ef2f..f24a67b 100644 --- a/readme-translations/README.tr.md +++ b/readme-translations/README.tr.md @@ -307,7 +307,7 @@ Notlar: - **Çıktı Dosya Adı Formatı:** `%(title)s`, `%(uploader)s` ve `%(resolution)s` gibi değişkenleri kullanarak çıktı dosya adı formatını özelleştirin. **İndirme Ayarları → Dosya Adı Formatı**'nda mevcuttur.- **Çıktı Formatını Zorla:** Video indirme işlemlerini `mp4`, `webm` veya `mkv` gibi belirli bir kapsayıcı formatına zorlayın. **İndirme Ayarları → Çıktı Formatı Ayarları** bölümünde mevcuttur. - **Ses Formatı Dönüştürme:** Yalnızca ses indirmelerini `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A` gibi tercih edilen formatlara dönüştürün `Vorbis` veya `Best`. **İndirme Ayarları → Ses Formatı Ayarları**'nda mevcuttur. - **Ses Normalizasyonu:** EBU R128 kullanarak yalnızca ses indirmeleri için ses düzeyini standartlaştırın. - +- **Eşzamanlı Bağlantılar:** Dosyaları aynı anda birden fazla parça halinde indirerek indirme hızını önemli ölçüde artırın. **İndirme Ayarları → Genel → Eşzamanlı Bağlantılar** altında mevcuttur (Varsayılan 1, IP kısıtlamasını önlemek için önerilen maksimum 8-10).\n
    diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md index 3b483f7..5503451 100644 --- a/readme-translations/README.zh.md +++ b/readme-translations/README.zh.md @@ -307,7 +307,7 @@ python -m ytsage.main - **输出文件名格式:** 使用`%(title)s`、`%(uploader)s`和`%(resolution)s`等变量自定义输出文件名格式。在**下载设置 → 文件名格式**中可用。- **强制输出格式:** 强制视频下载为特定容器格式,例如`mp4`、`webm`或`mkv`。在**下载设置 → 输出格式设置**中可用。 - **音频格式转换:** 将纯音频下载转换为首选格式,例如 `AAC`、`MP3`、`FLAC`、`WAV`、`Opus`、`M4A`、 `Vorbis`,或`Best`。在**下载设置 → 音频格式设置**中可用。 - **音频归一化:** 使用 EBU R128 标准化纯音频下载的音量。 - +- **并发连接数:** 通过同时分多部分下载文件来显着提高下载速度。可在 **下载设置 → 常规 → 并发连接数** 中找到(默认为1,建议最大为 8-10 以防止 IP 限制)。\n
    From ac5690b9b07c273cb6e33057e12c0662f6e913a6 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:33:07 +0200 Subject: [PATCH 515/568] Add Concurrent Connections note to README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Document the new Concurrent Connections setting: explains that downloads can use multiple fragments concurrently to increase speed, where to find it (Download Settings → General → Concurrent Connections), the default value (1), and a recommended maximum (8–10) to avoid IP limiting. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3aa3340..a9efaf5 100644 --- a/README.md +++ b/README.md @@ -309,6 +309,7 @@ Notes: - **Force Output Format:** Force video downloads into a specific container format such as `mp4`, `webm`, or `mkv`. Available in **Download Settings → Output Format Settings**. - **Audio Format Conversion:** Convert audio-only downloads to preferred formats such as `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`. Available in **Download Settings → Audio Format Settings**. - **Audio Normalization:** Standardize volume for audio-only downloads using EBU R128. +- **Concurrent Connections:** Increase download speed dramatically by downloading files in multiple fragments concurrently. Available in **Download Settings → General → Concurrent Connections** (Defaults to 1, recommended maximum is 8-10 to prevent IP limiting).
    From 71a68d3947e1c1eb3c0aa8224d9ef5ae00302ac3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 10 Apr 2026 15:10:00 +0200 Subject: [PATCH 516/568] Use smaller dimension for resolution height Previously the code assumed the height was always the second value in the "WxH" resolution string. This change splits the resolution into parts, verifies there are two components, and uses the smaller dimension (min) as the height to correctly classify vertical videos. Also avoids potential index errors when the resolution string is malformed. --- ytsage/gui/ytsage_gui_format_table.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ytsage/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py index 524a350..f0133ce 100644 --- a/ytsage/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -490,7 +490,10 @@ class FormatTableMixin: resolution = format_info.get("resolution", "") if resolution: try: - height = int(resolution.split("x")[1]) + parts = resolution.split("x") + if len(parts) == 2: + # Use the smaller dimension to correctly classify vertical videos + height = min(int(parts[0]), int(parts[1])) except: pass From 9b085aa54743b839b925de5a0d7e1672eeb032af Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 10 Apr 2026 17:10:58 +0200 Subject: [PATCH 517/568] =?UTF-8?q?Prefix=20playlist=20formats=20with=20'?= =?UTF-8?q?=E2=89=A4'=20and=20read=20table?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Format table: when in playlist mode and the format has a video codec, prefix the quality and (when available) resolution with "≤ " to indicate an upper-bound. Resolution is only prefixed if it's not "N/A". Main UI: replace the old checkbox-list lookup with scanning the format_table rows to find the checked checkbox widget, pick the correct resolution column depending on playlist mode, strip any leading "≤ " and use that as the selected resolution. This fixes resolution selection for playlist entries and ensures the displayed "≤" semantics are handled when extracting values. --- ytsage/gui/ytsage_gui_format_table.py | 6 ++++++ ytsage/gui/ytsage_gui_main.py | 19 +++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/ytsage/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py index f0133ce..e87c685 100644 --- a/ytsage/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -307,6 +307,9 @@ class FormatTableMixin: # Quality label with color coding quality_label = self.get_quality_label(f) + if is_playlist_mode and f.get("vcodec") != "none": + quality_label = f"≤ {quality_label}" + quality_item = QTableWidgetItem(quality_label) # Set color based on quality (check multiple language terms) quality_lower = quality_label.lower() @@ -324,6 +327,9 @@ class FormatTableMixin: resolution = f.get("resolution") or "N/A" if not isinstance(resolution, str): resolution = str(resolution) + + if is_playlist_mode and f.get("vcodec") != "none" and resolution != "N/A": + resolution = f"≤ {resolution}" if is_playlist_mode: # Column 2 for playlist mode: Resolution diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 880a095..f6a9331 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -713,12 +713,19 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Get resolution for filename resolution = "default" - for checkbox in self.format_checkboxes: - if checkbox.isChecked(): - parts = checkbox.text().split("•") - if len(parts) >= 1: - resolution = parts[0].strip().lower() - break + for row in range(self.format_table.rowCount()): + cell_widget = self.format_table.cellWidget(row, 0) + if cell_widget: + cb = cell_widget.layout().itemAt(0).widget() + if isinstance(cb, QCheckBox) and cb.isChecked(): + if self.is_playlist: + res_item = self.format_table.item(row, 2) + else: + res_item = self.format_table.item(row, 3) + + if res_item and res_item.text() != "N/A": + resolution = res_item.text().replace("≤ ", "").strip() + break # Get subtitle selection if available - Now get the list selected_subs = self.selected_subtitles if hasattr(self, "selected_subtitles") else [] From 00fc685e886059b899535f850aca6fc31374a3c2 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 10 Apr 2026 17:19:44 +0200 Subject: [PATCH 518/568] Bump version to 5.0.5b Prepare a new beta release by updating the package version. Sync version from 5.0.4b to 5.0.5b in pyproject.toml and ytsage/__init__.py. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index cf33c40..329d201 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.4b" +version = "5.0.5b" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index eba6e20..f62bead 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.4b" +__version__ = "5.0.5b" __author__ = "oop7" From a51d8092a82b98e31613286773f218e97b4dbc22 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 19 Apr 2026 18:11:19 +0200 Subject: [PATCH 519/568] Include video id in default filename format Update default filename_format to append the video id as _[%(id)s] before the extension, improving uniqueness of generated filenames and preventing collisions when multiple videos share the same title and resolution. --- ytsage/utils/ytsage_config_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index e218347..fcbe92f 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -95,7 +95,7 @@ class ConfigManager: "force_audio_format": False, "preferred_audio_format": "best", "audio_normalization": False, - "filename_format": "%(title)s_%(resolution)s.%(ext)s", + "filename_format": "%(title)s_%(resolution)s_[%(id)s].%(ext)s", "cached_versions": { "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, "ffmpeg": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, From ab7d77800ae0af11fc1f720a48b553bb515b21a8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 19 Apr 2026 19:20:56 +0200 Subject: [PATCH 520/568] Include video id in default filename format Add video id to the default output filename template across the downloader and settings UI. The template was changed from "%(title)s_%(resolution)s.%(ext)s" to "%(title)s_%(resolution)s_[%(id)s].%(ext)s" in ytsage_downloader.py and ytsage_dialogs_settings.py (including placeholder and reset behavior). This helps avoid filename collisions and makes downloaded files easier to identify. --- ytsage/core/ytsage_downloader.py | 2 +- ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index ed545b2..3df0fe7 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -302,7 +302,7 @@ class DownloadThread(QThread): base_path: str = self.path.as_posix() # Determine the filename part of the template - filename_part = self.filename_format if self.filename_format else "%(title)s_%(resolution)s.%(ext)s" + filename_part = self.filename_format if self.filename_format else "%(title)s_%(resolution)s_[%(id)s].%(ext)s" if self.is_playlist: # Create output template with playlist subfolder diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 23294c3..76f727b 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -387,18 +387,18 @@ class DownloadSettingsDialog(QDialog): filename_layout = QVBoxLayout() # Load current filename format from ConfigManager - self.filename_format_value = ConfigManager.get("filename_format") or "%(title)s_%(resolution)s.%(ext)s" + self.filename_format_value = ConfigManager.get("filename_format") or "%(title)s_%(resolution)s_[%(id)s].%(ext)s" # Input and Reset Button Layout filename_input_layout = QHBoxLayout() self.filename_format_input = QLineEdit(self.filename_format_value) - self.filename_format_input.setPlaceholderText("%(title)s_%(resolution)s.%(ext)s") + self.filename_format_input.setPlaceholderText("%(title)s_%(resolution)s_[%(id)s].%(ext)s") filename_input_layout.addWidget(self.filename_format_input) self.reset_format_button = QPushButton(_("buttons.reset")) self.reset_format_button.setFixedWidth(70) - self.reset_format_button.clicked.connect(lambda: self.filename_format_input.setText("%(title)s_%(resolution)s.%(ext)s")) + self.reset_format_button.clicked.connect(lambda: self.filename_format_input.setText("%(title)s_%(resolution)s_[%(id)s].%(ext)s")) filename_input_layout.addWidget(self.reset_format_button) filename_layout.addLayout(filename_input_layout) From 717e9b40aee8a9e2a76f9d1cc909db90a9373a4c Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:32:20 +0300 Subject: [PATCH 521/568] Preselect default subtitles from config Load user's default_subtitle_language from ConfigManager and preselect matching manual or auto-generated subtitles on analysis load. Handles comma-separated strings, checks against available_subtitles and available_automatic_subtitles, and updates the selected subtitles list. Attempts to update the UI label and button state (with style refresh) inside a try/except to avoid errors during initialization. --- ytsage/gui/ytsage_gui_analysis.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ytsage/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py index e05ee70..2dd4f42 100644 --- a/ytsage/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -393,6 +393,29 @@ class AnalysisMixin: self.available_automatic_subtitles = result_data["available_automatic_subtitles"] self.selected_playlist_items = None self.selected_subtitles = [] + + from ..utils.ytsage_config_manager import ConfigManager + default_sub = ConfigManager.get("default_subtitle_language") + if default_sub: + if isinstance(default_sub, str): + default_sub_list = [s.strip() for s in default_sub.split(",")] + else: + default_sub_list = [] + + for lang in default_sub_list: + if lang in self.available_subtitles: + self.selected_subtitles.append(f"{lang} - Manual") + elif lang in self.available_automatic_subtitles: + self.selected_subtitles.append(f"{lang} - Auto-generated") + + count = len(self.selected_subtitles) + try: + self.signals.selected_subs_label_text.emit(_("subtitle_selection.count_selected", count=count)) + self.subtitle_select_btn.setProperty("subtitlesSelected", count > 0) + self.subtitle_select_btn.style().unpolish(self.subtitle_select_btn) + self.subtitle_select_btn.style().polish(self.subtitle_select_btn) + except Exception: + pass # Update UI components (safe - we're in main thread) self.update_video_info(self.video_info) From 6eb12043e3fc0fe1891956dbf57f6bb0512c196a Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:32:35 +0300 Subject: [PATCH 522/568] Add default video quality & subtitles settings Introduce a "Default Selection Settings" group in the Download Settings dialog to let users specify a default video resolution (height) and default subtitle language(s). Adds labeled QLineEdit inputs with placeholders and explanatory help text, uses localized strings for labels, and persists values to ConfigManager under keys "default_video_quality" and "default_subtitle_language" when saving. --- .../ytsage_dialogs_settings.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 76f727b..59d6e6b 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -376,6 +376,39 @@ class DownloadSettingsDialog(QDialog): audio_format_group_box.setLayout(audio_format_layout) format_layout.addWidget(audio_format_group_box) + + # --- Default Quality and Subtitles Section --- + defaults_group_box = QGroupBox(_("settings.defaults_settings", default="Default Selection Settings")) + defaults_layout = QVBoxLayout() + + # Default Video Quality + vid_qual_layout = QHBoxLayout() + vid_qual_label = QLabel(_("settings.default_video_quality", default="Default Video Resolution (Height):")) + vid_qual_label.setStyleSheet("color: #ffffff; margin-top: 5px;") + self.default_vid_qual_input = QLineEdit(str(ConfigManager.get("default_video_quality") or "")) + self.default_vid_qual_input.setPlaceholderText("e.g. 1080 or 720") + vid_qual_layout.addWidget(vid_qual_label) + vid_qual_layout.addWidget(self.default_vid_qual_input) + defaults_layout.addLayout(vid_qual_layout) + + # Default Subtitles + sub_layout = QHBoxLayout() + sub_label = QLabel(_("settings.default_subtitle_language", default="Default Subtitle Language(s):")) + sub_label.setStyleSheet("color: #ffffff; margin-top: 5px;") + self.default_sub_input = QLineEdit(ConfigManager.get("default_subtitle_language") or "") + self.default_sub_input.setPlaceholderText("e.g. en, es") + sub_layout.addWidget(sub_label) + sub_layout.addWidget(self.default_sub_input) + defaults_layout.addLayout(sub_layout) + + defaults_help = QLabel(_("settings.defaults_help", default="Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available.")) + defaults_help.setWordWrap(True) + defaults_help.setStyleSheet("color: #cccccc; margin: 5px; font-size: 11px;") + defaults_layout.addWidget(defaults_help) + + defaults_group_box.setLayout(defaults_layout) + format_layout.addWidget(defaults_group_box) + format_layout.addStretch() # === File Tab === @@ -580,6 +613,12 @@ class DownloadSettingsDialog(QDialog): ConfigManager.set("preferred_audio_format", preferred_audio_format) ConfigManager.set("audio_normalization", audio_normalization) + # Save defaults + default_vid = self.default_vid_qual_input.text().strip() + ConfigManager.set("default_video_quality", default_vid if default_vid else None) + default_sub = self.default_sub_input.text().strip() + ConfigManager.set("default_subtitle_language", default_sub if default_sub else None) + # Save filename format filename_format = self.get_filename_format() if filename_format: From fb209351f2df439f2a028d329bc3fb5ad82e7bd5 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:32:49 +0300 Subject: [PATCH 523/568] Auto-select default video quality in formats After populating the format table, read default_video_quality from ConfigManager and attempt to auto-select a matching video format (by resolution/height). If a matching video format is found it is checked and handle_checkbox_click is invoked to trigger selection side-effects; if not, the first (highest-quality) format is selected as a fallback. Existing visibility filtering via filter_formats is still applied afterward. --- ytsage/gui/ytsage_gui_format_table.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/ytsage/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py index e87c685..5b2dea0 100644 --- a/ytsage/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -238,6 +238,30 @@ class FormatTableMixin: self._populate_format_table(all_filtered) self._table_built = True + from ..utils.ytsage_config_manager import ConfigManager + default_video_quality = ConfigManager.get("default_video_quality") + + # Auto-select the default or best format + if self.format_checkboxes: + found_default = False + if default_video_quality: + # Try to find a video format with the requested height (e.g. '1080') + target_height = str(default_video_quality) + # the formats are sorted by quality, so the first match is typically the best one for that height + for idx, (f, fmt_type) in enumerate(all_filtered): + if fmt_type == "video": + res = str(f.get("resolution", "")) + if res.endswith(f"x{target_height}") or target_height in res: + self.format_checkboxes[idx].setChecked(True) + self.handle_checkbox_click(self.format_checkboxes[idx]) + found_default = True + break + + if not found_default: + # Fallback to the first available format (which is the best quality since it's sorted) + self.format_checkboxes[0].setChecked(True) + self.handle_checkbox_click(self.format_checkboxes[0]) + # Apply initial visibility based on current button states self.filter_formats() From cf4c4e37c8beade9438ec9ae0f00b0a650f2c524 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:32:59 +0300 Subject: [PATCH 524/568] Add 'Save Playlist' button and save dialog Introduce a Save Playlist UI flow: import QFileDialog, group playlist action buttons into a horizontal layout, add a new "Save Playlist As" button with styling and visibility control, and connect its click to a new save_playlist_to_file method. The new method prompts for a save location and supports saving playlist_entries in TXT, M3U, CSV, or JSON formats, shows success/error message boxes, and logs exceptions. Also wire the existing playlist visibility signal to control the save button and adjust layout placement for the playlist buttons. --- ytsage/gui/ytsage_gui_main.py | 58 ++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index f6a9331..40794f5 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -15,6 +15,7 @@ from PySide6.QtWidgets import ( QButtonGroup, QCheckBox, QDialog, + QFileDialog, QHBoxLayout, QLabel, QLineEdit, @@ -397,12 +398,24 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.playlist_info_label = self.setup_playlist_info_section() layout.addWidget(self.playlist_info_label) + # Playlist buttons layout + playlist_btns_layout = QHBoxLayout() + # Add playlist selection BUTTON (initially hidden) - REPLACED QLineEdit self.playlist_select_btn = QPushButton(_("buttons.select_videos")) self.playlist_select_btn.clicked.connect(self.open_playlist_selection_dialog) self.playlist_select_btn.setVisible(False) self.playlist_select_btn.setStyleSheet(StyleSheet.PLAYLIST_BUTTON) - layout.addWidget(self.playlist_select_btn) + playlist_btns_layout.addWidget(self.playlist_select_btn) + + # Save playlist as button + self.save_playlist_btn = QPushButton(_("buttons.save_playlist", default="Save Playlist As")) + self.save_playlist_btn.clicked.connect(self.save_playlist_to_file) + self.save_playlist_btn.setVisible(False) + self.save_playlist_btn.setStyleSheet(StyleSheet.PLAYLIST_BUTTON) + playlist_btns_layout.addWidget(self.save_playlist_btn) + + layout.addLayout(playlist_btns_layout) # --- End Playlist Info Section --- # Format controls section with minimal spacing @@ -568,6 +581,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.signals.playlist_info_label_text.connect(self.playlist_info_label.setText) self.signals.selected_subs_label_text.connect(self.selected_subs_label.setText) self.signals.playlist_select_btn_visible.connect(lambda v: self.set_widget_visible_animated(self.playlist_select_btn, v)) + self.signals.playlist_select_btn_visible.connect(lambda v: self.set_widget_visible_animated(self.save_playlist_btn, v)) self.signals.playlist_select_btn_text.connect(self.playlist_select_btn.setText) # Disable analysis-dependent controls until video is analyzed @@ -1321,6 +1335,48 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): button_text = f"Select Videos... ({display_text})" self.playlist_select_btn.setText(button_text) # Direct call is fine here + def save_playlist_to_file(self) -> None: + """Save current playlist URLs/info to a file.""" + if not getattr(self, "playlist_entries", None): + QMessageBox.warning(self, _("playlist.save_error_title", default="Save Error"), _("playlist.no_videos_to_save", default="No playlist entries gathered!")) + return + + default_dir = str(Path(self.last_path) / "playlist.txt") + file_path, selected_filter = QFileDialog.getSaveFileName( + self, + _("playlist.save_as", default="Save Playlist As"), + default_dir, + "Text files (*.txt);;M3U playlists (*.m3u);;CSV files (*.csv);;JSON files (*.json)" + ) + + if not file_path: + return + + try: + with open(file_path, 'w', encoding='utf-8') as f: + if "Text files" in selected_filter: + for entry in self.playlist_entries: + f.write(f"{entry.get('url', '')}\n") + elif "M3U" in selected_filter: + f.write("#EXTM3U\n") + for entry in self.playlist_entries: + duration = int(entry.get('duration', 0)) if entry.get('duration') else 0 + title = entry.get('title', 'Unknown Title') + f.write(f"#EXTINF:{duration},{title}\n{entry.get('url', '')}\n") + elif "CSV" in selected_filter: + import csv + writer = csv.writer(f, lineterminator='\n') + writer.writerow(['Title', 'URL', 'Duration', 'Uploader']) + for entry in self.playlist_entries: + writer.writerow([entry.get('title', ''), entry.get('url', ''), entry.get('duration', ''), entry.get('uploader', '')]) + elif "JSON" in selected_filter: + import json + json.dump(self.playlist_entries, f, indent=4, ensure_ascii=False) + QMessageBox.information(self, _("playlist.save_success_title", default="Success"), _("playlist.saved_successfully", default="Playlist saved successfully.")) + except Exception as e: + logger.exception(f"Error saving playlist: {e}") + QMessageBox.critical(self, _("playlist.save_error_title", default="Error"), _("playlist.save_error_msg", default="Failed to save playlist.")) + # --- New Slot for Updating Playlist Button Text --- # moved to SignalManager as Signal and added to init_ui() method. From 3b6ac7ce811e6da0cc859d609bc6103885b0c821 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:33:10 +0300 Subject: [PATCH 525/568] Add playlist save and default selection strings Update English locale with new UI strings for playlist saving and default selections. Adds 'save_playlist' and related save messages (save_as, save_success_title, saved_successfully, save_error_title, no_videos_to_save, save_error_msg), adds default selection settings keys (defaults_settings, default_video_quality, default_subtitle_language, defaults_help), and documents the %(playlist_index)s variable in filename_format_help. Also minor formatting cleanup in the file. --- ytsage/languages/en.json | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index d0f9e7b..258f404 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -82,8 +82,7 @@ "select_defaults": "Select Defaults", "select_all": "Select All", "deselect_all": "Deselect All", - "open_folder": "Open folder location", - "reset": "Reset" + "open_folder": "Open folder location", "save_playlist": "Save Playlist As", "reset": "Reset" }, "dialogs": { "custom_options": "Custom Options", @@ -330,7 +329,11 @@ "audio_normalization": "Audio Normalization (EBU R128)", "audio_normalization_help": "When enabled, audio tracks will be normalized. Note: This requires re-encoding, so a specific audio format (like MP3 or M4A) must be forced.", "filename_format": "Output Filename Format", - "filename_format_help": "Available variables: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Standard yt-dlp output template syntax is supported.", + "filename_format_help": "Available variables: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s, %(playlist_index)s. Standard yt-dlp output template syntax is supported.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available.", "concurrent_fragments": "Concurrent Connections", "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", "preferred_audio_format": "Preferred audio format:", @@ -470,7 +473,13 @@ "unknown": "Unknown Playlist", "total_videos": "Total Videos: {count}", "display_format": "Playlist: {title} | {count} videos", - "select_videos_title": "Select Playlist Videos" + "select_videos_title": "Select Playlist Videos", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} selected" From 405ae07cac824643b6a9cac1010366473e0c5a8e Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:37:40 +0300 Subject: [PATCH 526/568] Add i18n entries for defaults and playlist save Add new localization keys across multiple languages to support default selection settings and playlist saving UI. New keys include defaults_settings, default_video_quality, default_subtitle_language, defaults_help, and playlist save messages (save_as, save_success_title, saved_successfully, save_error_title, no_videos_to_save, save_error_msg). Files updated: ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh. --- ytsage/languages/ar.json | 14 ++++++++++++-- ytsage/languages/de.json | 14 ++++++++++++-- ytsage/languages/es.json | 14 ++++++++++++-- ytsage/languages/fr.json | 14 ++++++++++++-- ytsage/languages/hi.json | 14 ++++++++++++-- ytsage/languages/id.json | 14 ++++++++++++-- ytsage/languages/it.json | 14 ++++++++++++-- ytsage/languages/ja.json | 14 ++++++++++++-- ytsage/languages/pl.json | 14 ++++++++++++-- ytsage/languages/pt.json | 14 ++++++++++++-- ytsage/languages/ru.json | 14 ++++++++++++-- ytsage/languages/tr.json | 14 ++++++++++++-- ytsage/languages/zh.json | 14 ++++++++++++-- 13 files changed, 156 insertions(+), 26 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 18e4220..c92ec30 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -344,7 +344,11 @@ "tab_format": "تنسيق", "tab_file": "ملف", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل", @@ -469,7 +473,13 @@ "unknown": "قائمة تشغيل غير معروفة", "total_videos": "إجمالي الفيديوهات: {count}", "display_format": "قائمة التشغيل: {title} | {count} فيديوهات", - "select_videos_title": "اختر مقاطع الفيديو من قائمة التشغيل" + "select_videos_title": "اختر مقاطع الفيديو من قائمة التشغيل", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} محدد" diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index 8305f35..3c497fb 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -344,7 +344,11 @@ "tab_format": "Format", "tab_file": "Datei", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "YouTube-Video- oder Playlist-URL eingeben", @@ -469,7 +473,13 @@ "unknown": "Unbekannte Playlist", "total_videos": "Gesamtanzahl Videos: {count}", "display_format": "Playlist: {title} | {count} Videos", - "select_videos_title": "Playlist-Videos auswählen" + "select_videos_title": "Playlist-Videos auswählen", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} ausgewählt" diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index 5cd5b90..e51023a 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -327,7 +327,11 @@ "tab_format": "Formato", "tab_file": "Archivo", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "Ingresa URL de video o lista de YouTube", @@ -452,7 +456,13 @@ "unknown": "Lista de reproducción desconocida", "total_videos": "Total de Videos: {count}", "display_format": "Lista de reproducción: {title} | {count} videos", - "select_videos_title": "Seleccionar Videos de la Lista de Reproducción" + "select_videos_title": "Seleccionar Videos de la Lista de Reproducción", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} seleccionados" diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 240ede6..b1becf6 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -344,7 +344,11 @@ "tab_format": "Format", "tab_file": "Fichier", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", @@ -469,7 +473,13 @@ "unknown": "Playlist inconnue", "total_videos": "Total des vidéos : {count}", "display_format": "Playlist : {title} | {count} vidéos", - "select_videos_title": "Sélectionner les Vidéos de la Playlist" + "select_videos_title": "Sélectionner les Vidéos de la Playlist", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} sélectionné(s)" diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index f4ccf95..9ac96c0 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -344,7 +344,11 @@ "tab_format": "प्रारूप", "tab_file": "फ़ाइल", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें", @@ -469,7 +473,13 @@ "unknown": "अज्ञात प्लेलिस्ट", "total_videos": "कुल वीडियो: {count}", "display_format": "प्लेलिस्ट: {title} | {count} वीडियो", - "select_videos_title": "प्लेलिस्ट वीडियो चुनें" + "select_videos_title": "प्लेलिस्ट वीडियो चुनें", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} चुना गया" diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index e00a181..1f1cbb3 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -344,7 +344,11 @@ "tab_format": "Format", "tab_file": "Berkas", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "Masukkan URL video atau playlist YouTube", @@ -469,7 +473,13 @@ "unknown": "Playlist Tidak Dikenal", "total_videos": "Total Video: {count}", "display_format": "Playlist: {title} | {count} video", - "select_videos_title": "Pilih Video Playlist" + "select_videos_title": "Pilih Video Playlist", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} dipilih" diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 6ca6e3a..f814d13 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -344,7 +344,11 @@ "tab_format": "Formato", "tab_file": "File", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "Inserisci URL video YouTube o playlist", @@ -469,7 +473,13 @@ "unknown": "Playlist sconosciuta", "total_videos": "Video totali: {count}", "display_format": "Playlist: {title} | {count} video", - "select_videos_title": "Seleziona Video Playlist" + "select_videos_title": "Seleziona Video Playlist", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} selezionati" diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 6b1e401..e4a0df8 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -344,7 +344,11 @@ "tab_format": "フォーマット", "tab_file": "ファイル", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "YouTubeの動画URLまたはプレイリストURLを入力", @@ -469,7 +473,13 @@ "unknown": "不明な再生リスト", "total_videos": "総動画数: {count}", "display_format": "再生リスト: {title} | {count}個の動画", - "select_videos_title": "プレイリスト動画を選択" + "select_videos_title": "プレイリスト動画を選択", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count}個選択" diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index c73a0f9..dfce10d 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -344,7 +344,11 @@ "tab_format": "Format", "tab_file": "Plik", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "Wprowadź URL wideo YouTube lub playlisty", @@ -469,7 +473,13 @@ "unknown": "Nieznana playlista", "total_videos": "Wszystkich wideo: {count}", "display_format": "Playlista: {title} | {count} wideo", - "select_videos_title": "Wybierz Filmy z Playlisty" + "select_videos_title": "Wybierz Filmy z Playlisty", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} wybrano" diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index f193ab2..3da38b2 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -344,7 +344,11 @@ "tab_format": "Formato", "tab_file": "Arquivo", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "Digite a URL do vídeo ou playlist do YouTube", @@ -469,7 +473,13 @@ "unknown": "Playlist Desconhecida", "total_videos": "Total de Vídeos: {count}", "display_format": "Playlist: {title} | {count} vídeos", - "select_videos_title": "Selecionar Vídeos da Playlist" + "select_videos_title": "Selecionar Vídeos da Playlist", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} selecionadas" diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index 0bc66a4..6352f6c 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -344,7 +344,11 @@ "tab_format": "Формат", "tab_file": "Файл", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "Введите URL видео или плейлиста YouTube", @@ -469,7 +473,13 @@ "unknown": "Неизвестный плейлист", "total_videos": "Всего видео: {count}", "display_format": "Плейлист: {title} | {count} видео", - "select_videos_title": "Выбрать Видео из Плейлиста" + "select_videos_title": "Выбрать Видео из Плейлиста", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "выбрано: {count}" diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 36aa1ed..2656af3 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -342,7 +342,11 @@ "tab_format": "Biçim", "tab_file": "Dosya", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "YouTube video veya oynatma listesi URL'sini girin", @@ -467,7 +471,13 @@ "unknown": "Bilinmeyen Oynatma Listesi", "total_videos": "Toplam Video: {count}", "display_format": "Oynatma Listesi: {title} | {count} video", - "select_videos_title": "Oynatma Listesi Videolarını Seç" + "select_videos_title": "Oynatma Listesi Videolarını Seç", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "{count} seçildi" diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index c6c2832..b72ecb0 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -332,7 +332,11 @@ "tab_format": "格式", "tab_file": "文件", "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1." + "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", + "defaults_settings": "Default Selection Settings", + "default_video_quality": "Default Video Resolution (Height):", + "default_subtitle_language": "Default Subtitle Language(s):", + "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." }, "main_ui": { "url_placeholder": "输入 YouTube 视频或播放列表网址", @@ -457,7 +461,13 @@ "unknown": "未知播放列表", "total_videos": "总视频数:{count}", "display_format": "播放列表:{title} | {count}个视频", - "select_videos_title": "选择播放列表视频" + "select_videos_title": "选择播放列表视频", + "save_as": "Save Playlist As", + "save_success_title": "Success", + "saved_successfully": "Playlist saved successfully.", + "save_error_title": "Save Error", + "no_videos_to_save": "No playlist entries gathered!", + "save_error_msg": "Failed to save playlist." }, "subtitle_selection": { "count_selected": "已选择{count}个" From 57f5450725be49e5d45cab7a156c695d10f830b3 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:39:00 +0300 Subject: [PATCH 527/568] Add save_playlist key to language files Add a new "save_playlist" entry (placeholder "Save Playlist As") to multiple locale JSON files (ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh) to provide a translation key for saving playlists. Also adds the required trailing commas when inserting the new entries. --- ytsage/languages/ar.json | 3 ++- ytsage/languages/de.json | 3 ++- ytsage/languages/es.json | 3 ++- ytsage/languages/fr.json | 3 ++- ytsage/languages/hi.json | 3 ++- ytsage/languages/id.json | 3 ++- ytsage/languages/it.json | 3 ++- ytsage/languages/ja.json | 3 ++- ytsage/languages/pl.json | 3 ++- ytsage/languages/pt.json | 3 ++- ytsage/languages/ru.json | 3 ++- ytsage/languages/tr.json | 3 ++- ytsage/languages/zh.json | 3 ++- 13 files changed, 26 insertions(+), 13 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index c92ec30..14d7beb 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -83,7 +83,8 @@ "select_all": "تحديد الكل", "deselect_all": "إلغاء تحديد الكل", "open_folder": "فتح موقع المجلد", - "history": "السجل" + "history": "السجل", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "خيارات مخصصة", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index 3c497fb..eac062b 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -83,7 +83,8 @@ "select_all": "Alle auswählen", "deselect_all": "Alle abwählen", "open_folder": "Ordnerspeicherort öffnen", - "history": "Verlauf" + "history": "Verlauf", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Benutzerdefinierte Optionen", diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index e51023a..4227660 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -50,7 +50,8 @@ "select_all": "Seleccionar Todos", "deselect_all": "Deseleccionar Todos", "open_folder": "Abrir ubicación de carpeta", - "history": "Historial" + "history": "Historial", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Opciones Personalizadas", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index b1becf6..a4221b2 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -83,7 +83,8 @@ "select_all": "Tout sélectionner", "deselect_all": "Tout désélectionner", "open_folder": "Ouvrir l'emplacement du dossier", - "history": "Historique" + "history": "Historique", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Options personnalisées", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 9ac96c0..cef02b1 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -83,7 +83,8 @@ "select_all": "सभी चुनें", "deselect_all": "सभी को अचयनित करें", "open_folder": "फ़ोल्डर स्थान खोलें", - "history": "इतिहास" + "history": "इतिहास", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "कस्टम विकल्प", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index 1f1cbb3..a8ec713 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -83,7 +83,8 @@ "select_all": "Pilih semua", "deselect_all": "Batalkan pilihan semua", "open_folder": "Buka lokasi folder", - "history": "Riwayat" + "history": "Riwayat", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Opsi khusus", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index f814d13..a0b73a6 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -83,7 +83,8 @@ "select_all": "Seleziona tutto", "deselect_all": "Deseleziona tutto", "open_folder": "Apri posizione cartella", - "history": "Cronologia" + "history": "Cronologia", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Opzioni personalizzate", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index e4a0df8..15264cc 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -83,7 +83,8 @@ "select_all": "すべて選択", "deselect_all": "すべて解除", "open_folder": "フォルダの場所を開く", - "history": "履歴" + "history": "履歴", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "カスタムオプション", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index dfce10d..16f0e70 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -83,7 +83,8 @@ "select_all": "Zaznacz wszystko", "deselect_all": "Odznacz wszystko", "open_folder": "Otwórz lokalizację folderu", - "history": "Historia" + "history": "Historia", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Opcje niestandardowe", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index 3da38b2..564ff74 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -83,7 +83,8 @@ "select_all": "Selecionar Tudo", "deselect_all": "Desmarcar Tudo", "open_folder": "Abrir local da pasta", - "history": "Histórico" + "history": "Histórico", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Opções Personalizadas", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index 6352f6c..4975e84 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -83,7 +83,8 @@ "select_all": "Выбрать всё", "deselect_all": "Снять выделение", "open_folder": "Открыть расположение папки", - "history": "История" + "history": "История", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Пользовательские опции", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 2656af3..56d214f 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -83,7 +83,8 @@ "select_all": "Tümünü seç", "deselect_all": "Tüm seçimi kaldır", "open_folder": "Klasör konumunu aç", - "history": "Geçmiş" + "history": "Geçmiş", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "Özel seçenekler", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index b72ecb0..2e55f29 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -83,7 +83,8 @@ "select_all": "全选", "deselect_all": "取消全选", "open_folder": "打开文件夹位置", - "history": "历史" + "history": "历史", + "save_playlist": "Save Playlist As" }, "dialogs": { "custom_options": "自定义选项", From c9217fccb7b4915b5f068dbbb1d54d9a9bf51266 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:40:38 +0300 Subject: [PATCH 528/568] Handle None file_size in history delegate Replace entry.get('file_size', 0) with entry.get('file_size') or 0 in HistoryDelegate (ytsage_dialogs_history.py) to treat None as 0. This prevents TypeError when comparing None > 0 and ensures file size formatting/display only occurs for positive sizes. --- ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py index b3987f2..95556b3 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_history.py @@ -279,7 +279,7 @@ class HistoryDelegate(QStyledItemDelegate): painter.drawText(badge_rect, Qt.AlignmentFlag.AlignCenter, badge_text) # File Size - file_size = entry.get("file_size", 0) + file_size = entry.get("file_size") or 0 if file_size > 0: size_str = self.format_file_size(file_size) painter.setPen(QColor("#aaaaaa")) From a512c603cee0ce8ffbd454d7ab067aaae57ace11 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:46:43 +0300 Subject: [PATCH 529/568] Document playlist export and new defaults Update README to reflect new features and settings: add "Export Playlists" to the feature table; document the "Save Playlist As" export options (.txt, .csv, .m3u, .json). Add docs for Default Video Resolution and Default Subtitle Languages settings, and update the Output Filename Format variables to include %(playlist_index)s and %(resolution)s. These changes keep the README in sync with recent UI/settings additions. --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a9efaf5..0ceced3 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader | 📜 Download History | 🔄 Release Channel Selection | 🌐 Proxy Support | | 🎚️ Audio Format Conversion | 🎬 Video Format Settings | 🆙 Built-in Updater Tab | | 🌍 Generic Mode | 🔊 Audio Normalization (EBU R128) | 🌍 Localization in 14 Languages | +| 💾 Export Playlists | ⚙️ Default Quality & Subtitles | | @@ -262,7 +263,7 @@ python -m ytsage.main 4. **Choose desired format/quality** 5. **Click "Download"** -> 💡 The application automatically handles the download queue +> 💡 The application automatically handles the download queue, and you can export the playlist entries to `.txt`, `.csv`, `.m3u`, or `.json` using the **Save Playlist As** button. @@ -305,7 +306,9 @@ Notes: - **Speed Limiter:** Limit the download speed, for example `500K` for 500 KB/s - **Save Download Path:** Save the default download path for future downloads. Available in **Download Settings → Download Path**. -- **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, and `%(resolution)s`. Available in **Download Settings → Filename Format**. +- **Default Video Resolution:** Set your preferred default video resolution for automatic selection (e.g., 1080p, 720p). Available in **Download Settings → Default Video Resolution**. +- **Default Subtitle Languages:** Set default subtitle languages to auto-select automatically (comma-separated, e.g., `en,es`). Available in **Download Settings → Default Subtitle Languages**. +- **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, `%(playlist_index)s`, and `%(resolution)s`. Available in **Download Settings → Filename Format**. - **Force Output Format:** Force video downloads into a specific container format such as `mp4`, `webm`, or `mkv`. Available in **Download Settings → Output Format Settings**. - **Audio Format Conversion:** Convert audio-only downloads to preferred formats such as `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`. Available in **Download Settings → Audio Format Settings**. - **Audio Normalization:** Standardize volume for audio-only downloads using EBU R128. From d19ac96ff730aed16ba479a61a737c4c2a70ddc6 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:54:08 +0300 Subject: [PATCH 530/568] Bump package version to 5.0.7b Update project version in pyproject.toml and ytsage/__init__.py from 5.0.5b to 5.0.7b to mark the new release. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 329d201..f35078f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.5b" +version = "5.0.7b" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index f62bead..e087c98 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.5b" +__version__ = "5.0.7b" __author__ = "oop7" From d8c3ce8fa12c00895ed61b5b3cd0c10327942061 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 10:58:43 +0300 Subject: [PATCH 531/568] Add new i18n keys to language files Add new localization keys across multiple ytsage language JSONs. Common addition: "filter_playlist_placeholder" added to most languages. Spanish, Turkish and Chinese receive several new strings for custom commands, proxy settings, FFmpeg installation messages, history loading, time/placeholders and validation messages. Also ensure files end with newline. Files modified: ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh. --- ytsage/languages/ar.json | 5 +++-- ytsage/languages/de.json | 5 +++-- ytsage/languages/es.json | 34 ++++++++++++++++++++++++++-------- ytsage/languages/fr.json | 5 +++-- ytsage/languages/hi.json | 5 +++-- ytsage/languages/id.json | 5 +++-- ytsage/languages/it.json | 5 +++-- ytsage/languages/ja.json | 5 +++-- ytsage/languages/pl.json | 5 +++-- ytsage/languages/pt.json | 5 +++-- ytsage/languages/ru.json | 5 +++-- ytsage/languages/tr.json | 20 +++++++++++++++----- ytsage/languages/zh.json | 34 +++++++++++++++++++++++++++------- 13 files changed, 98 insertions(+), 40 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 14d7beb..3f2dea5 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "تصفية اللغات (مثال: ar، en)...", "no_subtitles_available": "لا توجد ترجمات متاحة", "matching": "مطابقة", - "ytdlp_log_title": "سجل yt-dlp" + "ytdlp_log_title": "سجل yt-dlp", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "تسجيل الدخول بالكوكيز", @@ -637,4 +638,4 @@ "update_failed": "❌ فشل التحديث: {error}", "check_failed": "فشل التحقق من التحديثات. يرجى التحقق من اتصالك بالإنترنت." } -} \ No newline at end of file +} diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index eac062b..c73d232 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "Sprachen filtern (z.B. en, de)...", "no_subtitles_available": "Keine Untertitel verfügbar", "matching": "passend", - "ytdlp_log_title": "yt-dlp-Protokoll" + "ytdlp_log_title": "yt-dlp-Protokoll", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Mit Cookies anmelden", @@ -637,4 +638,4 @@ "update_failed": "❌ Update fehlgeschlagen: {error}", "check_failed": "Suche nach Updates fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung." } -} \ No newline at end of file +} diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index 4227660..e5be890 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -17,7 +17,9 @@ "polish": "Polaco", "italian": "Italiano", "arabic": "Árabe", - "japanese": "Japonés" + "japanese": "Japonés", + "help_text": "Select your preferred language for the interface.", + "restart_notice": "Language change will take effect after restarting the application." }, "app": { "title": "YTSage", @@ -51,7 +53,8 @@ "deselect_all": "Deseleccionar Todos", "open_folder": "Abrir ubicación de carpeta", "history": "Historial", - "save_playlist": "Save Playlist As" + "save_playlist": "Save Playlist As", + "custom_command_help": "Help" }, "dialogs": { "custom_options": "Opciones Personalizadas", @@ -63,7 +66,8 @@ "filter_languages_placeholder": "Filtrar idiomas (ej., en, es)...", "no_subtitles_available": "No hay subtítulos disponibles", "matching": "que coincidan con", - "ytdlp_log_title": "Registro de yt-dlp" + "ytdlp_log_title": "Registro de yt-dlp", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Iniciar sesión con Cookies", @@ -115,7 +119,9 @@ "url_label": "📍 URL: {url}", "args_label": "⚙️ Argumentos: {command}", "download_path_label": "📁 Ruta de descarga: {path}", - "separator": "==================================================" + "separator": "==================================================", + "command_placeholder": "Enter custom yt-dlp command...", + "command_help": "Available placeholders:\n{url} - Video URL\n{output} - Output directory\n\nExample: --write-info-json --write-thumbnail" }, "proxy": { "help_text": "Configurar ajustes de proxy para conexiones de red y geo-verificación.\nEl proxy puede ayudar a evitar restricciones regionales y mejorar el rendimiento de descarga.", @@ -141,7 +147,11 @@ "cleared_title": "Configuración de proxy borrada", "cleared_message": "Se borró y guardó toda la configuración de proxy.", "saved_main": "Proxy principal guardado: {proxy}", - "saved_geo": "Proxy geo guardado: {proxy}" + "saved_geo": "Proxy geo guardado: {proxy}", + "proxy_url": "Proxy URL", + "proxy_placeholder": "http://proxy:port or socks5://proxy:port", + "geo_bypass": "Geo-bypass proxy (for geographic restrictions)", + "geo_bypass_placeholder": "http://proxy:port for bypassing geo-blocks" }, "download": { "preparing": "Preparando descarga...", @@ -195,7 +205,11 @@ "high_audio": "Audio Alto", "medium_audio": "Audio Medio", "low_audio": "Audio Bajo", - "audio_only_resolution": "Solo audio" + "audio_only_resolution": "Solo audio", + "video_format": "Video Format:", + "audio_format": "Audio Format:", + "no_formats": "No formats available", + "loading": "Loading formats..." }, "about": { "title": "Acerca de YTSage", @@ -223,7 +237,11 @@ "end_time": "Tiempo de Fin:", "start_time_placeholder": "00:00:00 (o dejar vacío para inicio)", "end_time_placeholder": "00:10:00 (o dejar vacío para fin)", - "force_keyframes": "Forzar fotogramas clave en cortes (mejor precisión, más lento)" + "force_keyframes": "Forzar fotogramas clave en cortes (mejor precisión, más lento)", + "start_placeholder": "00:00:00", + "end_placeholder": "00:00:00", + "invalid_format": "Invalid time format. Use HH:MM:SS format.", + "start_after_end": "Start time cannot be after end time." }, "update": { "title": "Actualizar yt-dlp", @@ -620,4 +638,4 @@ "update_failed": "❌ Error en la actualización: {error}", "check_failed": "Error al buscar actualizaciones. Por favor, verifique su conexión a Internet." } -} \ No newline at end of file +} diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index a4221b2..28a1dab 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "Filtrer les langues (ex: en, fr)...", "no_subtitles_available": "Aucun sous-titre disponible", "matching": "correspondant", - "ytdlp_log_title": "Journal yt-dlp" + "ytdlp_log_title": "Journal yt-dlp", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Se connecter avec des cookies", @@ -637,4 +638,4 @@ "update_failed": "❌ Échec de la mise à jour : {error}", "check_failed": "Échec de la vérification des mises à jour. Veuillez vérifier votre connexion Internet." } -} \ No newline at end of file +} diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index cef02b1..1c4e598 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "भाषाएं फ़िल्टर करें (जैसे: hi, en)...", "no_subtitles_available": "कोई उपशीर्षक उपलब्ध नहीं", "matching": "मेल खाता", - "ytdlp_log_title": "yt-dlp लॉग" + "ytdlp_log_title": "yt-dlp लॉग", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "कुकीज़ के साथ लॉगिन", @@ -637,4 +638,4 @@ "update_failed": "❌ अपडेट विफल: {error}", "check_failed": "अपडेट की जांच विफल। कृपया अपना इंटरनेट कनेक्शन जांचें।" } -} \ No newline at end of file +} diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index a8ec713..5467f99 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "Filter bahasa (misalnya: id, en)...", "no_subtitles_available": "Tidak ada subtitle yang tersedia", "matching": "yang cocok", - "ytdlp_log_title": "Log yt-dlp" + "ytdlp_log_title": "Log yt-dlp", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Masuk dengan cookies", @@ -637,4 +638,4 @@ "update_failed": "❌ Pembaruan gagal: {error}", "check_failed": "Gagal memeriksa pembaruan. Harap periksa koneksi internet Anda." } -} \ No newline at end of file +} diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index a0b73a6..22320c4 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "Filtra lingue (es: it, en)...", "no_subtitles_available": "Nessun sottotitolo disponibile", "matching": "corrispondenti", - "ytdlp_log_title": "Registro yt-dlp" + "ytdlp_log_title": "Registro yt-dlp", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Accedi con i cookie", @@ -637,4 +638,4 @@ "update_failed": "❌ Aggiornamento fallito: {error}", "check_failed": "Impossibile controllare gli aggiornamenti. Controlla la tua connessione Internet." } -} \ No newline at end of file +} diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 15264cc..a4bc6bf 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "言語でフィルタ (例: ja, en)...", "no_subtitles_available": "利用可能な字幕がありません", "matching": "一致", - "ytdlp_log_title": "yt-dlpログ" + "ytdlp_log_title": "yt-dlpログ", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Cookieでログイン", @@ -637,4 +638,4 @@ "update_failed": "❌ 更新が失敗しました:{error}", "check_failed": "更新の確認に失敗しました。インターネット接続を確認してください。" } -} \ No newline at end of file +} diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 16f0e70..d163669 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "Filtruj języki (np: pl, en)...", "no_subtitles_available": "Brak dostępnych napisów", "matching": "dopasowujące", - "ytdlp_log_title": "Log yt-dlp" + "ytdlp_log_title": "Log yt-dlp", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Zaloguj za pomocą ciasteczek", @@ -637,4 +638,4 @@ "update_failed": "❌ Aktualizacja nie powiodła się: {error}", "check_failed": "Nie udało się sprawdzić aktualizacji. Sprawdź połączenie internetowe." } -} \ No newline at end of file +} diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index 564ff74..b011e71 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "Filtrar idiomas (ex., en, pt)...", "no_subtitles_available": "Nenhuma legenda disponível", "matching": "correspondendo", - "ytdlp_log_title": "Log do yt-dlp" + "ytdlp_log_title": "Log do yt-dlp", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Entrar com Cookies", @@ -637,4 +638,4 @@ "update_failed": "❌ Falha na atualização: {error}", "check_failed": "Falha ao verificar atualizações. Verifique sua conexão com a Internet." } -} \ No newline at end of file +} diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index 4975e84..159a86c 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "Фильтр языков (например, en, ru)...", "no_subtitles_available": "Субтитры недоступны", "matching": "соответствующие", - "ytdlp_log_title": "Журнал yt-dlp" + "ytdlp_log_title": "Журнал yt-dlp", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Войти через Cookie", @@ -637,4 +638,4 @@ "update_failed": "❌ Ошибка обновления: {error}", "check_failed": "Не удалось проверить обновления. Проверьте подключение к Интернету." } -} \ No newline at end of file +} diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 56d214f..2dcf524 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "Dilleri filtrele (örn: tr, en)...", "no_subtitles_available": "Altyazı mevcut değil", "matching": "eşleşen", - "ytdlp_log_title": "yt-dlp Günlüğü" + "ytdlp_log_title": "yt-dlp Günlüğü", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "Çerezlerle giriş yap", @@ -178,7 +179,9 @@ "geo_set_title": "Coğrafi proxy ayarlandı", "geo_set_message": "Coğrafi doğrulama proxy'si ayarlandı ve kaydedildi: {proxy}", "cleared_title": "Proxy ayarları temizlendi", - "cleared_message": "Tüm proxy ayarları temizlendi ve kaydedildi." + "cleared_message": "Tüm proxy ayarları temizlendi ve kaydedildi.", + "saved_main": "Saved main proxy: {proxy}", + "saved_geo": "Saved geo proxy: {proxy}" }, "download": { "preparing": "İndirme hazırlanıyor...", @@ -549,14 +552,21 @@ "redownload_confirm_message": "Tekrar indir?\n\n{title}", "redownload_started": "İndirme başladı", "no_url_error": "Geçmiş kaydında URL bulunamadı", - "redownload_failed": "Yeniden indirme başlatılamadı: {error}" + "redownload_failed": "Yeniden indirme başlatılamadı: {error}", + "loading": "Loading history..." }, "ffmpeg": { "installation_title": "FFmpeg Kurulumu", "installation_message": "YTSage, videoları işlemek için FFmpeg'e ihtiyaç duyar.\n\nAşağıdan bir kurulum seçeneği seçin:", "install_button": "FFmpeg Kur", "manual_guide": "Manuel Kılavuz", - "installation_failed": "FFmpeg kurulumu bir sorunla karşılaştı." + "installation_failed": "FFmpeg kurulumu bir sorunla karşılaştı.", + "already_installed": "FFmpeg is already installed!", + "installation_complete": "Installation complete. You can close this dialog and continue using YTSage.", + "installing": "Installing FFmpeg... Please wait", + "install_success": "FFmpeg has been installed successfully!", + "installation_complete_close": "Installation complete. You can now close this dialog and continue using YTSage.", + "try_manual": "Please try using the manual installation guide instead." }, "ytdlp_setup": { "required_title": "yt-dlp Kurulumu Gerekli", @@ -628,4 +638,4 @@ "update_failed": "❌ Güncelleme başarısız: {error}", "check_failed": "Güncellemeler kontrol edilemedi. Lütfen internet bağlantınızı kontrol edin." } -} \ No newline at end of file +} diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 2e55f29..13b70a9 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -96,7 +96,8 @@ "filter_languages_placeholder": "过滤语言(例如:en, zh)...", "no_subtitles_available": "无可用字幕", "matching": "匹配", - "ytdlp_log_title": "yt-dlp 日志" + "ytdlp_log_title": "yt-dlp 日志", + "filter_playlist_placeholder": "Filter videos..." }, "tabs": { "cookies": "使用 Cookie 登录", @@ -127,7 +128,10 @@ "browser_selected_title": "已应用浏览器 Cookie", "browser_applied_message": "将从以下位置提取浏览器 cookie:{browser}", "cleared_title": "已清除 Cookie", - "cleared_message": "Cookie 设置已被清除" + "cleared_message": "Cookie 设置已被清除", + "active_browser": "✓ Active: Browser cookies ({browser})", + "active_file": "✓ Active: Cookie file ({file})", + "none_active": "○ No cookies active" }, "custom_command": { "help_text": "在下面输入您的自定义 yt-dlp 命令。当前网址将自动附加。

    有关选项和使用示例的完整列表,点击此处查看官方 yt-dlp 文档

    注意:下载路径和文件名模板将自动处理。", @@ -140,7 +144,14 @@ "full_command": "🔧 完整命令:{command}", "command_success": "✅ 自定义命令执行成功!", "command_failed": "❌ 命令失败,退出代码 {code}", - "command_error": "❌ 执行自定义命令时出错:{error}" + "command_error": "❌ 执行自定义命令时出错:{error}", + "error_no_url": "❌ Error: No URL provided. Please enter a URL in the main window.", + "error_no_command": "❌ Error: No command provided. Please enter yt-dlp arguments.", + "executing": "🚀 Executing custom yt-dlp command", + "url_label": "📍 URL: {url}", + "args_label": "⚙️ Arguments: {command}", + "download_path_label": "📁 Download path: {path}", + "separator": "==================================================" }, "proxy": { "help_text": "配置下载的代理设置。留空使用直接连接。", @@ -168,7 +179,9 @@ "geo_set_title": "已设置地理代理", "geo_set_message": "地理验证代理已设置并保存: {proxy}", "cleared_title": "代理设置已清除", - "cleared_message": "所有代理设置已清除并保存。" + "cleared_message": "所有代理设置已清除并保存。", + "saved_main": "Saved main proxy: {proxy}", + "saved_geo": "Saved geo proxy: {proxy}" }, "download": { "preparing": "正在准备下载...", @@ -539,14 +552,21 @@ "redownload_confirm_message": "重新下载?\n\n{title}", "redownload_started": "已开始下载", "no_url_error": "历史记录中未找到 URL", - "redownload_failed": "无法开始重新下载: {error}" + "redownload_failed": "无法开始重新下载: {error}", + "loading": "Loading history..." }, "ffmpeg": { "installation_title": "FFmpeg 安装", "installation_message": "YTSage 需要 FFmpeg 来处理视频。\n\n请选择下面的安装选项:", "install_button": "安装 FFmpeg", "manual_guide": "手动指南", - "installation_failed": "FFmpeg 安装遇到问题。" + "installation_failed": "FFmpeg 安装遇到问题。", + "already_installed": "FFmpeg is already installed!", + "installation_complete": "Installation complete. You can close this dialog and continue using YTSage.", + "installing": "Installing FFmpeg... Please wait", + "install_success": "FFmpeg has been installed successfully!", + "installation_complete_close": "Installation complete. You can now close this dialog and continue using YTSage.", + "try_manual": "Please try using the manual installation guide instead." }, "ytdlp_setup": { "required_title": "需要设置 yt-dlp", @@ -618,4 +638,4 @@ "update_failed": "❌ 更新失败:{error}", "check_failed": "检查更新失败。请检查您的网络连接。" } -} \ No newline at end of file +} From 3d06c4dba64e9f16baecb3dee426e0163cea16c8 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 17:39:52 +0300 Subject: [PATCH 532/568] Update German and Hindi translations Translate several UI strings in ytsage/languages for German (de.json) and Hindi (hi.json). Changes include localized labels for saving playlists and filtering videos, dialog placeholders, and various settings text (e.g. concurrent connections and default selection help in German). Hindi updates add translated playlist save dialog messages and related UI strings. --- ytsage/languages/de.json | 16 ++++++++-------- ytsage/languages/hi.json | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index c73d232..2102520 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -84,7 +84,7 @@ "deselect_all": "Alle abwählen", "open_folder": "Ordnerspeicherort öffnen", "history": "Verlauf", - "save_playlist": "Save Playlist As" + "save_playlist": "Playlist speichern unter" }, "dialogs": { "custom_options": "Benutzerdefinierte Optionen", @@ -97,7 +97,7 @@ "no_subtitles_available": "Keine Untertitel verfügbar", "matching": "passend", "ytdlp_log_title": "yt-dlp-Protokoll", - "filter_playlist_placeholder": "Filter videos..." + "filter_playlist_placeholder": "Videos filtern..." }, "tabs": { "cookies": "Mit Cookies anmelden", @@ -345,12 +345,12 @@ "tab_general": "Allgemein", "tab_format": "Format", "tab_file": "Datei", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Gleichzeitige Verbindungen", + "concurrent_fragments_help": "Anzahl der Verbindungen pro Download. Höhere Werte umgehen die Drosselung, können aber bei zu hohen Werten zu temporären Sperren führen. Standard: 1.", + "defaults_settings": "Standard-Auswahleinstellungen", + "default_video_quality": "Standard-Videoauflösung (Höhe):", + "default_subtitle_language": "Standard-Untertitelsprache(n):", + "defaults_help": "Geben Sie Ihre bevorzugte Videohöhe und Untertitelsprachen ein (kommagetrennt). Sie werden automatisch ausgewählt, falls verfügbar." }, "main_ui": { "url_placeholder": "YouTube-Video- oder Playlist-URL eingeben", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 1c4e598..93d9c86 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -84,7 +84,7 @@ "deselect_all": "सभी को अचयनित करें", "open_folder": "फ़ोल्डर स्थान खोलें", "history": "इतिहास", - "save_playlist": "Save Playlist As" + "save_playlist": "प्लेलिस्ट को इस रूप में सहेजें" }, "dialogs": { "custom_options": "कस्टम विकल्प", @@ -92,12 +92,12 @@ "select_folder": "डाउनलोड फ़ोल्डर चुनें", "sponsorblock_categories": "SponsorBlock श्रेणियां", "sponsorblock_description": "डाउनलोड के दौरान अपने आप हटाए जाने वाले वीडियो सेगमेंट के प्रकार चुनें।\nSponsorBlock इन सेगमेंट की पहचान के लिए समुदाय द्वारा प्रस्तुत डेटा का उपयोग करता है।", - "select_subtitles": "उपशीर्षक चुनें", + "select_subtitles": "उपशीर्षک चुनें", "filter_languages_placeholder": "भाषाएं फ़िल्टर करें (जैसे: hi, en)...", "no_subtitles_available": "कोई उपशीर्षक उपलब्ध नहीं", "matching": "मेल खाता", "ytdlp_log_title": "yt-dlp लॉग", - "filter_playlist_placeholder": "Filter videos..." + "filter_playlist_placeholder": "वीडियो फ़िल्टर करें..." }, "tabs": { "cookies": "कुकीज़ के साथ लॉगिन", @@ -476,12 +476,12 @@ "total_videos": "कुल वीडियो: {count}", "display_format": "प्लेलिस्ट: {title} | {count} वीडियो", "select_videos_title": "प्लेलिस्ट वीडियो चुनें", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "प्लेलिस्ट को इस रूप में सहेजें", + "save_success_title": "सफलता", + "saved_successfully": "प्लेलिस्ट सफलतापूर्वक सहेजी गई।", + "save_error_title": "सहेजने में त्रुटि", + "no_videos_to_save": "कोई प्लेलिस्ट प्रविष्टियां एकत्र नहीं की गईं!", + "save_error_msg": "प्लेलिस्ट सहेजने में विफल।" }, "subtitle_selection": { "count_selected": "{count} चुना गया" From 9856dbf3014afe341935173344cfdb1c1fe96227 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 17:40:24 +0300 Subject: [PATCH 533/568] Update Spanish and Hindi translations Improve localization by updating translations in ytsage/languages/es.json and ytsage/languages/hi.json. Spanish fixes provide full translations for interface help text, restart notice, playlist/save labels, dialog placeholders, and playlist save messages. Hindi adds translated strings for concurrent connections, related help text, and default selection settings for video quality and subtitles. --- ytsage/languages/es.json | 34 +++++++++++++++++----------------- ytsage/languages/hi.json | 12 ++++++------ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index e5be890..db5797d 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -18,8 +18,8 @@ "italian": "Italiano", "arabic": "Árabe", "japanese": "Japonés", - "help_text": "Select your preferred language for the interface.", - "restart_notice": "Language change will take effect after restarting the application." + "help_text": "Seleccione su idioma preferido para la interfaz.", + "restart_notice": "El cambio de idioma tendrá efecto después de reiniciar la aplicación." }, "app": { "title": "YTSage", @@ -53,8 +53,8 @@ "deselect_all": "Deseleccionar Todos", "open_folder": "Abrir ubicación de carpeta", "history": "Historial", - "save_playlist": "Save Playlist As", - "custom_command_help": "Help" + "save_playlist": "Guardar playlist como", + "custom_command_help": "Ayuda" }, "dialogs": { "custom_options": "Opciones Personalizadas", @@ -67,7 +67,7 @@ "no_subtitles_available": "No hay subtítulos disponibles", "matching": "que coincidan con", "ytdlp_log_title": "Registro de yt-dlp", - "filter_playlist_placeholder": "Filter videos..." + "filter_playlist_placeholder": "Filtrar videos..." }, "tabs": { "cookies": "Iniciar sesión con Cookies", @@ -345,12 +345,12 @@ "tab_general": "General", "tab_format": "Formato", "tab_file": "Archivo", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Conexiones simultáneas", + "concurrent_fragments_help": "Número de conexiones por descarga. Los valores más altos evitan la limitación, pero pueden causar bloqueos temporales si son demasiado altos. Predeterminado: 1.", + "defaults_settings": "Configuración de selección predeterminada", + "default_video_quality": "Resolución de video predeterminada (Altura):", + "default_subtitle_language": "Idioma(s) de subtítulos predeterminado(s):", + "defaults_help": "Establezca su altura de video y sus idiomas de subtítulos preferidos (separados por comas). Se seleccionarán automáticamente si están disponibles." }, "main_ui": { "url_placeholder": "Ingresa URL de video o lista de YouTube", @@ -476,12 +476,12 @@ "total_videos": "Total de Videos: {count}", "display_format": "Lista de reproducción: {title} | {count} videos", "select_videos_title": "Seleccionar Videos de la Lista de Reproducción", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Guardar lista como", + "save_success_title": "Éxito", + "saved_successfully": "Lista de reproducción guardada con éxito.", + "save_error_title": "Error al guardar", + "no_videos_to_save": "¡No se han recopilado entradas de la lista!", + "save_error_msg": "Error al guardar la lista de reproducción." }, "subtitle_selection": { "count_selected": "{count} seleccionados" diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 93d9c86..848d375 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -345,12 +345,12 @@ "tab_general": "सामान्य", "tab_format": "प्रारूप", "tab_file": "फ़ाइल", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "समवर्ती कनेक्शन", + "concurrent_fragments_help": "प्रति डाउनलोड कनेक्शन की संख्या। उच्च मान थ्रॉटलिंग को बायपास करते हैं लेकिन बहुत अधिक होने पर अस्थायी ब्लॉक का कारण बन सकते हैं। डिफ़ॉルト: 1।", + "defaults_settings": "डिफ़ॉल्ट चयन सेटिंग्स", + "default_video_quality": "डिफ़ॉल्ट वीडियो रिज़ॉल्यूशन (ऊंचाई):", + "default_subtitle_language": "डिफ़ॉल्ट उपशीर्षक भाषाएँ:", + "defaults_help": "अपनी पसंदीदा वीडियो ऊंचाई और उपशीर्षक भाषाएं (कॉमा से अलग) सेट करें। उपलब्ध होने पर वे स्वतः चयनित हो जाएंगे।" }, "main_ui": { "url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें", From a2e11eec06bd058670a8c716dd3b34f91e6f8242 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 17:40:49 +0300 Subject: [PATCH 534/568] Update French translations Translate several UI strings in ytsage/languages/fr.json from English to French: update `save_playlist`, `filter_playlist_placeholder`, and a group of settings strings (`concurrent_fragments`, `concurrent_fragments_help`, `defaults_settings`, `default_video_quality`, `default_subtitle_language`, `defaults_help`) to provide correct French localization and improve consistency. --- ytsage/languages/fr.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 28a1dab..2e21587 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -84,7 +84,7 @@ "deselect_all": "Tout désélectionner", "open_folder": "Ouvrir l'emplacement du dossier", "history": "Historique", - "save_playlist": "Save Playlist As" + "save_playlist": "Enregistrer la playlist sous" }, "dialogs": { "custom_options": "Options personnalisées", @@ -97,7 +97,7 @@ "no_subtitles_available": "Aucun sous-titre disponible", "matching": "correspondant", "ytdlp_log_title": "Journal yt-dlp", - "filter_playlist_placeholder": "Filter videos..." + "filter_playlist_placeholder": "Filtrer les vidéos..." }, "tabs": { "cookies": "Se connecter avec des cookies", @@ -345,12 +345,12 @@ "tab_general": "Général", "tab_format": "Format", "tab_file": "Fichier", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Connexions simultanées", + "concurrent_fragments_help": "Nombre de connexions par téléchargement. Des valeurs plus élevées contournent le bridage mais peuvent causer des blocages temporaires si elles sont trop élevées. Par défaut : 1.", + "defaults_settings": "Paramètres de sélection par défaut", + "default_video_quality": "Résolution vidéo par défaut (Hauteur) :", + "default_subtitle_language": "Langue(s) des sous-titres par défaut :", + "defaults_help": "Définissez votre hauteur de vidéo et vos langues de sous-titres préférées (séparées par des virgules). Elles seront sélectionnées automatiquement si disponibles." }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", From bb461898e4900a91fe581123e3036f2d13696f4b Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sat, 25 Apr 2026 17:42:36 +0300 Subject: [PATCH 535/568] Update translations across multiple locales Update and improve translations for multiple language files (ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh). Key changes include localized strings for playlist saving ("Save Playlist As" -> localized), save/result/error messages, concurrent connections and help text, default selection/settings (video quality and subtitle language), and various wording/typo fixes. Also add/translate FFmpeg installation and yt-dlp setup messages in Turkish and Chinese. No functional code changes. --- ytsage/languages/ar.json | 30 +++++++++++++++--------------- ytsage/languages/de.json | 20 ++++++++++---------- ytsage/languages/es.json | 14 +++++++------- ytsage/languages/fr.json | 20 ++++++++++---------- ytsage/languages/hi.json | 12 ++++++------ ytsage/languages/id.json | 28 ++++++++++++++-------------- ytsage/languages/it.json | 28 ++++++++++++++-------------- ytsage/languages/ja.json | 28 ++++++++++++++-------------- ytsage/languages/pl.json | 28 ++++++++++++++-------------- ytsage/languages/pt.json | 28 ++++++++++++++-------------- ytsage/languages/ru.json | 28 ++++++++++++++-------------- ytsage/languages/tr.json | 40 ++++++++++++++++++++-------------------- ytsage/languages/zh.json | 40 ++++++++++++++++++++-------------------- 13 files changed, 172 insertions(+), 172 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index 3f2dea5..e61e38b 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -84,7 +84,7 @@ "deselect_all": "إلغاء تحديد الكل", "open_folder": "فتح موقع المجلد", "history": "السجل", - "save_playlist": "Save Playlist As" + "save_playlist": "حفظ قائمة التشغيل باسم" }, "dialogs": { "custom_options": "خيارات مخصصة", @@ -97,7 +97,7 @@ "no_subtitles_available": "لا توجد ترجمات متاحة", "matching": "مطابقة", "ytdlp_log_title": "سجل yt-dlp", - "filter_playlist_placeholder": "Filter videos..." + "filter_playlist_placeholder": "تصفية الفيديوهات..." }, "tabs": { "cookies": "تسجيل الدخول بالكوكيز", @@ -345,12 +345,12 @@ "tab_general": "عام", "tab_format": "تنسيق", "tab_file": "ملف", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "اتصالات متزامنة", + "concurrent_fragments_help": "عدد الاتصالات لكل عملية تحميل. القيم الأعلى تتجاوز الاختناق ولكنها قد تسبب حظراً مؤقتاً إذا كانت عالية جداً. الافتراضي: 1.", + "defaults_settings": "إعدادات الاختيار الافتراضية", + "default_video_quality": "دقة الفيديو الافتراضية (الطول):", + "default_subtitle_language": "لغات الترجمة الافتراضية:", + "defaults_help": "اضبط ارتفاع الفيديو المفضل ولغات الترجمة (مفصولة بفاصلة). سيتم اختيارها تلقائيًا إذا كانت متوفرة." }, "main_ui": { "url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل", @@ -476,12 +476,12 @@ "total_videos": "إجمالي الفيديوهات: {count}", "display_format": "قائمة التشغيل: {title} | {count} فيديوهات", "select_videos_title": "اختر مقاطع الفيديو من قائمة التشغيل", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "حفظ قائمة التشغيل باسم", + "save_success_title": "تم بنجاح", + "saved_successfully": "تم حفظ قائمة التشغيل بنجاح.", + "save_error_title": "خطأ في الحفظ", + "no_videos_to_save": "لم يتم العثور على أي مقاطع فيديو لحفظها!", + "save_error_msg": "فشل في حفظ قائمة التشغيل." }, "subtitle_selection": { "count_selected": "{count} محدد" @@ -638,4 +638,4 @@ "update_failed": "❌ فشل التحديث: {error}", "check_failed": "فشل التحقق من التحديثات. يرجى التحقق من اتصالك بالإنترنت." } -} +} \ No newline at end of file diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index 2102520..d3375ce 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -346,11 +346,11 @@ "tab_format": "Format", "tab_file": "Datei", "concurrent_fragments": "Gleichzeitige Verbindungen", - "concurrent_fragments_help": "Anzahl der Verbindungen pro Download. Höhere Werte umgehen die Drosselung, können aber bei zu hohen Werten zu temporären Sperren führen. Standard: 1.", + "concurrent_fragments_help": "Anzahl der Verbindungen pro Download. Höhere Werte umgehen Drosselungen, können aber bei zu hohen Werten zu temporären Sperren führen. Standard: 1.", "defaults_settings": "Standard-Auswahleinstellungen", "default_video_quality": "Standard-Videoauflösung (Höhe):", - "default_subtitle_language": "Standard-Untertitelsprache(n):", - "defaults_help": "Geben Sie Ihre bevorzugte Videohöhe und Untertitelsprachen ein (kommagetrennt). Sie werden automatisch ausgewählt, falls verfügbar." + "default_subtitle_language": "Standard- Untertitelsprache(n):", + "defaults_help": "Legen Sie Ihre bevorzugte Videohöhe und Untertitelsprachen fest (kommagetrennt). Diese werden automatisch ausgewählt, falls verfügbar." }, "main_ui": { "url_placeholder": "YouTube-Video- oder Playlist-URL eingeben", @@ -476,12 +476,12 @@ "total_videos": "Gesamtanzahl Videos: {count}", "display_format": "Playlist: {title} | {count} Videos", "select_videos_title": "Playlist-Videos auswählen", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Playlist speichern unter", + "save_success_title": "Erfolg", + "saved_successfully": "Playlist erfolgreich gespeichert.", + "save_error_title": "Fehler beim Speichern", + "no_videos_to_save": "Keine Playlist-Einträge gesammelt!", + "save_error_msg": "Fehler beim Speichern der Playlist." }, "subtitle_selection": { "count_selected": "{count} ausgewählt" @@ -638,4 +638,4 @@ "update_failed": "❌ Update fehlgeschlagen: {error}", "check_failed": "Suche nach Updates fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung." } -} +} \ No newline at end of file diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index db5797d..f8f39c6 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -346,11 +346,11 @@ "tab_format": "Formato", "tab_file": "Archivo", "concurrent_fragments": "Conexiones simultáneas", - "concurrent_fragments_help": "Número de conexiones por descarga. Los valores más altos evitan la limitación, pero pueden causar bloqueos temporales si son demasiado altos. Predeterminado: 1.", + "concurrent_fragments_help": "Número de conexiones por descarga. Los valores más altos evitan la limitación, pero pueden causar bloqueos temporales si se establecen demasiado altos. Predeterminado: 1.", "defaults_settings": "Configuración de selección predeterminada", - "default_video_quality": "Resolución de video predeterminada (Altura):", + "default_video_quality": "Resolución de video predeterminada (altura):", "default_subtitle_language": "Idioma(s) de subtítulos predeterminado(s):", - "defaults_help": "Establezca su altura de video y sus idiomas de subtítulos preferidos (separados por comas). Se seleccionarán automáticamente si están disponibles." + "defaults_help": "Establece tu altura de video preferida y los idiomas de los subtítulos (separados por comas). Se seleccionarán automáticamente si están disponibles." }, "main_ui": { "url_placeholder": "Ingresa URL de video o lista de YouTube", @@ -476,11 +476,11 @@ "total_videos": "Total de Videos: {count}", "display_format": "Lista de reproducción: {title} | {count} videos", "select_videos_title": "Seleccionar Videos de la Lista de Reproducción", - "save_as": "Guardar lista como", + "save_as": "Guardar playlist como", "save_success_title": "Éxito", - "saved_successfully": "Lista de reproducción guardada con éxito.", + "saved_successfully": "Playlist guardada correctamente.", "save_error_title": "Error al guardar", - "no_videos_to_save": "¡No se han recopilado entradas de la lista!", + "no_videos_to_save": "¡No se han recopilado entradas de la lista de reproducción!", "save_error_msg": "Error al guardar la lista de reproducción." }, "subtitle_selection": { @@ -638,4 +638,4 @@ "update_failed": "❌ Error en la actualización: {error}", "check_failed": "Error al buscar actualizaciones. Por favor, verifique su conexión a Internet." } -} +} \ No newline at end of file diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 2e21587..88768e6 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -346,11 +346,11 @@ "tab_format": "Format", "tab_file": "Fichier", "concurrent_fragments": "Connexions simultanées", - "concurrent_fragments_help": "Nombre de connexions par téléchargement. Des valeurs plus élevées contournent le bridage mais peuvent causer des blocages temporaires si elles sont trop élevées. Par défaut : 1.", + "concurrent_fragments_help": "Nombre de connexions par téléchargement. Des valeurs plus élevées contournent le bridage mais peuvent entraîner des blocages temporaires si elles sont trop élevées. Par défaut : 1.", "defaults_settings": "Paramètres de sélection par défaut", - "default_video_quality": "Résolution vidéo par défaut (Hauteur) :", + "default_video_quality": "Résolution vidéo par défaut (hauteur) :", "default_subtitle_language": "Langue(s) des sous-titres par défaut :", - "defaults_help": "Définissez votre hauteur de vidéo et vos langues de sous-titres préférées (séparées par des virgules). Elles seront sélectionnées automatiquement si disponibles." + "defaults_help": "Définissez votre hauteur de vidéo préférée et les langues des sous-titres (séparées par des virgules). Elles seront sélectionnées automatiquement si elles sont disponibles." }, "main_ui": { "url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube", @@ -476,12 +476,12 @@ "total_videos": "Total des vidéos : {count}", "display_format": "Playlist : {title} | {count} vidéos", "select_videos_title": "Sélectionner les Vidéos de la Playlist", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Enregistrer la playlist sous", + "save_success_title": "Succès", + "saved_successfully": "Playlist enregistrée avec succès.", + "save_error_title": "Erreur d'enregistrement", + "no_videos_to_save": "Aucune vidéo de la playlist n'a été récupérée !", + "save_error_msg": "Échec de l'enregistrement de la playlist." }, "subtitle_selection": { "count_selected": "{count} sélectionné(s)" @@ -638,4 +638,4 @@ "update_failed": "❌ Échec de la mise à jour : {error}", "check_failed": "Échec de la vérification des mises à jour. Veuillez vérifier votre connexion Internet." } -} +} \ No newline at end of file diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index 848d375..a491106 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -345,12 +345,12 @@ "tab_general": "सामान्य", "tab_format": "प्रारूप", "tab_file": "फ़ाइल", - "concurrent_fragments": "समवर्ती कनेक्शन", - "concurrent_fragments_help": "प्रति डाउनलोड कनेक्शन की संख्या। उच्च मान थ्रॉटलिंग को बायपास करते हैं लेकिन बहुत अधिक होने पर अस्थायी ब्लॉक का कारण बन सकते हैं। डिफ़ॉルト: 1।", + "concurrent_fragments": "एक साथ कनेक्शन", + "concurrent_fragments_help": "प्रति डाउनलोड कनेक्शन की संख्या। उच्च मान थ्रॉटलिंग को बायपास करते हैं लेकिन बहुत अधिक सेट होने पर अस्थायी ब्लॉक का कारण बन सकते हैं। डिफ़ॉल्ट: 1.", "defaults_settings": "डिफ़ॉल्ट चयन सेटिंग्स", "default_video_quality": "डिफ़ॉल्ट वीडियो रिज़ॉल्यूशन (ऊंचाई):", - "default_subtitle_language": "डिफ़ॉल्ट उपशीर्षक भाषाएँ:", - "defaults_help": "अपनी पसंदीदा वीडियो ऊंचाई और उपशीर्षक भाषाएं (कॉमा से अलग) सेट करें। उपलब्ध होने पर वे स्वतः चयनित हो जाएंगे।" + "default_subtitle_language": "डिफ़ॉल्ट उपशीर्षक भाषा(ए):", + "defaults_help": "अपनी पसंदीदा वीडियो ऊंचाई और उपशीर्षक भाषाएं (कॉमा से अलग) सेट करें। उपलब्ध होने पर वे स्वतः चयनित हो जाएंगी।" }, "main_ui": { "url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें", @@ -480,7 +480,7 @@ "save_success_title": "सफलता", "saved_successfully": "प्लेलिस्ट सफलतापूर्वक सहेजी गई।", "save_error_title": "सहेजने में त्रुटि", - "no_videos_to_save": "कोई प्लेलिस्ट प्रविष्टियां एकत्र नहीं की गईं!", + "no_videos_to_save": "कोई प्लेलिस्ट प्रविष्टियाँ एकत्रित नहीं हुई!", "save_error_msg": "प्लेलिस्ट सहेजने में विफल।" }, "subtitle_selection": { @@ -638,4 +638,4 @@ "update_failed": "❌ अपडेट विफल: {error}", "check_failed": "अपडेट की जांच विफल। कृपया अपना इंटरनेट कनेक्शन जांचें।" } -} +} \ No newline at end of file diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index 5467f99..023b36c 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -84,7 +84,7 @@ "deselect_all": "Batalkan pilihan semua", "open_folder": "Buka lokasi folder", "history": "Riwayat", - "save_playlist": "Save Playlist As" + "save_playlist": "Simpan Playlist Sebagai" }, "dialogs": { "custom_options": "Opsi khusus", @@ -345,12 +345,12 @@ "tab_general": "Umum", "tab_format": "Format", "tab_file": "Berkas", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Koneksi Simultan", + "concurrent_fragments_help": "Jumlah koneksi per unduhan. Nilai yang lebih tinggi melewati pembatasan tetapi dapat menyebabkan pemblokiran sementara jika diatur terlalu tinggi. Default: 1.", + "defaults_settings": "Pengaturan Pilihan Default", + "default_video_quality": "Resolusi Video Default (Tinggi):", + "default_subtitle_language": "Bahasa Subtitel Default:", + "defaults_help": "Atur tinggi video dan bahasa subtitel pilihan Anda (pisahkan dengan koma). Mereka akan dipilih otomatis jika tersedia." }, "main_ui": { "url_placeholder": "Masukkan URL video atau playlist YouTube", @@ -476,12 +476,12 @@ "total_videos": "Total Video: {count}", "display_format": "Playlist: {title} | {count} video", "select_videos_title": "Pilih Video Playlist", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Simpan Playlist Sebagai", + "save_success_title": "Berhasil", + "saved_successfully": "Playlist berhasil disimpan.", + "save_error_title": "Gagal Menyimpan", + "no_videos_to_save": "Tidak ada entri playlist yang dikumpulkan!", + "save_error_msg": "Gagal menyimpan playlist." }, "subtitle_selection": { "count_selected": "{count} dipilih" @@ -638,4 +638,4 @@ "update_failed": "❌ Pembaruan gagal: {error}", "check_failed": "Gagal memeriksa pembaruan. Harap periksa koneksi internet Anda." } -} +} \ No newline at end of file diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index 22320c4..bf20226 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -84,7 +84,7 @@ "deselect_all": "Deseleziona tutto", "open_folder": "Apri posizione cartella", "history": "Cronologia", - "save_playlist": "Save Playlist As" + "save_playlist": "Salva playlist come" }, "dialogs": { "custom_options": "Opzioni personalizzate", @@ -345,12 +345,12 @@ "tab_general": "Generale", "tab_format": "Formato", "tab_file": "File", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Connessioni simultanee", + "concurrent_fragments_help": "Numero di connessioni per download. Valori più alti aggirano il throttling ma possono causare blocchi temporanei se impostati troppo alti. Predefinito: 1.", + "defaults_settings": "Impostazioni di selezione predefinite", + "default_video_quality": "Risoluzione video predefinita (altezza):", + "default_subtitle_language": "Lingua/e dei sottotitoli predefinita/e:", + "defaults_help": "Imposta l'altezza del video preferita e le lingue dei sottotitoli (separate da virgole). Verranno selezionate automaticamente se disponibili." }, "main_ui": { "url_placeholder": "Inserisci URL video YouTube o playlist", @@ -476,12 +476,12 @@ "total_videos": "Video totali: {count}", "display_format": "Playlist: {title} | {count} video", "select_videos_title": "Seleziona Video Playlist", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Salva playlist come", + "save_success_title": "Successo", + "saved_successfully": "Playlist salvata con successo.", + "save_error_title": "Errore di salvataggio", + "no_videos_to_save": "Nessuna voce della playlist raccolta!", + "save_error_msg": "Impossibile salvare la playlist." }, "subtitle_selection": { "count_selected": "{count} selezionati" @@ -638,4 +638,4 @@ "update_failed": "❌ Aggiornamento fallito: {error}", "check_failed": "Impossibile controllare gli aggiornamenti. Controlla la tua connessione Internet." } -} +} \ No newline at end of file diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index a4bc6bf..540c217 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -84,7 +84,7 @@ "deselect_all": "すべて解除", "open_folder": "フォルダの場所を開く", "history": "履歴", - "save_playlist": "Save Playlist As" + "save_playlist": "プレイリストを別名で保存" }, "dialogs": { "custom_options": "カスタムオプション", @@ -345,12 +345,12 @@ "tab_general": "一般", "tab_format": "フォーマット", "tab_file": "ファイル", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "同時接続数", + "concurrent_fragments_help": "ダウンロードごとの接続数。値を大きくするとスロットリングを回避できますが、高すぎると一時的なブロックが発生する可能性があります。デフォルト: 1。", + "defaults_settings": "デフォルト選択設定", + "default_video_quality": "デフォルトのビデオ解像度 (高さ):", + "default_subtitle_language": "デフォルトの字幕言語:", + "defaults_help": "優先するビデオの高さと字幕言語(カンマ区切り)を設定します。利用可能な場合は自動的に選択されます。" }, "main_ui": { "url_placeholder": "YouTubeの動画URLまたはプレイリストURLを入力", @@ -476,12 +476,12 @@ "total_videos": "総動画数: {count}", "display_format": "再生リスト: {title} | {count}個の動画", "select_videos_title": "プレイリスト動画を選択", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "プレイリストを別名で保存", + "save_success_title": "成功", + "saved_successfully": "プレイリストを正常に保存しました。", + "save_error_title": "保存エラー", + "no_videos_to_save": "プレイリストのエントリが見つかりません!", + "save_error_msg": "プレイリストの保存に失敗しました。" }, "subtitle_selection": { "count_selected": "{count}個選択" @@ -638,4 +638,4 @@ "update_failed": "❌ 更新が失敗しました:{error}", "check_failed": "更新の確認に失敗しました。インターネット接続を確認してください。" } -} +} \ No newline at end of file diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index d163669..9864a4e 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -84,7 +84,7 @@ "deselect_all": "Odznacz wszystko", "open_folder": "Otwórz lokalizację folderu", "history": "Historia", - "save_playlist": "Save Playlist As" + "save_playlist": "Zapisz playlistę jako" }, "dialogs": { "custom_options": "Opcje niestandardowe", @@ -345,12 +345,12 @@ "tab_general": "Ogólne", "tab_format": "Format", "tab_file": "Plik", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Jednoczesne połączenia", + "concurrent_fragments_help": "Liczba połączeń na pobieranie. Wyższe wartości omijają dławienie, ale mogą powodować tymczasowe blokady, jeśli zostaną ustawione zbyt wysoko. Domyślnie: 1.", + "defaults_settings": "Domyślne ustawienia wyboru", + "default_video_quality": "Domyślna rozdzielczość wideo (wysokość):", + "default_subtitle_language": "Domyślny język(i) napisów:", + "defaults_help": "Ustaw preferowaną wysokość wideo i języki napisów (rozdzielone przecinkami). Zostaną one automatycznie wybrane, jeśli będą dostępne." }, "main_ui": { "url_placeholder": "Wprowadź URL wideo YouTube lub playlisty", @@ -476,12 +476,12 @@ "total_videos": "Wszystkich wideo: {count}", "display_format": "Playlista: {title} | {count} wideo", "select_videos_title": "Wybierz Filmy z Playlisty", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Zapisz playlistę jako", + "save_success_title": "Sukces", + "saved_successfully": "Playlista zapisana pomyślnie.", + "save_error_title": "Błąd zapisu", + "no_videos_to_save": "Nie zebrano żadnych wpisów z playlisty!", + "save_error_msg": "Nie udało się zapisać playlisty." }, "subtitle_selection": { "count_selected": "{count} wybrano" @@ -638,4 +638,4 @@ "update_failed": "❌ Aktualizacja nie powiodła się: {error}", "check_failed": "Nie udało się sprawdzić aktualizacji. Sprawdź połączenie internetowe." } -} +} \ No newline at end of file diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index b011e71..1645137 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -84,7 +84,7 @@ "deselect_all": "Desmarcar Tudo", "open_folder": "Abrir local da pasta", "history": "Histórico", - "save_playlist": "Save Playlist As" + "save_playlist": "Salvar playlist como" }, "dialogs": { "custom_options": "Opções Personalizadas", @@ -345,12 +345,12 @@ "tab_general": "Geral", "tab_format": "Formato", "tab_file": "Arquivo", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Conexões simultâneas", + "concurrent_fragments_help": "Número de conexões por download. Valores mais altos contornam o limite de velocidade, mas podem causar bloqueios temporários se forem muito altos. Padrão: 1.", + "defaults_settings": "Configurações de seleção padrão", + "default_video_quality": "Resolução de vídeo padrão (altura):", + "default_subtitle_language": "Idioma(s) de legenda padrão:", + "defaults_help": "Defina sua altura de vídeo preferida e os idiomas das legendas (separados por vírgula). Eles serão selecionados automaticamente se disponíveis." }, "main_ui": { "url_placeholder": "Digite a URL do vídeo ou playlist do YouTube", @@ -476,12 +476,12 @@ "total_videos": "Total de Vídeos: {count}", "display_format": "Playlist: {title} | {count} vídeos", "select_videos_title": "Selecionar Vídeos da Playlist", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Salvar playlist como", + "save_success_title": "Sucesso", + "saved_successfully": "Playlist salva com sucesso.", + "save_error_title": "Erro ao salvar", + "no_videos_to_save": "Nenhuma entrada de playlist coletada!", + "save_error_msg": "Falha ao salvar a playlist." }, "subtitle_selection": { "count_selected": "{count} selecionadas" @@ -638,4 +638,4 @@ "update_failed": "❌ Falha na atualização: {error}", "check_failed": "Falha ao verificar atualizações. Verifique sua conexão com a Internet." } -} +} \ No newline at end of file diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index 159a86c..dc615a8 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -84,7 +84,7 @@ "deselect_all": "Снять выделение", "open_folder": "Открыть расположение папки", "history": "История", - "save_playlist": "Save Playlist As" + "save_playlist": "Сохранить плейлист как" }, "dialogs": { "custom_options": "Пользовательские опции", @@ -345,12 +345,12 @@ "tab_general": "Общие", "tab_format": "Формат", "tab_file": "Файл", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Одновременные соединения", + "concurrent_fragments_help": "Количество соединений на одну загрузку. Более высокие значения позволяют обойти ограничение скорости, но могут вызвать временную блокировку при слишком высоких значениях. По умолчанию: 1.", + "defaults_settings": "Настройки выбора по умолчанию", + "default_video_quality": "Разрешение видео по умолчанию (высота):", + "default_subtitle_language": "Язык(и) субтитров по умолчанию:", + "defaults_help": "Установите предпочтительную высоту видео и языки субтитров (через запятую). Они будут выбраны автоматически, إذا كان متاحاً." }, "main_ui": { "url_placeholder": "Введите URL видео или плейлиста YouTube", @@ -476,12 +476,12 @@ "total_videos": "Всего видео: {count}", "display_format": "Плейлист: {title} | {count} видео", "select_videos_title": "Выбрать Видео из Плейлиста", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Сохранить плейлист как", + "save_success_title": "Успех", + "saved_successfully": "Плейлист успешно сохранен.", + "save_error_title": "Ошибка сохранения", + "no_videos_to_save": "Записи плейлиста не собраны!", + "save_error_msg": "Не удалось сохранить плейлист." }, "subtitle_selection": { "count_selected": "выбрано: {count}" @@ -638,4 +638,4 @@ "update_failed": "❌ Ошибка обновления: {error}", "check_failed": "Не удалось проверить обновления. Проверьте подключение к Интернету." } -} +} \ No newline at end of file diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index 2dcf524..a4381d2 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -84,7 +84,7 @@ "deselect_all": "Tüm seçimi kaldır", "open_folder": "Klasör konumunu aç", "history": "Geçmiş", - "save_playlist": "Save Playlist As" + "save_playlist": "Oynatma Listesini Farklı Kaydet" }, "dialogs": { "custom_options": "Özel seçenekler", @@ -345,12 +345,12 @@ "tab_general": "Genel", "tab_format": "Biçim", "tab_file": "Dosya", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "Eşzamanlı Bağlantılar", + "concurrent_fragments_help": "İndirme başına bağlantı sayısı. Daha yüksek değerler sınırlamayı atlar ancak çok yüksek ayarlanırsa geçici engellemelere neden olabilir. Varsayılan: 1.", + "defaults_settings": "Varsayılan Seçim Ayarları", + "default_video_quality": "Varsayılan Video Çözünürlüğü (Yükseklik):", + "default_subtitle_language": "Varsayılan Altyazı Dili/Dilleri:", + "defaults_help": "Tercih ettiğiniz video yüksekliğini ve altyazı dillerini (virgülle ayırarak) ayarlayın. Varsa otomatik olarak seçileceklerdir." }, "main_ui": { "url_placeholder": "YouTube video veya oynatma listesi URL'sini girin", @@ -476,12 +476,12 @@ "total_videos": "Toplam Video: {count}", "display_format": "Oynatma Listesi: {title} | {count} video", "select_videos_title": "Oynatma Listesi Videolarını Seç", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "Oynatma Listesini Farklı Kaydet", + "save_success_title": "Başarılı", + "saved_successfully": "Oynatma listesi başarıyla kaydedildi.", + "save_error_title": "Kaydetme Hatası", + "no_videos_to_save": "Hiçbir oynatma listesi girdisi toplanmadı!", + "save_error_msg": "Oynatma listesi kaydedilemedi." }, "subtitle_selection": { "count_selected": "{count} seçildi" @@ -561,12 +561,12 @@ "install_button": "FFmpeg Kur", "manual_guide": "Manuel Kılavuz", "installation_failed": "FFmpeg kurulumu bir sorunla karşılaştı.", - "already_installed": "FFmpeg is already installed!", - "installation_complete": "Installation complete. You can close this dialog and continue using YTSage.", - "installing": "Installing FFmpeg... Please wait", - "install_success": "FFmpeg has been installed successfully!", - "installation_complete_close": "Installation complete. You can now close this dialog and continue using YTSage.", - "try_manual": "Please try using the manual installation guide instead." + "already_installed": "FFmpeg zaten yüklü!", + "installation_complete": "Kurulum tamamlandı. Bu iletişim kutusunu kapatabilir ve YTSage'i kullanmaya devam edebilirsiniz.", + "installing": "FFmpeg kuruluyor... Lütfen bekleyin", + "install_success": "FFmpeg başarıyla kuruldu!", + "installation_complete_close": "Kurulum tamamlandı. Artık bu iletişim kutusunu kapatabilir ve YTSage'i kullanmaya devam edebilirsiniz.", + "try_manual": "Lütfen bunun yerine manuel kurulum kılavuzunu kullanmayı deneyin." }, "ytdlp_setup": { "required_title": "yt-dlp Kurulumu Gerekli", @@ -638,4 +638,4 @@ "update_failed": "❌ Güncelleme başarısız: {error}", "check_failed": "Güncellemeler kontrol edilemedi. Lütfen internet bağlantınızı kontrol edin." } -} +} \ No newline at end of file diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 13b70a9..4ad99aa 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -84,7 +84,7 @@ "deselect_all": "取消全选", "open_folder": "打开文件夹位置", "history": "历史", - "save_playlist": "Save Playlist As" + "save_playlist": "保存播放列表为" }, "dialogs": { "custom_options": "自定义选项", @@ -345,12 +345,12 @@ "tab_general": "一般", "tab_format": "格式", "tab_file": "文件", - "concurrent_fragments": "Concurrent Connections", - "concurrent_fragments_help": "Number of connections per download. Higher values bypass throttling but may cause temporary blocks if set too high. Default: 1.", - "defaults_settings": "Default Selection Settings", - "default_video_quality": "Default Video Resolution (Height):", - "default_subtitle_language": "Default Subtitle Language(s):", - "defaults_help": "Set your preferred video height and subtitle languages (comma-separated). They will be auto-selected if available." + "concurrent_fragments": "并发连接数", + "concurrent_fragments_help": "每个下载的连接数。较高的值可以绕过限速,但如果设置得太高,可能会导致临时被封。默认值:1。", + "defaults_settings": "默认选择设置", + "default_video_quality": "默认视频分辨率 (高度):", + "default_subtitle_language": "默认字幕语言:", + "defaults_help": "设置您首选的视频高度和字幕语言(用逗号分隔)。如果可用,它们将被自动选择。" }, "main_ui": { "url_placeholder": "输入 YouTube 视频或播放列表网址", @@ -476,12 +476,12 @@ "total_videos": "总视频数:{count}", "display_format": "播放列表:{title} | {count}个视频", "select_videos_title": "选择播放列表视频", - "save_as": "Save Playlist As", - "save_success_title": "Success", - "saved_successfully": "Playlist saved successfully.", - "save_error_title": "Save Error", - "no_videos_to_save": "No playlist entries gathered!", - "save_error_msg": "Failed to save playlist." + "save_as": "保存播放列表为", + "save_success_title": "成功", + "saved_successfully": "播放列表已成功保存。", + "save_error_title": "保存错误", + "no_videos_to_save": "未收集到播放列表条目!", + "save_error_msg": "保存播放列表失败。" }, "subtitle_selection": { "count_selected": "已选择{count}个" @@ -561,12 +561,12 @@ "install_button": "安装 FFmpeg", "manual_guide": "手动指南", "installation_failed": "FFmpeg 安装遇到问题。", - "already_installed": "FFmpeg is already installed!", - "installation_complete": "Installation complete. You can close this dialog and continue using YTSage.", - "installing": "Installing FFmpeg... Please wait", - "install_success": "FFmpeg has been installed successfully!", - "installation_complete_close": "Installation complete. You can now close this dialog and continue using YTSage.", - "try_manual": "Please try using the manual installation guide instead." + "already_installed": "FFmpeg 已安装!", + "installation_complete": "安装完成。您可以关闭此对话框并继续使用 YTSage。", + "installing": "正在安装 FFmpeg... 请稍候", + "install_success": "FFmpeg 已成功安装!", + "installation_complete_close": "安装完成。您现在可以关闭此对话框并继续使用 YTSage。", + "try_manual": "请尝试使用手动安装指南。" }, "ytdlp_setup": { "required_title": "需要设置 yt-dlp", @@ -638,4 +638,4 @@ "update_failed": "❌ 更新失败:{error}", "check_failed": "检查更新失败。请检查您的网络连接。" } -} +} \ No newline at end of file From fe0f8241ff0dc2382d2065b732244594300f3e6a Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Apr 2026 12:55:46 +0300 Subject: [PATCH 536/568] Improve playlist format selection and resolution When downloading playlists, avoid reusing a specific format_id from the first item (which can fail for subsequent videos). For audio-only playlists, use yt-dlp's bestaudio fallback; for video playlists, respect a provided resolution by extracting the height and applying -S res:, otherwise fall back to bestvideo+bestaudio/best. Invalid resolution strings are caught and logged, and revert to the dynamic best-quality fallback. --- ytsage/core/ytsage_downloader.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index 3df0fe7..6f5b7b2 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -242,7 +242,29 @@ class DownloadThread(QThread): logger.debug(f"Using {self.concurrent_fragments} concurrent connections") # Format selection strategy - use format ID if provided or fallback to resolution - if self.format_id: + if self.is_playlist: + # For playlists, specific format_id from the first video often fails for subsequent videos. + # Instead, we rely on dynamic fallback/resolution limits. + if self.is_audio_only: + # For audio-only playlist, let yt-dlp pick best audio. + cmd.extend(["-f", "bestaudio/best"]) + logger.debug(f"Playlist mode: using dynamic best audio fallback instead of format_id") + else: + # If a specific resolution is given, limit to it. Otherwise, select the overall best. + # The resolution might be e.g. "1920x1080" or "1080". We want the height. + try: + if self.resolution and self.resolution != "default": + res_str = str(self.resolution) + h = min(map(int, res_str.split('x'))) if 'x' in res_str else int(res_str) + cmd.extend(["-S", f"res:{h}"]) + logger.debug(f"Playlist mode: using resolution limiter -S res:{h}") + else: + cmd.extend(["-f", "bestvideo+bestaudio/best"]) + logger.debug("Playlist mode: using dynamic best quality overall") + except ValueError: + cmd.extend(["-f", "bestvideo+bestaudio/best"]) + logger.debug("Playlist mode: invalid resolution string, using dynamic best quality overall") + elif self.format_id: clean_format_id: str = self.format_id.split("-drc")[0] if "-drc" in self.format_id else self.format_id # If the selected format is audio-only, pass it directly. From 5bbecf1e1dde31ec0dae500a7a514f2d44d67e83 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:29:26 +0300 Subject: [PATCH 537/568] Detect private/sign-in yt-dlp errors Update AnalysisThread error handling to detect yt-dlp stderr containing "Private video" or "Sign in". For those cases, emit a localized errors.private_video message and log a specific private-video error; otherwise preserve the existing generic ytdlp_failed behavior. Playlist visibility signals and early return remain unchanged. --- ytsage/gui/ytsage_gui_analysis.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ytsage/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py index 2dd4f42..9f5a33d 100644 --- a/ytsage/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -131,8 +131,13 @@ class AnalysisThread(QThread): return if result.returncode != 0: - logger.error(f"yt-dlp failed: {result.stderr}") - self.analysis_error.emit(_("errors.ytdlp_failed", error=result.stderr)) + if "Private video" in result.stderr or "Sign in" in result.stderr: + logger.error(f"yt-dlp failed (private video): {result.stderr}") + self.analysis_error.emit(_("errors.private_video")) + else: + logger.error(f"yt-dlp failed: {result.stderr}") + self.analysis_error.emit(_("errors.ytdlp_failed", error=result.stderr)) + self.playlist_info_visible.emit(False) self.playlist_select_btn_visible.emit(False) return From 4ae78b830dea8aa7896b999f80398737f03ea6bd Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:29:43 +0300 Subject: [PATCH 538/568] Add 'Remember Cookie Settings' checkbox Introduce a "Remember Cookie Settings" QCheckBox to the cookies UI (label uses gettext key "cookies.remember_settings"). The control defaults to True when no prior setting exists and applies custom styling for the indicator and text. Its toggled signal is wired to ConfigManager.set("cookie_remember", checked) so the preference is saved immediately (avoiding dependence on an Apply button), and the value is also saved when the dialog persists other cookie settings. Uses the "cookie_remember" config key for storage. --- .../ytsage_dialogs_custom.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py index 3c19863..8b1cf55 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_custom.py @@ -198,6 +198,37 @@ class CustomOptionsDialog(QDialog): # Initially show browser group (recommended default) and hide file group self.cookie_file_group.setVisible(False) + + # Remember Cookie Settings Checkbox + self.remember_cb = QCheckBox(_("cookies.remember_settings")) + remember_val = ConfigManager.get("cookie_remember") + self.remember_cb.setChecked(True if remember_val is None else remember_val) # Default to True + self.remember_cb.setStyleSheet( + """ + QCheckBox { + color: #ffffff; + padding: 10px 5px; + } + QCheckBox::indicator { + width: 18px; + height: 18px; + border-radius: 9px; + } + QCheckBox::indicator:unchecked { + border: 2px solid #666666; + background: #1d1e22; + border-radius: 9px; + } + QCheckBox::indicator:checked { + border: 2px solid #c90000; + background: #c90000; + border-radius: 9px; + } + """ + ) + # Connect state change directly to config save to make it work immediately without Apply button dependency if needed + self.remember_cb.toggled.connect(lambda checked: ConfigManager.set("cookie_remember", checked)) + cookies_layout.addWidget(self.remember_cb) self.cookie_browser_group.setVisible(True) # Apply button and status indicator @@ -725,6 +756,7 @@ class CustomOptionsDialog(QDialog): self._parent.browser_cookies_option = None # Save settings to ConfigManager for persistence + ConfigManager.set("cookie_remember", self.remember_cb.isChecked()) if self.cookie_file_radio.isChecked(): ConfigManager.set("cookie_source", "file") ConfigManager.set("cookie_file_path", str(cookie_path) if cookie_path else None) From 8dc09916196dc28b2981a4bfcc890c4870abc0f4 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:30:13 +0300 Subject: [PATCH 539/568] Persist cookie settings across sessions Restore cookie configuration on startup when previously active and the user opted to remember them. If config indicates a file source and the path exists, set cookie_file_path; if browser source, set browser_cookies_option. Treat missing "cookie_remember" as true by default. If the user did not opt to remember cookies, reset cookie_active to false. Added logging for restored settings and initialization state. --- ytsage/gui/ytsage_gui_main.py | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 40794f5..089ea18 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -330,13 +330,31 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): logger.exception(f"Error playing notification sound: {e}") def _initialize_cookie_settings_from_config(self) -> None: - """Initialize cookie settings - cookies are NOT auto-activated on startup. - User must explicitly click Apply in the dialog each session.""" - # Cookies always start inactive on app launch - # User must click Apply in Custom Options dialog to activate them + """Initialize cookie settings and restore from last session if active.""" self.cookie_file_path = None self.browser_cookies_option = None - logger.debug("Cookie settings initialized - no cookies active (user must apply manually)") + + # Check if the user wants to remember cookies across sessions + remember_val = ConfigManager.get("cookie_remember") + should_remember = True if remember_val is None else remember_val + + if ConfigManager.get("cookie_active") and should_remember: + source = ConfigManager.get("cookie_source") + if source == "file": + saved_path = ConfigManager.get("cookie_file_path") + if saved_path and Path(saved_path).exists(): + self.cookie_file_path = Path(saved_path) + logger.info(f"Restored cookie file from previous session: {self.cookie_file_path}") + elif source == "browser": + browser = ConfigManager.get("cookie_browser") + profile = ConfigManager.get("cookie_browser_profile") + if browser: + self.browser_cookies_option = f"{browser}:{profile}" if profile else browser + logger.info(f"Restored browser cookies from previous session: {self.browser_cookies_option}") + else: + # Revert activation back if the user opted NOT to remember them + ConfigManager.set("cookie_active", False) + logger.debug("Cookie settings initialized - no cookies active") def init_ui(self) -> None: self.setWindowTitle(f"{_('app.title')} {_('app.version', version=self.version)}") From e78b634beeeb0137ec11705869972ae6a984fdc9 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:31:07 +0300 Subject: [PATCH 540/568] Add remember_settings and private_video keys Add two new localization keys across multiple language files: "remember_settings" (cookie dialog) and "private_video" (download/error message) to inform users about remembering cookie settings and private videos. Also fix minor formatting in en.json (split combined line for open_folder/save_playlist/reset). Updated locale files: ar, de, en, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh. --- ytsage/languages/ar.json | 6 ++++-- ytsage/languages/de.json | 6 ++++-- ytsage/languages/en.json | 8 ++++++-- ytsage/languages/es.json | 6 ++++-- ytsage/languages/fr.json | 6 ++++-- ytsage/languages/hi.json | 6 ++++-- ytsage/languages/id.json | 6 ++++-- ytsage/languages/it.json | 6 ++++-- ytsage/languages/ja.json | 6 ++++-- ytsage/languages/pl.json | 6 ++++-- ytsage/languages/pt.json | 6 ++++-- ytsage/languages/ru.json | 6 ++++-- ytsage/languages/tr.json | 6 ++++-- ytsage/languages/zh.json | 6 ++++-- 14 files changed, 58 insertions(+), 28 deletions(-) diff --git a/ytsage/languages/ar.json b/ytsage/languages/ar.json index e61e38b..ca0d59b 100644 --- a/ytsage/languages/ar.json +++ b/ytsage/languages/ar.json @@ -131,7 +131,8 @@ "cleared_message": "تم مسح إعدادات الكوكيز", "active_browser": "✓ نشط: كوكيز المتصفح ({browser})", "active_file": "✓ نشط: ملف كوكيز ({file})", - "none_active": "○ لا توجد كوكيز نشطة" + "none_active": "○ لا توجد كوكيز نشطة", + "remember_settings": "تذكر إعدادات ملفات تعريف الارتباط عند بدء التشغيل التالي" }, "custom_command": { "help_text": "أدخل أمر yt-dlp مخصص أدناه. سيتم إضافة الرابط الحالي تلقائياً.

    للحصول على قائمة كاملة بالخيارات وأمثلة الاستخدام انقر هنا لمشاهدة الوثائق الرسمية لـ yt-dlp.

    ملاحظة: يتم التعامل مع مسار التنزيل ونموذج اسم الملف تلقائياً.", @@ -460,7 +461,8 @@ "generic_error": "خطأ: {error}", "download_failed_return_code_conflict": "فشل التنزيل برمز الإرجاع {return_code}. قد يكون ذلك بسبب تعارض بين عدة عمليات تثبيت لـ yt-dlp. جرّب إزالة أي تثبيت لنظام التشغيل (مثل snap أو apt) ثم أعد تشغيل التطبيق.", "download_failed_return_code": "فشل التنزيل برمز الإرجاع {return_code}", - "direct_command_error": "خطأ في الأمر المباشر: {error}" + "direct_command_error": "خطأ في الأمر المباشر: {error}", + "private_video": "قد يكون هذا الفيديو خاصًا. يرجى استخدام ملفات تعريف الارتباط من الخيارات المخصصة." }, "update_dialog": { "title": "تحديث متاح", diff --git a/ytsage/languages/de.json b/ytsage/languages/de.json index d3375ce..a643adb 100644 --- a/ytsage/languages/de.json +++ b/ytsage/languages/de.json @@ -131,7 +131,8 @@ "cleared_message": "Cookie-Einstellungen wurden gelöscht", "active_browser": "✓ Aktiv: Browser-Cookies ({browser})", "active_file": "✓ Aktiv: Cookie-Datei ({file})", - "none_active": "○ Keine Cookies aktiv" + "none_active": "○ Keine Cookies aktiv", + "remember_settings": "Cookie-Einstellungen beim nächsten Start merken" }, "custom_command": { "help_text": "Geben Sie Ihren benutzerdefinierten yt-dlp-Befehl unten ein. Die aktuelle URL wird automatisch angehängt.

    Für die vollständige Liste der Optionen und Verwendungsbeispiele klicken Sie hier, um die offizielle yt-dlp-Dokumentation anzuzeigen.

    Hinweis: Download-Pfad und Dateinamen-Vorlage werden automatisch behandelt.", @@ -460,7 +461,8 @@ "generic_error": "Fehler: {error}", "download_failed_return_code_conflict": "Download fehlgeschlagen mit Rückgabecode {return_code}. Dies kann an einem Konflikt mit mehreren yt-dlp-Installationen liegen. Deinstalliere ggf. eine systemweit installierte yt-dlp-Version (z. B. über snap oder apt) und starte die Anwendung neu.", "download_failed_return_code": "Download fehlgeschlagen mit Rückgabecode {return_code}", - "direct_command_error": "Fehler im direkten Befehl: {error}" + "direct_command_error": "Fehler im direkten Befehl: {error}", + "private_video": "Dieses Video ist möglicherweise privat. Bitte verwenden Sie Cookies aus den benutzerdefinierten Optionen." }, "update_dialog": { "title": "Update verfügbar", diff --git a/ytsage/languages/en.json b/ytsage/languages/en.json index 258f404..b17e700 100644 --- a/ytsage/languages/en.json +++ b/ytsage/languages/en.json @@ -82,7 +82,9 @@ "select_defaults": "Select Defaults", "select_all": "Select All", "deselect_all": "Deselect All", - "open_folder": "Open folder location", "save_playlist": "Save Playlist As", "reset": "Reset" + "open_folder": "Open folder location", + "save_playlist": "Save Playlist As", + "reset": "Reset" }, "dialogs": { "custom_options": "Custom Options", @@ -129,7 +131,8 @@ "cleared_message": "Cookie settings have been cleared", "active_browser": "✓ Active: Browser cookies ({browser})", "active_file": "✓ Active: Cookie file ({file})", - "none_active": "○ No cookies active" + "none_active": "○ No cookies active", + "remember_settings": "Remember cookie settings on next startup" }, "custom_command": { "help_text": "Enter your custom yt-dlp command below. The current URL will be appended automatically.

    For the full list of options and usage examples, click here to view the official yt-dlp documentation.

    Note: Download path and filename template will be handled automatically.", @@ -453,6 +456,7 @@ "analysis_timeout": "Error: Analysis timed out. Please try again.", "invalid_speed_limit": "❌ Error: Invalid speed limit value set in settings.", "ytdlp_failed": "Error: yt-dlp failed: {error}", + "private_video": "This video might be private. Please use cookies from the custom options.", "parse_failed": "Error: Failed to parse yt-dlp output: {error}", "analysis_failed": "Error: Analysis failed: {error}", "generic_error": "Error: {error}", diff --git a/ytsage/languages/es.json b/ytsage/languages/es.json index f8f39c6..c0b9a7b 100644 --- a/ytsage/languages/es.json +++ b/ytsage/languages/es.json @@ -101,7 +101,8 @@ "cleared_message": "La configuración de cookies se ha borrado", "active_browser": "✓ Activas: cookies del navegador ({browser})", "active_file": "✓ Activo: archivo de cookies ({file})", - "none_active": "○ No hay cookies activas" + "none_active": "○ No hay cookies activas", + "remember_settings": "Recordar configuración de cookies en el próximo inicio" }, "custom_command": { "help_text": "Ingresa tu comando yt-dlp personalizado a continuación. La URL actual se añadirá automáticamente.

    Para ver la lista completa de opciones y ejemplos de uso, haz clic aquí para ver la documentación oficial de yt-dlp.

    Nota: La ruta de descarga y la plantilla de nombre de archivo se manejarán automáticamente.", @@ -460,7 +461,8 @@ "generic_error": "Error: {error}", "download_failed_return_code_conflict": "La descarga falló con el código de salida {return_code}. Esto puede deberse a un conflicto con varias instalaciones de yt-dlp. Intenta desinstalar cualquier yt-dlp instalado en el sistema (p. ej., mediante snap o apt) y reinicia la aplicación.", "download_failed_return_code": "La descarga falló con el código de salida {return_code}", - "direct_command_error": "Error en el comando directo: {error}" + "direct_command_error": "Error en el comando directo: {error}", + "private_video": "Este video podría ser privado. Por favor, utiliza cookies desde las opciones personalizadas." }, "update_dialog": { "title": "Actualización disponible", diff --git a/ytsage/languages/fr.json b/ytsage/languages/fr.json index 88768e6..4db0f65 100644 --- a/ytsage/languages/fr.json +++ b/ytsage/languages/fr.json @@ -131,7 +131,8 @@ "cleared_message": "Les paramètres des cookies ont été effacés", "active_browser": "✓ Actifs : cookies du navigateur ({browser})", "active_file": "✓ Actif : fichier cookies ({file})", - "none_active": "○ Aucun cookie actif" + "none_active": "○ Aucun cookie actif", + "remember_settings": "Mémoriser les paramètres des cookies au prochain démarrage" }, "custom_command": { "help_text": "Entrez votre commande yt-dlp personnalisée ci-dessous. L'URL actuelle sera automatiquement ajoutée.

    Pour la liste complète des options et exemples d'utilisation cliquez ici pour voir la documentation officielle yt-dlp.

    Note : Le chemin de téléchargement et le modèle de nom de fichier sont gérés automatiquement.", @@ -460,7 +461,8 @@ "generic_error": "Erreur : {error}", "download_failed_return_code_conflict": "Téléchargement échoué avec le code de retour {return_code}. Cela peut être dû à un conflit entre plusieurs installations de yt-dlp. Essayez de désinstaller toute version installée au niveau du système (par ex. via snap ou apt) puis redémarrez l’application.", "download_failed_return_code": "Téléchargement échoué avec le code de retour {return_code}", - "direct_command_error": "Erreur dans la commande directe : {error}" + "direct_command_error": "Erreur dans la commande directe : {error}", + "private_video": "Cette vidéo pourrait être privée. Veuillez utiliser des cookies depuis les options personnalisées." }, "update_dialog": { "title": "Mise à jour disponible", diff --git a/ytsage/languages/hi.json b/ytsage/languages/hi.json index a491106..e3759c1 100644 --- a/ytsage/languages/hi.json +++ b/ytsage/languages/hi.json @@ -131,7 +131,8 @@ "cleared_message": "कुकी सेटिंग्स साफ़ कर दी गई हैं", "active_browser": "✓ सक्रिय: ब्राउज़र कुकीज़ ({browser})", "active_file": "✓ सक्रिय: कुकी फ़ाइल ({file})", - "none_active": "○ कोई कुकी सक्रिय नहीं" + "none_active": "○ कोई कुकी सक्रिय नहीं", + "remember_settings": "अगले स्टार्टअप पर कुकी सेटिंग्स याद रखें" }, "custom_command": { "help_text": "नीचे अपना कस्टम yt-dlp कमांड दर्ज करें। वर्तमान URL स्वचालित रूप से जोड़ा जाएगा।

    विकल्पों की पूरी सूची और उपयोग के उदाहरणों के लिए आधिकारिक yt-dlp दस्तावेज़ देखने के लिए यहाँ क्लिक करें

    नोट: डाउनलोड पथ और फ़ाइलनाम टेम्प्लेट स्वचालित रूप से संभाले जाते हैं।", @@ -460,7 +461,8 @@ "generic_error": "त्रुटि: {error}", "download_failed_return_code_conflict": "डाउनलोड {return_code} रिटर्न कोड के साथ विफल हुआ। यह कई yt-dlp इंस्टॉलेशन के टकराव के कारण हो सकता है। किसी भी सिस्टम-इंस्टॉल्ड yt-dlp (जैसे snap या apt) को हटाकर ऐप को रीस्टार्ट करें।", "download_failed_return_code": "डाउनलोड {return_code} रिटर्न कोड के साथ विफल हुआ", - "direct_command_error": "सीधे कमांड में त्रुटि: {error}" + "direct_command_error": "सीधे कमांड में त्रुटि: {error}", + "private_video": "यह वीडियो निजी हो सकता है। कृपया कस्टम विकल्पों से कुकीज़ का उपयोग करें।" }, "update_dialog": { "title": "अपडेट उपलब्ध", diff --git a/ytsage/languages/id.json b/ytsage/languages/id.json index 023b36c..0081c3f 100644 --- a/ytsage/languages/id.json +++ b/ytsage/languages/id.json @@ -131,7 +131,8 @@ "cleared_message": "Pengaturan cookie telah dihapus", "active_browser": "✓ Aktif: cookie browser ({browser})", "active_file": "✓ Aktif: file cookie ({file})", - "none_active": "○ Tidak ada cookie aktif" + "none_active": "○ Tidak ada cookie aktif", + "remember_settings": "Ingat pengaturan cookie pada startup berikutnya" }, "custom_command": { "help_text": "Masukkan perintah yt-dlp khusus Anda di bawah. URL saat ini akan ditambahkan secara otomatis.

    Untuk daftar lengkap opsi dan contoh penggunaan klik di sini untuk melihat dokumentasi resmi yt-dlp.

    Catatan: Jalur unduhan dan template nama file ditangani secara otomatis.", @@ -460,7 +461,8 @@ "generic_error": "Kesalahan: {error}", "download_failed_return_code_conflict": "Unduhan gagal dengan kode pengembalian {return_code}. Ini mungkin karena konflik dengan beberapa instalasi yt-dlp. Coba uninstall yt-dlp yang terpasang di sistem (mis. melalui snap atau apt) lalu mulai ulang aplikasi.", "download_failed_return_code": "Unduhan gagal dengan kode pengembalian {return_code}", - "direct_command_error": "Error pada perintah langsung: {error}" + "direct_command_error": "Error pada perintah langsung: {error}", + "private_video": "Video ini mungkin bersifat pribadi. Silakan gunakan cookie dari opsi kustom." }, "update_dialog": { "title": "Pembaruan Tersedia", diff --git a/ytsage/languages/it.json b/ytsage/languages/it.json index bf20226..46021d6 100644 --- a/ytsage/languages/it.json +++ b/ytsage/languages/it.json @@ -131,7 +131,8 @@ "cleared_message": "Le impostazioni dei cookie sono state cancellate", "active_browser": "✓ Attivi: cookie del browser ({browser})", "active_file": "✓ Attivo: file cookie ({file})", - "none_active": "○ Nessun cookie attivo" + "none_active": "○ Nessun cookie attivo", + "remember_settings": "Ricorda le impostazioni dei cookie al prossimo avvio" }, "custom_command": { "help_text": "Inserisci un comando yt-dlp personalizzato qui sotto. L'URL corrente verrà aggiunto automaticamente.

    Per l'elenco completo delle opzioni ed esempi di utilizzo clicca qui per vedere la documentazione ufficiale yt-dlp.

    Nota: Il percorso di download e il modello del nome file sono gestiti automaticamente.", @@ -460,7 +461,8 @@ "generic_error": "Errore: {error}", "download_failed_return_code_conflict": "Download non riuscito con codice di uscita {return_code}. Potrebbe essere dovuto a un conflitto tra più installazioni di yt-dlp. Prova a disinstallare eventuali yt-dlp installati a livello di sistema (es. snap o apt) e riavvia l’app.", "download_failed_return_code": "Download non riuscito con codice di uscita {return_code}", - "direct_command_error": "Errore nel comando diretto: {error}" + "direct_command_error": "Errore nel comando diretto: {error}", + "private_video": "Questo video potrebbe essere privato. Si prega di utilizzare i cookie dalle opzioni personalizzate." }, "update_dialog": { "title": "Aggiornamento disponibile", diff --git a/ytsage/languages/ja.json b/ytsage/languages/ja.json index 540c217..cfc2939 100644 --- a/ytsage/languages/ja.json +++ b/ytsage/languages/ja.json @@ -131,7 +131,8 @@ "cleared_message": "Cookie設定がクリアされました", "active_browser": "✓ 有効: ブラウザーのCookie ({browser})", "active_file": "✓ 有効: Cookieファイル ({file})", - "none_active": "○ 有効なCookieはありません" + "none_active": "○ 有効なCookieはありません", + "remember_settings": "次回の起動時にCookie設定を記憶する" }, "custom_command": { "help_text": "以下にカスタムyt-dlpコマンドを入力してください。現在のURLは自動的に追加されます。

    オプションの完全なリストと使用例については、こちらをクリックしてyt-dlp公式ドキュメントを参照してください

    注: ダウンロードパスとファイル名テンプレートは自動的に処理されます。", @@ -460,7 +461,8 @@ "generic_error": "エラー: {error}", "download_failed_return_code_conflict": "ダウンロードは戻りコード {return_code} で失敗しました。複数の yt-dlp インストールの競合が原因の可能性があります。システムにインストールされた yt-dlp(例: snap や apt)をアンインストールしてアプリを再起動してください。", "download_failed_return_code": "ダウンロードは戻りコード {return_code} で失敗しました", - "direct_command_error": "直接コマンドのエラー: {error}" + "direct_command_error": "直接コマンドのエラー: {error}", + "private_video": "この動画は非公開かもしれません。カスタムオプションからCookieを使用してください。" }, "update_dialog": { "title": "アップデートが利用可能です", diff --git a/ytsage/languages/pl.json b/ytsage/languages/pl.json index 9864a4e..118fb29 100644 --- a/ytsage/languages/pl.json +++ b/ytsage/languages/pl.json @@ -131,7 +131,8 @@ "cleared_message": "Ustawienia ciasteczek zostały wyczyszczone", "active_browser": "✓ Aktywne: ciasteczka przeglądarki ({browser})", "active_file": "✓ Aktywny: plik ciasteczek ({file})", - "none_active": "○ Brak aktywnych ciasteczek" + "none_active": "○ Brak aktywnych ciasteczek", + "remember_settings": "Zapamiętaj ustawienia plików cookie przy następnym uruchomieniu" }, "custom_command": { "help_text": "Wprowadź niestandardowe polecenie yt-dlp poniżej. Aktualny URL zostanie automatycznie dodany.

    Aby uzyskać pełną listę opcji i przykładów użycia kliknij tutaj, aby zobaczyć oficjalną dokumentację yt-dlp.

    Uwaga: Ścieżka pobierania i szablon nazwy pliku są obsługiwane automatycznie.", @@ -460,7 +461,8 @@ "generic_error": "Błąd: {error}", "download_failed_return_code_conflict": "Pobieranie nie powiodło się z kodem {return_code}. Może to wynikać z konfliktu wielu instalacji yt-dlp. Spróbuj odinstalować systemowo zainstalowane yt-dlp (np. przez snap lub apt) i uruchom aplikację ponownie.", "download_failed_return_code": "Pobieranie nie powiodło się z kodem {return_code}", - "direct_command_error": "Błąd w bezpośrednim poleceniu: {error}" + "direct_command_error": "Błąd w bezpośrednim poleceniu: {error}", + "private_video": "Ten film może być prywatny. Proszę użyć plików cookie z opcji niestandardowych." }, "update_dialog": { "title": "Dostępna aktualizacja", diff --git a/ytsage/languages/pt.json b/ytsage/languages/pt.json index 1645137..da7609f 100644 --- a/ytsage/languages/pt.json +++ b/ytsage/languages/pt.json @@ -131,7 +131,8 @@ "cleared_message": "As configurações de cookies foram limpas", "active_browser": "✓ Ativos: cookies do navegador ({browser})", "active_file": "✓ Ativo: arquivo de cookies ({file})", - "none_active": "○ Nenhum cookie ativo" + "none_active": "○ Nenhum cookie ativo", + "remember_settings": "Lembrar configurações de cookies na próxima inicialização" }, "custom_command": { "help_text": "Digite seu comando yt-dlp personalizado abaixo. A URL atual será anexada automaticamente.

    Para a lista completa de opções e exemplos de uso, clique aqui para ver a documentação oficial do yt-dlp.

    Nota: O caminho de download e modelo de nome de arquivo serão tratados automaticamente.", @@ -460,7 +461,8 @@ "generic_error": "Erro: {error}", "download_failed_return_code_conflict": "O download falhou com o código de retorno {return_code}. Isso pode ser devido a um conflito com várias instalações do yt-dlp. Tente desinstalar qualquer yt-dlp instalado no sistema (ex.: snap ou apt) e reinicie o aplicativo.", "download_failed_return_code": "O download falhou com o código de retorno {return_code}", - "direct_command_error": "Erro no comando direto: {error}" + "direct_command_error": "Erro no comando direto: {error}", + "private_video": "Este vídeo pode ser privado. Por favor, use cookies das opções personalizadas." }, "update_dialog": { "title": "Atualização Disponível", diff --git a/ytsage/languages/ru.json b/ytsage/languages/ru.json index dc615a8..2b5cef8 100644 --- a/ytsage/languages/ru.json +++ b/ytsage/languages/ru.json @@ -131,7 +131,8 @@ "cleared_message": "Настройки cookie были очищены", "active_browser": "✓ Активны: cookie браузера ({browser})", "active_file": "✓ Активен: файл cookie ({file})", - "none_active": "○ Нет активных cookie" + "none_active": "○ Нет активных cookie", + "remember_settings": "Запомнить настройки cookie при следующем запуске" }, "custom_command": { "help_text": "Введите пользовательскую команду yt-dlp ниже. Текущий URL будет добавлен автоматически.

    Для полного списка опций и примеров использования, нажмите здесь для просмотра официальной документации yt-dlp.

    Примечание: Путь загрузки и шаблон имени файла будут обработаны автоматически.", @@ -460,7 +461,8 @@ "generic_error": "Ошибка: {error}", "download_failed_return_code_conflict": "Загрузка завершилась ошибкой с кодом {return_code}. Это может быть из-за конфликта нескольких установок yt-dlp. Попробуйте удалить системно установленный yt-dlp (например, через snap или apt) и перезапустите приложение.", "download_failed_return_code": "Загрузка не удалась, код {return_code}", - "direct_command_error": "Ошибка в прямой команде: {error}" + "direct_command_error": "Ошибка в прямой команде: {error}", + "private_video": "Это видео может быть приватным. Пожалуйста, используйте файлы cookie из пользовательских настроек." }, "update_dialog": { "title": "Доступно обновление", diff --git a/ytsage/languages/tr.json b/ytsage/languages/tr.json index a4381d2..e55e46b 100644 --- a/ytsage/languages/tr.json +++ b/ytsage/languages/tr.json @@ -131,7 +131,8 @@ "cleared_message": "Çerez ayarları temizlendi", "active_browser": "✓ Etkin: Tarayıcı çerezleri ({browser})", "active_file": "✓ Etkin: Çerez dosyası ({file})", - "none_active": "○ Etkin çerez yok" + "none_active": "○ Etkin çerez yok", + "remember_settings": "Sonraki başlangıçta çerez ayarlarını hatırla" }, "custom_command": { "help_text": "Özel yt-dlp komutunuzu aşağıya girin. Mevcut URL otomatik olarak eklenecektir.

    Seçeneklerin tam listesi ve kullanım örnekleri için resmi yt-dlp belgelerini görmek için buraya tıklayın.

    Not: İndirme yolu ve dosya adı şablonu otomatik olarak işlenir.", @@ -460,7 +461,8 @@ "generic_error": "Hata: {error}", "download_failed_return_code_conflict": "İndirme {return_code} dönüş koduyla başarısız oldu. Bunun nedeni birden fazla yt-dlp kurulumunun çakışması olabilir. Sistem kurulumlu yt-dlp'yi (örn. snap veya apt) kaldırıp uygulamayı yeniden başlatmayı deneyin.", "download_failed_return_code": "İndirme {return_code} dönüş koduyla başarısız oldu", - "direct_command_error": "Doğrudan komutta hata: {error}" + "direct_command_error": "Doğrudan komutta hata: {error}", + "private_video": "Bu video gizli olabilir. Lütfen özel seçeneklerden çerezleri kullanın." }, "update_dialog": { "title": "Güncelleme Mevcut", diff --git a/ytsage/languages/zh.json b/ytsage/languages/zh.json index 4ad99aa..5bc3c27 100644 --- a/ytsage/languages/zh.json +++ b/ytsage/languages/zh.json @@ -131,7 +131,8 @@ "cleared_message": "Cookie 设置已被清除", "active_browser": "✓ Active: Browser cookies ({browser})", "active_file": "✓ Active: Cookie file ({file})", - "none_active": "○ No cookies active" + "none_active": "○ No cookies active", + "remember_settings": "在下次启动时记住 cookie 设置" }, "custom_command": { "help_text": "在下面输入您的自定义 yt-dlp 命令。当前网址将自动附加。

    有关选项和使用示例的完整列表,点击此处查看官方 yt-dlp 文档

    注意:下载路径和文件名模板将自动处理。", @@ -460,7 +461,8 @@ "generic_error": "错误:{error}", "download_failed_return_code_conflict": "下载失败,返回码 {return_code}。这可能是由于存在多个 yt-dlp 安装导致冲突。请卸载系统中安装的 yt-dlp(例如通过 snap 或 apt),然后重启应用。", "download_failed_return_code": "下载失败,返回码 {return_code}", - "direct_command_error": "直接命令出错:{error}" + "direct_command_error": "直接命令出错:{error}", + "private_video": "此视频可能是私享视频。请使用自定义选项中的 cookie。" }, "update_dialog": { "title": "有可用更新", From d2f96baf6375599ecea8b99ad6dfec4d87fbcbfa Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Tue, 28 Apr 2026 13:37:31 +0300 Subject: [PATCH 541/568] Bump version to 5.0.9b Update package version from 5.0.7b to 5.0.9b in pyproject.toml and ytsage/__init__.py to reflect the new release. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f35078f..b42516a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.7b" +version = "5.0.9b" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index e087c98..c75deb4 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.7b" +__version__ = "5.0.9b" __author__ = "oop7" From abec69fb8418f3e998d21b4dbe71d7e57e180d18 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 1 May 2026 14:23:29 +0300 Subject: [PATCH 542/568] Include index and formatted durations in exports Enhance playlist export output for Text and CSV formats. Text files now include a numeric index, a title fallback ("Video N"), and a human-readable duration ([H:MM:SS] or [MM:SS]) when available before the URL. CSV export adds a "Playlist Index" column and writes a formatted title with index and duration. Duration parsing is protected against non-integer values. M3U and JSON export behavior unchanged. --- ytsage/gui/ytsage_gui_main.py | 41 ++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 089ea18..7743700 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -1373,8 +1373,23 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): try: with open(file_path, 'w', encoding='utf-8') as f: if "Text files" in selected_filter: - for entry in self.playlist_entries: - f.write(f"{entry.get('url', '')}\n") + for index, entry in enumerate(self.playlist_entries): + duration = entry.get("duration") + duration_str = "" + if duration: + try: + m, s = divmod(int(duration), 60) + h, m = divmod(m, 60) + if h > 0: + duration_str = f" [{h}:{m:02d}:{s:02d}]" + else: + duration_str = f" [{m:02d}:{s:02d}]" + except (ValueError, TypeError): + pass + + title = entry.get('title', f'Video {index + 1}') + # Formatting output to include index and duration + f.write(f"{index + 1}. {title}{duration_str} - {entry.get('url', '')}\n") elif "M3U" in selected_filter: f.write("#EXTM3U\n") for entry in self.playlist_entries: @@ -1384,9 +1399,25 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): elif "CSV" in selected_filter: import csv writer = csv.writer(f, lineterminator='\n') - writer.writerow(['Title', 'URL', 'Duration', 'Uploader']) - for entry in self.playlist_entries: - writer.writerow([entry.get('title', ''), entry.get('url', ''), entry.get('duration', ''), entry.get('uploader', '')]) + # Adding Playlist Index to CSV and formatting Title with index and duration + writer.writerow(['Playlist Index', 'Title', 'URL', 'Duration', 'Uploader']) + for index, entry in enumerate(self.playlist_entries): + duration = entry.get("duration") + duration_str = "" + if duration: + try: + m, s = divmod(int(duration), 60) + h, m = divmod(m, 60) + if h > 0: + duration_str = f" [{h}:{m:02d}:{s:02d}]" + else: + duration_str = f" [{m:02d}:{s:02d}]" + except (ValueError, TypeError): + pass + + title = entry.get('title', f'Video {index + 1}') + formatted_title = f"{index + 1}. {title}{duration_str}" + writer.writerow([index + 1, formatted_title, entry.get('url', ''), entry.get('duration', ''), entry.get('uploader', '')]) elif "JSON" in selected_filter: import json json.dump(self.playlist_entries, f, indent=4, ensure_ascii=False) From abef0d8a6dbe815ec1ff46f76e8e8e92959d2388 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 1 May 2026 16:29:28 +0300 Subject: [PATCH 543/568] Strip playlist_index placeholder for single files When building the output template for single-file downloads, remove any playlist-specific preamble (e.g. '%(playlist_index)s - ') from filename_part. Adds a regex-based substitution to clean up leftover playlist_index placeholders so single downloads don't get playlist-style prefixes in their filenames. --- ytsage/core/ytsage_downloader.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index 6f5b7b2..941c930 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -330,6 +330,9 @@ class DownloadThread(QThread): # Create output template with playlist subfolder output_template: str = f"{base_path}/%(playlist_title)s/{filename_part}" else: + # For single files, automatically ignore/remove playlist-specific preamble (like "%(playlist_index)s - ") + import re + filename_part = re.sub(r'%\(playlist_index[^)]*\)[a-zA-Z0-9]*\s*(?:[-_]\s*)?', '', filename_part) output_template: str = f"{base_path}/{filename_part}" cmd.extend(["-o", str(output_template)]) From 0d5cbb2df1ce5e19dc28c4fd0f47789c89aaf071 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 1 May 2026 16:49:58 +0300 Subject: [PATCH 544/568] Write auto-subs only if selected; show count Downloader: add detection for "Auto-generated" subtitle selection and only append --write-auto-subs when an auto-generated subtitle is explicitly chosen (prevents always enabling the flag when any subtitles are requested). GUI: update subtitle label to display the number of selected subtitles when >0, falling back to the zero-selected message otherwise. Small UX and behavior fixes in DownloadThread and AnalysisMixin. --- ytsage/core/ytsage_downloader.py | 6 +++++- ytsage/gui/ytsage_gui_analysis.py | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index 941c930..d44b121 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -352,17 +352,21 @@ class DownloadThread(QThread): # Get language codes from subtitle selections lang_codes: List[str] = [] + has_auto_generated = False for sub_selection in self.subtitle_langs: try: # Extract just the language code (e.g., 'en' from 'en - Manual') lang_code = sub_selection.split(" - ")[0] lang_codes.append(lang_code) + if "Auto-generated" in sub_selection: + has_auto_generated = True except Exception as e: logger.exception(f"Could not parse subtitle selection '{sub_selection}': {e}") if lang_codes: cmd.extend(["--sub-langs", ",".join(lang_codes)]) - cmd.append("--write-auto-subs") # Include auto-generated subtitles + if has_auto_generated: + cmd.append("--write-auto-subs") # Include auto-generated subtitles # Only embed subtitles if merge is enabled if self.merge_subs: diff --git a/ytsage/gui/ytsage_gui_analysis.py b/ytsage/gui/ytsage_gui_analysis.py index 9f5a33d..5bdd095 100644 --- a/ytsage/gui/ytsage_gui_analysis.py +++ b/ytsage/gui/ytsage_gui_analysis.py @@ -435,7 +435,11 @@ class AnalysisMixin: self.download_thumbnail_file(self.video_url, self.last_path) # Update subtitle UI - self.signals.selected_subs_label_text.emit(_("main_ui.zero_selected")) + count = len(self.selected_subtitles) + if count > 0: + self.signals.selected_subs_label_text.emit(_("subtitle_selection.count_selected", count=count)) + else: + self.signals.selected_subs_label_text.emit(_("main_ui.zero_selected")) # Update format table self.video_button.setChecked(True) From ba07a3300ceeaad6f884c3319f73e00ce3ae129d Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Fri, 1 May 2026 22:51:06 +0300 Subject: [PATCH 545/568] Bump version to 5.0.10b Update project version from 5.0.9b to 5.0.10b in pyproject.toml and ytsage/__init__.py to prepare a new beta release. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b42516a..22ed937 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.9b" +version = "5.0.10b" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index c75deb4..f8faf4e 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.9b" +__version__ = "5.0.10b" __author__ = "oop7" From 99ba5d6d8a6d781a45f76221fe8cdbf26f6359c7 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 12:37:56 +0300 Subject: [PATCH 546/568] Ignore playlist errors; normalize version cache When downloading playlists, add --ignore-errors and --no-abort-on-error so a single failure won't stop the entire playlist download. Also normalize values stored in the version cache: coerce version_info to a string (or empty string) and path to a string or None to ensure consistent types when reading/writing cached tool metadata. --- ytsage/core/ytsage_downloader.py | 3 +++ ytsage/core/ytsage_utils.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index d44b121..aa15965 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -413,6 +413,9 @@ class DownloadThread(QThread): logger.debug(f"Added download section: {self.download_section}, Force keyframes: {self.force_keyframes}") # Add the URL as the final argument + if self.is_playlist: + cmd.append("--ignore-errors") + cmd.append("--no-abort-on-error") cmd.append(self.url) return cmd diff --git a/ytsage/core/ytsage_utils.py b/ytsage/core/ytsage_utils.py index bea2cd6..86cffea 100644 --- a/ytsage/core/ytsage_utils.py +++ b/ytsage/core/ytsage_utils.py @@ -94,8 +94,8 @@ def update_version_cache(tool_name: str, version_info: str, path: Optional[str], current_mtime: float = get_file_mtime(path) _version_cache[tool_name] = { - "version": version_info, - "path": path, + "version": str(version_info) if version_info else "", + "path": str(path) if path else None, "last_check": current_time, "path_mtime": current_mtime, } From 9fd09cd0d08b34b25a0b3c80389fc6502fdd96f2 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 13:47:05 +0300 Subject: [PATCH 547/568] Handle playlist items as completed on partial errors For playlist downloads, treat an item as completed if a file was created even when the downloader returned a non-zero code. Emit 100% progress for such cases and update the status to "download.completed (with some errors)" when return_code != 0, otherwise keep the normal completed status. This avoids reporting false failures for playlist items that produced output despite errors. --- ytsage/core/ytsage_downloader.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ytsage/core/ytsage_downloader.py b/ytsage/core/ytsage_downloader.py index aa15965..7ffa0e7 100644 --- a/ytsage/core/ytsage_downloader.py +++ b/ytsage/core/ytsage_downloader.py @@ -507,7 +507,7 @@ class DownloadThread(QThread): ) return - if return_code == 0: + if return_code == 0 or (self.is_playlist and return_code != 0 and self.current_filename is not None): self.progress_signal.emit(100) # Robust file finding: Always search for the most recent file @@ -556,7 +556,10 @@ class DownloadThread(QThread): logger.error(f"Error finding final file: {e}", exc_info=True) # Set completion status - self.status_signal.emit(_("download.completed")) + if return_code != 0: + self.status_signal.emit(_("download.completed") + " (with some errors)") + else: + self.status_signal.emit(_("download.completed")) # Clean up subtitle files if they were merged, with a small delay # to ensure the embedding process has completed From ffa46d4a2ac69140a4f26ecc22206f6d7dee4d37 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 14:45:43 +0300 Subject: [PATCH 548/568] Improve Arabic README translation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refine Arabic localization and formatting in readme-translations/README.ar.md. Updates include clearer word choices (e.g., تحميل vs تنزيل), consistent UI label translations (Analyze/Download), corrected language names and links, improved table layouts, localized installation and troubleshooting instructions, updated screenshot alt texts, and additional notes about playlist export and Generic Mode. These changes tidy wording and improve consistency for Arabic readers. --- readme-translations/README.ar.md | 558 ++++++++++++++++--------------- readme-translations/README.fr.md | 488 ++++++++++++++------------- 2 files changed, 529 insertions(+), 517 deletions(-) diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md index 84326b6..4a16982 100644 --- a/readme-translations/README.ar.md +++ b/readme-translations/README.ar.md @@ -12,33 +12,33 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**أداة تنزيل حديثة من YouTube بواجهة PySide6 نظيفة.** -قم بتنزيل مقاطع الفيديو بأي جودة، واستخرج الصوت، واجلب الترجمات، والمزيد. +**برنامج تحميل من يوتيوب عصري بواجهة PySide6 أنيقة.** +قم بتحميل الفيديوهات بأي جودة، استخراج الصوت، جلب الترجمات، والمزيد. -### 🌍 اقرأني اللغات +### 🌍 لغات README الإنجليزية: [EN](../README.md) | العربية: [AR](README.ar.md) | الألمانية: [DE](README.de.md) -| الاسبانية: [ES](README.es.md) +| الإسبانية: [ES](README.es.md) | الفرنسية: [FR](README.fr.md) | الهندية: [HI](README.hi.md) -| البهاسا الإندونيسية: [ID](README.id.md) -| إيطاليانو: [IT](README.it.md) -| العنوان: [JA](README.ja.md) -| بولسكي: [PL](README.pl.md) +| الإندونيسية: [ID](README.id.md) +| الإيطالية: [IT](README.it.md) +| اليابانية: [JA](README.ja.md) +| البولندية: [PL](README.pl.md) | البرتغالية: [PT](README.pt.md) -| Русский: [RU](README.ru.md) +| الروسية: [RU](README.ru.md) | التركية: [TR](README.tr.md) -| 中文: [ZH](README.zh.md) +| الصينية: [ZH](README.zh.md)

    التثبيتالمميزاتالاستخداملقطات الشاشة • - استكشاف الأخطاء وإصلاحها • - Sponsor • + استكشاف الأخطاء • + الدعمالمساهمة

    @@ -49,44 +49,45 @@ ## ❓ لماذا YTSage؟ -تم تصميم YTSage للمستخدمين الذين يريدون **برنامج تنزيل YouTube بسيطًا وقويًا**. على عكس الأدوات الأخرى، فهو يقدم: +تم تصميم YTSage للمستخدمين الذين يريدون **أداة تحميل يوتيوب بسيطة لكن قوية**. على عكس الأدوات الأخرى، فإنه يوفر: -- واجهة PySide6 نظيفة وحديثة -- التنزيلات بنقرة واحدة للفيديو والصوت والترجمات -- ميزات متقدمة مثل SponsorBlock ودمج الترجمة واختيار قائمة التشغيل -- الوضع العام الاختياري للمواقع التي تدعم yt-dlp خارج YouTube -- دعم عبر الأنظمة الأساسية وسهولة التثبيت +- واجهة PySide6 عصرية ونظيفة +- تحميل بنقرة واحدة للفيديو والصوت والترجمات +- ميزات متقدمة مثل SponsorBlock، دمج الترجمات، واختيار قوائم التشغيل +- وضع عام (Generic Mode) اختياري للمواقع التي يدعمها yt-dlp بخلاف يوتيوب +- دعم منصات متعددة وتثبيت سهل -## ✨المميزات +## ✨ المميزات
    | الميزات الأساسية | الميزات المتقدمة | ميزات إضافية | -|-----------------------------------|--------------------------------------------------------|-----| -| 🎥 تنسيق الجدول | 🚫 تكامل SponsorBlock | 🎞️ عرض FPS/HDR | -| 🎵 استخراج الصوت | 📝 تحديد ودمج الترجمة المتعددة | 🔄 التحديث التلقائي yt-dlp | -| ✨ واجهة مستخدم بسيطة | 💾 حفظ الوصف والصورة المصغرة | 🛠️ كشف FFmpeg/yt-dlp/Deno | -| 📋 دعم قائمة التشغيل والمحدد | 🚀 محدد السرعة | ⚙️ أوامر مخصصة | -| 📑 تضمين الفصول | ✂️ تقليم أقسام الفيديو | 🍪 تسجيل الدخول باستخدام ملفات تعريف الارتباط | -| 📜 تحميل التاريخ | 🔄 إطلاق اختيار القناة | 🌐 دعم الوكيل | -| 🎚️ تحويل تنسيق الصوت | 🎬 إعدادات تنسيق الفيديو | 🆙 علامة تبويب التحديث المدمجة | -| 🌍 الوضع العام | 🔊 تسوية الصوت (EBU R128) | 🌍 التعريب بـ 14 لغة | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 جدول الصيغ | 🚫 تكامل SponsorBlock | 🎞️ عرض FPS/HDR | +| 🎵 استخراج الصوت | 📝 اختيار ودمج الترجمات | 🔄 تحديث تلقائي لـ yt-dlp | +| ✨ واجهة مستخدم بسيطة | 💾 حفظ الوصف والصورة المصغرة | 🛠️ اكتشاف FFmpeg/yt-dlp/Deno | +| 📋 دعم ومحدد قوائم التشغيل | 🚀 محدد السرعة | ⚙️ أوامر مخصصة | +| 📑 دمج الفصول | ✂️ قص أجزاء الفيديو | 🍪 تسجيل الدخول بالكوكيز | +| 📜 سجل التحميلات | 🔄 اختيار قناة الإصدار | 🌐 دعم البروكسي | +| 🎚️ تحويل صيغ الصوت | 🎬 إعدادات صيغ الفيديو | 🆙 تبويب تحديث مدمج | +| 🌍 الوضع العام | 🔊 تطبيع الصوت (EBU R128) | 🌍 دعم 14 لغة | +| 💾 تصدير قوائم التشغيل | ⚙️ الجودة والترجمات الافتراضية | |
    -## 🚀التركيب +## 🚀 التثبيت ### ⚡ التثبيت السريع (موصى به) -تثبيت YTSage من PyPI: +تثبيت YTSage عبر PyPI: ```bash pip install ytsage ```
    -🔄 تحديث التثبيت الحالي +🔄 تحديث نسخة مثبتة ```bash pip install --upgrade ytsage @@ -100,73 +101,73 @@ pip install --upgrade ytsage ytsage ``` -### 📦 الملفات التنفيذية المعدة مسبقًا +### 📦 حزم جاهزة للتشغيل -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 تحميل أحدث إصدار](https://github.com/oop7/YTSage/releases/latest) -#### 🪟 ويندوز +#### 🪟 Windows -| تنسيق | الوصف | -|--------|------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | المثبت القياسي | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | مع FFmpeg المجمعة | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | نسخة محمولة، لا تحتاج إلى تثبيت | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | محمول مع FFmpeg، مضغوط | +| الصيغة | الوصف | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | مثبت قياسي | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | مع FFmpeg مدمج | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | نسخة محمولة، لا تحتاج لتثبيت | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | محمولة مع FFmpeg، مضغوطة |
    🛠️ خطوات التثبيت -1. **مثبت EXE (`.exe`)**: انقر نقرًا مزدوجًا فوق الملف واتبع معالج الإعداد. -2. **النسخة المحمولة (`.zip`)**: قم باستخراج الأرشيف إلى الموقع المطلوب وتشغيل `ytsage.exe`. -3. **FFmpeg Bundled**: اختر إصدارات FFmpeg المجمعة إذا لم يكن FFmpeg مثبتًا على نظامك. +1. **مثبت EXE (`.exe`)**: انقر نقرًا مزدوجًا على الملف واتبع معالج التثبيت. +2. **النسخة المحمولة (`.zip`)**: استخرج الملف في أي مكان وشغل `ytsage.exe`. +3. **FFmpeg المدمج**: اختر النسخة التي تحتوي على FFmpeg إذا لم يكن مثبتًا على نظامك.
    -#### 🐧 لينكس +#### 🐧 Linux -| تنسيق | الوصف | -|--------|------------| -| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | حزمة دبيان | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | صورة التطبيق المحمولة | -| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | حزمة دورة في الدقيقة | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | حزمة فلاتباك | +| الصيغة | الوصف | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | حزمة Debian | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage، محمولة | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | حزمة RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak Bundle |
    🛠️ خطوات التثبيت -- **ديب (`.deb`)**: +- **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # لإصلاح الاعتمادات الناقصة إذا لزم الأمر ``` -- **عدد الدورات في الدقيقة (`.rpm`)**: +- **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` -- **صورة التطبيق (`.AppImage`)**: +- **AppImage (`.AppImage`)**: ```bash chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**: اتبع التعليمات الموجودة على Flathub أو قم بتشغيل: +- **Flatpak**: اتبع التعليمات على Flathub أو شغل: ```bash flatpak install flathub io.github.oop7.ytsage ```
    -#### 🍎 ماك +#### 🍎 macOS -| تنسيق | الوصف | -|--------|------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | تطبيق مضغوط لأبل سيليكون | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | مثبت صورة القرص لـ Apple Silicon | +| الصيغة | الوصف | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | تطبيق مضغوط لـ Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | صورة قرص لـ Apple Silicon |
    🛠️ خطوات التثبيت -- **مثبت DMG (`.dmg`)**: انقر نقرًا مزدوجًا للتثبيت، ثم اسحب `YTSage.app` إلى مجلد التطبيقات. -- **أرشيف التطبيقات (`.zip`)**: استخرج الملف المضغوط وانقل `YTSage.app` إلى مجلد التطبيقات. +- **مثبت DMG (`.dmg`)**: انقر نقرًا مزدوجًا لفتح القرص، ثم اسحب `YTSage.app` إلى مجلد Applications. +- **تطبيق مضغوط (`.zip`)**: استخرج الملف وانقل `YTSage.app` إلى مجلد Applications. -*ملاحظة: إذا واجهت خطأ "التطبيق تالف"، راجع [macOS troubleshooting section](#troubleshooting) أدناه.* +*ملاحظة: إذا واجهت خطأ "التطبيق تالف"، راجع قسم استكشاف الأخطاء لنظام macOS أدناه.*
    --- @@ -174,28 +175,28 @@ ytsage
    💻 التثبيت اليدوي من المصدر -### 1. استنساخ المستودع +### 1. نسخ المستودع ```bash git clone https://github.com/oop7/YTSage.git cd YTSage ``` -### 2. تثبيت التبعيات +### 2. تثبيت الاعتمادات -#### ⚡ مع الأشعة فوق البنفسجية +#### ⚡ باستخدام uv ```bash uv pip install . ``` -#### 📦 أو بالنقطة القياسية +#### 📦 أو باستخدام pip العادي ```bash pip install . ``` -### 3. قم بتشغيل التطبيق +### 3. تشغيل التطبيق ```bash python -m ytsage.main @@ -209,325 +210,329 @@ python -m ytsage.main
    - - + + - + - - + + - +
    Download SettingsPlaylist Downloadإعدادات التحميلتحميل قوائم التشغيل
    إعدادات التحميلتنزيل قائمة التشغيلتحميل قوائم التشغيل
    Audio Format Selection with Save ThumbnailCustom Optionsاختيار صيغة الصوتخيارات مخصصة
    تنسيق الصوتصيغة الصوت خيارات مخصصة
    -
    + + ## 📖 الاستخدام
    🎯 الاستخدام الأساسي -1. ** إطلاق YTSage ** -2. **الصق عنوان URL لموقع YouTube** (أو استخدم الزر "لصق عنوان URL") -3. **انقر على "تحليل"** -4. **حدد التنسيق:** - - `Video` لتنزيل الفيديو - - `Audio Only` لاستخراج الصوت +1. **شغل YTSage** +2. **الصق رابط يوتيوب** (أو استخدم زر "Paste URL") +3. **اضغط على "Analyze"** +4. **اختر الصيغة:** + - `Video` للتحميلات المرئية + - `Audio Only` لاستخراج الصوت فقط 5. **اختر الخيارات:** - - تمكين الترجمة واختيار اللغة - - تمكين دمج الترجمة + - تفعيل الترجمات واختيار اللغة + - تفعيل دمج الترجمات - حفظ الصورة المصغرة - - إزالة شرائح الراعي + - حذف المقاطع الإعلانية (Sponsor segments) - حفظ الوصف - - تضمين الفصول -6. **حدد دليل المخرجات** -7. **انقر على "تنزيل"** + - دمج الفصول (Chapters) +6. **اختر مجلد الحفظ** +7. **اضغط على "Download"** -> 💡 دليل التنزيل الافتراضي هو مجلد "التنزيلات" الخاص بالمستخدم. +> 💡 مجلد التحميل الافتراضي هو مجلد "Downloads" للمستخدم.
    -📋 تنزيل قائمة التشغيل +📋 تحميل قائمة تشغيل (Playlist) -1. **لصق عنوان URL لقائمة التشغيل** -2. **انقر على "تحليل"** -3. **حدد مقاطع الفيديو من محدد قائمة التشغيل (اختياري، الإعداد الافتراضي هو الكل)** -4. **اختر التنسيق/الجودة المطلوبة** -5. **انقر على "تنزيل"** +1. **الصق رابط قائمة التشغيل** +2. **اضغط على "Analyze"** +3. **اختر الفيديوهات من محدد القائمة (اختياري، يتم اختيار الكل تلقائيًا)** +4. **اختر الصيغة/الجودة المطلوبة** +5. **اضغط على "Download"** -> 💡 يتعامل التطبيق تلقائيًا مع قائمة انتظار التنزيل +> 💡 التطبيق يتعامل مع طابور التحميل تلقائيًا، ويمكنك تصدير مدخلات القائمة كملفات `.txt` أو `.csv` أو `.m3u` أو `.json`.
    -🌍 الوضع العام للمواقع غير التابعة لليوتيوب +🌍 الوضع العام للمواقع غير يوتيوب -استخدم الوضع العام عندما تريد أن يقبل YTSage عناوين URL من المواقع التي يدعمها yt-dlp، مثل Dailymotion وCBC Gem وTikTok وغيرها. +استخدم الوضع العام (Generic Mode) عندما تريد أن يقبل YTSage روابط من المواقع التي يدعمها yt-dlp، مثل Dailymotion و CBC Gem و TikTok وغيرها. -كيفية استخدامه: +كيفية الاستخدام: 1. افتح `Download Settings`. -2. تفعيل `Generic Mode`. -3. الصق عنوان URL لفيديو أو قائمة تشغيل مدعومة غير تابعة لـ YouTube. +2. فعل `Generic Mode`. +3. الصق رابط فيديو أو قائمة تشغيل مدعومة غير يوتيوب. 4. اضغط على `Analyze`. -5. اختر التنسيق وقم بتنزيله كالمعتاد. +5. اختر الصيغة وحمل كالمعتاد. ملاحظات: -- الوضع العام يغير فقط التحقق من صحة عنوان URL داخل YTSage. يجب أن يظل الموقع المستهدف مدعومًا بإصدار yt-dlp المثبت لديك. -- تتطلب بعض المواقع ملفات تعريف الارتباط، أو جلسة تسجيل دخول، أو وكيلًا، أو وسائط yt-dlp إضافية اعتمادًا على المستخرج. -- إذا فشل أحد المواقع، فقم بتحديث yt-dlp أولاً من علامة تبويب المحدث المضمنة قبل الإبلاغ عن المشكلة. +- الوضع العام يغير فقط التحقق من الرابط داخل YTSage. يجب أن يكون الموقع مدعومًا من نسخة yt-dlp المثبتة لديك. +- بعض المواقع تتطلب كوكيز، تسجيل دخول، بروكسي أو وسائط yt-dlp إضافية حسب نوع الموقع. +- إذا فشل موقع ما، حدث yt-dlp أولاً من تبويب التحديث المدمج قبل الإبلاغ عن المشكلة.
    -🧰 خيارات الوسائط والتنزيل +🧰 خيارات الميديا والتحميل -- **خيارات الترجمة:** تصفية اللغات وتضمين الترجمة في ملف الفيديو -- **دمج الترجمة:** دمج الترجمات في ملف الفيديو للحصول على ترجمات مضمنة -- **حفظ الوصف:** احفظ وصف الفيديو كملف نصي -- **حفظ الصورة المصغرة:** احفظ الصورة المصغرة للفيديو كملف صورة -- **تضمين الفصول:** تضمين علامات الفصل كبيانات وصفية لمشغلات الفيديو المتوافقة -- **إزالة شرائح الجهات الراعية:** قم بإزالة شرائح الجهات الراعية من الفيديو باستخدام SponsorBlock -- **قص الفيديو:** قم بتنزيل أجزاء محددة فقط من الفيديو عن طريق تحديد نطاقات زمنية بتنسيق `HH:MM:SS` +- **خيارات الترجمة:** تصفية اللغات وتضمين الترجمات في ملف الفيديو. +- **دمج الترجمات:** دمج الترجمات داخل ملف الفيديو لتكون ترجمة مدمجة (Hardcoded). +- **حفظ الوصف:** حفظ وصف الفيديو كملف نصي. +- **حفظ الصورة المصغرة:** حفظ صورة الفيديو كملف صورة. +- **دمج الفصول:** تضمين علامات الفصول كبيانات وصفية لمشغلات الفيديو المتوافقة. +- **حذف مقاطع الرعاة:** حذف الأجزاء الإعلانية من الفيديو باستخدام SponsorBlock. +- **قص الفيديو:** تحميل أجزاء محددة فقط من الفيديو عن طريق تحديد أوقات البداية والنهاية بصيغة `HH:MM:SS`.
    -⚙️ إعدادات الإخراج والملف +⚙️ إعدادات الإخراج والملفات + +- **محدد السرعة:** تحديد سرعة التحميل، مثلاً `500K` لـ 500 كيلوبايت/ثانية. +- **حفظ مسار التحميل:** يحفظ مسار التحميل الافتراضي للتحميلات المستقبلية. متاح في **Download Settings → Download Path**. +- **دقة الفيديو الافتراضية:** حدد دقة الفيديو المفضلة للاختيار التلقائي (مثل 1080p أو 720p). متاح في **Download Settings → Default Video Resolution**. +- **لغات الترجمة الافتراضية:** حدد لغات الترجمة للاختيار التلقائي (مفصولة بفواصل، مثل `ar,en`). متاح في **Download Settings → Default Subtitle Languages**. +- **صيغة اسم الملف:** تخصيص صيغة اسم الملف باستخدام متغيرات مثل `%(title)s` و `%(uploader)s` و `%(playlist_index)s` و `%(resolution)s`. متاح في **Download Settings → Filename Format**. +- **فرض صيغة الإخراج:** فرض تحميل الفيديو بصيغة محددة مثل `mp4` أو `webm` أو `mkv`. متاح في **Download Settings → Output Format Settings**. +- **تحويل صيغ الصوت:** تحويل تحميلات الصوت فقط للصيغ المفضلة مثل `AAC` أو `MP3` أو `FLAC` أو `WAV` أو `Opus` أو `M4A` أو `Vorbis` أو `Best`. متاح في **Download Settings → Audio Format Settings**. +- **تطبيع الصوت:** توحيد مستوى الصوت لتحميلات الصوت فقط باستخدام EBU R128. +- **الاتصالات المتزامنة:** زيادة سرعة التحميل بشكل كبير عن طريق تحميل الملف في أجزاء متعددة في وقت واحد. متاح في **Download Settings → General → Concurrent Connections** (القيمة الافتراضية 1، الموصى به 8-10 لتجنب حظر IP). -- **محدد السرعة:** حدد سرعة التنزيل، على سبيل المثال `500K` لـ 500 كيلو بايت/ثانية -- **حفظ مسار التنزيل:** احفظ مسار التنزيل الافتراضي للتنزيلات المستقبلية. متوفر في **إعدادات التنزيل → مسار التنزيل**. -- **تنسيق اسم ملف الإخراج:** قم بتخصيص تنسيق اسم ملف الإخراج باستخدام متغيرات مثل `%(title)s`، `%(uploader)s`، و`%(resolution)s`. متوفر في **إعدادات التنزيل → تنسيق اسم الملف**. -- **تنسيق الإخراج الإجباري:** فرض تنزيلات الفيديو في تنسيق حاوية محدد مثل `mp4` أو `webm` أو `mkv`. متوفر في **إعدادات التنزيل ← إعدادات تنسيق الإخراج**. -- **تحويل تنسيق الصوت:** تحويل التنزيلات الصوتية فقط إلى التنسيقات المفضلة مثل `AAC`، `MP3`، `FLAC`، `WAV`، `Opus`، `M4A`، `Vorbis` أو `Best`. متوفر في **إعدادات التنزيل → إعدادات تنسيق الصوت**. -- **تطبيع الصوت:** توحيد مستوى الصوت للتنزيلات الصوتية فقط باستخدام EBU R128. -- **الاتصالات المتزامنة:** زيادة سرعة التنزيل بشكل كبير عن طريق تنزيل الملفات في أجزاء متعددة بشكل متزامن. متوفر في **إعدادات التنزيل → عام → الاتصالات المتزامنة** (الافتراضي هو 1، والحد الأقصى الموصى به هو 8-10 لمنع تقييد عنوان IP).\n
    🌐 الوصول والشبكة -- **تسجيل الدخول باستخدام ملفات تعريف الارتباط:** قم بتسجيل الدخول إلى YouTube باستخدام ملفات تعريف الارتباط للوصول إلى المحتوى الخاص. - كيفية استخدامه: - 1. **موصى به:** استخدم خيار `Extract cookies from browser` المدمج في التطبيق، ثم حدد المتصفح الخاص بك وملفًا شخصيًا بشكل اختياري. - 2. بدلاً من ذلك، قم باستخراج ملفات تعريف الارتباط يدويًا: - أ. قم بتصدير ملفات تعريف الارتباط من متصفحك باستخدام ملحق مثل [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) - ب. انسخ ملفات تعريف الارتباط بتنسيق Netscape - ج. أنشئ ملفًا باسم `cookies.txt` والصق ملفات تعريف الارتباط فيه - د. حدد الملف `cookies.txt` في التطبيق -- **دعم الوكيل:** استخدم خادمًا وكيلاً للتنزيلات، على سبيل المثال `http://:` -- **الوضع العام:** اسمح لـ YTSage بالتحليل والتنزيل من مواقع غير تابعة لـ YouTube والتي يدعمها yt-dlp. قم بتمكينه من **إعدادات التنزيل → الوضع العام**. +- **تسجيل الدخول بالكوكيز:** سجل الدخول ليوتيوب باستخدام الكوكيز للوصول للمحتوى الخاص. + كيفية الاستخدام: + 1. **موصى به:** استخدم خيار `Extract cookies from browser` المدمج في التطبيق، ثم اختر المتصفح والملف الشخصي. + 2. بدلاً من ذلك، استخرج الكوكيز يدويًا: + أ. صدر الكوكيز من متصفحك باستخدام إضافة مثل [cookie-editor](https://github.com/moustachauve/cookie-editor) + ب. انسخ الكوكيز بصيغة Netscape + ج. أنشئ ملفًا باسم `cookies.txt` والصق الكوكيز فيه + د. اختر ملف `cookies.txt` في التطبيق +- **دعم البروكسي:** استخدم خادم بروكسي للتحميلات، مثلاً `http://:` +- **الوضع العام:** يسمح لـ YTSage بتحليل والتحميل من المواقع غير يوتيوب التي يدعمها yt-dlp. فعله من **Download Settings → Generic Mode**.
    🛠️ الأدوات والصيانة -- **الأوامر المخصصة:** الوصول إلى ميزات yt-dlp المتقدمة عبر وسيطات سطر الأوامر -- **علامة تبويب التحديث:** إدارة أدوات التحديث المضمنة من مكان واحد في الخيارات المخصصة: - - **تحديثات yt-dlp:** تحقق من وجود تحديثات وقم بالتبديل بين قنوات الإصدار الثابت وقنوات الإصدار الليلي - - **مدقق إصدار FFmpeg:** تحقق من إصدار FFmpeg الخاص بك وافتح أدلة التثبيت - - **تحديثات Deno:** التحقق من وقت تشغيل Deno وتحديثه -- **اكتشاف FFmpeg/yt-dlp/Deno:** اكتشاف مسارات وإصدارات FFmpeg وyt-dlp وDeno تلقائيًا من مربع الحوار "حول". -- **سجل التنزيلات:** اعرض التنزيلات السابقة باستخدام الصور المصغرة والحالات من زر **السجل**. +- **أوامر مخصصة:** الوصول لميزات yt-dlp المتقدمة عبر وسائط موجه الأوامر. +- **تبويب التحديث:** إدارة أدوات التحديث من مكان واحد في الخيارات المخصصة: + - **تحديثات yt-dlp:** التحقق من التحديثات والتبديل بين القناة المستقرة (Stable) والليلية (Nightly). + - **فاحص نسخة FFmpeg:** التحقق من نسخة FFmpeg وعرض أدلة التثبيت. + - **تحديثات Deno:** التحقق وتحديث محرك Deno. +- **اكتشاف FFmpeg/yt-dlp/Deno:** يكتشف تلقائيًا المسارات والنسخ لـ FFmpeg و yt-dlp و Deno من نافذة "About". +- **سجل التحميلات:** عرض التحميلات السابقة مع الصور المصغرة والحالة من زر **History**.
    -🌍 التعريب +🌍 الترجمة -يدعم YTSage **14 لغة** لسهولة الوصول إليها في جميع أنحاء العالم. اختر لغتك المفضلة من **خيارات مخصصة → اللغة**. +يدعم YTSage **14 لغة** للوصول العالمي. اختر لغتك المفضلة من **Custom Options → Language**. ### اللغات المدعومة -| اللغة | الكود | اللغة | الكود | -|----------|------|---------|------| -| 🇺🇸 إنجليزي | `en` | 🇪🇸 الاسبانية | `es` | -| 🇸🇦 عربي | `ar` | 🇫🇷 فرنسي | `fr` | -| 🇩🇪 ألماني | `de` | 🇮🇳 هندي | `hi` | -| 🇮🇩 إندونيسي | `id` | 🇮🇹 إيطالي | `it` | -| 🇯🇵 ياباني | `ja` | 🇵🇱 بولندية | `pl` | -| 🇧🇷 برتغالية | `pt` | 🇷🇺 روسي | `ru` | -| 🇹🇷 تركي | `tr` | 🇨🇳 صيني | `zh` | +| اللغة | الرمز | اللغة | الرمز | +|----------|------|----------|------| +| 🇺🇸 الإنجليزية | `en` | 🇪🇸 الإسبانية | `es` | +| 🇸🇦 العربية | `ar` | 🇫🇷 الفرنسية | `fr` | +| 🇩🇪 الألمانية | `de` | 🇮🇳 الهندية | `hi` | +| 🇮🇩 الإندونيسية | `id` | 🇮🇹 الإيطالية | `it` | +| 🇯🇵 اليابانية | `ja` | 🇵🇱 البولندية | `pl` | +| 🇧🇷 البرتغالية | `pt` | 🇷🇺 الروسية | `ru` | +| 🇹🇷 التركية | `tr` | 🇨🇳 الصينية | `zh` | -### ترجمات README +### تراجم README -| اللغة | ملف | اللغة | ملف | -|----------|------|---------|------| -| 🇺🇸 إنجليزي | [README.md](../README.md) | 🇪🇸 الاسبانية | [README.es.md](README.es.md) -| 🇸🇦 عربي | [README.ar.md](README.ar.md) | 🇫🇷 فرنسي | [README.fr.md](README.fr.md) | -| 🇩🇪 ألماني | [README.de.md](README.de.md) | 🇮🇳 هندي | [README.hi.md](README.hi.md) | -| 🇮🇩 إندونيسي | [README.id.md](README.id.md) | 🇮🇹 إيطالي | [README.it.md](README.it.md) | -| 🇯🇵 ياباني | [README.ja.md](README.ja.md) | 🇵🇱 بولندية | [README.pl.md](README.pl.md) | -| 🇧🇷 برتغالية | [README.pt.md](README.pt.md) | 🇷🇺 روسي | [README.ru.md](README.ru.md) | -| 🇹🇷 تركي | [README.tr.md](README.tr.md) | 🇨🇳 صيني | [README.zh.md](README.zh.md) | +| اللغة | الملف | اللغة | الملف | +|----------|------|----------|------| +| 🇺🇸 الإنجليزية | [README.md](README.md) | 🇪🇸 الإسبانية | [README.es.md](README.es.md) | +| 🇸🇦 العربية | [README.ar.md](README.ar.md) | 🇫🇷 الفرنسية | [README.fr.md](README.fr.md) | +| 🇩🇪 الألمانية | [README.de.md](README.de.md) | 🇮🇳 الهندية | [README.hi.md](README.hi.md) | +| 🇮🇩 الإندونيسية | [README.id.md](README.id.md) | 🇮🇹 الإيطالية | [README.it.md](README.it.md) | +| 🇯🇵 اليابانية | [README.ja.md](README.ja.md) | 🇵🇱 البولندية | [README.pl.md](README.pl.md) | +| 🇧🇷 البرتغالية | [README.pt.md](README.pt.md) | 🇷🇺 الروسية | [README.ru.md](README.ru.md) | +| 🇹🇷 التركية | [README.tr.md](README.tr.md) | 🇨🇳 الصينية | [README.zh.md](README.zh.md) | -> 💡 **هل تريد المساهمة في الترجمة؟** راجع قسم [Contributing](#contributing) لمساعدتنا في إضافة المزيد من اللغات! +> 💡 **هل تريد المساعدة في الترجمة؟** راجع قسم [المساهمة](#contributing) لمساعدتنا في إضافة المزيد من اللغات!
    -## 🛠️ استكشاف الأخطاء وإصلاحها +## 🛠️ استكشاف الأخطاء
    -انقر لعرض المشكلات والحلول الشائعة +اضغط لعرض المشاكل الشائعة وحلولها -- **تنسيق الجدول لا يتم عرضه:** قم بتحديث yt-dlp إلى الإصدار الأحدث، ثم قم بالتبديل إلى yt-dlp ليلاً. -- **فشل التنزيل:** تحقق من اتصالك بالإنترنت وتأكد من توفر الفيديو. -- **أخطاء تنزيل محددة:** - - **مقاطع الفيديو الخاصة:** استخدم مصادقة ملفات تعريف الارتباط للوصول إلى المحتوى الخاص. - - **محتوى مقيد بالفئة العمرية:** قم بتسجيل الدخول إلى حساب YouTube لعرض مقاطع الفيديو المقيدة بالفئة العمرية. - - **مقاطع الفيديو المحظورة جغرافيًا:** فكر في استخدام VPN لتجاوز القيود الإقليمية. - - **مقاطع الفيديو المحذوفة/المحذوفة:** لم يعد الفيديو متاحًا على YouTube. - - **البث المباشر:** لا يمكن تنزيل البث المباشر؛ انتظر حتى ينتهي الدفق. - - **أخطاء الشبكة:** تحقق من اتصالك بالإنترنت وحاول مرة أخرى. - - **عناوين URL غير صالحة:** تأكد من أن عنوان URL صحيح ومن نظام أساسي مدعوم. - - **المحتوى المميز:** يتطلب عضوية YouTube Premium. - - **حظر حقوق الطبع والنشر:** تم حظر المحتوى بسبب قيود حقوق الطبع والنشر. -- **فصل ملفات الفيديو والصوت بعد التنزيل:** يحدث هذا عندما يكون FFmpeg مفقودًا أو لم يتم اكتشافه. يتطلب YTSage FFmpeg لدمج تدفقات الفيديو والصوت عالية الجودة. - - **الحل:** تأكد من تثبيت FFmpeg وإمكانية الوصول إليه في PATH الخاص بنظامك. بالنسبة لمستخدمي Windows، الخيار الأسهل هو تنزيل الملف `YTSage-v-ffmpeg.exe`، والذي يأتي مرفقًا مع FFmpeg. +- **جدول الصيغ لا يظهر:** حدث yt-dlp لأحدث نسخة وانتقل للقناة الليلية (Nightly). +- **فشل التحميل:** تحقق من اتصال الإنترنت وتأكد أن الفيديو متاح. +- **أخطاء تحميل محددة:** + - **فيديوهات خاصة:** استخدم الكوكيز للوصول للمحتوى الخاص. + - **محتوى مقيد بالعمر:** سجل دخولك ليوتيوب لمشاهدة الفيديوهات المقيدة. + - **فيديوهات محظورة جغرافيًا:** استخدم VPN لتجاوز القيود الإقليمية. + - **فيديوهات محذوفة:** الفيديو لم يعد متاحًا على يوتيوب. + - **البث المباشر (Live):** لا يمكن تحميل البث المباشر أثناء عرضه؛ انتظر حتى ينتهي. + - **أخطاء الشبكة:** تحقق من اتصالك وحاول مرة أخرى. + - **روابط غير صالحة:** تأكد من صحة الرابط وأنه من منصة مدعومة. + - **محتوى Premium:** يتطلب اشتراك يوتيوب بريميوم. + - **حظر حقوق الملكية:** المحتوى محظور بسبب قيود حقوق النشر. +- **ملفات الفيديو والصوت منفصلة بعد التحميل:** يحدث هذا عند فقدان FFmpeg أو عدم اكتشافه. يتطلب YTSage برنامج FFmpeg لدمج مسارات الفيديو والصوت عالية الجودة. + - **الحل:** تأكد من تثبيت FFmpeg وإضافته لـ PATH النظام. لمستخدمي ويندوز، الخيار الأسهل هو تحميل ملف `YTSage-v-ffmpeg.exe` الذي يأتي مع FFmpeg مدمجًا. --- -#### 🛡️ تحذير Windows Defender / مضاد الفيروسات +#### 🛡️ تنبيه Windows Defender / الأنتي فيروس -قد تقوم بعض برامج مكافحة الفيروسات بوضع علامة على الملفات `.exe` على أنها ملفات إيجابية كاذبة. هذا **قيد معروف** للتطبيقات المجمعة. +قد تصنف بعض برامج الحماية ملفات `.exe` كبرمجيات ضارة (False Positive). هذا **عيب معروف** في التطبيقات المحزمة. **لماذا يحدث هذا:** -- يمكن للاستدلالات المضادة للفيروسات أن تخطئ في تعريف الملفات التنفيذية المعبأة على أنها مشبوهة +- أساليب الكشف في مضادات الفيروسات قد تعتبر الملفات المحزمة مشبوهة خطأً. -** البدائل الآمنة: ** -- ✅ **استخدم تثبيت النقطة:** `pip install ytsage` (مستحسن) -- ✅ **البناء من المصدر**: باتباع هذا [guide](../.github/CI_CD_README.md) -- ✅ **أدرج التطبيق في القائمة البيضاء** في برنامج مكافحة الفيروسات لديك +**البدائل الآمنة:** +- ✅ **استخدم تثبيت pip:** `pip install ytsage` (موصى به) +- ✅ **البناء من المصدر:** باتباع هذا [الدليل](.github/CI_CD_README.md) +- ✅ **إضافة التطبيق للقائمة البيضاء** في برنامج الحماية لديك. -#### 🍎 macOS: "التطبيق تالف ولا يمكن فتحه" -إذا رأيت هذا الخطأ على نظام التشغيل macOS Sonoma أو الإصدارات الأحدث، فستحتاج إلى إزالة سمة العزل. +#### 🍎 macOS: "The app is damaged and can’t be opened" +إذا واجهت هذا الخطأ على macOS Sonoma أو أحدث، يجب عليك إزالة سمة الحجر الصحي. -1. **افتح الوحدة الطرفية** (يمكنك العثور عليها باستخدام Spotlight). -2. **اكتب الأمر التالي** لكن **لا** تضغط على Enter بعد. تأكد من تضمين المساحة في النهاية: +1. **افتح الـ Terminal** (يمكنك البحث عنه عبر Spotlight). +2. **اكتب الأمر التالي** ولكن **لا تضغط** Enter بعد. تأكد من وجود مسافة في النهاية: ```bash xattr -d com.apple.quarantine ``` -3. **اسحب الملف `YTSage.app`** من نافذة Finder وأفلته مباشرةً في نافذة الوحدة الطرفية. سيؤدي هذا تلقائيًا إلى لصق مسار الملف الصحيح. -4. **اضغط على Enter** لتشغيل الأمر. -5. **حاول فتح YTSage.app مرة أخرى.** من المفترض الآن أن يتم تشغيله بشكل صحيح. +3. **اسحب ملف `YTSage.app`** من نافذة Finder وأفلته في نافذة الـ Terminal. سيقوم بلصق المسار الصحيح تلقائيًا. +4. **اضغط Enter** لتنفيذ الأمر. +5. **حاول فتح YTSage.app مجددًا.** يجب أن يعمل الآن بشكل صحيح. --- -#### **مواقع التكوين (متقدمة)** -- **ويندوز:** `%LOCALAPPDATA%\YTSage` -- **ماك:** `~/Library/Application Support/YTSage` -- **لينكس:** `~/.local/share/YTSage` +#### **مواقع الإعدادات (للمتقدمين)** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage`
    -## 💖 الراعي +## 💖 الدعم -إذا كان YTSage يوفر عليك الوقت، ففكر في رعاية المشروع. تساعد الرعاية في تغطية وقت التطوير والاختبار عبر الأنظمة الأساسية والتحسينات المستقبلية. +إذا وفر لك YTSage الوقت، يرجى التفكير في دعم المشروع. يساعد الدعم في تغطية وقت التطوير، الاختبار على المنصات المختلفة، والتحسينات المستقبلية. -- رعاة GitHub: https://github.com/sponsors/oop7 -- رابط الراعي متاح أيضًا مباشرة داخل التطبيق من مربع الحوار "حول". +- GitHub Sponsors: https://github.com/sponsors/oop7 +- رابط الدعم متاح أيضًا داخل التطبيق عبر نافذة "About". [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) ## 👥 المساهمة -نحن نرحب بالمساهمات! إليك كيف يمكنك المساعدة: +نرحب بالمساهمات! إليك كيف يمكنك المساعدة: -1. 🍴 شوكة المستودع -2. 🌿 قم بإنشاء فرع الميزات الخاص بك: +1. 🍴 عمل Fork للمستودع +2. 🌿 إنشاء فرع جديد للميزة: ```bash git checkout -b feature/AmazingFeature ``` -3. 💾 قم بإجراء التغييرات: +3. 💾 حفظ التغييرات: ```bash git commit -m 'Add some AmazingFeature' ``` -4. 📤 اضغط على الفرع: +4. 📤 رفع التغييرات: ```bash git push origin feature/AmazingFeature ``` -5. 🔄 افتح طلب السحب +5. 🔄 فتح Pull Request -### 🌍 المساهمة بالترجمات +### 🌍 المساهمة في الترجمة -- قم بتحديث ملف README المترجم المطابق (على سبيل المثال `README.es.md`) -- حافظ على مزامنة سلاسل التطبيق عن طريق تحرير `ytsage/languages/.json` -- إذا كانت لغتك مفقودة، ابدأ من `README.md` وأنشئ `README..md` +- حدث ملف README المترجم (مثل `readme-translations/README.ar.md`) +- حافظ على تزامن نصوص التطبيق بتعديل `ytsage/languages/.json` +- إذا كانت لغتك غير موجودة، ابدأ من `README.md` وأنشئ ملفًا جديدًا باسم `README..md`
    📂 هيكل المشروع ## YTSage - هيكل المشروع -يصف هذا المستند بنية المجلد المنظم لـ YTSage. +يوضح هذا المستند التنظيم الهيكلي لمجلدات YTSage. ### 📁 هيكل المشروع ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # إعدادات GitHub +│ ├── 📁 ISSUE_TEMPLATE/ # نماذج التذاكر +│ │ └── 🐛-bug-report.md # نموذج تقرير الأخطاء +│ ├─── 📁 workflows/ # سير عمل GitHub Actions +│ │ ├── build-linux.yml # بناء نسخة لينكس +│ │ ├── build-macos.yml # بناء نسخة ماك +│ │ │── build-windows.yml # بناء نسخة ويندوز +| | └── release-all.yml # سير عمل الإصدارات +│ └── 📄 CI_CD_README.md # توثيق CI/CD +├── 📁 branding/ # أصول العلامة التجارية (لقطات شاشة، SVG) +│ ├── 📁 icons/ # أيقونات التطبيق +│ ├── 📁 screenshots/ # لقطات شاشة للتوثيق +│ └── 📁 svg/ # أصول بصيغة SVG +├── 📄 LICENSE # ملف الرخصة +├── 📄 pyproject.toml # بيانات المشروع والاعتمادات +├── 📄 README.md # التوثيق الرئيسي +├── 📄 requirements.txt # اعتمادات بايثون (للمطورين) +└── 📁 ytsage/ # مجلد الأكواد المصدرية + ├── 📁 assets/ # الأصول اللازمة للتشغيل + │ ├── 📁 Icon/ # أيقونات التطبيق + │ └── 📁 sound/ # ملفات صوتية + ├── 📁 languages/ # ملفات الترجمة + │ ├── 📄 ar.json # الترجمة العربية + │ ├── 📄 de.json # الترجمة الألمانية + │ ├── 📄 en.json # الترجمة الإنجليزية + │ └── ... # لغات أخرى + ├── 📁 core/ # المنطق البرمجي الأساسي + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # تكامل Deno + │ ├── 📄 ytsage_downloader.py # وظائف التحميل + │ ├── 📄 ytsage_ffmpeg.py # تكامل FFmpeg + │ ├── 📄 ytsage_utils.py # وظائف مساعدة + │ └── 📄 ytsage_yt_dlp.py # تكامل yt-dlp + ├── 📁 gui/ # مكونات واجهة المستخدم + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # نافذة التطبيق الرئيسية + │ └── 📁 ytsage_gui_dialogs/ # كلاسات النوافذ الحوارية + ├── 📁 utils/ # موديلات مساعدة + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # مدير الإعدادات + │ └── 📄 ytsage_logger.py # أداة تسجيل السجلات + ├── 📄 __init__.py # نقطة دخول الحزمة + └── 📄 main.py # سكربت التشغيل الرئيسي ```
    -## ⭐️ تاريخ النجوم +## ⭐️ سجل النجوم
    -## تاريخ النجوم +## Star History @@ -539,65 +544,66 @@ YTSage/
    -## 📜 الترخيص +## 📜 الرخصة -هذا المشروع مرخص بموجب ترخيص MIT - راجع الملف [LICENSE](../LICENSE) للحصول على التفاصيل. +هذا المشروع مرخص بموجب رخصة MIT - راجع ملف [LICENSE](LICENSE) لمزيد من التفاصيل. ## 🙏 شكر وتقدير
    -إظهار الشكر والتقدير +عرض الشكر والتقدير
    -

    شكرًا جزيلًا لكل من ساهم في هذا المشروع من خلال فتح مشكلة لاقتراح تحسين أو الإبلاغ عن خطأ.

    +

    شكر كبير لكل من ساهم في هذا المشروع بفتح تذكرة لاقتراح تحسين أو الإبلاغ عن خطأ.

    - + - - + + - + - + - + - + + - - + + - - + + - + - - + + - - + +
    المكونات الأساسية
    yt-dlpتحميل المحركمحرك التحميل
    FFmpeg معالجة الوسائط
    دينووقت التشغيل للتكامل مع yt-dlpDenoبيئة التشغيل لتكامل yt-dlp
    المكتبات والأطر
    المكتبات وإطارات العمل
    PySide6إطار واجهة المستخدم الرسوميةإطار عمل الواجهة الرسومية
    الوسادةPillow معالجة الصور
    الطلبات
    requests طلبات HTTP
    التغليفالتعامل مع الإصدار والحزمةpackagingإدارة الإصدارات والحزم
    تخفيض السعرعرض تخفيض السعرmarkdownمعالجة Markdown
    loguruالتسجيلتسجيل السجلات
    الأصول والمساهمون
    إشعار جديد 09 من Universfieldصوت الإشعاراتNew Notification 09 by Universfieldصوت التنبيه
    الفيروس185مساهم الكودviru185مساهم بالكود
    @@ -605,14 +611,14 @@ YTSage/
    -## ⚠️إخلاء المسؤولية +## ⚠️ إخلاء مسؤولية -هذه الأداة للاستخدام الشخصي فقط. يرجى احترام شروط خدمة YouTube وحقوق منشئي المحتوى. +تُستخدم هذه الأداة للاستخدام الشخصي فقط. يرجى احترام شروط خدمة يوتيوب وحقوق منشئي المحتوى. ---
    -صُنع باستخدام ❤️ بواسطة [oop7](https://github.com/oop7) +صنع بـ ❤️ بواسطة [oop7](https://github.com/oop7)
    diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md index 855b229..89d6e46 100644 --- a/readme-translations/README.fr.md +++ b/readme-translations/README.fr.md @@ -13,33 +13,33 @@ [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) **Un téléchargeur YouTube moderne avec une interface PySide6 épurée.** -Téléchargez des vidéos dans n'importe quelle qualité, extrayez l'audio, récupérez des sous-titres, et bien plus encore. +Téléchargez des vidéos dans n'importe quelle qualité, extrayez l'audio, récupérez les sous-titres, et plus encore. -### 🌍 Langues README +### 🌍 Langues du README -Anglais : [EN](../README.md) -| Titre : [AR](README.ar.md) -| Allemand : [DE](README.de.md) -| Espagnol : [ES](README.es.md) -| Anglais: [FR](README.fr.md) -| Nom : [HI](README.hi.md) -| Bahasa Indonésie : [ID](README.id.md) -| Italien : [IT](README.it.md) -| Nom : [JA](README.ja.md) -| Polski : [PL](README.pl.md) -| Portugais : [PT](README.pt.md) -| Russe : [RU](README.ru.md) -| Turc : [TR](README.tr.md) -| Nom : [ZH](README.zh.md) +Anglais : [EN](../README.md) +| Arabe : [AR](README.ar.md) +| Allemand : [DE](README.de.md) +| Espagnol : [ES](README.es.md) +| Français : [FR](README.fr.md) +| Hindi : [HI](README.hi.md) +| Indonésien : [ID](README.id.md) +| Italien : [IT](README.it.md) +| Japonais : [JA](README.ja.md) +| Polonais : [PL](README.pl.md) +| Portugais : [PT](README.pt.md) +| Russe : [RU](README.ru.md) +| Turc : [TR](README.tr.md) +| Chinois : [ZH](README.zh.md)

    Installation • - Caractéristiques • + FonctionnalitésUtilisationCaptures d'écranDépannage • - Commanditaire • - Contribuer + Sponsor • + Contribution

    @@ -47,39 +47,40 @@ Anglais : [EN](../README.md) --- -## ❓Pourquoi YTSage ? +## ❓ Pourquoi YTSage ? -YTSage est conçu pour les utilisateurs qui souhaitent un **téléchargeur YouTube simple mais puissant**. Contrairement à d’autres outils, il propose : +YTSage est conçu pour les utilisateurs qui recherchent un **téléchargeur YouTube simple mais puissant**. Contrairement à d'autres outils, il offre : -- Une interface PySide6 propre et moderne +- Une interface PySide6 moderne et épurée - Téléchargements en un clic pour la vidéo, l'audio et les sous-titres -- Fonctionnalités avancées telles que SponsorBlock, la fusion de sous-titres et la sélection de listes de lecture -- Mode générique en option pour les sites pris en charge par yt-dlp au-delà de YouTube -- Prise en charge multiplateforme et installation facile +- Fonctionnalités avancées comme SponsorBlock, la fusion des sous-titres et la sélection de playlists +- Mode générique (Generic Mode) optionnel pour les sites pris en charge par yt-dlp au-delà de YouTube +- Support multiplateforme et installation facile -## ✨ Caractéristiques +## ✨ Fonctionnalités
    -| Fonctionnalités principales | Fonctionnalités avancées | Fonctionnalités supplémentaires | -|--------------------------------------------------|-----------------------------------------|--------------------------------------------------| -| 🎥 Formater le tableau | 🚫 Intégration SponsorBlock | 🎞️ Affichage FPS/HDR | -| 🎵 Extraction audio | 📝 Sélection et fusion de sous-titres multiples | 🔄 Mise à jour automatique yt-dlp | -| ✨ Interface utilisateur simple | 💾 Enregistrer la description et la vignette | 🛠️ Détection FFmpeg/yt-dlp/Deno | -| 📋 Prise en charge et sélecteur de playlist | 🚀 Limiteur de vitesse | ⚙️ Commandes personnalisées | -| 📑 Intégrer les chapitres | ✂️ Couper les sections vidéo | 🍪 Connectez-vous avec les cookies | -| 📜 Historique des téléchargements | 🔄 Sélection des chaînes de sortie | 🌐 Assistance proxy | -| 🎚️ Conversion de formats audio | 🎬 Paramètres de format vidéo | 🆙 Onglet de mise à jour intégré | +| Fonctionnalités de base | Fonctionnalités avancées | Fonctionnalités supplémentaires | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Tableau des formats | 🚫 Intégration de SponsorBlock | 🎞️ Affichage FPS/HDR | +| 🎵 Extraction audio | 📝 Sélection et fusion de sous-titres | 🔄 Mise à jour automatique de yt-dlp | +| ✨ Interface utilisateur simple | 💾 Enregistrement de la description et de la miniature | 🛠️ Détection de FFmpeg/yt-dlp/Deno | +| 📋 Support et sélecteur de playlists | 🚀 Limiteur de vitesse | ⚙️ Commandes personnalisées | +| 📑 Intégration des chapitres | ✂️ Découpage de sections vidéo | 🍪 Connexion avec Cookies | +| 📜 Historique des téléchargements | 🔄 Sélection du canal de version | 🌐 Support Proxy | +| 🎚️ Conversion du format audio | 🎬 Paramètres de format vidéo | 🆙 Onglet de mise à jour intégré | | 🌍 Mode générique | 🔊 Normalisation audio (EBU R128) | 🌍 Localisation en 14 langues | +| 💾 Exportation de playlists | ⚙️ Qualité et sous-titres par défaut | |
    -## 🚀Installation +## 🚀 Installation -### ⚡ Installation rapide (recommandé) +### ⚡ Installation rapide (Recommandé) -Installez YTSage depuis PyPI : +Installez YTSage via PyPI : ```bash pip install ytsage @@ -100,81 +101,81 @@ Lancez ensuite l'application : ytsage ``` -### 📦 Exécutables prédéfinis +### 📦 Exécutables pré-construits -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 Télécharger la dernière version](https://github.com/oop7/YTSage/releases/latest) -#### 🪟Fenêtres +#### 🪟 Windows -| Formater | Descriptif | +| Format | Description | |--------|-------------| | ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Installateur standard | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Avec FFmpeg fourni | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Avec FFmpeg inclus | | ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Version portable, aucune installation requise | | ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable avec FFmpeg, zippé |
    🛠️ Étapes d'installation -1. **EXE Installer (`.exe`)** : Double-cliquez sur le fichier et suivez l'assistant d'installation. -2. **Version portable (`.zip`)** : Extrayez l'archive à l'emplacement souhaité et exécutez `ytsage.exe`. -3. **FFmpeg Bundled** : Choisissez les versions groupées de FFmpeg si FFmpeg n'est pas installé sur votre système. +1. **Installateur EXE (`.exe`)** : Double-cliquez sur le fichier et suivez l'assistant de configuration. +2. **Version portable (`.zip`)** : Extrayez l'archive vers l'emplacement souhaité et lancez `ytsage.exe`. +3. **FFmpeg inclus** : Choisissez les versions avec FFmpeg inclus si vous n'avez pas FFmpeg installé sur votre système.
    -#### 🐧Linux +#### 🐧 Linux -| Formater | Descriptif | +| Format | Description | |--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paquet Debian | | ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portable | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paquet RPM | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Paquet Flatpak | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak Bundle |
    🛠️ Étapes d'installation -- **DEB (`.deb`)** : +- **DEB (`.deb`)** : ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Répare les dépendances manquantes si nécessaire ``` -- **RPM (`.rpm`)** : +- **RPM (`.rpm`)** : ```bash sudo rpm -i ytsage-*.rpm ``` -- **AppImage (`.AppImage`)** : +- **AppImage (`.AppImage`)** : ```bash chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak** : suivez les instructions sur Flathub ou exécutez : +- **Flatpak** : Suivez les instructions sur Flathub ou lancez : ```bash flatpak install flathub io.github.oop7.ytsage ```
    -#### 🍎macOS +#### 🍎 macOS -| Formater | Descriptif | +| Format | Description | |--------|-------------| | ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Application zippée pour Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Programme d’installation d’image disque pour Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Installateur d'image disque pour Apple Silicon |
    🛠️ Étapes d'installation -- **DMG Installer (`.dmg`)** : Double-cliquez pour monter, puis faites glisser `YTSage.app` dans votre dossier Applications. -- **App Archive (`.zip`)** : Extrayez le zip et déplacez `YTSage.app` vers votre dossier Applications. +- **Installateur DMG (`.dmg`)** : Double-cliquez pour monter, puis faites glisser `YTSage.app` dans votre dossier Applications. +- **Archive d'application (`.zip`)** : Extrayez le zip et déplacez `YTSage.app` dans votre dossier Applications. -*Remarque : si vous rencontrez une erreur « L'application est endommagée », consultez le [macOS troubleshooting section](#troubleshooting) ci-dessous.* +*Note : Si vous rencontrez une erreur "L'application est endommagée", consultez la section de dépannage macOS ci-dessous.*
    ---
    -💻 Installation manuelle à partir de la source +💻 Installation manuelle à partir des sources -### 1. Cloner le référentiel +### 1. Cloner le dépôt ```bash git clone https://github.com/oop7/YTSage.git @@ -183,7 +184,7 @@ cd YTSage ### 2. Installer les dépendances -#### ⚡Avec uv +#### ⚡ Avec uv ```bash uv pip install . @@ -195,7 +196,7 @@ uv pip install . pip install . ``` -### 3. Exécutez l'application +### 3. Lancer l'application ```bash python -m ytsage.main @@ -209,147 +210,151 @@ python -m ytsage.main
    - - + + - + - - + +
    Download SettingsPlaylist DownloadParamètres de téléchargementTéléchargement de playlist
    Paramètres de téléchargementTéléchargement de la liste de lectureTéléchargement de playlist
    Audio Format Selection with Save ThumbnailCustom OptionsSélection du format audioOptions personnalisées
    Format audio Options personnalisées
    -
    + + ## 📖 Utilisation
    🎯 Utilisation de base -1. **Lancer YTSage** -2. **Collez l'URL YouTube** (ou utilisez le bouton « Coller l'URL ») -3. **Cliquez sur « Analyser »** -4. **Sélectionnez le format :** - - `Video` pour les téléchargements de vidéos +1. **Lancez YTSage** +2. **Collez l'URL YouTube** (ou utilisez le bouton "Paste URL") +3. **Cliquez sur "Analyze"** +4. **Sélectionnez le format :** + - `Video` pour les téléchargements vidéo - `Audio Only` pour l'extraction audio -5. **Choisissez les options :** +5. **Choisissez les options :** - Activer les sous-titres et sélectionner la langue - Activer la fusion des sous-titres - - Enregistrer la vignette - - Supprimer les segments de sponsors + - Enregistrer la miniature + - Supprimer les segments sponsorisés - Enregistrer la description - - Intégrer des chapitres + - Intégrer les chapitres 6. **Sélectionnez le répertoire de sortie** -7. **Cliquez sur "Télécharger"** +7. **Cliquez sur "Download"** -> 💡 Le répertoire de téléchargement par défaut est le dossier « Téléchargements » de l'utilisateur. +> 💡 Le répertoire de téléchargement par défaut est le dossier "Téléchargements" de l'utilisateur.
    -📋 Téléchargement de la liste de lecture +📋 Téléchargement de playlist -1. **Coller l'URL de la liste de lecture** -2. **Cliquez sur « Analyser »** -3. ** Sélectionnez des vidéos dans le sélecteur de playlist (facultatif, par défaut : toutes) ** -4. **Choisissez le format/qualité souhaité** -5. **Cliquez sur "Télécharger"** +1. **Collez l'URL de la playlist** +2. **Cliquez sur "Analyze"** +3. **Sélectionnez les vidéos du sélecteur de playlist (optionnel, toutes par défaut)** +4. **Choisissez le format/la qualité souhaitée** +5. **Cliquez sur "Download"** -> 💡 L'application gère automatiquement la file d'attente de téléchargement +> 💡 L'application gère automatiquement la file d'attente de téléchargement, et vous pouvez exporter les entrées de la playlist au format `.txt`, `.csv`, `.m3u` ou `.json`.
    -🌍 Mode générique pour les sites non YouTube +🌍 Mode générique pour les sites non-YouTube -Utilisez le mode générique lorsque vous souhaitez que YTSage accepte les URL de sites pris en charge par yt-dlp, tels que Dailymotion, CBC Gem, TikTok et autres. +Utilisez le mode générique (Generic Mode) lorsque vous souhaitez que YTSage accepte des URL de sites pris en charge par yt-dlp, tels que Dailymotion, CBC Gem, TikTok, et d'autres. -Comment l'utiliser : +Comment l'utiliser : 1. Ouvrez `Download Settings`. 2. Activez `Generic Mode`. -3. Collez une URL de vidéo ou de playlist non YouTube prise en charge. +3. Collez une URL de vidéo ou de playlist prise en charge qui n'est pas YouTube. 4. Cliquez sur `Analyze`. 5. Choisissez un format et téléchargez comme d'habitude. -Remarques : +Notes : -- Le mode générique modifie uniquement la validation de l'URL dans YTSage. Le site cible doit toujours être pris en charge par votre version yt-dlp installée. +- Le mode générique ne modifie que la validation de l'URL à l'intérieur de YTSage. Le site cible doit toujours être pris en charge par votre version installée de yt-dlp. - Certains sites nécessitent des cookies, une session de connexion, un proxy ou des arguments yt-dlp supplémentaires selon l'extracteur. -- Si un site échoue, mettez d'abord à jour yt-dlp à partir de l'onglet de mise à jour intégré avant de signaler le problème. +- Si un site échoue, mettez d'abord à jour yt-dlp depuis l'onglet de mise à jour intégré avant de signaler le problème.
    -🧰 Options multimédia et de téléchargement +🧰 Options média et de téléchargement -- **Options de sous-titres :** Filtrez les langues et intégrez des sous-titres dans le fichier vidéo -- **Fusion des sous-titres :** Fusionnez les sous-titres dans le fichier vidéo pour les sous-titres codés en dur -- **Enregistrer la description :** Enregistrez la description de la vidéo sous forme de fichier texte -- **Enregistrer la vignette :** Enregistrez la vignette de la vidéo en tant que fichier image -- **Intégrer les chapitres :** Intégrer des marqueurs de chapitre en tant que métadonnées pour les lecteurs vidéo compatibles -- **Supprimer les segments de sponsor :** Supprimez les segments de sponsor de la vidéo à l'aide de SponsorBlock -- **Découper la vidéo :** Téléchargez uniquement des parties spécifiques d'une vidéo en spécifiant des plages de temps au format `HH:MM:SS` +- **Options de sous-titres :** Filtrer les langues et intégrer les sous-titres dans le fichier vidéo. +- **Fusion de sous-titres :** Fusionner les sous-titres dans le fichier vidéo pour des sous-titres incrustés (hardcoded). +- **Enregistrer la description :** Enregistrer la description de la vidéo sous forme de fichier texte. +- **Enregistrer la miniature :** Enregistrer la miniature de la vidéo sous forme de fichier image. +- **Intégrer les chapitres :** Intégrer les marqueurs de chapitres comme métadonnées pour les lecteurs vidéo compatibles. +- **Supprimer les segments sponsorisés :** Supprimer les segments sponsorisés de la vidéo à l'aide de SponsorBlock. +- **Découper la vidéo :** Téléchargez uniquement des parties spécifiques d'une vidéo en spécifiant des plages temporelles au format `HH:MM:SS`.
    ⚙️ Paramètres de sortie et de fichier -- **Speed Limiter :** Limitez la vitesse de téléchargement, par exemple `500K` à 500 Ko/s -- **Enregistrer le chemin de téléchargement :** Enregistrez le chemin de téléchargement par défaut pour les prochains téléchargements. Disponible dans **Paramètres de téléchargement → Chemin de téléchargement**. -- **Format du nom de fichier de sortie :** Personnalisez le format du nom de fichier de sortie à l'aide de variables telles que `%(title)s`, `%(uploader)s` et `%(resolution)s`. Disponible dans **Paramètres de téléchargement → Format du nom de fichier**. -- **Forcer le format de sortie :** Forcer les téléchargements de vidéos dans un format de conteneur spécifique tel que `mp4`, `webm` ou `mkv`. Disponible dans **Paramètres de téléchargement → Paramètres du format de sortie**. -- **Conversion de format audio :** Convertissez les téléchargements audio uniquement vers les formats préférés tels que `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, ou `Best`. Disponible dans **Paramètres de téléchargement → Paramètres de format audio**. -- **Normalisation audio :** Standardisez le volume pour les téléchargements audio uniquement à l'aide de l'EBU R128. -- **Connexions Simultanées:** Augmentez considérablement la vitesse de téléchargement en téléchargeant des fichiers en plusieurs fragments simultanément. Disponible dans **Paramètres de téléchargement → Général → Connexions Simultanées** (Par défaut à 1, le maximum recommandé est de 8 à 10 pour éviter le blocage d'IP).\n +- **Limiteur de vitesse :** Limiter la vitesse de téléchargement, par exemple `500K` pour 500 Ko/s. +- **Enregistrer le chemin de téléchargement :** Enregistre le chemin de téléchargement par défaut pour les futurs téléchargements. Disponible dans **Download Settings → Download Path**. +- **Résolution vidéo par défaut :** Définissez votre résolution vidéo préférée par défaut pour la sélection automatique (ex : 1080p, 720p). Disponible dans **Download Settings → Default Video Resolution**. +- **Langues de sous-titres par défaut :** Définissez les langues de sous-titres par défaut pour une sélection automatique (séparées par des virgules, ex : `fr,en`). Disponible dans **Download Settings → Default Subtitle Languages**. +- **Format du nom de fichier de sortie :** Personnalisez le format du nom de fichier de sortie à l'aide de variables telles que `%(title)s`, `%(uploader)s`, `%(playlist_index)s` et `%(resolution)s`. Disponible dans **Download Settings → Filename Format**. +- **Forcer le format de sortie :** Forcer les téléchargements vidéo dans un format de conteneur spécifique tel que `mp4`, `webm` ou `mkv`. Disponible dans **Download Settings → Output Format Settings**. +- **Conversion du format audio :** Convertir les téléchargements audio uniquement dans les formats préférés tels que `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` ou `Best`. Disponible dans **Download Settings → Audio Format Settings**. +- **Normalisation audio :** Standardiser le volume pour les téléchargements audio uniquement à l'aide de l'EBU R128. +- **Connexions simultanées :** Augmentez considérablement la vitesse de téléchargement en téléchargeant les fichiers en plusieurs fragments simultanément. Disponible dans **Download Settings → General → Concurrent Connections** (1 par défaut, le maximum recommandé est de 8 à 10 pour éviter la limitation par IP). +
    🌐 Accès et réseau -- **Connexion avec des cookies :** Connectez-vous à YouTube en utilisant des cookies pour accéder au contenu privé. - Comment l'utiliser : - 1. **Recommandé :** Utilisez l'option intégrée `Extract cookies from browser` dans l'application, puis sélectionnez votre navigateur et éventuellement un profil. - 2. Vous pouvez également extraire les cookies manuellement : - une. Exportez les cookies de votre navigateur en utilisant une extension comme [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) +- **Connexion avec cookies :** Connectez-vous à YouTube à l'aide de cookies pour accéder au contenu privé. + Comment l'utiliser : + 1. **Recommandé :** Utilisez l'option intégrée `Extract cookies from browser` dans l'application, puis sélectionnez votre navigateur et éventuellement un profil. + 2. Alternativement, extrayez les cookies manuellement : + a. Exportez les cookies de votre navigateur à l'aide d'une extension comme [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) b. Copiez les cookies au format Netscape c. Créez un fichier nommé `cookies.txt` et collez-y les cookies d. Sélectionnez le fichier `cookies.txt` dans l'application -- **Prise en charge du proxy :** Utilisez un serveur proxy pour les téléchargements, par exemple `http://:` -- **Mode générique :** Autorisez YTSage à analyser et à télécharger à partir de sites non YouTube pris en charge par yt-dlp. Activez-le depuis **Paramètres de téléchargement → Mode générique**. +- **Support Proxy :** Utilisez un serveur proxy pour les téléchargements, par exemple `http://:` +- **Mode générique :** Permet à YTSage d'analyser et de télécharger à partir de sites non-YouTube pris en charge par yt-dlp. Activez-le depuis **Download Settings → Generic Mode**.
    -🛠️ Outils et entretien +🛠️ Outils et maintenance -- **Commandes personnalisées :** Accédez aux fonctionnalités avancées de yt-dlp via des arguments de ligne de commande -- **Onglet Mise à jour :** Gérez les outils de mise à jour intégrés à partir d'un seul endroit dans les options personnalisées : - - **Mises à jour yt-dlp :** Vérifiez les mises à jour et basculez entre les versions stables et nocturnes - - **FFmpeg Version Checker :** Vérifiez votre version de FFmpeg et ouvrez les guides d'installation - - **Mises à jour Deno :** Vérifiez et mettez à jour le runtime Deno -- **Détection FFmpeg/yt-dlp/Deno :** Détecte automatiquement les chemins et versions FFmpeg, yt-dlp et Deno à partir de la boîte de dialogue À propos. -- **Historique des téléchargements :** affichez les téléchargements passés avec des vignettes et des statuts à partir du bouton **Historique**. +- **Commandes personnalisées :** Accédez aux fonctionnalités avancées de yt-dlp via des arguments de ligne de commande. +- **Onglet de mise à jour :** Gérez les outils de mise à jour intégrés depuis un seul endroit dans Options personnalisées : + - **Mises à jour de yt-dlp :** Vérifiez les mises à jour et basculez entre les canaux de version Stable et Nightly. + - **Vérificateur de version FFmpeg :** Vérifiez votre version de FFmpeg et ouvrez les guides d'installation. + - **Mises à jour de Deno :** Vérifiez et mettez à jour le moteur d'exécution Deno. +- **Détection de FFmpeg/yt-dlp/Deno :** Détecte automatiquement les chemins et les versions de FFmpeg, yt-dlp et Deno à partir de la boîte de dialogue À propos. +- **Historique des téléchargements :** Affichez les téléchargements passés avec les miniatures et les statuts depuis le bouton **History**.
    🌍 Localisation -YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélectionnez votre langue préférée dans **Options personnalisées → Langue**. +YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélectionnez votre langue préférée dans **Custom Options → Language**. ### Langues prises en charge -| Langue | Codes | Langue | Codes | -|--------------|------|--------------|------| -| 🇺🇸 Anglais | `en` | Espagnol | `es` | +| Langue | Code | Langue | Code | +|----------|------|----------|------| +| 🇺🇸 Anglais | `en` | 🇪🇸 Espagnol | `es` | | 🇸🇦 Arabe | `ar` | 🇫🇷 Français | `fr` | | 🇩🇪 Allemand | `de` | 🇮🇳 Hindi | `hi` | | 🇮🇩 Indonésien | `id` | 🇮🇹 Italien | `it` | @@ -357,11 +362,11 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti | 🇧🇷 Portugais | `pt` | 🇷🇺 Russe | `ru` | | 🇹🇷 Turc | `tr` | 🇨🇳 Chinois | `zh` | -### Traductions README +### Traductions du README | Langue | Fichier | Langue | Fichier | -|--------------|------|--------------|------| -| 🇺🇸 Anglais | [README.md](../README.md) | Espagnol | [README.es.md](README.es.md) +|----------|------|----------|------| +| 🇺🇸 Anglais | [README.md](README.md) | 🇪🇸 Espagnol | [README.es.md](README.es.md) | | 🇸🇦 Arabe | [README.ar.md](README.ar.md) | 🇫🇷 Français | [README.fr.md](README.fr.md) | | 🇩🇪 Allemand | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonésien | [README.id.md](README.id.md) | 🇮🇹 Italien | [README.it.md](README.it.md) | @@ -369,7 +374,7 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti | 🇧🇷 Portugais | [README.pt.md](README.pt.md) | 🇷🇺 Russe | [README.ru.md](README.ru.md) | | 🇹🇷 Turc | [README.tr.md](README.tr.md) | 🇨🇳 Chinois | [README.zh.md](README.zh.md) | -> 💡 **Vous voulez contribuer à une traduction ?** Consultez la section [Contributing](#contributing) pour nous aider à ajouter plus de langues ! +> 💡 **Vous souhaitez contribuer à une traduction ?** Consultez la section [Contribution](#contributing) pour nous aider à ajouter d'autres langues !
    @@ -377,22 +382,22 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti ## 🛠️ Dépannage
    -Cliquez pour afficher les problèmes courants et les solutions +Cliquez pour voir les problèmes courants et les solutions -- **Le tableau de format ne s'affiche pas :** Mettez à jour yt-dlp vers la dernière version et passez à yt-dlp tous les soirs. -- **Échec du téléchargement :** Vérifiez votre connexion Internet et assurez-vous que la vidéo est disponible. -- **Erreurs de téléchargement spécifiques :** - - **Vidéos privées :** Utilisez l'authentification par cookie pour accéder au contenu privé. - - **Contenu soumis à une limite d'âge :** Connectez-vous à votre compte YouTube pour visionner des vidéos soumises à une limite d'âge. - - **Vidéos géo-bloquées :** Pensez à utiliser un VPN pour contourner les restrictions régionales. - - **Vidéos supprimées/supprimées :** La vidéo n'est plus disponible sur YouTube. - - **Diffusions en direct :** Les diffusions en direct ne peuvent pas être téléchargées ; attendez la fin du flux. - - **Erreurs réseau :** Vérifiez votre connexion Internet et réessayez. - - **URL invalides :** Assurez-vous que l'URL est correcte et qu'elle provient d'une plate-forme prise en charge. - - **Contenu Premium :** Nécessite un abonnement YouTube Premium. - - **Blocs de droits d'auteur :** Le contenu est bloqué en raison de restrictions de droits d'auteur. -- **Séparez les fichiers vidéo et audio après le téléchargement :** Cela se produit lorsque FFmpeg est manquant ou n'est pas détecté. YTSage nécessite FFmpeg pour fusionner des flux vidéo et audio de haute qualité. - - **Solution :** Assurez-vous que FFmpeg est installé et accessible dans le PATH de votre système. Pour les utilisateurs Windows, l'option la plus simple consiste à télécharger le fichier `YTSage-v-ffmpeg.exe`, fourni avec FFmpeg. +- **Le tableau des formats ne s'affiche pas :** Mettez à jour yt-dlp à la dernière version et passez à yt-dlp nightly. +- **Échec du téléchargement :** Vérifiez votre connexion Internet et assurez-vous que la vidéo est disponible. +- **Erreurs de téléchargement spécifiques :** + - **Vidéos privées :** Utilisez l'authentification par cookies pour accéder au contenu privé. + - **Contenu soumis à une limite d'âge :** Connectez-vous à votre compte YouTube pour visionner les vidéos avec limite d'âge. + - **Vidéos géo-bloquées :** Envisagez d'utiliser un VPN pour contourner les restrictions régionales. + - **Vidéos supprimées :** La vidéo n'est plus disponible sur YouTube. + - **Directs (Live streams) :** Les directs ne peuvent pas être téléchargés ; attendez la fin de la diffusion. + - **Erreurs réseau :** Vérifiez votre connexion Internet et réessayez. + - **URL non valides :** Assurez-vous que l'URL est correcte et provient d'une plateforme prise en charge. + - **Contenu Premium :** Nécessite un abonnement YouTube Premium. + - **Blocages pour droits d'auteur :** Le contenu est bloqué en raison de restrictions de droits d'auteur. +- **Fichiers vidéo et audio séparés après le téléchargement :** Cela se produit lorsque FFmpeg est manquant ou non détecté. YTSage nécessite FFmpeg pour fusionner les flux vidéo et audio de haute qualité. + - **Solution :** Assurez-vous que FFmpeg est installé et accessible dans le PATH de votre système. Pour les utilisateurs Windows, l'option la plus simple est de télécharger le fichier `YTSage-v-ffmpeg.exe`, qui est livré avec FFmpeg. --- @@ -400,134 +405,134 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti Certains logiciels antivirus peuvent signaler les fichiers `.exe` comme de faux positifs. Il s'agit d'une **limitation connue** des applications packagées. -**Pourquoi cela se produit :** -- L'heuristique antivirus peut identifier à tort les exécutables compressés comme suspects +**Pourquoi cela se produit :** +- L'heuristique des antivirus peut identifier par erreur les exécutables packagés comme suspects. -**Alternatives sûres :** -- ✅ **Utiliser l'installation pip :** `pip install ytsage` (recommandé) -- ✅ **Construire à partir des sources** : en suivant ceci [guide](../.github/CI_CD_README.md) -- ✅ **Liste blanche de l'application** dans votre logiciel antivirus +**Alternatives sûres :** +- ✅ **Utilisez l'installation pip :** `pip install ytsage` (recommandé) +- ✅ **Compiler à partir des sources** : en suivant ce [guide](.github/CI_CD_README.md) +- ✅ **Mettre l'application en liste blanche** dans votre logiciel antivirus. -#### 🍎 macOS : "L'application est endommagée et ne peut pas être ouverte" -Si vous voyez cette erreur sur macOS Sonoma ou version ultérieure, vous devez supprimer l'attribut de quarantaine. +#### 🍎 macOS : "L'application est endommagée et ne peut pas être ouverte" +Si vous voyez cette erreur sur macOS Sonoma ou une version plus récente, vous devez supprimer l'attribut de quarantaine. -1. **Ouvrez le terminal** (vous pouvez le trouver en utilisant Spotlight). -2. **Tapez la commande suivante** mais **n'appuyez pas** encore sur Entrée. Assurez-vous d'inclure l'espace à la fin : +1. **Ouvrez le Terminal** (vous pouvez le trouver en utilisant Spotlight). +2. **Tapez la commande suivante** mais **n'appuyez pas** encore sur Entrée. Assurez-vous d'inclure l'espace à la fin : ```bash xattr -d com.apple.quarantine ``` -3. **Faites glisser le fichier `YTSage.app`** depuis votre fenêtre du Finder et déposez-le directement dans la fenêtre du Terminal. Cela collera automatiquement le chemin de fichier correct. -4. **Appuyez sur Entrée** pour exécuter la commande. -5. **Essayez d'ouvrir à nouveau YTSage.app.** Il devrait maintenant se lancer correctement. +3. **Faites glisser le fichier `YTSage.app`** depuis votre fenêtre Finder et déposez-le directement dans la fenêtre du Terminal. Cela collera automatiquement le chemin correct du fichier. +4. **Appuyez sur Entrée** pour exécuter la commande. +5. **Essayez d'ouvrir à nouveau YTSage.app.** Il devrait maintenant se lancer correctement. --- -#### **Emplacements de configuration (avancé)** -- **Windows :** `%LOCALAPPDATA%\YTSage` -- **macOS :** `~/Library/Application Support/YTSage` -- **Linux :** `~/.local/share/YTSage` +#### **Emplacements de configuration (Avancé)** +- **Windows :** `%LOCALAPPDATA%\YTSage` +- **macOS :** `~/Library/Application Support/YTSage` +- **Linux :** `~/.local/share/YTSage`
    -## 💖 Parrainer +## 💖 Sponsor -Si YTSage vous fait gagner du temps, envisagez de parrainer le projet. Le parrainage permet de couvrir le temps de développement, les tests sur toutes les plateformes et les améliorations futures. +Si YTSage vous fait gagner du temps, envisagez de sponsoriser le projet. Le parrainage aide à couvrir le temps de développement, les tests sur toutes les plateformes et les améliorations futures. -- Commanditaires GitHub : https://github.com/sponsors/oop7 -- Le lien du sponsor est également disponible directement dans l'application à partir de la boîte de dialogue À propos. +- GitHub Sponsors : https://github.com/sponsors/oop7 +- Le lien de parrainage est également disponible directement dans l'application via la boîte de dialogue À propos. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) -## 👥 Contribuer +## 👥 Contribution -Nous apprécions les contributions ! Voici comment vous pouvez aider : +Nous accueillons les contributions avec plaisir ! Voici comment vous pouvez aider : -1. 🍴 Forkez le référentiel -2. 🌿 Créez votre branche de fonctionnalités : +1. 🍴 Forkez le dépôt +2. 🌿 Créez votre branche de fonctionnalité : ```bash git checkout -b feature/AmazingFeature ``` -3. 💾 Validez vos modifications : +3. 💾 Committez vos modifications : ```bash git commit -m 'Add some AmazingFeature' ``` -4. 📤 Push vers l'agence : +4. 📤 Pushez vers la branche : ```bash git push origin feature/AmazingFeature ``` -5. 🔄 Ouvrir une Pull Request +5. 🔄 Ouvrez une Pull Request ### 🌍 Contribuer aux traductions -- Mettez à jour le fichier README localisé correspondant (par exemple `README.es.md`) +- Mettez à jour le fichier README localisé correspondant (par exemple `readme-translations/README.fr.md`) - Gardez les chaînes de l'application synchronisées en éditant `ytsage/languages/.json` -- Si votre langue est manquante, partez de `README.md` et créez `README..md` +- Si votre langue est manquante, commencez par `README.md` et créez `README..md`
    📂 Structure du projet -## YTSage – Structure du projet +## YTSage - Structure du projet -Ce document décrit la structure des dossiers organisés de YTSage. +Ce document décrit la structure organisée des dossiers de YTSage. ### 📁 Structure du projet ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # Configuration GitHub +│ ├── 📁 ISSUE_TEMPLATE/ # Modèles de tickets +│ │ └── 🐛-bug-report.md # Modèle de rapport de bug +│ ├─── 📁 workflows/ # Workflows GitHub Actions +│ │ ├── build-linux.yml # Workflow de build Linux +│ │ ├── build-macos.yml # Workflow de build macOS +│ │ │── build-windows.yml # Workflow de build Windows +| | └── release-all.yml # Workflow de release master +│ └── 📄 CI_CD_README.md # Documentation CI/CD +├── 📁 branding/ # Actifs de marque (Captures d'écran, SVGs) +│ ├── 📁 icons/ # Icônes de l'application +│ ├── 📁 screenshots/ # Captures d'écran pour la documentation +│ └── 📁 svg/ # Actifs SVG +├── 📄 LICENSE # Fichier de licence +├── 📄 pyproject.toml # Métadonnées du projet et dépendances +├── 📄 README.md # Documentation du projet +├── 📄 requirements.txt # Dépendances Python (dev) +└── 📁 ytsage/ # Paquet source + ├── 📁 assets/ # Actifs d'exécution + │ ├── 📁 Icon/ # Icônes de l'application + │ └── 📁 sound/ # Fichiers audio + ├── 📁 languages/ # Fichiers de localisation + │ ├── 📄 ar.json # Traduction arabe + │ ├── 📄 de.json # Traduction allemande + │ ├── 📄 en.json # Traduction anglaise + │ └── ... # Autres langues + ├── 📁 core/ # Logique métier principale + │ ├── 📄 __init__.py # Initialisation du paquet core + │ ├── 📄 ytsage_deno.py # Intégration Deno + │ ├── 📄 ytsage_downloader.py # Fonctionnalité de téléchargement + │ ├── 📄 ytsage_ffmpeg.py # Intégration FFmpeg + │ ├── 📄 ytsage_utils.py # Fonctions utilitaires + │ └── 📄 ytsage_yt_dlp.py # Intégration yt-dlp + ├── 📁 gui/ # Composants de l'interface utilisateur + │ ├── 📄 __init__.py # Initialisation du paquet GUI + │ ├── 📄 ytsage_gui_main.py # Fenêtre principale de l'application + │ └── 📁 ytsage_gui_dialogs/ # Classes de dialogues + ├── 📁 utils/ # Modules utilitaires + │ ├── 📄 __init__.py # Initialisation du paquet utils + │ ├── 📄 ytsage_config_manager.py # Gestion de la configuration + │ └── 📄 ytsage_logger.py # Utilitaires de log + ├── 📄 __init__.py # Point d'entrée du paquet + └── 📄 main.py # Script d'exécution principal ```
    -## ⭐️ Histoire des étoiles +## ⭐️ Historique des étoiles
    -## Historique des étoiles +## Star History @@ -541,7 +546,7 @@ YTSage/ ## 📜 Licence -Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus de détails. +Ce projet est sous licence MIT - voir le fichier [LICENSE](LICENSE) pour plus de détails. ## 🙏 Remerciements @@ -550,7 +555,7 @@ Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus
    -

    Un merci sincère à tous ceux qui ont contribué à ce projet en ouvrant un ticket pour suggérer une amélioration ou signaler un bug.

    +

    Un grand merci à tous ceux qui ont contribué à ce projet en ouvrant un ticket pour suggérer une amélioration ou signaler un bug.

    @@ -560,27 +565,28 @@ Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus - + - + - + - + - + - - + + + - - + + @@ -588,11 +594,11 @@ Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus - + - + - + @@ -605,7 +611,7 @@ Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus -## ⚠️ Avis de non-responsabilité +## ⚠️ Clause de non-responsabilité Cet outil est destiné à un usage personnel uniquement. Veuillez respecter les conditions d'utilisation de YouTube et les droits des créateurs de contenu. @@ -613,6 +619,6 @@ Cet outil est destiné à un usage personnel uniquement. Veuillez respecter les
    -Réalisé avec ❤️ par [oop7](https://github.com/oop7) +Fait avec ❤️ par [oop7](https://github.com/oop7)
    From 0c73bfcd989b5a135e0c812d2ef1ca9223315b8f Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 14:51:33 +0300 Subject: [PATCH 549/568] Polish README translations (ES, HI, ID) Copy edits and consistency fixes for translated README files in readme-translations (Spanish, Hindi and Indonesian). Changes include corrected wording and grammar, standardized headings and labels (installation, usage, settings), localized UI/alt text updates, clarified install/update instructions, unified terminology (e.g. Generic Mode, FFmpeg/yt-dlp detection), and various formatting improvements across language tables and troubleshooting notes. Pure documentation updates only. --- readme-translations/README.es.md | 472 +++++++++++++++-------------- readme-translations/README.hi.md | 489 +++++++++++++++--------------- readme-translations/README.id.md | 502 ++++++++++++++++--------------- 3 files changed, 741 insertions(+), 722 deletions(-) diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md index 03dc2b8..9455c21 100644 --- a/readme-translations/README.es.md +++ b/readme-translations/README.es.md @@ -12,25 +12,25 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**Un descargador de YouTube moderno con una interfaz PySide6 limpia.** -Descargue videos en cualquier calidad, extraiga audio, obtenga subtítulos y más. +**Un moderno descargador de YouTube con una interfaz PySide6 elegante.** +Descarga videos en cualquier calidad, extrae audio, obtén subtítulos y más. -### 🌍 LÉAME Idiomas +### 🌍 Idiomas del README Inglés: [EN](../README.md) -| العربية: [AR](README.ar.md) +| Árabe: [AR](README.ar.md) | Alemán: [DE](README.de.md) | Español: [ES](README.es.md) | Francés: [FR](README.fr.md) -| हिन्दी: [HI](README.hi.md) -| Bahasa Indonesia: [ID](README.id.md) +| Hindi: [HI](README.hi.md) +| Indonesio: [ID](README.id.md) | Italiano: [IT](README.it.md) -| Traducción: [JA](README.ja.md) -| Polonia: [PL](README.pl.md) -| Português: [PT](README.pt.md) +| Japonés: [JA](README.ja.md) +| Polaco: [PL](README.pl.md) +| Portugués: [PT](README.pt.md) | Ruso: [RU](README.ru.md) | Turco: [TR](README.tr.md) -| Traducción: [ZH](README.zh.md) +| Chino: [ZH](README.zh.md)

    Instalación • @@ -38,8 +38,8 @@ Inglés: [EN](../README.md) UsoCapturas de pantallaSolución de problemas • - Patrocinador • - Contribuyendo + Patrocinar • + Contribuir

    @@ -51,42 +51,43 @@ Inglés: [EN](../README.md) YTSage está diseñado para usuarios que desean un **descargador de YouTube simple pero potente**. A diferencia de otras herramientas, ofrece: -- Una interfaz PySide6 limpia y moderna -- Descargas con un solo clic de vídeo, audio y subtítulos. -- Funciones avanzadas como SponsorBlock, combinación de subtítulos y selección de listas de reproducción -- Modo genérico opcional para sitios compatibles con yt-dlp más allá de YouTube -- Soporte multiplataforma y fácil instalación. +- Interfaz PySide6 moderna y limpia +- Descarga con un solo clic para video, audio y subtítulos +- Funciones avanzadas como SponsorBlock, fusión de subtítulos y selección de listas de reproducción +- Modo genérico (Generic Mode) opcional para sitios compatibles con yt-dlp más allá de YouTube +- Soporte multiplataforma e instalación sencilla ## ✨ Características
    -| Características principales | Funciones avanzadas | Funciones adicionales | +| Características básicas | Características avanzadas | Características adicionales | |-----------------------------------|-----------------------------------------|------------------------------------| -| 🎥 Tabla de formato | 🚫 Integración de SponsorBlock | 🎞️ Pantalla FPS/HDR | -| 🎵 Extracción de audio | 📝 Seleccionar y fusionar múltiples subtítulos | 🔄 Actualización automática yt-dlp | -| ✨ Interfaz de usuario sencilla | 💾 Guardar descripción y miniatura | 🛠️ FFmpeg/yt-dlp/Detección de Deno | +| 🎥 Tabla de formatos | 🚫 Integración de SponsorBlock | 🎞️ Pantalla FPS/HDR | +| 🎵 Extracción de audio | 📝 Selección y fusión de subtítulos | 🔄 Actualización automática de yt-dlp | +| ✨ Interfaz de usuario simple | 💾 Guarda descripción y miniatura | 🛠️ Detección de FFmpeg/yt-dlp/Deno | | 📋 Soporte y selector de listas de reproducción | 🚀 Limitador de velocidad | ⚙️ Comandos personalizados | -| 📑 Insertar capítulos | ✂️ Recortar secciones de video | 🍪 Iniciar sesión con cookies | +| 📑 Integración de capítulos | ✂️ Recorte de secciones de video | 🍪 Inicio de sesión con cookies | | 📜 Historial de descargas | 🔄 Selección de canal de lanzamiento | 🌐 Soporte de proxy | -| 🎚️ Conversión de formato de audio | 🎬 Configuración de formato de vídeo | 🆙 Pestaña de actualización incorporada | -| 🌍 Modo Genérico | 🔊 Normalización de audio (EBU R128) | 🌍 Localización en 14 idiomas | +| 🎚️ Conversión de formato de audio | 🎬 Configuración de formato de video | 🆙 Pestaña de actualización integrada | +| 🌍 Modo genérico | 🔊 Normalización de audio (EBU R128) | 🌍 Localización en 14 idiomas | +| 💾 Exportación de listas de reproducción | ⚙️ Calidad y subtítulos predeterminados | |
    ## 🚀 Instalación -### ⚡ Instalación rápida (recomendado) +### ⚡ Instalación rápida (Recomendado) -Instale YTSage desde PyPI: +Instala YTSage vía PyPI: ```bash pip install ytsage ```
    -🔄 Actualizar una instalación existente +🔄 Actualizar instalación existente ```bash pip install --upgrade ytsage @@ -94,41 +95,41 @@ pip install --upgrade ytsage
    -Luego inicie la aplicación: +Luego, ejecuta la aplicación: ```bash ytsage ``` -### 📦 Ejecutables prediseñados +### 📦 Ejecutables precompilados -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 Descargar el último lanzamiento](https://github.com/oop7/YTSage/releases/latest) -#### 🪟Ventanas +#### 🪟 Windows | Formato | Descripción | |--------|-------------| | ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Instalador estándar | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Con FFmpeg incluido | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versión portátil, no requiere instalación | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portátil con FFmpeg, con cremallera | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Con FFmpeg incorporado | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versión portable, no requiere instalación | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable con FFmpeg, comprimido |
    🛠️ Pasos de instalación -1. **Instalador EXE (`.exe`)**: haga doble clic en el archivo y siga el asistente de configuración. -2. **Versión portátil (`.zip`)**: extraiga el archivo a la ubicación deseada y ejecute `ytsage.exe`. -3. **FFmpeg incluido**: elija las versiones incluidas de FFmpeg si no tiene FFmpeg instalado en su sistema. +1. **Instalador EXE (`.exe`)**: Haz doble clic en el archivo y sigue el asistente de configuración. +2. **Versión portable (`.zip`)**: Extrae el archivo en el lugar deseado y ejecuta `ytsage.exe`. +3. **FFmpeg incorporado**: Elige las versiones con FFmpeg incorporado si no tienes FFmpeg instalado en tu sistema.
    -#### 🐧Linux +#### 🐧 Linux | Formato | Descripción | |--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paquete Debian | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portátil | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portable | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paquete RPM | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Paquete plano | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak Bundle |
    🛠️ Pasos de instalación @@ -136,43 +137,43 @@ ytsage - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Repara dependencias faltantes si es necesario ``` - **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` -- **Imagen de aplicación (`.AppImage`)**: +- **AppImage (`.AppImage`)**: ```bash chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**: siga las instrucciones en Flathub o ejecute: +- **Flatpak**: Sigue las instrucciones en Flathub o ejecuta: ```bash flatpak install flathub io.github.oop7.ytsage ```
    -#### 🍎macOS +#### 🍎 macOS | Formato | Descripción | |--------|-------------| | ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplicación comprimida para Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalador de imágenes de disco para Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalador de imagen de disco para Apple Silicon |
    🛠️ Pasos de instalación -- **Instalador de DMG (`.dmg`)**: haga doble clic para montar, luego arrastre `YTSage.app` a su carpeta de Aplicaciones. -- **Archivo de aplicaciones (`.zip`)**: extrae el zip y mueve `YTSage.app` a tu carpeta de Aplicaciones. +- **Instalador DMG (`.dmg`)**: Haz doble clic para montar, luego arrastra `YTSage.app` a tu carpeta de Aplicaciones. +- **Archivo de aplicación (`.zip`)**: Extrae el zip y mueve `YTSage.app` a tu carpeta de Aplicaciones. -*Nota: Si encuentra el error "La aplicación está dañada", consulte el [macOS troubleshooting section](#troubleshooting) a continuación.* +*Nota: Si encuentras el error "La aplicación está dañada", consulta la sección de solución de problemas de macOS a continuación.*
    ---
    -💻 Instalación manual desde la fuente +💻 Instalación manual desde el código fuente ### 1. Clonar el repositorio @@ -183,7 +184,7 @@ cd YTSage ### 2. Instalar dependencias -#### ⚡ Con ultravioleta +#### ⚡ Con uv ```bash uv pip install . @@ -195,7 +196,7 @@ uv pip install . pip install . ``` -### 3. Ejecute la aplicación +### 3. Ejecutar la aplicación ```bash python -m ytsage.main @@ -209,167 +210,171 @@ python -m ytsage.main
    Composants de base
    FFmpegTraitement multimédiaTraitement média
    DénoDeno Runtime pour l'intégration avec yt-dlp
    Bibliothèques et frameworks
    Bibliothèques et Frameworks
    PySide6Cadre GUIFramework GUI
    OreillerPillow Traitement d'images
    demandesDemandes HTTP
    requestsRequêtes HTTP
    emballageVersion et gestion des packagespackagingGestion des versions et des paquets
    markdown
    loguruJournalisationLogging
    Actifs et contributeurs
    Actifs & Contributeurs
    Nouvelle notification 09 par UniversfieldNew Notification 09 by Universfield Son de notification
    - - + + - - + + - - + + - +
    Download SettingsPlaylist DownloadAjustes de descargaDescarga de lista de reproducción
    Configuración de descargaDescargar lista de reproducciónAjustes de descargaDescarga de lista de reproducción
    Audio Format Selection with Save ThumbnailCustom OptionsSelección de formato de audioOpción personalizada
    Formato de audioOpciones personalizadasOpción personalizada
    -
    +
    + ## 📖 Uso
    🎯 Uso básico -1. **Inicie YTSage** -2. **Pegue la URL de YouTube** (o use el botón "Pegar URL") -3. **Haga clic en "Analizar"** -4. **Seleccione formato:** - - `Video` para descargas de videos +1. **Lanza YTSage** +2. **Pega la URL de YouTube** (o usa el botón "Paste URL") +3. **Haz clic en "Analyze"** +4. **Selecciona el formato:** + - `Video` para descargas de video - `Audio Only` para extracción de audio -5. **Elija Opciones:** - - Habilitar subtítulos y seleccionar idioma. - - Habilitar la combinación de subtítulos +5. **Elige opciones:** + - Activar subtítulos y elegir idioma + - Activar fusión de subtítulos - Guardar miniatura - - Eliminar segmentos de patrocinadores + - Eliminar segmentos patrocinados - Guardar descripción - - Insertar capítulos -6. **Seleccione el directorio de salida** -7. **Haga clic en "Descargar"** + - Integrar capítulos +6. **Selecciona directorio de salida** +7. **Haz clic en "Download"** -> 💡 El directorio de descarga predeterminado es la carpeta "Descargas" del usuario. +> 💡 El directorio de descarga predeterminado es la carpeta "Downloads" del usuario.
    -📋 Descarga de lista de reproducción +📋 Descarga de listas de reproducción -1. **Pegar URL de la lista de reproducción** -2. **Haga clic en "Analizar"** -3. **Seleccione videos del selector de lista de reproducción (opcional, el valor predeterminado es todos)** -4. **Elija el formato/calidad deseado** -5. **Haga clic en "Descargar"** +1. **Pega la URL de la lista de reproducción** +2. **Haz clic en "Analyze"** +3. **Selecciona videos del selector de listas (opcional, todos por defecto)** +4. **Elige formato/calidad deseada** +5. **Haz clic en "Download"** -> 💡 La aplicación maneja automáticamente la cola de descarga +> 💡 La aplicación gestiona las colas de descarga automáticamente, y puedes exportar entradas de la lista como archivos `.txt`, `.csv`, `.m3u` o `.json`.
    -🌍 Modo genérico para sitios que no son de YouTube +🌍 Modo genérico para sitios que no son YouTube -Utilice el modo genérico cuando desee que YTSage acepte URL de sitios compatibles con yt-dlp, como Dailymotion, CBC Gem, TikTok y otros. +Usa el modo genérico (Generic Mode) cuando desees que YTSage acepte URLs de sitios compatibles con yt-dlp, como Dailymotion, CBC Gem, TikTok y otros. Cómo usarlo: -1. Abra `Download Settings`. -2. Habilite `Generic Mode`. -3. Pegue una URL de lista de reproducción o video compatible que no sea de YouTube. -4. Haga clic en `Analyze`. -5. Elija un formato y descárguelo como de costumbre. +1. Abre `Download Settings`. +2. Activa `Generic Mode`. +3. Pega una URL de video o lista de reproducción compatible que no sea de YouTube. +4. Haz clic en `Analyze`. +5. Elige el formato y descarga como de costumbre. Notas: -- El modo genérico solo cambia la validación de URL dentro de YTSage. El sitio de destino aún debe ser compatible con la versión de yt-dlp instalada. -- Algunos sitios requieren cookies, una sesión de inicio de sesión, un proxy o argumentos yt-dlp adicionales según el extractor. -- Si un sitio falla, actualice primero yt-dlp desde la pestaña de actualización integrada antes de informar el problema. +- El modo genérico solo cambia la validación de la URL dentro de YTSage. El sitio debe ser compatible con tu versión instalada de yt-dlp. +- Algunos sitios requieren cookies, inicio de sesión, proxy o argumentos adicionales de yt-dlp dependiendo del extractor. +- Si un sitio falla, actualiza primero yt-dlp desde la pestaña de actualización integrada antes de informar del problema.
    -🧰 Opciones de descarga y medios +🧰 Opciones de medios y descarga -- **Opciones de subtítulos:** Filtrar idiomas e incrustar subtítulos en el archivo de video -- **Combinación de subtítulos:** Combina subtítulos en el archivo de video para obtener subtítulos codificados -- **Guardar descripción:** Guarde la descripción del video como un archivo de texto. -- **Guardar miniatura:** Guarda la miniatura del vídeo como un archivo de imagen. -- **Incrustar capítulos:** Incrustar marcadores de capítulos como metadatos para reproductores de video compatibles -- **Eliminar segmentos de patrocinador:** Elimina segmentos de patrocinador del video usando SponsorBlock -- **Recortar video:** Descargue solo partes específicas de un video especificando rangos de tiempo en formato `HH:MM:SS` +- **Opciones de subtítulos:** Filtra idiomas e incrusta subtítulos en el archivo de video. +- **Fusión de subtítulos:** Fusiona subtítulos en el archivo de video para subtítulos fijos (hardcoded). +- **Guardar descripción:** Guarda la descripción del video como un archivo de texto. +- **Guardar miniatura:** Guarda la miniatura del video como un archivo de imagen. +- **Integrar capítulos:** Incluye marcas de capítulo como metadatos para reproductores de video compatibles. +- **Eliminar segmentos patrocinados:** Elimina segmentos patrocinados del video usando SponsorBlock. +- **Recortar video:** Descarga solo partes específicas de un video especificando rangos de tiempo en formato `HH:MM:SS`.
    -⚙️ Configuración de archivos y salida +⚙️ Ajustes de salida y archivos + +- **Limitador de velocidad:** Limita la velocidad de descarga, p. ej., `500K` para 500 KB/s. +- **Guardar ruta de descarga:** Guarda la ruta de descarga predeterminada para futuras descargas. Disponible en **Download Settings → Download Path**. +- **Resolución de video predeterminada:** Establece tu resolución de video preferida para selección automática (p. ej., 1080p, 720p). Disponible en **Download Settings → Default Video Resolution**. +- **Idiomas de subtítulos predeterminados:** Establece idiomas de subtítulos para selección automática (separados por comas, p. ej., `es,en`). Disponible en **Download Settings → Default Subtitle Languages**. +- **Formato de nombre de archivo:** Personaliza el formato del nombre de archivo usando variables como `%(title)s`, `%(uploader)s`, `%(playlist_index)s` y `%(resolution)s`. Disponible en **Download Settings → Filename Format**. +- **Forzar formato de salida:** Fuerza las descargas de video a un formato de contenedor específico como `mp4`, `webm` o `mkv`. Disponible en **Download Settings → Output Format Settings**. +- **Conversión de formato de audio:** Convierte descargas de solo audio a formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` o `Best`. Disponible en **Download Settings → Audio Format Settings**. +- **Normalización de audio:** Estandariza el volumen para descargas de solo audio usando EBU R128. +- **Conexiones simultáneas:** Aumenta drásticamente la velocidad de descarga descargando archivos en múltiples fragmentos a la vez. Disponible en **Download Settings → General → Concurrent Connections** (1 por defecto, máximo recomendado 8-10 para evitar bloqueos por IP). -- **Limitador de velocidad:** Limita la velocidad de descarga, por ejemplo `500K` a 500 KB/s -- **Guardar ruta de descarga:** Guarde la ruta de descarga predeterminada para futuras descargas. Disponible en **Configuración de descarga → Ruta de descarga**. -- **Formato de nombre de archivo de salida:** Personalice el formato de nombre de archivo de salida usando variables como `%(title)s`, `%(uploader)s` y `%(resolution)s`. Disponible en **Configuración de descarga → Formato de nombre de archivo**. -- **Forzar formato de salida:** Fuerza las descargas de videos en un formato contenedor específico como `mp4`, `webm` o `mkv`. Disponible en **Configuración de descarga → Configuración de formato de salida**. -- **Conversión de formato de audio:** Convierta descargas de solo audio a formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` o `Best`. Disponible en **Configuración de descarga → Configuración de formato de audio**. -- **Normalización de audio:** Estandarice el volumen para descargas de solo audio usando EBU R128. -- **Conexiones Concurrentes:** Aumente la velocidad de descarga drásticamente descargando archivos en múltiples fragmentos simultáneamente. Disponible en **Configuración de Descarga → General → Conexiones Concurrentes** (El valor predeterminado es 1, el máximo recomendado es 8-10 para evitar bloqueos de IP).\n
    -🌐 Acceso y Red +🌐 Acceso y red -- **Iniciar sesión con cookies:** Inicie sesión en YouTube utilizando cookies para acceder a contenido privado. +- **Inicio de sesión con cookies:** Inicia sesión en YouTube usando cookies para acceder a contenido privado. Cómo usarlo: - 1. **Recomendado:** Utilice la opción `Extract cookies from browser` incorporada en la aplicación, luego seleccione su navegador y, opcionalmente, un perfil. - 2. Alternativamente, extraiga las cookies manualmente: - un. Exporte cookies desde su navegador usando una extensión como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) - B. Copiar las cookies en formato Netscape - c. Cree un archivo llamado `cookies.txt` y pegue las cookies en él - d. Seleccione el archivo `cookies.txt` en la aplicación -- **Soporte de proxy:** Utilice un servidor proxy para descargas, por ejemplo `http://:` -- **Modo genérico:** Permita que YTSage analice y descargue desde sitios que no sean de YouTube compatibles con yt-dlp. Habilítelo desde **Configuración de descarga → Modo genérico**. + 1. **Recomendado:** Usa la opción integrada `Extract cookies from browser` en la aplicación, luego selecciona tu navegador y opcionalmente un perfil. + 2. Alternativamente, extrae las cookies manualmente: + a. Exporta cookies de tu navegador usando una extensión como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Copia las cookies en formato Netscape + c. Crea un archivo llamado `cookies.txt` y pega las cookies + d. Selecciona el archivo `cookies.txt` en la aplicación +- **Soporte de proxy:** Usa un servidor proxy para las descargas, p. ej., `http://:` +- **Modo genérico:** Permite a YTSage analizar y descargar desde sitios que no son YouTube compatibles con yt-dlp. Actívalo en **Download Settings → Generic Mode**.
    -🛠️ Herramientas y Mantenimiento +🛠️ Herramientas y mantenimiento -- **Comandos personalizados:** Acceda a funciones avanzadas de yt-dlp a través de argumentos de línea de comando -- **Pestaña Actualizador:** Administre las herramientas de actualización integradas desde un solo lugar en Opciones personalizadas: - - **Actualizaciones de yt-dlp:** Busque actualizaciones y cambie entre los canales de lanzamiento estable y nocturno - - **Comprobador de versiones de FFmpeg:** Verifique su versión de FFmpeg y abra las guías de instalación - - **Actualizaciones de Deno:** Verifique y actualice el tiempo de ejecución de Deno -- **Detección de FFmpeg/yt-dlp/Deno:** Detecta automáticamente las rutas y versiones de FFmpeg, yt-dlp y Deno desde el cuadro de diálogo Acerca de. -- **Historial de descargas:** Vea descargas anteriores con miniaturas y estados desde el botón **Historial**. +- **Comandos personalizados:** Accede a funciones avanzadas de yt-dlp mediante argumentos de línea de comandos. +- **Pestaña de actualización:** Gestiona herramientas de actualización desde un solo lugar en Opciones personalizadas: + - **Actualizaciones de yt-dlp:** Busca actualizaciones y cambia entre canales estable y nightly. + - **Verificador de versión de FFmpeg:** Verifica tu versión de FFmpeg y abre guías de instalación. + - **Actualizaciones de Deno:** Verifica y actualiza el motor de ejecución Deno. +- **Detección de FFmpeg/yt-dlp/Deno:** Detecta automáticamente rutas y versiones de FFmpeg, yt-dlp y Deno desde el diálogo Acerca de. +- **Historial de descargas:** Visualiza descargas pasadas con miniaturas y estados desde el botón **History**.
    🌍 Localización -YTSage admite **14 idiomas** para accesibilidad mundial. Seleccione su idioma preferido en **Opciones personalizadas → Idioma**. +YTSage soporta **14 idiomas** para accesibilidad global. Selecciona tu idioma preferido en **Custom Options → Language**. -### Idiomas admitidos +### Idiomas soportados | Idioma | Código | Idioma | Código | |----------|------|----------|------| | 🇺🇸 Inglés | `en` | 🇪🇸 Español | `es` | | 🇸🇦 Árabe | `ar` | 🇫🇷 Francés | `fr` | -| 🇩🇪 Alemán | `de` | 🇮🇳 hindi | `hi` | +| 🇩🇪 Alemán | `de` | 🇮🇳 Hindi | `hi` | | 🇮🇩 Indonesio | `id` | 🇮🇹 Italiano | `it` | | 🇯🇵 Japonés | `ja` | 🇵🇱 Polaco | `pl` | | 🇧🇷 Portugués | `pt` | 🇷🇺 Ruso | `ru` | | 🇹🇷 Turco | `tr` | 🇨🇳 Chino | `zh` | -### Léame Traducciones +### Traducciones del README | Idioma | Archivo | Idioma | Archivo | |----------|------|----------|------| -| 🇺🇸 Inglés | [README.md](../README.md) | 🇪🇸 Español | [README.es.md](README.es.md) +| 🇺🇸 Inglés | [README.md](README.md) | 🇪🇸 Español | [README.es.md](README.es.md) | | 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francés | [README.fr.md](README.fr.md) | -| 🇩🇪 Alemán | [README.de.md](README.de.md) | 🇮🇳 hindi | [README.hi.md](README.hi.md) | +| 🇩🇪 Alemán | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonesio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) | | 🇯🇵 Japonés | [README.ja.md](README.ja.md) | 🇵🇱 Polaco | [README.pl.md](README.pl.md) | | 🇧🇷 Portugués | [README.pt.md](README.pt.md) | 🇷🇺 Ruso | [README.ru.md](README.ru.md) | | 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳 Chino | [README.zh.md](README.zh.md) | -> 💡 **¿Quieres contribuir con una traducción?** ¡Consulta la sección [Contributing](#contributing) para ayudarnos a agregar más idiomas! +> 💡 **¿Quieres contribuir con una traducción?** ¡Consulta la sección de [Contribución](#contributing) para ayudarnos a añadir más idiomas!
    @@ -377,52 +382,52 @@ YTSage admite **14 idiomas** para accesibilidad mundial. Seleccione su idioma pr ## 🛠️ Solución de problemas
    -Haga clic para ver problemas y soluciones comunes +Haz clic para ver problemas comunes y soluciones -- **La tabla de formato no se muestra:** Actualice yt-dlp a la última versión y cambie a yt-dlp todas las noches. -- **La descarga falla:** Verifique su conexión a Internet y asegúrese de que el video esté disponible. +- **La tabla de formatos no aparece:** Actualiza yt-dlp a la última versión y cambia a yt-dlp nightly. +- **Fallo de descarga:** Verifica tu conexión a internet y asegúrate de que el video esté disponible. - **Errores de descarga específicos:** - - **Vídeos privados:** Utilice la autenticación de cookies para acceder a contenido privado. - - **Contenido restringido por edad:** Inicie sesión en su cuenta de YouTube para ver videos restringidos por edad. - - **Videos bloqueados geográficamente:** Considere usar una VPN para evitar las restricciones regionales. - - **Videos eliminados/eliminados:** El video ya no está disponible en YouTube. - - **Transmisiones en vivo:** Las transmisiones en vivo no se pueden descargar; espera a que termine la transmisión. - - **Errores de red:** Verifica tu conexión a Internet y vuelve a intentarlo. - - **URL no válidas:** Asegúrese de que la URL sea correcta y provenga de una plataforma compatible. - - **Contenido premium:** Requiere membresía de YouTube Premium. - - **Bloqueos de derechos de autor:** El contenido está bloqueado debido a restricciones de derechos de autor. -- **Separar archivos de video y audio después de la descarga:** Esto sucede cuando falta FFmpeg o no se detecta. YTSage requiere FFmpeg para fusionar transmisiones de audio y video de alta calidad. - - **Solución:** Asegúrese de que FFmpeg esté instalado y sea accesible en la RUTA de su sistema. Para los usuarios de Windows, la opción más sencilla es descargar el archivo `YTSage-v-ffmpeg.exe`, que viene incluido con FFmpeg. + - **Videos privados:** Usa autenticación por cookies para acceder a contenido privado. + - **Contenido con restricción de edad:** Inicia sesión en tu cuenta de YouTube para ver videos restringidos. + - **Videos bloqueados geográficamente:** Considera usar una VPN para saltar restricciones regionales. + - **Videos eliminados:** El video ya no está disponible en YouTube. + - **Transmisiones en vivo:** Los directos no se pueden descargar; espera a que la transmisión termine. + - **Errores de red:** Verifica tu conexión a internet e inténtalo de nuevo. + - **URLs no válidas:** Asegúrate de que la URL sea correcta y de una plataforma compatible. + - **Contenido Premium:** Requiere suscripción a YouTube Premium. + - **Bloqueos por copyright:** El contenido está bloqueado por restricciones de derechos de autor. +- **Archivos de video y audio separados tras descarga:** Esto sucede cuando falta FFmpeg o no se detecta. YTSage requiere FFmpeg para fusionar flujos de video y audio de alta calidad. + - **Solución:** Asegúrate de que FFmpeg esté instalado y accesible en el PATH de tu sistema. Para usuarios de Windows, la opción más fácil es descargar el archivo `YTSage-v-ffmpeg.exe`, que incluye FFmpeg. --- -#### 🛡️ Advertencia de Windows Defender/Antivirus +#### 🛡️ Advertencia de Windows Defender / Antivirus -Algunos programas antivirus pueden marcar los archivos `.exe` como falsos positivos. Esta es una **limitación conocida** de las aplicaciones empaquetadas. +Algunos programas antivirus pueden marcar archivos `.exe` como falsos positivos. Esta es una **limitación conocida** de las aplicaciones empaquetadas. **Por qué sucede esto:** -- La heurística antivirus puede identificar erróneamente ejecutables empaquetados como sospechosos. +- La heurística de los antivirus puede identificar erróneamente ejecutables empaquetados como sospechosos. **Alternativas seguras:** -- ✅ **Usar instalación de pip:** `pip install ytsage` (recomendado) -- ✅ **Construir desde la fuente**: siguiendo esto [guide](../.github/CI_CD_README.md) -- ✅ **Incluye la aplicación en la lista blanca** en tu software antivirus +- ✅ **Usa la instalación de pip:** `pip install ytsage` (Recomendado) +- ✅ **Construye desde el código fuente**: siguiendo esta [guía](.github/CI_CD_README.md) +- ✅ **Añade la aplicación a la lista blanca** en tu software antivirus. #### 🍎 macOS: "La aplicación está dañada y no se puede abrir" -Si ve este error en macOS Sonoma o posterior, debe eliminar el atributo de cuarentena. +Si ves este error en macOS Sonoma o más reciente, necesitas eliminar el atributo de cuarentena. -1. **Abrir Terminal** (puedes encontrarlo usando Spotlight). -2. **Escriba el siguiente comando** pero **no** presione Entrar todavía. Asegúrate de incluir el espacio al final: +1. **Abre el Terminal** (puedes encontrarlo usando Spotlight). +2. **Escribe el siguiente comando** pero **no presiones** Enter todavía. Asegúrate de incluir el espacio al final: ```bash xattr -d com.apple.quarantine ``` -3. **Arrastre el archivo `YTSage.app`** desde la ventana de su Finder y suéltelo directamente en la ventana de Terminal. Esto pegará automáticamente la ruta del archivo correcta. -4. **Presione Entrar** para ejecutar el comando. -5. **Intenta abrir YTSage.app nuevamente.** Ahora debería iniciarse correctamente. +3. **Arrastra el archivo `YTSage.app`** desde tu ventana de Finder y suéltalo directamente en la ventana del Terminal. Esto pegará automáticamente la ruta correcta del archivo. +4. **Presiona Enter** para ejecutar el comando. +5. **Intenta abrir YTSage.app de nuevo.** Ahora debería lanzarse correctamente. --- -#### **Ubicaciones de configuración (avanzada)** +#### **Ubicaciones de configuración (Avanzado)** - **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage` @@ -430,40 +435,40 @@ Si ve este error en macOS Sonoma o posterior, debe eliminar el atributo de cuare
    -## 💖 Patrocinador +## 💖 Patrocinar -Si YTSage le ahorra tiempo, considere patrocinar el proyecto. El patrocinio ayuda a cubrir el tiempo de desarrollo, las pruebas en todas las plataformas y las mejoras futuras. +Si YTSage te ahorra tiempo, considera patrocinar el proyecto. El patrocinio ayuda a cubrir tiempo de desarrollo, pruebas en todas las plataformas y futuras mejoras. -- Patrocinadores de GitHub: https://github.com/sponsors/oop7 -- El enlace del patrocinador también está disponible directamente dentro de la aplicación desde el cuadro de diálogo Acerca de. +- GitHub Sponsors: https://github.com/sponsors/oop7 +- El enlace de patrocinio también está disponible directamente en la aplicación a través del diálogo Acerca de. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) -## 👥 Contribuyendo +## 👥 Contribuir -¡Agradecemos las contribuciones! Así es como puedes ayudar: +¡Agradecemos las contribuciones! Aquí tienes cómo puedes ayudar: -1. 🍴 Bifurca el repositorio -2. 🌿 Crea tu rama de funciones: +1. 🍴 Haz un Fork del repositorio +2. 🌿 Crea tu rama de características: ```bash git checkout -b feature/AmazingFeature ``` -3. 💾 Confirme sus cambios: +3. 💾 Haz commit de tus cambios: ```bash git commit -m 'Add some AmazingFeature' ``` -4. 📤 Empuje a la sucursal: +4. 📤 Haz Push a la rama: ```bash git push origin feature/AmazingFeature ``` -5. 🔄 Abra una solicitud de extracción +5. 🔄 Abre un Pull Request -### 🌍 Contribuyendo con traducciones +### 🌍 Contribuir con traducciones -- Actualice el archivo README localizado coincidente (por ejemplo `README.es.md`) -- Mantenga las cadenas de aplicaciones sincronizadas editando `ytsage/languages/.json` -- Si falta su idioma, comience desde `README.md` y cree `README..md` +- Actualiza el archivo README localizado correspondiente (p. ej., `readme-translations/README.es.md`) +- Mantén las cadenas de la aplicación sincronizadas editando `ytsage/languages/.json` +- Si falta tu idioma, comienza desde `README.md` y crea `README..md`
    📂 Estructura del proyecto @@ -476,58 +481,58 @@ Este documento describe la estructura de carpetas organizada de YTSage. ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # Configuración de GitHub +│ ├── 📁 ISSUE_TEMPLATE/ # Plantillas de problemas +│ │ └── 🐛-bug-report.md # Plantilla de informe de errores +│ ├─── 📁 workflows/ # Flujos de trabajo de GitHub Actions +│ │ ├── build-linux.yml # Flujo de construcción para Linux +│ │ ├── build-macos.yml # Flujo de construcción para macOS +│ │ │── build-windows.yml # Flujo de construcción para Windows +| | └── release-all.yml # Flujo de liberación maestra +│ └── 📄 CI_CD_README.md # Documentación de CI/CD +├── 📁 branding/ # Activos de marca (Capturas de pantalla, SVGs) +│ ├── 📁 icons/ # Iconos de la aplicación +│ ├── 📁 screenshots/ # Capturas de pantalla para documentación +│ └── 📁 svg/ # Activos SVG +├── 📄 LICENSE # Archivo de licencia +├── 📄 pyproject.toml # Metadatos del proyecto y dependencias +├── 📄 README.md # Documentación del proyecto +├── 📄 requirements.txt # Dependencias de Python (dev) +└── 📁 ytsage/ # Paquete de código fuente + ├── 📁 assets/ # Activos en tiempo de ejecución + │ ├── 📁 Icon/ # Iconos de la aplicación + │ └── 📁 sound/ # Archivos de audio + ├── 📁 languages/ # Archivos de localización + │ ├── 📄 ar.json # Traducción al árabe + │ ├── 📄 de.json # Traducción al alemán + │ ├── 📄 en.json # Traducción al inglés + │ └── ... # Otros idiomas + ├── 📁 core/ # Lógica de negocio principal + │ ├── 📄 __init__.py # Init del paquete core + │ ├── 📄 ytsage_deno.py # Integración con Deno + │ ├── 📄 ytsage_downloader.py # Funcionalidad de descarga + │ ├── 📄 ytsage_ffmpeg.py # Integración con FFmpeg + │ ├── 📄 ytsage_utils.py # Funciones de utilidad + │ └── 📄 ytsage_yt_dlp.py # Integración con yt-dlp + ├── 📁 gui/ # Componentes de interfaz de usuario + │ ├── 📄 __init__.py # Init del paquete GUI + │ ├── 📄 ytsage_gui_main.py # Ventana principal de la aplicación + │ └── 📁 ytsage_gui_dialogs/ # Clases de diálogos + ├── 📁 utils/ # Módulos de utilidad + │ ├── 📄 __init__.py # Init del paquete utils + │ ├── 📄 ytsage_config_manager.py # Gestión de configuración + │ └── 📄 ytsage_logger.py # Utilidad de registro + ├── 📄 __init__.py # Punto de entrada del paquete + └── 📄 main.py # Script de ejecución principal ```
    -## ⭐️ Historia de las estrellas +## ⭐️ Historial de estrellas
    -## Historia de las estrellas +## Star History @@ -541,16 +546,16 @@ YTSage/ ## 📜 Licencia -Este proyecto tiene la licencia MIT; consulte el archivo [LICENSE](../LICENSE) para obtener más detalles. +Este proyecto está bajo la Licencia MIT - mira el archivo [LICENSE](LICENSE) para más detalles. ## 🙏 Agradecimientos
    -Mostrar agradecimientos +Ver agradecimientos
    -

    Un sincero agradecimiento a todos los que contribuyeron a este proyecto abriendo un problema para sugerir una mejora o informar un error.

    +

    Muchas gracias a todos los que han contribuido a este proyecto abriendo un problema para sugerir una mejora o informar de un error.

    @@ -564,35 +569,36 @@ Este proyecto tiene la licencia MIT; consulte el archivo [LICENSE](../LICENSE) p - + - + - + - + - + + - - + + - - + + - + - + - + @@ -607,7 +613,7 @@ Este proyecto tiene la licencia MIT; consulte el archivo [LICENSE](../LICENSE) p ## ⚠️ Descargo de responsabilidad -Esta herramienta es sólo para uso personal. Respete los términos de servicio de YouTube y los derechos de los creadores de contenido. +Esta herramienta es solo para uso personal. Por favor, respeta los términos de servicio de YouTube y los derechos de los creadores de contenido. --- diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md index 6f0bb2e..28c7d8f 100644 --- a/readme-translations/README.hi.md +++ b/readme-translations/README.hi.md @@ -12,29 +12,29 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**स्वच्छ PySide6 इंटरफ़ेस वाला एक आधुनिक YouTube डाउनलोडर।** -किसी भी गुणवत्ता में वीडियो डाउनलोड करें, ऑडियो निकालें, उपशीर्षक प्राप्त करें और बहुत कुछ करें। +**एक आधुनिक YouTube डाउनलोडर, एक स्वच्छ PySide6 इंटरफ़ेस के साथ।** +किसी भी गुणवत्ता में वीडियो डाउनलोड करें, ऑडियो निकालें, उपशीर्षक प्राप्त करें, और बहुत कुछ। -### 🌍 रीडमी भाषाएँ +### 🌍 README भाषाएँ अंग्रेज़ी: [EN](../README.md) -| उत्तर: [AR](README.ar.md) +| अरबी: [AR](README.ar.md) | जर्मन: [DE](README.de.md) -| Español: [ES](README.es.md) -| फ़्रेंच: [FR](README.fr.md) -| हिन्दी: [HI](README.hi.md) -| बहासा इंडोनेशिया: [ID](README.id.md) -| इटालियनो: [IT](README.it.md) -| उत्तर: [JA](README.ja.md) -| पोल्स्की: [PL](README.pl.md) +| स्पेनिश: [ES](README.es.md) +| फ्रेंच: [FR](README.fr.md) +| हिंदी: [HI](README.hi.md) +| इंडोनेशियाई: [ID](README.id.md) +| इतालवी: [IT](README.it.md) +| जापानी: [JA](README.ja.md) +| पोलिश: [PL](README.pl.md) | पुर्तगाली: [PT](README.pt.md) -| Русский: [RU](README.ru.md) +| रूसी: [RU](README.ru.md) | तुर्की: [TR](README.tr.md) -| उत्तर: [ZH](README.zh.md) +| चीनी: [ZH](README.zh.md)

    स्थापना • - विशेषताएं • + विशेषताएँउपयोगस्क्रीनशॉटसमस्या निवारण • @@ -49,12 +49,12 @@ ## ❓ YTSage क्यों? -YTSage उन उपयोगकर्ताओं के लिए डिज़ाइन किया गया है जो **सरल लेकिन शक्तिशाली YouTube डाउनलोडर** चाहते हैं। अन्य उपकरणों के विपरीत, यह प्रदान करता है: +YTSage उन उपयोगकर्ताओं के लिए डिज़ाइन किया गया है जो एक **सरल लेकिन शक्तिशाली YouTube डाउनलोडर** चाहते हैं। अन्य उपकरणों के विपरीत, यह प्रदान करता है: -- एक साफ़, आधुनिक PySide6 इंटरफ़ेस -- वीडियो, ऑडियो और उपशीर्षक के लिए एक-क्लिक डाउनलोड -- स्पॉन्सरब्लॉक, उपशीर्षक विलय और प्लेलिस्ट चयन जैसी उन्नत सुविधाएँ -- YouTube से परे yt-dlp-समर्थित साइटों के लिए वैकल्पिक जेनेरिक मोड +- एक आधुनिक और स्वच्छ PySide6 इंटरफ़ेस +- वीडियो, ऑडियो और उपशीर्षक के लिए वन-क्लिक डाउनलोड +- SponsorBlock, उपशीर्षक मर्जिंग, और प्लेलिस्ट चयन जैसी उन्नत सुविधाएँ +- YouTube से इतर yt-dlp द्वारा समर्थित साइटों के लिए वैकल्पिक जेनेरिक मोड - क्रॉस-प्लेटफ़ॉर्म समर्थन और आसान स्थापना @@ -62,31 +62,32 @@ YTSage उन उपयोगकर्ताओं के लिए डिज़

    -| मुख्य विशेषताएं | उन्नत सुविधाएँ | अतिरिक्त सुविधाएँ | -|------------------------------------------------|------------------------------------------------|------------------------------------------------| -| 🎥 प्रारूप तालिका | 🚫प्रायोजकब्लॉक एकीकरण | 🎞️ एफपीएस/एचडीआर डिस्प्ले | -| 🎵 ऑडियो निष्कर्षण | 📝 बहु-उपशीर्षक चुनें और मर्ज करें | 🔄 ऑटो-अपडेट yt-dlp | -| ✨ सरल यूआई | 💾 विवरण और थंबनेल सहेजें | 🛠️ FFmpeg/yt-dlp/Deno डिटेक्शन | -| 📋 प्लेलिस्ट समर्थन और चयनकर्ता | 🚀 गति सीमक | ⚙️ कस्टम कमांड | -| 📑 अध्याय एम्बेड करें | ✂️ वीडियो अनुभाग ट्रिम करें | 🍪 कुकीज़ के साथ लॉगिन करें | -| 📜इतिहास डाउनलोड करें | 🔄रिलीज़ चैनल चयन | 🌐 प्रॉक्सी सपोर्ट | -| 🎚️ ऑडियो प्रारूप रूपांतरण | 🎬 वीडियो प्रारूप सेटिंग्स | 🆙 बिल्ट-इन अपडेटर टैब | -| 🌍 जेनेरिक मोड | 🔊 ऑडियो सामान्यीकरण (EBU R128) | 🌍14 भाषाओं में स्थानीयकरण | +| बुनियादी विशेषताएँ | उन्नत विशेषताएँ | अतिरिक्त विशेषताएँ | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 प्रारूप तालिका | 🚫 SponsorBlock एकीकरण | 🎞️ FPS/HDR डिस्प्ले | +| 🎵 ऑडियो निष्कर्षण | 📝 उपशीर्षक चयन और मर्जिंग | 🔄 ऑटो yt-dlp अपडेट | +| ✨ सरल यूजर इंटरफेस | 💾 विवरण और थंबनेल सहेजें | 🛠️ FFmpeg/yt-dlp/Deno डिटेक्शन | +| 📋 प्लेलिस्ट समर्थन और चयनकर्ता | 🚀 गति सीमित करने वाला | ⚙️ कस्टम कमांड | +| 📑 अध्याय एकीकरण | ✂️ वीडियो अनुभाग ट्रिम करें | 🍪 कुकी लॉगिन | +| 📜 डाउनलोड इतिहास | 🔄 रिलीज़ चैनल चयन | 🌐 प्रॉक्सी समर्थन | +| 🎚️ ऑडियो प्रारूप रूपांतरण | 🎬 वीडियो प्रारूप सेटिंग्स | 🆙 एकीकृत अपडेट टैब | +| 🌍 जेनेरिक मोड | 🔊 ऑडियो सामान्यीकरण (EBU R128) | 🌍 14 भाषाओं में स्थानीयकरण | +| 💾 प्लेलिस्ट निर्यात | ⚙️ डिफ़ॉल्ट गुणवत्ता और उपशीर्षक | |
    ## 🚀 स्थापना -### ⚡ त्वरित इंस्टाल (अनुशंसित) +### ⚡ त्वरित स्थापना (अनुशंसित) -PyPI से YTSage इंस्टॉल करें: +PyPI के माध्यम से YTSage स्थापित करें: ```bash pip install ytsage ```
    -🔄मौजूदा इंस्टॉलेशन को अपडेट करें +🔄 मौजूदा स्थापना को अपडेट करें ```bash pip install --upgrade ytsage @@ -94,87 +95,87 @@ pip install --upgrade ytsage
    -फिर ऐप लॉन्च करें: +फिर एप्लिकेशन चलाएँ: ```bash ytsage ``` -### 📦 पूर्व-निर्मित निष्पादनयोग्य +### 📦 प्री-बिल्ट एक्जीक्यूटेबल्स (एक्ज़ीक्यूटेबल्स) -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 नवीनतम रिलीज़ डाउनलोड करें](https://github.com/oop7/YTSage/releases/latest) -#### 🪟 खिड़कियाँ +#### 🪟 Windows | प्रारूप | विवरण | -|-------|----| +|--------|-------------| | ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | मानक इंस्टॉलर | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg बंडल के साथ | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | पोर्टेबल संस्करण, किसी इंस्टॉलेशन की आवश्यकता नहीं | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg के साथ पोर्टेबल, ज़िपित | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg के साथ | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | पोर्टेबल संस्करण, स्थापना की आवश्यकता नहीं है | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg के साथ पोर्टेबल, ज़िप्ड |
    -🛠️ इंस्टालेशन चरण +🛠️ स्थापना चरण 1. **EXE इंस्टॉलर (`.exe`)**: फ़ाइल पर डबल-क्लिक करें और सेटअप विज़ार्ड का पालन करें। -2. **पोर्टेबल संस्करण (`.zip`)**: संग्रह को अपने इच्छित स्थान पर निकालें और `ytsage.exe` चलाएँ। -3. **एफएफएमपीईजी बंडल**: यदि आपके सिस्टम पर एफएफएमपीईजी स्थापित नहीं है तो एफएफएमपीईजी बंडल संस्करण चुनें। +2. **पोर्टेबल संस्करण (`.zip`)**: संग्रह को इच्छित स्थान पर निकालें और `ytsage.exe` चलाएँ। +3. **बिल्ट-इन FFmpeg**: यदि आपके सिस्टम पर FFmpeg स्थापित नहीं है, तो बिल्ट-इन FFmpeg वाले संस्करण चुनें।
    -#### 🐧 लिनक्स +#### 🐧 Linux | प्रारूप | विवरण | -|-------|----| +|--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | डेबियन पैकेज | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | ऐपइमेज, पोर्टेबल | -| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | आरपीएम पैकेज | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | फ़्लैटपैक बंडल | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, पोर्टेबल | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM पैकेज | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak बंडल |
    -🛠️ इंस्टालेशन चरण +🛠️ स्थापना चरण - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # यदि आवश्यक हो तो गायब निर्भरताओं को ठीक करें ``` -- **आरपीएम (`.rpm`)**: +- **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` -- **ऐपइमेज (`.AppImage`)**: +- **AppImage (`.AppImage`)**: ```bash chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **फ्लैटपैक**: फ़्लैटहब पर निर्देशों का पालन करें या चलाएँ: +- **Flatpak**: Flathub पर निर्देशों का पालन करें या चलाएँ: ```bash flatpak install flathub io.github.oop7.ytsage ```
    -#### 🍎 मैकओएस +#### 🍎 macOS | प्रारूप | विवरण | -|-------|----| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | एप्पल सिलिकॉन के लिए ज़िप्ड एप्लिकेशन | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | एप्पल सिलिकॉन के लिए डिस्क छवि इंस्टॉलर | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon के लिए ज़िप्ड ऐप | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon के लिए डिस्क इमेज इंस्टॉलर |
    -🛠️ इंस्टालेशन चरण +🛠️ स्थापना चरण -- **डीएमजी इंस्टॉलर (`.dmg`)**: माउंट करने के लिए डबल-क्लिक करें, फिर `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में खींचें। -- **ऐप आर्काइव (`.zip`)**: ज़िप निकालें और `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में ले जाएं। +- **DMG इंस्टॉलर (`.dmg`)**: माउंट करने के लिए डबल-क्लिक करें, फिर `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में खींचें। +- **ऐप आर्काइव (`.zip`)**: ज़िप निकालें और `YTSage.app` को अपने एप्लिकेशन फ़ोल्डर में ले जाएँ। -*ध्यान दें: यदि आपको "ऐप क्षतिग्रस्त है" त्रुटि आती है, तो नीचे [macOS troubleshooting section](#troubleshooting) देखें।* +*नोट: यदि आपको "ऐप क्षतिग्रस्त है" त्रुटि मिलती है, तो नीचे macOS समस्या निवारण अनुभाग देखें।*
    ---
    -💻 स्रोत से मैन्युअल इंस्टालेशन +💻 स्रोत से मैन्युअल स्थापना -### 1. रिपॉजिटरी को क्लोन करें +### 1. रिपॉजिटरी क्लोन करें ```bash git clone https://github.com/oop7/YTSage.git @@ -183,13 +184,13 @@ cd YTSage ### 2. निर्भरताएँ स्थापित करें -#### ⚡ यूवी के साथ +#### ⚡ uv के साथ ```bash uv pip install . ``` -#### 📦 या मानक पाइप के साथ +#### 📦 या मानक pip के साथ ```bash pip install . @@ -209,324 +210,329 @@ python -m ytsage.main
    Componentes principales
    DenoTiempo de ejecución para integración con yt-dlpRuntime para integración con yt-dlp
    Bibliotecas y marcos
    Librerías y Frameworks
    PySide6Marco GUIFramework de GUI
    AlmohadaPillow Procesamiento de imágenes
    solicitudes
    requests Solicitudes HTTP
    embalajeManejo de versiones y paquetespackagingGestión de versiones y empaquetado
    rebajaRepresentación de rebajasmarkdownRenderizado de Markdown
    loguruRegistroLogging
    Activos y contribuyentes
    Activos y Colaboradores
    Nueva Notificación 09 por UniversfieldNew Notification 09 by Universfield Sonido de notificación
    - - + + - - + + - +
    Download SettingsPlaylist Downloadडाउनलोड सेटिंग्सप्लेलिस्ट डाउनलोड
    डाउनलोड सेटिंग्स प्लेलिस्ट डाउनलोड
    Audio Format Selection with Save ThumbnailCustom Optionsऑडियो प्रारूप चयनकस्टम विकल्प
    ऑडियो फॉर्मेटऑडियो प्रारूप कस्टम विकल्प
    -
    +
    -## 📖 प्रयोग + +## 📖 उपयोग
    -🎯 मूल उपयोग +🎯 बुनियादी उपयोग 1. **YTSage लॉन्च करें** -2. **यूट्यूब यूआरएल चिपकाएँ** (या "यूआरएल चिपकाएँ" बटन का उपयोग करें) -3. **"विश्लेषण करें" पर क्लिक करें** +2. **YouTube URL पेस्ट करें** (या "Paste URL" बटन का उपयोग करें) +3. **"Analyze" पर क्लिक करें** 4. **प्रारूप चुनें:** - वीडियो डाउनलोड के लिए `Video` - ऑडियो निष्कर्षण के लिए `Audio Only` 5. **विकल्प चुनें:** - उपशीर्षक सक्षम करें और भाषा चुनें - - उपशीर्षक मर्ज सक्षम करें + - उपशीर्षक मर्जिंग सक्षम करें - थंबनेल सहेजें - - प्रायोजक खंड हटाएँ + - प्रायोजित अनुभाग हटाएँ - विवरण सहेजें - अध्याय एम्बेड करें -6. **आउटपुट डायरेक्टरी चुनें** -7. **"डाउनलोड" पर क्लिक करें** +6. **आउटपुट निर्देशिका चुनें** +7. **"Download" पर क्लिक करें** -> 💡 डिफ़ॉल्ट डाउनलोड निर्देशिका उपयोगकर्ता का "डाउनलोड" फ़ोल्डर है। +> 💡 डिफ़ॉल्ट डाउनलोड निर्देशिका उपयोगकर्ता का "Downloads" फ़ोल्डर है।
    📋 प्लेलिस्ट डाउनलोड -1. **प्लेलिस्ट यूआरएल चिपकाएँ** -2. **"विश्लेषण करें" पर क्लिक करें** -3. **प्लेलिस्ट चयनकर्ता से वीडियो चुनें (वैकल्पिक, सभी के लिए डिफ़ॉल्ट)** +1. **प्लेलिस्ट URL पेस्ट करें** +2. **"Analyze" पर क्लिक करें** +3. **प्लेलिस्ट चयनकर्ता से वीडियो चुनें (वैकल्पिक, डिफ़ॉल्ट रूप से सभी)** 4. **वांछित प्रारूप/गुणवत्ता चुनें** -5. **"डाउनलोड" पर क्लिक करें** +5. **"Download" पर क्लिक करें** -> 💡 एप्लिकेशन स्वचालित रूप से डाउनलोड कतार को संभालता है +> 💡 एप्लिकेशन डाउनलोड कतार को स्वचालित रूप से प्रबंधित करता है, और आप प्लेलिस्ट प्रविष्टियों को `.txt`, `.csv`, `.m3u`, या `.json` फ़ाइलों के रूप में निर्यात कर सकते हैं।
    -🌍 गैर-यूट्यूब साइटों के लिए जेनेरिक मोड +🌍 गैर-YouTube साइटों के लिए जेनेरिक मोड -जब आप चाहते हैं कि YTSage, yt-dlp द्वारा समर्थित साइटों, जैसे कि डेलीमोशन, CBC जेम, टिकटॉक और अन्य से यूआरएल स्वीकार करे, तो जेनेरिक मोड का उपयोग करें। +जेनेरिक मोड (Generic Mode) का उपयोग तब करें जब आप चाहते हैं कि YTSage yt-dlp द्वारा समर्थित साइटों जैसे Dailymotion, CBC Gem, TikTok और अन्य से URL स्वीकार करे। इसका उपयोग कैसे करें: 1. `Download Settings` खोलें। 2. `Generic Mode` सक्षम करें। -3. एक समर्थित गैर-यूट्यूब वीडियो या प्लेलिस्ट यूआरएल चिपकाएँ। +3. एक समर्थित वीडियो या प्लेलिस्ट URL पेस्ट करें जो YouTube नहीं है। 4. `Analyze` पर क्लिक करें। 5. एक प्रारूप चुनें और हमेशा की तरह डाउनलोड करें। -टिप्पणियाँ: +नोट्स: -- जेनेरिक मोड केवल YTSage के अंदर URL सत्यापन को बदलता है। लक्ष्य साइट को अभी भी आपके स्थापित yt-dlp संस्करण द्वारा समर्थित होना चाहिए। -- कुछ साइटों को एक्सट्रैक्टर के आधार पर कुकीज़, एक लॉगिन सत्र, एक प्रॉक्सी, या अतिरिक्त yt-dlp तर्क की आवश्यकता होती है। -- यदि कोई साइट विफल हो जाती है, तो समस्या की रिपोर्ट करने से पहले अंतर्निहित अपडेटर टैब से yt-dlp को अपडेट करें। +- जेनेरिक मोड केवल YTSage के अंदर URL सत्यापन को बदलता है। लक्ष्य साइट अभी भी आपके स्थापित yt-dlp संस्करण द्वारा समर्थित होनी चाहिए। +- कुछ साइटों को एक्सट्रैक्टर के आधार पर कुकीज़, लॉगिन, प्रॉक्सी या अतिरिक्त yt-dlp तर्कों की आवश्यकता होती है। +- यदि कोई साइट विफल हो जाती है, तो समस्या की रिपोर्ट करने से पहले एकीकृत अपडेट टैब से yt-dlp को अपडेट करें।
    -🧰मीडिया और डाउनलोड विकल्प +🧰 मीडिया और डाउनलोड विकल्प -- **उपशीर्षक विकल्प:** भाषाओं को फ़िल्टर करें और वीडियो फ़ाइल में उपशीर्षक एम्बेड करें -- **उपशीर्षक मर्ज:** हार्डकोडेड उपशीर्षक के लिए उपशीर्षक को वीडियो फ़ाइल में मर्ज करें -- **विवरण सहेजें:** वीडियो विवरण को टेक्स्ट फ़ाइल के रूप में सहेजें -- **थंबनेल सहेजें:** वीडियो थंबनेल को एक छवि फ़ाइल के रूप में सहेजें -- **अध्याय एम्बेड करें:**संगत वीडियो प्लेयर के लिए मेटाडेटा के रूप में अध्याय मार्कर एम्बेड करें -- **प्रायोजक खंड हटाएं:** SponsorBlock का उपयोग करके वीडियो से प्रायोजक खंड हटाएं -- **वीडियो ट्रिम करें:** `HH:MM:SS` प्रारूप में समय सीमा निर्दिष्ट करके वीडियो के केवल विशिष्ट भागों को डाउनलोड करें +- **उपशीर्षक विकल्प:** भाषाओं को फ़िल्टर करें और उपशीर्षक को वीडियो फ़ाइल में एम्बेड करें। +- **उपशीर्षक मर्जिंग:** हार्डकोडेड उपशीर्षक के लिए वीडियो फ़ाइल में उपशीर्षक मर्ज करें। +- **विवरण सहेजें:** वीडियो विवरण को टेक्स्ट फ़ाइल के रूप में सहेजें। +- **थंबनेल सहेजें:** वीडियो थंबनेल को छवि फ़ाइल के रूप में सहेजें। +- **अध्याय एम्बेड करें:** संगत वीडियो प्लेयर के लिए मेटाडेटा के रूप में अध्याय मार्कर शामिल करें। +- **प्रायोजित अनुभाग हटाएँ:** SponsorBlock का उपयोग करके वीडियो से प्रायोजित अनुभाग हटाएँ। +- **वीडियो ट्रिम करें:** `HH:MM:SS` प्रारूप में समय सीमा निर्दिष्ट करके वीडियो के केवल विशिष्ट भागों को डाउनलोड करें।
    ⚙️ आउटपुट और फ़ाइल सेटिंग्स -- **स्पीड लिमिटर:** डाउनलोड स्पीड सीमित करें, उदाहरण के लिए `500K` 500 KB/s के लिए -- **डाउनलोड पथ सहेजें:** भविष्य के डाउनलोड के लिए डिफ़ॉल्ट डाउनलोड पथ सहेजें। **डाउनलोड सेटिंग → डाउनलोड पथ** में उपलब्ध है। -- **आउटपुट फ़ाइल नाम प्रारूप:** `%(title)s`, `%(uploader)s`, और `%(resolution)s` जैसे वेरिएबल का उपयोग करके आउटपुट फ़ाइल नाम प्रारूप को अनुकूलित करें। **डाउनलोड सेटिंग्स → फ़ाइल नाम प्रारूप** में उपलब्ध है।- **फोर्स आउटपुट फॉर्मेट:** वीडियो डाउनलोड को एक विशिष्ट कंटेनर फॉर्मेट जैसे `mp4`, `webm`, या `mkv` में फोर्स करें। **डाउनलोड सेटिंग्स → आउटपुट फॉर्मेट सेटिंग्स** में उपलब्ध है। -- **ऑडियो प्रारूप रूपांतरण:** केवल-ऑडियो डाउनलोड को पसंदीदा प्रारूपों में परिवर्तित करें जैसे `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, या `Best`. **डाउनलोड सेटिंग्स → ऑडियो फॉर्मेट सेटिंग्स** में उपलब्ध है। -- **ऑडियो सामान्यीकरण:** EBU R128 का उपयोग करके केवल-ऑडियो डाउनलोड के लिए वॉल्यूम को मानकीकृत करें। -- **एक साथ कनेक्शन:** फाइलों को एक साथ कई अंशों में डाउनलोड करके डाउनलोड गति को नाटकीय रूप से बढ़ाएं। **डाउनलोड सेटिंग्स → सामान्य → एक साथ कनेक्शन** में उपलब्ध है (डिफ़ॉल्ट 1 है, IP लिमिटिंग को रोकने के लिए अनुशंसित अधिकतम 8-10 है)।\n +- **गति सीमित करने वाला:** डाउनलोड गति को सीमित करें, उदाहरण के लिए `500K` 500 KB/s के लिए। +- **डाउनलोड पथ सहेजें:** भविष्य के डाउनलोड के लिए डिफ़ॉल्ट डाउनलोड पथ सहेजता है। **Download Settings → Download Path** में उपलब्ध है। +- **डिफ़ॉल्ट वीडियो रिज़ॉल्यूशन:** स्वचालित चयन के लिए अपना पसंदीदा वीडियो रिज़ॉल्यूशन सेट करें (जैसे 1080p, 720p)। **Download Settings → Default Video Resolution** में उपलब्ध है। +- **डिफ़ॉल्ट उपशीर्षक भाषाएँ:** स्वचालित चयन के लिए डिफ़ॉल्ट उपशीर्षक भाषाएँ सेट करें (अल्पविराम से अलग, जैसे `hi,en`)। **Download Settings → Default Subtitle Languages** में उपलब्ध है। +- **फ़ाइल नाम प्रारूप:** `%(title)s`, `%(uploader)s`, `%(playlist_index)s` और `%(resolution)s` जैसे चरों का उपयोग करके आउटपुट फ़ाइल नाम प्रारूप को अनुकूलित करें। **Download Settings → Filename Format** में उपलब्ध है। +- **आउटपुट प्रारूप बाध्य करें:** वीडियो डाउनलोड को `mp4`, `webm` या `mkv` जैसे विशिष्ट कंटेनर प्रारूप में बाध्य करें। **Download Settings → Output Format Settings** में उपलब्ध है। +- **ऑडियो प्रारूप रूपांतरण:** केवल ऑडियो डाउनलोड को `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, या `Best` जैसे पसंदीदा प्रारूपों में परिवर्तित करें। **Download Settings → Audio Format Settings** में उपलब्ध है। +- **ऑडियो सामान्यीकरण:** EBU R128 का उपयोग करके केवल ऑडियो डाउनलोड के लिए वॉल्यूम को मानकीकृत करें। +- **एक साथ कनेक्शन:** एक साथ कई टुकड़ों में फ़ाइलें डाउनलोड करके डाउनलोड गति को काफी बढ़ाएँ। **Download Settings → General → Concurrent Connections** (डिफ़ॉल्ट 1, IP ब्लॉक से बचने के लिए अधिकतम 8-10 अनुशंसित) में उपलब्ध है। +
    -🌐 पहुंच और नेटवर्क +🌐 एक्सेस और नेटवर्क -- **कुकीज़ के साथ लॉगिन करें:** निजी सामग्री तक पहुंचने के लिए कुकीज़ का उपयोग करके यूट्यूब पर लॉगिन करें। - इसका उपयोग कैसे करें: - 1. **अनुशंसित:** ऐप में अंतर्निहित `Extract cookies from browser` विकल्प का उपयोग करें, फिर अपना ब्राउज़र और वैकल्पिक रूप से एक प्रोफ़ाइल चुनें। - 2. वैकल्पिक रूप से, कुकीज़ को मैन्युअल रूप से निकालें: - ए. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) जैसे एक्सटेंशन का उपयोग करके अपने ब्राउज़र से कुकीज़ निर्यात करें - बी. कुकीज़ को नेटस्केप प्रारूप में कॉपी करें - सी. `cookies.txt` नाम की एक फ़ाइल बनाएं और उसमें कुकीज़ पेस्ट करें - घ. ऐप में `cookies.txt` फ़ाइल चुनें -- **प्रॉक्सी समर्थन:** डाउनलोड के लिए प्रॉक्सी सर्वर का उपयोग करें, उदाहरण के लिए `http://:` -- **जेनेरिक मोड:** YTSage को yt-dlp द्वारा समर्थित गैर-यूट्यूब साइटों से विश्लेषण और डाउनलोड करने की अनुमति दें। इसे **डाउनलोड सेटिंग्स → जेनेरिक मोड** से सक्षम करें। +- **कुकी लॉगिन:** निजी सामग्री तक पहुँचने के लिए कुकीज़ का उपयोग करके YouTube में लॉगिन करें। + उपयोग: + 1. **अनुशंसित:** ऐप में बिल्ट-इन `Extract cookies from browser` विकल्प का उपयोग करें, फिर अपना ब्राउज़र और वैकल्पिक रूप से प्रोफ़ाइल चुनें। + 2. वैकल्पिक रूप से, कुकीज़ मैन्युअल रूप से निकालें: + a. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) जैसे एक्सटेंशन का उपयोग करके अपने ब्राउज़र से कुकीज़ निर्यात करें + b. नेटस्केप प्रारूप में कुकीज़ कॉपी करें + c. `cookies.txt` नामक फ़ाइल बनाएँ और कुकीज़ पेस्ट करें + d. ऐप में `cookies.txt` फ़ाइल चुनें +- **प्रॉक्सी समर्थन:** डाउनलोड के लिए प्रॉक्सी सर्वर का उपयोग करें, जैसे `http://:` +- **जेनेरिक मोड:** YTSage को yt-dlp द्वारा समर्थित गैर-YouTube साइटों से विश्लेषण और डाउनलोड करने की अनुमति देता है। इसे **Download Settings → Generic Mode** से सक्षम करें।
    🛠️ उपकरण और रखरखाव -- **कस्टम कमांड:** कमांड लाइन तर्कों के माध्यम से उन्नत yt-dlp सुविधाओं तक पहुंचें -- **अपडेटर टैब:** कस्टम विकल्पों में एक ही स्थान से अंतर्निहित अपडेट टूल प्रबंधित करें: - - **yt-dlp अपडेट:** अपडेट की जांच करें और स्थिर और रात्रिकालीन रिलीज़ चैनलों के बीच स्विच करें - - **एफएफएमपीईजी संस्करण जांचकर्ता:** अपना एफएफएमपीईजी संस्करण जांचें और इंस्टॉलेशन गाइड खोलें - - **डेनो अपडेट:** डेनो रनटाइम की जांच करें और अपडेट करें -- **FFmpeg/yt-dlp/Deno डिटेक्शन:** अबाउट डायलॉग से FFmpeg, yt-dlp, और Deno पथ और संस्करणों का स्वचालित रूप से पता लगाएं। -- **डाउनलोड इतिहास:** **इतिहास** बटन से थंबनेल और स्थितियों के साथ पिछले डाउनलोड देखें। +- **कस्टम कमांड:** कमांड-लाइन तर्कों के माध्यम से उन्नत yt-dlp सुविधाओं तक पहुँचें। +- **अपडेट टैब:** कस्टम विकल्पों में एक ही स्थान से बिल्ट-इन अपडेट टूल प्रबंधित करें: + - **yt-dlp अपडेट:** अपडेट के लिए जाँच करें और स्टेबल और नाइटली रिलीज़ चैनलों के बीच स्विच करें। + - **FFmpeg संस्करण जाँचकर्ता:** अपने FFmpeg संस्करण को सत्यापित करें और स्थापना मार्गदर्शिकाएँ खोलें। + - **Deno अपडेट:** Deno रनटाइम की जाँच करें और अपडेट करें। +- **FFmpeg/yt-dlp/Deno डिटेक्शन:** अबाउट डायलॉग से FFmpeg, yt-dlp और Deno के पथ और संस्करण का स्वचालित रूप से पता लगाता है। +- **डाउनलोड इतिहास:** **History** बटन से थंबनेल और स्थितियों के साथ पिछले डाउनलोड देखें।
    🌍 स्थानीयकरण -YTSage दुनिया भर में पहुंच के लिए **14 भाषाओं** का समर्थन करता है। **कस्टम विकल्प → भाषा** से अपनी पसंदीदा भाषा चुनें। +YTSage वैश्विक पहुँच के लिए **14 भाषाओं** का समर्थन करता है। **Custom Options → Language** में अपनी पसंदीदा भाषा चुनें। ### समर्थित भाषाएँ | भाषा | कोड | भाषा | कोड | -|-------|------|-------|------| -| 🇺🇸 अंग्रेजी | `en` | 🇪🇸स्पेनिश | `es` | +|----------|------|----------|------| +| 🇺🇸 अंग्रेज़ी | `en` | 🇪🇸 स्पेनिश | `es` | | 🇸🇦 अरबी | `ar` | 🇫🇷 फ्रेंच | `fr` | | 🇩🇪 जर्मन | `de` | 🇮🇳 हिंदी | `hi` | -| 🇮🇩 इंडोनेशियाई | `id` | 🇮🇹इतालवी | `it` | +| 🇮🇩 इंडोनेशियाई | `id` | 🇮🇹 इतालवी | `it` | | 🇯🇵 जापानी | `ja` | 🇵🇱 पोलिश | `pl` | | 🇧🇷 पुर्तगाली | `pt` | 🇷🇺 रूसी | `ru` | -| 🇹🇷तुर्की | `tr` | 🇨🇳 चीनी | `zh` | +| 🇹🇷 तुर्की | `tr` | 🇨🇳 चीनी | `zh` | ### README अनुवाद | भाषा | फ़ाइल | भाषा | फ़ाइल | -|-------|------|-------|------| -| 🇺🇸 अंग्रेजी | [README.md](../README.md) | 🇪🇸स्पेनिश | [README.es.md](README.es.md) +|----------|------|----------|------| +| 🇺🇸 अंग्रेज़ी | [README.md](README.md) | 🇪🇸 स्पेनिश | [README.es.md](README.es.md) | | 🇸🇦 अरबी | [README.ar.md](README.ar.md) | 🇫🇷 फ्रेंच | [README.fr.md](README.fr.md) | | 🇩🇪 जर्मन | [README.de.md](README.de.md) | 🇮🇳 हिंदी | [README.hi.md](README.hi.md) | -| 🇮🇩 इंडोनेशियाई | [README.id.md](README.id.md) | 🇮🇹इतालवी | [README.it.md](README.it.md) | +| 🇮🇩 इंडोनेशियाई | [README.id.md](README.id.md) | 🇮🇹 इतालवी | [README.it.md](README.it.md) | | 🇯🇵 जापानी | [README.ja.md](README.ja.md) | 🇵🇱 पोलिश | [README.pl.md](README.pl.md) | | 🇧🇷 पुर्तगाली | [README.pt.md](README.pt.md) | 🇷🇺 रूसी | [README.ru.md](README.ru.md) | -| 🇹🇷तुर्की | [README.tr.md](README.tr.md) | 🇨🇳 चीनी | [README.zh.md](README.zh.md) | +| 🇹🇷 तुर्की | [README.tr.md](README.tr.md) | 🇨🇳 चीनी | [README.zh.md](README.zh.md) | -> 💡 **अनुवाद में योगदान देना चाहते हैं?** अधिक भाषाएँ जोड़ने में हमारी सहायता के लिए [Contributing](#contributing) अनुभाग देखें! +> 💡 **अनुवाद में मदद करना चाहते हैं?** अधिक भाषाओं को जोड़ने में हमारी सहायता करने के लिए [योगदान](#contributing) अनुभाग देखें!
    -## 🛠️समस्या निवारण +## 🛠️ समस्या निवारण
    -सामान्य समस्याएं और समाधान देखने के लिए क्लिक करें +सामान्य समस्याओं और समाधानों को देखने के लिए क्लिक करें -- **प्रारूप तालिका प्रदर्शित नहीं हो रही है:** yt-dlp को नवीनतम संस्करण में अपडेट करें, और रात में yt-dlp पर स्विच करें। -- **डाउनलोड विफल:** अपना इंटरनेट कनेक्शन जांचें और सुनिश्चित करें कि वीडियो उपलब्ध है। +- **प्रारूप तालिका दिखाई नहीं दे रही है:** yt-dlp को नवीनतम संस्करण में अपडेट करें और yt-dlp नाइटली पर स्विच करें। +- **डाउनलोड विफल:** अपना इंटरनेट कनेक्शन जाँचें और सुनिश्चित करें कि वीडियो उपलब्ध है। - **विशिष्ट डाउनलोड त्रुटियाँ:** - - **निजी वीडियो:** निजी सामग्री तक पहुंचने के लिए कुकी प्रमाणीकरण का उपयोग करें। - - **आयु-प्रतिबंधित सामग्री:** आयु-प्रतिबंधित वीडियो देखने के लिए YouTube खाते में लॉगिन करें। - - **जियो-अवरुद्ध वीडियो:** क्षेत्रीय प्रतिबंधों को बायपास करने के लिए वीपीएन का उपयोग करने पर विचार करें। - - **हटाए गए/हटाए गए वीडियो:** वीडियो अब YouTube पर उपलब्ध नहीं है। - - **लाइव स्ट्रीम:** लाइव स्ट्रीम डाउनलोड नहीं की जा सकतीं; स्ट्रीम समाप्त होने की प्रतीक्षा करें. - - **नेटवर्क त्रुटियां:** अपना इंटरनेट कनेक्शन जांचें और पुनः प्रयास करें। - - **अमान्य यूआरएल:** सुनिश्चित करें कि यूआरएल सही है और समर्थित प्लेटफॉर्म से है। + - **निजी वीडियो:** निजी सामग्री तक पहुँचने के लिए कुकी प्रमाणीकरण का उपयोग करें। + - **आयु-प्रतिबंधित सामग्री:** आयु-प्रतिबंधित वीडियो देखने के लिए अपने YouTube खाते में लॉग इन करें। + - **जियो-ब्लॉक किए गए वीडियो:** क्षेत्रीय प्रतिबंधों को दरकिनार करने के लिए VPN का उपयोग करने पर विचार करें। + - **हटाए गए वीडियो:** वीडियो अब YouTube पर उपलब्ध नहीं है। + - **लाइव स्ट्रीम:** प्रसारण के दौरान लाइव स्ट्रीम डाउनलोड नहीं की जा सकतीं; स्ट्रीम समाप्त होने तक प्रतीक्षा करें। + - **नेटवर्क त्रुटियाँ:** अपना इंटरनेट कनेक्शन जाँचें और पुनः प्रयास करें। + - **अमान्य URL:** सुनिश्चित करें कि URL सही है और समर्थित प्लेटफ़ॉर्म से है। - **प्रीमियम सामग्री:** YouTube प्रीमियम सदस्यता की आवश्यकता है। - **कॉपीराइट ब्लॉक:** कॉपीराइट प्रतिबंधों के कारण सामग्री अवरुद्ध है। -- **डाउनलोड के बाद वीडियो और ऑडियो फ़ाइलों को अलग करें:** ऐसा तब होता है जब FFmpeg गायब है या पता नहीं चला है। उच्च गुणवत्ता वाले वीडियो और ऑडियो स्ट्रीम को मर्ज करने के लिए YTSage को FFmpeg की आवश्यकता होती है। - - **समाधान:** सुनिश्चित करें कि FFmpeg आपके सिस्टम के PATH में स्थापित और पहुंच योग्य है। विंडोज़ उपयोगकर्ताओं के लिए, सबसे आसान विकल्प `YTSage-v-ffmpeg.exe` फ़ाइल डाउनलोड करना है, जो FFmpeg के साथ बंडल में आती है। +- **डाउनलोड के बाद वीडियो और ऑडियो फ़ाइलें अलग हैं:** यह तब होता है जब FFmpeg गायब होता है या पता नहीं चल पाता है। उच्च गुणवत्ता वाले वीडियो और ऑडियो स्ट्रीम को मर्ज करने के लिए YTSage को FFmpeg की आवश्यकता होती है। + - **समाधान:** सुनिश्चित करें कि FFmpeg स्थापित है और आपके सिस्टम PATH में सुलभ है। विंडोज उपयोगकर्ताओं के लिए, सबसे आसान विकल्प `YTSage-v-ffmpeg.exe` फ़ाइल डाउनलोड करना है, जो FFmpeg के साथ आती है। --- -#### 🛡️ विंडोज डिफेंडर / एंटीवायरस चेतावनी +#### 🛡️ Windows Defender / एंटीवायरस चेतावनी -कुछ एंटीवायरस सॉफ़्टवेयर `.exe` फ़ाइलों को गलत सकारात्मक के रूप में चिह्नित कर सकते हैं। यह पैकेज्ड एप्लिकेशन की **ज्ञात सीमा** है। +कुछ एंटीवायरस सॉफ़्टवेयर `.exe` फ़ाइलों को गलत सकारात्मक (फॉल्स पॉजिटिव) के रूप में चिह्नित कर सकते हैं। यह पैक किए गए एप्लिकेशन की **ज्ञात सीमा** है। -**ऐसा क्यों होता है:** -- एंटीवायरस अनुमान पैक किए गए निष्पादन योग्य को संदिग्ध के रूप में गलत पहचान सकता है +**यह क्यों होता है:** +- एंटीवायरस हिउरिस्टिक्स पैक किए गए एक्जीक्यूटेबल्स को संदिग्ध के रूप में गलत तरीके से पहचान सकते हैं। **सुरक्षित विकल्प:** -- ✅ **पाइप इंस्टॉलेशन का उपयोग करें:** `pip install ytsage` (अनुशंसित) -- ✅ **स्रोत से निर्माण**: इसका पालन करके [guide](../.github/CI_CD_README.md) -- ✅ **एप्लिकेशन को अपने एंटीवायरस सॉफ़्टवेयर में श्वेतसूची में डालें** +- ✅ **pip स्थापना का उपयोग करें:** `pip install ytsage` (अनुशंसित) +- ✅ **स्रोत से बिल्ड करें**: इस [गाइड](.github/CI_CD_README.md) का पालन करते हुए +- ✅ **एप्लिकेशन को व्हाइटलिस्ट करें** अपने एंटीवायरस सॉफ़्टवेयर में। #### 🍎 macOS: "ऐप क्षतिग्रस्त है और खोला नहीं जा सकता" -यदि आपको यह त्रुटि macOS सोनोमा या नए पर दिखाई देती है, तो आपको संगरोध विशेषता को हटाना होगा। +यदि आप macOS Sonoma या नए पर यह त्रुटि देखते हैं, तो आपको क्वारंटाइन एट्रिब्यूट को हटाने की आवश्यकता है। -1. **टर्मिनल खोलें** (आप इसे स्पॉटलाइट का उपयोग करके पा सकते हैं)। -2. **निम्न आदेश टाइप करें** लेकिन **अभी तक Enter न दबाएँ। अंत में स्थान शामिल करना सुनिश्चित करें: +1. **टर्मिनल खोलें** (आप इसे Spotlight का उपयोग करके पा सकते हैं)। +2. **निम्न कमांड टाइप करें** लेकिन अभी Enter **न दबाएँ**। सुनिश्चित करें कि अंत में स्थान शामिल है: ```bash xattr -d com.apple.quarantine ``` -3. ** `YTSage.app` फ़ाइल** को अपनी फाइंडर विंडो से खींचें और इसे सीधे टर्मिनल विंडो में छोड़ें। इससे स्वचालित रूप से सही फ़ाइल पथ पेस्ट हो जाएगा. -4. कमांड चलाने के लिए **एंटर** दबाएं। -5. **YTSage.app को दोबारा खोलने का प्रयास करें।** इसे अब सही ढंग से लॉन्च होना चाहिए। +3. **अपनी फाइंडर विंडो से `YTSage.app` फ़ाइल खींचें** और इसे सीधे टर्मिनल विंडो में छोड़ें। यह स्वचालित रूप से सही फ़ाइल पथ पेस्ट कर देगा। +4. **Enter दबाएँ** कमांड चलाने के लिए। +5. **YTSage.app को फिर से खोलने का प्रयास करें।** इसे अब ठीक से लॉन्च होना चाहिए। --- #### **कॉन्फ़िगरेशन स्थान (उन्नत)** -- **विंडोज़:** `%LOCALAPPDATA%\YTSage` -- **मैकओएस:** `~/Library/Application Support/YTSage` -- **लिनक्स:** `~/.local/share/YTSage` +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage`
    ## 💖 प्रायोजक -यदि YTSage आपका समय बचाता है, तो परियोजना को प्रायोजित करने पर विचार करें। प्रायोजन विकास के समय, सभी प्लेटफार्मों पर परीक्षण और भविष्य में सुधारों को कवर करने में मदद करता है। +यदि YTSage आपका समय बचाता है, तो कृपया प्रोजेक्ट को प्रायोजित करने पर विचार करें। प्रायोजन विकास समय, सभी प्लेटफ़ॉर्म पर परीक्षण और भविष्य के सुधारों को कवर करने में मदद करता है। -- GitHub प्रायोजक: https://github.com/sponsors/oop7 -- प्रायोजक लिंक सीधे ऐप के अंदर अबाउट डायलॉग से भी उपलब्ध है। +- GitHub Sponsors: https://github.com/sponsors/oop7 +- प्रायोजन लिंक ऐप में अबाउट डायलॉग के माध्यम से सीधे उपलब्ध है। [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) -## 👥 योगदान दे रहे हैं +## 👥 योगदान -हम योगदान का स्वागत करते हैं! यहां बताया गया है कि आप कैसे मदद कर सकते हैं: +हम योगदान का स्वागत करते हैं! यहाँ बताया गया है कि आप कैसे मदद कर सकते हैं: 1. 🍴 रिपॉजिटरी को फोर्क करें -2. 🌿 अपनी फीचर शाखा बनाएं: +2. 🌿 अपनी फीचर शाखा बनाएँ: ```bash git checkout -b feature/AmazingFeature ``` -3. 💾 अपने परिवर्तन प्रतिबद्ध करें: +3. 💾 अपने बदलाव कमिट करें: ```bash git commit -m 'Add some AmazingFeature' ``` -4. 📤 शाखा को धक्का: +4. 📤 शाखा में पुश करें: ```bash git push origin feature/AmazingFeature ``` -5. 🔄 एक पुल अनुरोध खोलें +5. 🔄 एक पुल रिक्वेस्ट खोलें -### 🌍 अनुवाद में योगदान +### 🌍 अनुवाद में योगदान करें -- मिलान वाली स्थानीयकृत README फ़ाइल को अपडेट करें (उदाहरण के लिए `README.es.md`) +- संबंधित स्थानीयकृत README फ़ाइल को अपडेट करें (जैसे `readme-translations/README.hi.md`) - `ytsage/languages/.json` को संपादित करके ऐप स्ट्रिंग्स को सिंक में रखें -- यदि आपकी भाषा गायब है, तो `README.md` से शुरू करें और `README..md` बनाएं +- यदि आपकी भाषा गायब है, तो `README.md` से शुरू करें और `README..md` बनाएँ
    -📂 परियोजना संरचना +📂 प्रोजेक्ट संरचना -## YTSage - परियोजना संरचना +## YTSage - प्रोजेक्ट संरचना यह दस्तावेज़ YTSage की संगठित फ़ोल्डर संरचना का वर्णन करता है। -### 📁परियोजना संरचना +### 📁 प्रोजेक्ट संरचना ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # GitHub कॉन्फ़िगरेशन +│ ├── 📁 ISSUE_TEMPLATE/ # इश्यू टेम्पलेट +│ │ └── 🐛-bug-report.md # बग रिपोर्ट टेम्पलेट +│ ├─── 📁 workflows/ # GitHub Actions वर्कफ़्लो +│ │ ├── build-linux.yml # लिनक्स बिल्ड वर्कफ़्लो +│ │ ├── build-macos.yml # macOS बिल्ड वर्कफ़्लो +│ │ │── build-windows.yml # विंडोज बिल्ड वर्कफ़्लो +| | └── release-all.yml # मास्टर रिलीज़ वर्कफ़्लो +│ └── 📄 CI_CD_README.md # CI/CD दस्तावेज़ीकरण +├── 📁 branding/ # ब्रांडिंग एसेट्स (स्क्रीनशॉट, SVGs) +│ ├── 📁 icons/ # ऐप आइकन +│ ├── 📁 screenshots/ # दस्तावेज़ीकरण के लिए स्क्रीनशॉट +│ └── 📁 svg/ # SVG एसेट्स +├── 📄 LICENSE # लाइसेंस फ़ाइल +├── 📄 pyproject.toml # प्रोजेक्ट मेटाडेटा और निर्भरताएँ +├── 📄 README.md # प्रोजेक्ट दस्तावेज़ीकरण +├── 📄 requirements.txt # पायथन निर्भरताएँ (dev) +└── 📁 ytsage/ # स्रोत कोड पैकेज + ├── 📁 assets/ # रनटाइम एसेट्स + │ ├── 📁 Icon/ # ऐप आइकन + │ └── 📁 sound/ # ऑडियो फ़ाइलें + ├── 📁 languages/ # स्थानीयकरण फ़ाइलें + │ ├── 📄 ar.json # अरबी अनुवाद + │ ├── 📄 de.json # जर्मन अनुवाद + │ ├── 📄 en.json # अंग्रेज़ी अनुवाद + │ └── ... # अन्य भाषाएँ + ├── 📁 core/ # मुख्य व्यावसायिक तर्क + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # Deno एकीकरण + │ ├── 📄 ytsage_downloader.py # डाउनलोड कार्यक्षमता + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg एकीकरण + │ ├── 📄 ytsage_utils.py # उपयोगिता कार्य + │ └── 📄 ytsage_yt_dlp.py # yt-dlp एकीकरण + ├── 📁 gui/ # यूजर इंटरफेस घटक + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # ऐप की मुख्य विंडो + │ └── 📁 ytsage_gui_dialogs/ # संवाद वर्ग + ├── 📁 utils/ # उपयोगिता मॉड्यूल + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # कॉन्फ़िगरेशन प्रबंधन + │ └── 📄 ytsage_logger.py # लॉगिंग टूल + ├── 📄 __init__.py # पैकेज प्रविष्टि बिंदु + └── 📄 main.py # मुख्य निष्पादन स्क्रिप्ट ```
    -## ⭐️ सितारा इतिहास +## ⭐️ स्टार इतिहास
    -## सितारा इतिहास +## Star History @@ -540,16 +546,16 @@ YTSage/ ## 📜 लाइसेंस -यह प्रोजेक्ट एमआईटी लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए [LICENSE](../LICENSE) फ़ाइल देखें। +यह प्रोजेक्ट MIT लाइसेंस के तहत है - विवरण के लिए [LICENSE](LICENSE) फ़ाइल देखें। -## 🙏 आभार +## 🙏 धन्यवाद
    - आभार दिखाएं +धन्यवाद प्रदर्शित करें
    -

    सुधार का सुझाव देने या बग की रिपोर्ट करने के लिए एक मुद्दा खोलकर इस परियोजना में योगदान देने वाले सभी लोगों को हार्दिक धन्यवाद।

    +

    उन सभी को बहुत-बहुत धन्यवाद जिन्होंने सुधार का सुझाव देने या बग की रिपोर्ट करने के लिए इश्यू खोलकर इस प्रोजेक्ट में योगदान दिया है।

    @@ -559,39 +565,40 @@ YTSage/ - + - + - + - - + + - + + - - + + - - + + - + - + @@ -606,12 +613,12 @@ YTSage/ ## ⚠️ अस्वीकरण -यह उपकरण केवल व्यक्तिगत उपयोग के लिए है. कृपया YouTube की सेवा की शर्तों और सामग्री निर्माताओं के अधिकारों का सम्मान करें। +यह उपकरण केवल व्यक्तिगत उपयोग के लिए है। कृपया YouTube की सेवा की शर्तों और सामग्री रचनाकारों के अधिकारों का सम्मान करें। ---
    -❤️ के साथ [oop7](https://github.com/oop7) द्वारा बनाया गया +[oop7](https://github.com/oop7) द्वारा ❤️ के साथ बनाया गया
    diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md index ff801fb..29cf9c7 100644 --- a/readme-translations/README.id.md +++ b/readme-translations/README.id.md @@ -13,80 +13,81 @@ [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) **Pengunduh YouTube modern dengan antarmuka PySide6 yang bersih.** -Unduh video dalam kualitas apa pun, ekstrak audio, ambil subtitle, dan banyak lagi. +Unduh video dalam kualitas apa pun, ekstrak audio, dapatkan subtitle, dan banyak lagi. -### 🌍 README Bahasa +### 🌍 Bahasa README -Bahasa Inggris: [EN](../README.md) -| Nilai: [AR](README.ar.md) +Inggris: [EN](../README.md) +| Arab: [AR](README.ar.md) | Jerman: [DE](README.de.md) | Spanyol: [ES](README.es.md) -| Perancis: [FR](README.fr.md) -| nilai: [HI](README.hi.md) -| Bahasa Indonesia: [ID](README.id.md) +| Prancis: [FR](README.fr.md) +| Hindi: [HI](README.hi.md) +| Indonesia: [ID](README.id.md) | Italia: [IT](README.it.md) -| Nilai: [JA](README.ja.md) -| Polski: [PL](README.pl.md) +| Jepang: [JA](README.ja.md) +| Polandia: [PL](README.pl.md) | Portugis: [PT](README.pt.md) -| Jawaban: [RU](README.ru.md) +| Rusia: [RU](README.ru.md) | Turki: [TR](README.tr.md) -| nama: [ZH](README.zh.md) +| Mandarin: [ZH](README.zh.md)

    - Instalasi • - Fitur • - Penggunaan • - Tangkapan Layar • - Pemecahan Masalah • + Instalasi • + Fitur • + Penggunaan • + Screenshot • + TroubleshootingSponsor • - Berkontribusi + Kontribusi

    --- - + ## ❓ Mengapa YTSage? -YTSage dirancang untuk pengguna yang menginginkan **pengunduh YouTube yang sederhana namun kuat**. Tidak seperti alat lainnya, alat ini menawarkan: +YTSage dirancang untuk pengguna yang menginginkan **pengunduh YouTube yang sederhana namun kuat**. Tidak seperti alat lainnya, ia menawarkan: -- Antarmuka PySide6 yang bersih dan modern -- Unduhan sekali klik untuk video, audio, dan subtitle -- Fitur lanjutan seperti SponsorBlock, penggabungan subtitle, dan pemilihan playlist -- Mode Generik Opsional untuk situs yang didukung yt-dlp di luar YouTube +- Antarmuka PySide6 yang modern dan bersih +- Unduh video, audio, dan subtitle sekali klik +- Fitur canggih seperti SponsorBlock, penggabungan subtitle, dan pemilihan playlist +- Mode Generik Opsional untuk situs di luar YouTube yang didukung oleh yt-dlp - Dukungan lintas platform dan instalasi mudah - + ## ✨ Fitur
    -| Fitur Inti | Fitur Lanjutan | Fitur Ekstra | -|----------------------------------||-----------------------------------------|------------------------------------| -| 🎥 Format Tabel | 🚫 Integrasi Blok Sponsor | 🎞️ Tampilan FPS/HDR | -| 🎵 Ekstraksi Audio | 📝 Pilih & Gabungkan Multi-Subjudul | 🔄 Perbarui Otomatis yt-dlp | -| ✨ UI Sederhana | 💾 Simpan Deskripsi & Gambar Kecil | 🛠️ Deteksi FFmpeg/yt-dlp/Deno | -| 📋 Dukungan & Pemilih Daftar Putar | 🚀 Pembatas Kecepatan | ⚙️ Perintah Khusus | -| 📑 Sematkan Bab | ✂️ Pangkas Bagian Video | 🍪 Masuk dengan Cookie | -| 📜 Unduh Riwayat | 🔄 Rilis Pilihan Saluran | 🌐 Dukungan Proksi | -| 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Bawaan | +| Fitur Dasar | Fitur Lanjutan | Fitur Tambahan | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Tabel Format | 🚫 Integrasi SponsorBlock | 🎞️ Tampilan FPS/HDR | +| 🎵 Ekstraksi Audio | 📝 Pemilihan & Penggabungan Subtitle | 🔄 Pembaruan yt-dlp Otomatis | +| ✨ Antarmuka Pengguna Sederhana | 💾 Simpan Deskripsi & Thumbnail | 🛠️ Deteksi FFmpeg/yt-dlp/Deno | +| 📋 Dukungan & Pemilih Playlist | 🚀 Pembatas Kecepatan | ⚙️ Perintah Kustom | +| 📑 Integrasi Bab (Chapters) | ✂️ Potong Bagian Video | 🍪 Login Cookie | +| 📜 Riwayat Unduhan | 🔄 Pilihan Saluran Rilis | 🌐 Dukungan Proxy | +| 🎚️ Konversi Format Audio | 🎬 Pengaturan Format Video | 🆙 Tab Pembaruan Terintegrasi | | 🌍 Mode Generik | 🔊 Normalisasi Audio (EBU R128) | 🌍 Lokalisasi dalam 14 Bahasa | +| 💾 Ekspor Playlist | ⚙️ Kualitas & Subtitle Default | |
    - + ## 🚀 Instalasi -### ⚡ Instal Cepat (Disarankan) +### ⚡ Instalasi Cepat (Direkomendasikan) -Instal YTSage dari PyPI: +Instal YTSage melalui PyPI: ```bash pip install ytsage ```
    -🔄 Perbarui instalasi yang ada +🔄 Perbarui Instalasi yang Ada ```bash pip install --upgrade ytsage @@ -94,31 +95,31 @@ pip install --upgrade ytsage
    -Kemudian luncurkan aplikasi: +Kemudian jalankan aplikasi: ```bash ytsage ``` -### 📦 Executable yang sudah dibuat sebelumnya +### 📦 Executable Siap Pakai (Executable) -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 Unduh Rilis Terbaru](https://github.com/oop7/YTSage/releases/latest) -#### 🪟 Jendela +#### 🪟 Windows | Format | Deskripsi | |--------|-------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Pemasang standar | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Dengan FFmpeg dibundel | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versi portabel, tidak perlu instalasi | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portabel dengan FFmpeg, zip | +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Installer Standar | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Dilengkapi dengan FFmpeg | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versi Portabel, tidak perlu instalasi | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portabel dengan FFmpeg, dikompresi (ZIP) |
    🛠️ Langkah Instalasi -1. **EXE Installer (`.exe`)**: Klik dua kali file tersebut dan ikuti panduan pengaturan. -2. **Versi Portabel (`.zip`)**: Ekstrak arsip ke lokasi yang Anda inginkan dan jalankan `ytsage.exe`. -3. **FFmpeg Bundled**: Pilih versi paket FFmpeg jika Anda belum menginstal FFmpeg di sistem Anda. +1. **Installer EXE (`.exe`)**: Klik dua kali pada file dan ikuti wizard pengaturan. +2. **Versi Portabel (`.zip`)**: Ekstrak arsip ke lokasi yang diinginkan dan jalankan `ytsage.exe`. +3. **FFmpeg Bawaan**: Jika Anda tidak memiliki FFmpeg di sistem Anda, pilih versi dengan FFmpeg bawaan.
    #### 🐧 Linux @@ -126,9 +127,9 @@ ytsage | Format | Deskripsi | |--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paket Debian | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portabel | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, Portabel | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Paket RPM | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Paket Flatpak | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Bundel Flatpak |
    🛠️ Langkah Instalasi @@ -136,13 +137,13 @@ ytsage - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Jika perlu perbaiki dependensi yang kurang ``` - **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` -- **Gambar Aplikasi (`.AppImage`)**: +- **AppImage (`.AppImage`)**: ```bash chmod +x YTSage-*.AppImage ./YTSage-*.AppImage @@ -157,22 +158,22 @@ ytsage | Format | Deskripsi | |--------|-------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplikasi zip untuk Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Penginstal gambar disk untuk Apple Silicon | +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplikasi ZIP untuk Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Installer Disk Image untuk Apple Silicon |
    🛠️ Langkah Instalasi -- **Pemasang DMG (`.dmg`)**: Klik dua kali untuk memasang, lalu seret `YTSage.app` ke dalam folder Aplikasi Anda. -- **Arsip Aplikasi (`.zip`)**: Ekstrak zip dan pindahkan `YTSage.app` ke folder Aplikasi Anda. +- **Installer DMG (`.dmg`)**: Klik dua kali untuk memasang, lalu tarik `YTSage.app` ke folder Applications Anda. +- **Arsip Aplikasi (`.zip`)**: Ekstrak ZIP dan pindahkan `YTSage.app` ke folder Applications Anda. -*Catatan: Jika Anda mengalami kesalahan "Aplikasi rusak", lihat [macOS troubleshooting section](#troubleshooting) di bawah.* +*Catatan: Jika Anda mendapatkan kesalahan "App is damaged", lihat bagian Troubleshooting macOS di bawah ini.*
    ---
    -💻 Instalasi Manual dari Sumber +💻 Instalasi Manual dari Sumber (Source) ### 1. Kloning Repositori @@ -183,7 +184,7 @@ cd YTSage ### 2. Instal Dependensi -#### ⚡ Dengan UV +#### ⚡ Dengan uv ```bash uv pip install . @@ -203,227 +204,231 @@ python -m ytsage.main
    - -## 📸 Tangkapan layar + +## 📸 Screenshot
    मुख्य घटक
    FFmpegमीडिया प्रोसेसिंगमीडिया प्रसंस्करण
    Denoyt-dlp के साथ एकीकरण के लिए रनटाइमyt-dlp एकीकरण के लिए रनटाइम
    लाइब्रेरी और फ्रेमवर्क
    पुस्तकालय और फ्रेमवर्क
    PySide6 GUI फ्रेमवर्क
    तकियाइमेज प्रोसेसिंगPillowछवि प्रसंस्करण
    अनुरोध
    requests HTTP अनुरोध
    पैकेजिंगसंस्करण और पैकेज हैंडलिंगpackagingसंस्करण प्रबंधन और पैकेजिंग
    मार्कडाउनमार्कडाउन रेंडरिंगmarkdownMarkdown रेंडरिंग
    loguru लॉगिंग
    संपत्ति और योगदानकर्ता
    एसेट्स और योगदानकर्ता
    यूनिवर्सफील्ड द्वारा नई अधिसूचना 09New Notification 09 by Universfield अधिसूचना ध्वनि
    - - + + - + - - + + - +
    Download SettingsPlaylist DownloadPengaturan UnduhanUnduhan Playlist
    Pengaturan UnduhanUnduh Daftar PutarUnduhan Playlist
    Audio Format Selection with Save ThumbnailCustom OptionsPemilihan Format AudioOpsi Kustom
    Format AudioOpsi KhususOpsi Kustom
    -
    +
    + ## 📖 Penggunaan
    🎯 Penggunaan Dasar 1. **Luncurkan YTSage** -2. **Tempel URL YouTube** (atau gunakan tombol "Tempel URL") -3. **Klik "Analisis"** +2. **Tempel URL YouTube** (atau gunakan tombol "Paste URL") +3. **Klik "Analyze"** 4. **Pilih Format:** - - `Video` untuk mengunduh video + - `Video` untuk unduhan video - `Audio Only` untuk ekstraksi audio 5. **Pilih Opsi:** - - Aktifkan subtitle & pilih bahasa + - Aktifkan subtitle dan pilih bahasa - Aktifkan penggabungan subtitle - - Simpan gambar kecil - - Hapus segmen sponsor + - Simpan thumbnail + - Hapus bagian sponsor - Simpan deskripsi - - Sematkan bab -6. **Pilih Direktori Keluaran** -7. **Klik "Unduh"** + - Masukkan bab (chapters) +6. **Pilih Direktori Output** +7. **Klik "Download"** -> 💡 Direktori unduhan default adalah folder "Unduhan" milik pengguna. +> 💡 Direktori unduhan bawaan adalah folder "Downloads" pengguna.
    -📋 Unduh Daftar Putar +📋 Unduhan Playlist -1. **Tempel URL Daftar Putar** -2. **Klik "Analisis"** -3. **Pilih video dari pemilih daftar putar (opsional, default untuk semua)** +1. **Tempel URL Playlist** +2. **Klik "Analyze"** +3. **Pilih video dari pemilih playlist (opsional, default semua)** 4. **Pilih format/kualitas yang diinginkan** -5. **Klik "Unduh"** +5. **Klik "Download"** -> 💡 Aplikasi secara otomatis menangani antrian unduhan +> 💡 Aplikasi secara otomatis mengelola antrean unduhan, dan Anda dapat mengekspor entri playlist sebagai file `.txt`, `.csv`, `.m3u`, atau `.json`.
    -🌍 Mode Generik untuk situs non-YouTube +🌍 Mode Generik untuk Situs Selain YouTube -Gunakan Mode Generik bila Anda ingin YTSage menerima URL dari situs yang didukung oleh yt-dlp, seperti Dailymotion, CBC Gem, TikTok, dan lainnya. +Gunakan Mode Generik saat Anda ingin YTSage menerima URL dari situs yang didukung oleh yt-dlp seperti Dailymotion, CBC Gem, TikTok, dan lainnya. Cara menggunakannya: 1. Buka `Download Settings`. 2. Aktifkan `Generic Mode`. -3. Tempelkan URL video atau playlist non-YouTube yang didukung. +3. Tempel URL video atau playlist yang didukung selain YouTube. 4. Klik `Analyze`. 5. Pilih format dan unduh seperti biasa. Catatan: - Mode Generik hanya mengubah validasi URL di dalam YTSage. Situs target harus tetap didukung oleh versi yt-dlp yang Anda instal. -- Beberapa situs memerlukan cookie, sesi login, proxy, atau argumen yt-dlp tambahan tergantung pada ekstraktornya. -- Jika situs gagal, perbarui yt-dlp terlebih dahulu dari tab pembaru bawaan sebelum melaporkan masalah tersebut. +- Beberapa situs memerlukan cookie, login, proxy, atau argumen yt-dlp tambahan tergantung pada ekstraktornya. +- Jika suatu situs gagal, perbarui yt-dlp dari tab pembaruan terintegrasi sebelum melaporkan masalah.
    -🧰 Opsi Media dan Unduhan +🧰 Opsi Media & Unduhan -- **Opsi Subtitle:** Filter bahasa dan sematkan subtitle ke dalam file video -- **Penggabungan Subtitle:** Menggabungkan subtitle ke dalam file video untuk subtitle hardcode -- **Simpan Deskripsi:** Simpan deskripsi video sebagai file teks -- **Simpan Gambar Kecil:** Menyimpan gambar kecil video sebagai file gambar -- **Sematkan Bab:** Sematkan penanda bab sebagai metadata untuk pemutar video yang kompatibel -- **Hapus Segmen Sponsor:** Hapus segmen sponsor dari video menggunakan SponsorBlock -- **Pangkas Video:** Unduh hanya bagian tertentu dari video dengan menentukan rentang waktu dalam format `HH:MM:SS` +- **Opsi Subtitle:** Filter bahasa dan masukkan subtitle ke dalam file video. +- **Penggabungan Subtitle:** Menggabungkan subtitle ke dalam file video untuk subtitle permanen (hardcoded). +- **Simpan Deskripsi:** Simpan deskripsi video sebagai file teks. +- **Simpan Thumbnail:** Simpan thumbnail video sebagai file gambar. +- **Masukkan Bab (Chapters):** Sertakan penanda bab sebagai metadata untuk pemutar video yang kompatibel. +- **Hapus Bagian Sponsor:** Gunakan SponsorBlock untuk menghapus segmen sponsor dari video. +- **Potong Video:** Unduh hanya bagian tertentu dari video dengan menentukan rentang waktu dalam format `JJ:MM:DD`.
    -⚙️ Pengaturan Output dan File +⚙️ Pengaturan Output & File + +- **Pembatas Kecepatan:** Batasi kecepatan unduhan, misalnya `500K` untuk 500 KB/s. +- **Simpan Jalur Unduhan:** Menyimpan jalur unduhan default untuk unduhan di masa mendatang. Tersedia di **Download Settings → Download Path**. +- **Resolusi Video Default:** Atur resolusi video pilihan Anda untuk pemilihan otomatis (misalnya 1080p, 720p). Tersedia di **Download Settings → Default Video Resolution**. +- **Bahasa Subtitle Default:** Atur bahasa subtitle default untuk pemilihan otomatis (dipisahkan koma, misalnya `id,en`). Tersedia di **Download Settings → Default Subtitle Languages**. +- **Format Nama File:** Sesuaikan format nama file output menggunakan variabel seperti `%(title)s`, `%(uploader)s`, `%(playlist_index)s`, dan `%(resolution)s`. Tersedia di **Download Settings → Filename Format**. +- **Paksa Format Output:** Paksa unduhan video ke format kontainer tertentu seperti `mp4`, `webm`, atau `mkv`. Tersedia di **Download Settings → Output Format Settings**. +- **Konversi Format Audio:** Konversi unduhan audio saja ke format pilihan seperti `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, atau `Best`. Tersedia di **Download Settings → Audio Format Settings**. +- **Normalisasi Audio:** Standarisasi volume untuk unduhan audio saja menggunakan EBU R128. +- **Koneksi Serentak:** Tingkatkan kecepatan unduhan secara signifikan dengan mengunduh file dalam beberapa bagian secara bersamaan. Tersedia di **Download Settings → General → Concurrent Connections** (default 1, maksimal 8-10 direkomendasikan untuk menghindari blokir IP). -- **Pembatas Kecepatan:** Batasi kecepatan unduh, misalnya `500K` sebesar 500 KB/dtk -- **Simpan Jalur Unduhan:** Simpan jalur unduhan default untuk unduhan berikutnya. Tersedia di **Pengaturan Unduhan → Jalur Unduhan**. -- **Format Nama File Keluaran:** Sesuaikan format nama file keluaran menggunakan variabel seperti `%(title)s`, `%(uploader)s`, dan `%(resolution)s`. Tersedia di **Pengaturan Unduhan → Format Nama File**. -- **Format Output Paksa:** Paksa pengunduhan video ke dalam format wadah tertentu seperti `mp4`, `webm`, atau `mkv`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Output**. -- **Konversi Format Audio:** Konversi unduhan audio saja ke format pilihan seperti `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, atau `Best`. Tersedia di **Pengaturan Unduhan → Pengaturan Format Audio**. -- **Normalisasi Audio:** Standarkan volume untuk unduhan audio saja menggunakan EBU R128. -- **Koneksi Bersamaan:** Tingkatkan kecepatan unduhan secara drastis dengan mengunduh file dalam beberapa fragmen secara bersamaan. Tersedia di **Pengaturan Unduhan → Umum → Koneksi Bersamaan** (Bawaan 1, batas maksimum yang disarankan adalah 8-10 untuk mencegah pembatasan IP).\n
    -🌐 Akses dan Jaringan +🌐 Akses & Jaringan -- **Masuk dengan Cookie:** Masuk ke YouTube menggunakan cookie untuk mengakses konten pribadi. - Cara menggunakannya: - 1. **Disarankan:** Gunakan opsi `Extract cookies from browser` bawaan di aplikasi, lalu pilih browser Anda dan opsional profil. - 2. Alternatifnya, ekstrak cookie secara manual: - sebuah. Ekspor cookie dari browser Anda menggunakan ekstensi seperti [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) +- **Login Cookie:** Masuk ke YouTube menggunakan cookie untuk mengakses konten pribadi. + Penggunaan: + 1. **Direkomendasikan:** Gunakan opsi bawaan `Extract cookies from browser` di aplikasi, lalu pilih browser dan opsional profil Anda. + 2. Secara opsional, ekstrak cookie secara manual: + a. Ekspor cookie dari browser Anda menggunakan ekstensi seperti [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) b. Salin cookie dalam format Netscape - c. Buat file bernama `cookies.txt` dan tempel cookie ke dalamnya + c. Buat file bernama `cookies.txt` dan tempel cookie d. Pilih file `cookies.txt` di aplikasi -- **Dukungan Proxy:** Gunakan server proxy untuk mendownload, misalnya `http://:` -- **Mode Generik:** Izinkan YTSage menganalisis dan mengunduh dari situs non-YouTube yang didukung oleh yt-dlp. Aktifkan dari **Pengaturan Unduhan → Mode Generik**. +- **Dukungan Proxy:** Gunakan server proxy untuk unduhan, misalnya `http://:` +- **Mode Generik:** Izinkan YTSage untuk menganalisis dan mengunduh dari situs selain YouTube yang didukung oleh yt-dlp. Aktifkan dari **Download Settings → Generic Mode**.
    -🛠️ Alat dan Perawatan +🛠️ Alat & Pemeliharaan -- **Perintah Khusus:** Akses fitur yt-dlp tingkat lanjut melalui argumen baris perintah +- **Perintah Kustom:** Akses fitur yt-dlp tingkat lanjut melalui argumen baris perintah. - **Tab Pembaruan:** Kelola alat pembaruan bawaan dari satu tempat di Opsi Kustom: - - **Pembaruan yt-dlp:** Periksa pembaruan dan beralih antara saluran rilis Stabil dan Malam - - **Pemeriksa Versi FFmpeg:** Periksa versi FFmpeg Anda dan buka panduan instalasi - - **Pembaruan Deno:** Periksa dan perbarui runtime Deno -- **Deteksi FFmpeg/yt-dlp/Deno:** Secara otomatis mendeteksi jalur dan versi FFmpeg, yt-dlp, dan Deno dari dialog Tentang. -- **Riwayat Unduhan:** Lihat unduhan sebelumnya dengan thumbnail dan status dari tombol **Riwayat**. + - **Pembaruan yt-dlp:** Periksa pembaruan dan beralih antara saluran rilis Stable dan Nightly. + - **Pemeriksa Versi FFmpeg:** Verifikasi versi FFmpeg Anda dan buka panduan instalasi. + - **Pembaruan Deno:** Periksa dan perbarui runtime Deno. +- **Deteksi FFmpeg/yt-dlp/Deno:** Secara otomatis mendeteksi jalur dan versi FFmpeg, yt-dlp, dan Deno dari dialog About. +- **Riwayat Unduhan:** Lihat unduhan sebelumnya dengan thumbnail dan status dari tombol **History**.
    🌍 Lokalisasi -YTSage mendukung **14 bahasa** untuk aksesibilitas di seluruh dunia. Pilih bahasa pilihan Anda dari **Opsi Kustom → Bahasa**. +YTSage mendukung **14 bahasa** untuk jangkauan global. Pilih bahasa pilihan Anda di **Custom Options → Language**. ### Bahasa yang Didukung | Bahasa | Kode | Bahasa | Kode | |----------|------|----------|------| -| 🇮🇩 Bahasa Inggris | `en` | 🇪🇪 Spanyol | `es` | -| Arab Saudi | `ar` | 🇫🇷 Perancis | `fr` | -| 🇩🇪 Jerman | `de` | 🇮🇩 Hindi | `hi` | -| 🇮🇩 Bahasa Indonesia | `id` | 🇮🇹 Italia | `it` | -| 🇯ppa Jepang | `ja` | 🇱 Polandia | `pl` | -| 🇧🇷 Portugis | `pt` | 🇷л Rusia | `ru` | -| 🇹🇷 Turki | `tr` | CNY Cina | `zh` | +| 🇺🇸 Inggris | `en` | 🇪🇸 Spanyol | `es` | +| 🇸🇦 Arab | `ar` | 🇫🇷 Prancis | `fr` | +| 🇩🇪 Jerman | `de` | 🇮🇳 Hindi | `hi` | +| 🇮🇩 Indonesia | `id` | 🇮🇹 Italia | `it` | +| 🇯🇵 Jepang | `ja` | 🇵🇱 Polandia | `pl` | +| 🇧🇷 Portugis | `pt` | 🇷🇺 Rusia | `ru` | +| 🇹🇷 Turki | `tr` | 🇨🇳 Mandarin | `zh` | -### README Terjemahan +### Terjemahan README -| Bahasa | Berkas | Bahasa | Berkas | +| Bahasa | File | Bahasa | File | |----------|------|----------|------| -| 🇮🇩 Bahasa Inggris | [README.md](../README.md) | 🇪🇪 Spanyol | [README.es.md](README.es.md) -| Arab Saudi | [README.ar.md](README.ar.md) | 🇫🇷 Perancis | [README.fr.md](README.fr.md) | -| 🇩🇪 Jerman | [README.de.md](README.de.md) | 🇮🇩 Hindi | [README.hi.md](README.hi.md) | -| 🇮🇩 Bahasa Indonesia | [README.id.md](README.id.md) | 🇮🇹 Italia | [README.it.md](README.it.md) | -| 🇯ppa Jepang | [README.ja.md](README.ja.md) | 🇱 Polandia | [README.pl.md](README.pl.md) | -| 🇧🇷 Portugis | [README.pt.md](README.pt.md) | 🇷л Rusia | [README.ru.md](README.ru.md) | -| 🇹🇷 Turki | [README.tr.md](README.tr.md) | CNY Cina | [README.zh.md](README.zh.md) | +| 🇺🇸 Inggris | [README.md](README.md) | 🇪🇸 Spanyol | [README.es.md](README.es.md) | +| 🇸🇦 Arab | [README.ar.md](README.ar.md) | 🇫🇷 Prancis | [README.fr.md](README.fr.md) | +| 🇩🇪 Jerman | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonesia | [README.id.md](README.id.md) | 🇮🇹 Italia | [README.it.md](README.it.md) | +| 🇯🇵 Jepang | [README.ja.md](README.ja.md) | 🇵🇱 Polandia | [README.pl.md](README.pl.md) | +| 🇧🇷 Portugis | [README.pt.md](README.pt.md) | 🇷🇺 Rusia | [README.ru.md](README.ru.md) | +| 🇹🇷 Turki | [README.tr.md](README.tr.md) | 🇨🇳 Mandarin | [README.zh.md](README.zh.md) | -> 💡 **Ingin berkontribusi terjemahan?** Lihat bagian [Contributing](#contributing) untuk membantu kami menambahkan lebih banyak bahasa! +> 💡 **Ingin membantu menerjemahkan?** Lihat bagian [Kontribusi](#kontribusi) untuk membantu kami menambahkan lebih banyak bahasa!
    -## 🛠️ Pemecahan masalah +## 🛠️ Troubleshooting
    Klik untuk melihat masalah umum dan solusinya -- **Format tabel tidak ditampilkan:** Perbarui yt-dlp ke versi terbaru, dan beralih ke yt-dlp setiap malam. -- **Pengunduhan gagal:** Periksa koneksi internet Anda dan pastikan video tersedia. -- **Kesalahan pengunduhan tertentu:** - - **Video pribadi:** Gunakan autentikasi cookie untuk mengakses konten pribadi. - - **Konten dengan batasan usia:** Masuk ke akun YouTube untuk melihat video dengan batasan usia. - - **Video yang diblokir secara geografis:** Pertimbangkan untuk menggunakan VPN untuk melewati batasan regional. - - **Video yang dihapus/dihapus:** Video tidak lagi tersedia di YouTube. - - **Streaming langsung:** Streaming langsung tidak dapat diunduh; tunggu hingga streaming berakhir. - - **Kesalahan jaringan:** Periksa koneksi internet Anda dan coba lagi. - - **URL tidak valid:** Pastikan URL benar dan berasal dari platform yang didukung. - - **Konten premium:** Memerlukan keanggotaan YouTube Premium. - - **Pemblokiran hak cipta:** Konten diblokir karena pembatasan hak cipta. -- **Pisahkan file video dan audio setelah diunduh:** Ini terjadi jika FFmpeg hilang atau tidak terdeteksi. YTSage memerlukan FFmpeg untuk menggabungkan aliran video dan audio berkualitas tinggi. - - **Solusi:** Pastikan FFmpeg diinstal dan dapat diakses di PATH sistem Anda. Untuk pengguna Windows, opsi termudah adalah mengunduh file `YTSage-v-ffmpeg.exe`, yang disertakan dengan FFmpeg. +- **Tabel format tidak muncul:** Perbarui yt-dlp ke versi terbaru dan coba beralih ke yt-dlp Nightly. +- **Unduhan gagal:** Periksa koneksi internet Anda dan pastikan video tersedia. +- **Kesalahan Unduhan Spesifik:** + - **Video Pribadi:** Gunakan autentikasi cookie untuk mengakses konten pribadi. + - **Konten Dibatasi Usia:** Masuk ke akun YouTube Anda untuk melihat video yang dibatasi usia. + - **Video yang Diblokir Geo:** Pertimbangkan menggunakan VPN untuk melewati batasan regional. + - **Video Dihapus:** Video tidak lagi tersedia di YouTube. + - **Live Stream:** Streaming langsung tidak dapat diunduh saat sedang disiarkan; tunggu hingga streaming selesai. + - **Kesalahan Jaringan:** Periksa koneksi internet Anda dan coba lagi. + - **URL Tidak Valid:** Pastikan URL benar dan berasal dari platform yang didukung. + - **Konten Premium:** Memerlukan langganan YouTube Premium. + - **Blokir Hak Cipta:** Konten diblokir karena pembatasan hak cipta. +- **File video dan audio terpisah setelah diunduh:** Ini terjadi ketika FFmpeg hilang atau tidak terdeteksi. YTSage memerlukan FFmpeg untuk menggabungkan aliran video dan audio berkualitas tinggi. + - **Solusi:** Pastikan FFmpeg terinstal dan dapat diakses di PATH sistem Anda. Untuk pengguna Windows, opsi termudah adalah mengunduh file `YTSage-v-ffmpeg.exe`, yang dilengkapi dengan FFmpeg. --- #### 🛡️ Peringatan Windows Defender / Antivirus -Beberapa perangkat lunak antivirus mungkin menandai file `.exe` sebagai positif palsu. Ini adalah **batasan umum** pada aplikasi paket. +Beberapa perangkat lunak antivirus mungkin menandai file `.exe` sebagai positif palsu (false positive). Ini adalah **batasan umum** dari aplikasi yang dipaketkan. **Mengapa ini terjadi:** -- Heuristik antivirus dapat salah mengidentifikasi executable yang dikemas sebagai sesuatu yang mencurigakan +- Heuristik antivirus mungkin salah mengidentifikasi executable yang dipaketkan sebagai mencurigakan. -**Alternatif yang aman:** -- ✅ **Gunakan instalasi pip:** `pip install ytsage` (disarankan) -- ✅ **Bangun dari sumber**: dengan mengikuti [guide](../.github/CI_CD_README.md) ini -- ✅ **Masukkan aplikasi ke daftar putih** di perangkat lunak antivirus Anda +**Opsi Aman:** +- ✅ **Gunakan instalasi pip:** `pip install ytsage` (direkomendasikan) +- ✅ **Build dari sumber**: Mengikuti [panduan](.github/CI_CD_README.md) ini +- ✅ **Whitelist aplikasi** di perangkat lunak antivirus Anda. -#### 🍎 macOS: "Aplikasi rusak dan tidak dapat dibuka" -Jika Anda melihat kesalahan ini di macOS Sonoma atau lebih baru, Anda harus menghapus atribut karantina. +#### 🍎 macOS: "App is damaged and can’t be opened" +Jika Anda melihat kesalahan ini di macOS Sonoma atau yang lebih baru, Anda perlu menghapus atribut karantina. -1. **Buka Terminal** (Anda dapat menemukannya menggunakan Spotlight). -2. **Ketik perintah berikut** tetapi **jangan** tekan Enter dulu. Pastikan untuk menyertakan spasi di akhir: +1. **Buka Terminal** (Anda dapat menemukannya menggunakan Spotlight). +2. **Ketik perintah berikut** tetapi **JANGAN** tekan Enter dulu. Pastikan untuk menyertakan spasi di akhir: ```bash xattr -d com.apple.quarantine ``` -3. **Seret file `YTSage.app`** dari jendela Finder Anda dan letakkan langsung ke jendela Terminal. Ini secara otomatis akan menempelkan jalur file yang benar. -4. **Tekan Enter** untuk menjalankan perintah. -5. **Coba buka YTSage.app lagi.** Sekarang seharusnya sudah diluncurkan dengan benar. +3. **Tarik file `YTSage.app` dari jendela Finder Anda** dan lepaskan langsung ke jendela Terminal. Ini akan secara otomatis menempelkan jalur file yang benar. +4. **Tekan Enter** untuk menjalankan perintah. +5. **Coba buka kembali YTSage.app.** Sekarang seharusnya dapat diluncurkan dengan benar. --- #### **Lokasi Konfigurasi (Lanjutan)** -- **Jendela:** `%LOCALAPPDATA%\YTSage` +- **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage` @@ -432,102 +437,102 @@ Jika Anda melihat kesalahan ini di macOS Sonoma atau lebih baru, Anda harus meng ## 💖 Sponsor -Jika YTSage menghemat waktu Anda, pertimbangkan untuk mensponsori proyek tersebut. Sponsor membantu menutupi waktu pengembangan, pengujian lintas platform, dan peningkatan di masa depan. +Jika YTSage menghemat waktu Anda, pertimbangkan untuk mensponsori proyek ini. Sponsor membantu mencakup waktu pengembangan, pengujian di semua platform, dan peningkatan di masa mendatang. -- Sponsor GitHub: https://github.com/sponsors/oop7 -- Tautan sponsor juga tersedia langsung di dalam aplikasi dari dialog Tentang. +- GitHub Sponsors: https://github.com/sponsors/oop7 +- Tautan sponsor tersedia langsung melalui dialog About di dalam aplikasi. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) - -## 👥 Berkontribusi + +## 👥 Kontribusi -Kami menyambut kontribusi! Inilah cara Anda dapat membantu: +Kami menerima kontribusi! Berikut cara Anda dapat membantu: -1. 🍴 Cabangkan repositori +1. 🍴 Fork repositori 2. 🌿 Buat cabang fitur Anda: ```bash - git checkout -b feature/AmazingFeature + git checkout -b feature/FiturLuarBiasa ``` 3. 💾 Komit perubahan Anda: ```bash - git commit -m 'Add some AmazingFeature' + git commit -m 'Tambah FiturLuarBiasa' ``` -4. 📤 Dorong ke cabang: +4. 📤 Push ke cabang: ```bash - git push origin feature/AmazingFeature + git push origin feature/FiturLuarBiasa ``` -5. 🔄 Buka Permintaan Tarik +5. 🔄 Buka Pull Request ### 🌍 Berkontribusi pada Terjemahan -- Perbarui file README lokal yang cocok (misalnya `README.es.md`) +- Perbarui file README lokal yang relevan (misalnya `readme-translations/README.id.md`) - Jaga agar string aplikasi tetap sinkron dengan mengedit `ytsage/languages/.json` -- Jika bahasa Anda hilang, mulai dari `README.md` dan buat `README..md` +- Jika bahasa Anda belum ada, mulailah dari `README.md` dan buat `README..md`
    📂 Struktur Proyek ## YTSage - Struktur Proyek -Dokumen ini menjelaskan struktur folder YTSage yang terorganisir. +Dokumen ini menjelaskan struktur folder yang terorganisir dari YTSage. ### 📁 Struktur Proyek ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # Konfigurasi GitHub +│ ├── 📁 ISSUE_TEMPLATE/ # Templat Issue +│ │ └── 🐛-bug-report.md # Templat laporan bug +│ ├─── 📁 workflows/ # Alur kerja GitHub Actions +│ │ ├── build-linux.yml # Alur kerja build Linux +│ │ ├── build-macos.yml # Alur kerja build macOS +│ │ │── build-windows.yml # Alur kerja build Windows +| | └── release-all.yml # Alur kerja rilis master +│ └── 📄 CI_CD_README.md # Dokumentasi CI/CD +├── 📁 branding/ # Aset branding (screenshot, SVG) +│ ├── 📁 icons/ # Ikon aplikasi +│ ├── 📁 screenshots/ # Screenshot untuk dokumentasi +│ └── 📁 svg/ # Aset SVG +├── 📄 LICENSE # File lisensi +├── 📄 pyproject.toml # Metadata proyek dan dependensi +├── 📄 README.md # Dokumentasi proyek +├── 📄 requirements.txt # Dependensi Python (dev) +└── 📁 ytsage/ # Paket kode sumber + ├── 📁 assets/ # Aset runtime + │ ├── 📁 Icon/ # Ikon aplikasi + │ └── 📁 sound/ # File audio + ├── 📁 languages/ # File lokalisasi + │ ├── 📄 ar.json # Terjemahan Arab + │ ├── 📄 de.json # Terjemahan Jerman + │ ├── 📄 en.json # Terjemahan Inggris + │ └── ... # Bahasa lainnya + ├── 📁 core/ # Logika bisnis inti + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # Integrasi Deno + │ ├── 📄 ytsage_downloader.py # Fungsionalitas pengunduhan + │ ├── 📄 ytsage_ffmpeg.py # Integrasi FFmpeg + │ ├── 📄 ytsage_utils.py # Fungsi utilitas + │ └── 📄 ytsage_yt_dlp.py # Integrasi yt-dlp + ├── 📁 gui/ # Komponen antarmuka pengguna + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # Jendela utama aplikasi + │ └── 📁 ytsage_gui_dialogs/ # Kelas dialog + ├── 📁 utils/ # Modul utilitas + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # Manajemen konfigurasi + │ └── 📄 ytsage_logger.py # Alat logging + ├── 📄 __init__.py # Titik masuk paket + └── 📄 main.py # Skrip eksekusi utama ```
    -## ⭐️ Sejarah Bintang +## ⭐️ Riwayat Bintang
    -## Sejarah Bintang +## Star History @@ -541,22 +546,22 @@ YTSage/ ## 📜 Lisensi -Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE) untuk detailnya. +Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](LICENSE) untuk detailnya. -## 🙏 Ucapan Terima Kasih +## 🙏 Terima Kasih
    -Tampilkan Ucapan Terima Kasih +Tampilkan Terima Kasih
    -

    Terima kasih yang sebesar-besarnya kepada semua orang yang telah berkontribusi pada proyek ini dengan membuka terbitan untuk menyarankan perbaikan atau melaporkan bug.

    +

    Terima kasih banyak kepada semua orang yang telah berkontribusi pada proyek ini dengan membuka masalah untuk menyarankan perbaikan atau melaporkan bug.

    - + - + @@ -564,39 +569,40 @@ Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE) - + - + - + - + - + + - - + + - - + + - - + + - + - +
    Komponen Inti
    Komponen Utama
    yt-dlpMesin UnduhMesin Pengunduhan
    FFmpeg
    DenoWaktu proses untuk integrasi dengan yt-dlpRuntime untuk integrasi yt-dlp
    Perpustakaan & Kerangka Kerja
    Pustaka & Framework
    PySide6Kerangka GUIFramework GUI
    BantalPillow Pemrosesan Gambar
    permintaan
    requests Permintaan HTTP
    kemasanPenanganan Versi & PaketpackagingManajemen Versi & Pemaketan
    penurunan hargaRender Penurunan HargamarkdownRendering Markdown
    logguruPencatatanloguruLogging
    Aset & Kontributor
    Pemberitahuan Baru 09 oleh UniversfieldNew Notification 09 oleh Universfield Suara Notifikasi
    virus185viru185 Kontributor Kode
    @@ -607,7 +613,7 @@ Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE) ## ⚠️ Penafian -Alat ini hanya untuk penggunaan pribadi. Harap hormati persyaratan layanan YouTube dan hak pembuat konten. +Alat ini hanya untuk penggunaan pribadi. Harap hormati Ketentuan Layanan YouTube dan hak-hak produser konten. --- From 37777310c959d5e744efa3a8f682294b3bc73ddf Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 14:52:50 +0300 Subject: [PATCH 550/568] Update German and Italian README translations Refine and standardize wording in readme-translations/README.de.md and README.it.md. Improvements include clearer UI labels (Analyze/Download), consistent terminology for installation and features, corrected language names, updated tables and formatting, improved screenshot alt texts, and various grammar/translation fixes to align both locales with the main README for clarity and consistency. --- readme-translations/README.de.md | 440 +++++++++++++------------ readme-translations/README.it.md | 550 ++++++++++++++++--------------- 2 files changed, 501 insertions(+), 489 deletions(-) diff --git a/readme-translations/README.de.md b/readme-translations/README.de.md index b1867d7..3d03b7d 100644 --- a/readme-translations/README.de.md +++ b/readme-translations/README.de.md @@ -12,33 +12,33 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**Ein moderner YouTube-Downloader mit einer sauberen PySide6-Oberfläche.** -Laden Sie Videos in beliebiger Qualität herunter, extrahieren Sie Audio, rufen Sie Untertitel ab und mehr. +**Ein moderner YouTube-Downloader mit einer eleganten PySide6-Benutzeroberfläche.** +Downloaden Sie Videos in jeder Qualität, extrahieren Sie Audio, rufen Sie Untertitel ab und vieles mehr. ### 🌍 README-Sprachen Englisch: [EN](../README.md) -| Quelle: [AR](README.ar.md) +| Arabisch: [AR](README.ar.md) | Deutsch: [DE](README.de.md) | Spanisch: [ES](README.es.md) | Französisch: [FR](README.fr.md) -| Quelle: [HI](README.hi.md) -| Bahasa Indonesien: [ID](README.id.md) +| Hindi: [HI](README.hi.md) +| Indonesisch: [ID](README.id.md) | Italienisch: [IT](README.it.md) -| 日本語: [JA](README.ja.md) +| Japanisch: [JA](README.ja.md) | Polnisch: [PL](README.pl.md) | Portugiesisch: [PT](README.pt.md) | Russisch: [RU](README.ru.md) -| Türkei: [TR](README.tr.md) -| Quelle: [ZH](README.zh.md) +| Türkisch: [TR](README.tr.md) +| Chinesisch: [ZH](README.zh.md)

    InstallationFunktionen • - Verwendung • + BedienungScreenshotsFehlerbehebung • - Sponsor • + SponsorenMitwirken

    @@ -51,10 +51,10 @@ Englisch: [EN](../README.md) YTSage wurde für Benutzer entwickelt, die einen **einfachen, aber leistungsstarken YouTube-Downloader** suchen. Im Gegensatz zu anderen Tools bietet es: -- Eine saubere, moderne PySide6-Schnittstelle +- Eine moderne und übersichtliche PySide6-Oberfläche - Ein-Klick-Downloads für Video, Audio und Untertitel -- Erweiterte Funktionen wie SponsorBlock, Zusammenführen von Untertiteln und Auswahl von Wiedergabelisten -- Optionaler generischer Modus für von YT-DLP unterstützte Websites außerhalb von YouTube +- Erweiterte Funktionen wie SponsorBlock, Zusammenführen von Untertiteln und Playlist-Auswahl +- Optionaler generischer Modus (Generic Mode) für von yt-dlp unterstützte Seiten außerhalb von YouTube - Plattformübergreifende Unterstützung und einfache Installation @@ -62,31 +62,32 @@ YTSage wurde für Benutzer entwickelt, die einen **einfachen, aber leistungsstar
    -| Kernfunktionen | Erweiterte Funktionen | Zusätzliche Funktionen | -|----------------------------------|--------------------------|------------------------------------| -| 🎥 Tabelle formatieren | 🚫 SponsorBlock-Integration | 🎞️ FPS/HDR-Anzeige | -| 🎵 Audioextraktion | 📝 Mehrere Untertitel auswählen und zusammenführen | 🔄 yt-dlp automatisch aktualisieren | -| ✨ Einfache Benutzeroberfläche | 💾 Beschreibung und Miniaturansicht speichern | 🛠️ FFmpeg/yt-dlp/Deno-Erkennung | -| 📋 Playlist-Unterstützung und -Auswahl | 🚀 Geschwindigkeitsbegrenzer | ⚙️ Benutzerdefinierte Befehle | -| 📑 Kapitel einbetten | ✂️ Videoabschnitte zuschneiden | 🍪 Mit Cookies anmelden | -| 📜 Download-Verlauf | 🔄 Kanalauswahl freigeben | 🌐 Proxy-Unterstützung | -| 🎚️ Audioformatkonvertierung | 🎬 Videoformateinstellungen | 🆙 Integrierte Updater-Registerkarte | -| 🌍 Allgemeiner Modus | 🔊 Audio-Normalisierung (EBU R128) | 🌍 Lokalisierung in 14 Sprachen | +| Basisfunktionen | Erweiterte Funktionen | Zusätzliche Funktionen | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Formattabelle | 🚫 SponsorBlock-Integration | 🎞️ FPS/HDR-Anzeige | +| 🎵 Audio-Extraktion | 📝 Untertitel-Auswahl & Merging | 🔄 Automatisches yt-dlp Update | +| ✨ Einfache Benutzeroberfläche | 💾 Beschreibung & Thumbnail speichern | 🛠️ FFmpeg/yt-dlp/Deno Erkennung | +| 📋 Playlist-Support & Selector | 🚀 Geschwindigkeitsbegrenzer | ⚙️ Benutzerdefinierte Befehle | +| 📑 Kapitel-Integration | ✂️ Videoabschnitte zuschneiden | 🍪 Cookie-Login | +| 📜 Download-Historie | 🔄 Release-Kanal Auswahl | 🌐 Proxy-Support | +| 🎚️ Audioformat-Konvertierung | 🎬 Videoformat-Einstellungen | 🆙 Integrierter Update-Tab | +| 🌍 Generischer Modus | 🔊 Audio-Normalisierung (EBU R128) | 🌍 In 14 Sprachen lokalisiert | +| 💾 Playlist-Export | ⚙️ Standardqualität & Untertitel | |
    ## 🚀 Installation -### ⚡ Schnellinstallation (empfohlen) +### ⚡ Schnelle Installation (Empfohlen) -Installieren Sie YTSage von PyPI: +Installieren Sie YTSage über PyPI: ```bash pip install ytsage ```
    -🔄Aktualisieren Sie eine vorhandene Installation +🔄 Bestehende Installation aktualisieren ```bash pip install --upgrade ytsage @@ -94,7 +95,7 @@ pip install --upgrade ytsage
    -Starten Sie dann die App: +Starten Sie dann die Anwendung: ```bash ytsage @@ -102,33 +103,33 @@ ytsage ### 📦 Vorgefertigte ausführbare Dateien -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 Neuestes Release herunterladen](https://github.com/oop7/YTSage/releases/latest) #### 🪟 Windows -| Formatieren | Beschreibung | +| Format | Beschreibung | |--------|-------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standardinstallationsprogramm | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Mit FFmpeg gebündelt | +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standard-Installer | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Mit integriertem FFmpeg | | ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable Version, keine Installation erforderlich | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Tragbar mit FFmpeg, gezippt | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable Version mit FFmpeg, gepackt |
    🛠️ Installationsschritte -1. **EXE-Installationsprogramm (`.exe`)**: Doppelklicken Sie auf die Datei und folgen Sie dem Setup-Assistenten. -2. **Portable Version (`.zip`)**: Extrahieren Sie das Archiv an den gewünschten Speicherort und führen Sie `ytsage.exe` aus. -3. **FFmpeg gebündelt**: Wählen Sie die gebündelten FFmpeg-Versionen, wenn Sie FFmpeg nicht auf Ihrem System installiert haben. +1. **EXE-Installer (`.exe`)**: Doppelklicken Sie auf die Datei und folgen Sie dem Installationsassistenten. +2. **Portable Version (`.zip`)**: Entpacken Sie das Archiv an den gewünschten Ort und starten Sie `ytsage.exe`. +3. **Integriertes FFmpeg**: Wählen Sie die Versionen mit integriertem FFmpeg, falls FFmpeg nicht bereits auf Ihrem System installiert ist.
    #### 🐧 Linux -| Formatieren | Beschreibung | +| Format | Beschreibung | |--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian-Paket | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, tragbar | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portabel | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM-Paket | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak-Bundle | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak Bundle |
    🛠️ Installationsschritte @@ -136,7 +137,7 @@ ytsage - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Repariert fehlende Abhängigkeiten, falls nötig ``` - **RPM (`.rpm`)**: ```bash @@ -147,7 +148,7 @@ ytsage chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**: Folgen Sie den Anweisungen auf Flathub oder führen Sie Folgendes aus: +- **Flatpak**: Folgen Sie den Anweisungen auf Flathub oder führen Sie aus: ```bash flatpak install flathub io.github.oop7.ytsage ``` @@ -155,26 +156,26 @@ ytsage #### 🍎 macOS -| Formatieren | Beschreibung | +| Format | Beschreibung | |--------|-------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Gezippte Anwendung für Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk-Image-Installationsprogramm für Apple Silicon | +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Gepackte App für Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk Image Installer für Apple Silicon |
    🛠️ Installationsschritte -- **DMG-Installationsprogramm (`.dmg`)**: Doppelklicken Sie zum Mounten und ziehen Sie dann `YTSage.app` in Ihren Anwendungsordner. -- **App-Archiv (`.zip`)**: Extrahieren Sie die ZIP-Datei und verschieben Sie `YTSage.app` in Ihren Anwendungsordner. +- **DMG-Installer (`.dmg`)**: Doppelklick zum Mounten, dann `YTSage.app` in den Programme-Ordner ziehen. +- **App-Archiv (`.zip`)**: Zip entpacken und `YTSage.app` in den Programme-Ordner verschieben. -*Hinweis: Wenn Sie auf den Fehler „App ist beschädigt“ stoßen, sehen Sie sich das [macOS troubleshooting section](#troubleshooting) unten an.* +*Hinweis: Wenn Sie die Fehlermeldung "App ist beschädigt" erhalten, lesen Sie bitte den Abschnitt zur Fehlerbehebung für macOS weiter unten.*
    ---
    -💻 Manuelle Installation von der Quelle +💻 Manuelle Installation aus dem Quellcode -### 1. Klonen Sie das Repository +### 1. Repository klonen ```bash git clone https://github.com/oop7/YTSage.git @@ -183,19 +184,19 @@ cd YTSage ### 2. Abhängigkeiten installieren -#### ⚡ Mit UV +#### ⚡ Mit uv ```bash uv pip install . ``` -#### 📦 Oder mit Standard-Pip +#### 📦 Oder mit Standard-pip ```bash pip install . ``` -### 3. Führen Sie die Anwendung aus +### 3. Anwendung starten ```bash python -m ytsage.main @@ -209,46 +210,47 @@ python -m ytsage.main
    - - + + - - + +
    Download SettingsPlaylist DownloadDownload-EinstellungenPlaylist-Download
    Download-Einstellungen Playlist-Download
    Audio Format Selection with Save ThumbnailCustom OptionsAudioformat-AuswahlBenutzerdefinierte Optionen
    Audioformat Benutzerdefinierte Optionen
    -
    +
    -## 📖 Verwendung + +## 📖 Bedienung
    -🎯 Grundlegende Verwendung +🎯 Grundlegende Bedienung 1. **YTSage starten** -2. **YouTube-URL einfügen** (oder verwenden Sie die Schaltfläche „URL einfügen“) -3. **Klicken Sie auf „Analysieren“** +2. **YouTube-URL einfügen** (oder die Schaltfläche "Paste URL" verwenden) +3. **Auf "Analyze" klicken** 4. **Format auswählen:** - `Video` für Video-Downloads - - `Audio Only` zur Audioextraktion + - `Audio Only` für Audio-Extraktion 5. **Optionen wählen:** - - Untertitel aktivieren und Sprache auswählen - - Untertitelzusammenführung aktivieren - - Miniaturansicht speichern - - Entfernen Sie Sponsorsegmente + - Untertitel aktivieren & Sprache auswählen + - Untertitel-Merging aktivieren + - Thumbnail speichern + - Sponsoren-Segmente entfernen - Beschreibung speichern - - Kapitel einbetten -6. **Ausgabeverzeichnis auswählen** -7. **Klicken Sie auf „Herunterladen“** + - Kapitel integrieren +6. **Ausgabeverzeichnis wählen** +7. **Auf "Download" klicken** -> 💡 Das Standard-Download-Verzeichnis ist der Ordner „Downloads“ des Benutzers. +> 💡 Das Standard-Download-Verzeichnis ist der "Downloads"-Ordner des Benutzers.
    @@ -256,94 +258,97 @@ python -m ytsage.main 📋 Playlist-Download 1. **Playlist-URL einfügen** -2. **Klicken Sie auf „Analysieren“** -3. **Wählen Sie Videos aus der Playlist-Auswahl aus (optional, standardmäßig alle)** -4. **Wählen Sie das gewünschte Format/die gewünschte Qualität** -5. **Klicken Sie auf „Herunterladen“** +2. **Auf "Analyze" klicken** +3. **Videos aus dem Playlist-Selector auswählen (optional, standardmäßig alle)** +4. **Gewünschtes Format/Qualität wählen** +5. **Auf "Download" klicken** -> 💡 Die Anwendung verwaltet die Download-Warteschlange automatisch +> 💡 Die Anwendung verwaltet die Download-Warteschlange automatisch, und Sie können Playlist-Einträge als `.txt`, `.csv`, `.m3u` oder `.json` exportieren.
    -🌍 Allgemeiner Modus für Nicht-YouTube-Websites +🌍 Generischer Modus für Nicht-YouTube-Seiten -Verwenden Sie den generischen Modus, wenn Sie möchten, dass YTSage URLs von Websites akzeptiert, die von yt-dlp unterstützt werden, wie z. B. Dailymotion, CBC Gem, TikTok und andere. +Verwenden Sie den generischen Modus (Generic Mode), wenn YTSage URLs von anderen von yt-dlp unterstützten Seiten wie Dailymotion, CBC Gem, TikTok und anderen akzeptieren soll. -So verwenden Sie es: +So verwenden Sie ihn: 1. Öffnen Sie `Download Settings`. 2. Aktivieren Sie `Generic Mode`. -3. Fügen Sie eine unterstützte Nicht-YouTube-Video- oder Playlist-URL ein. +3. Fügen Sie eine unterstützte Video- oder Playlist-URL ein, die nicht von YouTube stammt. 4. Klicken Sie auf `Analyze`. 5. Wählen Sie ein Format und laden Sie es wie gewohnt herunter. Hinweise: -- Der generische Modus ändert nur die URL-Validierung innerhalb von YTSage. Die Zielsite muss weiterhin von Ihrer installierten yt-dlp-Version unterstützt werden. -- Einige Websites erfordern je nach Extraktor Cookies, eine Anmeldesitzung, einen Proxy oder zusätzliche YT-DLP-Argumente. -- Wenn eine Site ausfällt, aktualisieren Sie yt-dlp zunächst über die Registerkarte des integrierten Updaters, bevor Sie das Problem melden. +- Der generische Modus ändert nur die URL-Validierung innerhalb von YTSage. Die Zielseite muss weiterhin von Ihrer installierten yt-dlp-Version unterstützt werden. +- Einige Seiten erfordern Cookies, Login, Proxy oder zusätzliche yt-dlp-Argumente je nach Extractor. +- Wenn eine Seite fehlschlägt, aktualisieren Sie zuerst yt-dlp über den integrierten Update-Tab, bevor Sie das Problem melden.
    -🧰 Medien- und Download-Optionen +🧰 Medien- & Download-Optionen -- **Untertiteloptionen:** Sprachen filtern und Untertitel in die Videodatei einbetten -- **Untertitel zusammenführen:** Untertitel für fest codierte Untertitel in die Videodatei einbinden -- **Beschreibung speichern:** Speichern Sie die Videobeschreibung als Textdatei -- **Miniaturansicht speichern:** Speichern Sie die Miniaturansicht des Videos als Bilddatei -- **Kapitel einbetten:** Betten Sie Kapitelmarkierungen als Metadaten für kompatible Videoplayer ein -- **Sponsorensegmente entfernen:** Entfernen Sie Sponsorsegmente aus dem Video mit SponsorBlock -- **Video zuschneiden:** Laden Sie nur bestimmte Teile eines Videos herunter, indem Sie Zeitbereiche im Format `HH:MM:SS` angeben +- **Untertitel-Optionen:** Sprachen filtern und Untertitel in die Videodatei einbetten. +- **Untertitel-Merging:** Mergt Untertitel in die Videodatei für fest eingebrannte (hardcoded) Untertitel. +- **Beschreibung speichern:** Speichert die Videobeschreibung als Textdatei. +- **Thumbnail speichern:** Speichert das Video-Thumbnail als Bilddatei. +- **Kapitel integrieren:** Bettet Kapitelmarken als Metadaten für kompatible Videoplayer ein. +- **Sponsoren-Segmente entfernen:** Entfernt gesponserte Abschnitte aus dem Video mithilfe von SponsorBlock. +- **Video zuschneiden:** Laden Sie nur bestimmte Teile eines Videos herunter, indem Sie Zeitbereiche im Format `HH:MM:SS` angeben.
    -⚙️ Ausgabe- und Dateieinstellungen +⚙️ Ausgabe- & Dateieinstellungen + +- **Geschwindigkeitsbegrenzer:** Begrenzt die Download-Geschwindigkeit, z. B. `500K` für 500 KB/s. +- **Download-Pfad speichern:** Speichert den Standard-Download-Pfad für zukünftige Downloads. Verfügbar unter **Download Settings → Download Path**. +- **Standard-Videoauflösung:** Legen Sie Ihre bevorzugte Videoauflösung für die automatische Auswahl fest (z. B. 1080p, 720p). Verfügbar unter **Download Settings → Default Video Resolution**. +- **Standard-Untertitelsprachen:** Legen Sie Standard-Untertitelsprachen für die automatische Auswahl fest (kommagetrennt, z. B. `de,en`). Verfügbar unter **Download Settings → Default Subtitle Languages**. +- **Dateinamen-Format:** Passen Sie das Format des Ausgabedateinamen mit Variablen wie `%(title)s`, `%(uploader)s`, `%(playlist_index)s` und `%(resolution)s` an. Verfügbar unter **Download Settings → Filename Format**. +- **Ausgabeformat erzwingen:** Erzwingt Video-Downloads in ein bestimmtes Containerformat wie `mp4`, `webm` oder `mkv`. Verfügbar unter **Download Settings → Output Format Settings**. +- **Audioformat-Konvertierung:** Konvertiert reine Audio-Downloads in bevorzugte Formate wie `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` oder `Best`. Verfügbar unter **Download Settings → Audio Format Settings**. +- **Audio-Normalisierung:** Standardisiert die Lautstärke für reine Audio-Downloads unter Verwendung von EBU R128. +- **Gleichzeitige Verbindungen:** Erhöhen Sie die Download-Geschwindigkeit erheblich, indem Sie Dateien in mehreren Fragmenten gleichzeitig herunterladen. Verfügbar unter **Download Settings → General → Concurrent Connections** (Standardmäßig 1, maximal 8-10 empfohlen, um IP-Sperren zu vermeiden). -- **Geschwindigkeitsbegrenzer:** Begrenzen Sie die Download-Geschwindigkeit, zum Beispiel `500K` auf 500 KB/s -- **Download-Pfad speichern:** Speichern Sie den Standard-Download-Pfad für zukünftige Downloads. Verfügbar unter **Download-Einstellungen → Download-Pfad**. -- **Format des Ausgabedateinamens:** Passen Sie das Format des Ausgabedateinamens mithilfe von Variablen wie `%(title)s`, `%(uploader)s` und `%(resolution)s` an. Verfügbar unter **Download-Einstellungen → Dateinamenformat**. -- **Ausgabeformat erzwingen:** Video-Downloads in ein bestimmtes Containerformat wie `mp4`, `webm` oder `mkv` erzwingen. Verfügbar unter **Download-Einstellungen → Ausgabeformat-Einstellungen**. -- **Audioformatkonvertierung:** Konvertieren Sie reine Audio-Downloads in bevorzugte Formate wie `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` oder `Best`. Verfügbar unter **Download-Einstellungen → Audioformat-Einstellungen**. -- **Audio-Normalisierung:** Standardisieren Sie die Lautstärke für reine Audio-Downloads mit EBU R128. -- **Gleichzeitige Verbindungen:** Erhöhen Sie die Download-Geschwindigkeit drastisch, indem Sie Dateien gleichzeitig in mehreren Fragmenten herunterladen. Verfügbar in **Download-Einstellungen → Allgemein → Gleichzeitige Verbindungen** (Standard ist 1, empfohlenes Maximum ist 8-10, um IP-Einschränkungen zu vermeiden).\n
    -🌐 Zugang und Netzwerk +🌐 Zugriff & Netzwerk -- **Mit Cookies anmelden:** Melden Sie sich mit Cookies bei YouTube an, um auf private Inhalte zuzugreifen. - So verwenden Sie es: - 1. **Empfohlen:** Verwenden Sie die integrierte Option „Extract cookies from browser“ in der App und wählen Sie dann Ihren Browser und optional ein Profil aus. - 2. Alternativ können Sie Cookies auch manuell extrahieren: +- **Cookie-Login:** Loggen Sie sich mit Cookies bei YouTube ein, um auf private Inhalte zuzugreifen. + Verwendung: + 1. **Empfohlen:** Verwenden Sie die integrierte Option `Extract cookies from browser` in der App, wählen Sie dann Ihren Browser und optional ein Profil. + 2. Alternativ können Sie Cookies manuell extrahieren: a. Exportieren Sie Cookies aus Ihrem Browser mit einer Erweiterung wie [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) b. Kopieren Sie die Cookies im Netscape-Format - c. Erstellen Sie eine Datei mit dem Namen `cookies.txt` und fügen Sie die Cookies darin ein - d. Wählen Sie in der App die Datei „cookies.txt“ aus -- **Proxy-Unterstützung:** Verwenden Sie einen Proxy-Server für Downloads, zum Beispiel `http://:` -- **Generischer Modus:** Ermöglicht YTSage die Analyse und den Download von Nicht-YouTube-Websites, die von yt-dlp unterstützt werden. Aktivieren Sie es über **Download-Einstellungen → Allgemeiner Modus**. + c. Erstellen Sie eine Datei namens `cookies.txt` und fügen Sie die Cookies ein + d. Wählen Sie die Datei `cookies.txt` in der App aus +- **Proxy-Support:** Verwenden Sie einen Proxy-Server für Downloads, z. B. `http://:` +- **Generischer Modus:** Ermöglicht YTSage das Analysieren und Herunterladen von anderen von yt-dlp unterstützten Seiten. Aktivieren Sie dies unter **Download Settings → Generic Mode**.
    -🛠️ Werkzeuge und Wartung +🛠️ Tools & Wartung -- **Benutzerdefinierte Befehle:** Greifen Sie über Befehlszeilenargumente auf erweiterte yt-dlp-Funktionen zu -- **Registerkarte „Updater“:** Integrierte Update-Tools von einem Ort aus in den benutzerdefinierten Optionen verwalten: - - **yt-dlp-Updates:** Suchen Sie nach Updates und wechseln Sie zwischen den Veröffentlichungskanälen Stable und Nightly - - **FFmpeg-Versionsprüfer:** Überprüfen Sie Ihre FFmpeg-Version und öffnen Sie die Installationsanleitungen - - **Deno-Updates:** Überprüfen und aktualisieren Sie die Deno-Laufzeitumgebung -- **FFmpeg/yt-dlp/Deno-Erkennung:** Erkennt automatisch FFmpeg-, yt-dlp- und Deno-Pfade und -Versionen im Info-Dialog. -- **Download-Verlauf:** Zeigen Sie frühere Downloads mit Miniaturansichten und Status über die Schaltfläche **Verlauf** an. +- **Benutzerdefinierte Befehle:** Greifen Sie auf erweiterte yt-dlp-Funktionen über Befehlszeilenargumente zu. +- **Update-Tab:** Verwalten Sie integrierte Update-Tools an einem Ort in den benutzerdefinierten Optionen: + - **yt-dlp Updates:** Suchen Sie nach Updates und wechseln Sie zwischen Stable- und Nightly-Release-Kanälen. + - **FFmpeg-Versionsprüfung:** Überprüfen Sie Ihre FFmpeg-Version und öffnen Sie Installationsanleitungen. + - **Deno-Updates:** Überprüfen und aktualisieren Sie die Deno-Laufzeitumgebung. +- **FFmpeg/yt-dlp/Deno Erkennung:** Erkennt Pfade und Versionen von FFmpeg, yt-dlp und Deno automatisch aus dem About-Dialog. +- **Download-Historie:** Zeigt vergangene Downloads mit Thumbnails und Status über die Schaltfläche **History** an.
    🌍 Lokalisierung -YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie Ihre bevorzugte Sprache unter **Benutzerdefinierte Optionen → Sprache** aus. +YTSage unterstützt **14 Sprachen** für globale Barrierefreiheit. Wählen Sie Ihre bevorzugte Sprache unter **Custom Options → Language**. ### Unterstützte Sprachen @@ -361,7 +366,7 @@ YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie | Sprache | Datei | Sprache | Datei | |----------|------|----------|------| -| 🇺🇸 Englisch | [README.md](../README.md) | 🇪🇸 Spanisch | [README.es.md](README.es.md) +| 🇺🇸 Englisch | [README.md](README.md) | 🇪🇸 Spanisch | [README.es.md](README.es.md) | | 🇸🇦 Arabisch | [README.ar.md](README.ar.md) | 🇫🇷 Französisch | [README.fr.md](README.fr.md) | | 🇩🇪 Deutsch | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonesisch | [README.id.md](README.id.md) | 🇮🇹 Italienisch | [README.it.md](README.it.md) | @@ -369,7 +374,7 @@ YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie | 🇧🇷 Portugiesisch | [README.pt.md](README.pt.md) | 🇷🇺 Russisch | [README.ru.md](README.ru.md) | | 🇹🇷 Türkisch | [README.tr.md](README.tr.md) | 🇨🇳 Chinesisch | [README.zh.md](README.zh.md) | -> 💡 **Möchten Sie eine Übersetzung beisteuern?** Schauen Sie sich den Abschnitt [Contributing](#contributing) an, um uns beim Hinzufügen weiterer Sprachen zu helfen! +> 💡 **Möchten Sie bei einer Übersetzung helfen?** Schauen Sie in den Abschnitt [Mitwirken](#contributing), um uns zu helfen, weitere Sprachen hinzuzufügen!
    @@ -379,50 +384,50 @@ YTSage unterstützt **14 Sprachen** für weltweite Zugänglichkeit. Wählen Sie
    Klicken Sie hier, um häufige Probleme und Lösungen anzuzeigen -- **Formattabelle wird nicht angezeigt:** Aktualisieren Sie yt-dlp auf die neueste Version und wechseln Sie jede Nacht zu yt-dlp. +- **Formattabelle wird nicht angezeigt:** Aktualisieren Sie yt-dlp auf die neueste Version und wechseln Sie zu yt-dlp nightly. - **Download schlägt fehl:** Überprüfen Sie Ihre Internetverbindung und stellen Sie sicher, dass das Video verfügbar ist. -- **Spezifische Downloadfehler:** - - **Private Videos:** Verwenden Sie die Cookie-Authentifizierung, um auf private Inhalte zuzugreifen. - - **Inhalte mit Altersbeschränkung:** Melden Sie sich bei Ihrem YouTube-Konto an, um Videos mit Altersbeschränkung anzusehen. - - **Geoblockierte Videos:** Erwägen Sie die Verwendung eines VPN, um regionale Beschränkungen zu umgehen. - - **Entfernte/gelöschte Videos:** Das Video ist nicht mehr auf YouTube verfügbar. - - **Live-Streams:** Live-Streams können nicht heruntergeladen werden; Warten Sie, bis der Stream beendet ist. +- **Spezifische Download-Fehler:** + - **Private Videos:** Verwenden Sie Cookie-Authentifizierung, um auf private Inhalte zuzugreifen. + - **Videos mit Altersbeschränkung:** Loggen Sie sich in Ihr YouTube-Konto ein, um altersbeschränkte Videos anzusehen. + - **Geoblockierte Videos:** Erwägen Sie die Verwendung eines VPN, um regionale Einschränkungen zu umgehen. + - **Gelöschte Videos:** Das Video ist auf YouTube nicht mehr verfügbar. + - **Livestreams:** Livestreams können während der Übertragung nicht heruntergeladen werden; warten Sie, bis der Stream beendet ist. - **Netzwerkfehler:** Überprüfen Sie Ihre Internetverbindung und versuchen Sie es erneut. - **Ungültige URLs:** Stellen Sie sicher, dass die URL korrekt ist und von einer unterstützten Plattform stammt. - - **Premium-Inhalte:** Erfordert eine YouTube Premium-Mitgliedschaft. - - **Urheberrechtliche Sperren:** Der Inhalt ist aufgrund von Urheberrechtsbeschränkungen gesperrt. -- **Video- und Audiodateien nach dem Download trennen:** Dies passiert, wenn FFmpeg fehlt oder nicht erkannt wird. YTSage benötigt FFmpeg, um hochwertige Video- und Audiostreams zusammenzuführen. - - **Lösung:** Stellen Sie sicher, dass FFmpeg im PATH Ihres Systems installiert und zugänglich ist. Für Windows-Benutzer ist es am einfachsten, die Datei „YTSage-v-ffmpeg.exe“ herunterzuladen, die im Lieferumfang von FFmpeg enthalten ist. + - **Premium-Inhalte:** Erfordert ein YouTube-Premium-Abonnement. + - **Urheberrechtssperren:** Der Inhalt ist aufgrund von Urheberrechtsbeschränkungen gesperrt. +- **Video- und Audiodateien sind nach dem Download getrennt:** Dies passiert, wenn FFmpeg fehlt oder nicht erkannt wird. YTSage benötigt FFmpeg, um hochwertige Video- und Audiostreams zusammenzuführen. + - **Lösung:** Stellen Sie sicher, dass FFmpeg installiert und im PATH Ihres Systems zugänglich ist. Für Windows-Benutzer ist die einfachste Option, die Datei `YTSage-v-ffmpeg.exe` herunterzuladen, die FFmpeg integriert hat. --- -#### 🛡️ Windows Defender/Antivirus-Warnung +#### 🛡️ Windows Defender / Antivirus Warnung -Einige Antivirenprogramme kennzeichnen die „.exe“-Dateien möglicherweise als falsch positive Ergebnisse. Dies ist eine **bekannte Einschränkung** von Paketanwendungen. +Einige Antivirenprogramme können `.exe`-Dateien als Fehlalarm (False Positive) markieren. Dies ist eine **bekannte Einschränkung** von gepackten Anwendungen. **Warum das passiert:** -– Antivirus-Heuristiken können gepackte ausführbare Dateien fälschlicherweise als verdächtig identifizieren +- Antiviren-Heuristiken können gepackte ausführbare Dateien fälschlicherweise als verdächtig identifizieren. **Sichere Alternativen:** -- ✅ **Pip-Installation verwenden:** `pip install ytsage` (empfohlen) -- ✅ **Aus dem Quellcode erstellen**: Folgen Sie diesem [guide](../.github/CI_CD_README.md) -- ✅ **Setzen Sie die Anwendung in Ihre Antivirensoftware auf die Whitelist +- ✅ **Verwenden Sie die pip-Installation:** `pip install ytsage` (Empfohlen) +- ✅ **Aus dem Quellcode bauen**: Folgen Sie diesem [Leitfaden](.github/CI_CD_README.md) +- ✅ **App auf die Whitelist setzen** in Ihrer Antiviren-Software. -#### 🍎 macOS: „App ist beschädigt und kann nicht geöffnet werden“ -Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quarantäneattribut entfernen. +#### 🍎 macOS: "Die App ist beschädigt und kann nicht geöffnet werden" +Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quarantäne-Attribut entfernen. -1. **Öffnen Sie das Terminal** (Sie können es mit Spotlight finden). -2. **Geben Sie den folgenden Befehl ein**, drücken Sie aber noch nicht die Eingabetaste. Achten Sie darauf, das Leerzeichen am Ende einzufügen: +1. **Öffnen Sie das Terminal** (Sie finden es über Spotlight). +2. **Geben Sie den folgenden Befehl ein**, aber drücken Sie noch **nicht** Enter. Stellen Sie sicher, dass am Ende ein Leerzeichen steht: ```bash xattr -d com.apple.quarantine ``` -3. **Ziehen Sie die Datei „YTSage.app“ aus Ihrem Finder-Fenster und legen Sie sie direkt im Terminalfenster ab. Dadurch wird automatisch der richtige Dateipfad eingefügt. -4. **Drücken Sie die Eingabetaste**, um den Befehl auszuführen. -5. **Versuchen Sie erneut, YTSage.app zu öffnen.** Es sollte jetzt korrekt starten. +3. **Ziehen Sie die Datei `YTSage.app`** aus Ihrem Finder-Fenster direkt in das Terminal-Fenster. Dadurch wird der korrekte Dateipfad automatisch eingefügt. +4. **Drücken Sie Enter**, um den Befehl auszuführen. +5. **Versuchen Sie erneut, YTSage.app zu öffnen.** Sie sollte nun korrekt starten. --- -#### **Konfigurationsorte (Erweitert)** +#### **Speicherorte der Konfiguration (Erweitert)** - **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage` @@ -430,45 +435,45 @@ Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quara
    -## 💖 Sponsor +## 💖 Sponsoren -Wenn Sie mit YTSage Zeit sparen, sollten Sie das Projekt sponsern. Durch Sponsoring können Entwicklungszeit, plattformübergreifende Tests und zukünftige Verbesserungen abgedeckt werden. +Wenn YTSage Ihnen Zeit spart, ziehen Sie bitte in Erwägung, das Projekt zu sponsern. Sponsoring hilft, die Entwicklungszeit, Tests auf allen Plattformen und zukünftige Verbesserungen zu finanzieren. -- GitHub-Sponsoren: https://github.com/sponsors/oop7 -- Der Sponsor-Link ist auch direkt in der App im Info-Dialog verfügbar. +- GitHub Sponsors: https://github.com/sponsors/oop7 +- Der Sponsoring-Link ist auch direkt in der App über den About-Dialog verfügbar. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) ## 👥 Mitwirken -Wir freuen uns über Beiträge! So können Sie helfen: +Beiträge sind herzlich willkommen! So können Sie helfen: 1. 🍴 Forken Sie das Repository -2. 🌿 Erstellen Sie Ihren Feature-Branch: +2. 🌿 Erstellen Sie einen Feature-Branch: ```bash git checkout -b feature/AmazingFeature ``` -3. 💾 Übernehmen Sie Ihre Änderungen: +3. 💾 Committen Sie Ihre Änderungen: ```bash git commit -m 'Add some AmazingFeature' ``` -4. 📤 Zur Filiale schieben: +4. 📤 Pushen Sie in den Branch: ```bash git push origin feature/AmazingFeature ``` -5. 🔄 Öffnen Sie eine Pull-Anfrage +5. 🔄 Öffnen Sie einen Pull Request -### 🌍 Mitwirkende Übersetzungen +### 🌍 Zu Übersetzungen beitragen -- Aktualisieren Sie die passende lokalisierte README-Datei (zum Beispiel `README.es.md`) -- Halten Sie App-Strings synchron, indem Sie `ytsage/languages/.json` bearbeiten -- Wenn Ihre Sprache fehlt, beginnen Sie mit `README.md` und erstellen Sie `README..md` +- Aktualisieren Sie die entsprechende lokalisierte README-Datei (z. B. `readme-translations/README.de.md`) +- Halten Sie die App-Strings synchron, indem Sie `ytsage/languages/.json` bearbeiten +- Wenn Ihre Sprache fehlt, beginnen Sie mit der `README.md` und erstellen Sie `README..md`
    📂 Projektstruktur -## YTSage – Projektstruktur +## YTSage - Projektstruktur Dieses Dokument beschreibt die organisierte Ordnerstruktur von YTSage. @@ -476,58 +481,58 @@ Dieses Dokument beschreibt die organisierte Ordnerstruktur von YTSage. ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # GitHub-Konfiguration +│ ├── 📁 ISSUE_TEMPLATE/ # Ticket-Vorlagen +│ │ └── 🐛-bug-report.md # Bug-Report-Vorlage +│ ├─── 📁 workflows/ # GitHub Actions Workflows +│ │ ├── build-linux.yml # Linux Build Workflow +│ │ ├── build-macos.yml # macOS Build Workflow +│ │ │── build-windows.yml # Windows Build Workflow +| | └── release-all.yml # Master Release Workflow +│ └── 📄 CI_CD_README.md # CI/CD-Dokumentation +├── 📁 branding/ # Branding-Assets (Screenshots, SVGs) +│ ├── 📁 icons/ # App-Icons +│ ├── 📁 screenshots/ # Screenshots für die Dokumentation +│ └── 📁 svg/ # SVG-Assets +├── 📄 LICENSE # Lizenzdatei +├── 📄 pyproject.toml # Projekt-Metadaten und Abhängigkeiten +├── 📄 README.md # Projekt-Dokumentation +├── 📄 requirements.txt # Python-Abhängigkeiten (dev) +└── 📁 ytsage/ # Quellcode-Paket + ├── 📁 assets/ # Laufzeit-Assets + │ ├── 📁 Icon/ # App-Icons + │ └── 📁 sound/ # Audiodateien + ├── 📁 languages/ # Lokalisierungsdateien + │ ├── 📄 ar.json # Arabische Übersetzung + │ ├── 📄 de.json # Deutsche Übersetzung + │ ├── 📄 en.json # Englische Übersetzung + │ └── ... # Weitere Sprachen + ├── 📁 core/ # Hauptgeschäftslogik + │ ├── 📄 __init__.py # Core-Paket-Initialisierung + │ ├── 📄 ytsage_deno.py # Deno-Integration + │ ├── 📄 ytsage_downloader.py # Download-Funktionalität + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg-Integration + │ ├── 📄 ytsage_utils.py # Hilfsfunktionen + │ └── 📄 ytsage_yt_dlp.py # yt-dlp-Integration + ├── 📁 gui/ # Benutzeroberflächen-Komponenten + │ ├── 📄 __init__.py # GUI-Paket-Initialisierung + │ ├── 📄 ytsage_gui_main.py # Hauptfenster der App + │ └── 📁 ytsage_gui_dialogs/ # Dialog-Klassen + ├── 📁 utils/ # Hilfsmodule + │ ├── 📄 __init__.py # Utils-Paket-Initialisierung + │ ├── 📄 ytsage_config_manager.py # Konfigurationsverwaltung + │ └── 📄 ytsage_logger.py # Logging-Tool + ├── 📄 __init__.py # Paket-Einstiegspunkt + └── 📄 main.py # Hauptskript zur Ausführung ```
    -## ⭐️ Sterngeschichte +## ⭐️ Star History
    -## Sterngeschichte +## Star History @@ -541,7 +546,7 @@ YTSage/ ## 📜 Lizenz -Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei „LICENSE“. +Dieses Projekt steht unter der MIT-Lizenz – weitere Details finden Sie in der Datei [LICENSE](LICENSE). ## 🙏 Danksagungen @@ -550,13 +555,13 @@ Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie i
    -

    Ein herzliches Dankeschön an alle, die zu diesem Projekt beigetragen haben, indem sie ein Problem geöffnet haben, um eine Verbesserung vorzuschlagen oder einen Fehler zu melden.

    +

    Ein großes Dankeschön an alle, die zu diesem Projekt beigetragen haben, indem sie Tickets für Verbesserungsvorschläge oder Bug-Reports geöffnet haben.

    - + @@ -564,40 +569,41 @@ Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie i - + - + - + - + + - - + + - + - + - + - + - +
    Kernkomponenten
    yt-dlpDownload EngineDownload-Engine
    FFmpeg
    DenoLaufzeit für die Integration mit yt-dlpRuntime für yt-dlp Integration
    Bibliotheken und Frameworks
    Bibliotheken & Frameworks
    PySide6 GUI-Framework
    KissenPillow Bildverarbeitung
    Anfragen
    requests HTTP-Anfragen
    VerpackungVersions- und PakethandhabungpackagingVersionsverwaltung & Packaging
    Abschlagmarkdown Markdown-Rendering
    loguruProtokollierungLogging
    Vermögenswerte und Mitwirkende
    Assets & Mitwirkende
    Neue Benachrichtigung 09 von UniversfieldNew Notification 09 by Universfield Benachrichtigungston
    viru185Code-MitwirkenderCode-Contributor
    @@ -607,12 +613,12 @@ Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie i ## ⚠️ Haftungsausschluss -Dieses Tool ist nur für den persönlichen Gebrauch bestimmt. Bitte respektieren Sie die Nutzungsbedingungen und die Rechte der Inhaltsersteller von YouTube. +Dieses Tool ist nur für den persönlichen Gebrauch bestimmt. Bitte respektieren Sie die Nutzungsbedingungen von YouTube und die Rechte der Content-Ersteller. ---
    -Hergestellt mit ❤️ von [oop7](https://github.com/oop7) +Erstellt mit ❤️ von [oop7](https://github.com/oop7)
    diff --git a/readme-translations/README.it.md b/readme-translations/README.it.md index 66a4ac2..3201b59 100644 --- a/readme-translations/README.it.md +++ b/readme-translations/README.it.md @@ -12,81 +12,82 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**Un moderno downloader da YouTube con un'interfaccia PySide6 pulita.** -Scarica video di qualsiasi qualità, estrai audio, recupera sottotitoli e altro ancora. +**Un downloader YouTube moderno con un'interfaccia PySide6 pulita.** +Scarica video in qualsiasi qualità, estrai audio, ottieni sottotitoli e molto altro. -### 🌍 README Lingue +### 🌍 Lingue del README Inglese: [EN](../README.md) -| Indirizzo: [AR](README.ar.md) +| Arabo: [AR](README.ar.md) | Tedesco: [DE](README.de.md) -| Español: [ES](README.es.md) +| Spagnolo: [ES](README.es.md) | Francese: [FR](README.fr.md) -| Nome: [HI](README.hi.md) -| Bahasa Indonesia: [ID](README.id.md) +| Hindi: [HI](README.hi.md) +| Indonesiano: [ID](README.id.md) | Italiano: [IT](README.it.md) -| 日本語: [JA](README.ja.md) +| Giapponese: [JA](README.ja.md) | Polacco: [PL](README.pl.md) | Portoghese: [PT](README.pt.md) | Russo: [RU](README.ru.md) -| Turchia: [TR](README.tr.md) -| Nome: [ZH](README.zh.md) +| Turco: [TR](README.tr.md) +| Cinese: [ZH](README.zh.md)

    - Installazione • - Caratteristiche • - Utilizzo • - Screenshot • - Risoluzione dei problemi • + Installazione • + Caratteristiche • + Utilizzo • + Screenshot • + Risoluzione dei problemiSponsor • - Contribuendo + Contribuire

    --- - -## ❓Perché YTSage? + +## ❓ Perché YTSage? YTSage è progettato per gli utenti che desiderano un **downloader YouTube semplice ma potente**. A differenza di altri strumenti, offre: -- Un'interfaccia PySide6 pulita e moderna -- Download con un clic per video, audio e sottotitoli -- Funzionalità avanzate come SponsorBlock, fusione dei sottotitoli e selezione della playlist -- Modalità generica opzionale per i siti supportati da yt-dlp oltre YouTube -- Supporto multipiattaforma e facilità di installazione +- Un'interfaccia PySide6 moderna e pulita +- Download di video, audio e sottotitoli con un solo clic +- Funzioni avanzate come SponsorBlock, fusione dei sottotitoli e selezione della playlist +- Modalità Generica opzionale per siti diversi da YouTube supportati da yt-dlp +- Supporto multipiattaforma e installazione semplice - -## ✨Caratteristiche + +## ✨ Caratteristiche
    -| Caratteristiche principali | Funzionalità avanzate | Funzionalità extra | -|------------------------------------|----------------------------------------------|------------------------------------| -| 🎥 Tabella dei formati | 🚫Integrazione SponsorBlock | 🎞️ Visualizzazione FPS/HDR | -| 🎵Estrazione audio | 📝 Seleziona e unisci più sottotitoli | 🔄 Aggiornamento automatico yt-dlp | -| ✨Interfaccia utente semplice | 💾 Salva descrizione e miniatura | 🛠️ Rilevamento FFmpeg/yt-dlp/Deno | -| 📋 Supporto e selettore playlist | 🚀Limitatore di velocità | ⚙️ Comandi personalizzati | -| 📑 Incorpora capitoli | ✂️ Taglia le sezioni video | 🍪 Accedi con i cookie | -| 📜 Scarica Cronologia | 🔄 Rilascio Selezione canale | 🌐Supporto proxy | -| 🎚️ Conversione del formato audio | 🎬 Impostazioni formato video | 🆙 Scheda Aggiornamento integrata | -| 🌍 Modalità generica | 🔊 Normalizzazione audio (EBU R128) | 🌍 Localizzazione in 14 lingue | +| Funzioni Base | Funzioni Avanzate | Funzioni Extra | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Tabella Formati | 🚫 Integrazione SponsorBlock | 🎞️ Visualizzazione FPS/HDR | +| 🎵 Estrazione Audio | 📝 Selezione e Fusione Sottotitoli | 🔄 Aggiornamento automatico yt-dlp | +| ✨ Interfaccia Utente Semplice | 💾 Salva Descrizione e Anteprima | 🛠️ Rilevamento FFmpeg/yt-dlp/Deno | +| 📋 Supporto e Selettore Playlist | 🚀 Limitatore di Velocità | ⚙️ Comandi Personalizzati | +| 📑 Integrazione Capitoli | ✂️ Ritaglio Sezioni Video | 🍪 Login tramite Cookie | +| 📜 Cronologia Download | 🔄 Scelta del Canale di Rilascio | 🌐 Supporto Proxy | +| 🎚️ Conversione Formato Audio | 🎬 Impostazioni Formato Video | 🆙 Tab Aggiornamento Integrato | +| 🌍 Modalità Generica | 🔊 Normalizzazione Audio (EBU R128) | 🌍 Localizzazione in 14 lingue | +| 💾 Esportazione Playlist | ⚙️ Qualità e Sottotitoli Predefiniti | |
    - + ## 🚀 Installazione -### ⚡ Installazione rapida (consigliata) +### ⚡ Installazione Rapida (Consigliata) -Installa YTSage da PyPI: +Installa YTSage tramite PyPI: ```bash pip install ytsage ```
    -🔄 Aggiorna un'installazione esistente +🔄 Aggiornare un'installazione esistente ```bash pip install --upgrade ytsage @@ -94,51 +95,51 @@ pip install --upgrade ytsage
    -Quindi avvia l'app: +Quindi esegui l'applicazione: ```bash ytsage ``` -### 📦 Eseguibili predefiniti +### 📦 Eseguibili Pre-compilati (Executable) -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 Scarica l'ultima versione](https://github.com/oop7/YTSage/releases/latest) -#### 🪟 Finestre +#### 🪟 Windows | Formato | Descrizione | |--------|-------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Programma di installazione standard | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Con FFmpeg in bundle | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versione portatile, nessuna installazione richiesta | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portatile con FFmpeg, zippato | +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Installer Standard | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Include FFmpeg | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versione Portable, nessuna installazione richiesta | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable con FFmpeg, compresso (ZIP) |
    -🛠️ Passaggi di installazione +🛠️ Passaggi per l'installazione -1. **Programma di installazione EXE (`.exe`)**: fare doppio clic sul file e seguire la procedura guidata di installazione. -2. **Versione portatile (`.zip`)**: estrai l'archivio nella posizione desiderata ed esegui `ytsage.exe`. -3. **FFmpeg in bundle**: scegli le versioni in bundle di FFmpeg se non hai FFmpeg installato sul tuo sistema. +1. **Installer EXE (`.exe`)**: Fare doppio clic sul file e seguire la procedura guidata. +2. **Versione Portable (`.zip`)**: Estrarre l'archivio nella posizione desiderata ed eseguire `ytsage.exe`. +3. **FFmpeg integrato**: Se non hai FFmpeg sul tuo sistema, scegli le versioni con FFmpeg integrato.
    -#### 🐧Linux +#### 🐧 Linux | Formato | Descrizione | |--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pacchetto Debian | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portatile | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, Portable | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pacchetto RPM | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Pacchetto Flatpack | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Bundle Flatpak |
    -🛠️ Passaggi di installazione +🛠️ Passaggi per l'installazione - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Se necessario per correggere le dipendenze mancanti ``` -- **Giri/min (`.rpm`)**: +- **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` @@ -147,7 +148,7 @@ ytsage chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**: segui le istruzioni su Flathub o esegui: +- **Flatpak**: Seguire le istruzioni su Flathub o eseguire: ```bash flatpak install flathub io.github.oop7.ytsage ``` @@ -157,22 +158,22 @@ ytsage | Formato | Descrizione | |--------|-------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Applicazione zippata per Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Programma di installazione dell'immagine disco per Apple Silicon | +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | App ZIP per Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Installer Disk Image per Apple Silicon |
    -🛠️ Passaggi di installazione +🛠️ Passaggi per l'installazione -- **DMG Installer (`.dmg`)**: fai doppio clic per montare, quindi trascina `YTSage.app` nella cartella Applicazioni. -- **Archivio app (`.zip`)**: estrai il file zip e sposta `YTSage.app` nella cartella Applicazioni. +- **Installer DMG (`.dmg`)**: Fare doppio clic per montare, quindi trascinare `YTSage.app` nella cartella Applicazioni. +- **Archivio App (`.zip`)**: Estrarre lo ZIP e spostare `YTSage.app` nella cartella Applicazioni. -*Nota: se riscontri l'errore "L'app è danneggiata", consulta [macOS troubleshooting section](#troubleshooting) di seguito.* +*Nota: Se ricevi l'errore "L'app è danneggiata", consulta la sezione Risoluzione dei problemi macOS di seguito.*
    ---
    -💻 Installazione manuale dalla fonte +💻 Installazione manuale dai sorgenti ### 1. Clonare il repository @@ -181,7 +182,7 @@ git clone https://github.com/oop7/YTSage.git cd YTSage ``` -### 2. Installa le dipendenze +### 2. Installare le dipendenze #### ⚡ Con uv @@ -189,7 +190,7 @@ cd YTSage uv pip install . ``` -#### 📦 Oppure con pip standard +#### 📦 O con pip standard ```bash pip install . @@ -203,226 +204,230 @@ python -m ytsage.main
    - -## 📸 Schermate + +## 📸 Screenshot
    - - + + - - + + - - + + - - + +
    Download SettingsPlaylist DownloadImpostazioni DownloadDownload Playlist
    Scarica impostazioniScarica playlistImpostazioni DownloadDownload Playlist
    Audio Format Selection with Save ThumbnailCustom OptionsSelezione Formato AudioOpzioni Personalizzate
    Formato audioOpzioni personalizzateFormato AudioOpzioni Personalizzate
    -
    +
    + ## 📖 Utilizzo
    -🎯 Utilizzo di base +🎯 Utilizzo Base 1. **Avvia YTSage** -2. **Incolla l'URL di YouTube** (o utilizza il pulsante "Incolla URL") -3. **Fai clic su "Analizza"** -4. **Seleziona formato:** - - `Video` per i download di video - - `Audio Only` per l'estrazione audio -5. **Scegli le opzioni:** - - Abilita i sottotitoli e seleziona la lingua - - Abilita l'unione dei sottotitoli - - Salva miniatura - - Rimuovere i segmenti dello sponsor - - Salva descrizione - - Incorpora capitoli -6. **Seleziona directory di output** -7. **Fai clic su "Scarica"** +2. **Incolla un URL di YouTube** (o usa il pulsante "Incolla URL") +3. **Clicca su "Analizza"** +4. **Scegli il formato:** + - `Video` per il download del video + - `Solo Audio` per l'estrazione dell'audio +5. **Seleziona le opzioni:** + - Abilita i sottotitoli e scegli la lingua + - Abilita la fusione dei sottotitoli + - Salva l'anteprima (thumbnail) + - Rimuovi sezioni sponsor + - Salva la descrizione + - Incorpora i capitoli +6. **Scegli la directory di destinazione** +7. **Clicca su "Download"** > 💡 La directory di download predefinita è la cartella "Download" dell'utente.
    -📋 Download della playlist +📋 Download Playlist 1. **Incolla l'URL della playlist** -2. **Fai clic su "Analizza"** -3. **Seleziona i video dal selettore della playlist (facoltativo, l'impostazione predefinita è tutti)** -4. **Scegli il formato/la qualità desiderata** -5. **Fai clic su "Scarica"** +2. **Clicca su "Analizza"** +3. **Seleziona i video dal selettore (opzionale, tutti per impostazione predefinita)** +4. **Scegli il formato/qualità desiderati** +5. **Clicca su "Download"** -> 💡 L'applicazione gestisce automaticamente la coda di download +> 💡 L'applicazione gestisce automaticamente la coda di download e puoi esportare le voci della playlist come file `.txt`, `.csv`, `.m3u` o `.json`.
    -🌍 Modalità generica per siti non YouTube +🌍 Modalità Generica per siti non YouTube -Utilizza la modalità generica quando desideri che YTSage accetti URL da siti supportati da yt-dlp, come Dailymotion, CBC Gem, TikTok e altri. +Usa la Modalità Generica quando vuoi che YTSage accetti URL da siti supportati da yt-dlp come Dailymotion, CBC Gem, TikTok e altri. -Come usarlo: +Come usarla: -1. Apri `Download Settings`. -2. Abilita `Generic Mode`. -3. Incolla un video o un URL di playlist non YouTube supportato. -4. Fare clic su `Analyze`. -5. Scegli un formato e scarica come al solito. +1. Apri `Impostazioni Download`. +2. Abilita `Modalità Generica`. +3. Incolla un URL di un video o di una playlist supportata che non sia YouTube. +4. Clicca su `Analizza`. +5. Scegli un formato e scarica normalmente. Note: -- La modalità generica modifica solo la convalida dell'URL all'interno di YTSage. Il sito di destinazione deve essere ancora supportato dalla versione yt-dlp installata. -- Alcuni siti richiedono cookie, una sessione di accesso, un proxy o argomenti yt-dlp aggiuntivi a seconda dell'estrattore. -- Se un sito non funziona, aggiorna prima yt-dlp dalla scheda di aggiornamento integrata prima di segnalare il problema. +- La Modalità Generica cambia solo la validazione dell'URL all'interno di YTSage. Il sito di destinazione deve essere comunque supportato dalla versione di yt-dlp installata. +- Alcuni siti richiedono cookie, login, proxy o argomenti yt-dlp aggiuntivi a seconda dell'estrattore. +- Se un sito fallisce, aggiorna yt-dlp dal tab di aggiornamento integrato prima di segnalare il problema.
    -🧰 Opzioni multimediali e di download +🧰 Opzioni Media e Download -- **Opzioni sottotitoli:** Filtra le lingue e incorpora i sottotitoli nel file video -- **Unione sottotitoli:** unisci i sottotitoli nel file video per i sottotitoli hardcoded -- **Salva descrizione:** salva la descrizione del video come file di testo -- **Salva miniatura:** salva la miniatura del video come file immagine -- **Incorpora capitoli:** incorpora indicatori di capitolo come metadati per lettori video compatibili -- **Rimuovi segmenti di sponsor:** rimuovi i segmenti di sponsor dal video utilizzando SponsorBlock -- **Taglia video:** scarica solo parti specifiche di un video specificando gli intervalli di tempo nel formato `HH:MM:SS` +- **Opzioni Sottotitoli:** Filtra le lingue e incorpora i sottotitoli nel file video. +- **Fusione Sottotitoli:** Fonde i sottotitoli nel file video per sottotitoli permanenti (hardcoded). +- **Salva Descrizione:** Salva la descrizione del video come file di testo. +- **Salva Anteprima:** Salva l'anteprima (thumbnail) del video come file immagine. +- **Incorpora Capitoli:** Include i segnaposti dei capitoli come metadati per i lettori video compatibili. +- **Rimuovi Sezioni Sponsor:** Usa SponsorBlock per rimuovere i segmenti sponsorizzati dal video. +- **Ritaglia Video:** Scarica solo parti specifiche del video specificando un intervallo di tempo nel formato `HH:MM:SS`.
    -⚙️ Impostazioni file e output +⚙️ Impostazioni Output e File + +- **Limitatore di Velocità:** Limita la velocità di download, ad esempio `500K` per 500 KB/s. +- **Salva Percorso Download:** Salva il percorso di download predefinito per i download futuri. Disponibile in **Impostazioni Download → Percorso Download**. +- **Risoluzione Video Predefinita:** Imposta la risoluzione video preferita per la selezione automatica (es. 1080p, 720p). Disponibile in **Impostazioni Download → Risoluzione Video Predefinita**. +- **Lingue Sottotitoli Predefinite:** Imposta le lingue dei sottotitoli predefinite per la selezione automatica (separate da virgola, es. `it,en`). Disponibile in **Impostazioni Download → Lingue Sottotitoli Predefinite**. +- **Formato Nome File:** Personalizza il formato del nome del file di output utilizzando variabili come `%(title)s`, `%(uploader)s`, `%(playlist_index)s` e `%(resolution)s`. Disponibile in **Impostazioni Download → Formato Nome File**. +- **Forza Formato Output:** Forza il download del video in un formato contenitore specifico come `mp4`, `webm` o `mkv`. Disponibile in **Impostazioni Download → Impostazioni Formato Output**. +- **Conversione Formato Audio:** Converte i download di solo audio nel formato preferito come `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, o `Best`. Disponibile in **Impostazioni Download → Impostazioni Formato Audio**. +- **Normalizzazione Audio:** Standardizza il volume per i download di solo audio utilizzando EBU R128. +- **Connessioni Simultanee:** Aumenta significativamente la velocità di download scaricando i file in più parti contemporaneamente. Disponibile in **Impostazioni Download → Generali → Connessioni Simultanee** (predefinito 1, massimo 8-10 consigliato per evitare blocchi IP). -- **Limitatore di velocità:** Limita la velocità di download, ad esempio `500K` per 500 KB/s -- **Salva percorso di download:** salva il percorso di download predefinito per download futuri. Disponibile in **Impostazioni di download → Percorso di download**. -- **Formato nome file di output:** Personalizza il formato del nome file di output utilizzando variabili come `%(title)s`, `%(uploader)s` e `%(resolution)s`. Disponibile in **Impostazioni download → Formato nome file**. -- **Forza formato output:** forza i download dei video in un formato contenitore specifico come `mp4`, `webm` o `mkv`. Disponibile in **Impostazioni download → Impostazioni formato output**. -- **Conversione del formato audio:** Converti i download solo audio nei formati preferiti come `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, o `Best`. Disponibile in **Impostazioni download → Impostazioni formato audio**. -- **Normalizzazione audio:** Standardizza il volume per i download solo audio utilizzando EBU R128. -- **Connessioni Simultanee:** Aumenta drasticamente la velocità di download scaricando file in frammenti multipli contemporaneamente. Disponibile in **Impostazioni di Download → Generale → Connessioni Simultanee** (Predefinito 1, massimo consigliato 8-10 per evitare limitazioni IP).\n
    🌐 Accesso e Rete -- **Accedi con i cookie:** Accedi a YouTube utilizzando i cookie per accedere ai contenuti privati. - Come usarlo: - 1. **Consigliato:** utilizza l'opzione `Extract cookies from browser` integrata nell'app, quindi seleziona il browser e, facoltativamente, un profilo. - 2. In alternativa, estrarre manualmente i cookie: - un. Esporta i cookie dal tuo browser utilizzando un'estensione come [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) - b. Copia i cookie in formato Netscape - c. Crea un file denominato `cookies.txt` e incollaci i cookie +- **Login tramite Cookie:** Accedi a YouTube utilizzando i cookie per accedere ai contenuti privati. + Utilizzo: + 1. **Consigliato:** Usa l'opzione integrata nell'app `Estrai cookie dal browser`, quindi scegli il browser e opzionalmente il profilo. + 2. In alternativa, estrai i cookie manualmente: + a. Esporta i cookie dal tuo browser utilizzando un'estensione come [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Copia i cookie nel formato Netscape + c. Crea un file chiamato `cookies.txt` e incolla i cookie d. Seleziona il file `cookies.txt` nell'app -- **Supporto proxy:** utilizza un server proxy per i download, ad esempio `http://:` -- **Modalità generica:** consente a YTSage di analizzare e scaricare da siti non YouTube supportati da yt-dlp. Abilitalo da **Impostazioni download → Modalità generica**. +- **Supporto Proxy:** Usa un server proxy per i download, ad esempio `http://:` +- **Modalità Generica:** Consente a YTSage di analizzare e scaricare da siti non YouTube supportati da yt-dlp. Abilitalo da **Impostazioni Download → Modalità Generica**.
    -🛠️ Attrezzi e Manutenzione +🛠️ Strumenti e Manutenzione -- **Comandi personalizzati:** accedi alle funzionalità avanzate di yt-dlp tramite argomenti della riga di comando -- **Scheda Aggiornamento:** gestisci gli strumenti di aggiornamento integrati da un'unica posizione in Opzioni personalizzate: - - **Aggiornamenti yt-dlp:** controlla gli aggiornamenti e passa tra i canali di rilascio stabile e notturno - - **Controllo versione FFmpeg:** controlla la tua versione di FFmpeg e apri le guide di installazione - - **Aggiornamenti Deno:** controlla e aggiorna il runtime Deno -- **Rilevamento FFmpeg/yt-dlp/Deno:** rileva automaticamente i percorsi e le versioni di FFmpeg, yt-dlp e Deno dalla finestra di dialogo Informazioni. -- **Cronologia download:** visualizza i download precedenti con miniature e stati dal pulsante **Cronologia**. +- **Comandi Personalizzati:** Accedi alle funzioni avanzate di yt-dlp tramite argomenti della riga di comando. +- **Tab Aggiornamento:** Gestisci gli strumenti di aggiornamento integrati da un unico posto nelle Opzioni Personalizzate: + - **Aggiornamento yt-dlp:** Controlla gli aggiornamenti e passa tra i canali di rilascio Stabile e Nightly. + - **Controllo Versione FFmpeg:** Verifica la tua versione di FFmpeg e apri le guide all'installazione. + - **Aggiornamento Deno:** Controlla e aggiorna il runtime Deno. +- **Rilevamento FFmpeg/yt-dlp/Deno:** Rileva automaticamente i percorsi e le versioni di FFmpeg, yt-dlp e Deno dal dialogo Informazioni. +- **Cronologia Download:** Visualizza i download passati con anteprime e stati dal pulsante **Cronologia**.
    🌍 Localizzazione -YTSage supporta **14 lingue** per l'accessibilità in tutto il mondo. Seleziona la tua lingua preferita da **Opzioni personalizzate → Lingua**. +YTSage supporta **14 lingue** per una portata globale. Scegli la tua lingua preferita in **Opzioni Personalizzate → Lingua**. -### Lingue supportate +### Lingue Supportate | Lingua | Codice | Lingua | Codice | |----------|------|----------|------| -| 🇺🇸 Inglese | `en` | 🇪🇸Spagnolo | `es` | +| 🇺🇸 Inglese | `en` | 🇪🇸 Spagnolo | `es` | | 🇸🇦 Arabo | `ar` | 🇫🇷 Francese | `fr` | | 🇩🇪 Tedesco | `de` | 🇮🇳 Hindi | `hi` | -| 🇮🇩 Indonesiano | `id` | 🇮🇹Italiano | `it` | -| 🇯🇵Giapponese | `ja` | 🇵🇱 Polacco | `pl` | +| 🇮🇩 Indonesiano | `id` | 🇮🇹 Italiano | `it` | +| 🇯🇵 Giapponese | `ja` | 🇵🇱 Polacco | `pl` | | 🇧🇷 Portoghese | `pt` | 🇷🇺 Russo | `ru` | -| 🇹🇷 Turco | `tr` | 🇨🇳Cinese | `zh` | +| 🇹🇷 Turco | `tr` | 🇨🇳 Cinese | `zh` | -### Traduzioni README +### Traduzioni del README | Lingua | File | Lingua | File | |----------|------|----------|------| -| 🇺🇸 Inglese | [README.md](../README.md) | 🇪🇸Spagnolo | [README.es.md](README.es.md) +| 🇺🇸 Inglese | [README.md](README.md) | 🇪🇸 Spagnolo | [README.es.md](README.es.md) | | 🇸🇦 Arabo | [README.ar.md](README.ar.md) | 🇫🇷 Francese | [README.fr.md](README.fr.md) | | 🇩🇪 Tedesco | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | -| 🇮🇩 Indonesiano | [README.id.md](README.id.md) | 🇮🇹Italiano | [README.it.md](README.it.md) | -| 🇯🇵Giapponese | [README.ja.md](README.ja.md) | 🇵🇱 Polacco | [README.pl.md](README.pl.md) | +| 🇮🇩 Indonesiano | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) | +| 🇯🇵 Giapponese | [README.ja.md](README.ja.md) | 🇵🇱 Polacco | [README.pl.md](README.pl.md) | | 🇧🇷 Portoghese | [README.pt.md](README.pt.md) | 🇷🇺 Russo | [README.ru.md](README.ru.md) | -| 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳Cinese | [README.zh.md](README.zh.md) | +| 🇹🇷 Turco | [README.tr.md](README.tr.md) | Cinese | [README.zh.md](README.zh.md) | -> 💡 **Vuoi contribuire con una traduzione?** Dai un'occhiata alla sezione [Contributing](#contributing) per aiutarci ad aggiungere altre lingue! +> 💡 **Vuoi aiutare con la traduzione?** Consulta la sezione [Contribuire](#contribuire) per aiutarci ad aggiungere altre lingue!
    - + ## 🛠️ Risoluzione dei problemi
    -Fai clic per visualizzare problemi e soluzioni comuni +Clicca per visualizzare i problemi comuni e le soluzioni -- **La tabella di formato non viene visualizzata:** Aggiorna yt-dlp alla versione più recente e passa a yt-dlp ogni notte. -- **Download non riuscito:** controlla la tua connessione Internet e assicurati che il video sia disponibile. +- **La tabella dei formati non appare:** Aggiorna yt-dlp all'ultima versione e prova a passare a yt-dlp Nightly. +- **Download fallito:** Controlla la tua connessione internet e assicurati che il video sia disponibile. - **Errori di download specifici:** - - **Video privati:** utilizza l'autenticazione tramite cookie per accedere ai contenuti privati. - - **Contenuti soggetti a limiti di età:** accedi all'account YouTube per visualizzare video soggetti a limiti di età. - - **Video geo-bloccati:** valuta la possibilità di utilizzare una VPN per aggirare le restrizioni regionali. - - **Video rimossi/eliminati:** il video non è più disponibile su YouTube. - - **Streaming live:** Gli streaming live non possono essere scaricati; attendere la fine dello streaming. - - **Errori di rete:** controlla la connessione Internet e riprova. - - **URL non validi:** assicurati che l'URL sia corretto e provenga da una piattaforma supportata. - - **Contenuti premium:** richiede l'abbonamento a YouTube Premium. - - **Blocchi dovuti al copyright:** Il contenuto è bloccato a causa di restrizioni sul copyright. -- **Separare i file video e audio dopo il download:** Ciò accade quando FFmpeg manca o non viene rilevato. YTSage richiede FFmpeg per unire flussi video e audio di alta qualità. - - **Soluzione:** assicurati che FFmpeg sia installato e accessibile nel PATH del tuo sistema. Per gli utenti Windows, l'opzione più semplice è scaricare il file `YTSage-v-ffmpeg.exe`, fornito in bundle con FFmpeg. + - **Video Privati:** Usa l'autenticazione tramite cookie per accedere ai contenuti privati. + - **Contenuti con limiti di età:** Accedi al tuo account YouTube per visualizzare i video con limiti di età. + - **Video bloccati geograficamente:** Considera l'uso di una VPN per aggirare le restrizioni regionali. + - **Video rimosso:** Il video non è più disponibile su YouTube. + - **Live Stream:** I live stream non possono essere scaricati durante la trasmissione; attendi la fine dello stream. + - **Errori di rete:** Controlla la tua connessione internet e riprova. + - **URL non valido:** Assicurati che l'URL sia corretto e provenga da una piattaforma supportata. + - **Contenuti Premium:** Richiede un abbonamento YouTube Premium. + - **Blocco Copyright:** Il contenuto è bloccato a causa di restrizioni sul copyright. +- **I file video e audio sono separati dopo il download:** Questo accade quando FFmpeg manca o non viene rilevato. YTSage richiede FFmpeg per unire i flussi video e audio di alta qualità. + - **Soluzione:** Assicurati che FFmpeg sia installato e accessibile nel PATH del tuo sistema. Per gli utenti Windows, l'opzione più semplice è scaricare il file `YTSage-v-ffmpeg.exe`, che include FFmpeg. --- -#### 🛡️ Avviso Windows Defender/Antivirus +#### 🛡️ Avviso Windows Defender / Antivirus -Alcuni software antivirus potrebbero contrassegnare i file `.exe` come falsi positivi. Questa è una **limitazione nota** delle applicazioni in pacchetto. +Alcuni software antivirus potrebbero contrassegnare i file `.exe` come falsi positivi. Questa è una **limitazione nota** delle applicazioni pacchettizzate. -**Perché ciò accade:** -- L'euristica dell'antivirus può identificare erroneamente gli eseguibili compressi come sospetti +**Perché succede:** +- Le euristiche dell'antivirus potrebbero identificare erroneamente gli eseguibili pacchettizzati come sospetti. -**Alternative sicure:** -- ✅ **Utilizza installazione pip:** `pip install ytsage` (consigliato) -- ✅ **Crea dal codice sorgente**: seguendo questo [guide](../.github/CI_CD_README.md) -- ✅ **Autorizza l'applicazione** nel tuo software antivirus +**Opzioni sicure:** +- ✅ **Usa l'installazione tramite pip:** `pip install ytsage` (consigliato) +- ✅ **Compila dai sorgenti**: Seguendo questa [guida](.github/CI_CD_README.md) +- ✅ **Aggiungi l'applicazione alla whitelist** nel tuo software antivirus. -#### 🍎 macOS: "L'app è danneggiata e non può essere aperta" -Se visualizzi questo errore su macOS Sonoma o versioni successive, devi rimuovere l'attributo quarantena. +#### 🍎 macOS: "L’app è danneggiata e non può essere aperta" +Se visualizzi questo errore su macOS Sonoma o versioni successive, devi rimuovere l'attributo di quarantena. -1. **Apri Terminale** (puoi trovarlo utilizzando Spotlight). -2. **Digita il seguente comando** ma **non** premere ancora Invio. Assicurati di includere lo spazio alla fine: +1. **Apri il Terminale** (puoi trovarlo usando Spotlight). +2. **Digita il seguente comando** ma **NON** premere ancora Invio. Assicurati di includere lo spazio alla fine: ```bash xattr -d com.apple.quarantine ``` -3. **Trascina il file `YTSage.app`** dalla finestra del Finder e rilascialo direttamente nella finestra Terminale. Questo incollerà automaticamente il percorso file corretto. -4. **Premere Invio** per eseguire il comando. -5. **Prova ad aprire nuovamente YTSage.app.** Ora dovrebbe avviarsi correttamente. +3. **Trascina il file `YTSage.app` dalla finestra del Finder** e rilascialo direttamente nella finestra del Terminale. Questo incollerà automaticamente il percorso corretto del file. +4. **Premi Invio** per eseguire il comando. +5. **Prova a riaprire YTSage.app.** Ora dovrebbe avviarsi correttamente. --- -#### **Posizioni di configurazione (avanzate)** +#### **Percorsi di configurazione (Avanzato)** - **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage` @@ -432,102 +437,102 @@ Se visualizzi questo errore su macOS Sonoma o versioni successive, devi rimuover ## 💖 Sponsor -Se YTSage ti fa risparmiare tempo, valuta la possibilità di sponsorizzare il progetto. La sponsorizzazione aiuta a coprire i tempi di sviluppo, i test su tutte le piattaforme e i miglioramenti futuri. +Se YTSage ti fa risparmiare tempo, considera di sponsorizzare il progetto. Le sponsorizzazioni aiutano a coprire il tempo di sviluppo, i test su tutte le piattaforme e i miglioramenti futuri. -- Sponsor GitHub: https://github.com/sponsors/oop7 -- Il collegamento allo sponsor è disponibile anche direttamente all'interno dell'app dalla finestra di dialogo Informazioni. +- GitHub Sponsors: https://github.com/sponsors/oop7 +- Il link per la sponsorizzazione è disponibile direttamente tramite il dialogo Informazioni all'interno dell'app. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) - + ## 👥 Contribuire -Diamo il benvenuto ai contributi! Ecco come puoi aiutare: +I contributi sono benvenuti! Ecco come puoi aiutare: -1. 🍴 Effettua il fork del repository -2. 🌿 Crea il tuo ramo di funzionalità: +1. 🍴 Fork del repository +2. 🌿 Crea il tuo ramo per la funzione: ```bash - git checkout -b feature/AmazingFeature + git checkout -b feature/FunzioneIncredibile ``` -3. 💾 Applica le tue modifiche: +3. 💾 Fai il commit delle tue modifiche: ```bash - git commit -m 'Add some AmazingFeature' + git commit -m 'Aggiungi FunzioneIncredibile' ``` -4. 📤 Spingere verso il ramo: +4. 📤 Fai il push sul ramo: ```bash - git push origin feature/AmazingFeature + git push origin feature/FunzioneIncredibile ``` -5. 🔄 Apri una richiesta di pull +5. 🔄 Apri una Pull Request ### 🌍 Contribuire alle traduzioni -- Aggiorna il file README localizzato corrispondente (ad esempio `README.es.md`) +- Aggiorna il file README localizzato pertinente (es. `readme-translations/README.it.md`) - Mantieni sincronizzate le stringhe dell'app modificando `ytsage/languages/.json` -- Se manca la tua lingua, inizia da `README.md` e crea `README..md` +- Se la tua lingua manca, parti da `README.md` e crea `README..md`
    -📂 Struttura del progetto +📂 Struttura del Progetto -## YTSage - Struttura del progetto +## YTSage - Struttura del Progetto -Questo documento descrive la struttura di cartelle organizzata di YTSage. +Questo documento descrive la struttura organizzata delle cartelle di YTSage. -### 📁 Struttura del progetto +### 📁 Struttura del Progetto ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # Configurazioni GitHub +│ ├── 📁 ISSUE_TEMPLATE/ # Modelli per segnalazioni +│ │ └── 🐛-bug-report.md # Modello per segnalazione bug +│ ├─── 📁 workflows/ # Workflow GitHub Actions +│ │ ├── build-linux.yml # Workflow build Linux +│ │ ├── build-macos.yml # Workflow build macOS +│ │ │── build-windows.yml # Workflow build Windows +| | └── release-all.yml # Workflow release master +│ └── 📄 CI_CD_README.md # Documentazione CI/CD +├── 📁 branding/ # Asset di branding (screenshot, SVG) +│ ├── 📁 icons/ # Icone dell'app +│ ├── 📁 screenshots/ # Screenshot per la documentazione +│ └── 📁 svg/ # Asset SVG +├── 📄 LICENSE # File della licenza +├── 📄 pyproject.toml # Metadati del progetto e dipendenze +├── 📄 README.md # Documentazione del progetto +├── 📄 requirements.txt # Dipendenze Python (dev) +└── 📁 ytsage/ # Pacchetto del codice sorgente + ├── 📁 assets/ # Asset runtime + │ ├── 📁 Icon/ # Icone dell'app + │ └── 📁 sound/ # File audio + ├── 📁 languages/ # File di localizzazione + │ ├── 📄 ar.json # Traduzione araba + │ ├── 📄 de.json # Traduzione tedesca + │ ├── 📄 en.json # Traduzione inglese + │ └── ... # Altre lingue + ├── 📁 core/ # Logica di business principale + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # Integrazione Deno + │ ├── 📄 ytsage_downloader.py # Funzionalità di download + │ ├── 📄 ytsage_ffmpeg.py # Integrazione FFmpeg + │ ├── 📄 ytsage_utils.py # Funzioni di utilità + │ └── 📄 ytsage_yt_dlp.py # Integrazione yt-dlp + ├── 📁 gui/ # Componenti dell'interfaccia utente + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # Finestra principale dell'app + │ └── 📁 ytsage_gui_dialogs/ # Classi per i dialoghi + ├── 📁 utils/ # Moduli di utilità + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # Gestione configurazione + │ └── 📄 ytsage_logger.py # Strumenti di logging + ├── 📄 __init__.py # Punto di ingresso del pacchetto + └── 📄 main.py # Script di esecuzione principale ```
    -## ⭐️ Storia delle stelle +## ⭐️ Cronologia Stelle
    -## Storia delle stelle +## Star History @@ -541,63 +546,64 @@ YTSage/ ## 📜 Licenza -Questo progetto è concesso in licenza con la licenza MIT: per i dettagli vedere il file [LICENSE](../LICENSE). +Questo progetto è rilasciato sotto Licenza MIT - vedi il file [LICENSE](LICENSE) per i dettagli. -## 🙏Ringraziamenti +## 🙏 Ringraziamenti
    Mostra Ringraziamenti
    -

    Un sentito ringraziamento a tutti coloro che hanno contribuito a questo progetto aprendo un issue per suggerire un miglioramento o segnalare un bug.

    +

    Un grande ringraziamento a tutti coloro che hanno contribuito a questo progetto aprendo segnalazioni per suggerire miglioramenti o segnalare bug.

    - + - + - + - + - + - - + + - + + - - + + - - + + - + - + - - + + - +
    Componenti principali
    Componenti Principali
    yt-dlpScarica motoreMotore di Download
    FFmpegElaborazione multimedialeElaborazione Media
    DenoRuntime per integrazione con yt-dlpRuntime per l'integrazione di yt-dlp
    Librerie e framework
    Librerie e Framework
    PySide6 Framework GUI
    CuscinoElaborazione immaginiPillowElaborazione Immagini
    richieste
    requests Richieste HTTP
    imballaggioGestione versioni e pacchettipackagingGestione Versioni e Packaging
    ribassoRendering riduzionemarkdownRendering Markdown
    loguruRegistrazioneLogging
    Risorse e contributori
    Asset e Collaboratori
    Nuova notifica 09 di UniversfieldSuono di notificaNew Notification 09 di UniversfieldSuono di Notifica
    viru185Codice ContributoreCollaboratore al Codice
    @@ -607,12 +613,12 @@ Questo progetto è concesso in licenza con la licenza MIT: per i dettagli vedere ## ⚠️ Disclaimer -Questo strumento è solo per uso personale. Rispetta i termini di servizio di YouTube e i diritti dei creatori di contenuti. +Questo strumento è solo per uso personale. Rispettate i Termini di Servizio di YouTube e i diritti dei produttori di contenuti. ---
    -Realizzato con ❤️ da [oop7](https://github.com/oop7) +Creato con ❤️ da [oop7](https://github.com/oop7)
    From ca176d78449f8e6d2665d5047fd77aaac06eaac5 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 14:56:52 +0300 Subject: [PATCH 551/568] Refine README.ja.md translations and formatting Polish Japanese README translation and formatting: update wording and punctuation for clarity, translate and normalize section headings and links, refine tables and feature lists, adjust installation and platform-specific instructions, update screenshot alt text and usage examples, and improve troubleshooting and localization entries for consistency. --- readme-translations/README.ja.md | 553 ++++++++++++++++--------------- 1 file changed, 280 insertions(+), 273 deletions(-) diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md index 7e0fb7d..dfc7fef 100644 --- a/readme-translations/README.ja.md +++ b/readme-translations/README.ja.md @@ -12,81 +12,82 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**クリーンな PySide6 インターフェイスを備えた最新の YouTube ダウンローダー。** -任意の品質でビデオをダウンロードしたり、音声を抽出したり、字幕を取得したりできます。 +**クリーンなPySide6インターフェースを備えたモダンなYouTubeダウンローダー。** +あらゆる品質でのビデオダウンロード、オーディオ抽出、字幕取得などが可能です。 ### 🌍 README 言語 英語: [EN](../README.md) -|番号: [AR](README.ar.md) -|ドイツ語: [DE](README.de.md) -|スペイン語: [ES](README.es.md) -|フランセ: [FR](README.fr.md) -|名前: [HI](README.hi.md) -|インドネシア語: [ID](README.id.md) -|イタリアーノ: [IT](README.it.md) +| アラビア語: [AR](README.ar.md) +| ドイツ語: [DE](README.de.md) +| スペイン語: [ES](README.es.md) +| フランス語: [FR](README.fr.md) +| ヒンディー語: [HI](README.hi.md) +| インドネシア語: [ID](README.id.md) +| イタリア語: [IT](README.it.md) | 日本語: [JA](README.ja.md) -|ポルスキー: [PL](README.pl.md) -|ポルトガル語: [PT](README.pt.md) -| Русский: [RU](README.ru.md) -|テュルクチェ: [TR](README.tr.md) -| 中文: [ZH](README.zh.md) +| ポーランド語: [PL](README.pl.md) +| ポルトガル語: [PT](README.pt.md) +| ロシア語: [RU](README.ru.md) +| トルコ語: [TR](README.tr.md) +| 中国語: [ZH](README.zh.md)

    - インストール • - 特徴 • - 使用方法 • - スクリーンショット • - トラブルシューティング • - スポンサー • - 貢献しています + インストール • + 機能 • + 使い方 • + スクリーンショット • + トラブルシューティング • + スポンサー • + 貢献

    --- - + ## ❓ なぜ YTSage なのか? -YTSage は、**シンプルかつ強力な YouTube ダウンローダー**を求めるユーザー向けに設計されています。他のツールとは異なり、次の機能を提供します。 +YTSageは、**シンプルでありながら強力なYouTubeダウンローダー**を求めるユーザーのために設計されています。他のツールとは異なり、以下の機能を提供します: -- クリーンでモダンな PySide6 インターフェイス -- ワンクリックでビデオ、オーディオ、字幕をダウンロード -- スポンサーブロック、字幕の結合、プレイリストの選択などの高度な機能 -- YouTube 以外の yt-dlp 対応サイト向けのオプションの汎用モード -- クロスプラットフォームのサポートと簡単なインストール +- モダンでクリーンなPySide6インターフェース +- ビデオ、オーディオ、字幕のワンクリックダウンロード +- SponsorBlock、字幕結合、プレイリスト選択などの高度な機能 +- yt-dlpがサポートするYouTube以外のサイト向けのオプションのジェネリックモード +- クロスプラットフォーム対応と簡単なインストール - -## ✨ 特徴 + +## ✨ 機能
    -|コア機能 |高度な機能 |追加機能 | -|---------------------------------|-------------------------------------------|-------------------------------------| -| 🎥 テーブルのフォーマット | 🚫 スポンサーブロックの統合 | 🎞️ FPS/HDR ディスプレイ | -| 🎵 オーディオ抽出 | 📝 複数字幕の選択と結合 | 🔄 yt-dlp を自動更新 | -| ✨シンプルなUI | 💾 説明とサムネイルを保存 | 🛠️ FFmpeg/yt-dlp/Deno 検出 | -| 📋 プレイリストのサポートとセレクター | 🚀 スピードリミッター | ⚙️ カスタムコマンド | -| 📑 章を埋め込む | ✂️ ビデオセクションをトリミング | 🍪 Cookie でログイン | -| 📜 ダウンロード履歴 | 🔄 チャンネル選択をリリース | 🌐 プロキシサポート | -| 🎚️ オーディオ形式変換 | 🎬 ビデオ形式設定 | 🆙 内蔵アップデータタブ | -| 🌍 汎用モード | 🔊 オーディオ正規化 (EBU R128) | 🌍 14 言語のローカリゼーション | +| 基本機能 | 高度な機能 | 追加機能 | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 フォーマットテーブル | 🚫 SponsorBlock統合 | 🎞️ FPS/HDR表示 | +| 🎵 オーディオ抽出 | 📝 字幕選択と結合 | 🔄 yt-dlp自動更新 | +| ✨ シンプルなユーザーインターフェース | 💾 説明とサムネイルの保存 | 🛠️ FFmpeg/yt-dlp/Deno検出 | +| 📋 プレイリストのサポートと選択 | 🚀 速度制限 | ⚙️ カスタムコマンド | +| 📑 チャプター統合 | ✂️ ビデオセクションのトリミング | 🍪 クッキーログイン | +| 📜 ダウンロード履歴 | 🔄 リリースチャネルの選択 | 🌐 プロキシサポート | +| 🎚️ オーディオフォーマット変換 | 🎬 ビデオフォーマット設定 | 🆙 統合アップデートタブ | +| 🌍 ジェネリックモード | 🔊 オーディオノーマライズ (EBU R128) | 🌍 14言語へのローカライズ | +| 💾 プレイリストのエクスポート | ⚙️ デフォルトの品質と字幕 | |
    - + ## 🚀 インストール ### ⚡ クイックインストール (推奨) -PyPI から YTSage をインストールします。 +PyPI経由でYTSageをインストールします: ```bash pip install ytsage ```
    -🔄 既存のインストールを更新します +🔄 既存のインストールを更新する ```bash pip install --upgrade ytsage @@ -94,41 +95,41 @@ pip install --upgrade ytsage
    -次に、アプリを起動します。 +その後、アプリケーションを実行します: ```bash ytsage ``` -### 📦 ビルド済みの実行可能ファイル +### 📦 ビルド済み実行ファイル (Executable) -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 最新リリースをダウンロード](https://github.com/oop7/YTSage/releases/latest) #### 🪟 Windows -|フォーマット |説明 | -|----------|---------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) |標準インストーラー | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg がバンドルされている | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) |ポータブル版、インストール不要 | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg、zip 形式でポータブル | +| フォーマット | 説明 | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | 標準インストーラー | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg同梱 | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | ポータブル版、インストール不要 | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg同梱、ポータブル版 (ZIP縮小) |
    🛠️ インストール手順 -1. **EXE インストーラー (`.exe`)**: ファイルをダブルクリックし、セットアップ ウィザードに従います。 -2. **ポータブル バージョン (`.zip`)**: アーカイブを目的の場所に解凍し、`ytsage.exe` を実行します。 -3. **FFmpeg バンドル**: システムに FFmpeg がインストールされていない場合は、FFmpeg バンドル バージョンを選択します。 +1. **EXE インストーラー (`.exe`)**: ファイルをダブルクリックし、セットアップウィザードに従います。 +2. **ポータブル版 (`.zip`)**: アーカイブを任意の場所に展開し、`ytsage.exe` を実行します。 +3. **内蔵 FFmpeg**: システムに FFmpeg がインストールされていない場合は、FFmpeg 同梱版を選択してください。
    #### 🐧 Linux -|フォーマット |説明 | -|----------|---------------| +| フォーマット | 説明 | +|--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian パッケージ | | ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage、ポータブル | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM パッケージ | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) |フラットパックバンドル | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak バンドル |
    🛠️ インストール手順 @@ -136,18 +137,18 @@ ytsage - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # 必要に応じて不足している依存関係を修正 ``` - **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` -- **アプリ画像 (`.AppImage`)**: +- **AppImage (`.AppImage`)**: ```bash chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**: Flathub の指示に従うか、次のコマンドを実行します。 +- **Flatpak**: Flathub の指示に従うか、以下を実行します: ```bash flatpak install flathub io.github.oop7.ytsage ``` @@ -155,18 +156,18 @@ ytsage #### 🍎 macOS -|フォーマット |説明 | -|----------|---------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 用の ZIP アプリケーション | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 用のディスク イメージ インストーラー | +| フォーマット | 説明 | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 用 ZIP アプリ | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 用ディスクイメージインストーラー |
    🛠️ インストール手順 -- **DMG インストーラー (`.dmg`)**: ダブルクリックしてマウントし、`YTSage.app` をアプリケーション フォルダーにドラッグします。 -- **アプリ アーカイブ (`.zip`)**: zip を解凍し、`YTSage.app` をアプリケーション フォルダーに移動します。 +- **DMG インストーラー (`.dmg`)**: ダブルクリックしてマウントし、`YTSage.app` をアプリケーションフォルダにドラッグします。 +- **App アーカイブ (`.zip`)**: ZIP を展開し、`YTSage.app` をアプリケーションフォルダに移動します。 -*注意:「アプリが破損しています」エラーが発生した場合は、以下の[macOS troubleshooting section](#troubleshooting)を参照してください。* +*注意: 「アプリが破損しています」というエラーが表示される場合は、以下の macOS トラブルシューティング セクションを参照してください。*
    --- @@ -174,7 +175,7 @@ ytsage
    💻 ソースからの手動インストール -### 1. リポジトリのクローンを作成します +### 1. リポジトリをクローンする ```bash git clone https://github.com/oop7/YTSage.git @@ -183,13 +184,13 @@ cd YTSage ### 2. 依存関係をインストールする -#### ⚡ UV あり +#### ⚡ uv を使用する場合 ```bash uv pip install . ``` -#### 📦 または標準の pip を使用 +#### 📦 または標準の pip を使用する場合 ```bash pip install . @@ -203,330 +204,335 @@ python -m ytsage.main
    - + ## 📸 スクリーンショット
    - - + + - - + + - +
    Download SettingsPlaylist Downloadダウンロード設定プレイリストダウンロード
    ダウンロード設定 プレイリストダウンロード
    Audio Format Selection with Save ThumbnailCustom Optionsオーディオフォーマット選択カスタムオプション
    オーディオフォーマットカスタム オプションカスタムオプション
    -
    +
    -## 📖 使用法 + +## 📖 使い方
    🎯 基本的な使い方 -1. **YTSage を起動** -2. **YouTube URL を貼り付け** (または [URL を貼り付け] ボタンを使用) -3. **「分析」をクリックします** -4. **形式を選択します:** - - `Video` ビデオダウンロード用 - - `Audio Only` 音声抽出用 -5. **オプションを選択します:** - - 字幕を有効にし、言語を選択します - - 字幕のマージを有効にする - - サムネイルの保存 - - スポンサーセグメントの削除 - - 説明の保存 - - 章を埋め込む -6. **出力ディレクトリを選択** -7. **「ダウンロード」をクリックします** +1. **YTSage を起動する** +2. **YouTube の URL を貼り付ける** (または「URL を貼り付け」ボタンを使用) +3. **「分析」をクリックする** +4. **フォーマットを選択する:** + - ビデオダウンロードの場合は `Video` + - オーディオ抽出の場合は `Audio Only` +5. **オプションを選択する:** + - 字幕を有効にして言語を選択 + - 字幕結合を有効化 + - サムネイルを保存 + - スポンサーセクションを削除 + - 説明を保存 + - チャプターを埋め込む +6. **出力ディレクトリを選択する** +7. **「ダウンロード」をクリックする** -> 💡 デフォルトのダウンロード ディレクトリは、ユーザーの「ダウンロード」フォルダーです。 +> 💡 デフォルトのダウンロードディレクトリは、ユーザーの「ダウンロード」フォルダです。
    📋 プレイリストのダウンロード -1. **プレイリストの URL を貼り付け** -2. **「分析」をクリックします** -3. **プレイリスト セレクターからビデオを選択します (オプション、デフォルトはすべて)** -4. **希望の形式/品質を選択します** -5. **「ダウンロード」をクリック** +1. **プレイリストの URL を貼り付ける** +2. **「分析」をクリックする** +3. **プレイリストセレクターからビデオを選択する (任意、デフォルトはすべて)** +4. **希望のフォーマット/品質を選択する** +5. **「ダウンロード」をクリックする** -> 💡 アプリケーションはダウンロードキューを自動的に処理します +> 💡 アプリケーションはダウンロードキューを自動的に管理し、プレイリストのエントリを `.txt`, `.csv`, `.m3u`, または `.json` ファイルとしてエクスポートできます。
    -🌍 YouTube 以外のサイトの汎用モード +🌍 YouTube 以外のサイト向けのジェネリックモード -Dailymotion、CBC Gem、TikTok など、yt-dlp でサポートされているサイトからの URL を YTSage が受け入れるようにする場合は、ジェネリック モードを使用します。 +Dailymotion、CBC Gem、TikTok など、yt-dlp がサポートするサイトからの URL を YTSage に受け入れさせたい場合は、ジェネリックモードを使用します。 -使用方法: +使用方法: 1. `Download Settings` を開きます。 2. `Generic Mode` を有効にします。 -3. サポートされている YouTube 以外のビデオまたはプレイリストの URL を貼り付けます。 -4. 「`Analyze`」をクリックします。 -5. 形式を選択し、通常どおりダウンロードします。 +3. YouTube 以外のサポートされているビデオまたはプレイリストの URL を貼り付けます。 +4. `Analyze` をクリックします。 +5. フォーマットを選択し、通常通りダウンロードします。 -注: +注意: -- 汎用モードでは、YTSage 内の URL 検証のみが変更されます。ターゲット サイトは、インストールされている yt-dlp バージョンでサポートされている必要があります。 -- 一部のサイトでは、エクストラクターに応じて、Cookie、ログイン セッション、プロキシ、または追加の yt-dlp 引数が必要です。 -- サイトに障害が発生した場合は、問題を報告する前に、まず組み込みのアップデーター タブから yt-dlp を更新してください。 +- ジェネリックモードは、YTSage 内部の URL バリデーションのみを変更します。対象サイトは、インストールされている yt-dlp バージョンでサポートされている必要があります。 +- サイトによっては、エクストラクターに応じてクッキー、ログイン、プロキシ、または追加の yt-dlp 引数が必要になる場合があります。 +- サイトが失敗する場合は、問題を報告する前に統合アップデートタブから yt-dlp を更新してください。
    🧰 メディアとダウンロードのオプション -- **字幕オプション:** 言語をフィルターし、ビデオ ファイルに字幕を埋め込みます。 -- **字幕の結合:** ハードコードされた字幕のビデオ ファイルに字幕を結合します。 -- **説明の保存:** ビデオの説明をテキスト ファイルとして保存します。 +- **字幕オプション:** 言語をフィルタリングし、字幕をビデオファイルに埋め込みます。 +- **字幕結合:** 字幕をビデオファイルにマージして、焼き付け字幕(ハードコード)にします。 +- **説明の保存:** ビデオの説明をテキストファイルとして保存します。 - **サムネイルの保存:** ビデオのサムネイルを画像ファイルとして保存します。 -- **チャプターの埋め込み:** 互換性のあるビデオ プレーヤーのメタデータとしてチャプター マーカーを埋め込みます。 -- **スポンサー セグメントの削除:** SponsorBlock を使用してビデオからスポンサー セグメントを削除します。 -- **ビデオのトリミング:** `HH:MM:SS` 形式で時間範囲を指定して、ビデオの特定の部分のみをダウンロードします +- **チャプターの埋め込み:** 対応しているビデオプレーヤー用に、チャプターマーカーをメタデータとして含めます。 +- **スポンサーセクションを削除:** SponsorBlock を使用して、ビデオからスポンサーセグメントを削除します。 +- **ビデオのトリミング:** `HH:MM:SS` 形式で時間範囲を指定して、ビデオの特定のセクションのみをダウンロードします。
    ⚙️ 出力とファイルの設定 -- **速度リミッター:** ダウンロード速度を制限します (例: `500K` 500 KB/秒) -- **ダウンロード パスの保存:** 今後のダウンロードのためにデフォルトのダウンロード パスを保存します。 **[ダウンロード設定] → [ダウンロード パス]** で利用できます。 -- **出力ファイル名の形式:** `%(title)s`、`%(uploader)s`、`%(resolution)s` などの変数を使用して、出力ファイル名の形式をカスタマイズします。 **ダウンロード設定 → ファイル名形式**で利用できます。- **出力形式を強制:** ビデオを`mp4`、`webm`、`mkv`などの特定のコンテナ形式に強制的にダウンロードします。 **ダウンロード設定 → 出力形式設定**で利用できます。 -- **オーディオ形式変換:** オーディオのみのダウンロードを、`AAC`、`MP3`、`FLAC`、`WAV`、`Opus`、`M4A`、などの優先形式に変換します。 `Vorbis`、または `Best`。 **ダウンロード設定 → オーディオ形式設定**で利用できます。 -- **オーディオの正規化:** EBU R128 を使用して、オーディオのみのダウンロードの音量を標準化します。 -- **同時接続数:** ファイルを複数のフラグメントで同時にダウンロードすることにより、ダウンロード速度を劇的に向上させます。**ダウンロード設定 → 一般 → 同時接続数** から利用可能(デフォルトは1、IP制限を防ぐための推奨最大値は8~10)。\n +- **速度制限:** ダウンロード速度を制限します(例:500 KB/s の場合は `500K`)。 +- **ダウンロードパスの保存:** 将来のダウンロードのためにデフォルトのダウンロードパスを保存します。**Download Settings → Download Path** で設定可能です。 +- **デフォルトのビデオ解像度:** 自動選択のために好みのビデオ解像度を設定します(例:1080p, 720p)。**Download Settings → Default Video Resolution** で設定可能です。 +- **デフォルトの字幕言語:** 自動選択のためにデフォルトの字幕言語を設定します(カンマ区切り、例:`ja,en`)。**Download Settings → Default Subtitle Languages** で設定可能です。 +- **ファイル名形式:** `%(title)s`, `%(uploader)s`, `%(playlist_index)s`, `%(resolution)s` などの変数を使用して出力ファイル名の形式をカスタマイズします。**Download Settings → Filename Format** で設定可能です。 +- **出力形式の強制:** ビデオダウンロードを `mp4`, `webm`, `mkv` などの特定のコンテナ形式に強制します。**Download Settings → Output Format Settings** で設定可能です。 +- **オーディオ形式の変換:** オーディオのみのダウンロードを `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, または `Best` などの好みの形式に変換します。**Download Settings → Audio Format Settings** で設定可能です。 +- **オーディオノーマライズ:** EBU R128 を使用して、オーディオのみのダウンロードの音量を標準化します。 +- **同時接続数:** ファイルを複数のパーツで同時にダウンロードすることで、ダウンロード速度を大幅に向上させます。**Download Settings → General → Concurrent Connections** で設定可能です(デフォルトは 1。IP ブロックを避けるため最大 8-10 を推奨)。 +
    🌐 アクセスとネットワーク -- **Cookie を使用してログイン:** Cookie を使用して YouTube にログインし、プライベート コンテンツにアクセスします。 - 使用方法: - 1. **推奨:** アプリに組み込まれている `Extract cookies from browser` オプションを使用し、ブラウザーとオプションでプロファイルを選択します。 - 2. または、Cookie を手動で抽出します。 - a. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) のような拡張子を使用してブラウザから Cookie をエクスポートします。 - b. Netscape 形式で Cookie をコピーします。 - c. `cookies.txt` という名前のファイルを作成し、そこに Cookie を貼り付けます。 - d.アプリで `cookies.txt` ファイルを選択します -- **プロキシ サポート:** ダウンロードにはプロキシ サーバーを使用します (例: `http://:`) -- **汎用モード:** YTSage が yt-dlp でサポートされている YouTube 以外のサイトから分析してダウンロードできるようにします。 **[ダウンロード設定] → [汎用モード]** から有効にします。 +- **クッキーログイン:** クッキーを使用して YouTube にログインし、非公開コンテンツにアクセスします。 + 使用方法: + 1. **推奨:** アプリ内蔵の `Extract cookies from browser` オプションを使用し、ブラウザと(必要に応じて)プロフィールを選択します。 + 2. あるいは、クッキーを手動で抽出します: + a. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) などの拡張機能を使用して、ブラウザからクッキーをエクスポートします。 + b. Netscape 形式でクッキーをコピーします。 + c. `cookies.txt` という名前のファイルを作成し、クッキーを貼り付けます。 + d. アプリで `cookies.txt` ファイルを選択します。 +- **プロキシサポート:** ダウンロードにプロキシサーバーを使用します(例:`http://:`)。 +- **ジェネリックモード:** YTSage が yt-dlp でサポートされている YouTube 以外のサイトから分析およびダウンロードできるようにします。**Download Settings → Generic Mode** から有効にします。
    🛠️ ツールとメンテナンス -- **カスタム コマンド:** コマンドライン引数を介して高度な yt-dlp 機能にアクセスします -- **「アップデータ」タブ:** カスタム オプションの 1 か所から組み込みの更新ツールを管理します。 - - **yt-dlp アップデート:** アップデートを確認し、安定リリース チャネルと夜間リリース チャネルを切り替えます。 - - **FFmpeg バージョン チェッカー:** FFmpeg バージョンを確認し、インストール ガイドを開きます - - **Deno の更新:** Deno ランタイムを確認して更新します -- **FFmpeg/yt-dlp/Deno 検出:** [バージョン情報] ダイアログから FFmpeg、yt-dlp、および Deno のパスとバージョンを自動的に検出します。 -- **ダウンロード履歴:** **履歴** ボタンから過去のダウンロードをサムネイルとステータスとともに表示します。 +- **カスタムコマンド:** コマンドライン引数を介して高度な yt-dlp 機能にアクセスします。 +- **アップデートタブ:** カスタムオプション内の一箇所で内蔵のアップデートツールを管理します: + - **yt-dlp アップデート:** アップデートを確認し、Stable と Nightly リリースチャネルを切り替えます。 + - **FFmpeg バージョンチェッカー:** FFmpeg のバージョンを確認し、インストールガイドを開きます。 + - **Deno アップデート:** Deno ランタイムを確認し、アップデートします。 +- **FFmpeg/yt-dlp/Deno 検出:** About ダイアログから FFmpeg、yt-dlp、Deno のパスとバージョンを自動的に検出します。 +- **ダウンロード履歴:** **History** ボタンから、サムネイルとステータス付きで過去のダウンロードを表示します。
    -🌍 ローカリゼーション +🌍 ローカライズ -YTSage は **14 の言語**をサポートしており、世界中からアクセスできます。 **カスタム オプション → 言語** から希望の言語を選択します。 +YTSage はグローバルに対応するため、**14 言語**をサポートしています。**Custom Options → Language** で好みの言語を選択してください。 ### サポートされている言語 -|言語 |コード |言語 |コード | +| 言語 | コード | 言語 | コード | |----------|------|----------|------| | 🇺🇸 英語 | `en` | 🇪🇸 スペイン語 | `es` | -| 🇸🇦アラビア語 | `ar` | 🇫🇷 フランス語 | `fr` | -| 🇩🇪 ドイツ語 | `de` | 🇮🇳ヒンディー語 | `hi` | -| 🇮🇩インドネシア語 | `id` | 🇮🇹イタリア語 | `it` | -| 🇯🇵 日本語 | `ja` | 🇵🇱ポーランド語 | `pl` | -| 🇧🇷 ポルトガル語 | `pt` | 🇷🇺ロシア語 | `ru` | -| 🇹🇷 トルコ語 | `tr` | 🇨🇳中国語 | `zh` | +| 🇸🇦 アラビア語 | `ar` | 🇫🇷 フランス語 | `fr` | +| 🇩🇪 ドイツ語 | `de` | 🇮🇳 ヒンディー語 | `hi` | +| 🇮🇩 インドネシア語 | `id` | 🇮🇹 イタリア語 | `it` | +| 🇯🇵 日本語 | `ja` | 🇵🇱 ポーランド語 | `pl` | +| 🇧🇷 ポルトガル語 | `pt` | 🇷🇺 ロシア語 | `ru` | +| 🇹🇷 トルコ語 | `tr` | 🇨🇳 中国語 | `zh` | -### README の翻訳 +### README 翻訳 -|言語 |ファイル |言語 |ファイル | +| 言語 | ファイル | 言語 | ファイル | |----------|------|----------|------| -| 🇺🇸 英語 | [README.md](../README.md) | 🇪🇸 スペイン語 | [README.es.md](README.es.md) -| 🇸🇦アラビア語 | [README.ar.md](README.ar.md) | 🇫🇷 フランス語 | [README.fr.md](README.fr.md) | -| 🇩🇪 ドイツ語 | [README.de.md](README.de.md) | 🇮🇳ヒンディー語 | [README.hi.md](README.hi.md) | -| 🇮🇩インドネシア語 | [README.id.md](README.id.md) | 🇮🇹イタリア語 | [README.it.md](README.it.md) | -| 🇯🇵 日本語 | [README.ja.md](README.ja.md) | 🇵🇱ポーランド語 | [README.pl.md](README.pl.md) | -| 🇧🇷 ポルトガル語 | [README.pt.md](README.pt.md) | 🇷🇺ロシア語 | [README.ru.md](README.ru.md) | -| 🇹🇷 トルコ語 | [README.tr.md](README.tr.md) | 🇨🇳中国語 | [README.zh.md](README.zh.md) | +| 🇺🇸 英語 | [README.md](README.md) | 🇪🇸 スペイン語 | [README.es.md](README.es.md) | +| 🇸🇦 アラビア語 | [README.ar.md](README.ar.md) | 🇫🇷 フランス語 | [README.fr.md](README.fr.md) | +| 🇩🇪 ドイツ語 | [README.de.md](README.de.md) | 🇮🇳 ヒンディー語 | [README.hi.md](README.hi.md) | +| 🇮🇩 インドネシア語 | [README.id.md](README.id.md) | 🇮🇹 イタリア語 | [README.it.md](README.it.md) | +| 🇯🇵 日本語 | [README.ja.md](README.ja.md) | 🇵🇱 ポーランド語 | [README.pl.md](README.pl.md) | +| 🇧🇷 ポルトガル語 | [README.pt.md](README.pt.md) | 🇷🇺 ロシア語 | [README.ru.md](README.ru.md) | +| 🇹🇷 トルコ語 | [README.tr.md](README.tr.md) | 🇨🇳 中国語 | [README.zh.md](README.zh.md) | -> 💡 **翻訳に貢献しませんか?** 言語を追加するには、[Contributing](#contributing) セクションをご覧ください。 +> 💡 **翻訳を手伝いたいですか?** [貢献](#貢献) セクションを参照して、さらに多くの言語を追加するのを手伝ってください!
    - + ## 🛠️ トラブルシューティング
    -クリックすると一般的な問題と解決策が表示されます +クリックして一般的な問題と解決策を表示 -- **フォーマット テーブルが表示されない:** yt-dlp を最新バージョンに更新し、毎晩 yt-dlp に切り替えます。 -- **ダウンロードが失敗する:** インターネット接続をチェックし、ビデオが利用可能であることを確認してください。 -- **特定のダウンロード エラー:** - - **プライベート ビデオ:** Cookie 認証を使用してプライベート コンテンツにアクセスします。 - - **年齢制限のあるコンテンツ:** 年齢制限のある動画を閲覧するには、YouTube アカウントにログインしてください。 - - **地理的にブロックされたビデオ:** 地域制限を回避するには、VPN の使用を検討してください。 - - **削除/削除されたビデオ:** このビデオは YouTube で利用できなくなりました。 - - **ライブ ストリーム:** ライブ ストリームはダウンロードできません。ストリームが終了するまで待ちます。 - - **ネットワーク エラー:** インターネット接続を確認して、もう一度試してください。 - - **無効な URL:** URL が正しく、サポートされているプラ​​ットフォームからのものであることを確認してください。 - - **プレミアム コンテンツ:** YouTube プレミアム メンバーシップが必要です。 - - **著作権ブロック:** コンテンツは著作権制限によりブロックされています。 -- **ダウンロード後にビデオ ファイルとオーディオ ファイルを分離します:** これは、FFmpeg が見つからない、または検出されない場合に発生します。 YTSage では、高品質のビデオ ストリームとオーディオ ストリームをマージするために FFmpeg が必要です。 - - **解決策:** FFmpeg がシステムの PATH にインストールされ、アクセスできることを確認してください。 Windows ユーザーの場合、最も簡単なオプションは、FFmpeg にバンドルされている `YTSage-v-ffmpeg.exe` ファイルをダウンロードすることです。 +- **フォーマットテーブルが表示されない:** yt-dlp を最新バージョンに更新し、yt-dlp Nightly への切り替えを試してください。 +- **ダウンロードが失敗する:** インターネット接続を確認し、ビデオが利用可能であることを確認してください。 +- **特定のダウンロードエラー:** + - **非公開ビデオ:** 非公開コンテンツにアクセスするには、クッキー認証を使用してください。 + - **年齢制限のあるコンテンツ:** YouTube アカウントにログインして、年齢制限のあるビデオを表示してください。 + - **ジオブロックされたビデオ:** 地域制限を回避するために VPN の使用を検討してください。 + - **削除されたビデオ:** ビデオは YouTube で利用できなくなっています。 + - **ライブストリーム:** ライブストリームは放送中にダウンロードできません。ストリームが終了するまで待ってください。 + - **ネットワークエラー:** インターネット接続を確認して再試行してください。 + - **無効な URL:** URL が正しく、サポートされているプラットフォームのものであることを確認してください。 + - **プレミアムコンテンツ:** YouTube Premium のサブスクリプションが必要です。 + - **著作権ブロック:** 著作権制限のため、コンテンツがブロックされています。 +- **ダウンロード後にビデオとオーディオファイルが分かれている:** これは FFmpeg が不足しているか、検出されない場合に発生します。YTSage は、高品質のビデオとオーディオストリームを結合するために FFmpeg を必要とします。 + - **解決策:** FFmpeg がインストールされており、システムの PATH でアクセス可能であることを確認してください。Windows ユーザーにとって最も簡単なオプションは、FFmpeg が同梱されている `YTSage-v-ffmpeg.exe` ファイルをダウンロードすることです。 --- -#### 🛡️ Windows Defender / ウイルス対策の警告 +#### 🛡️ Windows Defender / アンチウイルス警告 -一部のウイルス対策ソフトウェアでは、`.exe` ファイルに誤検知のフラグが立てられる場合があります。これは、パッケージ化されたアプリケーションの**既知の制限**です。 +一部のアンチウイルスソフトウェアは、`.exe` ファイルを誤検知(False Positive)としてフラグを立てる場合があります。これは、パッケージ化されたアプリケーションの**既知の制限**です。 -**これが起こる理由:** -- ウイルス対策ヒューリスティックにより、パックされた実行可能ファイルが疑わしいものとして誤認識される可能性がある +**なぜ発生するのか:** +- アンチウイルスのヒューリスティック機能が、パッケージ化された実行ファイルを疑わしいものとして誤認することがあります。 -**安全な代替品:** -- ✅ **pip インストールを使用します:** `pip install ytsage` (推奨) -- ✅ **ソースからビルド**: これに従ってください [guide](../.github/CI_CD_README.md) -- ✅ **ウイルス対策ソフトウェアでアプリケーションをホワイトリストに登録** +**安全な選択肢:** +- ✅ **pip インストールを使用する:** `pip install ytsage` (推奨) +- ✅ **ソースからビルドする**: この[ガイド](.github/CI_CD_README.md)に従ってください。 +- ✅ **アプリケーションをホワイトリストに追加する** (アンチウイルスソフトウェアの設定)。 #### 🍎 macOS: 「アプリが破損しているため開けません」 -macOS Sonoma 以降でこのエラーが発生した場合は、隔離属性を削除する必要があります。 +macOS Sonoma 以降でこのエラーが表示される場合は、 quarantine(隔離)属性を削除する必要があります。 -1. **ターミナルを開きます** (Spotlight を使用して見つけることができます)。 -2. **次のコマンドを入力します**。**まだ Enter キーは押さないでください**。必ず末尾にスペースを含めてください。 +1. **ターミナルを開きます** (Spotlight で検索できます)。 +2. **次のコマンドを入力します** が、まだ Enter は押さないでください。最後にスペースを含めるようにしてください: ```bash xattr -d com.apple.quarantine ``` -3. **`YTSage.app` ファイル**を Finder ウィンドウからドラッグし、ターミナル ウィンドウに直接ドロップします。これにより、正しいファイル パスが自動的に貼り付けられます。 -4. **Enter キーを押して**、コマンドを実行します。 -5. **YTSage.app をもう一度開いてみてください。** これで正しく起動するはずです。 +3. **Finder ウィンドウから `YTSage.app` ファイルをドラッグし**、ターミナルウィンドウに直接ドロップします。これにより、正しいファイルパスが自動的に貼り付けられます。 +4. **Enter を押して** コマンドを実行します。 +5. **YTSage.app を再度開いてみてください。** 正しく起動するはずです。 --- -#### **構成の場所 (詳細)** +#### **設定ファイルの場所 (上級者向け)** - **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage`
    - + ## 💖 スポンサー -YTSage によって時間を節約できる場合は、プロジェクトのスポンサーになることを検討してください。スポンサーシップは、開発時間、プラットフォーム全体のテスト、将来の改善をカバーするのに役立ちます。 +YTSage があなたの時間を節約できたなら、プロジェクトのスポンサーになることを検討してください。スポンサーシップは、開発時間、全プラットフォームでのテスト、および将来の改善に役立てられます。 -- GitHub スポンサー: https://github.com/sponsors/oop7 -- スポンサー リンクは、アプリ内の [バージョン情報] ダイアログから直接利用することもできます。 +- GitHub Sponsors: https://github.com/sponsors/oop7 +- スポンサーリンクは、アプリ内の About ダイアログから直接利用可能です。 [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) - -## 👥 貢献しています + +## 👥 貢献 -寄付を歓迎します!お手伝いできる方法は次のとおりです。 +貢献を歓迎します!以下のように手助けができます: 1. 🍴 リポジトリをフォークする -2. 🌿 機能ブランチを作成します。 +2. 🌿 フィーチャーブランチを作成する: ```bash git checkout -b feature/AmazingFeature ``` -3. 💾 変更をコミットします。 +3. 💾 変更をコミットする: ```bash git commit -m 'Add some AmazingFeature' ``` -4. 📤 ブランチにプッシュします。 +4. 📤 ブランチにプッシュする: ```bash git push origin feature/AmazingFeature ``` -5. 🔄 プルリクエストを開く +5. 🔄 プルリクエストを作成する -### 🌍 翻訳に貢献 +### 🌍 翻訳に貢献する -- 一致するローカライズされた README ファイルを更新します (例: `README.es.md`) -- `ytsage/languages/.json` を編集してアプリ文字列を同期させます -- 言語が見つからない場合は、`README.md` から開始して `README..md` を作成します +- 関連するローカライズ版 README ファイルを更新する (例: `readme-translations/README.ja.md`) +- `ytsage/languages/.json` を編集して、アプリの文字列を同期させる +- お使いの言語がない場合は、 `README.md` をベースに `README..md` を作成してください。
    📂 プロジェクト構造 ## YTSage - プロジェクト構造 -このドキュメントでは、YTSage の整理されたフォルダー構造について説明します。 +このドキュメントでは、YTSage の整理されたフォルダ構造について説明します。 -### 📁 プロジェクトの構造 +### 📁 プロジェクト構造 ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # GitHub 設定 +│ ├── 📁 ISSUE_TEMPLATE/ # イシューテンプレート +│ │ └── 🐛-bug-report.md # バグレポートテンプレート +│ ├─── 📁 workflows/ # GitHub Actions ワークフロー +│ │ ├── build-linux.yml # Linux ビルドワークフロー +│ │ ├── build-macos.yml # macOS ビルドワークフロー +│ │ │── build-windows.yml # Windows ビルドワークフロー +| | └── release-all.yml # マスターリリースワークフロー +│ └── 📄 CI_CD_README.md # CI/CD ドキュメント +├── 📁 branding/ # ブランディングアセット (スクリーンショット, SVG) +│ ├── 📁 icons/ # アプリアイコン +│ ├── 📁 screenshots/ # ドキュメント用スクリーンショット +│ └── 📁 svg/ # SVG アセット +├── 📄 LICENSE # ライセンスファイル +├── 📄 pyproject.toml # プロジェクトメタデータと依存関係 +├── 📄 README.md # プロジェクトドキュメント +├── 📄 requirements.txt # Python 依存関係 (dev) +└── 📁 ytsage/ # ソースコードパッケージ + ├── 📁 assets/ # ランタイムアセット + │ ├── 📁 Icon/ # アプリアイコン + │ └── 📁 sound/ # オーディオファイル + ├── 📁 languages/ # ローカライズファイル + │ ├── 📄 ar.json # アラビア語翻訳 + │ ├── 📄 de.json # ドイツ語翻訳 + │ ├── 📄 en.json # 英語翻訳 + │ └── ... # その他の言語 + ├── 📁 core/ # コアビジネスロジック + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # Deno 統合 + │ ├── 📄 ytsage_downloader.py # ダウンロード機能 + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg 統合 + │ ├── 📄 ytsage_utils.py # ユーティリティ関数 + │ └── 📄 ytsage_yt_dlp.py # yt-dlp 統合 + ├── 📁 gui/ # ユーザーインターフェースコンポーネント + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # アプリメインウィンドウ + │ └── 📁 ytsage_gui_dialogs/ # ダイアログクラス + ├── 📁 utils/ # ユーティリティモジュール + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # 設定管理 + │ └── 📄 ytsage_logger.py # ロギングツール + ├── 📄 __init__.py # パッケージエントリポイント + └── 📄 main.py # メイン実行スクリプト ```
    -## ⭐️スターの歴史 +## ⭐️ スター履歴
    -## スターの歴史 +## Star History @@ -538,9 +544,9 @@ YTSage/
    -## 📜ライセンス +## 📜 ライセンス -このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、[LICENSE](../LICENSE) ファイルを参照してください。 +このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は [LICENSE](LICENSE) ファイルを参照してください。 ## 🙏 謝辞 @@ -549,21 +555,21 @@ YTSage/
    -

    改善の提案やバグの報告のために問題を開いてこのプロジェクトに貢献してくださった皆様に心から感謝します。

    +

    改善の提案やバグの報告のためにイシューを開いてこのプロジェクトに貢献してくださったすべての方々に感謝いたします。

    - + - + - - + + @@ -571,32 +577,33 @@ YTSage/ - + - + + - - + + - - + + - + - + - + - - + +
    コアコンポーネント
    主要コンポーネント
    yt-dlpダウンロード エンジンダウンロードエンジン
    FFmpeg メディア処理
    デノyt-dlp との統合用ランタイムDenoyt-dlp 統合用ランタイム
    ライブラリとフレームワーク
    GUI フレームワーク
    Pillow 画像処理
    リクエスト
    requests HTTP リクエスト
    梱包バージョンとパッケージの取り扱いpackagingバージョン管理とパッケージ化
    値下げマークダウン レンダリングmarkdownMarkdown レンダリング
    ろぐるloguru ロギング
    アセットと寄稿者
    アセットと貢献者
    ユニバーズフィールドによる新しい通知 09New Notification 09 by Universfield 通知音
    ウイルス185コード寄稿者viru185コード貢献者
    @@ -604,14 +611,14 @@ YTSage/
    -## ⚠️免責事項 +## ⚠️ 免責事項 -このツールは個人使用のみを目的としています。 YouTube の利用規約とコンテンツ作成者の権利を尊重してください。 +このツールは個人利用のみを目的としています。YouTube の利用規約およびコンテンツ制作者の権利を尊重してください。 ---
    -[oop7](https://github.com/oop7) によって ❤️ で作られました +Created with ❤️ by [oop7](https://github.com/oop7)
    From 3ba021dfbb3aef01c90aa25d24546bdd9caa13cd Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 15:38:35 +0300 Subject: [PATCH 552/568] Update Polish README translation and formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply copy edits and formatting fixes to readme-translations/README.pl.md: adjust wording and capitalization, standardize section headings and anchors (e.g. instalacja, funkcje, użycie), harmonize terminology (Download Settings, Generic Mode), fix tables and list formatting, update platform/executable descriptions and installation steps, revise screenshots alt text, clarify usage and troubleshooting instructions, and refresh localization & contributing sections for consistency. --- readme-translations/README.pl.md | 514 +++++++++++++++--------------- readme-translations/README.pt.md | 520 ++++++++++++++++--------------- 2 files changed, 523 insertions(+), 511 deletions(-) diff --git a/readme-translations/README.pl.md b/readme-translations/README.pl.md index 25e867c..a8c78e5 100644 --- a/readme-translations/README.pl.md +++ b/readme-translations/README.pl.md @@ -12,81 +12,82 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**Nowoczesny downloader YouTube z przejrzystym interfejsem PySide6.** -Pobieraj filmy w dowolnej jakości, wyodrębniaj dźwięk, pobieraj napisy i nie tylko. +**Nowoczesny downloader YouTube z czystym interfejsem PySide6.** +Pobieraj wideo w dowolnej jakości, wyodrębniaj audio, pobieraj napisy i wiele więcej. -### 🌍 PRZECZYTAJ Języki +### 🌍 Języki README Angielski: [EN](../README.md) -| Numer telefonu: [AR](README.ar.md) +| Arabski: [AR](README.ar.md) | Niemiecki: [DE](README.de.md) | Hiszpański: [ES](README.es.md) -| Français: [FR](README.fr.md) -| हिन्दी: [HI](README.hi.md) -| Bahasa Indonezja: [ID](README.id.md) -| włoski: [IT](README.it.md) -| 日本語: [JA](README.ja.md) +| Francuski: [FR](README.fr.md) +| Hindi: [HI](README.hi.md) +| Indonezyjski: [ID](README.id.md) +| Włoski: [IT](README.it.md) +| Japoński: [JA](README.ja.md) | Polski: [PL](README.pl.md) | Portugalski: [PT](README.pt.md) | Rosyjski: [RU](README.ru.md) | Turecki: [TR](README.tr.md) -| Nazwa: [ZH](README.zh.md) +| Chiński: [ZH](README.zh.md)

    - Instalacja • - Funkcje • - Użycie • - Zrzuty ekranu • - Rozwiązywanie problemów • + Instalacja • + Funkcje • + Użycie • + Zrzuty ekranu • + Rozwiązywanie problemówSponsor • - Wspieranie + Współpraca

    --- - + ## ❓ Dlaczego YTSage? -YTSage jest przeznaczony dla użytkowników, którzy chcą **prostego, ale potężnego narzędzia do pobierania YouTube**. W odróżnieniu od innych narzędzi oferuje: +YTSage został zaprojektowany dla użytkowników, którzy chcą **prostego, ale potężnego downloadera YouTube**. W przeciwieństwie do innych narzędzi oferuje: -- Czysty, nowoczesny interfejs PySide6 +- Nowoczesny i czysty interfejs PySide6 - Pobieranie wideo, audio i napisów jednym kliknięciem -- Zaawansowane funkcje, takie jak SponsorBlock, łączenie napisów i wybór listy odtwarzania -- Opcjonalny tryb ogólny dla witryn obsługujących yt-dlp poza YouTube +- Zaawansowane funkcje, takie jak SponsorBlock, scalanie napisów i wybór playlisty +- Opcjonalny tryb ogólny (Generic Mode) dla stron spoza YouTube obsługiwanych przez yt-dlp - Obsługa wielu platform i łatwa instalacja - + ## ✨ Funkcje
    -| Podstawowe funkcje | Zaawansowane funkcje | Dodatkowe funkcje | -|----------------------------------|------------------------------------------------------|-----------------------------------| -| 🎥 Formatuj tabelę | 🚫 Integracja z blokiem sponsorskim | 🎞️ Wyświetlacz FPS/HDR | -| 🎵 Ekstrakcja dźwięku | 📝 Wybierz i połącz wiele napisów | 🔄 Automatyczna aktualizacja yt-dlp | -| ✨ Prosty interfejs użytkownika | 💾 Zapisz opis i miniaturę | 🛠️ Wykrywanie FFmpeg/yt-dlp/Deno | -| 📋 Obsługa i wybór list odtwarzania | 🚀 Ogranicznik prędkości | ⚙️ Polecenia niestandardowe | -| 📑 Umieść rozdziały | ✂️ Przytnij sekcje wideo | 🍪 Zaloguj się za pomocą plików cookie | -| 📜 Pobierz historię | 🔄 Zwolnij wybór kanału | 🌐 Wsparcie proxy | -| 🎚️ Konwersja formatu audio | 🎬 Ustawienia formatu wideo | 🆙 Wbudowana zakładka Aktualizator | -| 🌍 Tryb ogólny | 🔊 Normalizacja dźwięku (EBU R128) | 🌍 Lokalizacja w 14 językach | +| Funkcje podstawowe | Funkcje zaawansowane | Funkcje dodatkowe | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Tabela formatów | 🚫 Integracja SponsorBlock | 🎞️ Wyświetlanie FPS/HDR | +| 🎵 Wyodrębnianie audio | 📝 Wybór i scalanie napisów | 🔄 Auto-aktualizacja yt-dlp | +| ✨ Prosty interfejs użytkownika | 💾 Zapis opisu i miniatur | 🛠️ Wykrywanie FFmpeg/yt-dlp/Deno | +| 📋 Obsługa i wybór playlist | 🚀 Ogranicznik prędkości | ⚙️ Własne komendy | +| 📑 Integracja rozdziałów | ✂️ Przycinanie sekcji wideo | 🍪 Logowanie przez ciasteczka | +| 📜 Historia pobierania | 🔄 Wybór kanału wydań | 🌐 Obsługa proxy | +| 🎚️ Konwersja formatów audio | 🎬 Ustawienia formatu wideo | 🆙 Zintegrowana karta aktualizacji | +| 🌍 Tryb ogólny | 🔊 Normalizacja audio (EBU R128) | 🌍 Lokalizacja w 14 językach | +| 💾 Eksport playlisty | ⚙️ Domyślna jakość i napisy | |
    - + ## 🚀 Instalacja -### ⚡ Szybka instalacja (zalecane) +### ⚡ Szybka instalacja (zalecana) -Zainstaluj YTSage z PyPI: +Zainstaluj YTSage przez PyPI: ```bash pip install ytsage ```
    -🔄 Zaktualizuj istniejącą instalację +🔄 Aktualizacja istniejącej instalacji ```bash pip install --upgrade ytsage @@ -100,33 +101,33 @@ Następnie uruchom aplikację: ytsage ``` -### 📦 Gotowe pliki wykonywalne +### 📦 Gotowe pliki wykonywalne (Executable) -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 Pobierz najnowsze wydanie](https://github.com/oop7/YTSage/releases/latest) -#### 🪟 Okna +#### 🪟 Windows -| Formatuj | Opis | -|------------|------------| +| Format | Opis | +|--------|-------------| | ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standardowy instalator | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Z pakietem FFmpeg | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Z dołączonym FFmpeg | | ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Wersja przenośna, nie wymaga instalacji | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Przenośny z FFmpeg, spakowany | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Przenośna z FFmpeg, skompresowana (ZIP) |
    🛠️ Kroki instalacji -1. **Instalator EXE (`.exe`)**: Kliknij dwukrotnie plik i postępuj zgodnie z instrukcjami kreatora instalacji. -2. **Wersja przenośna (`.zip`)**: Wypakuj archiwum do wybranej lokalizacji i uruchom `ytsage.exe`. -3. **FFmpeg w pakiecie**: Wybierz wersję w pakiecie FFmpeg, jeśli nie masz zainstalowanego FFmpeg w swoim systemie. +1. **Instalator EXE (`.exe`)**: Kliknij dwukrotnie plik i postępuj zgodnie z instrukcjami kreatora. +2. **Wersja przenośna (`.zip`)**: Rozpakuj archiwum w wybranym miejscu i uruchom `ytsage.exe`. +3. **Wbudowany FFmpeg**: Jeśli nie masz zainstalowanego FFmpeg w systemie, wybierz wersję z dołączonym FFmpeg.
    #### 🐧 Linux -| Formatuj | Opis | -|------------|------------| -| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pakiet Debiana | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Obraz aplikacji, przenośny | +| Format | Opis | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pakiet Debian | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, przenośny | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pakiet RPM | | ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Pakiet Flatpak | @@ -136,18 +137,18 @@ ytsage - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Jeśli trzeba naprawić brakujące zależności ``` - **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` -- **Obraz aplikacji (`.AppImage`)**: +- **AppImage (`.AppImage`)**: ```bash chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**: Postępuj zgodnie z instrukcjami na Flathubie lub uruchom: +- **Flatpak**: Postępuj zgodnie z instrukcjami na Flathub lub uruchom: ```bash flatpak install flathub io.github.oop7.ytsage ``` @@ -155,24 +156,24 @@ ytsage #### 🍎 macOS -| Formatuj | Opis | -|------------|------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Spakowana aplikacja dla Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalator obrazu dysku dla Apple Silicon | +| Format | Opis | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplikacja ZIP dla Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalator Disk Image dla Apple Silicon |
    🛠️ Kroki instalacji - **Instalator DMG (`.dmg`)**: Kliknij dwukrotnie, aby zamontować, a następnie przeciągnij `YTSage.app` do folderu Aplikacje. -- **Archiwum aplikacji (`.zip`)**: Wypakuj plik ZIP i przenieś `YTSage.app` do folderu Aplikacje. +- **Archiwum aplikacji (`.zip`)**: Rozpakuj ZIP i przenieś `YTSage.app` do folderu Aplikacje. -*Uwaga: jeśli napotkasz błąd „Aplikacja jest uszkodzona”, zobacz [macOS troubleshooting section](#troubleshooting) poniżej.* +*Uwaga: Jeśli otrzymasz błąd "Aplikacja jest uszkodzona", zapoznaj się z sekcją rozwiązywania problemów macOS poniżej.*
    ---
    -💻 Instalacja ręczna ze źródła +💻 Ręczna instalacja ze źródeł ### 1. Sklonuj repozytorium @@ -183,13 +184,13 @@ cd YTSage ### 2. Zainstaluj zależności -#### ⚡ Z uv +#### ⚡ Z użyciem uv ```bash uv pip install . ``` -#### 📦 Lub ze standardową końcówką +#### 📦 Lub ze standardowym pip ```bash pip install . @@ -203,226 +204,230 @@ python -m ytsage.main
    - + ## 📸 Zrzuty ekranu
    - - + + - - + + - - + +
    Download SettingsPlaylist DownloadUstawienia pobieraniaPobieranie playlisty
    Pobierz ustawieniaPobieranie listy odtwarzaniaUstawienia pobieraniaPobieranie playlisty
    Audio Format Selection with Save ThumbnailCustom OptionsWybór formatu audioOpcje niestandardowe
    Format audio Opcje niestandardowe
    -
    + + ## 📖 Użycie
    🎯 Podstawowe użycie 1. **Uruchom YTSage** -2. **Wklej adres URL YouTube** (lub użyj przycisku „Wklej adres URL”) -3. **Kliknij „Analizuj”** +2. **Wklej URL z YouTube** (lub użyj przycisku "Wklej URL") +3. **Kliknij "Analizuj"** 4. **Wybierz format:** - - `Video` do pobierania plików wideo - - `Audio Only` do ekstrakcji dźwięku + - `Wideo` dla pobierania wideo + - `Tylko audio` dla wyodrębniania dźwięku 5. **Wybierz opcje:** - Włącz napisy i wybierz język - Włącz scalanie napisów - Zapisz miniaturę - - Usuń segmenty sponsorów + - Usuń sekcje sponsorowane - Zapisz opis - - Osadzaj rozdziały -6. **Wybierz katalog wyjściowy** -7. **Kliknij „Pobierz”** + - Osadź rozdziały +6. **Wybierz folder wyjściowy** +7. **Kliknij "Pobierz"** -> 💡 Domyślnym katalogiem pobierania jest folder „Pobrane” użytkownika. +> 💡 Domyślny folder pobierania to folder "Pobrane" użytkownika.
    -📋 Pobieranie listy odtwarzania +📋 Pobieranie playlisty -1. **Wklej adres URL listy odtwarzania** -2. **Kliknij „Analizuj”** -3. **Wybierz filmy z selektora playlist (opcjonalnie, domyślnie wszystkie)** +1. **Wklej URL playlisty** +2. **Kliknij "Analizuj"** +3. **Wybierz filmy z selektora (opcjonalnie, domyślnie wszystkie)** 4. **Wybierz żądany format/jakość** -5. **Kliknij „Pobierz”** +5. **Kliknij "Pobierz"** -> 💡 Aplikacja automatycznie obsługuje kolejkę pobierania +> 💡 Aplikacja automatycznie zarządza kolejką pobierania, a wpisy playlisty możesz eksportować do plików `.txt`, `.csv`, `.m3u` lub `.json`.
    -🌍 Tryb ogólny dla witryn innych niż YouTube +🌍 Tryb ogólny dla stron innych niż YouTube -Użyj trybu ogólnego, jeśli chcesz, aby YTSage akceptował adresy URL z witryn obsługiwanych przez yt-dlp, takich jak Dailymotion, CBC Gem, TikTok i inne. +Użyj trybu ogólnego (Generic Mode), gdy chcesz, aby YTSage akceptował adresy URL ze stron obsługiwanych przez yt-dlp, takich jak Dailymotion, CBC Gem, TikTok i inne. -Jak z niego korzystać: +Jak go użyć: 1. Otwórz `Download Settings`. 2. Włącz `Generic Mode`. -3. Wklej obsługiwany adres URL filmu lub listy odtwarzania spoza YouTube. +3. Wklej obsługiwany URL wideo lub playlisty spoza YouTube. 4. Kliknij `Analyze`. 5. Wybierz format i pobierz jak zwykle. Uwagi: -- Tryb ogólny zmienia tylko weryfikację adresu URL w YTSage. Witryna docelowa musi nadal być obsługiwana przez zainstalowaną wersję yt-dlp. -- Niektóre witryny wymagają plików cookie, sesji logowania, serwera proxy lub dodatkowych argumentów yt-dlp, w zależności od ekstraktora. -- Jeśli witryna ulegnie awarii, przed zgłoszeniem problemu zaktualizuj najpierw yt-dlp z wbudowanej karty aktualizatora. +- Tryb ogólny zmienia tylko walidację adresu URL wewnątrz YTSage. Strona docelowa musi być nadal obsługiwana przez zainstalowaną wersję yt-dlp. +- Niektóre strony wymagają ciasteczek, logowania, proxy lub dodatkowych argumentów yt-dlp w zależności od ekstraktora. +- Jeśli strona nie działa, zaktualizuj yt-dlp ze zintegrowanej karty aktualizacji przed zgłoszeniem problemu.
    -🧰 Opcje multimediów i pobierania +🧰 Opcje mediów i pobierania -- **Opcje napisów:** Filtruj języki i osadzaj napisy w pliku wideo -- **Scalanie napisów:** Łączenie napisów z plikiem wideo w celu uzyskania napisów zakodowanych na stałe -- **Zapisz opis:** Zapisz opis filmu jako plik tekstowy -- **Zapisz miniaturę:** zapisz miniaturę wideo jako plik obrazu -- **Osadzanie rozdziałów:** Osadzanie znaczników rozdziałów jako metadanych dla zgodnych odtwarzaczy wideo -- **Usuń segmenty sponsora:** Usuń segmenty sponsora z filmu za pomocą funkcji SponsorBlock -- **Przytnij wideo:** Pobierz tylko określone fragmenty filmu, określając zakresy czasu w formacie `HH:MM:SS` +- **Opcje napisów:** Filtruj języki i osadzaj napisy w pliku wideo. +- **Scalanie napisów:** Scala napisy z plikiem wideo (hardcoded). +- **Zapis opisu:** Zapisuje opis wideo jako plik tekstowy. +- **Zapis miniatury:** Zapisuje miniaturę wideo jako plik graficzny. +- **Osadź rozdziały:** Dołącza znaczniki rozdziałów jako metadane dla kompatybilnych odtwarzaczy. +- **Usuń sekcje sponsorowane:** Używa SponsorBlock do usuwania segmentów sponsorowanych z filmu. +- **Przycinanie wideo:** Pobieraj tylko określone części filmu, określając zakres czasu w formacie `GG:MM:SS`.
    -⚙️ Ustawienia wyjściowe i plikowe +⚙️ Ustawienia wyjściowe i plików + +- **Ogranicznik prędkości:** Ogranicz prędkość pobierania, np. `500K` dla 500 KB/s. +- **Zapisz ścieżkę pobierania:** Zapisuje domyślną ścieżkę dla przyszłych pobrań. Dostępne w **Download Settings → Download Path**. +- **Domyślna rozdzielczość wideo:** Ustaw preferowaną rozdzielczość dla automatycznego wyboru (np. 1080p, 720p). Dostępne w **Download Settings → Default Video Resolution**. +- **Domyślne języki napisów:** Ustaw domyślne języki dla automatycznego wyboru (rozdzielone przecinkami, np. `pl,en`). Dostępne w **Download Settings → Default Subtitle Languages**. +- **Format nazwy pliku:** Dostosuj format nazwy pliku wyjściowego, używając zmiennych takich jak `%(title)s`, `%(uploader)s`, `%(playlist_index)s` i `%(resolution)s`. Dostępne w **Download Settings → Filename Format**. +- **Wymuś format wyjściowy:** Wymuś pobieranie wideo do konkretnego formatu kontenera, jak `mp4`, `webm` lub `mkv`. Dostępne w **Download Settings → Output Format Settings**. +- **Konwersja formatów audio:** Konwertuj pobierany dźwięk do preferowanego formatu, takiego jak `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` lub `Best`. Dostępne w **Download Settings → Audio Format Settings**. +- **Normalizacja audio:** Ujednolica głośność pobieranego dźwięku przy użyciu EBU R128. +- **Jednoczesne połączenia:** Znacznie zwiększa prędkość pobierania, pobierając pliki w kilku częściach naraz. Dostępne w **Download Settings → General → Concurrent Connections** (domyślnie 1, zalecane maks. 8-10, aby uniknąć blokad IP). -- **Ogranicznik prędkości:** Ogranicz prędkość pobierania, na przykład `500K` dla 500 KB/s -- **Zapisz ścieżkę pobierania:** zapisz domyślną ścieżkę pobierania dla przyszłych pobrań. Dostępne w **Ustawienia pobierania → Ścieżka pobierania**. -- **Format nazwy pliku wyjściowego:** Dostosuj format nazwy pliku wyjściowego za pomocą zmiennych takich jak `%(title)s`, `%(uploader)s` i `%(resolution)s`. Dostępne w **Ustawienia pobierania → Format nazwy pliku**. -- **Wymuś format wyjściowy:** Wymuś pobieranie plików wideo w określonym formacie kontenera, takim jak `mp4`, `webm` lub `mkv`. Dostępne w **Ustawienia pobierania → Ustawienia formatu wyjściowego**. -- **Konwersja formatu audio:** Konwertuj pliki do pobrania zawierające wyłącznie dźwięk do preferowanych formatów, takich jak `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` lub `Best`. Dostępne w **Ustawienia pobierania → Ustawienia formatu audio**. -- **Normalizacja dźwięku:** Ujednolicenie głośności pobieranych plików zawierających wyłącznie dźwięk za pomocą EBU R128. -- **Jednoczesne połączenia:** Znacznie zwiększ prędkość pobierania, pobierając pliki w wielu fragmentach jednocześnie. Dostępne w **Ustawienia pobierania → Ogólne → Jednoczesne połączenia** (Domyślnie 1, zalecane maksimum to 8-10, aby zapobiec blokowaniu IP).\n
    🌐 Dostęp i sieć -- **Zaloguj się za pomocą plików cookie:** zaloguj się do YouTube za pomocą plików cookie, aby uzyskać dostęp do prywatnych treści. - Jak z niego korzystać: - 1. **Zalecane:** Skorzystaj z wbudowanej opcji `Extract cookies from browser` w aplikacji, a następnie wybierz przeglądarkę i opcjonalnie profil. - 2. Alternatywnie wyodrębnij pliki cookie ręcznie: - a. Eksportuj pliki cookie ze swojej przeglądarki za pomocą rozszerzenia takiego jak [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) - b. Skopiuj pliki cookie w formacie Netscape - c. Utwórz plik o nazwie `cookies.txt` i wklej do niego pliki cookie +- **Logowanie przez ciasteczka:** Zaloguj się do YouTube, używając ciasteczek, aby uzyskać dostęp do prywatnych treści. + Użycie: + 1. **Zalecane:** Użyj wbudowanej opcji `Eksportuj ciasteczka z przeglądarki`, a następnie wybierz przeglądarkę i opcjonalnie profil. + 2. Alternatywnie, wyeksportuj ciasteczka ręcznie: + a. Eksportuj ciasteczka z przeglądarki, używając rozszerzenia typu [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Skopiuj ciasteczka w formacie Netscape + c. Utwórz plik o nazwie `cookies.txt` i wklej ciasteczka d. Wybierz plik `cookies.txt` w aplikacji -- **Obsługa proxy:** Do pobierania używaj serwera proxy, na przykład `http://:` -- **Tryb ogólny:** Zezwól YTSage na analizowanie i pobieranie z witryn innych niż YouTube obsługiwanych przez yt-dlp. Włącz tę opcję w **Ustawienia pobierania → Tryb ogólny**. +- **Obsługa proxy:** Użyj serwera proxy do pobierania, np. `http://:` +- **Tryb ogólny:** Pozwala YTSage na analizę i pobieranie z witryn innych niż YouTube obsługiwanych przez yt-dlp. Włącz w **Download Settings → Generic Mode**.
    🛠️ Narzędzia i konserwacja -- **Niestandardowe polecenia:** Dostęp do zaawansowanych funkcji yt-dlp poprzez argumenty wiersza poleceń -- **Karta Aktualizator:** Zarządzaj wbudowanymi narzędziami aktualizacji z jednego miejsca w Opcjach niestandardowych: - - **Aktualizacje yt-dlp:** sprawdź dostępność aktualizacji i przełączaj się między kanałami wersji stabilnej i nocnej - - **Kontrola wersji FFmpeg:** Sprawdź wersję FFmpeg i otwórz przewodniki instalacji - - **Aktualizacje Deno:** Sprawdź i zaktualizuj środowisko wykonawcze Deno -- **Wykrywanie FFmpeg/yt-dlp/Deno:** Automatycznie wykrywa ścieżki i wersje FFmpeg, yt-dlp i Deno w oknie dialogowym Informacje. -- **Historia pobierania:** Przeglądaj wcześniejsze pobrania z miniaturami i statusami za pomocą przycisku **Historia**. +- **Własne komendy:** Dostęp do zaawansowanych funkcji yt-dlp poprzez argumenty wiersza poleceń. +- **Karta aktualizacji:** Zarządzaj wbudowanymi narzędziami aktualizacji z jednego miejsca w opcjach niestandardowych: + - **Aktualizacja yt-dlp:** Sprawdzaj aktualizacje i przełączaj się między kanałami Stable i Nightly. + - **Sprawdzanie wersji FFmpeg:** Weryfikuj wersję FFmpeg i otwieraj przewodniki instalacji. + - **Aktualizacja Deno:** Sprawdzaj i aktualizuj środowisko uruchomieniowe Deno. +- **Wykrywanie FFmpeg/yt-dlp/Deno:** Automatycznie wykrywa ścieżki i wersje FFmpeg, yt-dlp i Deno w oknie "O programie". +- **Historia pobierania:** Przeglądaj poprzednie pobrania z miniaturami i statusami za pomocą przycisku **History**.
    🌍 Lokalizacja -YTSage obsługuje **14 języków**, zapewniając dostępność na całym świecie. Wybierz preferowany język z **Opcje niestandardowe → Język**. +YTSage obsługuje **14 języków**. Wybierz preferowany język w **Custom Options → Language**. ### Obsługiwane języki | Język | Kod | Język | Kod | -|---------|------|----------|------| +|----------|------|----------|------| | 🇺🇸 Angielski | `en` | 🇪🇸 Hiszpański | `es` | -| 🇸🇦 arabski | `ar` | 🇫🇷 Francuski | `fr` | -| 🇩🇪 niemiecki | `de` | 🇮🇳 hindi | `hi` | -| 🇮🇩 Indonezyjski | `id` | 🇮🇹 włoski | `it` | -| 🇯🇵 Japoński | `ja` | 🇵🇱polski | `pl` | -| 🇧🇷 portugalski | `pt` | 🇷🇺 Rosyjski | `ru` | -| 🇹🇷 Turecki | `tr` | 🇨🇳 chiński | `zh` | +| 🇸🇦 Arabski | `ar` | 🇫🇷 Francuski | `fr` | +| 🇩🇪 Niemiecki | `de` | 🇮🇳 Hindi | `hi` | +| 🇮🇩 Indonezyjski | `id` | 🇮🇹 Włoski | `it` | +| 🇯🇵 Japoński | `ja` | 🇵🇱 Polski | `pl` | +| 🇧🇷 Portugalski | `pt` | 🇷🇺 Rosyjski | `ru` | +| 🇹🇷 Turecki | `tr` | 🇨🇳 Chiński | `zh` | ### Tłumaczenia README | Język | Plik | Język | Plik | -|---------|------|----------|------| -| 🇺🇸 Angielski | [README.md](../README.md) | 🇪🇸 Hiszpański | [README.es.md](README.es.md) -| 🇸🇦 arabski | [README.ar.md](README.ar.md) | 🇫🇷 Francuski | [README.fr.md](README.fr.md) | -| 🇩🇪 niemiecki | [README.de.md](README.de.md) | 🇮🇳 hindi | [README.hi.md](README.hi.md) | -| 🇮🇩 Indonezyjski | [README.id.md](README.id.md) | 🇮🇹 włoski | [README.it.md](README.it.md) | -| 🇯🇵 Japoński | [README.ja.md](README.ja.md) | 🇵🇱polski | [README.pl.md](README.pl.md) | -| 🇧🇷 portugalski | [README.pt.md](README.pt.md) | 🇷🇺 Rosyjski | [README.ru.md](README.ru.md) | -| 🇹🇷 Turecki | [README.tr.md](README.tr.md) | 🇨🇳 chiński | [README.zh.md](README.zh.md) | +|----------|------|----------|------| +| 🇺🇸 Angielski | [README.md](README.md) | 🇪🇸 Hiszpański | [README.es.md](README.es.md) | +| 🇸🇦 Arabski | [README.ar.md](README.ar.md) | 🇫🇷 Francuski | [README.fr.md](README.fr.md) | +| 🇩🇪 Niemiecki | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonezyjski | [README.id.md](README.id.md) | 🇮🇹 Włoski | [README.it.md](README.it.md) | +| 🇯🇵 Japoński | [README.ja.md](README.ja.md) | 🇵🇱 Polski | [README.pl.md](README.pl.md) | +| 🇧🇷 Portugalski | [README.pt.md](README.pt.md) | 🇷🇺 Rosyjski | [README.ru.md](README.ru.md) | +| 🇹🇷 Turecki | [README.tr.md](README.tr.md) | 🇨🇳 Chiński | [README.zh.md](README.zh.md) | -> 💡 **Chcesz dodać tłumaczenie?** Sprawdź sekcję [Contributing](#contributing), aby pomóc nam dodać więcej języków! +> 💡 **Chcesz pomóc w tłumaczeniu?** Sprawdź sekcję [Współpraca](#współpraca), aby pomóc nam dodać więcej języków!
    - + ## 🛠️ Rozwiązywanie problemów
    -Kliknij, aby wyświetlić typowe problemy i rozwiązania +Kliknij, aby zobaczyć typowe problemy i rozwiązania -- **Tabela formatów nie wyświetla się:** Aktualizuj yt-dlp do najnowszej wersji i co wieczór przełączaj się na yt-dlp. -- **Pobieranie nie powiodło się:** Sprawdź swoje połączenie internetowe i upewnij się, że plik wideo jest dostępny. -- **Specyficzne błędy pobierania:** - - **Prywatne filmy:** Użyj uwierzytelniania plików cookie, aby uzyskać dostęp do prywatnych treści. - - **Treści z ograniczeniami wiekowymi:** Zaloguj się do konta YouTube, aby oglądać filmy z ograniczeniami wiekowymi. - - **Filmy z blokadą geograficzną:** rozważ użycie VPN w celu ominięcia ograniczeń regionalnych. - - **Usunięte/usunięte filmy:** Film nie jest już dostępny w serwisie YouTube. - - **Transmisje na żywo:** Transmisji na żywo nie można pobrać; poczekaj, aż strumień się zakończy. - - **Błędy sieciowe:** Sprawdź swoje połączenie internetowe i spróbuj ponownie. - - **Nieprawidłowe adresy URL:** Upewnij się, że adres URL jest poprawny i pochodzi z obsługiwanej platformy. - – **Treści premium:** wymaga członkostwa YouTube Premium. - - **Bloki dotyczące praw autorskich:** Treść jest blokowana ze względu na ograniczenia praw autorskich. -- **Oddziel pliki wideo i audio po pobraniu:** Dzieje się tak, gdy brakuje FFmpeg lub nie został on wykryty. YTSage wymaga FFmpeg do łączenia wysokiej jakości strumieni wideo i audio. - - **Rozwiązanie:** Upewnij się, że FFmpeg jest zainstalowany i dostępny w PATH twojego systemu. Dla użytkowników systemu Windows najłatwiejszą opcją jest pobranie pliku `YTSage-v-ffmpeg.exe`, który jest dostarczany w pakiecie z FFmpeg. +- **Tabela formatów nie pojawia się:** Zaktualizuj yt-dlp do najnowszej wersji i spróbuj przełączyć się na kanał yt-dlp Nightly. +- **Pobieranie nie powiodło się:** Sprawdź połączenie z internetem i upewnij się, że wideo jest dostępne. +- **Konkretne błędy pobierania:** + - **Prywatne wideo:** Użyj uwierzytelniania przez ciasteczka, aby uzyskać dostęp do prywatnych treści. + - **Treści z ograniczeniem wiekowym:** Zaloguj się na swoje konto YouTube, aby wyświetlić filmy z ograniczeniem wiekowym. + - **Wideo z blokadą regionalną:** Rozważ użycie VPN, aby obejść ograniczenia regionalne. + - **Usunięte wideo:** Film nie jest już dostępny na YouTube. + - **Transmisje na żywo:** Transmisji na żywo nie można pobierać w trakcie ich trwania; poczekaj, aż transmisja się zakończy. + - **Błędy sieciowe:** Sprawdź połączenie z internetem i spróbuj ponownie. + - **Nieprawidłowy URL:** Upewnij się, że adres URL jest poprawny i pochodzi z obsługiwanej platformy. + - **Treść Premium:** Wymaga subskrypcji YouTube Premium. + - **Blokada praw autorskich:** Treść jest zablokowana z powodu ograniczeń praw autorskich. +- **Pliki wideo i audio są oddzielne po pobraniu:** Dzieje się tak, gdy brakuje FFmpeg lub nie został on wykryty. YTSage wymaga FFmpeg do scalania strumieni wideo i audio wysokiej jakości. + - **Rozwiązanie:** Upewnij się, że FFmpeg jest zainstalowany i dostępny w zmiennej PATH systemu. Dla użytkowników Windows najprostszą opcją jest pobranie pliku `YTSage-v-ffmpeg.exe`, który zawiera FFmpeg. --- -#### 🛡️ Ostrzeżenie o programie Windows Defender/antywirusie +#### 🛡️ Ostrzeżenie Windows Defender / Antywirus -Niektóre programy antywirusowe mogą oznaczać pliki `.exe` jako fałszywe alarmy. Jest to **znane ograniczenie** aplikacji w pakietach. +Niektóre programy antywirusowe mogą oznaczać pliki `.exe` jako fałszywe alarmy (false positive). Jest to **znane ograniczenie** pakowanych aplikacji. **Dlaczego tak się dzieje:** -- Heurystyka antywirusowa może błędnie zidentyfikować spakowane pliki wykonywalne jako podejrzane +- Heurystyka antywirusa może błędnie zidentyfikować spakowane pliki wykonywalne jako podejrzane. **Bezpieczne alternatywy:** -- ✅ **Użyj instalacji pip:** `pip install ytsage` (zalecane) -- ✅ **Kompiluj ze źródła**: postępując zgodnie z tym [guide](../.github/CI_CD_README.md) -- ✅ **Dodaj aplikację do białej listy** w swoim oprogramowaniu antywirusowym +- ✅ **Użyj instalacji przez pip:** `pip install ytsage` (zalecane) +- ✅ **Zbuduj ze źródeł**: Postępując zgodnie z tym [przewodnikiem](.github/CI_CD_README.md) +- ✅ **Dodaj aplikację do wyjątków** w swoim programie antywirusowym. -#### 🍎 macOS: „Aplikacja jest uszkodzona i nie można jej otworzyć” +#### 🍎 macOS: "Aplikacja jest uszkodzona i nie można jej otworzyć" Jeśli widzisz ten błąd w systemie macOS Sonoma lub nowszym, musisz usunąć atrybut kwarantanny. -1. **Otwórz Terminal** (możesz go znaleźć za pomocą Spotlight). -2. **Wpisz następujące polecenie**, ale **nie** jeszcze naciskaj Enter. Pamiętaj o dodaniu spacji na końcu: +1. **Otwórz Terminal** (możesz go znaleźć przez Spotlight). +2. **Wpisz następującą komendę**, ale jeszcze **NIE** naciskaj Enter. Pamiętaj o spacjach na końcu: ```bash xattr -d com.apple.quarantine ``` -3. **Przeciągnij plik `YTSage.app`** z okna Findera i upuść go bezpośrednio w oknie Terminala. Spowoduje to automatyczne wklejenie prawidłowej ścieżki pliku. -4. **Naciśnij Enter**, aby uruchomić polecenie. -5. **Spróbuj ponownie otworzyć YTSage.app.** Powinna teraz uruchomić się poprawnie. +3. **Przeciągnij plik `YTSage.app` z okna Findera** i upuść go bezpośrednio w oknie Terminala. To automatycznie wklei poprawną ścieżkę do pliku. +4. **Naciśnij Enter**, aby uruchomić komendę. +5. **Spróbuj ponownie otworzyć YTSage.app.** Powinien uruchomić się poprawnie. --- -#### **Lokacje konfiguracji (zaawansowane)** +#### **Lokalizacja konfiguracji (zaawansowane)** - **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage` @@ -432,102 +437,102 @@ Jeśli widzisz ten błąd w systemie macOS Sonoma lub nowszym, musisz usunąć a ## 💖 Sponsor -Jeśli YTSage pozwoli Ci zaoszczędzić czas, rozważ sponsorowanie projektu. Sponsoring pomaga pokryć czas opracowywania, testowania na różnych platformach i przyszłych ulepszeń. +Jeśli YTSage oszczędza Twój czas, rozważ wsparcie projektu. Sponsoring pomaga pokryć czas programistyczny, testy na wszystkich platformach i przyszłe ulepszenia. -- Sponsorzy GitHuba: https://github.com/sponsors/oop7 -- Link sponsora jest również dostępny bezpośrednio w aplikacji, w oknie dialogowym Informacje. +- GitHub Sponsors: https://github.com/sponsors/oop7 +- Link do wsparcia jest dostępny bezpośrednio przez okno "O programie" w aplikacji. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) - -## 👥 Wkład + +## 👥 Współpraca -Zapraszamy do wpłat! Oto jak możesz pomóc: +Zapraszamy do współpracy! Oto jak możesz pomóc: -1. 🍴Rozwidl repozytorium -2. 🌿 Utwórz gałąź funkcji: +1. 🍴 Skonfiguruj fork repozytorium +2. 🌿 Utwórz gałąź (branch) dla swojej funkcji: ```bash - git checkout -b feature/AmazingFeature + git checkout -b feature/NiesamowitaFunkcja ``` -3. 💾 Zatwierdź zmiany: +3. 💾 Zatwierdź zmiany (commit): ```bash - git commit -m 'Add some AmazingFeature' + git commit -m 'Dodaj NiesamowitaFunkcja' ``` -4. 📤 Pchnij do oddziału: +4. 📤 Wyślij zmiany do gałęzi (push): ```bash - git push origin feature/AmazingFeature + git push origin feature/NiesamowitaFunkcja ``` -5. 🔄 Otwórz żądanie ściągnięcia +5. 🔄 Otwórz Pull Request -### 🌍 Tłumaczenia wspierające +### 🌍 Pomóż w tłumaczeniach -- Zaktualizuj pasujący zlokalizowany plik README (na przykład `README.es.md`) -- Synchronizuj ciągi aplikacji, edytując `ytsage/languages/.json` -- Jeśli brakuje Twojego języka, zacznij od `README.md` i utwórz `README..md` +- Zaktualizuj odpowiedni lokalny plik README (np. `readme-translations/README.pl.md`) +- Dbaj o synchronizację komunikatów aplikacji, edytując `ytsage/languages/.json` +- Jeśli brakuje Twojego języka, zacznij od `README.md` i stwórz `README..md`
    📂 Struktura projektu -## YTSage – Struktura projektu +## YTSage - Struktura projektu -Ten dokument opisuje zorganizowaną strukturę folderów YTSage. +Ten dokument opisuje zorganizowaną strukturę folderów projektu YTSage. ### 📁 Struktura projektu ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # Konfiguracja GitHub +│ ├── 📁 ISSUE_TEMPLATE/ # Szablony zgłoszeń +│ │ └── 🐛-bug-report.md # Szablon zgłoszenia błędu +│ ├─── 📁 workflows/ # Procesy GitHub Actions +│ │ ├── build-linux.yml # Proces budowania dla Linux +│ │ ├── build-macos.yml # Proces budowania dla macOS +│ │ │── build-windows.yml # Proces budowania dla Windows +| | └── release-all.yml # Proces głównego wydania +│ └── 📄 CI_CD_README.md # Dokumentacja CI/CD +├── 📁 branding/ # Materiały graficzne (zrzuty ekranu, SVG) +│ ├── 📁 icons/ # Ikony aplikacji +│ ├── 📁 screenshots/ # Zrzuty ekranu do dokumentacji +│ └── 📁 svg/ # Zasoby SVG +├── 📄 LICENSE # Plik licencji +├── 📄 pyproject.toml # Metadane projektu i zależności +├── 📄 README.md # Dokumentacja projektu +├── 📄 requirements.txt # Zależności Python (dev) +└── 📁 ytsage/ # Pakiet kodu źródłowego + ├── 📁 assets/ # Zasoby czasu wykonywania + │ ├── 📁 Icon/ # Ikony aplikacji + │ └── 📁 sound/ # Pliki dźwiękowe + ├── 📁 languages/ # Pliki lokalizacji + │ ├── 📄 ar.json # Tłumaczenie arabskie + │ ├── 📄 de.json # Tłumaczenie niemieckie + │ ├── 📄 en.json # Tłumaczenie angielskie + │ └── ... # Inne języki + ├── 📁 core/ # Główna logika biznesowa + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # Integracja Deno + │ ├── 📄 ytsage_downloader.py # Funkcjonalność pobierania + │ ├── 📄 ytsage_ffmpeg.py # Integracja FFmpeg + │ ├── 📄 ytsage_utils.py # Funkcje pomocnicze + │ └── 📄 ytsage_yt_dlp.py # Integrasi yt-dlp + ├── 📁 gui/ # Komponenty interfejsu użytkownika + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # Główne okno aplikacji + │ └── 📁 ytsage_gui_dialogs/ # Klasy okien dialogowych + ├── 📁 utils/ # Moduły pomocnicze + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # Zarządzanie konfiguracją + │ └── 📄 ytsage_logger.py # Narzędzia logowania + ├── 📄 __init__.py # Punkt wejścia pakietu + └── 📄 main.py # Główny skrypt wykonawczy ```
    -## ⭐️ Historia gwiazd +## ⭐️ Historia gwiazdek
    -## Historia gwiazd +## Star History @@ -539,9 +544,9 @@ YTSage/
    -## 📜Licencja +## 📜 Licencja -Ten projekt jest objęty licencją MIT — szczegółowe informacje można znaleźć w pliku [LICENSE](../LICENSE). +Ten projekt jest udostępniany na licencji MIT - zobacz plik [LICENSE](LICENSE), aby poznać szczegóły. ## 🙏 Podziękowania @@ -550,54 +555,55 @@ Ten projekt jest objęty licencją MIT — szczegółowe informacje można znale
    -

    Serdecznie dziękujemy wszystkim, którzy przyczynili się do tego projektu, otwierając problem, aby zasugerować ulepszenie lub zgłosić błąd.

    +

    Wielkie podziękowania dla wszystkich, którzy przyczynili się do rozwoju projektu poprzez zgłaszanie sugestii i błędów.

    - + - + - + - + - + - - + + - + + - - + + - + - + - + - +
    Główne komponenty
    yt-dlpPobierz silnikSilnik pobierania
    FFmpegPrzetwarzanie multimediówPrzetwarzanie mediów
    DenoŚrodowisko wykonawcze do integracji z yt-dlpŚrodowisko dla integracji yt-dlp
    Biblioteki i struktury
    Biblioteki i frameworki
    PySide6Struktura GUIFramework GUI
    PoduszkaPrzetwarzanie obrazuPillowPrzetwarzanie obrazów
    żądania
    requests Żądania HTTP
    opakowanieObsługa wersji i pakietówpackagingZarządzanie wersjami i pakowanie
    przecenamarkdown Renderowanie Markdown
    loguru Logowanie
    Zasoby i współtwórcy
    Zasoby i współpracownicy
    Nowe powiadomienie 09 od UniversfieldNew Notification 09 by Universfield Dźwięk powiadomienia
    viru185Współtwórca koduWspółpracownik kodu
    @@ -607,12 +613,12 @@ Ten projekt jest objęty licencją MIT — szczegółowe informacje można znale ## ⚠️ Zastrzeżenie -To narzędzie jest przeznaczone wyłącznie do użytku osobistego. Prosimy o przestrzeganie warunków korzystania z usługi YouTube i praw twórców treści. +To narzędzie służy wyłącznie do użytku osobistego. Prosimy o przestrzeganie Warunków świadczenia usług YouTube i praw twórców treści. ---
    -Wykonane z ❤️ przez [oop7](https://github.com/oop7) +Stworzone z ❤️ przez [oop7](https://github.com/oop7)
    diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md index 79b2f01..c12531f 100644 --- a/readme-translations/README.pt.md +++ b/readme-translations/README.pt.md @@ -12,81 +12,82 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**Um downloader moderno do YouTube com uma interface PySide6 limpa.** -Baixe vídeos em qualquer qualidade, extraia áudio, busque legendas e muito mais. +**Um downloader de YouTube moderno com uma interface PySide6 limpa.** +Baixe vídeos em qualquer qualidade, extraia áudio, obtenha legendas e muito mais. -### 🌍 LEIA-ME Idiomas +### 🌍 Idiomas do README Inglês: [EN](../README.md) -| Nome: [AR](README.ar.md) +| Árabe: [AR](README.ar.md) | Alemão: [DE](README.de.md) | Espanhol: [ES](README.es.md) | Francês: [FR](README.fr.md) -| Nome: [HI](README.hi.md) -| Bahasa Indonésia: [ID](README.id.md) +| Hindi: [HI](README.hi.md) +| Indonésio: [ID](README.id.md) | Italiano: [IT](README.it.md) -| Nome do usuário: [JA](README.ja.md) -| Polaco: [PL](README.pl.md) +| Japonês: [JA](README.ja.md) +| Polonês: [PL](README.pl.md) | Português: [PT](README.pt.md) | Russo: [RU](README.ru.md) | Turco: [TR](README.tr.md) -| 中文: [ZH](README.zh.md) +| Chinês: [ZH](README.zh.md)

    - Instalação • - Recursos • - Uso • - Capturas de tela • - Solução de problemas • - Patrocinador • - Contribuindo + Instalação • + Funcionalidades • + Uso • + Capturas de Tela • + Solução de Problemas • + Patrocinar • + Contribuindo

    --- - + ## ❓ Por que YTSage? -YTSage foi projetado para usuários que desejam um **baixador de YouTube simples, mas poderoso**. Ao contrário de outras ferramentas, oferece: +O YTSage foi projetado para usuários que desejam um **downloader de YouTube simples, mas poderoso**. Ao contrário de outras ferramentas, ele oferece: -- Uma interface PySide6 limpa e moderna -- Downloads com um clique para vídeo, áudio e legendas +- Uma interface PySide6 moderna e limpa +- Download de vídeo, áudio e legendas com um clique - Recursos avançados como SponsorBlock, mesclagem de legendas e seleção de playlist -- Modo genérico opcional para sites compatíveis com yt-dlp além do YouTube -- Suporte multiplataforma e fácil instalação +- Modo Genérico opcional para sites além do YouTube suportados pelo yt-dlp +- Suporte multiplataforma e instalação fácil - -## ✨ Recursos + +## ✨ Funcionalidades
    -| Recursos principais | Recursos Avançados | Recursos extras | -|-----------------------------------|---------------------------------------------------|-----------------------------------| -| 🎥 Tabela de Formatos | 🚫 Integração SponsorBlock | 🎞️ Tela FPS/HDR | -| 🎵 Extração de Áudio | 📝 Seleção e mesclagem de múltiplas legendas | 🔄 Atualização automática do yt-dlp | -| ✨ UI simples | 💾 Salvar descrição e miniatura | 🛠️ Detecção de FFmpeg/yt-dlp/Deno | -| 📋 Suporte e seletor de lista de reprodução | 🚀 Limitador de velocidade | ⚙️ Comandos personalizados | -| 📑 Incorporar capítulos | ✂️ Cortar seções de vídeo | 🍪 Login com Cookies | -| 📜 Histórico de downloads | 🔄 Seleção de canal de lançamento | 🌐 Suporte a proxy | -| 🎚️ Conversão de formato de áudio | 🎬 Configurações de formato de vídeo | 🆙 Guia Atualizador integrado | +| Recursos Básicos | Recursos Avançados | Recursos Extras | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Tabela de Formatos | 🚫 Integração SponsorBlock | 🎞️ Exibição de FPS/HDR | +| 🎵 Extração de Áudio | 📝 Seleção e Mesclagem de Legendas | 🔄 Atualização Automática do yt-dlp | +| ✨ Interface de Usuário Simples | 💾 Salvar Descrição e Miniatura | 🛠️ Detecção de FFmpeg/yt-dlp/Deno | +| 📋 Suporte e Seletor de Playlist | 🚀 Limitador de Velocidade | ⚙️ Comandos Personalizados | +| 📑 Integração de Capítulos | ✂️ Cortar Seções de Vídeo | 🍪 Login por Cookies | +| 📜 Histórico de Downloads | 🔄 Escolha do Canal de Lançamento | 🌐 Suporte a Proxy | +| 🎚️ Conversão de Formato de Áudio | 🎬 Configurações de Formato de Vídeo | 🆙 Aba de Atualização Integrada | | 🌍 Modo Genérico | 🔊 Normalização de Áudio (EBU R128) | 🌍 Localização em 14 idiomas | +| 💾 Exportação de Playlist | ⚙️ Qualidade e Legendas Padrão | |
    - + ## 🚀 Instalação -### ⚡ Instalação rápida (recomendado) +### ⚡ Instalação Rápida (Recomendada) -Instale YTSage do PyPI: +Instale o YTSage via PyPI: ```bash pip install ytsage ```
    -🔄 Atualizar uma instalação existente +🔄 Atualizar Instalação Existente ```bash pip install --upgrade ytsage @@ -94,49 +95,49 @@ pip install --upgrade ytsage
    -Em seguida, inicie o aplicativo: +Em seguida, execute o aplicativo: ```bash ytsage ``` -### 📦 Executáveis pré-construídos +### 📦 Executáveis Pré-compilados (Executable) -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 Baixar Lançamento Mais Recente](https://github.com/oop7/YTSage/releases/latest) -#### 🪟 Janelas +#### 🪟 Windows | Formato | Descrição | -|--------|------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Instalador padrão | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Instalador Padrão | | ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Com FFmpeg incluído | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versão portátil, sem necessidade de instalação | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portátil com FFmpeg, compactado | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Versão Portátil, sem necessidade de instalação | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portátil com FFmpeg, compactado (ZIP) |
    -🛠️ Etapas de instalação +🛠️ Passos para Instalação -1. **EXE Installer (`.exe`)**: Clique duas vezes no arquivo e siga o assistente de configuração. -2. **Versão portátil (`.zip`)**: Extraia o arquivo para o local desejado e execute `ytsage.exe`. -3. **FFmpeg Bundled**: Escolha as versões empacotadas do FFmpeg se você não tiver o FFmpeg instalado em seu sistema. +1. **Instalador EXE (`.exe`)**: Clique duas vezes no arquivo e siga o assistente de configuração. +2. **Versão Portátil (`.zip`)**: Extraia o arquivo para o local desejado e execute `ytsage.exe`. +3. **FFmpeg Integrado**: Se você não possui o FFmpeg instalado no sistema, escolha as versões com FFmpeg integrado.
    -#### 🐧Linux +#### 🐧 Linux | Formato | Descrição | -|--------|------------| +|--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pacote Debian | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portátil | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, Portátil | | ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Pacote RPM | | ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Pacote Flatpak |
    -🛠️ Etapas de instalação +🛠️ Passos para Instalação - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Se necessário para corrigir dependências ausentes ``` - **RPM (`.rpm`)**: ```bash @@ -156,34 +157,34 @@ ytsage #### 🍎 macOS | Formato | Descrição | -|--------|------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplicativo compactado para Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalador de imagem de disco para Apple Silicon | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Aplicativo ZIP para Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Instalador Disk Image para Apple Silicon |
    -🛠️ Etapas de instalação +🛠️ Passos para Instalação -- **Instalador DMG (`.dmg`)**: Clique duas vezes para montar e arraste `YTSage.app` para a pasta Aplicativos. -- **Arquivo de aplicativos (`.zip`)**: Extraia o zip e mova `YTSage.app` para a pasta Aplicativos. +- **Instalador DMG (`.dmg`)**: Clique duas vezes para montar e arraste `YTSage.app` para a sua pasta Aplicativos. +- **Arquivo do Aplicativo (`.zip`)**: Extraia o ZIP e mova `YTSage.app` para a sua pasta Aplicativos. -*Observação: se você encontrar um erro "O aplicativo está danificado", consulte [macOS troubleshooting section](#troubleshooting) abaixo.* +*Nota: Se você receber o erro "App está danificado", veja a seção de Problemos no macOS abaixo.*
    ---
    -💻 Instalação manual da fonte +💻 Instalação Manual a partir do Código-Fonte -### 1. Clone o repositório +### 1. Clonar o Repositório ```bash git clone https://github.com/oop7/YTSage.git cd YTSage ``` -### 2. Instalar dependências +### 2. Instalar Dependências -#### ⚡ Com UV +#### ⚡ Com uv ```bash uv pip install . @@ -195,7 +196,7 @@ uv pip install . pip install . ``` -### 3. Execute o aplicativo +### 3. Executar o Aplicativo ```bash python -m ytsage.main @@ -203,147 +204,151 @@ python -m ytsage.main
    - -## 📸 Capturas de tela + +## 📸 Capturas de Tela
    - - + + - - + + - - + + - - + +
    Download SettingsPlaylist DownloadConfigurações de DownloadDownload de Playlist
    Configurações de downloadBaixar lista de reproduçãoConfigurações de DownloadDownload de Playlist
    Audio Format Selection with Save ThumbnailCustom OptionsSeleção de Formato de ÁudioOpções Personalizadas
    Formato de áudioOpções personalizadasFormato de ÁudioOpções Personalizadas
    -
    + + ## 📖 Uso
    🎯 Uso Básico 1. **Inicie o YTSage** -2. **Colar URL do YouTube** (ou usar o botão "Colar URL") -3. **Clique em "Analisar"** -4. **Selecione Formato:** - - `Video` para downloads de vídeos +2. **Cole uma URL do YouTube** (ou use o botão "Paste URL") +3. **Clique em "Analyze"** +4. **Escolha o Formato:** + - `Video` para download de vídeo - `Audio Only` para extração de áudio -5. **Escolha Opções:** - - Ative legendas e selecione o idioma - - Ativar mesclagem de legendas +5. **Selecione Opções:** + - Habilite legendas e escolha o idioma + - Habilite a mesclagem de legendas - Salvar miniatura - - Remover segmentos de patrocinadores + - Remover seções de patrocinadores - Salvar descrição - Incorporar capítulos -6. **Selecione Diretório de Saída** -7. **Clique em "Baixar"** +6. **Escolha o Diretório de Saída** +7. **Clique em "Download"** > 💡 O diretório de download padrão é a pasta "Downloads" do usuário.
    -📋 Baixar lista de reprodução +📋 Download de Playlist -1. **Colar URL da lista de reprodução** -2. **Clique em "Analisar"** -3. **Selecione vídeos no seletor de playlist (opcional, o padrão é todos)** +1. **Cole a URL da Playlist** +2. **Clique em "Analyze"** +3. **Selecione vídeos do seletor (opcional, padrão todos)** 4. **Escolha o formato/qualidade desejado** -5. **Clique em "Baixar"** +5. **Clique em "Download"** -> 💡 O aplicativo gerencia automaticamente a fila de download +> 💡 O aplicativo gerencia automaticamente a fila de download, e você pode exportar as entradas da playlist como arquivos `.txt`, `.csv`, `.m3u` ou `.json`.
    -🌍 Modo genérico para sites que não são do YouTube +🌍 Modo Genérico para Sites além do YouTube -Use o modo genérico quando quiser que o YTSage aceite URLs de sites suportados pelo yt-dlp, como Dailymotion, CBC Gem, TikTok e outros. +Use o Modo Genérico quando quiser que o YTSage aceite URLs de sites suportados pelo yt-dlp, como Dailymotion, CBC Gem, TikTok e outros. Como usar: 1. Abra `Download Settings`. -2. Ative `Generic Mode`. -3. Cole um URL de vídeo ou lista de reprodução compatível que não seja do YouTube. +2. Habilite `Generic Mode`. +3. Cole uma URL de vídeo ou playlist suportada que não seja do YouTube. 4. Clique em `Analyze`. 5. Escolha um formato e baixe normalmente. Notas: -- O Modo Genérico altera apenas a validação de URL dentro do YTSage. O site de destino ainda deve ser compatível com a versão yt-dlp instalada. -- Alguns sites exigem cookies, uma sessão de login, um proxy ou argumentos yt-dlp extras, dependendo do extrator. -- Se um site falhar, atualize o yt-dlp primeiro na guia do atualizador integrado antes de relatar o problema. +- O Modo Genérico apenas altera a validação da URL dentro do YTSage. O site de destino ainda deve ser suportado pela sua versão instalada do yt-dlp. +- Alguns sites exigem cookies, login, proxy ou argumentos adicionais do yt-dlp, dependendo do extrator. +- Se um site falhar, atualize o yt-dlp na aba de atualização integrada antes de relatar o problema.
    -🧰 Opções de mídia e download +🧰 Opções de Mídia e Download -- **Opções de legenda:** Filtre idiomas e incorpore legendas no arquivo de vídeo -- **Mesclagem de legendas:** Mesclar legendas no arquivo de vídeo para legendas codificadas -- **Salvar descrição:** Salve a descrição do vídeo como um arquivo de texto -- **Salvar miniatura:** Salve a miniatura do vídeo como um arquivo de imagem -- **Incorporar capítulos:** Incorpore marcadores de capítulo como metadados para players de vídeo compatíveis -- **Remover segmentos de patrocinadores:** Remova segmentos de patrocinadores do vídeo usando SponsorBlock -- **Cortar vídeo:** baixe apenas partes específicas de um vídeo especificando intervalos de tempo no formato `HH:MM:SS` +- **Opções de Legendas:** Filtre idiomas e incorpore legendas no arquivo de vídeo. +- **Mesclagem de Legendas:** Mescla legendas no arquivo de vídeo para legendas fixas (hardcoded). +- **Salvar Descrição:** Salva a descrição do vídeo como um arquivo de texto. +- **Salvar Miniatura:** Salva a miniatura do vídeo como um arquivo de imagem. +- **Incorporar Capítulos:** Inclui marcadores de capítulo como metadados para players de vídeo compatíveis. +- **Remover Seções de Patrocinadores:** Usa o SponsorBlock para remover segmentos patrocinados do vídeo. +- **Cortar Vídeo:** Baixe apenas partes específicas do vídeo, especificando o intervalo de tempo no formato `HH:MM:SS`.
    -⚙️ Configurações de saída e arquivo +⚙️ Configurações de Saída e Arquivos + +- **Limitador de Velocidade:** Limite a velocidade de download, por exemplo, `500K` para 500 KB/s. +- **Salvar Caminho de Download:** Salva o caminho de download padrão para downloads futuros. Disponível em **Download Settings → Download Path**. +- **Resolução de Vídeo Padrão:** Defina sua resolução de vídeo preferida para seleção automática (ex: 1080p, 720p). Disponível em **Download Settings → Default Video Resolution**. +- **Idiomas de Legendas Padrão:** Defina idiomas de legendas padrão para seleção automática (separados por vírgula, ex: `pt,en`). Disponível em **Download Settings → Default Subtitle Languages**. +- **Formato de Nome de Arquivo:** Personalize o formato do nome do arquivo de saída usando variáveis como `%(title)s`, `%(uploader)s`, `%(playlist_index)s` e `%(resolution)s`. Disponível em **Download Settings → Filename Format**. +- **Forçar Formato de Saída:** Força o download do vídeo em um formato de contêiner específico, como `mp4`, `webm` ou `mkv`. Disponível em **Download Settings → Output Format Settings**. +- **Conversão de Formato de Áudio:** Converta downloads de apenas áudio para formatos preferidos como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, ou `Best`. Disponível em **Download Settings → Audio Format Settings**. +- **Normalização de Áudio:** Padroniza o volume para downloads de apenas áudio usando EBU R128. +- **Conexões Simultâneas:** Aumente significativamente a velocidade de download baixando arquivos em várias partes ao mesmo tempo. Disponível em **Download Settings → General → Concurrent Connections** (padrão 1, máximo 8-10 recomendado para evitar bloqueios de IP). -- **Limitador de velocidade:** Limite a velocidade de download, por exemplo `500K` para 500 KB/s -- **Salvar caminho de download:** Salve o caminho de download padrão para downloads futuros. Disponível em **Configurações de download → Caminho de download**. -- **Formato do nome do arquivo de saída:** Personalize o formato do nome do arquivo de saída usando variáveis ​​como `%(title)s`, `%(uploader)s` e `%(resolution)s`. Disponível em **Configurações de download → Formato do nome do arquivo**. -- **Forçar formato de saída:** Força downloads de vídeo em um formato de contêiner específico, como `mp4`, `webm` ou `mkv`. Disponível em **Configurações de download → Configurações de formato de saída**. -- **Conversão de formato de áudio:** Converta downloads somente de áudio para formatos preferidos, como `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` ou `Best`. Disponível em **Configurações de download → Configurações de formato de áudio**. -- **Normalização de áudio:** Padronize o volume para downloads somente de áudio usando EBU R128. -- **Conexões Simultâneas:** Aumente a velocidade de download drasticamente baixando arquivos em vários fragmentos simultaneamente. Disponível em **Configurações de Download → Geral → Conexões Simultâneas** (O padrão é 1, o máximo recomendado é 8-10 para evitar bloqueios de IP).\n
    🌐 Acesso e Rede -- **Login com Cookies:** Faça login no YouTube usando cookies para acessar conteúdo privado. - Como usar: - 1. **Recomendado:** Use a opção `Extract cookies from browser` integrada no aplicativo e selecione seu navegador e, opcionalmente, um perfil. - 2. Como alternativa, extraia os cookies manualmente: - uma. Exporte cookies do seu navegador usando uma extensão como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) +- **Login por Cookies:** Faça login no YouTube usando cookies para acessar conteúdo privado. + Uso: + 1. **Recomendado:** Use a opção integrada `Extract cookies from browser` no aplicativo, selecione o navegador e, opcionalmente, o perfil. + 2. Opcionalmente, extraia cookies manualmente: + a. Exporte cookies do seu navegador usando uma extensão como [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) b. Copie os cookies no formato Netscape - c. Crie um arquivo chamado `cookies.txt` e cole os cookies nele + c. Crie um arquivo chamado `cookies.txt` e cole os cookies d. Selecione o arquivo `cookies.txt` no aplicativo -- **Suporte a proxy:** Use um servidor proxy para downloads, por exemplo `http://:` -- **Modo genérico:** permite que o YTSage analise e faça download de sites que não sejam do YouTube suportados pelo yt-dlp. Habilite-o em **Configurações de download → Modo genérico**. +- **Suporte a Proxy:** Use um servidor proxy para downloads, ex: `http://:` +- **Modo Genérico:** Permite que o YTSage analise e baixe de sites além do YouTube suportados pelo yt-dlp. Habilite em **Download Settings → Generic Mode**.
    🛠️ Ferramentas e Manutenção -- **Comandos personalizados:** Acesse recursos avançados do yt-dlp por meio de argumentos de linha de comando -- **Guia Atualizador:** Gerencie ferramentas de atualização integradas em um só lugar nas Opções Personalizadas: - - **Atualizações do yt-dlp:** verifique se há atualizações e alterne entre canais de lançamento estável e noturno - - **Verificador de versão do FFmpeg:** Verifique sua versão do FFmpeg e abra os guias de instalação - - **Atualizações do Deno:** Verifique e atualize o tempo de execução do Deno -- **Detecção de FFmpeg/yt-dlp/Deno:** Detecta automaticamente caminhos e versões de FFmpeg, yt-dlp e Deno na caixa de diálogo Sobre. -- **Histórico de downloads:** Veja downloads anteriores com miniaturas e status no botão **Histórico**. +- **Comandos Personalizados:** Acesse recursos avançados do yt-dlp via argumentos de linha de comando. +- **Aba de Atualização:** Gerencie as ferramentas de atualização integradas em um só lugar nas Opções Personalizadas: + - **Atualização do yt-dlp:** Verifique atualizações e alterne entre os canais de lançamento Stable e Nightly. + - **Verificador de Versão do FFmpeg:** Verifique sua versão do FFmpeg e abra guias de instalação. + - **Atualização do Deno:** Verifique e atualize o runtime do Deno. +- **Detecção de FFmpeg/yt-dlp/Deno:** Detecta automaticamente caminhos e versões de FFmpeg, yt-dlp e Deno no diálogo Sobre. +- **Histórico de Downloads:** Veja downloads anteriores com miniaturas e status no botão **History**.
    🌍 Localização -YTSage oferece suporte a **14 idiomas** para acessibilidade mundial. Selecione seu idioma preferido em **Opções personalizadas → Idioma**. +O YTSage suporta **14 idiomas** para alcance global. Escolha o seu idioma preferido em **Custom Options → Language**. ### Idiomas Suportados @@ -357,11 +362,11 @@ YTSage oferece suporte a **14 idiomas** para acessibilidade mundial. Selecione s | 🇧🇷 Português | `pt` | 🇷🇺 Russo | `ru` | | 🇹🇷 Turco | `tr` | 🇨🇳 Chinês | `zh` | -### LEIA-ME Traduções +### Traduções do README | Idioma | Arquivo | Idioma | Arquivo | |----------|------|----------|------| -| 🇺🇸 Inglês | [README.md](../README.md) | 🇪🇸 Espanhol | [README.es.md](README.es.md) +| 🇺🇸 Inglês | [README.md](README.md) | 🇪🇸 Espanhol | [README.es.md](README.es.md) | | 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francês | [README.fr.md](README.fr.md) | | 🇩🇪 Alemão | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonésio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) | @@ -369,101 +374,101 @@ YTSage oferece suporte a **14 idiomas** para acessibilidade mundial. Selecione s | 🇧🇷 Português | [README.pt.md](README.pt.md) | 🇷🇺 Russo | [README.ru.md](README.ru.md) | | 🇹🇷 Turco | [README.tr.md](README.tr.md) | 🇨🇳 Chinês | [README.zh.md](README.zh.md) | -> 💡 **Quer contribuir com uma tradução?** Confira a seção [Contributing](#contributing) para nos ajudar a adicionar mais idiomas! +> 💡 **Quer ajudar na tradução?** Veja a seção [Contribuindo](#contribuindo) para nos ajudar a adicionar mais idiomas!
    - -## 🛠️ Solução de problemas + +## 🛠️ Solução de Problemas
    -Clique para ver problemas e soluções comuns +Clique para ver problemas comuns e soluções -- **Tabela de formato não exibida:** Atualize yt-dlp para a versão mais recente e mude para yt-dlp todas as noites. -- **Falha no download:** Verifique sua conexão com a Internet e certifique-se de que o vídeo esteja disponível. -- **Erros específicos de download:** - - **Vídeos privados:** Use autenticação de cookies para acessar conteúdo privado. - - **Conteúdo com restrição de idade:** Faça login na conta do YouTube para visualizar vídeos com restrição de idade. - - **Vídeos bloqueados geograficamente:** considere usar uma VPN para contornar restrições regionais. - - **Vídeos removidos/excluídos:** O vídeo não está mais disponível no YouTube. - - **Transmissões ao vivo:** As transmissões ao vivo não podem ser baixadas; espere o fluxo terminar. - - **Erros de rede:** Verifique sua conexão com a Internet e tente novamente. - - **URLs inválidos:** certifique-se de que o URL esteja correto e seja de uma plataforma compatível. - - **Conteúdo Premium:** Requer assinatura do YouTube Premium. - - **Bloqueios de direitos autorais:** O conteúdo está bloqueado devido a restrições de direitos autorais. -- **Arquivos de vídeo e áudio separados após o download:** Isso acontece quando o FFmpeg está ausente ou não é detectado. YTSage requer FFmpeg para mesclar fluxos de vídeo e áudio de alta qualidade. - - **Solução:** Certifique-se de que o FFmpeg esteja instalado e acessível no PATH do seu sistema. Para usuários do Windows, a opção mais fácil é baixar o arquivo `YTSage-v-ffmpeg.exe`, que vem junto com o FFmpeg. +- **Tabela de formatos não aparece:** Atualize o yt-dlp para a versão mais recente e tente alternar para o yt-dlp Nightly. +- **Download falhou:** Verifique sua conexão com a internet e certifique-se de que o vídeo está disponível. +- **Erros de Download Específicos:** + - **Vídeos Privados:** Use a autenticação por cookies para acessar conteúdo privado. + - **Conteúdo com Restrição de Idade:** Faça login na sua conta do YouTube para visualizar vídeos com restrição de idade. + - **Vídeos com Bloqueio Geográfico:** Considere usar uma VPN para contornar restrições regionais. + - **Vídeo Removido:** O vídeo não está mais disponível no YouTube. + - **Live Streams:** Transmissões ao vivo não podem ser baixadas enquanto estão sendo transmitidas; aguarde até que a transmissão termine. + - **Erros de Rede:** Verifique sua conexão com a internet e tente novamente. + - **URL Inválida:** Certifique-se de que a URL está correta e pertence a uma plataforma suportada. + - **Conteúdo Premium:** Requer uma assinatura do YouTube Premium. + - **Bloqueio por Direitos Autorais:** O conteúdo está bloqueado devido a restrições de direitos autorais. +- **Arquivos de vídeo e áudio estão separados após o download:** Isso acontece quando o FFmpeg está ausente ou não foi detectado. O YTSage requer o FFmpeg para mesclar streams de vídeo e áudio de alta qualidade. + - **Solução:** Certifique-se de que o FFmpeg está instalado e acessível no PATH do seu sistema. Para usuários do Windows, a opção mais fácil é baixar o arquivo `YTSage-v-ffmpeg.exe`, que já vem com o FFmpeg. --- #### 🛡️ Aviso do Windows Defender / Antivírus -Alguns softwares antivírus podem sinalizar os arquivos `.exe` como falsos positivos. Esta é uma **limitação conhecida** dos aplicativos empacotados. +Alguns softwares antivírus podem sinalizar arquivos `.exe` como falsos positivos. Esta é uma **limitação conhecida** de aplicativos empacotados. **Por que isso acontece:** -- A heurística antivírus pode identificar erroneamente executáveis compactados como suspeitos +- As heurísticas do antivírus podem identificar incorretamente executáveis empacotados como suspeitos. -**Alternativas seguras:** -- ✅ **Use instalação pip:** `pip install ytsage` (recomendado) -- ✅ **Construir a partir da fonte**: seguindo isto [guide](../.github/CI_CD_README.md) -- ✅ **Coloque o aplicativo na lista de permissões** em seu software antivírus +**Opções Seguras:** +- ✅ **Use a instalação via pip:** `pip install ytsage` (recomendado) +- ✅ **Compile a partir do código-fonte**: Seguindo este [guia](.github/CI_CD_README.md) +- ✅ **Adicione o aplicativo à lista de permissões** do seu software antivírus. -#### 🍎 macOS: "O aplicativo está danificado e não pode ser aberto" -Se você vir esse erro no macOS Sonoma ou mais recente, será necessário remover o atributo de quarentena. +#### 🍎 macOS: "App está danificado e não pode ser aberto" +Se você vir este erro no macOS Sonoma ou mais recente, você precisa remover o atributo de quarentena. -1. **Abra o Terminal** (você pode encontrá-lo usando o Spotlight). -2. **Digite o seguinte comando** mas **não** pressione Enter ainda. Certifique-se de incluir o espaço no final: +1. **Abra o Terminal** (você pode encontrá-lo usando o Spotlight). +2. **Digite o seguinte comando**, mas ainda **NÃO** pressione Enter. Certifique-se de incluir o espaço no final: ```bash xattr -d com.apple.quarantine ``` -3. **Arraste o arquivo `YTSage.app`** da janela do Finder e solte-o diretamente na janela do Terminal. Isso colará automaticamente o caminho correto do arquivo. -4. **Pressione Enter** para executar o comando. -5. **Tente abrir YTSage.app novamente.** Agora ele deve iniciar corretamente. +3. **Arraste o arquivo `YTSage.app` da janela do Finder** e solte-o diretamente na janela do Terminal. Isso colará automaticamente o caminho correto do arquivo. +4. **Pressione Enter** para executar o comando. +5. **Tente abrir o YTSage.app novamente.** Ele agora deve iniciar corretamente. --- -#### **Locais de configuração (avançado)** -- **Janelas:** `%LOCALAPPDATA%\YTSage` +#### **Localização da Configuração (Avançado)** +- **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage`
    - -## 💖 Patrocinador + +## 💖 Patrocinar -Se o YTSage economizar seu tempo, considere patrocinar o projeto. O patrocínio ajuda a cobrir o tempo de desenvolvimento, testes em plataformas e melhorias futuras. +Se o YTSage economiza seu tempo, considere patrocinar o projeto. Os patrocínios ajudam a cobrir o tempo de desenvolvimento, testes em todas as plataformas e melhorias futuras. -- Patrocinadores do GitHub: https://github.com/sponsors/oop7 -- O link do patrocinador também está disponível diretamente no aplicativo, na caixa de diálogo Sobre. +- GitHub Sponsors: https://github.com/sponsors/oop7 +- O link de patrocínio está disponível diretamente através do diálogo Sobre no aplicativo. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) - + ## 👥 Contribuindo -Aceitamos contribuições! Veja como você pode ajudar: +Contribuições são bem-vindas! Veja como você pode ajudar: -1. 🍴 Bifurque o repositório -2. 🌿 Crie seu branch de recursos: +1. 🍴 Faça um Fork do repositório +2. 🌿 Crie sua branch de recurso: ```bash - git checkout -b feature/AmazingFeature + git checkout -b feature/RecursoIncrivel ``` -3. 💾 Confirme suas alterações: +3. 💾 Faça o commit de suas alterações: ```bash - git commit -m 'Add some AmazingFeature' + git commit -m 'Adicionar RecursoIncrivel' ``` -4. 📤 Empurre para o galho: +4. 📤 Faça o push para a branch: ```bash - git push origin feature/AmazingFeature + git push origin feature/RecursoIncrivel ``` -5. 🔄 Abra uma solicitação pull +5. 🔄 Abra um Pull Request -### 🌍 Contribuindo com traduções +### 🌍 Contribua com Traduções -- Atualize o arquivo README localizado correspondente (por exemplo `README.es.md`) -- Mantenha as strings do aplicativo sincronizadas editando `ytsage/languages/.json` -- Se o seu idioma estiver faltando, comece em `README.md` e crie `README..md` +- Atualize o arquivo README localizado relevante (ex: `readme-translations/README.pt.md`) +- Mantenha as strings do aplicativo em sincronia editando `ytsage/languages/.json` +- Se o seu idioma estiver ausente, comece pelo `README.md` e crie `README..md`
    📂 Estrutura do Projeto @@ -476,58 +481,58 @@ Este documento descreve a estrutura de pastas organizada do YTSage. ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # Configurações do GitHub +│ ├── 📁 ISSUE_TEMPLATE/ # Modelos de problemas +│ │ └── 🐛-bug-report.md # Modelo de relatório de erro +│ ├─── 📁 workflows/ # Fluxos de trabalho do GitHub Actions +│ │ ├── build-linux.yml # Fluxo de build para Linux +│ │ ├── build-macos.yml # Fluxo de build para macOS +│ │ │── build-windows.yml # Fluxo de build para Windows +| | └── release-all.yml # Fluxo de lançamento principal +│ └── 📄 CI_CD_README.md # Documentação CI/CD +├── 📁 branding/ # Ativos de marca (capturas de tela, SVGs) +│ ├── 📁 icons/ # Ícones do aplicativo +│ ├── 📁 screenshots/ # Capturas de tela para documentação +│ └── 📁 svg/ # Ativos SVG +├── 📄 LICENSE # Arquivo de licença +├── 📄 pyproject.toml # Metadados do projeto e dependências +├── 📄 README.md # Documentação do projeto +├── 📄 requirements.txt # Dependências Python (dev) +└── 📁 ytsage/ # Pacote de código-fonte + ├── 📁 assets/ # Ativos de tempo de execução + │ ├── 📁 Icon/ # Ícones do aplicativo + │ └── 📁 sound/ # Arquivos de áudio + ├── 📁 languages/ # Arquivos de localização + │ ├── 📄 ar.json # Tradução em árabe + │ ├── 📄 de.json # Tradução em alemão + │ ├── 📄 en.json # Tradução em inglês + │ └── ... # Outros idiomas + ├── 📁 core/ # Lógica de negócios principal + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # Integração Deno + │ ├── 📄 ytsage_downloader.py # Funcionalidade de download + │ ├── 📄 ytsage_ffmpeg.py # Integração FFmpeg + │ ├── 📄 ytsage_utils.py # Funções utilitárias + │ └── 📄 ytsage_yt_dlp.py # Integração yt-dlp + ├── 📁 gui/ # Componentes de interface do usuário + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # Janela principal do aplicativo + │ └── 📁 ytsage_gui_dialogs/ # Classes de diálogo + ├── 📁 utils/ # Módulos utilitários + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # Gerenciamento de configuração + │ └── 📄 ytsage_logger.py # Ferramentas de registro + ├── 📄 __init__.py # Ponto de entrada do pacote + └── 📄 main.py # Script de execução principal ```
    -## ⭐️ História da estrela +## ⭐️ Histórico de Estrelas
    -## História da estrela +## Star History @@ -541,63 +546,64 @@ YTSage/ ## 📜 Licença -Este projeto está licenciado sob a licença MIT - consulte o arquivo [LICENSE](../LICENSE) para obter detalhes. +Este projeto é licenciado sob a Licença MIT - consulte o arquivo [LICENSE](LICENSE) para mais detalhes. ## 🙏 Agradecimentos
    -Mostrar agradecimentos +Mostrar Agradecimentos
    -

    Um sincero obrigado a todos que contribuíram para este projeto abrindo um problema para sugerir uma melhoria ou relatar um bug.

    +

    Muito obrigado a todos que contribuíram para este projeto abrindo problemas para sugerir melhorias ou relatar erros.

    - + - + - + - + - + - + - - - - - + + - - + + - - + + + + + + - + - + - - + + - +
    Componentes principais
    Componentes Principais
    yt-dlpMecanismo de downloadMecanismo de Download
    FFmpegProcessamento de mídiaProcessamento de Mídia
    DenoTempo de execução para integração com yt-dlpRuntime para integração do yt-dlp
    Bibliotecas e Estruturas
    Bibliotecas e Frameworks
    PySide6Estrutura GUIFramework GUI
    TravesseiroProcessamento de imagem
    solicitaçõesSolicitações HTTPPillowProcessamento de Imagens
    embalagemManuseio de versões e pacotesrequestsRequisições HTTP
    remarcaçãoRenderização de reduçãopackagingGerenciamento de Versão e Empacotamento
    markdownRenderização de Markdown
    loguruRegistroRegistro de Logs
    Ativos e Contribuintes
    Ativos e Contribuidores
    Nova Notificação 09 por UniversfieldSom de notificaçãoNew Notification 09 de UniversfieldSom de Notificação
    viru185Colaborador de códigoContribuidor de Código
    @@ -605,14 +611,14 @@ Este projeto está licenciado sob a licença MIT - consulte o arquivo [LICENSE](
    -## ⚠️ Isenção de responsabilidade +## ⚠️ Isenção de Responsabilidade -Esta ferramenta é apenas para uso pessoal. Respeite os termos de serviço do YouTube e os direitos dos criadores de conteúdo. +Esta ferramenta é apenas para uso pessoal. Respeite os Termos de Serviço do YouTube e os direitos dos produtores de conteúdo. ---
    -Feito com ❤️ por [oop7](https://github.com/oop7) +Criado com ❤️ por [oop7](https://github.com/oop7)
    From 39320db3a0fd4e1850cd76941ec7cf97c5875805 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 15:39:06 +0300 Subject: [PATCH 553/568] Polish README text, paths, and formatting Editorial and structural updates to README.md and readme-translations/README.tr.md: fix image paths (use ../branding/ and forward slashes), standardize wording/capitalization (Application, Download, Install, etc.), reformat feature tables and installation sections for consistency, clarify install/update/run commands, improve macOS/Windows troubleshooting and antivirus guidance, adjust screenshot alt texts, and apply numerous minor localization and copy corrections in the Turkish translation. --- README.md | 290 +++++++++--------- readme-translations/README.tr.md | 505 ++++++++++++++++--------------- 2 files changed, 401 insertions(+), 394 deletions(-) diff --git a/README.md b/README.md index 0ceced3..a7264d5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@
    -ytsage-wordmark -YTSage Interface +ytsage-wordmark +YTSage Interface [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) [![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) @@ -12,25 +12,25 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**A modern YouTube downloader with a clean PySide6 interface.** +**Modern YouTube downloader with a clean PySide6 interface.** Download videos in any quality, extract audio, fetch subtitles, and more. ### 🌍 README Languages -English: [EN](README.md) -| العربية: [AR](readme-translations/README.ar.md) -| Deutsch: [DE](readme-translations/README.de.md) -| Español: [ES](readme-translations/README.es.md) -| Français: [FR](readme-translations/README.fr.md) -| हिन्दी: [HI](readme-translations/README.hi.md) -| Bahasa Indonesia: [ID](readme-translations/README.id.md) -| Italiano: [IT](readme-translations/README.it.md) -| 日本語: [JA](readme-translations/README.ja.md) -| Polski: [PL](readme-translations/README.pl.md) -| Português: [PT](readme-translations/README.pt.md) -| Русский: [RU](readme-translations/README.ru.md) -| Türkçe: [TR](readme-translations/README.tr.md) -| 中文: [ZH](readme-translations/README.zh.md) +English: [EN](../README.md) +| Arabic: [AR](README.ar.md) +| German: [DE](README.de.md) +| Spanish: [ES](README.es.md) +| French: [FR](README.fr.md) +| Hindi: [HI](README.hi.md) +| Indonesian: [ID](README.id.md) +| Italian: [IT](README.it.md) +| Japanese: [JA](README.ja.md) +| Polish: [PL](README.pl.md) +| Portuguese: [PT](README.pt.md) +| Russian: [RU](README.ru.md) +| Turkish: [TR](README.tr.md) +| Chinese: [ZH](README.zh.md)

    Installation • @@ -51,10 +51,10 @@ English: [EN](README.md) YTSage is designed for users who want a **simple yet powerful YouTube downloader**. Unlike other tools, it offers: -- A clean, modern PySide6 interface +- A modern and clean PySide6 interface - One-click downloads for video, audio, and subtitles - Advanced features like SponsorBlock, subtitle merging, and playlist selection -- Optional Generic Mode for yt-dlp-supported sites beyond YouTube +- Optional Generic Mode for sites supported by yt-dlp beyond YouTube - Cross-platform support and easy installation @@ -62,17 +62,17 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader

    -| Core Features | Advanced Features | Extra Features | +| Core Features | Advanced Features | Extra Features | |-----------------------------------|-----------------------------------------|------------------------------------| -| 🎥 Format Table | 🚫 SponsorBlock Integration | 🎞️ FPS/HDR Display | -| 🎵 Audio Extraction | 📝 Multi-Subtitle Select & Merge | 🔄 Auto-Update yt-dlp | -| ✨ Simple UI | 💾 Save Description & Thumbnail | 🛠️ FFmpeg/yt-dlp/Deno Detection | -| 📋 Playlist Support & Selector | 🚀 Speed Limiter | ⚙️ Custom Commands | -| 📑 Embed Chapters | ✂️ Trim Video Sections | 🍪 Login with Cookies | -| 📜 Download History | 🔄 Release Channel Selection | 🌐 Proxy Support | -| 🎚️ Audio Format Conversion | 🎬 Video Format Settings | 🆙 Built-in Updater Tab | -| 🌍 Generic Mode | 🔊 Audio Normalization (EBU R128) | 🌍 Localization in 14 Languages | -| 💾 Export Playlists | ⚙️ Default Quality & Subtitles | | +| 🎥 Format Table | 🚫 SponsorBlock Integration | 🎞️ FPS/HDR Display | +| 🎵 Audio Extraction | 📝 Subtitle Selection & Merging | 🔄 Auto Update yt-dlp | +| ✨ Simple UI | 💾 Save Description & Thumbnail | 🛠️ FFmpeg/yt-dlp/Deno Detection | +| 📋 Playlist Support & Selector | 🚀 Speed Limiter | ⚙️ Custom Commands | +| 📑 Chapter Integration | ✂️ Video Section Trimming | 🍪 Login with Cookies | +| 📜 Download History | 🔄 Version Channel Selection | 🌐 Proxy Support | +| 🎚️ Audio Format Conversion | 🎬 Video Format Settings | 🆙 Built-in Updater Tab | +| 🌍 Generic Mode | 🔊 Audio Normalization (EBU R128) | 🌍 Localized in 14 Languages | +| 💾 Playlist Export | ⚙️ Default Quality & Subtitles | |
    @@ -80,14 +80,14 @@ YTSage is designed for users who want a **simple yet powerful YouTube downloader ### ⚡ Quick Install (Recommended) -Install YTSage from PyPI: +Install YTSage via PyPI: ```bash pip install ytsage ```
    -🔄 Update an existing installation +🔄 Update existing installation ```bash pip install --upgrade ytsage @@ -95,7 +95,7 @@ pip install --upgrade ytsage
    -Then launch the app: +Then launch the application: ```bash ytsage @@ -109,26 +109,26 @@ ytsage | Format | Description | |--------|-------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standard installer | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | With FFmpeg bundled | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable version, no installation required | +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standard Installer | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | With FFmpeg Included | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable version, no installation needed | | ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Portable with FFmpeg, zipped |
    🛠️ Installation Steps 1. **EXE Installer (`.exe`)**: Double-click the file and follow the setup wizard. -2. **Portable Version (`.zip`)**: Extract the archive to your desired location and run `ytsage.exe`. -3. **FFmpeg Bundled**: Choose the FFmpeg bundled versions if you don't have FFmpeg installed on your system. +2. **Portable Version (`.zip`)**: Extract the archive to your desired location and launch `ytsage.exe`. +3. **FFmpeg Included**: Choose versions with FFmpeg included if you don't have FFmpeg installed on your system.
    #### 🐧 Linux | Format | Description | |--------|-------------| -| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian package | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, portable | -| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM package | +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian Package | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, Portable | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM Package | | ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak Bundle |
    @@ -137,7 +137,7 @@ ytsage - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Fix missing dependencies if needed ``` - **RPM (`.rpm`)**: ```bash @@ -158,45 +158,45 @@ ytsage | Format | Description | |--------|-------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Zipped application for Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk image installer for Apple Silicon | +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Zipped Application for Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Disk Image Installer for Apple Silicon |
    🛠️ Installation Steps -- **DMG Installer (`.dmg`)**: Double-click to mount, then drag `YTSage.app` into your Applications folder. -- **App Archive (`.zip`)**: Extract the zip and move `YTSage.app` to your Applications folder. +- **DMG Installer (`.dmg`)**: Double-click to mount, then drag `YTSage.app` to your Applications folder. +- **Application Archive (`.zip`)**: Extract the zip and move `YTSage.app` to your Applications folder. -*Note: If you encounter an "App is damaged" error, see the [macOS troubleshooting section](#troubleshooting) below.* +*Note: If you encounter an "Application is damaged" error, see the macOS troubleshooting section below.*
    ---
    -💻 Manual Installation from Source +💻 Manual Source Installation -### 1. Clone the Repository +### 1. Clone the repository ```bash git clone https://github.com/oop7/YTSage.git cd YTSage ``` -### 2. Install Dependencies +### 2. Install dependencies -#### ⚡ With uv +#### ⚡ Using uv ```bash uv pip install . ``` -#### 📦 Or with standard pip +#### 📦 Or using standard pip ```bash pip install . ``` -### 3. Run the Application +### 3. Run the application ```bash python -m ytsage.main @@ -210,16 +210,16 @@ python -m ytsage.main
    - - + + - - + + @@ -241,16 +241,16 @@ python -m ytsage.main - `Video` for video downloads - `Audio Only` for audio extraction 5. **Choose Options:** - - Enable subtitles & select language - - Enable subtitle merge - - Save thumbnail - - Remove sponsor segments - - Save description - - Embed chapters + - Enable Subtitles and select language + - Enable Subtitle Merging + - Save Thumbnail + - Remove Sponsored Segments + - Save Description + - Embed Chapters 6. **Select Output Directory** 7. **Click "Download"** -> 💡 The default download directory is the user's "Downloads" folder. +> 💡 Default download directory is the user's "Downloads" folder. @@ -263,84 +263,84 @@ python -m ytsage.main 4. **Choose desired format/quality** 5. **Click "Download"** -> 💡 The application automatically handles the download queue, and you can export the playlist entries to `.txt`, `.csv`, `.m3u`, or `.json` using the **Save Playlist As** button. +> 💡 The application automatically handles the download queue, and you can export playlist entries as `.txt`, `.csv`, `.m3u`, or `.json`.
    -🌍 Generic Mode for non-YouTube sites +🌍 Generic Mode for Non-YouTube Sites Use Generic Mode when you want YTSage to accept URLs from sites supported by yt-dlp, such as Dailymotion, CBC Gem, TikTok, and others. How to use it: 1. Open `Download Settings`. -2. Enable `Generic Mode`. -3. Paste a supported non-YouTube video or playlist URL. +2. Toggle on `Generic Mode`. +3. Paste a supported video or playlist URL that is not from YouTube. 4. Click `Analyze`. 5. Choose a format and download as usual. Notes: -- Generic Mode only changes URL validation inside YTSage. The target site must still be supported by your installed yt-dlp version. -- Some sites require cookies, a login session, a proxy, or extra yt-dlp arguments depending on the extractor. -- If a site fails, update yt-dlp first from the built-in updater tab before reporting the issue. +- Generic mode only changes the URL validation inside YTSage. The target site must still be supported by your installed version of yt-dlp. +- Some sites require cookies, login sessions, proxy, or extra yt-dlp arguments depending on the extractor. +- If a site fails, update yt-dlp from the built-in updater tab first before reporting an issue.
    -🧰 Media and Download Options +🧰 Media & Download Options -- **Subtitle Options:** Filter languages and embed subtitles into the video file -- **Subtitle Merge:** Merge subtitles into the video file for hardcoded subtitles -- **Save Description:** Save the video description as a text file -- **Save Thumbnail:** Save the video thumbnail as an image file -- **Embed Chapters:** Embed chapter markers as metadata for compatible video players -- **Remove Sponsor Segments:** Remove sponsor segments from the video using SponsorBlock -- **Trim Video:** Download only specific parts of a video by specifying time ranges in `HH:MM:SS` format +- **Subtitle Options:** Filter languages and embed subtitles into the video file. +- **Subtitle Merging:** Merge subtitles into the video file for hardcoded/burned-in subtitles. +- **Save Description:** Save the video description as a text file. +- **Save Thumbnail:** Save the video thumbnail as an image file. +- **Embed Chapters:** Embed chapter markers as metadata for compatible video players. +- **Remove Sponsored Segments:** Remove sponsored segments from the video using SponsorBlock. +- **Trim Video:** Download only specific parts of a video by specifying time ranges in `HH:MM:SS` format.
    -⚙️ Output and File Settings +⚙️ Output & File Settings -- **Speed Limiter:** Limit the download speed, for example `500K` for 500 KB/s -- **Save Download Path:** Save the default download path for future downloads. Available in **Download Settings → Download Path**. -- **Default Video Resolution:** Set your preferred default video resolution for automatic selection (e.g., 1080p, 720p). Available in **Download Settings → Default Video Resolution**. -- **Default Subtitle Languages:** Set default subtitle languages to auto-select automatically (comma-separated, e.g., `en,es`). Available in **Download Settings → Default Subtitle Languages**. +- **Speed Limiter:** Limit download speed, e.g., `500K` for 500 KB/s. +- **Save Download Path:** Saves the default download path for future downloads. Available in **Download Settings → Download Path**. +- **Default Video Resolution:** Set your preferred default video resolution for auto-selection (e.g., 1080p, 720p). Available in **Download Settings → Default Video Resolution**. +- **Default Subtitle Languages:** Set default subtitle languages for auto-selection (comma-separated, e.g., `en,es`). Available in **Download Settings → Default Subtitle Languages**. - **Output Filename Format:** Customize the output filename format using variables like `%(title)s`, `%(uploader)s`, `%(playlist_index)s`, and `%(resolution)s`. Available in **Download Settings → Filename Format**. -- **Force Output Format:** Force video downloads into a specific container format such as `mp4`, `webm`, or `mkv`. Available in **Download Settings → Output Format Settings**. -- **Audio Format Conversion:** Convert audio-only downloads to preferred formats such as `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`. Available in **Download Settings → Audio Format Settings**. +- **Force Output Format:** Force video downloads into a specific container format like `mp4`, `webm`, or `mkv`. Available in **Download Settings → Output Format Settings**. +- **Audio Format Conversion:** Convert audio-only downloads into preferred formats such as `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, or `Best`. Available in **Download Settings → Audio Format Settings**. - **Audio Normalization:** Standardize volume for audio-only downloads using EBU R128. -- **Concurrent Connections:** Increase download speed dramatically by downloading files in multiple fragments concurrently. Available in **Download Settings → General → Concurrent Connections** (Defaults to 1, recommended maximum is 8-10 to prevent IP limiting). +- **Concurrent Connections:** Dramatically increase download speed by downloading files in multiple fragments simultaneously. Available in **Download Settings → General → Concurrent Connections** (Default is 1, maximum recommended is 8-10 to avoid IP throttling).
    -🌐 Access and Network +🌐 Access & Network -- **Login with Cookies:** Login to YouTube using cookies to access private content. +- **Login with Cookies:** Log in to YouTube using cookies to access private content. How to use it: 1. **Recommended:** Use the built-in `Extract cookies from browser` option in the app, then select your browser and optionally a profile. 2. Alternatively, extract cookies manually: - a. Export cookies from your browser using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) - b. Copy the cookies in Netscape format - c. Create a file named `cookies.txt` and paste the cookies into it + a. Export browser cookies using an extension like [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) + b. Copy cookies in Netscape format + c. Create a file named `cookies.txt` and paste cookies d. Select the `cookies.txt` file in the app -- **Proxy Support:** Use a proxy server for downloads, for example `http://:` -- **Generic Mode:** Allow YTSage to analyze and download from non-YouTube sites supported by yt-dlp. Enable it from **Download Settings → Generic Mode**. +- **Proxy Support:** Use a proxy server for downloads, e.g., `http://:` +- **Generic Mode:** Allows YTSage to analyze and download from non-YouTube sites supported by yt-dlp. Enable from **Download Settings → Generic Mode**.
    -🛠️ Tools and Maintenance +🛠️ Tools & Maintenance -- **Custom Commands:** Access advanced yt-dlp features via command line arguments +- **Custom Commands:** Access advanced yt-dlp features via command-line arguments. - **Updater Tab:** Manage built-in update tools from one place in Custom Options: - - **yt-dlp Updates:** Check for updates and switch between Stable and Nightly release channels - - **FFmpeg Version Checker:** Check your FFmpeg version and open installation guides - - **Deno Updates:** Check and update the Deno runtime -- **FFmpeg/yt-dlp/Deno Detection:** Automatically detect FFmpeg, yt-dlp, and Deno paths and versions from the About dialog. + - **yt-dlp Updates:** Check for updates and toggle between Stable and Nightly release channels. + - **FFmpeg Version Checker:** Check your FFmpeg version and open installation guides. + - **Deno Updates:** Check and update the Deno runtime. +- **FFmpeg/yt-dlp/Deno Detection:** Automatically detects paths and versions for FFmpeg, yt-dlp, and Deno from the About dialog. - **Download History:** View past downloads with thumbnails and statuses from the **History** button.
    @@ -348,7 +348,7 @@ Notes:
    🌍 Localization -YTSage supports **14 languages** for worldwide accessibility. Select your preferred language from **Custom Options → Language**. +YTSage supports **14 languages** for global accessibility. Select your preferred language in **Custom Options → Language**. ### Supported Languages @@ -366,13 +366,13 @@ YTSage supports **14 languages** for worldwide accessibility. Select your prefer | Language | File | Language | File | |----------|------|----------|------| -| 🇺🇸 English | [README.md](README.md) | 🇪🇸 Spanish | [README.es.md](readme-translations/README.es.md) | -| 🇸🇦 Arabic | [README.ar.md](readme-translations/README.ar.md) | 🇫🇷 French | [README.fr.md](readme-translations/README.fr.md) | -| 🇩🇪 German | [README.de.md](readme-translations/README.de.md) | 🇮🇳 Hindi | [README.hi.md](readme-translations/README.hi.md) | -| 🇮🇩 Indonesian | [README.id.md](readme-translations/README.id.md) | 🇮🇹 Italian | [README.it.md](readme-translations/README.it.md) | -| 🇯🇵 Japanese | [README.ja.md](readme-translations/README.ja.md) | 🇵🇱 Polish | [README.pl.md](readme-translations/README.pl.md) | -| 🇧🇷 Portuguese | [README.pt.md](readme-translations/README.pt.md) | 🇷🇺 Russian | [README.ru.md](readme-translations/README.ru.md) | -| 🇹🇷 Turkish | [README.tr.md](readme-translations/README.tr.md) | 🇨🇳 Chinese | [README.zh.md](readme-translations/README.zh.md) | +| 🇺🇸 English | [README.md](README.md) | 🇪🇸 Spanish | [README.es.md](README.es.md) | +| 🇸🇦 Arabic | [README.ar.md](README.ar.md) | 🇫🇷 French | [README.fr.md](README.fr.md) | +| 🇩🇪 German | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | +| 🇮🇩 Indonesian | [README.id.md](README.id.md) | 🇮🇹 Italian | [README.it.md](README.it.md) | +| 🇯🇵 Japanese | [README.ja.md](README.ja.md) | 🇵🇱 Polish | [README.pl.md](README.pl.md) | +| 🇧🇷 Portuguese | [README.pt.md](README.pt.md) | 🇷🇺 Russian | [README.ru.md](README.ru.md) | +| 🇹🇷 Turkish | [README.tr.md](README.tr.md) | 🇨🇳 Chinese | [README.zh.md](README.zh.md) | > 💡 **Want to contribute a translation?** Check out the [Contributing](#contributing) section to help us add more languages! @@ -384,39 +384,39 @@ YTSage supports **14 languages** for worldwide accessibility. Select your prefer
    Click to view common issues and solutions -- **Format table not displaying:** Update yt-dlp to the latest version, and switch to yt-dlp nightly. -- **Download fails:** Check your internet connection and ensure the video is available. -- **Specific download errors:** - - **Private videos:** Use cookie authentication to access private content. - - **Age-restricted content:** Login to YouTube account to view age-restricted videos. - - **Geo-blocked videos:** Consider using a VPN to bypass regional restrictions. - - **Removed/deleted videos:** Video is no longer available on YouTube. - - **Live streams:** Live streams cannot be downloaded; wait for the stream to end. - - **Network errors:** Check your internet connection and try again. +- **Format table not appearing:** Update yt-dlp to latest version and switch to nightly yt-dlp. +- **Download failed:** Check your internet connection and ensure the video is available. +- **Specific Download Errors:** + - **Private Videos:** Use cookie authentication to access private content. + - **Age-Restricted Content:** Log in to your YouTube account to view age-restricted videos. + - **Geo-Blocked Videos:** Consider using a VPN to bypass regional restrictions. + - **Deleted Videos:** Video is no longer available on YouTube. + - **Live Streams:** Live streams cannot be downloaded; wait for the broadcast to end. + - **Network Errors:** Check your internet connection and try again. - **Invalid URLs:** Ensure the URL is correct and from a supported platform. - - **Premium content:** Requires YouTube Premium membership. - - **Copyright blocks:** Content is blocked due to copyright restrictions. -- **Separate video and audio files after download:** This happens when FFmpeg is missing or not detected. YTSage requires FFmpeg to merge high-quality video and audio streams. + - **Premium Content:** Requires a YouTube Premium subscription. + - **Copyright Blocks:** Content is blocked due to copyright restrictions. +- **Video and Audio Files separate after download:** This happens when FFmpeg is missing or not detected. YTSage requires FFmpeg to merge high-quality video and audio streams. - **Solution:** Ensure FFmpeg is installed and accessible in your system's PATH. For Windows users, the easiest option is to download the `YTSage-v-ffmpeg.exe` file, which comes bundled with FFmpeg. --- #### 🛡️ Windows Defender / Antivirus Warning -Some antivirus software may flag the `.exe` files as false positives. This is a **known limitation** of packaged applications. +Some antivirus software may flag `.exe` files as false positives. This is a **known limitation** of packaged applications. **Why this happens:** -- Antivirus heuristics can misidentify packed executables as suspicious +- Antivirus heuristics can mistakenly identify packaged executables as suspicious. -**Safe alternatives:** -- ✅ **Use pip installation:** `pip install ytsage` (recommended) -- ✅ **Build from source**: by following this [guide](.github/CI_CD_README.md) -- ✅ **Whitelist the application** in your antivirus software +**Safe Alternatives:** +- ✅ **Use pip install:** `pip install ytsage` (Recommended) +- ✅ **Build from Source**: by following this [guide](.github/CI_CD_README.md) +- ✅ **Whitelist the app** in your antivirus software. -#### 🍎 macOS: "App is damaged and can’t be opened" +#### 🍎 macOS: "Application is damaged and cannot be opened" If you see this error on macOS Sonoma or newer, you need to remove the quarantine attribute. -1. **Open Terminal** (you can find it using Spotlight). +1. **Open Terminal** (you can find this using Spotlight). 2. **Type the following command** but **do not** press Enter yet. Make sure to include the space at the end: ```bash xattr -d com.apple.quarantine @@ -427,7 +427,7 @@ If you see this error on macOS Sonoma or newer, you need to remove the quarantin --- -#### **Configuration Locations (Advanced)** +#### **Config Locations (Advanced)** - **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage` @@ -437,17 +437,17 @@ If you see this error on macOS Sonoma or newer, you need to remove the quarantin ## 💖 Sponsor -If YTSage saves you time, consider sponsoring the project. Sponsorship helps cover development time, testing across platforms, and future improvements. +If YTSage saves you time, please consider sponsoring the project. Sponsoring helps cover development time, testing across all platforms, and future improvements. - GitHub Sponsors: https://github.com/sponsors/oop7 -- The sponsor link is also available directly inside the app from the About dialog. +- Sponsorship link is also available directly in the app via the About dialog. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) ## 👥 Contributing -We welcome contributions! Here's how you can help: +We welcome contributions! Here’s how you can help: 1. 🍴 Fork the repository 2. 🌿 Create your feature branch: @@ -466,8 +466,8 @@ We welcome contributions! Here's how you can help: ### 🌍 Contributing Translations -- Update the matching localized README file (for example `readme-translations/README.es.md`) -- Keep app strings in sync by editing `ytsage/languages/.json` +- Update the relevant localized README file (e.g., `readme-translations/README.fr.md`) +- Keep app strings synced by editing `ytsage/languages/.json` - If your language is missing, start from `README.md` and create `README..md`
    @@ -488,11 +488,11 @@ YTSage/ │ │ ├── build-linux.yml # Linux build workflow │ │ ├── build-macos.yml # macOS build workflow │ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow +| | └── release-all.yml # Release master workflow │ └── 📄 CI_CD_README.md # CI/CD documentation ├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation +│ ├── 📁 icons/ # App icons +│ ├── 📁 screenshots/ # Documentation screenshots │ └── 📁 svg/ # SVG assets ├── 📄 LICENSE # License file ├── 📄 pyproject.toml # Project metadata and dependencies @@ -500,8 +500,8 @@ YTSage/ ├── 📄 requirements.txt # Python dependencies (dev) └── 📁 ytsage/ # Source package ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files + │ ├── 📁 Icon/ # App icons + │ └── 📁 sound/ # Sound files ├── 📁 languages/ # Localization files │ ├── 📄 ar.json # Arabic translation │ ├── 📄 de.json # German translation @@ -514,13 +514,13 @@ YTSage/ │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration │ ├── 📄 ytsage_utils.py # Utility functions │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components + ├── 📁 gui/ # UI components │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window + │ ├── 📄 ytsage_gui_main.py # Main app window │ └── 📁 ytsage_gui_dialogs/ # Dialog classes ├── 📁 utils/ # Utility modules │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management + │ ├── 📄 ytsage_config_manager.py # Config management │ └── 📄 ytsage_logger.py # Logging utilities ├── 📄 __init__.py # Package entry point └── 📄 main.py # Main execution script @@ -555,7 +555,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
    -

    A heartfelt thank you to everyone who has contributed to this project by opening an issue to suggest an improvement or report a bug.

    +

    A big thanks to everyone who contributed to this project by opening an issue to suggest an improvement or report a bug.

    Download SettingsPlaylist DownloadDownload SettingsPlaylist Download
    Download Settings Playlist Download
    Audio Format Selection with Save ThumbnailCustom OptionsAudio Format SelectionCustom Options
    Audio Format
    @@ -569,7 +569,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file - + @@ -586,7 +586,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file - + @@ -613,7 +613,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file ## ⚠️ Disclaimer -This tool is for personal use only. Please respect YouTube's terms of service and content creators' rights. +This tool is for personal use only. Please respect YouTube's Terms of Service and content creator rights. --- diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md index f24a67b..48ca27e 100644 --- a/readme-translations/README.tr.md +++ b/readme-translations/README.tr.md @@ -1,7 +1,7 @@
    ytsage-wordmark -YTSage Interface +YTSage Arayüzü [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) [![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) @@ -13,80 +13,81 @@ [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) **Temiz bir PySide6 arayüzüne sahip modern bir YouTube indiricisi.** -Videoları istediğiniz kalitede indirin, ses çıkarın, altyazıları getirin ve daha fazlasını yapın. +Videoları herhangi bir kalitede indirin, sesleri çıkarın, altyazıları alın ve daha fazlasını yapın. -### 🌍 BENİOKU Diller +### 🌍 README Dilleri İngilizce: [EN](../README.md) -| Cevap: [AR](README.ar.md) +| Arapça: [AR](README.ar.md) | Almanca: [DE](README.de.md) | İspanyolca: [ES](README.es.md) | Fransızca: [FR](README.fr.md) -| Adres: [HI](README.hi.md) -| Bahasa Endonezya: [ID](README.id.md) +| Hintçe: [HI](README.hi.md) +| Endonezce: [ID](README.id.md) | İtalyanca: [IT](README.it.md) -| Şarkı sözü: [JA](README.ja.md) -| Polski: [PL](README.pl.md) +| Japonca: [JA](README.ja.md) +| Lehçe: [PL](README.pl.md) | Portekizce: [PT](README.pt.md) | Rusça: [RU](README.ru.md) | Türkçe: [TR](README.tr.md) -| Adres: [ZH](README.zh.md) +| Çince: [ZH](README.zh.md)

    - Kurulum • - Özellikler • - Kullanım • - Ekran görüntüleri • - Sorun giderme • - Sponsor • - Katkıda Bulunuyorum + Kurulum • + Özellikler • + Kullanım • + Ekran Görüntüleri • + Sorun Giderme • + Sponsor Olun • + Katkıda Bulunma

    --- - + ## ❓ Neden YTSage? YTSage, **basit ama güçlü bir YouTube indiricisi** isteyen kullanıcılar için tasarlanmıştır. Diğer araçların aksine şunları sunar: -- Temiz, modern bir PySide6 arayüzü -- Video, ses ve altyazılar için tek tıklamayla indirmeler +- Modern ve temiz bir PySide6 arayüzü +- Tek tıkla video, ses ve altyazı indirme - SponsorBlock, altyazı birleştirme ve oynatma listesi seçimi gibi gelişmiş özellikler -- YouTube'un ötesinde yt-dlp destekli siteler için İsteğe Bağlı Genel Mod -- Platformlar arası destek ve kolay kurulum +- yt-dlp tarafından desteklenen YouTube dışındaki siteler için isteğe bağlı "Genel Mod" +- Çoklu platform desteği ve kolay kurulum - + ## ✨ Özellikler
    | Temel Özellikler | Gelişmiş Özellikler | Ekstra Özellikler | -|-------------------------------------|--------------------------------------------------| -| 🎥 Format Tablosu | 🚫 SponsorBlock Entegrasyonu | 🎞️ FPS/HDR Ekran | -| 🎵 Ses Çıkarma | 📝 Çoklu Altyazı Seç ve Birleştir | 🔄 yt-dlp'yi Otomatik Güncelle | -| ✨ Basit kullanıcı arayüzü | 💾 Açıklamayı ve Küçük Resmi Kaydet | 🛠️ FFmpeg/yt-dlp/Deno Algılama | -| 📋 Çalma Listesi Desteği ve Seçici | 🚀 Hız Sınırlayıcı | ⚙️ Özel Komutlar | -| 📑 Bölümleri Yerleştir | ✂️ Video Bölümlerini Kırp | 🍪 Çerezlerle Giriş Yapın | -| 📜 Geçmişi İndir | 🔄 Kanal Seçimini Serbest Bırak | 🌐 Proxy Desteği | -| 🎚️ Ses Formatı Dönüştürme | 🎬 Video Formatı Ayarları | 🆙 Yerleşik Güncelleyici Sekmesi | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 Format Tablosu | 🚫 SponsorBlock Entegrasyonu | 🎞️ FPS/HDR Gösterimi | +| 🎵 Ses Çıkarma | 📝 Altyazı Seçimi ve Birleştirme | 🔄 Otomatik yt-dlp Güncellemesi | +| ✨ Basit Kullanıcı Arayüzü | 💾 Açıklama ve Küçük Resim Kaydetme | 🛠️ FFmpeg/yt-dlp/Deno Algılama | +| 📋 Oynatma Listesi Desteği | 🚀 Hız Sınırlayıcı | ⚙️ Özel Komutlar | +| 📑 Bölüm Entegrasyonu | ✂️ Video Kırpma | 🍪 Çerez ile Giriş | +| 📜 İndirme Geçmişi | 🔄 Yayın Kanalı Seçimi | 🌐 Proxy Desteği | +| 🎚️ Ses Formatı Dönüştürme | 🎬 Video Format Ayarları | 🆙 Entegre Güncelleme Sekmesi | | 🌍 Genel Mod | 🔊 Ses Normalizasyonu (EBU R128) | 🌍 14 Dilde Yerelleştirme | +| 💾 Oynatma Listesi Dışa Aktarma | ⚙️ Varsayılan Kalite ve Altyazı | |
    - + ## 🚀 Kurulum -### ⚡ Hızlı Kurulum (Önerilir) +### ⚡ Hızlı Kurulum (Önerilen) -YTSage'i PyPI'den yükleyin: +YTSage'i PyPI üzerinden yükleyin: ```bash pip install ytsage ```
    -🔄 Mevcut bir kurulumu güncelleyin +🔄 Mevcut Kurulumu Güncelle ```bash pip install --upgrade ytsage @@ -94,41 +95,41 @@ pip install --upgrade ytsage
    -Ardından uygulamayı başlatın: +Ardından uygulamayı çalıştırın: ```bash ytsage ``` -### 📦 Önceden Oluşturulmuş Yürütülebilir Dosyalar +### 📦 Hazır Çalıştırılabilir Dosyalar (Executable) -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 En Son Sürümü İndir](https://github.com/oop7/YTSage/releases/latest) #### 🪟 Windows -| Biçim | Açıklama | -|----------|----------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standart yükleyici | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg paketiyle birlikte | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Taşınabilir versiyon, kurulum gerektirmez | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg ile taşınabilir, sıkıştırılmış | +| Format | Açıklama | +|--------|-------------| +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Standart Kurulum Dosyası | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg Dahil | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Taşınabilir Sürüm, kuruluma gerek yok | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | FFmpeg Dahil Taşınabilir, sıkıştırılmış (ZIP) |
    🛠️ Kurulum Adımları -1. **EXE Yükleyici (`.exe`)**: Dosyaya çift tıklayın ve kurulum sihirbazını izleyin. -2. **Taşınabilir Sürüm (`.zip`)**: Arşivi istediğiniz konuma çıkarın ve `ytsage.exe`'i çalıştırın. -3. **FFmpeg Paketli**: Sisteminizde FFmpeg yüklü değilse FFmpeg paketli versiyonlarını seçin. +1. **EXE Yükleyici (`.exe`)**: Dosyaya çift tıklayın ve kurulum sihirbazını takip edin. +2. **Taşınabilir Sürüm (`.zip`)**: Dosyayı istediğiniz yere çıkarın ve `ytsage.exe` dosyasını çalıştırın. +3. **Dahili FFmpeg**: Sisteminizde FFmpeg kurulu değilse, FFmpeg dahil olan sürümleri seçin.
    #### 🐧 Linux -| Biçim | Açıklama | -|----------|----------------| -| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian paketi | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, taşınabilir | -| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM paketi | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Düz Paket Paketi | +| Format | Açıklama | +|--------|-------------| +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian Paketi | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, Taşınabilir | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM Paketi | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak Paketi |
    🛠️ Kurulum Adımları @@ -136,7 +137,7 @@ ytsage - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Gerekirse eksik bağımlılıkları gidermek için ``` - **RPM (`.rpm`)**: ```bash @@ -147,32 +148,32 @@ ytsage chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**: Flathub'daki talimatları izleyin veya şunu çalıştırın: +- **Flatpak**: Flathub üzerindeki talimatları izleyin veya şunu çalıştırın: ```bash flatpak install flathub io.github.oop7.ytsage ```
    -#### 🍎macOS +#### 🍎 macOS -| Biçim | Açıklama | -|----------|----------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon için sıkıştırılmış uygulama | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon için disk görüntüsü yükleyici | +| Format | Açıklama | +|--------|-------------| +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon için ZIP Uygulaması | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon için Disk Image Kurulum Dosyası |
    🛠️ Kurulum Adımları -- **DMG Installer (`.dmg`)**: Bağlamak için çift tıklayın, ardından `YTSage.app`'i Uygulamalar klasörünüze sürükleyin. -- **Uygulama Arşivi (`.zip`)**: Zip dosyasını çıkartın ve `YTSage.app`'i Uygulamalar klasörünüze taşıyın. +- **DMG Yükleyici (`.dmg`)**: Bağlamak için çift tıklayın ve `YTSage.app` dosyasını Uygulamalar klasörünüze sürükleyin. +- **Uygulama Arşivi (`.zip`)**: ZIP dosyasını çıkarın ve `YTSage.app` dosyasını Uygulamalar klasörünüze taşıyın. -*Not: "Uygulama hasar gördü" hatasıyla karşılaşırsanız aşağıdaki [macOS troubleshooting section](#troubleshooting)'e bakın.* +*Not: "Uygulama hasarlı" hatası alırsanız, aşağıdaki macOS Sorun Giderme bölümüne bakın.*
    ---
    -💻 Kaynaktan Manuel Kurulum +💻 Kaynak Kodundan Manuel Kurulum ### 1. Depoyu Klonlayın @@ -181,9 +182,9 @@ git clone https://github.com/oop7/YTSage.git cd YTSage ``` -### 2. Bağımlılıkları Kurun +### 2. Bağımlılıkları Yükleyin -#### ⚡UV ile +#### ⚡ uv ile ```bash uv pip install . @@ -195,7 +196,7 @@ uv pip install . pip install . ``` -### 3. Uygulamayı çalıştırın +### 3. Uygulamayı Çalıştırın ```bash python -m ytsage.main @@ -203,146 +204,151 @@ python -m ytsage.main
    - -## 📸 Ekran görüntüleri + +## 📸 Ekran Görüntüleri
    Core Components
    DenoRuntime for integration with yt-dlpRuntime for yt-dlp plugins
    Libraries & Frameworks
    packagingVersion & Package HandlingVersion/Package Management
    markdown
    - - + + - + - - + +
    Download SettingsPlaylist Downloadİndirme AyarlarıOynatma Listesi İndirme
    İndirme AyarlarıÇalma Listesi İndirOynatma Listesi İndirme
    Audio Format Selection with Save ThumbnailCustom OptionsSes Formatı SeçimiÖzel Seçenekler
    Ses Formatı Özel Seçenekler
    -
    +
    + ## 📖 Kullanım
    🎯 Temel Kullanım 1. **YTSage'i başlatın** -2. **YouTube URL'sini yapıştırın** (veya "URL'yi yapıştır" düğmesini kullanın) -3. **"Analiz Et"i tıklayın** -4. **Biçim Seçin:** - - `Video` video indirmeleri için - - `Audio Only` ses çıkarma için -5. **Seçenekleri seçin:** +2. **Bir YouTube URL'si yapıştırın** (veya "Paste URL" düğmesini kullanın) +3. **"Analyze" düğmesine tıklayın** +4. **Formatı Seçin:** + - Video indirmek için `Video` + - Sadece ses çıkarmak için `Audio Only` +5. **Seçenekleri Belirleyin:** - Altyazıları etkinleştirin ve dili seçin - - Altyazı birleştirmeyi etkinleştir - - Küçük resmi kaydet - - Sponsor segmentlerini kaldırın - - Açıklamayı kaydet - - Bölümleri yerleştir -6. **Çıktı Dizinini Seçin** -7. **"İndir"e tıklayın** + - Altyazı birleştirmeyi (Merge subs) etkinleştirin + - Küçük resmi kaydet (Save thumbnail) + - Sponsor bölümlerini kaldır (SponsorBlock) + - Açıklamayı kaydet (Save description) + - Bölümleri göm (Embed chapters) +6. **Çıkış Dizinini Seçin** +7. **"Download" düğmesine tıklayın** -> 💡 Varsayılan indirme dizini kullanıcının "İndirilenler" klasörüdür. +> 💡 Varsayılan indirme dizini kullanıcının "İndirmeler" klasörüdür.
    -📋 Çalma Listesi İndir +📋 Oynatma Listesi İndirme 1. **Oynatma Listesi URL'sini yapıştırın** -2. **"Analiz Et"i tıklayın** -3. **Oynatma seçiciden videoları seçin (isteğe bağlı, varsayılan olarak tümü)** +2. **"Analyze" düğmesine tıklayın** +3. **Seçiciden videoları seçin (varsayılan olarak tümü seçilidir)** 4. **İstediğiniz formatı/kaliteyi seçin** -5. **"İndir"e tıklayın** +5. **"Download" düğmesine tıklayın** -> 💡 Uygulama indirme sırasını otomatik olarak yönetir +> 💡 Uygulama indirme kuyruğunu otomatik olarak yönetir ve oynatma listesi girişlerini `.txt`, `.csv`, `.m3u` veya `.json` dosyaları olarak dışa aktarabilirsiniz.
    -🌍 YouTube dışı siteler için Genel Mod +🌍 YouTube Dışındaki Siteler İçin Genel Mod -YTSage'in Dailymotion, CBC Gem, TikTok ve diğerleri gibi yt-dlp tarafından desteklenen sitelerdeki URL'leri kabul etmesini istiyorsanız Genel Modu kullanın. +YTSage'in Dailymotion, TikTok ve diğerleri gibi yt-dlp tarafından desteklenen sitelerden gelen URL'leri kabul etmesini istediğinizde Genel Modu kullanın. Nasıl kullanılır: -1. `Download Settings`'i açın. -2. `Generic Mode`'ı etkinleştirin. -3. Desteklenen YouTube dışı bir video veya oynatma listesi URL'sini yapıştırın. -4. `Analyze`'a tıklayın. -5. Bir format seçin ve her zamanki gibi indirin. +1. `Download Settings` bölümünü açın. +2. `Generic Mode` seçeneğini etkinleştirin. +3. YouTube dışındaki desteklenen bir video veya oynatma listesi URL'sini yapıştırın. +4. `Analyze` düğmesine tıklayın. +5. Bir format seçin ve normal şekilde indirin. Notlar: -- Genel Mod yalnızca YTSage içindeki URL doğrulamasını değiştirir. Hedef sitenin yüklü yt-dlp sürümünüz tarafından hala desteklenmesi gerekiyor. -- Bazı siteler, çıkarıcıya bağlı olarak çerezlere, oturum açma oturumuna, proxy'ye veya ekstra yt-dlp argümanlarına ihtiyaç duyar. -- Bir site başarısız olursa, sorunu bildirmeden önce yerleşik güncelleyici sekmesinden yt-dlp'yi güncelleyin. +- Genel Mod sadece YTSage içindeki URL doğrulamasını değiştirir. Hedef site hala yüklü yt-dlp sürümünüz tarafından desteklenmelidir. +- Bazı siteler, çıkarıcıya bağlı olarak çerezler, giriş, proxy veya ek yt-dlp argümanları gerektirebilir. +- Bir site hata verirse, sorun bildirmeden önce entegre güncelleme sekmesinden yt-dlp'yi güncelleyin.
    🧰 Medya ve İndirme Seçenekleri -- **Altyazı Seçenekleri:** Dilleri filtreleyin ve altyazıları video dosyasına ekleyin -- **Altyazı Birleştirme:** Sabit kodlanmış altyazılar için altyazıları video dosyasıyla birleştirin -- **Açıklamayı Kaydet:** Video açıklamasını bir metin dosyası olarak kaydedin -- **Küçük Resmi Kaydet:** Video küçük resmini bir resim dosyası olarak kaydedin -- **Bölümleri Göm:** Uyumlu video oynatıcılar için bölüm işaretlerini meta veri olarak gömün -- **Sponsor Segmentlerini Kaldır:** SponsorBlock'u kullanarak sponsor segmentlerini videodan kaldırın -- **Videoyu Kırp:** `HH:MM:SS` biçiminde zaman aralıklarını belirterek videonun yalnızca belirli bölümlerini indirin +- **Altyazı Seçenekleri:** Dilleri filtreleyin ve altyazıları video dosyasına gömün. +- **Altyazı Birleştirme:** Altyazıları video dosyasına kalıcı olarak (hardcode) birleştirir. +- **Açıklamayı Kaydet:** Video açıklamasını bir metin dosyası olarak kaydeder. +- **Küçük Resmi Kaydet:** Video küçük resmini bir resim dosyası olarak kaydeder. +- **Bölümleri Göm:** Uyumlu video oynatıcılar için meta veri olarak bölüm işaretlerini ekler. +- **Sponsor Bölümlerini Kaldır:** Videodaki sponsorlu bölümleri kaldırmak için SponsorBlock kullanır. +- **Videoyu Kırp:** Zaman aralığını `SA:DA:SA` formatında belirterek videonun sadece belirli bölümlerini indirin.
    -⚙️ Çıktı ve Dosya Ayarları +⚙️ Çıkış ve Dosya Ayarları + +- **Hız Sınırlayıcı:** İndirme hızını sınırlandırın, örneğin 500 KB/s için `500K`. +- **İndirme Yolunu Kaydet:** Gelecekteki indirmeler için varsayılan indirme yolunu kaydeder. **Download Settings → Download Path** bölümünde mevcuttur. +- **Varsayılan Video Çözünürlüğü:** Otomatik seçim için tercih ettiğiniz video çözünürlüğünü ayarlayın (örn: 1080p, 720p). **Download Settings → Default Video Resolution** bölümünde mevcuttur. +- **Varsayılan Altyazı Dilleri:** Otomatik seçim için varsayılan altyazı dillerini ayarlayın (virgülle ayrılmış, örn: `tr,en`). **Download Settings → Default Subtitle Languages** bölümünde mevcuttur. +- **Dosya Adı Formatı:** Çıkış dosyası adı formatını `%(title)s`, `%(uploader)s` gibi değişkenler kullanarak özelleştirin. **Download Settings → Filename Format** bölümünde mevcuttur. +- **Çıkış Formatını Zorla:** Videoyu `mp4`, `webm` veya `mkv` gibi belirli bir konteyner formatında indirmeye zorlar. **Download Settings → Output Format Settings** bölümünde mevcuttur. +- **Ses Formatı Dönüştürme:** Sadece ses indirmelerini `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` veya `Best` gibi tercih edilen formatlara dönüştürün. **Download Settings → Audio Format Settings** bölümünde mevcuttur. +- **Ses Normalizasyonu:** EBU R128 kullanarak sadece ses indirmeleri için ses seviyesini standartlaştırır. +- **Eşzamanlı Bağlantılar:** Dosyaları aynı anda birden fazla parça halinde indirerek indirme hızını önemli ölçüde artırın. **Download Settings → General → Concurrent Connections** bölümünde mevcuttur (Varsayılan 1, IP engellemelerini önlemek için maksimum 8-10 önerilir). -- **Hız Sınırlayıcı:** İndirme hızını sınırlayın, örneğin 500 KB/s için `500K` -- **İndirme Yolunu Kaydet:** Gelecekteki indirmeler için varsayılan indirme yolunu kaydedin. **İndirme Ayarları → İndirme Yolu**'nda mevcuttur. -- **Çıktı Dosya Adı Formatı:** `%(title)s`, `%(uploader)s` ve `%(resolution)s` gibi değişkenleri kullanarak çıktı dosya adı formatını özelleştirin. **İndirme Ayarları → Dosya Adı Formatı**'nda mevcuttur.- **Çıktı Formatını Zorla:** Video indirme işlemlerini `mp4`, `webm` veya `mkv` gibi belirli bir kapsayıcı formatına zorlayın. **İndirme Ayarları → Çıktı Formatı Ayarları** bölümünde mevcuttur. -- **Ses Formatı Dönüştürme:** Yalnızca ses indirmelerini `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A` gibi tercih edilen formatlara dönüştürün `Vorbis` veya `Best`. **İndirme Ayarları → Ses Formatı Ayarları**'nda mevcuttur. -- **Ses Normalizasyonu:** EBU R128 kullanarak yalnızca ses indirmeleri için ses düzeyini standartlaştırın. -- **Eşzamanlı Bağlantılar:** Dosyaları aynı anda birden fazla parça halinde indirerek indirme hızını önemli ölçüde artırın. **İndirme Ayarları → Genel → Eşzamanlı Bağlantılar** altında mevcuttur (Varsayılan 1, IP kısıtlamasını önlemek için önerilen maksimum 8-10).\n
    🌐 Erişim ve Ağ -- **Çerezler ile Giriş Yapın:** Özel içeriğe erişmek için çerezleri kullanarak YouTube'a giriş yapın. - Nasıl kullanılır: - 1. **Önerilen:** Uygulamadaki yerleşik `Extract cookies from browser` seçeneğini kullanın, ardından tarayıcınızı ve isteğe bağlı olarak bir profili seçin. - 2. Alternatif olarak çerezleri manuel olarak çıkarın: - a. [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) gibi bir uzantı kullanarak çerezleri tarayıcınızdan dışa aktarın - b. Çerezleri Netscape formatında kopyalayın - c. `cookies.txt` adında bir dosya oluşturun ve çerezleri bu dosyaya yapıştırın - D. Uygulamada `cookies.txt` dosyasını seçin -- **Proxy Desteği:** İndirmeler için bir proxy sunucusu kullanın, örneğin `http://:` -- **Genel Mod:** YTSage'in, yt-dlp tarafından desteklenen YouTube dışı sitelerden analiz yapmasına ve indirme yapmasına izin verin. **İndirme Ayarları → Genel Mod**'dan etkinleştirin. +- **Çerez ile Giriş:** Özel içeriğe erişmek için çerezleri kullanarak YouTube'da oturum açın. + Kullanım: + 1. **Önerilen:** Uygulamadaki entegre `Extract cookies from browser` seçeneğini kullanın, tarayıcıyı ve isteğe bağlı olarak profili seçin. + 2. İsteğe bağlı olarak çerezleri manuel olarak çıkarın: + a. [cookie-editor](https://github.com/moustachauve/cookie-editor) gibi bir uzantı kullanarak tarayıcınızdan çerezleri dışa aktarın. + b. Çerezleri Netscape formatında kopyalayın. + c. `cookies.txt` adlı bir dosya oluşturun ve çerezleri yapıştırın. + d. Uygulamada `cookies.txt` dosyasını seçin. +- **Proxy Desteği:** İndirmeler için bir proxy sunucusu kullanın, örn: `http://:` +- **Genel Mod:** YTSage'in yt-dlp tarafından desteklenen YouTube dışındaki siteleri analiz etmesine ve indirmesine olanak tanır. **Download Settings → Generic Mode** bölümünden etkinleştirin.
    🛠️ Araçlar ve Bakım -- **Özel Komutlar:** Komut satırı bağımsız değişkenleri aracılığıyla gelişmiş yt-dlp özelliklerine erişin -- **Güncelleyici Sekmesi:** Özel Seçenekler'de yerleşik güncelleme araçlarını tek yerden yönetin: - - **yt-dlp Güncellemeleri:** Güncellemeleri kontrol edin ve Mevcut ve Gecelik sürüm kanalları arasında geçiş yapın - - **FFmpeg Sürüm Denetleyicisi:** FFmpeg sürümünüzü kontrol edin ve kurulum kılavuzlarını açın - - **Deno Güncellemeleri:** Deno çalışma zamanını kontrol edin ve güncelleyin -- **FFmpeg/yt-dlp/Deno Algılama:** Hakkında iletişim kutusundan FFmpeg, yt-dlp ve Deno yollarını ve sürümlerini otomatik olarak algılar. -- **İndirme Geçmişi:** **Geçmiş** düğmesinden geçmiş indirmeleri küçük resimler ve durumlarla birlikte görüntüleyin. +- **Özel Komutlar:** Komut satırı argümanları aracılığıyla gelişmiş yt-dlp özelliklerine erişin. +- **Güncelleme Sekmesi:** Entegre güncelleme araçlarını Özel Seçenekler altındaki tek bir yerden yönetin: + - **yt-dlp Güncelleme:** Güncellemeleri kontrol edin ve Stable ile Nightly yayın kanalları arasında geçiş yapın. + - **FFmpeg Sürüm Kontrolü:** FFmpeg sürümünüzü kontrol edin ve kurulum kılavuzlarını açın. + - **Deno Güncelleme:** Deno çalışma zamanını kontrol edin ve güncelleyin. +- **FFmpeg/yt-dlp/Deno Algılama:** Hakkında diyaloğunda FFmpeg, yt-dlp ve Deno yollarını ve sürümlerini otomatik olarak algılar. +- **İndirme Geçmişi:** **History** düğmesi aracılığıyla küçük resimler ve durumlarla birlikte geçmiş indirmeleri görün.
    🌍 Yerelleştirme -YTSage, dünya çapında erişilebilirlik için **14 dili** destekler. **Özel Seçenekler → Dil**'den tercih ettiğiniz dili seçin. +YTSage, küresel erişim için **14 dili** destekler. Tercih ettiğiniz dili **Custom Options → Language** bölümünden seçin. ### Desteklenen Diller @@ -360,7 +366,7 @@ YTSage, dünya çapında erişilebilirlik için **14 dili** destekler. **Özel S | Dil | Dosya | Dil | Dosya | |----------|------|----------|------| -| 🇺🇸 İngilizce | [README.md](../README.md) | 🇪🇸 İspanyolca | [README.es.md](README.es.md) +| 🇺🇸 İngilizce | [README.md](README.md) | 🇪🇸 İspanyolca | [README.es.md](README.es.md) | | 🇸🇦 Arapça | [README.ar.md](README.ar.md) | 🇫🇷 Fransızca | [README.fr.md](README.fr.md) | | 🇩🇪 Almanca | [README.de.md](README.de.md) | 🇮🇳 Hintçe | [README.hi.md](README.hi.md) | | 🇮🇩 Endonezce | [README.id.md](README.id.md) | 🇮🇹 İtalyanca | [README.it.md](README.it.md) | @@ -368,165 +374,165 @@ YTSage, dünya çapında erişilebilirlik için **14 dili** destekler. **Özel S | 🇧🇷 Portekizce | [README.pt.md](README.pt.md) | 🇷🇺 Rusça | [README.ru.md](README.ru.md) | | 🇹🇷 Türkçe | [README.tr.md](README.tr.md) | 🇨🇳 Çince | [README.zh.md](README.zh.md) | -> 💡 **Çeviriye katkıda bulunmak mı istiyorsunuz?** Daha fazla dil eklememize yardımcı olmak için [Contributing](#contributing) bölümüne göz atın! +> 💡 **Çeviriye yardımcı olmak ister misiniz?** Daha fazla dil eklememize yardımcı olmak için [Katkıda Bulunma](#katkıda-bulunma) bölümüne bakın!
    - -## 🛠️ Sorun giderme + +## 🛠️ Sorun Giderme
    -Genel sorunları ve çözümleri görüntülemek için tıklayın +Yaygın sorunlar ve çözümler için tıklayın -- **Biçim tablosu görüntülenmiyor:** yt-dlp'yi en son sürüme güncelleyin ve her gece yt-dlp'ye geçin. -- **İndirme başarısız oluyor:** İnternet bağlantınızı kontrol edin ve videonun mevcut olduğundan emin olun. -- **Belirli indirme hataları:** - - **Özel videolar:** Özel içeriğe erişmek için çerez kimlik doğrulamasını kullanın. - - **Yaş kısıtlamalı içerik:** Yaş kısıtlamalı videoları görüntülemek için YouTube hesabına giriş yapın. - - **Coğrafi olarak engellenen videolar:** Bölgesel kısıtlamaları aşmak için bir VPN kullanmayı düşünün. - - **Kaldırılan/silinen videolar:** Video artık YouTube'da mevcut değil. - - **Canlı yayınlar:** Canlı yayınlar indirilemez; akışın bitmesini bekleyin. - - **Ağ hataları:** İnternet bağlantınızı kontrol edip tekrar deneyin. - - **Geçersiz URL'ler:** URL'nin doğru olduğundan ve desteklenen bir platforma ait olduğundan emin olun. - - **Premium içerik:** YouTube Premium üyeliği gerektirir. - - **Telif hakkı engellemeleri:** İçerik, telif hakkı kısıtlamaları nedeniyle engellenmiştir. -- **İndirmeden sonra video ve ses dosyalarını ayırın:** Bu, FFmpeg eksik olduğunda veya algılanmadığında meydana gelir. YTSage, yüksek kaliteli video ve ses akışlarını birleştirmek için FFmpeg'e ihtiyaç duyar. - - **Çözüm:** FFmpeg'in sisteminizin PATH'inde kurulu ve erişilebilir olduğundan emin olun. Windows kullanıcıları için en kolay seçenek, FFmpeg ile birlikte gelen `YTSage-v-ffmpeg.exe` dosyasını indirmektir. +- **Format tablosu görünmüyor:** yt-dlp'yi en son sürüme güncelleyin ve yt-dlp Nightly kanalına geçmeyi deneyin. +- **İndirme başarısız oldu:** İnternet bağlantınızı kontrol edin ve videonun erişilebilir olduğundan emin olun. +- **Belirli İndirme Hataları:** + - **Özel Videolar:** Özel içeriğe erişmek için çerez kimlik doğrulamasını kullanın. + - **Yaş Sınırlı İçerik:** Yaş sınırlı videoları görüntülemek için YouTube hesabınızda oturum açın. + - **Coğrafi Engelli Videolar:** Bölgesel kısıtlamaları aşmak için bir VPN kullanmayı düşünün. + - **Video Kaldırıldı:** Video artık YouTube'da mevcut değildir. + - **Canlı Yayınlar:** Canlı yayınlar yayınlanırken indirilemez; yayın bitene kadar bekleyin. + - **Ağ Hataları:** İnternet bağlantınızı kontrol edin ve tekrar deneyin. + - **Geçersiz URL:** URL'nin doğru olduğundan ve desteklenen bir platforma ait olduğundan emin olun. + - **Premium İçerik:** YouTube Premium aboneliği gerektirir. + - **Telif Hakkı Engeli:** İçerik telif hakkı kısıtlamaları nedeniyle engellenmiştir. +- **İndirme sonrası video ve ses dosyaları ayrı:** Bu durum FFmpeg eksik olduğunda veya algılanmadığında olur. YTSage, yüksek kaliteli video ve ses akışlarını birleştirmek için FFmpeg gerektirir. + - **Çözüm:** FFmpeg'in kurulu olduğundan ve sistem PATH'inizde erişilebilir olduğundan emin olun. Windows kullanıcıları için en kolay seçenek, FFmpeg ile birlikte gelen `YTSage-v-ffmpeg.exe` dosyasını indirmektir. --- #### 🛡️ Windows Defender / Antivirüs Uyarısı -Bazı antivirüs yazılımları `.exe` dosyalarını yanlış pozitif olarak işaretleyebilir. Bu, paket uygulamaların **bilinen bir sınırlamasıdır**. +Bazı antivirüs yazılımları `.exe` dosyalarını yanlış pozitif olarak işaretleyebilir. Bu, paketlenmiş uygulamaların **bilinen bir sınırlamasıdır**. -**Bu neden oluyor:** -- Antivirüs buluşsal yöntemleri, paketlenmiş yürütülebilir dosyaları şüpheli olarak yanlış tanımlayabilir +**Neden olur:** +- Antivirüs sezgiselleri paketlenmiş yürütülebilir dosyaları hatalı bir şekilde şüpheli olarak tanımlayabilir. -**Güvenli alternatifler:** -- ✅ **Pip kurulumunu kullanın:** `pip install ytsage` (önerilir) -- ✅ **Kaynaktan oluşturun**: bunu takip ederek [guide](../.github/CI_CD_README.md) -- ✅ **Uygulamayı antivirüs yazılımınızda beyaz listeye alın** +**Güvenli Seçenekler:** +- ✅ **pip kurulumunu kullanın:** `pip install ytsage` (önerilir) +- ✅ **Kaynaktan derleyin**: Bu [kılavuzu](.github/CI_CD_README.md) takip ederek +- ✅ **Uygulamayı antivirüs yazılımınızın beyaz listesine ekleyin**. #### 🍎 macOS: "Uygulama hasarlı ve açılamıyor" -Bu hatayı macOS Sonoma veya daha yeni bir sürümde görüyorsanız karantina özelliğini kaldırmanız gerekir. +macOS Sonoma veya daha yeni sürümlerde bu hatayı görüyorsanız, karantina özniteliğini kaldırmanız gerekir. -1. **Terminal'i açın** (Spotlight'ı kullanarak bulabilirsiniz). -2. **Aşağıdaki komutu yazın** ancak **henüz Enter'a basmayın**. Sondaki boşluğu eklediğinizden emin olun: +1. **Terminal'i açın** (Spotlight kullanarak bulabilirsiniz). +2. **Aşağıdaki komutu yazın**, ancak henüz Enter tuşuna **BASMAYIN**. Sonundaki boşluğu eklediğinizden emin olun: ```bash xattr -d com.apple.quarantine ``` -3. **`YTSage.app` dosyasını Finder pencerenizden sürükleyip doğrudan Terminal penceresine bırakın. Bu, doğru dosya yolunu otomatik olarak yapıştıracaktır. -4. **Komutu çalıştırmak için **Enter** tuşuna basın. -5. **YTSage.app'i tekrar açmayı deneyin.** Artık doğru şekilde başlatılması gerekir. +3. **`YTSage.app` dosyasını Finder penceresinden sürükleyin** ve doğrudan Terminal penceresine bırakın. Bu, doğru dosya yolunu otomatik olarak yapıştıracaktır. +4. Komutu çalıştırmak için **Enter tuşuna basın**. +5. **YTSage.app'i tekrar açmayı deneyin.** Artık düzgün bir şekilde çalışmalıdır. --- -#### **Yapılandırma Konumları (Gelişmiş)** +#### **Yapılandırma Konumu (Gelişmiş)** - **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage`
    - -## 💖 Sponsor + +## 💖 Sponsor Olun -YTSage size zaman kazandırıyorsa projeye sponsor olmayı düşünün. Sponsorluk, geliştirme süresinin, platformlar arası testlerin ve gelecekteki iyileştirmelerin karşılanmasına yardımcı olur. +YTSage size zaman kazandırıyorsa, projeye sponsor olmayı düşünün. Sponsorluklar geliştirme süresini, tüm platformlarda test yapmayı ve gelecekteki iyileştirmeleri karşılamaya yardımcı olur. -- GitHub Sponsorları: https://github.com/sponsors/oop7 -- Sponsor bağlantısına doğrudan uygulamanın içindeki Hakkında iletişim kutusundan da ulaşılabilir. +- GitHub Sponsors: https://github.com/sponsors/oop7 +- Sponsorluk bağlantısı uygulamadaki Hakkında diyaloğu üzerinden doğrudan mevcuttur. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) - -## 👥 Katkıda Bulunmak + +## 👥 Katkıda Bulunma -Katkılarınızı bekliyoruz! İşte nasıl yardımcı olabileceğiniz: +Katkılarınız bekliyoruz! İşte nasıl yardımcı olabileceğiniz: -1. 🍴 Depoyu çatallayın +1. 🍴 Depoyu Fork'layın 2. 🌿 Özellik dalınızı oluşturun: ```bash git checkout -b feature/AmazingFeature ``` -3. 💾 Değişikliklerinizi gerçekleştirin: +3. 💾 Değişikliklerinizi commit'leyin: ```bash - git commit -m 'Add some AmazingFeature' + git commit -m ' AmazingFeature Ekle' ``` -4. 📤 Şubeye itin: +4. 📤 Dalı push'layın: ```bash git push origin feature/AmazingFeature ``` -5. 🔄 Bir Çekme İsteği Açın +5. 🔄 Bir Pull Request açın -### 🌍 Çevirilere Katkıda Bulunmak +### 🌍 Çevirilerle Katkıda Bulunun -- Eşleşen yerelleştirilmiş README dosyasını güncelleyin (örneğin `README.es.md`) -- `ytsage/languages/.json` düzenleyerek uygulama dizelerini senkronize tutun -- Diliniz eksikse `README.md`'den başlayın ve `README..md`'i oluşturun +- İlgili yerelleştirilmiş README dosyasını güncelleyin (örn: `readme-translations/README.tr.md`) +- Uygulama dizelerini `ytsage/languages/.json` dosyasını düzenleyerek senkronize tutun +- Diliniz eksikse, `README.md` dosyasından başlayın ve `README..md` dosyasını oluşturun
    📂 Proje Yapısı ## YTSage - Proje Yapısı -Bu belge YTSage'in organize klasör yapısını açıklamaktadır. +Bu belge YTSage'in düzenli klasör yapısını detaylandırır. -### 📁 Proje Yapısı +### 📁 Proje Düzeni ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # GitHub konfigürasyonları +│ ├── 📁 ISSUE_TEMPLATE/ # Sorun şablonları +│ │ └── 🐛-bug-report.md # Hata raporu şablonu +│ ├─── 📁 workflows/ # GitHub Actions iş akışları +│ │ ├── build-linux.yml # Linux derleme akışı +│ │ ├── build-macos.yml # macOS derleme akışı +│ │ │── build-windows.yml # Windows derleme akışı +| | └── release-all.yml # Ana yayın akışı +│ └── 📄 CI_CD_README.md # CI/CD dökümantasyonu +├── 📁 branding/ # Marka varlıkları (ekran görüntüleri, SVG'ler) +│ ├── 📁 icons/ # Uygulama ikonları +│ ├── 📁 screenshots/ # Dökümantasyon için ekran görüntüleri +│ └── 📁 svg/ # SVG varlıkları +├── 📄 LICENSE # Lisans dosyası +├── 📄 pyproject.toml # Proje metadatası ve bağımlılıklar +├── 📄 README.md # Proje dökümantasyonu +├── 📄 requirements.txt # Python bağımlılıkları (dev) +└── 📁 ytsage/ # Kaynak kod paketi + ├── 📁 assets/ # Çalışma zamanı varlıkları + │ ├── 📁 Icon/ # Uygulama ikonları + │ └── 📁 sound/ # Ses dosyaları + ├── 📁 languages/ # Yerelleştirme dosyaları + │ ├── 📄 ar.json # Arapça çeviri + │ ├── 📄 de.json # Almanca çeviri + │ ├── 📄 en.json # İngilizce çeviri + │ └── ... # Diğer diller + ├── 📁 core/ # Temel iş mantığı + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # Deno entegrasyonu + │ ├── 📄 ytsage_downloader.py # İndirme işlevselliği + │ ├── 📄 ytsage_ffmpeg.py # FFmpeg entegrasyonu + │ ├── 📄 ytsage_utils.py # Yardımcı fonksiyonlar + │ └── 📄 ytsage_yt_dlp.py # yt-dlp entegrasyonu + ├── 📁 gui/ # Kullanıcı arayüzü bileşenleri + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # Ana uygulama penceresi + │ └── 📁 ytsage_gui_dialogs/ # Diyalog sınıfları + ├── 📁 utils/ # Yardımcı modüller + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # Yapılandırma yönetimi + │ └── 📄 ytsage_logger.py # Günlük tutma araçları + ├── 📄 __init__.py # Paket giriş noktası + └── 📄 main.py # Ana yürütme scripti ```
    -## ⭐️ Yıldız Tarihi +## ⭐️ Yıldız Geçmişi
    -## Yıldız Geçmişi +## Star History @@ -540,7 +546,7 @@ YTSage/ ## 📜 Lisans -Bu proje MIT Lisansı kapsamında lisanslıdır; ayrıntılar için [LICENSE](../LICENSE) dosyasına bakın. +Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için [LICENSE](LICENSE) dosyasına bakın. ## 🙏 Teşekkürler @@ -549,7 +555,7 @@ Bu proje MIT Lisansı kapsamında lisanslıdır; ayrıntılar için [LICENSE](..
    -

    Bir iyileştirme önermek veya hata bildirmek için konu açarak bu projeye katkıda bulunan herkese yürekten teşekkür ederiz.

    +

    İyileştirmeler önermek veya hataları bildirmek için sorunlar açarak bu projeye katkıda bulunan herkese çok teşekkürler.

    @@ -563,40 +569,41 @@ Bu proje MIT Lisansı kapsamında lisanslıdır; ayrıntılar için [LICENSE](.. - ile entegrasyon için çalışma zamanı + - + - + - - + + - + + - - + + - + - + - + - +
    Temel Bileşenler
    DenoYt-dlpyt-dlp entegrasyonu için runtime
    Kütüphaneler ve Çerçeveler
    Kütüphaneler ve Frameworkler
    PySide6GUI ÇerçevesiGUI Framework
    YastıkGörüntü İşlemePillowResim İşleme
    istekler
    requests HTTP İstekleri
    paketlemeVersiyon ve Paket İşlemepackagingSürüm ve Paket Yönetimi
    markdownMarkdown OluşturmaMarkdown İşleme
    loguruGünlüğe kaydetmeGünlük Kaydı
    Varlıklar ve Katkıda Bulunanlar
    Universfield'dan Yeni Bildirim 09Universfield'dan New Notification 09 Bildirim Sesi
    viru185Kod KatılımcısıKod Katkıda Bulunan
    @@ -604,14 +611,14 @@ Bu proje MIT Lisansı kapsamında lisanslıdır; ayrıntılar için [LICENSE](..
    -## ⚠️ Yasal Uyarı +## ⚠️ Feragatname -Bu araç yalnızca kişisel kullanım içindir. Lütfen YouTube'un hizmet şartlarına ve içerik oluşturucuların haklarına saygı gösterin. +Bu araç sadece kişisel kullanım içindir. Lütfen YouTube'un Hizmet Şartlarına ve içerik oluşturucuların haklarına saygı gösterin. ---
    -[oop7](https://github.com/oop7) tarafından ❤️ ile yapılmıştır +[oop7](https://github.com/oop7) tarafından ❤️ ile yapıldı
    From 0216f7be71592bb6b5b5f77d84f089c2e4a29dfd Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 15:47:20 +0300 Subject: [PATCH 554/568] Polish Russian README translation Refine the Russian README translation: update UI labels, headings and anchor IDs, translate screenshot alt texts and table entries, normalize installation and troubleshooting instructions, and improve wording/consistency across sections (installation, usage, features, networking, tools, localization and contribution). Small formatting and phrasing tweaks to make the Russian text clearer and more consistent. --- readme-translations/README.ru.md | 541 ++++++++++++++-------------- readme-translations/README.zh.md | 601 ++++++++++++++----------------- 2 files changed, 548 insertions(+), 594 deletions(-) diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md index 8e75d4d..c31ef25 100644 --- a/readme-translations/README.ru.md +++ b/readme-translations/README.ru.md @@ -1,7 +1,7 @@
    ytsage-wordmark -YTSage Interface +Интерфейс YTSage [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) [![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) @@ -12,81 +12,82 @@ [![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) [![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**Современный загрузчик YouTube с чистым интерфейсом PySide6.** -Скачивайте видео в любом качестве, извлекайте аудио, получайте субтитры и многое другое. +**Современный загрузчик с YouTube с чистым интерфейсом на PySide6.** +Загружайте видео в любом качестве, извлекайте аудио, получайте субтитры и многое другое. -### 🌍 README Языки +### 🌍 Языки README Английский: [EN](../README.md) -| Сообщение: [AR](README.ar.md) +| Арабский: [AR](README.ar.md) | Немецкий: [DE](README.de.md) | Испанский: [ES](README.es.md) | Французский: [FR](README.fr.md) -| Ответ: [HI](README.hi.md) -| Бахаса Индонезия: [ID](README.id.md) +| Хинди: [HI](README.hi.md) +| Индонезийский: [ID](README.id.md) | Итальянский: [IT](README.it.md) -| 日本語: [JA](README.ja.md) -| Польски: [PL](README.pl.md) +| Японский: [JA](README.ja.md) +| Польский: [PL](README.pl.md) | Португальский: [PT](README.pt.md) | Русский: [RU](README.ru.md) -| Тюркче: [TR](README.tr.md) -| 中文: [ZH](README.zh.md) +| Турецкий: [TR](README.tr.md) +| Китайский: [ZH](README.zh.md)

    - Установка • - Функции • - Использование • - Скриншоты • - Устранение неполадок • - Спонсор • - Содействие + Установка • + Функции • + Использование • + Скриншоты • + Решение проблем • + Спонсорство • + Участие в проекте

    --- - + ## ❓ Почему YTSage? -YTSage предназначен для пользователей, которым нужен **простой, но мощный загрузчик YouTube**. В отличие от других инструментов, он предлагает: +YTSage создан для пользователей, которым нужен **простой, но мощный загрузчик с YouTube**. В отличие от других инструментов, он предлагает: -- Чистый, современный интерфейс PySide6. -- Загрузка видео, аудио и субтитров в один клик. -- Расширенные функции, такие как SponsorBlock, объединение субтитров и выбор списка воспроизведения. -– Дополнительный общий режим для сайтов, поддерживаемых yt-dlp, за пределами YouTube. -- Кроссплатформенная поддержка и простота установки. +- Современный и чистый интерфейс PySide6 +- Загрузку видео, аудио и субтитров одним щелчком мыши +- Дополнительные функции, такие как SponsorBlock, объединение субтитров и выбор плейлиста +- Опциональный "Общий режим" (Generic Mode) для сайтов помимо YouTube, поддерживаемых yt-dlp +- Кроссплатформенную поддержку и простую установку - -## ✨ Особенности + +## ✨ Функции
    -| Основные возможности | Расширенные возможности | Дополнительные возможности | +| Основные функции | Продвинутые функции | Дополнительные возможности | |-----------------------------------|-----------------------------------------|------------------------------------| -| 🎥 Формат таблицы | 🚫 Интеграция SponsorBlock | 🎞️ Отображение FPS/HDR | -| 🎵 Извлечение аудио | 📝 Выбор и объединение нескольких субтитров | 🔄 Автоматическое обновление yt-dlp | -| ✨ Простой интерфейс | 💾 Сохранить описание и миниатюру | 🛠️ Обнаружение FFmpeg/yt-dlp/Deno | -| 📋 Поддержка и выбор плейлистов | 🚀 Ограничитель скорости | ⚙️ Пользовательские команды | -| 📑 Встроить главы | ✂️ Обрезать разделы видео | 🍪 Вход с помощью файлов cookie | +| 🎥 Таблица форматов | 🚫 Интеграция SponsorBlock | 🎞️ Отображение FPS/HDR | +| 🎵 Извлечение аудио | 📝 Выбор и объединение субтитров | 🔄 Автообновление yt-dlp | +| ✨ Простой пользовательский интерфейс | 💾 Сохранение описания и обложки | 🛠️ Обнаружение FFmpeg/yt-dlp/Deno | +| 📋 Поддержка и выбор плейлиста | 🚀 Ограничение скорости | ⚙️ Пользовательские команды | +| 📑 Интеграция разделов | ✂️ Обрезка видео | 🍪 Вход через Cookies | | 📜 История загрузок | 🔄 Выбор канала выпуска | 🌐 Поддержка прокси | -| 🎚️ Преобразование аудиоформатов | 🎬 Настройки формата видео | 🆙 Встроенная вкладка «Обновление» | -| 🌍 Общий режим | 🔊 Нормализация звука (EBU R128) | 🌍 Локализация на 14 языках | +| 🎚️ Конвертация аудиоформатов | 🎬 Настройки видеоформата | 🆙 Встроенная вкладка обновления | +| 🌍 Общий режим | 🔊 Нормализация звука (EBU R128) | 🌍 Локализация на 14 языков | +| 💾 Экспорт плейлиста | ⚙️ Качество и субтитры по умолчанию | |
    - + ## 🚀 Установка -### ⚡ Быстрая установка (рекомендуется) +### ⚡ Быстрая установка (Рекомендуется) -Установите YTSage из PyPI: +Установите YTSage через PyPI: ```bash pip install ytsage ```
    -🔄 Обновите существующую установку +🔄 Обновить существующую установку ```bash pip install --upgrade ytsage @@ -100,45 +101,45 @@ pip install --upgrade ytsage ytsage ``` -### 📦 Готовые исполняемые файлы +### 📦 Готовые исполняемые файлы (Executable) -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 Скачать последний релиз](https://github.com/oop7/YTSage/releases/latest) -#### 🪟 Окна +#### 🪟 Windows | Формат | Описание | |--------|-------------| | ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Стандартный установщик | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | В комплекте FFmpeg | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Портативная версия, установка не требуется | -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Портативный с FFmpeg, в архиве | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | С включенным FFmpeg | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Портативная версия (не требует установки) | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | Портативная с FFmpeg, сжатая (ZIP) |
    -🛠️ Этапы установки +🛠️ Шаги по установке -1. **Установщик EXE (`.exe`)**: дважды щелкните файл и следуйте указаниям мастера установки. -2. **Портативная версия (`.zip`)**: распакуйте архив в нужное место и запустите `ytsage.exe`. -3. **FFmpeg Bundled**: выберите версии в комплекте FFmpeg, если в вашей системе не установлен FFmpeg. +1. **EXE установщик (`.exe`)**: Дважды щелкните файл и следуйте инструкциям мастера установки. +2. **Портативная версия (`.zip`)**: Распакуйте файл в нужное место и запустите `ytsage.exe`. +3. **Встроенный FFmpeg**: Если в вашей системе не установлен FFmpeg, выбирайте версии со встроенным FFmpeg.
    -#### 🐧 Линукс +#### 🐧 Linux | Формат | Описание | |--------|-------------| | ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Пакет Debian | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, портативный | -| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | пакет RPM | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Комплект Flatpak | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage, Портативный | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Пакет RPM | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Пакет Flatpak |
    -🛠️ Этапы установки +🛠️ Шаги по установке - **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # Если нужно исправить зависимости ``` -- **Об/мин (`.rpm`)**: +- **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` @@ -147,7 +148,7 @@ ytsage chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**: следуйте инструкциям на Flathub или запустите: +- **Flatpak**: Следуйте инструкциям на Flathub или выполните: ```bash flatpak install flathub io.github.oop7.ytsage ``` @@ -157,16 +158,16 @@ ytsage | Формат | Описание | |--------|-------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Заархивированное приложение для Apple Silicon | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Установщик образа диска для Apple Silicon | +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Приложение ZIP для Apple Silicon | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Установщик DMG для Apple Silicon |
    -🛠️ Этапы установки +🛠️ Шаги по установке -- **Установщик DMG (`.dmg`)**: дважды щелкните, чтобы смонтировать, затем перетащите `YTSage.app` в папку «Приложения». -- **Архив приложений (`.zip`)**: распакуйте zip-архив и переместите `YTSage.app` в папку «Приложения». +- **DMG установщик (`.dmg`)**: Дважды щелкните, чтобы смонтировать, и перетащите `YTSage.app` в папку Applications (Программы). +- **Приложение в архиве (`.zip`)**: Распакуйте ZIP и переместите `YTSage.app` в папку Applications. -*Примечание. Если вы столкнулись с ошибкой «Приложение повреждено», см. [macOS troubleshooting section](#troubleshooting) ниже.* +*Примечание: Если вы получили ошибку "App is damaged", см. раздел по macOS ниже.*
    --- @@ -181,21 +182,21 @@ git clone https://github.com/oop7/YTSage.git cd YTSage ``` -### 2. Установите зависимости +### 2. Установить зависимости -#### ⚡ С уф +#### ⚡ С помощью uv ```bash uv pip install . ``` -#### 📦 Или со стандартным пипом +#### 📦 Или через стандартный pip ```bash pip install . ``` -### 3. Запустите приложение +### 3. Запустить приложение ```bash python -m ytsage.main @@ -203,147 +204,151 @@ python -m ytsage.main
    - + ## 📸 Скриншоты
    - - + + - + - - + + - +
    Download SettingsPlaylist DownloadНастройки загрузкиЗагрузка плейлиста
    Настройки загрузкиСкачать плейлистЗагрузка плейлиста
    Audio Format Selection with Save ThumbnailCustom OptionsВыбор аудиоформатаПользовательские опции
    АудиоформатПользовательские параметрыПользовательские опции
    -
    + + ## 📖 Использование
    🎯 Базовое использование 1. **Запустите YTSage** -2. **Вставьте URL-адрес YouTube** (или нажмите кнопку «Вставить URL-адрес»). -3. **Нажмите «Анализ»**. +2. **Вставьте ссылку на YouTube** (или используйте кнопку "Paste URL") +3. **Нажмите "Analyze"** 4. **Выберите формат:** - - `Video` для загрузки видео. - - `Audio Only` для извлечения звука -5. **Выберите параметры:** - - Включить субтитры и выбрать язык - - Включить объединение субтитров - - Сохранить миниатюру - - Удалить спонсорские сегменты - - Сохранить описание - - Вставлять главы -6. **Выберите выходной каталог** -7. **Нажмите «Загрузить»**. + - `Video` для загрузки видео + - `Audio Only` для извлечения аудио +5. **Выберите опции:** + - Включите субтитры и выберите язык + - Включите объединение субтитров (Merge) + - Сохранить обложку (Save Thumbnail) + - Удалить спонсорские вставки (SponsorBlock) + - Сохранить описание (Save Description) + - Внедрить главы (Embed Chapters) +6. **Выберите папку для сохранения** +7. **Нажмите "Download"** -> 💡 Каталогом загрузки по умолчанию является папка «Загрузки» пользователя. +> 💡 Папка загрузок по умолчанию — папка "Загрузки" текущего пользователя.
    -📋 Скачать плейлист +📋 Загрузка плейлиста -1. **Вставьте URL-адрес плейлиста** -2. **Нажмите «Анализ»**. -3. **Выберите видео в селекторе плейлиста (необязательно, по умолчанию — все)** -4. **Выберите желаемый формат/качество** -5. **Нажмите «Загрузить»**. +1. **Вставьте ссылку на плейлист** +2. **Нажмите "Analyze"** +3. **Выберите видео в селекторе (по умолчанию выбраны все)** +4. **Выберите нужный формат/качество** +5. **Нажмите "Download"** -> 💡 Приложение автоматически обрабатывает очередь загрузки +> 💡 Приложение автоматически управляет очередью загрузки, и вы можете экспортировать записи плейлиста в файлы `.txt`, `.csv`, `.m3u` или `.json`.
    -🌍 Общий режим для сайтов, не принадлежащих YouTube +🌍 Общий режим для сайтов помимо YouTube -Используйте общий режим, если хотите, чтобы YTSage принимал URL-адреса с сайтов, поддерживаемых yt-dlp, таких как Dailymotion, CBC Gem, TikTok и других. +Используйте Общий режим (Generic Mode), когда хотите, чтобы YTSage принимал ссылки с других сайтов, поддерживаемых yt-dlp, таких как Dailymotion, TikTok и другие. -Как его использовать: +Как использовать: 1. Откройте `Download Settings`. 2. Включите `Generic Mode`. -3. Вставьте поддерживаемый URL-адрес видео или списка воспроизведения, не относящегося к YouTube. +3. Вставьте ссылку на видео или плейлист с поддерживаемого сайта (не YouTube). 4. Нажмите `Analyze`. -5. Выберите формат и загрузите как обычно. +5. Выберите формат и скачайте как обычно. Примечания: -- Общий режим изменяет только проверку URL-адреса внутри YTSage. Целевой сайт по-прежнему должен поддерживаться установленной версией yt-dlp. -– Некоторым сайтам требуются файлы cookie, сеанс входа в систему, прокси-сервер или дополнительные аргументы yt-dlp в зависимости от экстрактора. -– Если на сайте произошел сбой, сначала обновите yt-dlp на вкладке встроенного средства обновления, прежде чем сообщать о проблеме. +- Общий режим только отключает строгую проверку URL внутри YTSage. Сайт все равно должен поддерживаться установленной версией yt-dlp. +- Некоторым сайтам требуются cookies, вход, прокси или дополнительные аргументы yt-dlp. +- Если сайт перестал работать, обновите yt-dlp во встроенной вкладке обновления, прежде чем сообщать о проблеме.
    -🧰 Параметры мультимедиа и загрузки +🧰 Опции медиа и загрузки -- **Параметры субтитров:** фильтруйте языки и встраивайте субтитры в видеофайл. -- **Объединение субтитров:** объединение субтитров в видеофайл для жестко запрограммированных субтитров. -- **Сохранить описание:** сохранить описание видео в виде текстового файла. -- **Сохранить миниатюру:** сохраните миниатюру видео как файл изображения. -- **Встроить главы.** Встраивайте маркеры глав в качестве метаданных для совместимых видеопроигрывателей. -- **Удалить спонсорские сегменты.** Удалите спонсорские сегменты из видео с помощью SponsorBlock. -- **Обрезать видео:** загружайте только определенные части видео, указав временные диапазоны в формате `HH:MM:SS`. +- **Опции субтитров:** Фильтруйте языки и внедряйте субтитры в видеофайл. +- **Объединение субтитров:** "Вшивает" субтитры в видеофайл (hardcode). +- **Сохранить описание:** Сохраняет описание видео в текстовый файл. +- **Сохранить обложку:** Сохраняет превью видео как изображение. +- **Внедрить главы:** Добавляет маркеры глав в метаданные для совместимых медиаплееров. +- **Удалить спонсорские вставки:** Использует SponsorBlock для удаления рекламных сегментов из видео. +- **Обрезать видео:** Загружайте только части видео, указав временной интервал в формате `HH:MM:SS`.
    -⚙️ Настройки вывода и файла +⚙️ Настройки вывода и файлов + +- **Ограничение скорости:** Ограничьте скорость загрузки, например, `500K` для 500 КБ/с. +- **Путь загрузки:** Сохраните путь по умолчанию для будущих загрузок. Доступно в **Download Settings → Download Path**. +- **Разрешение по умолчанию:** Установите предпочитаемое разрешение для автовыбора (например, 1080p, 720p). Доступно в **Download Settings → Default Video Resolution**. +- **Языки субтитров по умолчанию:** Установите языки по умолчанию для автовыбора (через запятую, например, `ru,en`). Доступно в **Download Settings → Default Subtitle Languages**. +- **Формат имени файла:** Настройте формат имени выходного файла, используя переменные типа `%(title)s`, `%(uploader)s` и др. Доступно в **Download Settings → Filename Format**. +- **Принудительный формат вывода:** Принудительно скачивайте видео в определенном контейнере, например `mp4`, `webm` или `mkv`. Доступно в **Download Settings → Output Format Settings**. +- **Конвертация аудио:** Конвертируйте аудио в форматы `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis`, или `Best`. Доступно в **Download Settings → Audio Format Settings**. +- **Нормализация звука:** Выравнивает громкость аудио загрузок согласно EBU R128. +- **Одновременные соединения:** Значительно увеличивает скорость за счет загрузки в несколько потоков. Доступно в **Download Settings → General → Concurrent Connections** (рекомендуется 8-10). -- **Ограничитель скорости:** Ограничьте скорость загрузки, например `500K` до 500 КБ/с. -- **Сохранить путь загрузки:** сохраните путь загрузки по умолчанию для будущих загрузок. Доступно в **Настройки загрузки → Путь загрузки**. -- **Формат имени выходного файла:** Настройте формат имени выходного файла, используя такие переменные, как `%(title)s`, `%(uploader)s` и `%(resolution)s`. Доступно в **Настройки загрузки → Формат имени файла**. -- **Принудительный формат вывода.** Принудительно загружайте видео в определенный формат контейнера, например `mp4`, `webm` или `mkv`. Доступно в **Настройки загрузки → Настройки формата вывода**. -- **Преобразование аудиоформата:** конвертируйте загрузки, содержащие только аудио, в предпочтительные форматы, такие как `AAC`, `MP3`, `FLAC`, `WAV`, `Opus`, `M4A`, `Vorbis` или `Best`. Доступно в **Настройки загрузки → Настройки аудиоформата**. -- **Нормализация звука:** Стандартизируйте громкость для загрузок, содержащих только аудио, используя EBU R128. -- **Одновременные соединения:** Значительно увеличьте скорость загрузки, скачивая файлы в виде нескольких фрагментов одновременно. Доступно в **Настройки загрузки → Общие → Одновременные соединения** (По умолчанию 1, рекомендуемый максимум 8-10 для предотвращения блокировки IP).\n
    🌐 Доступ и сеть -- **Войти с помощью файлов cookie:** войдите на YouTube, используя файлы cookie, чтобы получить доступ к личному контенту. - Как его использовать: - 1. **Рекомендуется**. Используйте встроенную опцию `Extract cookies from browser` в приложении, затем выберите браузер и, при необходимости, профиль. - 2. Альтернативно извлеките файлы cookie вручную: - а. Экспортируйте файлы cookie из вашего браузера, используя расширение, например [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file). - б. Скопируйте файлы cookie в формате Netscape. - в. Создайте файл с именем `cookies.txt` и вставьте в него файлы cookie. - д. Выберите файл `cookies.txt` в приложении. -- **Поддержка прокси:** используйте прокси-сервер для загрузки, например `http://:` -- **Общий режим.** Разрешить YTSage анализировать и загружать контент с сайтов, не принадлежащих YouTube, и поддерживаемых yt-dlp. Включите его в разделе **Настройки загрузки → Общий режим**. +- **Вход через Cookies:** Войдите в YouTube через куки для доступа к приватному контенту. + Как использовать: + 1. **Рекомендуется:** Используйте встроенную опцию `Extract cookies from browser`, выберите браузер и профиль. + 2. Или вручную: + a. Экспортируйте куки через расширение [cookie-editor](https://github.com/moustachauve/cookie-editor). + b. Скопируйте куки в формате Netscape. + c. Создайте файл `cookies.txt` и вставьте их туда. + d. Выберите этот файл в приложении. +- **Поддержка прокси:** Используйте прокси-сервер для загрузок, например: `http://:` +- **Общий режим:** Позволяет скачивать с сайтов помимо YouTube. Включите в **Download Settings → Generic Mode**.
    -🛠️ Инструменты и уход +🛠️ Инструменты и обслуживание -– **Пользовательские команды.** Доступ к расширенным функциям yt-dlp с помощью аргументов командной строки. -- **Вкладка «Обновление».** Управляйте встроенными инструментами обновления из одного места в пользовательских настройках: - - **Обновления yt-dlp:** проверяйте наличие обновлений и переключайтесь между стабильными и ночными выпусками. - - **Проверка версии FFmpeg:** проверьте версию FFmpeg и откройте руководства по установке. - - **Обновления Deno:** проверьте и обновите среду выполнения Deno. -- **Обнаружение FFmpeg/yt-dlp/Deno:** автоматическое определение путей и версий FFmpeg, yt-dlp и Deno в диалоговом окне «О программе». -- **История загрузок.** Просматривайте прошлые загрузки с помощью миниатюр и статусов с помощью кнопки **История**. +- **Пользовательские команды:** Доступ к продвинутым функциям yt-dlp через аргументы командной строки. +- **Вкладка обновления:** Управляйте инструментами в одном месте (Custom Options): + - **Обновление yt-dlp:** Проверка обновлений, переключение между Stable и Nightly ветками. + - **Версия FFmpeg:** Проверка версии и инструкции по установке. + - **Обновление Deno:** Проверка и обновление Deno. +- **Обнаружение FFmpeg/yt-dlp/Deno:** Автоматически находит пути и версии в окне "About". +- **История загрузок:** Просматривайте историю с обложками и статусом через кнопку **History**.
    🌍 Локализация -YTSage поддерживает **14 языков**, что обеспечивает доступность по всему миру. Выберите предпочитаемый язык в меню **Пользовательские параметры → Язык**. +YTSage поддерживает **14 языков**. Выберите нужный в **Custom Options → Language**. ### Поддерживаемые языки @@ -351,183 +356,174 @@ YTSage поддерживает **14 языков**, что обеспечива |----------|------|----------|------| | 🇺🇸 Английский | `en` | 🇪🇸 Испанский | `es` | | 🇸🇦 Арабский | `ar` | 🇫🇷 Французский | `fr` | -| 🇩🇪 немецкий | `de` | 🇮🇳 Хинди | `hi` | +| 🇩🇪 Немецкий | `de` | 🇮🇳 Хинди | `hi` | | 🇮🇩 Индонезийский | `id` | 🇮🇹 Итальянский | `it` | | 🇯🇵 Японский | `ja` | 🇵🇱 Польский | `pl` | | 🇧🇷 Португальский | `pt` | 🇷🇺 Русский | `ru` | | 🇹🇷 Турецкий | `tr` | 🇨🇳 Китайский | `zh` | -### README Переводы +### Переводы README | Язык | Файл | Язык | Файл | |----------|------|----------|------| -| 🇺🇸 Английский | [README.md](../README.md) | 🇪🇸 Испанский | [README.es.md](README.es.md) +| 🇺🇸 Английский | [README.md](README.md) | 🇪🇸 Испанский | [README.es.md](README.es.md) | | 🇸🇦 Арабский | [README.ar.md](README.ar.md) | 🇫🇷 Французский | [README.fr.md](README.fr.md) | -| 🇩🇪 немецкий | [README.de.md](README.de.md) | 🇮🇳 Хинди | [README.hi.md](README.hi.md) | +| 🇩🇪 Немецкий | [README.de.md](README.de.md) | 🇮🇳 Хинди | [README.hi.md](README.hi.md) | | 🇮🇩 Индонезийский | [README.id.md](README.id.md) | 🇮🇹 Итальянский | [README.it.md](README.it.md) | | 🇯🇵 Японский | [README.ja.md](README.ja.md) | 🇵🇱 Польский | [README.pl.md](README.pl.md) | | 🇧🇷 Португальский | [README.pt.md](README.pt.md) | 🇷🇺 Русский | [README.ru.md](README.ru.md) | | 🇹🇷 Турецкий | [README.tr.md](README.tr.md) | 🇨🇳 Китайский | [README.zh.md](README.zh.md) | -> 💡 **Хотите сделать перевод?** Посетите раздел [Contributing](#contributing), чтобы мы могли добавить больше языков! +> 💡 **Хотите помочь с переводом?** Ознакомьтесь с разделом [Участие в проекте](#участие-в-проекте), чтобы помочь нам добавить новые языки!
    - -## 🛠️ Устранение неполадок + +## 🛠️ Решение проблем
    -Нажмите, чтобы просмотреть распространенные проблемы и решения +Нажмите, чтобы увидеть частые вопросы -– **Таблица формата не отображается.** Обновите yt-dlp до последней версии и переключайтесь на yt-dlp каждую ночь. -- **Не удалось загрузить.** Проверьте подключение к Интернету и убедитесь, что видео доступно. -- **Конкретные ошибки загрузки:** - - **Частные видео.** Используйте аутентификацию с помощью файлов cookie для доступа к частному контенту. - - **Контент с возрастными ограничениями.** Войдите в аккаунт YouTube, чтобы просмотреть видео с возрастными ограничениями. - – **Видео с геоблокировкой.** Рассмотрите возможность использования VPN, чтобы обойти региональные ограничения. - – **Удалены видео:** Видео больше не доступно на YouTube. - - **Прямые трансляции:** Прямые трансляции невозможно загрузить; дождитесь окончания потока. - - **Ошибки сети.** Проверьте подключение к Интернету и повторите попытку. - - **Недопустимые URL-адреса.** Убедитесь, что URL-адрес правильный и принадлежит поддерживаемой платформе. - - **Премиум-контент:** требуется подписка YouTube Premium. - - **Блокировка авторских прав.** Контент блокируется из-за ограничений авторских прав. -- **Разделение видео и аудиофайлов после загрузки.** Это происходит, когда FFmpeg отсутствует или не обнаружен. YTSage требует FFmpeg для объединения высококачественных видео и аудио потоков. - - **Решение:** Убедитесь, что FFmpeg установлен и доступен в PATH вашей системы. Для пользователей Windows самый простой вариант — загрузить файл `YTSage-v-ffmpeg.exe`, который поставляется в комплекте с FFmpeg. +- **Не появляется таблица форматов:** Обновите yt-dlp до последней версии и попробуйте переключиться на канал Nightly. +- **Загрузка не удалась:** Проверьте интернет-соединение и доступность видео. +- **Специфические ошибки:** + - **Приватные видео:** Используйте вход через Cookies. + - **Ограничение по возрасту:** Войдите в аккаунт YouTube. + - **Геоблокировка:** Используйте VPN. + - **Видео удалено:** Видео больше недоступно на YouTube. + - **Прямые трансляции:** Стримы нельзя скачать, пока они идут; дождитесь завершения. + - **Сетевые ошибки:** Проверьте подключение к интернету и повторите попытку. + - **Неверный URL:** Убедитесь, что URL указан правильно и принадлежит поддерживаемой платформе. + - **Премиум-контент:** Требуется подписка YouTube Premium. + - **Блокировка авторских прав:** Контент заблокирован из-за ограничений авторского права. +- **Видео и аудио разделены после загрузки:** Это происходит, если FFmpeg отсутствует или не обнаружен. YTSage нужен FFmpeg для объединения потоков. + - **Решение:** Убедитесь, что FFmpeg установлен и добавлен в PATH. Пользователям Windows проще всего скачать версию с `-ffmpeg.exe`. --- -#### 🛡️ Предупреждение Защитника Windows/антивируса +#### 🛡️ Предупреждение Windows Defender / Антивируса -Некоторые антивирусные программы могут помечать файлы `.exe` как ложные срабатывания. Это **известное ограничение** пакетных приложений. +Некоторые антивирусы могут помечать `.exe` файлы как ложные срабатывания. Это **известная особенность** упакованных приложений. -**Почему это происходит:** -- Антивирусная эвристика может ошибочно идентифицировать упакованные исполняемые файлы как подозрительные. +**Причины:** +- Эвристические алгоритмы антивирусов могут ошибочно идентифицировать упакованные исполняемые файлы как подозрительные. -**Безопасные альтернативы:** -- ✅ **Используйте установку pip:** `pip install ytsage` (рекомендуется) -- ✅ **Сборка из исходного кода**: следуя этому [guide](../.github/CI_CD_README.md) -- ✅ **Внесите приложение в белый список** в антивирусном программном обеспечении. +**Безопасные варианты:** +- ✅ **Установка через pip:** `pip install ytsage` (рекомендуется) +- ✅ **Сборка из исходников**: Инструкция [здесь](.github/CI_CD_README.md) +- ✅ **Добавить в исключения** антивируса. -#### 🍎 macOS: «Приложение повреждено и его невозможно открыть» -Если вы видите эту ошибку в macOS Sonoma или более поздней версии, вам необходимо удалить атрибут карантина. +#### 🍎 macOS: "App is damaged and cannot be opened" +Если вы видите эту ошибку на macOS Sonoma или новее: -1. **Откройте терминал** (его можно найти с помощью Spotlight). -2. **Введите следующую команду**, но **не** пока нажимайте Enter. Обязательно добавьте пробел в конце: +1. **Откройте Терминал**. +2. **Введите команду** (с пробелом в конце): ```bash xattr -d com.apple.quarantine ``` -3. **Перетащите файл `YTSage.app`** из окна Finder и поместите его прямо в окно терминала. Это автоматически вставит правильный путь к файлу. -4. **Нажмите Enter**, чтобы запустить команду. -5. **Попробуйте снова открыть YTSage.app.** Теперь оно должно запуститься правильно. +3. **Перетащите `YTSage.app`** из Finder в окно Терминала. +4. **Нажмите Enter**. +5. Попробуйте открыть программу снова. --- -#### **Места конфигурации (дополнительно)** +#### **Пути конфигурации (Продвинутым)** - **Windows:** `%LOCALAPPDATA%\YTSage` - **macOS:** `~/Library/Application Support/YTSage` - **Linux:** `~/.local/share/YTSage`
    - -## 💖 Спонсор + +## 💖 Спонсорство -Если YTSage сэкономит вам время, рассмотрите возможность спонсирования проекта. Спонсорство помогает покрыть время разработки, тестирования на разных платформах и будущих улучшений. +Если YTSage экономит ваше время, поддержите разработку проекта. Спонсорство помогает поддерживать тестирование на всех платформах и внедрять новые функции. -- Спонсоры GitHub: https://github.com/sponsors/oop7 -- Спонсорская ссылка также доступна непосредственно внутри приложения из диалогового окна «О программе». +- GitHub Sponsors: https://github.com/sponsors/oop7 +- Ссылка на спонсорство также есть в окне "About" в приложении. [![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) - -## 👥 Вклад + +## 👥 Участие в проекте -Мы приветствуем вклады! Вот как вы можете помочь: +Мы рады любой помощи! -1. 🍴 Форкните репозиторий -2. 🌿 Создайте свою ветку функций: - ```bash - git checkout -b feature/AmazingFeature - ``` -3. 💾 Зафиксируйте изменения: - ```bash - git commit -m 'Add some AmazingFeature' - ``` -4. 📤 Нажмите на ветку: - ```bash - git push origin feature/AmazingFeature - ``` -5. 🔄 Откройте запрос на включение +1. 🍴 Сделайте Fork репозитория +2. 🌿 Создайте ветку: `git checkout -b feature/NewFeature` +3. 💾 Сделайте коммит: `git commit -m 'Add NewFeature'` +4. 📤 Отправите изменения: `git push origin feature/NewFeature` +5. 🔄 Создайте Pull Request -### 🌍 Участие в переводах +### 🌍 Помощь с переводами -- Обновите соответствующий локализованный файл README (например, `README.es.md`). -- Синхронизируйте строки приложения, отредактировав `ytsage/languages/.json`. -- Если ваш язык отсутствует, начните с `README.md` и создайте `README..md`. +- Обновите файл README (например, `readme-translations/README.ru.md`) +- Обновите строки интерфейса в `ytsage/languages/.json` +- Если ваш язык отсутствует, начните с `README.md` и создайте `README..md`
    📂 Структура проекта -## YTSage — Структура проекта +## YTSage - Структура проекта -В этом документе описывается организованная структура папок YTSage. +Этот документ описывает организованную структуру папок YTSage. -### 📁 Структура проекта +### 📁 Схема проекта ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # Настройки GitHub +│ ├── 📁 ISSUE_TEMPLATE/ # Шаблоны проблем +│ │ └── 🐛-bug-report.md # Шаблон отчета об ошибке +│ ├─── 📁 workflows/ # Рабочие процессы GitHub Actions +│ │ ├── build-linux.yml # Сборка для Linux +│ │ ├── build-macos.yml # Сборка для macOS +│ │ │── build-windows.yml # Сборка для Windows +| | └── release-all.yml # Основной процесс выпуска +│ └── 📄 CI_CD_README.md # Документация CI/CD +├── 📁 branding/ # Брендинг (скриншоты, SVG) +│ ├── 📁 icons/ # Иконки приложения +│ ├── 📁 screenshots/ # Скриншоты для документации +│ └── 📁 svg/ # SVG ассеты +├── 📄 LICENSE # Файл лицензии +├── 📄 pyproject.toml # Метаданные проекта и зависимости +├── 📄 README.md # Документация проекта +├── 📄 requirements.txt # Зависимости Python (разработка) +└── 📁 ytsage/ # Исходный код + ├── 📁 assets/ # Ресурсы времени выполнения + │ ├── 📁 Icon/ # Иконки приложения + │ └── 📁 sound/ # Звуковые файлы + ├── 📁 languages/ # Файлы локализации + │ ├── 📄 ar.json # Перевод на арабский + │ ├── 📄 de.json # Перевод на немецкий + │ ├── 📄 en.json # Перевод на английский + │ └── ... # Другие языки + ├── 📁 core/ # Основная бизнес-логика + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_deno.py # Интеграция Deno + │ ├── 📄 ytsage_downloader.py # Функционал загрузки + │ ├── 📄 ytsage_ffmpeg.py # Интеграция FFmpeg + │ ├── 📄 ytsage_utils.py # Вспомогательные функции + │ └── 📄 ytsage_yt_dlp.py # Интеграция yt-dlp + ├── 📁 gui/ # Компоненты интерфейса + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_gui_main.py # Главное окно приложения + │ └── 📁 ytsage_gui_dialogs/ # Классы диалогов + ├── 📁 utils/ # Утилиты + │ ├── 📄 __init__.py + │ ├── 📄 ytsage_config_manager.py # Управление конфигурацией + │ └── 📄 ytsage_logger.py # Логирование + ├── 📄 __init__.py # Точка входа в пакет + └── 📄 main.py # Основной скрипт запуска ```
    -## ⭐️ Звездная история +## ⭐️ История звезд
    -## Звездная история +## Star History @@ -541,7 +537,7 @@ YTSage/ ## 📜 Лицензия -Этот проект лицензируется по лицензии MIT — подробности см. в файле [LICENSE](../LICENSE). +Проект распространяется под лицензией MIT — подробности в файле [LICENSE](LICENSE). ## 🙏 Благодарности @@ -550,54 +546,55 @@ YTSage/
    -

    Сердечное спасибо всем, кто внес свой вклад в этот проект, открыв проблему, чтобы предложить улучшения или сообщить об ошибке.

    +

    Большое спасибо всем, кто внес свой вклад в этот проект, открывая проблемы с предложениями по улучшению или отчетами об ошибках.

    - + - + - + - + - + - + - - + + + - - + + - - + + - + - + - + - +
    Основные компоненты
    yt-dlpЗагрузить двигательДвижок загрузки
    FFmpegОбработка мультимедиаОбработка медиа
    DenoСреда выполнения для интеграции с yt-dlpСреда для интеграции yt-dlp
    Библиотеки и платформы
    Библиотеки и фреймворки
    PySide6GUI FrameworkGUI фреймворк
    ПодушкаPillow Обработка изображений
    запросыHTTP-запросы
    requestsHTTP запросы
    упаковкаОбработка версий и пакетовpackagingУправление версиями
    уценкаРендеринг уценкиmarkdownРендеринг Markdown
    loguruВедение журналаЛогирование
    Активы и участники
    Контент и участники
    Новое уведомление 09 от UniversfieldNew Notification 09 от Universfield Звук уведомления
    viru185Соавтор кодаУчастник разработки
    @@ -607,12 +604,10 @@ YTSage/ ## ⚠️ Отказ от ответственности -Этот инструмент предназначен только для личного использования. Пожалуйста, соблюдайте условия обслуживания YouTube и права создателей контента. +Этот инструмент предназначен только для личного использования. Пожалуйста, соблюдайте Условия использования YouTube и права создателей контента. ---
    - -Сделано с ❤️ автором [oop7](https://github.com/oop7) - +Сделано с ❤️ от [oop7](https://github.com/oop7)
    diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md index 5503451..c467eab 100644 --- a/readme-translations/README.zh.md +++ b/readme-translations/README.zh.md @@ -1,85 +1,86 @@
    ytsage-wordmark -YTSage Interface +YTSage 界面 [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) -[![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) -[![GitHub Downloads](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) -[![License: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) -[![Supported Platforms](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![PyPI 下载量](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) +[![GitHub 下载量](https://img.shields.io/github/downloads/oop7/YTSage/total?color=1f2937&style=for-the-badge&label=downloads&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) +[![许可证: MIT](https://img.shields.io/badge/License-MIT-1f2937?style=for-the-badge&logo=opensource&logoColor=white)](https://opensource.org/licenses/MIT) +[![支持平台](https://img.shields.io/badge/platform-cross--platform-1f2937?style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/releases) [![GitHub Stars](https://img.shields.io/github/stars/oop7/YTSage?color=c90000&style=for-the-badge&logo=github&logoColor=white)](https://github.com/oop7/YTSage/stargazers) -[![PyPI version](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) -[![GitHub Sponsors](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) +[![PyPI 版本](https://img.shields.io/pypi/v/ytsage?color=c90000&style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/ytsage/) +[![GitHub 赞助](https://img.shields.io/github/sponsors/oop7?color=c90000&style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/oop7) -**具有干净 PySide6 界面的现代 YouTube 下载器。** -下载任何质量的视频、提取音频、获取字幕等等。 +**一款现代、整洁、基于 PySide6 的 YouTube 下载器。** +支持下载任意质量的视频、提取音频、获取字幕等更多功能。 -### 🌍 自述文件语言 +### 🌍 README 语言 -英文:[EN](../README.md) -|巴黎: [AR](README.ar.md) -|德语:[DE](README.de.md) -|西班牙语:[ES](README.es.md) -|法语:[FR](README.fr.md) -|编号:[HI](README.hi.md) -|印度尼西亚语:[ID](README.id.md) -|意大利语:[IT](README.it.md) -| 日本语:[JA](README.ja.md) -|波兰斯基:[PL](README.pl.md) -|葡萄牙语:[PT](README.pt.md) -| Русский: [RU](README.ru.md) -|土耳其:[TR](README.tr.md) +英语: [EN](../README.md) +| 阿拉伯语: [AR](README.ar.md) +| 德语: [DE](README.de.md) +| 西班牙语: [ES](README.es.md) +| 法语: [FR](README.fr.md) +| 印地语: [HI](README.hi.md) +| 印尼语: [ID](README.id.md) +| 意大利语: [IT](README.it.md) +| 日语: [JA](README.ja.md) +| 波兰语: [PL](README.pl.md) +| 葡萄牙语: [PT](README.pt.md) +| 俄语: [RU](README.ru.md) +| 土耳其语: [TR](README.tr.md) | 中文: [ZH](README.zh.md)

    - 安装 • - 特点 • - 使用 • - 屏幕截图 • - 故障排除 • - 赞助商 • - 贡献 + 安装 • + 功能 • + 使用说明 • + 屏幕截图 • + 故障排除 • + 赞助支持 • + 贡献

    --- - -## ❓ 为什么选择 YTSage? + +## ❓ 为什么选择 YTSage? -YTSage 专为想要**简单但功能强大的 YouTube 下载器**的用户而设计。与其他工具不同,它提供: +YTSage 专为寻找 **简单但强大** 的 YouTube 下载器的用户而设计。与其他工具不同,它提供: -- 干净、现代的 PySide6 界面 -- 视频、音频和字幕一键下载 -- SponsorBlock、字幕合并和播放列表选择等高级功能 -- 适用于 YouTube 以外支持 yt-dlp 的网站的可选通用模式 -- 跨平台支持且易于安装 +- 现代、整洁的 PySide6 用户界面 +- 一键下载视频、音频和字幕 +- 支持 SponsorBlock、字幕合并和播放列表选择等高级功能 +- 可选的“通用模式”,支持 yt-dlp 兼容的其他非 YouTube 网站 +- 跨平台支持,安装简单 - -## ✨ 特点 + +## ✨ 功能
    -|核心特点|高级功能 |额外功能 | -|------------------------------------------------|--------------------------------------------------------|------------------------------------| -| 🎥 格式化表格 | 🚫 SponsorBlock 集成 | 🎞️ FPS/HDR 显示 | -| 🎵 音频提取 | 📝 多字幕选择和合并 | 🔄 自动更新 yt-dlp | -| ✨ 简单的用户界面 | 💾 保存描述和缩略图 | 🛠️ FFmpeg/yt-dlp/Deno 检测 | -| 📋 播放列表支持和选择器 | 🚀 限速器 | ⚙️ 自定义命令 | -| 📑 嵌入章节 | ✂️ 修剪视频部分 | 🍪 使用 Cookie 登录 | -| 📜 下载历史记录 | 🔄 发布渠道选择 | 🌐 代理支持 | -| 🎚️ 音频格式转换 | 🎬 视频格式设置 | 🆙 内置更新程序选项卡 | -| 🌍 通用模式 | 🔊 音频标准化 (EBU R128) | 🌍 14 种语言本地化 | +| 核心功能 | 高级功能 | 更多功能 | +|-----------------------------------|-----------------------------------------|------------------------------------| +| 🎥 格式选择列表 | 🚫 集成 SponsorBlock | 🎞️ FPS / HDR 显示 | +| 🎵 音频提取 | 📝 字幕选择与合并 | 🔄 yt-dlp 自动更新 | +| ✨ 现代 UI 体验 | 💾 保存描述与缩略图 | 🛠️ FFmpeg/yt-dlp/Deno 检测 | +| 📋 播放列表支持与选择 | 🚀 下载限速 | ⚙️ 自定义参数支持 | +| 📑 视频列表集成 | ✂️ 视频剪辑 | 🍪 Cookie 登录集成 | +| 📜 下载历史记录 | 🔄 更新版本分支选择 | 🌐 代理支持 | +| 🎚️ 音频格式转换 | 🎬 视频格式设置 | 🆙 内置更新页签 | +| 🌍 通用模式 | 🔊 音频归一化 (EBU R128) | 🌍 支持 14 种语言 | +| 💾 播放列表导出 | ⚙️ 默认质量与字幕设置 | |
    - + ## 🚀 安装 -### ⚡ 快速安装(推荐) +### ⚡ 快速安装 (推荐) -从 PyPI 安装 YTSage: +通过 PyPI 安装 YTSage: ```bash pip install ytsage @@ -94,60 +95,60 @@ pip install --upgrade ytsage
    -然后启动应用程序: +然后通过以下命令运行: ```bash ytsage ``` -### 📦 预构建的可执行文件 +### 📦 独立可执行文件 -> [👉 Download Latest Release](https://github.com/oop7/YTSage/releases/latest) +> [👉 下载最新版本](https://github.com/oop7/YTSage/releases/latest) #### 🪟 Windows -|格式|描述 | +| 格式 | 说明 | |--------|-------------| -| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) |标准安装程序 | -| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) |与 FFmpeg 捆绑 | -| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) |便携版,无需安装| -| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) |带有 FFmpeg 的便携式,压缩 | +| ![Windows EXE](https://img.shields.io/badge/Windows-EXE-0078D6?style=for-the-badge&logo=windows&logoColor=white) | 标准安装程序 | +| ![Windows FFmpeg](https://img.shields.io/badge/Windows-FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | 包含 FFmpeg 的安装程序 | +| ![Windows Portable](https://img.shields.io/badge/Windows-Portable-0078D6?style=for-the-badge&logo=windows&logoColor=white) | 便携版 (无需安装) | +| ![Windows Portable FFmpeg](https://img.shields.io/badge/Windows-Portable%20FFmpeg-0078D6?style=for-the-badge&logo=windows&logoColor=white) | 包含 FFmpeg 的便携版 (ZIP) |
    -🛠️安装步骤 +🛠️ 安装步骤 -1. **EXE 安装程序 (`.exe`)**:双击该文件并按照安装向导进行操作。 -2. **便携式版本(`.zip`)**:将存档解压到您所需的位置并运行`ytsage.exe`。 -3. **FFmpeg Bundled**:如果您的系统上没有安装 FFmpeg,请选择 FFmpeg 捆绑版本。 +1. **EXE 安装程序 (`.exe`)**: 双击并按照安装向导进行操作。 +2. **便携版 (`.zip`)**: 解压到所需位置并运行 `ytsage.exe`。 +3. **内置 FFmpeg**: 如果系统没有安装 FFmpeg,请选择带 `-ffmpeg` 的版本。
    #### 🐧 Linux -|格式|描述 | +| 格式 | 说明 | |--------|-------------| -| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian 软件包 | -| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | AppImage,便携式| -| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) |转包 | -| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak 捆绑包 | +| ![Linux DEB](https://img.shields.io/badge/Linux-DEB-FCC624?style=for-the-badge&logo=linux&logoColor=black) | Debian 软件包 | +| ![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-FCC624?style=for-the-badge&logo=linux&logoColor=black) | 便携 AppImage | +| ![Linux RPM](https://img.shields.io/badge/Linux-RPM-FCC624?style=for-the-badge&logo=linux&logoColor=black) | RPM 软件包 | +| ![Flathub](https://img.shields.io/badge/Linux-Flatpak-FCC624?style=for-the-badge&logo=flathub&logoColor=black) | Flatpak 软件包 |
    -🛠️安装步骤 +🛠️ 安装步骤 -- **DEB (`.deb`)**: +- **DEB (`.deb`)**: ```bash sudo dpkg -i ytsage_*.deb - sudo apt-get install -f # Fix missing dependencies if any + sudo apt-get install -f # 如有依赖问题请运行 ``` -- **转速(`.rpm`)**: +- **RPM (`.rpm`)**: ```bash sudo rpm -i ytsage-*.rpm ``` -- **应用程序图像(`.AppImage`)**: +- **AppImage (`.AppImage`)**: ```bash chmod +x YTSage-*.AppImage ./YTSage-*.AppImage ``` -- **Flatpak**:按照 Flathub 上的说明进行操作或运行: +- **Flatpak**: 按照 Flathub 的说明或运行: ```bash flatpak install flathub io.github.oop7.ytsage ``` @@ -155,47 +156,47 @@ ytsage #### 🍎 macOS -|格式|描述 | +| 格式 | 说明 | |--------|-------------| -| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 的压缩应用程序 | -| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 的磁盘映像安装程序 | +| ![macOS ARM64 APP](https://img.shields.io/badge/macOS-ARM64%20APP-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 专用 ZIP 压缩包 | +| ![macOS ARM64 DMG](https://img.shields.io/badge/macOS-ARM64%20DMG-000000?style=for-the-badge&logo=apple&logoColor=white) | Apple Silicon 专用 DMG 安装程序 |
    -🛠️安装步骤 +🛠️ 安装步骤 -- **DMG 安装程序 (`.dmg`)**:双击安装,然后将 `YTSage.app` 拖到您的应用程序文件夹中。 -- **应用程序存档 (`.zip`)**:解压 zip 并将 `YTSage.app` 移动到您的应用程序文件夹。 +- **DMG 安装程序 (`.dmg`)**: 双击挂载,然后将 `YTSage.app` 拖入 Applications 文件夹。 +- **ZIP 应用包 (`.zip`)**: 解压并移动 `YTSage.app` 到 Applications 文件夹。 -*注意:如果您遇到“应用程序已损坏”错误,请参阅下面的[macOS troubleshooting section](#troubleshooting)。* +*注意:如果遇到“应用已损坏”的提示,请参阅下方的 macOS 解决办法。*
    ---
    -💻从源手动安装 +💻 从源码手动安装 -### 1.克隆存储库 +### 1. 克隆仓库 ```bash git clone https://github.com/oop7/YTSage.git cd YTSage ``` -### 2.安装依赖项 +### 2. 安装依赖 -#### ⚡ 有紫外线 +#### ⚡ 使用 uv ```bash uv pip install . ``` -#### 📦 或使用标准点 +#### 📦 或使用标准 pip ```bash pip install . ``` -### 3. 运行应用程序 +### 3. 运行程序 ```bash python -m ytsage.main @@ -203,330 +204,289 @@ python -m ytsage.main
    - -## 📸 截图 + +## 📸 屏幕截图
    - - + + - + - - + + - +
    Download SettingsPlaylist Download下载设置播放列表下载
    下载设置播放列表下载播放列表列表
    Audio Format Selection with Save ThumbnailCustom Options音频格式选择自定义选项
    音频格式音频格式设置 自定义选项
    -
    + -## 📖 用法 + +## 📖 使用说明
    -🎯基本用法 +🎯 基本使用方法 -1. **启动 YTSage** -2. **粘贴 YouTube URL**(或使用“粘贴 URL”按钮) -3. **点击“分析”** -4. **选择格式:** - - `Video` 用于视频下载 - - `Audio Only` 用于音频提取 -5. **选择选项:** +1. **运行 YTSage** +2. **粘贴 YouTube 地址** (或点击 "Paste URL") +3. **点击 "Analyze" (分析)** +4. **选择下载模式:** + - `Video` 下载视频 + - `Audio Only` 仅提取音频 +5. **配置下载项:** - 启用字幕并选择语言 - - 启用字幕合并 - - 保存缩略图 - - 删除赞助商部分 - - 保存描述 - - 嵌入章节 -6. **选择输出目录** -7. **点击“下载”** + - 启用字幕合并 (Merge) + - 保存缩略图 (Save Thumbnail) + - 启用赞助内容跳过 (SponsorBlock) + - 下载描述文本 (Save Description) + - 嵌入视频章节 (Embed Chapters) +6. **选择路径** +7. **点击 "Download" (下载)** -> 💡 默认下载目录是用户的“Downloads”文件夹。 +> 💡 默认下载到系统的“下载”文件夹。
    -📋播放列表下载 +📋 下载播放列表 -1. **粘贴播放列表 URL** -2. **点击“分析”** -3. **从播放列表选择器中选择视频(可选,默认为全部)** -4. **选择所需的格式/质量** -5. **点击“下载”** +1. **粘贴播放列表地址** +2. **添加并分析** +3. **在弹出窗口中选择视频 (默认全选)** +4. **设置质量方案** +5. **开始下载** -> 💡 应用程序自动处理下载队列 +> 💡 程序会自动管理下载队列。您可以将列表导出为 `.txt`, `.csv`, `.m3u` 或 `.json` 格式。
    -🌍非 YouTube 网站的通用模式 +🌍 非 YouTube 网站 (通用模式) -当您希望 YTSage 接受来自 yt-dlp 支持的网站(例如 Dailymotion、CBC Gem、TikTok 等)的 URL 时,请使用通用模式。 +当您想从被 yt-dlp 支持的其他网站(如 TikTok、Dailymotion 等)下载时,请开启通用模式。 -使用方法: +如何使用: -1. 打开`Download Settings`。 -2. 启用`Generic Mode`。 -3. 粘贴受支持的非 YouTube 视频或播放列表 URL。 -4. 单击`Analyze`。 -5. 选择格式并照常下载。 +1. 打开 `Download Settings` (下载设置)。 +2. 启用 `Generic Mode` (通用模式)。 +3. 输入非 YouTube 的支持网站链接。 +4. 点击 `Analyze` (分析)。 +5. 正常下载。 -注意事项: +说明: -- 通用模式仅更改 YTSage 内的 URL 验证。您安装的 yt-dlp 版本仍必须支持目标站点。 -- 某些站点需要 cookie、登录会话、代理或额外的 yt-dlp 参数,具体取决于提取器。 -- 如果站点出现故障,请先从内置更新程序选项卡更新 yt-dlp,然后再报告问题。 +- 通用模式仅关闭了 YTSage 内部的 URL 类型检查。网站支持程度仍取决于您安装的 yt-dlp。 +- 有些站点可能需要特定的 Cookie 或代理配置。 +- 如果某个网站无法分析,请先在内置更新程序中更新 yt-dlp。
    -🧰媒体和下载选项 +🧰 媒体与下载选项 -- **字幕选项:** 过滤语言并将字幕嵌入到视频文件中 -- **字幕合并:** 将字幕合并到视频文件中以获取硬编码字幕 -- **保存描述:** 将视频描述保存为文本文件 -- **保存缩略图:** 将视频缩略图保存为图像文件 -- **嵌入章节:** 将章节标记嵌入为兼容视频播放器的元数据 -- **删除赞助商片段:** 使用 SponsorBlock 从视频中删除赞助商片段 -- **修剪视频:** 通过以 `HH:MM:SS` 格式指定时间范围,仅下载视频的特定部分 +- **字幕选项:** 过滤特定语言并支持嵌入到视频中。 +- **字幕合并:** 将字幕“烧录”到视频中(硬字幕)。 +- **保存描述:** 将视频描述保存为独立的文本文档。 +- **保存缩略图:** 下载视频的高清封面。 +- **嵌入章节:** 允许将视频章节标记写入媒体元数据。 +- **赞助商跳过:** 配合 SponsorBlock 自动跳过或剪辑掉广告段落。 +- **视频剪裁:** 输入 `HH:MM:SS` 时间点来实现部分下载。
    -⚙️输出和文件设置 +⚙️ 文件与输出设置 -- **限速器:**限制下载速度,例如`500K`为500 KB/s -- **保存下载路径:** 保存默认下载路径以供将来下载。在**下载设置→下载路径**中可用。 -- **输出文件名格式:** 使用`%(title)s`、`%(uploader)s`和`%(resolution)s`等变量自定义输出文件名格式。在**下载设置 → 文件名格式**中可用。- **强制输出格式:** 强制视频下载为特定容器格式,例如`mp4`、`webm`或`mkv`。在**下载设置 → 输出格式设置**中可用。 -- **音频格式转换:** 将纯音频下载转换为首选格式,例如 `AAC`、`MP3`、`FLAC`、`WAV`、`Opus`、`M4A`、 `Vorbis`,或`Best`。在**下载设置 → 音频格式设置**中可用。 -- **音频归一化:** 使用 EBU R128 标准化纯音频下载的音量。 -- **并发连接数:** 通过同时分多部分下载文件来显着提高下载速度。可在 **下载设置 → 常规 → 并发连接数** 中找到(默认为1,建议最大为 8-10 以防止 IP 限制)。\n -
    - -
    -🌐接入和网络 - -- **使用 Cookie 登录:** 使用 Cookie 登录 YouTube 以访问私人内容。 - 使用方法: - 1. **推荐:** 使用应用程序中的内置`Extract cookies from browser`选项,然后选择您的浏览器和可选的配置文件。 - 2. 或者,手动提取 cookie: - a.使用类似 [cookie-editor](https://github.com/moustachauve/cookie-editor?tab=readme-ov-file) 的扩展程序从浏览器导出 cookie - b.以 Netscape 格式复制 cookie - c.创建一个名为 `cookies.txt` 的文件并将 cookie 粘贴到其中 - d.在应用程序中选择`cookies.txt`文件 -- **代理支持:** 使用代理服务器进行下载,例如`http://:` -- **通用模式:** 允许 YTSage 从 yt-dlp 支持的非 YouTube 网站分析和下载。从**下载设置 → 通用模式**启用它。 +- **下载限速:** 输入如 `500K` 表示限制为 500 KB/s。 +- **保存路径:** 在 **Download Settings → Download Path** 中保存您的默认位置。 +- **默认分辨率:** 设置您首选的清晰度(如 1080p, 720p)。 +- **默认字幕语言:** 输入语言代码(如 `zh,en`)来自动选择默认字幕。 +- **文件命名模板:** 通过 `%(title)s` 等变量自定义文件名格式。 +- **强制输出格式:** 强制转换输出容器,如 `mp4`, `webm` 或 `mkv`。 +- **音频转换:** 将音频转换为 `AAC`, `MP3`, `FLAC` 等格式。 +- **音量归一化:** 使用 EBU R128 标准使下载的音量均衡。 +- **多线程连接:** 设置 **Concurrent Connections** 为 8-10 以最大化下载速度。
    -🛠️工具与维护 +🌐 进阶访问与网络 -- **自定义命令:** 通过命令行参数访问高级 yt-dlp 功能 -- **更新程序选项卡:** 从自定义选项中的一处管理内置更新工具: - - **yt-dlp 更新:** 检查更新并在稳定版和夜间发布频道之间切换 - - **FFmpeg 版本检查器:** 检查您的 FFmpeg 版本并打开安装指南 - - **Deno 更新:** 检查并更新 Deno 运行时 -- **FFmpeg/yt-dlp/Deno 检测:** 从“关于”对话框中自动检测 FFmpeg、yt-dlp 和 Deno 路径和版本。 -- **下载历史记录:** 通过“**历史记录**”按钮查看过去的下载,其中包含缩略图和状态。 +- **Cookie 登录:** 允许通过 Cookie 下载私人内容或绕过限制。 + 推荐方法: + 1. 在设置中点击 `Extract cookies from browser`,选择您的浏览器。 + 2. 或:导出 Netscape 格式的 `cookies.txt` 文件并手动载入。 +- **代理支持:** 支持设置 HTTP 代理,例如 `http://127.0.0.1:8080`。
    -🌍本地化 +🛠️ 系统工具与维护 -YTSage 支持**14 种语言**,可在全球范围内访问。从**自定义选项 → 语言**中选择您的首选语言。 +- **自定义参数:** 为 yt-dlp 传递特定的命令行参数。 +- **内置更新器:** (在 Custom Options 中) + - **yt-dlp 更新:** 在稳定版和测试版之间切换。 + - **FFmpeg 检测:** 验证安装路劲。 + - **Deno 更新:** 维护相关的集成环境。 +- **下载历史:** 管理您的所有下载历史记录,包含缩略图和状态。 -### 支持的语言 +
    -|语言 |代码|语言 |代码| +
    +🌍 语言支持 + +YTSage 支持 **14 种语言**。您可以在 **Custom Options → Language** 中更改。 + +### 支持的界面语言 + +| 语言 | 代码 | 语言 | 代码 | |----------|------|----------|------| | 🇺🇸 英语 | `en` | 🇪🇸 西班牙语 | `es` | | 🇸🇦 阿拉伯语 | `ar` | 🇫🇷 法语 | `fr` | | 🇩🇪 德语 | `de` | 🇮🇳 印地语 | `hi` | -| 🇮🇩 印度尼西亚语 | `id` | 🇮🇹 意大利语 | `it` | +| 🇮🇩 印尼语 | `id` | 🇮🇹 意大利语 | `it` | | 🇯🇵 日语 | `ja` | 🇵🇱 波兰语 | `pl` | | 🇧🇷 葡萄牙语 | `pt` | 🇷🇺 俄语 | `ru` | | 🇹🇷 土耳其语 | `tr` | 🇨🇳 中文 | `zh` | -### 自述文件翻译 +### README 翻译版 -|语言 |文件 |语言 |文件 | +| 语言 | 文件 | 语言 | 文件 | |----------|------|----------|------| -| 🇺🇸 英语 | [README.md](../README.md) | 🇪🇸 西班牙语 | [README.es.md](README.es.md) +| 🇺🇸 英语 | [README.md](README.md) | 🇪🇸 西班牙语 | [README.es.md](README.es.md) | | 🇸🇦 阿拉伯语 | [README.ar.md](README.ar.md) | 🇫🇷 法语 | [README.fr.md](README.fr.md) | | 🇩🇪 德语 | [README.de.md](README.de.md) | 🇮🇳 印地语 | [README.hi.md](README.hi.md) | -| 🇮🇩 印度尼西亚语 | [README.id.md](README.id.md) | 🇮🇹 意大利语 | [README.it.md](README.it.md) | +| 🇮🇩 印尼语 | [README.id.md](README.id.md) | 🇮🇹 意大利语 | [README.it.md](README.it.md) | | 🇯🇵 日语 | [README.ja.md](README.ja.md) | 🇵🇱 波兰语 | [README.pl.md](README.pl.md) | | 🇧🇷 葡萄牙语 | [README.pt.md](README.pt.md) | 🇷🇺 俄语 | [README.ru.md](README.ru.md) | | 🇹🇷 土耳其语 | [README.tr.md](README.tr.md) | 🇨🇳 中文 | [README.zh.md](README.zh.md) | -> 💡 **想要贡献翻译吗?** 查看 [Contributing](#contributing) 部分以帮助我们添加更多语言! +> 💡 **想要贡献翻译?** 欢迎查看 [贡献指南](#贡献) 部分!
    - + ## 🛠️ 故障排除
    -点击查看常见问题及解决方案 +常见问题解答 -- **格式表不显示:** 将 yt-dlp 更新到最新版本,并切换到 yt-dlp nightly。 -- **下载失败:** 检查您的互联网连接并确保视频可用。 -- **具体下载错误:** - - **私人视频:** 使用cookie身份验证访问私人内容。 - - **有年龄限制的内容:** 登录 YouTube 帐户即可观看有年龄限制的视频。 - - **地理封锁的视频:** 考虑使用 VPN 来绕过区域限制。 - - **删除/删除的视频:** YouTube 上不再提供视频。 - - **直播:** 直播无法下载;等待流结束。 - - **网络错误:** 检查您的互联网连接并重试。 - - **无效 URL:** 确保 URL 正确且来自受支持的平台。 - - **高级内容:** 需要 YouTube Premium 会员资格。 - - **版权封锁:** 由于版权限制,内容被封锁。 -- **下载后分离视频和音频文件:** 当 FFmpeg 丢失或未检测到时会发生这种情况。 YTSage 需要 FFmpeg 来合并高质量的视频和音频流。 - - **解决方案:** 确保 FFmpeg 已安装并可在系统路径中访问。对于 Windows 用户,最简单的选择是下载与 FFmpeg 捆绑在一起的 `YTSage-v-ffmpeg.exe` 文件。 +- **没有显示格式表格:** 请更新 yt-dlp。如果仍无效,请尝试切换到测试版 (Nightly) 分支。 +- **下载失败:** 请检查网络连接或该地区视频是否可用。 +- **常见特定的错误提示:** + - **私有视频:** 需提供 Cookie 登录。 + - **内容受限:** 部分视频需登录账号。 + - **地理锁定:** 需使用代理或 VPN。 + - **视频已删除:** 视频已不存在。 + - **直播内容:** YTSage 目前不支持实时直播下载,请等直播结束后再试。 +- **下载后画面和声音分离:** 意味着系统中未安装或未检测到 FFmpeg。 + - **解决方法:** 确保 FFmpeg 已安装并加入 PATH,或下载带 `-ffmpeg` 版本的 Windows 程序。 --- -#### 🛡️ Windows Defender / 防病毒警告 +#### 🛡️ Windows Defender / 杀毒软件警告 -某些防病毒软件可能会将“.exe”文件标记为误报。这是打包应用程序的**已知限制**。 +某些杀毒软件可能会误报。这是打包程序的常见现象。 -**为什么会发生这种情况:** -- 防病毒启发式可能会将打包的可执行文件误认为可疑 +**原因:** +- 启发式查杀可能会误认为打包的可执行文件是恶意软件。 -**安全替代品:** -- ✅ **使用pip安装:** `pip install ytsage`(推荐) -- ✅ **从源代码构建**:按照此[guide](../.github/CI_CD_README.md) -- ✅ **在防病毒软件中将应用程序列入白名单** +**安全建议:** +- ✅ **通过 pip 安装:** `pip install ytsage`(推荐) +- ✅ **自行构建**: 参照 [CI_CD 指南](.github/CI_CD_README.md) +- ✅ **添加排除项**。 -#### 🍎 macOS:“应用程序已损坏且无法打开” -如果您在 macOS Sonoma 或更高版本上看到此错误,则需要删除隔离属性。 +#### 🍎 macOS: "应用已损坏,无法打开" +在 macOS Sonoma 及以后版本: -1. **打开终端**(您可以使用 Spotlight 找到它)。 -2. **键入以下命令**,但**不要**按 Enter 键。确保末尾包含空格: - ```bash - xattr -d com.apple.quarantine - ``` -3. **将 `YTSage.app` 文件**从 Finder 窗口拖放到终端窗口中。这将自动粘贴正确的文件路径。 -4. **按 Enter** 运行命令。 -5. **再次尝试打开 YTSage.app。** 现在它应该可以正确启动。 +1. 打开 **终端 (Terminal)**。 +2. 输入命令 (结尾有一个空格): + ```bash + xattr -d com.apple.quarantine + ``` +3. 从 Finder 中将 **YTSage.app** 拖入终端窗口。 +4. 按回车。 +5. 再次打开应用。 --- -#### **配置位置(高级)** -- **Windows:** `%LOCALAPPDATA%\YTSage` -- **macOS:** `~/Library/Application Support/YTSage` -- **Linux:** `~/.local/share/YTSage` +#### **配置存放路径** +- **Windows:** `%LOCALAPPDATA%\YTSage` +- **macOS:** `~/Library/Application Support/YTSage` +- **Linux:** `~/.local/share/YTSage`
    - -## 💖 赞助商 + +## 💖 赞助支持 -如果 YTSage 可以节省您的时间,请考虑赞助该项目。赞助有助于涵盖开发时间、跨平台测试以及未来的改进。 +如果 YTSage 节省了您的时间,请考虑资助本项目。赞助收入将用于多平台测试环境的维护和新功能开发。 -- GitHub 赞助商:https://github.com/sponsors/oop7 -- 赞助商链接也可以直接在应用程序内的“关于”对话框中找到。 +- GitHub Sponsors: https://github.com/sponsors/oop7 +- 您也可以通过应用内的“About (关于)”窗口找到捐赠链接。 -[![Sponsor YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) +[![赞助 YTSage](https://img.shields.io/badge/Sponsor-YTSage-EA4AAA?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sponsors/oop7) - + ## 👥 贡献 -我们欢迎贡献!以下是您可以提供帮助的方法: +感谢所有帮助! -1. 🍴 分叉存储库 -2. 🌿 创建您的功能分支: - ```bash - git checkout -b feature/AmazingFeature - ``` -3. 💾 提交您的更改: - ```bash - git commit -m 'Add some AmazingFeature' - ``` -4. 📤推送到分支: - ```bash - git push origin feature/AmazingFeature - ``` -5. 🔄 打开拉取请求 +1. 🍴 Fork 仓库 +2. 🌿 创建特性分支: `git checkout -b feature/NewFeature` +3. 💾 提交更改: `git commit -m 'Add NewFeature'` +4. 📤 推送分支: `git push origin feature/NewFeature` +5. 🔄 开启 Pull Request -### 🌍 贡献翻译 +### 🌍 翻译贡献 -- 更新匹配的本地化自述文件(例如`README.es.md`) -- 通过编辑`ytsage/languages/.json`保持应用程序字符串同步 -- 如果您的语言缺失,请从`README.md`开始并创建`README..md` +- 您可以更新各语种 README (例如 `readme-translations/README.zh.md`)。 +- 也可以翻译界面词条:`ytsage/languages/<语言代码>.json`。
    -📂项目结构 +📂 项目结构 ## YTSage - 项目结构 -本文档描述了 YTSage 的组织文件夹结构。 - -### 📁 项目结构 +### 📁 目录概览 ``` YTSage/ -├── 📁 .github/ # GitHub configuration -│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates -│ │ └── 🐛-bug-report.md # Bug report template -│ ├─── 📁 workflows/ # GitHub Actions workflows -│ │ ├── build-linux.yml # Linux build workflow -│ │ ├── build-macos.yml # macOS build workflow -│ │ │── build-windows.yml # Windows build workflow -| | └── release-all.yml # Master release workflow -│ └── 📄 CI_CD_README.md # CI/CD documentation -├── 📁 branding/ # Branding assets (Screenshots, SVGs) -│ ├── 📁 icons/ # Application icons -│ ├── 📁 screenshots/ # Screenshots for documentation -│ └── 📁 svg/ # SVG assets -├── 📄 LICENSE # License file -├── 📄 pyproject.toml # Project metadata and dependencies -├── 📄 README.md # Project documentation -├── 📄 requirements.txt # Python dependencies (dev) -└── 📁 ytsage/ # Source package - ├── 📁 assets/ # Runtime assets - │ ├── 📁 Icon/ # Application icons - │ └── 📁 sound/ # Audio files - ├── 📁 languages/ # Localization files - │ ├── 📄 ar.json # Arabic translation - │ ├── 📄 de.json # German translation - │ ├── 📄 en.json # English translation - │ └── ... # Other languages - ├── 📁 core/ # Core business logic - │ ├── 📄 __init__.py # Core package init - │ ├── 📄 ytsage_deno.py # Deno integration - │ ├── 📄 ytsage_downloader.py # Download functionality - │ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration - │ ├── 📄 ytsage_utils.py # Utility functions - │ └── 📄 ytsage_yt_dlp.py # yt-dlp integration - ├── 📁 gui/ # User interface components - │ ├── 📄 __init__.py # GUI package init - │ ├── 📄 ytsage_gui_main.py # Main application window - │ └── 📁 ytsage_gui_dialogs/ # Dialog classes - ├── 📁 utils/ # Utility modules - │ ├── 📄 __init__.py # Utils package init - │ ├── 📄 ytsage_config_manager.py # Configuration management - │ └── 📄 ytsage_logger.py # Logging utilities - ├── 📄 __init__.py # Package entry point - └── 📄 main.py # Main execution script +├── 📁 .github/ # GitHub 设置 +│ ├── 📁 ISSUE_TEMPLATE/ # 问题模板 +│ ├─── 📁 workflows/ # GitHub Actions 流程 +├── 📁 branding/ # 品牌资源 (截图, SVG) +│ ├── 📁 icons/ # 图标 +│ ├── 📁 screenshots/ # 截图说明 +│ └── 📁 svg/ # SVG 素材 +├── 📄 LICENSE # 许可证 +├── 📄 pyproject.toml # 项目元数据与依赖 +├── 📄 README.md # 英语 README +├── 📄 requirements.txt # 开发依赖 +└── 📁 ytsage/ # 源代码 + ├── 📁 assets/ # 运行时资源 (音频, 图标) + ├── 📁 languages/ # 多语言 JSON 文件 + ├── 📁 core/ # 下载与集成核心逻辑 + ├── 📁 gui/ # UI 组件 + ├── 📁 utils/ # 工具类 + ├── 📄 __init__.py + └── 📄 main.py # 程序入口 ```
    -## ⭐️ 明星历史 +## ⭐️ 关注趋势
    -## 明星历史 +## Star History @@ -540,63 +500,64 @@ YTSage/ ## 📜 许可证 -该项目已获得 MIT 许可证 - 有关详细信息,请参阅[LICENSE](../LICENSE) 文件。 +本项目基于 MIT 许可证分发 - 详情请参阅 [LICENSE](LICENSE) 文件。 -## 🙏致谢 +## 🙏 鸣谢
    -显示致谢 +查看致谢名单
    -

    衷心感谢所有通过提出改进建议或报告错误为该项目做出贡献的人。

    +

    特别鸣谢所有通过反馈、建议或代码合并来完善此工具的贡献者。

    - + - + - - + + - + - + - - - - - + + - - + + - + + + + + - + - + - + - +
    核心组件
    yt-dlp下载引擎核心下载引擎
    FFmpeg媒体处理媒体流处理
    德诺与 yt-dlp 集成的运行时Deno集成运行环境
    库和框架
    库与框架
    PySide6GUI框架GUI 框架
    枕头图像处理
    请求HTTP 请求Pillow图片处理
    包装版本和包处理requests网络请求
    降价packaging版本管理
    markdown Markdown 渲染
    loguru记录日志记录
    资产和贡献者
    内容与贡献
    Universfield 的新通知 09Universfield 的通知音效 通知声音
    viru185代码贡献者代码贡献
    @@ -606,12 +567,10 @@ YTSage/ ## ⚠️ 免责声明 -该工具仅供个人使用。请尊重 YouTube 的服务条款和内容创作者的权利。 +本工具仅供个人学习与研究使用。请尊重 YouTube 服务条款及创作者版权。 ---
    - -由[oop7](https://github.com/oop7)用❤️制作 - +由 [oop7](https://github.com/oop7) 倾力协作 ❤️
    From d5817540625df8d4acc7c8f966e3db9c96e68d0f Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 15:50:37 +0300 Subject: [PATCH 555/568] Fix image paths in README Update README.md image src attributes to use 'branding/...' instead of '../branding/...', correcting broken links to the wordmark and various screenshots (main, Download-Settings, playlist, audio_format, Custom-Option) so images render properly in the repository's README. --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a7264d5..50e7545 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@
    -ytsage-wordmark -YTSage Interface +ytsage-wordmark +YTSage Interface [![Python 3.10+](https://img.shields.io/badge/python-3.10+-1f2937?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/downloads/) [![PyPI Downloads](https://img.shields.io/pepy/dt/ytsage?color=1f2937&style=for-the-badge&label=downloads&logo=python&logoColor=white)](https://pepy.tech/project/ytsage) @@ -210,16 +210,16 @@ python -m ytsage.main
    - - + + - - + + From 938cc9be468e7b84566bdcc4730222be8fef353e Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Thu, 14 May 2026 15:54:07 +0300 Subject: [PATCH 556/568] Bump version to 5.1.0 Update package version from 5.0.10b to 5.1.0 in pyproject.toml and ytsage/__init__.py to prepare for the 5.1.0 release. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 22ed937..b702c7d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.10b" +version = "5.1.0" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index f8faf4e..11805bd 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.10b" +__version__ = "5.1.0" __author__ = "oop7" From 2aa8c023f462f4c49d7a279e6f8c60da76cff152 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Mon, 25 May 2026 14:01:31 +0300 Subject: [PATCH 557/568] Point README links to readme-translations/ Update README links to reference translation files under the readme-translations/ directory. Adjusted the language list and the translations table to use readme-translations/ paths and corrected the English link to README.md. This organizes translation links to a dedicated folder. --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 50e7545..a6ba173 100644 --- a/README.md +++ b/README.md @@ -17,20 +17,20 @@ Download videos in any quality, extract audio, fetch subtitles, and more. ### 🌍 README Languages -English: [EN](../README.md) -| Arabic: [AR](README.ar.md) -| German: [DE](README.de.md) -| Spanish: [ES](README.es.md) -| French: [FR](README.fr.md) -| Hindi: [HI](README.hi.md) -| Indonesian: [ID](README.id.md) -| Italian: [IT](README.it.md) -| Japanese: [JA](README.ja.md) -| Polish: [PL](README.pl.md) -| Portuguese: [PT](README.pt.md) -| Russian: [RU](README.ru.md) -| Turkish: [TR](README.tr.md) -| Chinese: [ZH](README.zh.md) +English: [EN](README.md) +| Arabic: [AR](readme-translations/README.ar.md) +| German: [DE](readme-translations/README.de.md) +| Spanish: [ES](readme-translations/README.es.md) +| French: [FR](readme-translations/README.fr.md) +| Hindi: [HI](readme-translations/README.hi.md) +| Indonesian: [ID](readme-translations/README.id.md) +| Italian: [IT](readme-translations/README.it.md) +| Japanese: [JA](readme-translations/README.ja.md) +| Polish: [PL](readme-translations/README.pl.md) +| Portuguese: [PT](readme-translations/README.pt.md) +| Russian: [RU](readme-translations/README.ru.md) +| Turkish: [TR](readme-translations/README.tr.md) +| Chinese: [ZH](readme-translations/README.zh.md)

    Installation • @@ -366,13 +366,13 @@ YTSage supports **14 languages** for global accessibility. Select your preferred | Language | File | Language | File | |----------|------|----------|------| -| 🇺🇸 English | [README.md](README.md) | 🇪🇸 Spanish | [README.es.md](README.es.md) | -| 🇸🇦 Arabic | [README.ar.md](README.ar.md) | 🇫🇷 French | [README.fr.md](README.fr.md) | -| 🇩🇪 German | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | -| 🇮🇩 Indonesian | [README.id.md](README.id.md) | 🇮🇹 Italian | [README.it.md](README.it.md) | -| 🇯🇵 Japanese | [README.ja.md](README.ja.md) | 🇵🇱 Polish | [README.pl.md](README.pl.md) | -| 🇧🇷 Portuguese | [README.pt.md](README.pt.md) | 🇷🇺 Russian | [README.ru.md](README.ru.md) | -| 🇹🇷 Turkish | [README.tr.md](README.tr.md) | 🇨🇳 Chinese | [README.zh.md](README.zh.md) | +| 🇺🇸 English | [README.md](README.md) | 🇪🇸 Spanish | [readme-translations/README.es.md](readme-translations/README.es.md) | +| 🇸🇦 Arabic | [readme-translations/README.ar.md](readme-translations/README.ar.md) | 🇫🇷 French | [readme-translations/README.fr.md](readme-translations/README.fr.md) | +| 🇩🇪 German | [readme-translations/README.de.md](readme-translations/README.de.md) | 🇮🇳 Hindi | [readme-translations/README.hi.md](readme-translations/README.hi.md) | +| 🇮🇩 Indonesian | [readme-translations/README.id.md](readme-translations/README.id.md) | 🇮🇹 Italian | [readme-translations/README.it.md](readme-translations/README.it.md) | +| 🇯🇵 Japanese | [readme-translations/README.ja.md](readme-translations/README.ja.md) | 🇵🇱 Polish | [readme-translations/README.pl.md](readme-translations/README.pl.md) | +| 🇧🇷 Portuguese | [readme-translations/README.pt.md](readme-translations/README.pt.md) | 🇷🇺 Russian | [readme-translations/README.ru.md](readme-translations/README.ru.md) | +| 🇹🇷 Turkish | [readme-translations/README.tr.md](readme-translations/README.tr.md) | 🇨🇳 Chinese | [readme-translations/README.zh.md](readme-translations/README.zh.md) | > 💡 **Want to contribute a translation?** Check out the [Contributing](#contributing) section to help us add more languages! From e1a2fe52c6c35dee5f6ebc6dac3fe3a5cdfba2c1 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Mon, 25 May 2026 14:02:39 +0300 Subject: [PATCH 558/568] Fix README link path in Arabic translation Update the English README link in readme-translations/README.ar.md to point to the repository root (../README.md) so the language table correctly references the top-level README. --- readme-translations/README.ar.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/readme-translations/README.ar.md b/readme-translations/README.ar.md index 4a16982..5aa4e37 100644 --- a/readme-translations/README.ar.md +++ b/readme-translations/README.ar.md @@ -366,7 +366,7 @@ python -m ytsage.main | اللغة | الملف | اللغة | الملف | |----------|------|----------|------| -| 🇺🇸 الإنجليزية | [README.md](README.md) | 🇪🇸 الإسبانية | [README.es.md](README.es.md) | +| 🇺🇸 الإنجليزية | [README.md](../README.md) | 🇪🇸 الإسبانية | [README.es.md](README.es.md) | | 🇸🇦 العربية | [README.ar.md](README.ar.md) | 🇫🇷 الفرنسية | [README.fr.md](README.fr.md) | | 🇩🇪 الألمانية | [README.de.md](README.de.md) | 🇮🇳 الهندية | [README.hi.md](README.hi.md) | | 🇮🇩 الإندونيسية | [README.id.md](README.id.md) | 🇮🇹 الإيطالية | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ python -m ytsage.main **البدائل الآمنة:** - ✅ **استخدم تثبيت pip:** `pip install ytsage` (موصى به) -- ✅ **البناء من المصدر:** باتباع هذا [الدليل](.github/CI_CD_README.md) +- ✅ **البناء من المصدر:** باتباع هذا [الدليل](../.github/CI_CD_README.md) - ✅ **إضافة التطبيق للقائمة البيضاء** في برنامج الحماية لديك. #### 🍎 macOS: "The app is damaged and can’t be opened" @@ -546,7 +546,7 @@ YTSage/ ## 📜 الرخصة -هذا المشروع مرخص بموجب رخصة MIT - راجع ملف [LICENSE](LICENSE) لمزيد من التفاصيل. +هذا المشروع مرخص بموجب رخصة MIT - راجع ملف [LICENSE](../LICENSE) لمزيد من التفاصيل. ## 🙏 شكر وتقدير From d3c3094880373829df02ddb921d6354ca7d082bc Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Mon, 25 May 2026 14:02:55 +0300 Subject: [PATCH 559/568] Fix translated README links to root Update links in readme-translations/*.md so they point to the project root (prepend ../). Adjusted references for README.md, .github/CI_CD_README.md and LICENSE across the translation files so links resolve correctly from the readme-translations directory. --- readme-translations/README.de.md | 6 +++--- readme-translations/README.es.md | 6 +++--- readme-translations/README.fr.md | 6 +++--- readme-translations/README.hi.md | 6 +++--- readme-translations/README.id.md | 6 +++--- readme-translations/README.it.md | 6 +++--- readme-translations/README.ja.md | 6 +++--- readme-translations/README.pl.md | 6 +++--- readme-translations/README.pt.md | 6 +++--- readme-translations/README.ru.md | 6 +++--- readme-translations/README.tr.md | 6 +++--- readme-translations/README.zh.md | 6 +++--- 12 files changed, 36 insertions(+), 36 deletions(-) diff --git a/readme-translations/README.de.md b/readme-translations/README.de.md index 3d03b7d..006c657 100644 --- a/readme-translations/README.de.md +++ b/readme-translations/README.de.md @@ -366,7 +366,7 @@ YTSage unterstützt **14 Sprachen** für globale Barrierefreiheit. Wählen Sie I | Sprache | Datei | Sprache | Datei | |----------|------|----------|------| -| 🇺🇸 Englisch | [README.md](README.md) | 🇪🇸 Spanisch | [README.es.md](README.es.md) | +| 🇺🇸 Englisch | [README.md](../README.md) | 🇪🇸 Spanisch | [README.es.md](README.es.md) | | 🇸🇦 Arabisch | [README.ar.md](README.ar.md) | 🇫🇷 Französisch | [README.fr.md](README.fr.md) | | 🇩🇪 Deutsch | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonesisch | [README.id.md](README.id.md) | 🇮🇹 Italienisch | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ Einige Antivirenprogramme können `.exe`-Dateien als Fehlalarm (False Positive) **Sichere Alternativen:** - ✅ **Verwenden Sie die pip-Installation:** `pip install ytsage` (Empfohlen) -- ✅ **Aus dem Quellcode bauen**: Folgen Sie diesem [Leitfaden](.github/CI_CD_README.md) +- ✅ **Aus dem Quellcode bauen**: Folgen Sie diesem [Leitfaden](../.github/CI_CD_README.md) - ✅ **App auf die Whitelist setzen** in Ihrer Antiviren-Software. #### 🍎 macOS: "Die App ist beschädigt und kann nicht geöffnet werden" @@ -546,7 +546,7 @@ YTSage/ ## 📜 Lizenz -Dieses Projekt steht unter der MIT-Lizenz – weitere Details finden Sie in der Datei [LICENSE](LICENSE). +Dieses Projekt steht unter der MIT-Lizenz – weitere Details finden Sie in der Datei [LICENSE](../LICENSE). ## 🙏 Danksagungen diff --git a/readme-translations/README.es.md b/readme-translations/README.es.md index 9455c21..7a29166 100644 --- a/readme-translations/README.es.md +++ b/readme-translations/README.es.md @@ -366,7 +366,7 @@ YTSage soporta **14 idiomas** para accesibilidad global. Selecciona tu idioma pr | Idioma | Archivo | Idioma | Archivo | |----------|------|----------|------| -| 🇺🇸 Inglés | [README.md](README.md) | 🇪🇸 Español | [README.es.md](README.es.md) | +| 🇺🇸 Inglés | [README.md](../README.md) | 🇪🇸 Español | [README.es.md](README.es.md) | | 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francés | [README.fr.md](README.fr.md) | | 🇩🇪 Alemán | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonesio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ Algunos programas antivirus pueden marcar archivos `.exe` como falsos positivos. **Alternativas seguras:** - ✅ **Usa la instalación de pip:** `pip install ytsage` (Recomendado) -- ✅ **Construye desde el código fuente**: siguiendo esta [guía](.github/CI_CD_README.md) +- ✅ **Construye desde el código fuente**: siguiendo esta [guía](../.github/CI_CD_README.md) - ✅ **Añade la aplicación a la lista blanca** en tu software antivirus. #### 🍎 macOS: "La aplicación está dañada y no se puede abrir" @@ -546,7 +546,7 @@ YTSage/ ## 📜 Licencia -Este proyecto está bajo la Licencia MIT - mira el archivo [LICENSE](LICENSE) para más detalles. +Este proyecto está bajo la Licencia MIT - mira el archivo [LICENSE](../LICENSE) para más detalles. ## 🙏 Agradecimientos diff --git a/readme-translations/README.fr.md b/readme-translations/README.fr.md index 89d6e46..1a5bfe3 100644 --- a/readme-translations/README.fr.md +++ b/readme-translations/README.fr.md @@ -366,7 +366,7 @@ YTSage prend en charge **14 langues** pour une accessibilité mondiale. Sélecti | Langue | Fichier | Langue | Fichier | |----------|------|----------|------| -| 🇺🇸 Anglais | [README.md](README.md) | 🇪🇸 Espagnol | [README.es.md](README.es.md) | +| 🇺🇸 Anglais | [README.md](../README.md) | 🇪🇸 Espagnol | [README.es.md](README.es.md) | | 🇸🇦 Arabe | [README.ar.md](README.ar.md) | 🇫🇷 Français | [README.fr.md](README.fr.md) | | 🇩🇪 Allemand | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonésien | [README.id.md](README.id.md) | 🇮🇹 Italien | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ Certains logiciels antivirus peuvent signaler les fichiers `.exe` comme de faux **Alternatives sûres :** - ✅ **Utilisez l'installation pip :** `pip install ytsage` (recommandé) -- ✅ **Compiler à partir des sources** : en suivant ce [guide](.github/CI_CD_README.md) +- ✅ **Compiler à partir des sources** : en suivant ce [guide](../.github/CI_CD_README.md) - ✅ **Mettre l'application en liste blanche** dans votre logiciel antivirus. #### 🍎 macOS : "L'application est endommagée et ne peut pas être ouverte" @@ -546,7 +546,7 @@ YTSage/ ## 📜 Licence -Ce projet est sous licence MIT - voir le fichier [LICENSE](LICENSE) pour plus de détails. +Ce projet est sous licence MIT - voir le fichier [LICENSE](../LICENSE) pour plus de détails. ## 🙏 Remerciements diff --git a/readme-translations/README.hi.md b/readme-translations/README.hi.md index 28c7d8f..18588ed 100644 --- a/readme-translations/README.hi.md +++ b/readme-translations/README.hi.md @@ -366,7 +366,7 @@ YTSage वैश्विक पहुँच के लिए **14 भाषा | भाषा | फ़ाइल | भाषा | फ़ाइल | |----------|------|----------|------| -| 🇺🇸 अंग्रेज़ी | [README.md](README.md) | 🇪🇸 स्पेनिश | [README.es.md](README.es.md) | +| 🇺🇸 अंग्रेज़ी | [README.md](../README.md) | 🇪🇸 स्पेनिश | [README.es.md](README.es.md) | | 🇸🇦 अरबी | [README.ar.md](README.ar.md) | 🇫🇷 फ्रेंच | [README.fr.md](README.fr.md) | | 🇩🇪 जर्मन | [README.de.md](README.de.md) | 🇮🇳 हिंदी | [README.hi.md](README.hi.md) | | 🇮🇩 इंडोनेशियाई | [README.id.md](README.id.md) | 🇮🇹 इतालवी | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ YTSage वैश्विक पहुँच के लिए **14 भाषा **सुरक्षित विकल्प:** - ✅ **pip स्थापना का उपयोग करें:** `pip install ytsage` (अनुशंसित) -- ✅ **स्रोत से बिल्ड करें**: इस [गाइड](.github/CI_CD_README.md) का पालन करते हुए +- ✅ **स्रोत से बिल्ड करें**: इस [गाइड](../.github/CI_CD_README.md) का पालन करते हुए - ✅ **एप्लिकेशन को व्हाइटलिस्ट करें** अपने एंटीवायरस सॉफ़्टवेयर में। #### 🍎 macOS: "ऐप क्षतिग्रस्त है और खोला नहीं जा सकता" @@ -546,7 +546,7 @@ YTSage/ ## 📜 लाइसेंस -यह प्रोजेक्ट MIT लाइसेंस के तहत है - विवरण के लिए [LICENSE](LICENSE) फ़ाइल देखें। +यह प्रोजेक्ट MIT लाइसेंस के तहत है - विवरण के लिए [LICENSE](../LICENSE) फ़ाइल देखें। ## 🙏 धन्यवाद diff --git a/readme-translations/README.id.md b/readme-translations/README.id.md index 29cf9c7..fbdc95a 100644 --- a/readme-translations/README.id.md +++ b/readme-translations/README.id.md @@ -366,7 +366,7 @@ YTSage mendukung **14 bahasa** untuk jangkauan global. Pilih bahasa pilihan Anda | Bahasa | File | Bahasa | File | |----------|------|----------|------| -| 🇺🇸 Inggris | [README.md](README.md) | 🇪🇸 Spanyol | [README.es.md](README.es.md) | +| 🇺🇸 Inggris | [README.md](../README.md) | 🇪🇸 Spanyol | [README.es.md](README.es.md) | | 🇸🇦 Arab | [README.ar.md](README.ar.md) | 🇫🇷 Prancis | [README.fr.md](README.fr.md) | | 🇩🇪 Jerman | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonesia | [README.id.md](README.id.md) | 🇮🇹 Italia | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ Beberapa perangkat lunak antivirus mungkin menandai file `.exe` sebagai positif **Opsi Aman:** - ✅ **Gunakan instalasi pip:** `pip install ytsage` (direkomendasikan) -- ✅ **Build dari sumber**: Mengikuti [panduan](.github/CI_CD_README.md) ini +- ✅ **Build dari sumber**: Mengikuti [panduan](../.github/CI_CD_README.md) ini - ✅ **Whitelist aplikasi** di perangkat lunak antivirus Anda. #### 🍎 macOS: "App is damaged and can’t be opened" @@ -546,7 +546,7 @@ YTSage/ ## 📜 Lisensi -Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](LICENSE) untuk detailnya. +Proyek ini dilisensikan di bawah Lisensi MIT - lihat file [LICENSE](../LICENSE) untuk detailnya. ## 🙏 Terima Kasih diff --git a/readme-translations/README.it.md b/readme-translations/README.it.md index 3201b59..499552b 100644 --- a/readme-translations/README.it.md +++ b/readme-translations/README.it.md @@ -366,7 +366,7 @@ YTSage supporta **14 lingue** per una portata globale. Scegli la tua lingua pref | Lingua | File | Lingua | File | |----------|------|----------|------| -| 🇺🇸 Inglese | [README.md](README.md) | 🇪🇸 Spagnolo | [README.es.md](README.es.md) | +| 🇺🇸 Inglese | [README.md](../README.md) | 🇪🇸 Spagnolo | [README.es.md](README.es.md) | | 🇸🇦 Arabo | [README.ar.md](README.ar.md) | 🇫🇷 Francese | [README.fr.md](README.fr.md) | | 🇩🇪 Tedesco | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonesiano | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ Alcuni software antivirus potrebbero contrassegnare i file `.exe` come falsi pos **Opzioni sicure:** - ✅ **Usa l'installazione tramite pip:** `pip install ytsage` (consigliato) -- ✅ **Compila dai sorgenti**: Seguendo questa [guida](.github/CI_CD_README.md) +- ✅ **Compila dai sorgenti**: Seguendo questa [guida](../.github/CI_CD_README.md) - ✅ **Aggiungi l'applicazione alla whitelist** nel tuo software antivirus. #### 🍎 macOS: "L’app è danneggiata e non può essere aperta" @@ -546,7 +546,7 @@ YTSage/ ## 📜 Licenza -Questo progetto è rilasciato sotto Licenza MIT - vedi il file [LICENSE](LICENSE) per i dettagli. +Questo progetto è rilasciato sotto Licenza MIT - vedi il file [LICENSE](../LICENSE) per i dettagli. ## 🙏 Ringraziamenti diff --git a/readme-translations/README.ja.md b/readme-translations/README.ja.md index dfc7fef..ceceebb 100644 --- a/readme-translations/README.ja.md +++ b/readme-translations/README.ja.md @@ -366,7 +366,7 @@ YTSage はグローバルに対応するため、**14 言語**をサポートし | 言語 | ファイル | 言語 | ファイル | |----------|------|----------|------| -| 🇺🇸 英語 | [README.md](README.md) | 🇪🇸 スペイン語 | [README.es.md](README.es.md) | +| 🇺🇸 英語 | [README.md](../README.md) | 🇪🇸 スペイン語 | [README.es.md](README.es.md) | | 🇸🇦 アラビア語 | [README.ar.md](README.ar.md) | 🇫🇷 フランス語 | [README.fr.md](README.fr.md) | | 🇩🇪 ドイツ語 | [README.de.md](README.de.md) | 🇮🇳 ヒンディー語 | [README.hi.md](README.hi.md) | | 🇮🇩 インドネシア語 | [README.id.md](README.id.md) | 🇮🇹 イタリア語 | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ YTSage はグローバルに対応するため、**14 言語**をサポートし **安全な選択肢:** - ✅ **pip インストールを使用する:** `pip install ytsage` (推奨) -- ✅ **ソースからビルドする**: この[ガイド](.github/CI_CD_README.md)に従ってください。 +- ✅ **ソースからビルドする**: この[ガイド](../.github/CI_CD_README.md)に従ってください。 - ✅ **アプリケーションをホワイトリストに追加する** (アンチウイルスソフトウェアの設定)。 #### 🍎 macOS: 「アプリが破損しているため開けません」 @@ -546,7 +546,7 @@ YTSage/ ## 📜 ライセンス -このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は [LICENSE](LICENSE) ファイルを参照してください。 +このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は [LICENSE](../LICENSE) ファイルを参照してください。 ## 🙏 謝辞 diff --git a/readme-translations/README.pl.md b/readme-translations/README.pl.md index a8c78e5..5209c92 100644 --- a/readme-translations/README.pl.md +++ b/readme-translations/README.pl.md @@ -366,7 +366,7 @@ YTSage obsługuje **14 języków**. Wybierz preferowany język w **Custom Option | Język | Plik | Język | Plik | |----------|------|----------|------| -| 🇺🇸 Angielski | [README.md](README.md) | 🇪🇸 Hiszpański | [README.es.md](README.es.md) | +| 🇺🇸 Angielski | [README.md](../README.md) | 🇪🇸 Hiszpański | [README.es.md](README.es.md) | | 🇸🇦 Arabski | [README.ar.md](README.ar.md) | 🇫🇷 Francuski | [README.fr.md](README.fr.md) | | 🇩🇪 Niemiecki | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonezyjski | [README.id.md](README.id.md) | 🇮🇹 Włoski | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ Niektóre programy antywirusowe mogą oznaczać pliki `.exe` jako fałszywe alar **Bezpieczne alternatywy:** - ✅ **Użyj instalacji przez pip:** `pip install ytsage` (zalecane) -- ✅ **Zbuduj ze źródeł**: Postępując zgodnie z tym [przewodnikiem](.github/CI_CD_README.md) +- ✅ **Zbuduj ze źródeł**: Postępując zgodnie z tym [przewodnikiem](../.github/CI_CD_README.md) - ✅ **Dodaj aplikację do wyjątków** w swoim programie antywirusowym. #### 🍎 macOS: "Aplikacja jest uszkodzona i nie można jej otworzyć" @@ -546,7 +546,7 @@ YTSage/ ## 📜 Licencja -Ten projekt jest udostępniany na licencji MIT - zobacz plik [LICENSE](LICENSE), aby poznać szczegóły. +Ten projekt jest udostępniany na licencji MIT - zobacz plik [LICENSE](../LICENSE), aby poznać szczegóły. ## 🙏 Podziękowania diff --git a/readme-translations/README.pt.md b/readme-translations/README.pt.md index c12531f..ab8dd05 100644 --- a/readme-translations/README.pt.md +++ b/readme-translations/README.pt.md @@ -366,7 +366,7 @@ O YTSage suporta **14 idiomas** para alcance global. Escolha o seu idioma prefer | Idioma | Arquivo | Idioma | Arquivo | |----------|------|----------|------| -| 🇺🇸 Inglês | [README.md](README.md) | 🇪🇸 Espanhol | [README.es.md](README.es.md) | +| 🇺🇸 Inglês | [README.md](../README.md) | 🇪🇸 Espanhol | [README.es.md](README.es.md) | | 🇸🇦 Árabe | [README.ar.md](README.ar.md) | 🇫🇷 Francês | [README.fr.md](README.fr.md) | | 🇩🇪 Alemão | [README.de.md](README.de.md) | 🇮🇳 Hindi | [README.hi.md](README.hi.md) | | 🇮🇩 Indonésio | [README.id.md](README.id.md) | 🇮🇹 Italiano | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ Alguns softwares antivírus podem sinalizar arquivos `.exe` como falsos positivo **Opções Seguras:** - ✅ **Use a instalação via pip:** `pip install ytsage` (recomendado) -- ✅ **Compile a partir do código-fonte**: Seguindo este [guia](.github/CI_CD_README.md) +- ✅ **Compile a partir do código-fonte**: Seguindo este [guia](../.github/CI_CD_README.md) - ✅ **Adicione o aplicativo à lista de permissões** do seu software antivírus. #### 🍎 macOS: "App está danificado e não pode ser aberto" @@ -546,7 +546,7 @@ YTSage/ ## 📜 Licença -Este projeto é licenciado sob a Licença MIT - consulte o arquivo [LICENSE](LICENSE) para mais detalhes. +Este projeto é licenciado sob a Licença MIT - consulte o arquivo [LICENSE](../LICENSE) para mais detalhes. ## 🙏 Agradecimentos diff --git a/readme-translations/README.ru.md b/readme-translations/README.ru.md index c31ef25..4930fd1 100644 --- a/readme-translations/README.ru.md +++ b/readme-translations/README.ru.md @@ -366,7 +366,7 @@ YTSage поддерживает **14 языков**. Выберите нужны | Язык | Файл | Язык | Файл | |----------|------|----------|------| -| 🇺🇸 Английский | [README.md](README.md) | 🇪🇸 Испанский | [README.es.md](README.es.md) | +| 🇺🇸 Английский | [README.md](../README.md) | 🇪🇸 Испанский | [README.es.md](README.es.md) | | 🇸🇦 Арабский | [README.ar.md](README.ar.md) | 🇫🇷 Французский | [README.fr.md](README.fr.md) | | 🇩🇪 Немецкий | [README.de.md](README.de.md) | 🇮🇳 Хинди | [README.hi.md](README.hi.md) | | 🇮🇩 Индонезийский | [README.id.md](README.id.md) | 🇮🇹 Итальянский | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ YTSage поддерживает **14 языков**. Выберите нужны **Безопасные варианты:** - ✅ **Установка через pip:** `pip install ytsage` (рекомендуется) -- ✅ **Сборка из исходников**: Инструкция [здесь](.github/CI_CD_README.md) +- ✅ **Сборка из исходников**: Инструкция [здесь](../.github/CI_CD_README.md) - ✅ **Добавить в исключения** антивируса. #### 🍎 macOS: "App is damaged and cannot be opened" @@ -537,7 +537,7 @@ YTSage/ ## 📜 Лицензия -Проект распространяется под лицензией MIT — подробности в файле [LICENSE](LICENSE). +Проект распространяется под лицензией MIT — подробности в файле [LICENSE](../LICENSE). ## 🙏 Благодарности diff --git a/readme-translations/README.tr.md b/readme-translations/README.tr.md index 48ca27e..80791df 100644 --- a/readme-translations/README.tr.md +++ b/readme-translations/README.tr.md @@ -366,7 +366,7 @@ YTSage, küresel erişim için **14 dili** destekler. Tercih ettiğiniz dili **C | Dil | Dosya | Dil | Dosya | |----------|------|----------|------| -| 🇺🇸 İngilizce | [README.md](README.md) | 🇪🇸 İspanyolca | [README.es.md](README.es.md) | +| 🇺🇸 İngilizce | [README.md](../README.md) | 🇪🇸 İspanyolca | [README.es.md](README.es.md) | | 🇸🇦 Arapça | [README.ar.md](README.ar.md) | 🇫🇷 Fransızca | [README.fr.md](README.fr.md) | | 🇩🇪 Almanca | [README.de.md](README.de.md) | 🇮🇳 Hintçe | [README.hi.md](README.hi.md) | | 🇮🇩 Endonezce | [README.id.md](README.id.md) | 🇮🇹 İtalyanca | [README.it.md](README.it.md) | @@ -410,7 +410,7 @@ Bazı antivirüs yazılımları `.exe` dosyalarını yanlış pozitif olarak iş **Güvenli Seçenekler:** - ✅ **pip kurulumunu kullanın:** `pip install ytsage` (önerilir) -- ✅ **Kaynaktan derleyin**: Bu [kılavuzu](.github/CI_CD_README.md) takip ederek +- ✅ **Kaynaktan derleyin**: Bu [kılavuzu](../.github/CI_CD_README.md) takip ederek - ✅ **Uygulamayı antivirüs yazılımınızın beyaz listesine ekleyin**. #### 🍎 macOS: "Uygulama hasarlı ve açılamıyor" @@ -546,7 +546,7 @@ YTSage/ ## 📜 Lisans -Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için [LICENSE](LICENSE) dosyasına bakın. +Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için [LICENSE](../LICENSE) dosyasına bakın. ## 🙏 Teşekkürler diff --git a/readme-translations/README.zh.md b/readme-translations/README.zh.md index c467eab..a81c76c 100644 --- a/readme-translations/README.zh.md +++ b/readme-translations/README.zh.md @@ -360,7 +360,7 @@ YTSage 支持 **14 种语言**。您可以在 **Custom Options → Language** | 语言 | 文件 | 语言 | 文件 | |----------|------|----------|------| -| 🇺🇸 英语 | [README.md](README.md) | 🇪🇸 西班牙语 | [README.es.md](README.es.md) | +| 🇺🇸 英语 | [README.md](../README.md) | 🇪🇸 西班牙语 | [README.es.md](README.es.md) | | 🇸🇦 阿拉伯语 | [README.ar.md](README.ar.md) | 🇫🇷 法语 | [README.fr.md](README.fr.md) | | 🇩🇪 德语 | [README.de.md](README.de.md) | 🇮🇳 印地语 | [README.hi.md](README.hi.md) | | 🇮🇩 印尼语 | [README.id.md](README.id.md) | 🇮🇹 意大利语 | [README.it.md](README.it.md) | @@ -400,7 +400,7 @@ YTSage 支持 **14 种语言**。您可以在 **Custom Options → Language** **安全建议:** - ✅ **通过 pip 安装:** `pip install ytsage`(推荐) -- ✅ **自行构建**: 参照 [CI_CD 指南](.github/CI_CD_README.md) +- ✅ **自行构建**: 参照 [CI_CD 指南](../.github/CI_CD_README.md) - ✅ **添加排除项**。 #### 🍎 macOS: "应用已损坏,无法打开" @@ -500,7 +500,7 @@ YTSage/ ## 📜 许可证 -本项目基于 MIT 许可证分发 - 详情请参阅 [LICENSE](LICENSE) 文件。 +本项目基于 MIT 许可证分发 - 详情请参阅 [LICENSE](../LICENSE) 文件。 ## 🙏 鸣谢 From e76d47412d1bf05a4b38be9e1279812073f0dc16 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Mon, 25 May 2026 14:04:12 +0300 Subject: [PATCH 560/568] Correct path for localized README creation Fix README contribution instructions to point new translations to the readme-translations/ directory. Previously the docs suggested creating README..md at the repo root; this change clarifies that localized files should be placed under readme-translations/README..md to keep translations organized. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a6ba173..5272e7a 100644 --- a/README.md +++ b/README.md @@ -468,7 +468,7 @@ We welcome contributions! Here’s how you can help: - Update the relevant localized README file (e.g., `readme-translations/README.fr.md`) - Keep app strings synced by editing `ytsage/languages/.json` -- If your language is missing, start from `README.md` and create `README..md` +- If your language is missing, start from `README.md` and create `readme-translations/README..md`

    📂 Project Structure From 831e66a5b9eea0897a04b9234e43e8fb05fd9890 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Mon, 25 May 2026 14:04:32 +0300 Subject: [PATCH 561/568] Include readme-translations in MANIFEST Add a recursive-include rule for the readme-translations directory to MANIFEST.in so translated README files are included in source distributions (sdist) and packaged with releases. --- MANIFEST.in | 1 + 1 file changed, 1 insertion(+) diff --git a/MANIFEST.in b/MANIFEST.in index bd19fb6..2fd4b77 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,6 @@ include README.md include LICENSE include pyproject.toml +recursive-include readme-translations * recursive-include ytsage/assets * recursive-include ytsage/languages * From 45d3cdbad47e707ea4afcb84eed10d53d566965b Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 14 Jun 2026 17:49:36 +0300 Subject: [PATCH 562/568] Default generic_mode to True; preserve explicit False Set the default generic_mode to True in the config manager and update GUI initialization to distinguish between a missing config and an explicit False. Replace usages of `ConfigManager.get(... ) or False` with a None check so that an explicit False value is respected. Changes made in ytsage/utils/ytsage_config_manager.py and GUI initializers in ytsage/gui/ytsage_gui_main.py and ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py. --- ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py | 3 ++- ytsage/gui/ytsage_gui_main.py | 5 ++++- ytsage/utils/ytsage_config_manager.py | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py index 59d6e6b..e24822f 100644 --- a/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py +++ b/ytsage/gui/ytsage_gui_dialogs/ytsage_dialogs_settings.py @@ -255,7 +255,8 @@ class DownloadSettingsDialog(QDialog): generic_mode_group_box = QGroupBox(_("settings.generic_mode")) generic_mode_layout = QVBoxLayout() - self.generic_mode_enabled = ConfigManager.get("generic_mode") or False + generic_val = ConfigManager.get("generic_mode") + self.generic_mode_enabled = generic_val if generic_val is not None else True self.generic_mode_checkbox = QCheckBox(_("settings.enable_generic_mode")) self.generic_mode_checkbox.setChecked(self.generic_mode_enabled) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 7743700..2263e6f 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -259,7 +259,10 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.force_audio_format = ConfigManager.get("force_audio_format") or False self.preferred_audio_format = ConfigManager.get("preferred_audio_format") or "best" self.audio_normalization = ConfigManager.get("audio_normalization") or False - self.generic_mode_enabled = ConfigManager.get("generic_mode") or False + + generic_val = ConfigManager.get("generic_mode") + self.generic_mode_enabled = generic_val if generic_val is not None else True + # Track if video analysis is completed self.analysis_completed = False diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index fcbe92f..3f73532 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -71,7 +71,7 @@ class ConfigManager: _settings: Dict[str, Any] = {} _default_config: Dict[str, Any] = { "download_path": str(USER_HOME_DIR / "Downloads"), - "generic_mode": False, + "generic_mode": True, "speed_limit_value": None, "speed_limit_unit_index": 0, "cookie_source": "browser", # "browser" or "file" From ec18262bba23a2b6b47375d353edd93d4f5e5696 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 14 Jun 2026 17:54:03 +0300 Subject: [PATCH 563/568] Bump version to 5.2.0b Update package version from 5.0.10b to 5.2.0b in pyproject.toml and ytsage/__init__.py to reflect the new beta release and keep metadata in sync. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 22ed937..481af62 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.0.10b" +version = "5.2.0b" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index f8faf4e..67d4aed 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.0.10b" +__version__ = "5.2.0b" __author__ = "oop7" From 8c9966000e89c3397d50ef4fe4b21989bd15a854 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 14 Jun 2026 17:59:48 +0300 Subject: [PATCH 564/568] Improve save_path handling and use ConfigManager Normalize path input to string, ensure parent directories are created (mkdir with parents=True), and check writability using the normalized path. Replace manual JSON file write with ConfigManager.set("download_path", ...) and add import for ConfigManager. Adjust logging to use logger.error for failures and replace logger.exception where appropriate. These changes improve robustness when saving the download path and centralize config persistence. --- ytsage/core/ytsage_utils.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/ytsage/core/ytsage_utils.py b/ytsage/core/ytsage_utils.py index 86cffea..78a096f 100644 --- a/ytsage/core/ytsage_utils.py +++ b/ytsage/core/ytsage_utils.py @@ -402,25 +402,26 @@ def load_saved_path(main_window_instance: Any) -> None: main_window_instance.last_path = tempfile.gettempdir() +from ..utils.ytsage_config_manager import ConfigManager + def save_path(main_window_instance: Any, path: Union[str, Path]) -> bool: """Save download path with enhanced error handling.""" try: # Verify the path is valid and writable - if not Path(path).exists(): + path_str = str(path) + if not Path(path_str).exists(): try: - Path(path).mkdir(exist_ok=True) + Path(path_str).mkdir(parents=True, exist_ok=True) except Exception as e: - logger.exception(f"Error creating directory: {e}") + logger.error(f"Error creating directory: {e}") return False - if not os.access(path, os.W_OK): - logger.info("Path is not writable") + if not os.access(path_str, os.W_OK): + logger.error("Path is not writable") return False - # Save the config - config = {"download_path": path} - with open(APP_CONFIG_FILE, "w", encoding="utf-8") as f: - json.dump(config, f, ensure_ascii=False) + # Save the config using ConfigManager + ConfigManager.set("download_path", path_str) return True except Exception as e: From 72f9098a7095b97e1ed40593e1358fa589538110 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Sun, 14 Jun 2026 20:19:40 +0300 Subject: [PATCH 565/568] Persist and restore main window state Restore window geometry/state on startup and save them on exit. Adds YTSageApp._load_window_state() and calls it during UI init; saves Base64-encoded geometry/state via ConfigManager when closing. Adds default config keys "window_geometry" and "window_state". Includes error handling and debug logging to avoid failures if stored values are invalid. --- ytsage/gui/ytsage_gui_main.py | 24 ++++++++++++++++++++++++ ytsage/utils/ytsage_config_manager.py | 2 ++ 2 files changed, 26 insertions(+) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index 2263e6f..d25273b 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -272,6 +272,7 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.player.setAudioOutput(self.audio_output) self.init_ui() + self._load_window_state() # Defer heavy start-up tasks to ensure UI renders immediately QTimer.singleShot(100, self._perform_startup_checks) @@ -290,6 +291,22 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Initialize UI state based on current mode self.handle_mode_change() + def _load_window_state(self): + """Restore previous window geometry and state from config.""" + from PySide6.QtCore import QByteArray + geo_b64 = ConfigManager.get("window_geometry") + if geo_b64: + try: + self.restoreGeometry(QByteArray.fromBase64(geo_b64.encode("ascii"))) + except Exception as e: + logger.debug(f"Failed to restore geometry: {e}") + + state_b64 = ConfigManager.get("window_state") + if state_b64: + try: + self.restoreState(QByteArray.fromBase64(state_b64.encode("ascii"))) + except Exception as e: + logger.debug(f"Failed to restore state: {e}") def _perform_startup_checks(self): """Perform potentially blocking startup checks after UI is shown.""" @@ -1194,6 +1211,13 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): self.current_download.terminate() self.current_download.wait(1000) # Wait for termination + # Save the window size and state + try: + ConfigManager.set("window_geometry", self.saveGeometry().toBase64().data().decode("ascii")) + ConfigManager.set("window_state", self.saveState().toBase64().data().decode("ascii")) + except Exception as w_e: + logger.debug(f"Failed to save window state: {w_e}") + logger.info("Application closing...") event.accept() except Exception as e: diff --git a/ytsage/utils/ytsage_config_manager.py b/ytsage/utils/ytsage_config_manager.py index 3f73532..05e61d2 100644 --- a/ytsage/utils/ytsage_config_manager.py +++ b/ytsage/utils/ytsage_config_manager.py @@ -96,6 +96,8 @@ class ConfigManager: "preferred_audio_format": "best", "audio_normalization": False, "filename_format": "%(title)s_%(resolution)s_[%(id)s].%(ext)s", + "window_geometry": None, + "window_state": None, "cached_versions": { "ytdlp": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, "ffmpeg": {"version": None, "path": None, "last_check": 0, "path_mtime": 0}, From dac298a5241776eb6a7d0049129a7d9b0c8a6f01 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 1 Jul 2026 11:46:30 +0300 Subject: [PATCH 566/568] Show audio codec details in format table Highlight AC3/EAC3 surround-sound formats in the GUI format table and include channel/bitrate details where available. Also relax the audio-only filter so formats without filesize can still be shown. --- ytsage/gui/ytsage_gui_format_table.py | 83 ++++++++++++++++++++++++--- 1 file changed, 75 insertions(+), 8 deletions(-) diff --git a/ytsage/gui/ytsage_gui_format_table.py b/ytsage/gui/ytsage_gui_format_table.py index 5b2dea0..651ff1f 100644 --- a/ytsage/gui/ytsage_gui_format_table.py +++ b/ytsage/gui/ytsage_gui_format_table.py @@ -22,6 +22,34 @@ class FormatTableMixin: text_width = font_metrics.horizontalAdvance(label) return max(text_width + padding, min_width) + def _get_audio_codec_display(self, format_info: dict) -> str: + """ + Generate a display string for audio codec information. + Highlights EAC3/AC3 and other surround sound formats with channel info. + """ + acodec = format_info.get("acodec") + if not acodec or acodec == "none": + return "N/A" + + channels = format_info.get("audio_channels") + abr = format_info.get("abr") + + # Build codec string + codec_str = str(acodec) + + # Add channel info for surround sound formats + if channels: + codec_str += f" ({channels}ch)" + + # Add bitrate if available + if abr and isinstance(abr, (int, float)): + if abr >= 1000: + codec_str += f" {abr/1000:.1f}Mbps" + else: + codec_str += f" {int(abr)}kbps" + + return codec_str + def _apply_column_widths(self, header_labels: list[str], is_playlist_mode: bool = False) -> None: """Apply responsive column widths to format table.""" self = cast("YTSageApp", self) @@ -209,7 +237,8 @@ class FormatTableMixin: for f in self.all_formats if (f.get("vcodec") == "none" or "audio only" in str(f.get("format_note") or "").lower()) and f.get("acodec") != "none" - and f.get("filesize") is not None + # Removed filesize requirement - many audio-only formats (including EAC3/AC3) may not have filesize in yt-dlp output + # Include all audio formats to detect EAC3/AC3 and other surround sound codecs ] # Sort formats by quality @@ -399,14 +428,41 @@ class FormatTableMixin: # Audio Status column needs_audio = f.get("acodec") == "none" and f.get("vcodec") != "none" - audio_status = _("formats.will_merge_audio") if needs_audio else (_("formats.has_audio") if f.get("vcodec") != "none" else _("formats.audio_only")) - audio_item = QTableWidgetItem(audio_status) + acodec = f.get("acodec") + + # Enhanced audio status with support for surround sound formats (EAC3/AC3) if needs_audio: - audio_item.setForeground(QColor("#ffa500")) - elif audio_status == _("formats.audio_only"): - audio_item.setForeground(QColor("#cccccc")) + audio_status = _("formats.will_merge_audio") + audio_color = QColor("#ffa500") + elif f.get("vcodec") != "none": + # Video format with audio + if acodec in ["ac3", "eac3"]: + # Highlight surround sound codecs + channels = f.get("audio_channels", "") + if channels: + audio_status = f"{_('formats.has_audio')} - {acodec.upper()} {channels}ch" + else: + audio_status = f"{_('formats.has_audio')} - {acodec.upper()}" + audio_color = QColor("#00ccff") # Cyan for surround sound + else: + audio_status = _("formats.has_audio") + audio_color = QColor("#00cc00") else: - audio_item.setForeground(QColor("#00cc00")) + # Audio-only format + if acodec in ["ac3", "eac3"]: + # Highlight surround sound audio-only + channels = f.get("audio_channels", "") + if channels: + audio_status = f"{acodec.upper()} {channels}ch" + else: + audio_status = acodec.upper() + audio_color = QColor("#00ccff") # Cyan for surround sound + else: + audio_status = _("formats.audio_only") + audio_color = QColor("#cccccc") + + audio_item = QTableWidgetItem(audio_status) + audio_item.setForeground(audio_color) audio_column_index = 5 if is_playlist_mode else 6 self.format_table.setItem(row, audio_column_index, audio_item) @@ -421,11 +477,22 @@ class FormatTableMixin: # Column 5: Codec if f.get("vcodec") == "none": + # Audio-only format - display codec with channel info codec = str(f.get("acodec") or "N/A") + # Add audio channel information if available (e.g., for 5.1 detection) + channels = f.get("audio_channels") + if channels: + codec += f" ({channels}ch)" else: + # Video format - display video codec and audio codec if present codec = str(f.get("vcodec") or "N/A") if f.get("acodec") != "none": - codec += f" / {str(f.get('acodec') or 'N/A')}" + acodec = str(f.get("acodec") or "N/A") + # Add audio channel info for video with audio + channels = f.get("audio_channels") + if channels: + acodec += f" ({channels}ch)" + codec += f" / {acodec}" self.format_table.setItem(row, 5, QTableWidgetItem(codec)) # Column 7: FPS (Frame Rate) From bc3e7fd4fd251f5042b20484c302a2389998de14 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 1 Jul 2026 12:33:12 +0300 Subject: [PATCH 567/568] Persist speed limit settings to config Speed limit settings (value and unit) are now loaded from config on app initialization and saved to config when updated. This ensures the user's speed limit preferences persist across app restarts. --- ytsage/gui/ytsage_gui_main.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ytsage/gui/ytsage_gui_main.py b/ytsage/gui/ytsage_gui_main.py index d25273b..4958f50 100644 --- a/ytsage/gui/ytsage_gui_main.py +++ b/ytsage/gui/ytsage_gui_main.py @@ -249,8 +249,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): # Initialize proxy settings from config self.proxy_url = ConfigManager.get("proxy_url") self.geo_proxy_url = ConfigManager.get("geo_proxy_url") - self.speed_limit_value = None # Store speed limit value - self.speed_limit_unit_index = 0 # Store speed limit unit index (0: KB/s, 1: MB/s) + # Initialize speed limit settings from config + self.speed_limit_value = ConfigManager.get("speed_limit_value") # Store speed limit value + self.speed_limit_unit_index = ConfigManager.get("speed_limit_unit_index") or 0 # Store speed limit unit index (0: KB/s, 1: MB/s) self.download_section = None self.force_keyframes = False # Initialize output format settings @@ -679,6 +680,9 @@ class YTSageApp(QMainWindow, FormatTableMixin, VideoInfoMixin, AnalysisMixin): logger.info( f"Speed limit updated to: {self.speed_limit_value} {['KB/s', 'MB/s'][self.speed_limit_unit_index] if self.speed_limit_value else 'None'}" ) + # Save speed limit settings to config + ConfigManager.set("speed_limit_value", self.speed_limit_value) + ConfigManager.set("speed_limit_unit_index", self.speed_limit_unit_index) # Update Output Format Settings new_force_format = dialog.get_force_format_enabled() From 4bc43174b620ca731e5a84ef07f8c764bd830e25 Mon Sep 17 00:00:00 2001 From: oop7 <110548351+oop7@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:42:10 +0300 Subject: [PATCH 568/568] Release YTSage 5.2.0 Bump the project and package version from 5.2.0b to 5.2.0. --- pyproject.toml | 2 +- ytsage/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 481af62..4da8f65 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "ytsage" -version = "5.2.0b" +version = "5.2.0" description = "Modern YouTube downloader with a clean PySide6 interface." authors = [ { name = "oop7", email = "oop7_support@proton.me" }, diff --git a/ytsage/__init__.py b/ytsage/__init__.py index 67d4aed..e3a8480 100644 --- a/ytsage/__init__.py +++ b/ytsage/__init__.py @@ -4,5 +4,5 @@ YTSage - YouTube Video Downloader A modern, user-friendly YouTube video downloader built with PySide6. """ -__version__ = "5.2.0b" +__version__ = "5.2.0" __author__ = "oop7"
    Download SettingsPlaylist DownloadDownload SettingsPlaylist Download
    Download Settings Playlist Download
    Audio Format SelectionCustom OptionsAudio Format SelectionCustom Options
    Audio Format